본문 바로가기

전체 글79

Spring Web Form 1. Data Binding - request parameter들은 어떻게 해당 오브젝트로 옮겨질까 Naive solution - @RequestParam annotaion을 사용하여 메서드 매개 변수와 bind 해준다. ex) @RequestMapping("/deget") public String doGet( @RequestParam("name") String name){... } -> 이런 식으로 받은 매개변수를 객체를 만들어 set 해주는 방식 Spring Data Binding - form에서 오는 매개변수를 자동으로 객체에 바인딩시켜준다. ex) @RequestMapping(value="/docreate", method=RequestMethod.POST) public String doGet(Em.. 2020. 3. 25.
야근 지수(프로그래머스, Lv 3, Java) 1. 야근 지수 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 설명: 기수 값이 1이라도 높으면 무조건 손해, 따라서 배열 값들을 고르게 만들어주는 작업이 필요하다. (큰 순서 기준) 2번째 인덱스부터 자신보다 앞에 있는 인덱스들의 값들을 자신과 같아지게 한다. 이때 값을 차이만큼 한꺼번에 빼는 것이 아니라 1씩 차례대로 맨 앞 인덱스부터 빼주어야 한다. 맨 앞 인덱스부터 빼주는 이유는 while문을 빠져나가는 조건을 기준 다음 값과.. 2020. 3. 21.
MVC(Model-View-Controller) Spring MVC Framework 웹 애플리케이션 개발을 위한 모델 뷰 컨트롤러 아키텍처를 제공한다. Model - 애플리케이션 데이터를 캡슐화하고 일반적으로 POJO(순수 자바 객체)로 구성된다.. View - 모델 데이터를 렌더링하고 일반적으로 HTML 출력을 생성한다. Controller - 사용자 요청을 처리하고 적절한 모델을 작성하고 렌더링을 위해 View로 전달한다. 1. 개요 Dispatcher servlet 사용자의 요청을 맨 먼저 받는다.(Front Controller로서 작동한다.) 요청을 적절한 Controller에게 전달해주는 역할 (애플리케이션으로 들어오는 모든 요청을 intercept 하고 Handler(Controller)에 디스패치(전달)한다.) 요청을 처리하기 위해 Co.. 2020. 3. 17.
베스트앨범(프로그래머스, Lv 3, Java) 1. 베스트 앨범 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 설명: 장르를 해시로 관리하고 높은 값 2개만 가지고 있게 장르 객체를 관리해주면 끝 Song이라는 클래스를 정의 장르의 총 재생 수와 높은 재생 수의 인덱스 관리 처음 객체가 생성될 때 두 번째 큰 인덱스 값으로 -1을 넣어주어 인덱스 0과 겹치지 않게 한다. 장르의 새로운 노래가 들어올 때마다 setSong 메서드를 호출하여 높은 순으로 2개의 인덱스 업데이트 ket.. 2020. 3. 11.
보행자 천국(프로그래머스, Lv 3, Java) 1. 보행자 천국 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1832 코딩테스트 연습 - 보행자 천국 | 프로그래머스 3 3 [[0, 0, 0], [0, 0, 0], [0, 0, 0]] 6 3 6 [[0, 2, 0, 0, 0, 2], [0, 0, 2, 0, 1, 0], [1, 0, 0, 2, 2, 0]] 2 programmers.co.kr 알고리즘 설명: 왼쪽에서 오른쪽으로 가는 경우와 아래에서 위로 가는 경우, 이 두 가지 경우를 생각하고 풀면 된다. 오른쪽으로 가는 경우의 수를 넣을 배열과 위로 가는 경우의 수를 넣을 배열 선언 0,0은 cityMap 값이 0이기 때문에 이전 값들을 가져와서 더 해주어야 하지만 이전 인덱스는 마이너스인 상황.. 2020. 3. 10.
DB 연동(with Spring JDBC) 1. Application Architecture - 서버와 클라이언트 사이에 TCP라는 프로토콜이 존재하여 커넥션을 만들어주어 통신을 가능하게 해 준다. - 같은 개념으로 서버와 DB사이에도 커넥션을 만들어주어야만 통신이 가능하다. 2. Data Access Layer - 요구되는 라이브러리 JDBC Template (Spring에서 제공되는 클래스): spring-jdbc DataSource (Apache): commons-dbcp JDBC Driver: mysql (mySQL)-connector-java - JDBC Template를 사용하려면 DataSource가 주입되어야 한다. ex) A대학의 DataSource를 만들어서 JDBC Template에 주입하면 A대학 DB에 접근하게 된다. - .. 2020. 3. 9.