본문 바로가기

전체 글

(90)
Spring 라이브러리 개발기 - RestInterceptor v0.1 개발 배경 Spring 을 사용해 Restful api 서버를 개발하다 보면 Interceptor 를 사용할 때가 있다. Interceptor 를 구현하기 위해 보통 HandlerInterceptor 의 구현체를 구현하게 되는데, 여기엔 두 가지 단점이 있다. 1. CORS 에서 사용되는 Preflight 요청도 Interceptor 를 통과하게 된다. 그러므로, Preflight 요청은 전부 허용하도록 인터셉터 내부에 코드를 넣어야 한다.2. HandlerInterceptor 는 URI 를 기반으로 등록해야 한다. 하지만, Restful api 에서는 URI 와 HTTP Method 를 통해 요청을 구분한다.ex) GET /memos 와 POST /memos 는 다른 요청이다. 그러므로 POST /m..
11월 26일 회고 Keep - 잘하고 있는 점. 계속 했으면 좋겠다 싶은 점Keep1 - JVM 공부 프리코스에서 자바에 대한 기본기가 많이 부족하다는 것을 느꼈다. List, Collection, equals 등의 개념이 대표적이었는데, 내가 무언가를 잘 알지 않는 상태에서 사용하는 것은 프로그램에 좋지 않은 영향을 미칠 것이라 생각했다.  자바에 대해 깊게 알아야 Spring 을 더 잘 할 수 있다고 생각해 JVM 에 대해 공부했다. JVM 을 공부하며 자바 프로그램의 실행 과정, 실행 중 동작, GC 의 수행 과정을 알 수 있었다. 아직 JVM 을 전부 공부한 것은 아니다. JVM 은 생각보다 복잡하고 어려운 개념이었다.  JVM 을 계속해서 공부하며 순수 자바에 대한 이해도를 쌓아가고자 마음먹었다.  Keep2 -..
7기 프리코스 4주차 회고 (KPT 회고) Keep - 잘하고 있는 점. 계속 했으면 좋겠다 싶은 점Keep1 - VO 사용 VO 를 사용하며 원시값을 포장함과 동시에 해당 값만의 역할을 분리할 수 있었다. 처음 VO 를 접했을 때에는 원시값을 클래스로 한번 더 포장하는 것을 잘 이해할 수 없었지만, 직접 사용해보고 장점과 단점을 분석해보니 VO 를 사용하는 것이 더 좋은 방법이라는 결론을 내릴 수 있었다. VO 의 장점1. 자료형에 의미를 부여할 수 있다. - 자료형이 의미 있는 이름을 가지게 되기 때문이다.2. 타입 안정성을 높일 수 있다. - 같은 int 자료형이더라도, 각각의 VO 로 다루게 되면 검증이 적절히 수행되기 때문이다.3. 최소한의 데이터 검증의 책임을 분리할 수 있다. - VO 내부에서 검증을 수행하기 때문이다. VO 의 단점..
7기 프리코스 3주차 회고 (KPT 회고) 3주차 프리코스를 진행하는 과정에서 내가 올바른 방식으로 회고를 하고 있는지에 대한 의문이 들었다.  지금까지 나는 회고를 위해 메타인지를 하는 과정에서 내가 안다고 생각했던 것과 고민했던 점들, 의사결정 이유만을 정리하고 있었다.  이것들을 정리하는 과정에서 앞으로의 계획이나 내가 부족했던 점을 잘 정리하고 있지 않은 것 같다는 생각이 들어 우선 "회고" 란 무엇인지 찾아보기로 마음먹었다.  회고란?지난 일을 순서대로 정리하고, 방식을 복기하면서 아쉬운 점과 앞으로 적용할 수 있는 점들을 기록하는 것.  제대로 된 회고를 하기 위해 나는 KPT 회고 템플릿을 사용해 회고록을 작성하기로 마음먹었다.KPT 회고 템플릿이란?Keep : 잘하고 있는 점. 계속 했으면 좋겠다 싶은 점.Problem : 뭔가 문..
7기 프리코스 2주차 회고 평소 제대로 알고 사용하고 있는 개념이 많지 않다는 사실에 놀랐다. 그동안 프로젝트를 완성하는 것에만 집중하고, 기본기에는 소홀했다는 점을 깨닫고 반성하는 시간을 가질 수 있었다.  안다고 생각했던 것과 몰랐던 것1.  방어적 복사 - List.copyOf() 와 Collections.unmodifiableList() 이 부분은 글을 하나 새로 써야 할 정도로 양이 많다. 알고 있던 개념1. 방어적 복사는 복사본을 만들어 반환하는 것이다.2. List.copyOf() , Collections.unmodifiableList() 를 사용하면, 방어적 복사가 수행되면서, 복사본 List 를 수정할 수 없게 만든다.    몰랐던 개념 지금까지 List.copyOf() 와 Collections.unmodifiab..