분류 전체보기692 [Spring] API 예외 처리 - 2 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 5. 스프링이 제공하는 ExceptionResolver1 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 스프링 부트가 기본으로 제공하는 ExceptionResolver 는 다음과 같다. HandlerExceptionResolverComposite 에 다음 순서로 등록되어 있다. 1. ExceptionHandlerExceptionResolver : @ExceptionHandler 를 처리한다. 2. ResponseStatusExceptionResolver : HTTP 상태코드를 지정해줄수 있다. 3. DefaultHandlerExceptionResolver.. BackEnd/Spring MVC 2022. 3. 15. [Review] 스프링 카페 4단계 - 로그인 구현 (2022/03/15) [Shine] 스프링 카페 4단계 - 로그인 구현 by zbqmgldjfh · Pull Request #73 · codesquad-members-2022/java-spring-cafe 안녕하세요! Shine 입니다! 우선 리뷰를 해주시는 리뷰어 님께 감사의 인사를 전합니다! 기능 구현 DbTemplate(JdbcTemplate 구현해보기) 우선 이번 과제는 지난번 Roach가 반영해주신 namedParameter를 적용하 github.com 우선 이번 리뷰를 해주신 우아한 형제들의 Roach에게 감사 인사를 전합니다! 1. 질문 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 질문 1) LoginControllerTest LoginControllerTest 를 작성하는데 .. CODE SQUAD/FeedBack 정리 2022. 3. 15. [Spring] API 예외 처리 - 1 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 시작 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 API의 예외 처리는 기존과 다르다. 이전처럼 단순하게 고객에게 오류 페이지를 보여주는것으로 끝나지 않는다. API 방식은 각 오류 상황에 맞는 오류 응답 스펙을 정하고, JSON으로 데이터를 내려주어야 한다. ● ApiExceptionController - API 예외 컨트롤러 @Slf4j @RestController public class ApiExceptionController { @GetMapping("/api/members/{id}") public MemberDto getMember(@Pa.. BackEnd/Spring MVC 2022. 3. 14. [Spring] 예외 처리와 오류 페이지 - 2 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 6. 스프링 부트 - 오류 페이지 1 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 이전글에서 예외 처리 페이지를 만들기 위해 복잡한 과정을 거쳤다. 1) WebServerCustomizer 를 만들고 2) 예외 종류에 따라서 ErrorPage 객체를 추가하고 3) 예외 처리용 컨트롤러 ErrorPageController를 사용자가 직접 만들었다. 스프링 부트는 이러한 과정을 전부 기본적으로 제공한다. 1) ErrorPage를 자동등록 한다. 이때 경로는 /error 이라는 기본 경로로 오류 페이지를 설정한다. 따라서 서블릿 밖으로 예외가 발생하거나, r.. BackEnd/Spring MVC 2022. 3. 14. [Spring] 예외 처리와 오류 페이지 - 1 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 서블릿 예외 처리 - 시작 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 서블릿은 2가지 방식으로 예외 처리를 지원해 준다. 1) Exception 2) response.sendError(HTTP 상태 코드, 오류 메시지) 웹 어플리케이션 에서는 사용자 요청별로 thread가 할당된다. 해당 thread에서 예외가 발생했는데, try - catch로 예외를 처리하지 못한다면 어떻게 될까? => 톰캣 같은 WAS 까지 예외가 전달된다. WAS(여기까지 전파) HTML 삽입 미리보기할 수 없는 소스 예외가 WAS까지 전달되면 WAS는 예외를 처리하는 오.. BackEnd/Spring MVC 2022. 3. 14. [Spring] 로그인 처리2 - 필터, 인터셉터 - 2 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 3. 스프링 인터셉터 - 소개 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 스프링 인터셉터는 서블릿 필터와 비슷하지만, 스프링 MVC가 제공하는 기술이다. ● 스프링 인터셉터의 흐름 HTTP 요청 ->WAS-> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러 인터셉터는 프론트 컨트롤러(DispatcherServlet) 과 컨트롤러 사이에서 호출된다. 스프링 인터셉터에도 URL 패턴을 적용할 수 있는데, 서블릿 URL 패턴과는 다르고, 서블릿 보다 매우 정밀하게 설정할 수 있다. ● 스프링 인터셉터의 제한 HTTP 요청 -> WAS -> 필터 -> .. BackEnd/Spring MVC 2022. 3. 14. [백준][C++] 12581번: 숨바꼭질 2 <199> 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 생강의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 기존 숨바꼭질 문제에서는 한번 방문한 지점은 다시 큐에 넣지 않았었다. 하지만 숨바꼭질 2 문제에서는 방법의 가지수까지 고려해야하므로 Queue에서 pop할 때 해당 지점을 방문했다고 표시하는 것이 핵심이다. 예를 들어, N=1 K=4를 입력할 경.. Algorithm/백준 2022. 3. 14. [TIL] 일일 회고 2022/03/13 오늘 한 일 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 1. 순수 JDBC 코드 리팩토링 해가기 Spring으로 게시판을 구현하던 중, 데이터베이스의 사용을 위해서 JDBC를 사용했다. 리뷰어 깨서는 namedParamter를 사용해볼겸 JDBCtemplate를 사용해 보라 권해주셨지만, 어쩌다 보니... JDBC template 프레임워크와 유사항 방향으로 리팩토링 해 나가게 되었다. 우선 변경전의 순수한 코드는 다음과 같다. [JDBC] 순수 JDBC CRUD 코드 리팩토링 하기전의 중복 부분이 많은 코드. 이후의 글에서 점차 리팩토링 해가는 모습을 남기겠습니다. 1. DbUserRepository @Primary @Repository public class Db.. CODE SQUAD/회고록 2022. 3. 13. [Spring] 로그인 처리2 - 필터, 인터셉터 - 1 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 서블릿 필터 - 요청 로그 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스필터를 사용하여 사용자의 모든 요청에 로그를 남겨보자. ● LogFilter - 로그 필터@Slf4jpublic class LogFilter implements Filter{ @Override public void init(FilterConfig filterConfig) throws ServletException { log.info("log filter init"); } @Override public void doF.. BackEnd/Spring MVC 2022. 3. 13. [JDBC] DAO 리팩토링 3 - DbTemplate 리팩토링 이전글을 기반으로 하는 리팩토링 기록 입니다. [JDBC] DAO 리팩토링 2 - 하나의 Template 으로 이동 다음과 같이 하나의 Template 안에 기존의 코드들을 전부 모아두었다. 기존 코드는 직전 글에서 설명했었다. [JDBC] DAO 리팩토링 1 - 개별 Template 만들기 이전 글의 코드를 리팩토링 한 과정입니다. 변 blogshine.tistory.com 1. DbTemplate 리팩토링 하기 기존 DbTemplate이 update 메서드는 다음과 같다. public Long executeUpdate(String sql, PreparedStatementSetter pss) { Connection connection = null; PreparedStatement pstmt = null.. BackEnd/JDBC 2022. 3. 13. [JDBC] DAO 리팩토링 2 - 하나의 Template 으로 이동 다음과 같이 하나의 Template 안에 기존의 코드들을 전부 모아두었다. 기존 코드는 직전 글에서 설명했었다. [JDBC] DAO 리팩토링 1 - 개별 Template 만들기 이전 글의 코드를 리팩토링 한 과정입니다. 변경 전의 코드는 다음과 같습니다. [JDBC] 순수 JDBC CRUD 코드 리팩토링 하기전의 중복 부분이 많은 코드. 이후의 글에서 점차 리팩토링 해가는 모습을 blogshine.tistory.com 1. 하나의 Template 안에 모인 코드들 - DbTemplate public abstract class DbTemplate { private final DataSource dataSource; public DbTemplate(DataSource dataSource) { this.dat.. BackEnd/JDBC 2022. 3. 13. [JDBC] DAO 리팩토링 1 - 개별 Template 만들기 이전 글의 코드를 리팩토링 한 과정입니다. 변경 전의 코드는 다음과 같습니다. [JDBC] 순수 JDBC CRUD 코드 리팩토링 하기전의 중복 부분이 많은 코드. 이후의 글에서 점차 리팩토링 해가는 모습을 남기겠습니다. 1. DbUserRepository @Primary @Repository public class DbUserRepository implements UserRepository { p.. blogshine.tistory.com 위 링크의 순수 JDBC 코드를 개발자가 구현해야 하는 영역(변경이 많은 부분) 과 라이브러리가 담당해야 하는 부분을 구분하였다. 내가 작성하고 있는 코드는 약간 위 사진과 다르기는 한데, 여튼 중복되는 부분은 두고 개발자가 변경해야 하는 부분만 함수로 뽑았다. @Ov.. BackEnd/JDBC 2022. 3. 12. 이전 1 ··· 30 31 32 33 34 35 36 ··· 58 다음