MVC패턴은 왜 자주 사용되고 왜 나오게 되었을까? Java기반으로 한 웹 개발 발전 순서 1) Servlet 사용 2) Java+Servlet 사용 3) Spring + MVC MVC란? → Model View Controller 디자인 패턴 중 하나인 MVC패턴은 model,view,controller의 줄임말로 어플리케이션을 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴의 의미한다. 장점 : 사용자 인터페이스로부터 비즈니스 로직을 분리하여 서로 영향없이 고칠 수 있는 설계가능. Controller : 사용자의 요청을 받는 곳 → 어떻게 처리 할지를 정한다.(보통 model로 보냄) Model : DB를 처리하는 영역 View : Model에서 처리 된 것을 사용자에게 직접적으로 보여지는 곳...
✔ 라이브러리란 ❓ 0) 내가 호출 하는것 -> 라이브러리 1) 라이브러리 및 프레임워크는 다른 누군가가 쓴 코드로 이루어져있고 2) 우리의 프로젝트에서 활용하기 위해서 가져다 쓰는 것들이라고 생각하면 된다 3) 내가 활용하다가 안맞으면 대체할 수 있음. 언제든 호출 가능함으로 라이브러리의 대표적인 예시 1) JQuery - ajax ✔ 프레임워크란 ❓ 0) 나를 호출 하는 것 1) 프레임워크로 일 할때는 프레임워크의 정해진 규율을 따라야함, 코드의 규칙을 결정할 수가 없음. 2) 프레임워크는 우리한테 규칙으을 알려줌 ex) 어디에 컨트롤러 넣고, 어디에 뷰 넣고 등등. 3) 내가 컨트롤 하는건 없고, 정해진 규칙을 따라가야 함. 프레임워크의 대표적인 예시 1) Spring 2) django -> 규칙이..
Purpose : 자바에 대한 흥미를 얻고, 다양한 경험을 해보기 위함이며, 더 나아가 세미프로젝트에 적용시켜볼수 있도록 노력해볼 것. 1) 소켓과 소켓 통신이란? -> 소켓(Socket)은 TCP/IP기반 네트워크 통신에서 데이터 송수신의 마지막 접점을 의미합니다.소켓통신은 이러한 소켓을 통해 서버-클라이언트간의 데이터를 주고받는 양방향 연결지향성 통신을 의미함.보통 소켓통신의 지속적으로 연결을 유지해주면서 실시간으로 데이터를 주고받는 경우에 사용함ex) 라이브 채팅서버, 게임 및 보통 채팅서버. 소켓간 통신을 위해서는 네트워크 상에서 클라이언트와 서버에 해당하는 컴퓨터를 식별하기 위한IP주소와 해당 컴퓨터내 포트번호를 요구합니다 2) 서버와 클라이언트소켓통신에서는 서버와 클라이언트가 존재해..
step 0. 개념정리 모든 클래스의 가장 최상위 클래스 : Object 클래스가 있습니다 자바에서 제공하는 모든 클래스들은 계층 구조로 형성 되있고그 계층구조 최상위에는 Object 클래스가 있습니다. 모든 클래스들의 생성할때 적혀있지는 않지만Object 클래스가 기본적으로 상속 구조가 되어있습니다그래서 Object클래스에서 사용할 수 있는 메서드들을 사용할 수 있고, 재정의 또한 가능합니다. 즉 자바 라이브러리나 저희가 직접 만드는 클래스에는Object 클래스를 부모클래스로 자동 상속 받아 사용하고 있다는 뜻 입니다. toString() 메서드? -> object(객체)가 가지고 있는 정보나 값들을 문자열로 만들어서 return 해주는 메서드 입니다. class Objects {..
step 1. 문제 설명 딱 이문제를 보자마자, 이런저런 조건을 주는 if문을 사용해서 풀면 되겠다 라고 저는 생각해봤지만 풀다보닌까, 굳이 if문을 주지않고도 풀 수 있겠다 라는 생각이 들었습니다. 그 방법은 그냥 처음부터 변수 값을 초기화시켜두고 그에 맞춰 입력값에 더하기 빼기 형식으로 해주면은 간단하게 끝나는 것 이였습니다. 1) 변수선언 2) 입력 3) 출력 (println이 아닌 직접 " " 를 통해 띄어 쓰기를 해줘야함) step 2. 코드구현 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int king = 1; int..
step 1. 문제 설명 저는 자신감 있게 바로 풀었다고 2,3번 해봤는데 왜 자꾸 실패가 나오는지 알지 못했습니다. 그리고 왜 정답률이 50%인줄 깨달았습니다 당연하게 int,long타입을 변수 A,B를 만들어 입력받은 후 출력하는 문제라고 생각했지만 그게 아니었습니다. 최대 10진수로 1000자리를 넘을 수 있다는 조건이 있으므로, int나long타입을 범위를 넘어가는 수가 입력될 수 있기 때문에 BigInteger 클래스를 사용해서 풀어야 합니다. 그리고 BigInteger에 있는 메서드인 add(더하기), subtract(빼기) , multiply(곱하기) 를 사용해서 풀 수 있습니다. step 2. 코드 구현하기 import java.io.BufferedReader; import java.io...
이전글 : 2023.07.27 - [알고리즘(Java)/백준] - [Java]백준11720_숫자의 합 구하기 백준1546_평균구하기 step 1. 문제 분석하기 - 예제입력에서 3 -> 시험을 본 과목의 개수 / 40 80 60 -> 각 과목의 시험 성적 - 평균구하기 (M=최대수) (입력값a+b+c)*100 / M / 3 ->평균 step 2. 손으로 써가면서 풀어보기 step 3. 슈도코드 작성하기 1) 변수 N에 과목의 수 입력받기 2) 길이가 N인 1차원 배열 A[] 선언하기 3) for문으로 A[] 길이만큼 반복하기 { A[i]에 각 점수 저장하기 } 4) for(A[] 길이 만큼 반복하기) { 최고점은 변수 max에 , 총점은 변수 sum에 저장하기 - > 공식 = sum*100 / max /..