Java31 Logging (SLF4J and Logback) 디버그의 단점? 앱의 영향을 준다. 오류는 잡을 수 있지만 타이밍 오류는 잡을 수 없다. Logging과 sysout의 차이 - Logging이 더 융통성 있다. 선택한 레벨 이상만 볼 수 있는 기능 전체도 가능하고 특정 모듈 또는 특정 클래스에 대해서 메시지를 출력할 수 있다. 메시지를 어떻게 모맷할지 설정할 수 있다. 메시지를 어디로 보낼 것인지 설정할 수 있다. Logging Frameworks native java.util.logging: 많이 사용 안 함 Log4J: 몇 년 전까지 표준 Logback: Log4J 다음에 나온 제품(같은 개발자가 개발) SLF4J(Simple Logging Facade for Java): Log4J 나 Logback 같은 백앤드 logger framework를 위.. 2020. 4. 1. Spring Security Spring Security란? 사용자 정의가 가능한 인증 및 권한 부여가 가능한 프레임워크 Spring을 사용한 애플리케이션에서 사실상 표준 전적으로 servlet filter를 기반으로 한다. Filter는 서블릿에서 오고 가는 요청과 응답을 intercept(가로채기)할 수 있고 전처리 후처리가 가능하다. Browser - request -> servletRequest -> filter -> Servlet (요청 과정) Servlet -> filter -> servletResponse -> response -> Browser (응답 과정) 예시) controller package com.naver.daehwan; import org.springframework.stereotype.Controller.. 2020. 3. 30. 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. 이전 1 2 3 4 5 6 다음