본문 바로가기

분류 전체보기

(21)
Parameter를 원하는 대로~♪♫ : ArgumentResolver 정리 데브코스 강의 실습을 따라 하던 와중에 다음과 같은 코드가 있었다. @PostMapping("/customers/new") public String addNewCustomer(CreateCustomerRequest createCustomerRequest) {...} 서블릿으로 개발할 때는 항상 HttpServletRequest로 request 객체를 받고 필요한 파라미터를 꺼내서 썼는데, 스프링에서는 어떻게 CreateCustomerRequest처럼 개발자가 원하는 타입으로 받을 수 있을까? 디버깅을 통해 비밀을 파헤쳐보자. 컨트롤러의 메소드는 누가 호출할까? Spring MVC의 흐름을 보면 Controller는 HandlerAdapter가 호출한다. HandlerAdapter를 들여다보자. publi..
고난의 3주 마무리. 데브코스 5주차 정리 태풍이 휘몰아친 고난의 3주가 드디어 끝났다. 5주차 학습은 어땠는지 알아보자. 5주차 학습 5주차는 스프링 기초 마지막 주였다. 강의 내용은 Servlet, Spring MVC 위주로 배웠다. Spring MVC 덕분에 Servlet을 사용하면서 불편했던 작업을 Spring에 맡기고 개발자는 비즈니스 관점의 개발에만 집중할 수 있게 되었다. 나중에 SpringMVC의 원리에 대해 내부적으로 DispatcherServlet, HandlerMapping, HandlerAdapter, HttpMessageConverter, ViewResolver 등이 어떻게 동작하는지 글을 작성 해봐야겠다. 과제는 저번 주까지 Voucher를 관리하던 콘솔 프로그램을 WEB에서 동작하게 변경하는 것이었다. 비즈니스 요구사항..
DDD Start! 를 읽고 개념 정리 도메인 모델 시작 도메인 도메인 : 소프트웨어로 해결하고자 하는 문제 영역 한 도메인은 다시 하위 도메인으로 나눌 수 있다. 예를 들어, 온라인 서점 도메인은 다시 주문, 배송 등의 도메인으로 나눌 수 있다. 도메인 모델 도메인 모델은 특정 도메인을 개념적으로 표현한 것이다. 도메인 모델을 사용하면 여러 관계자들이 동일한 모습으로 도메인을 이해하고 도메인 지식을 공유하는 데 도움이 된다. 모델의 각 구성요소는 특정 도메인을 한정할 때 비로소 의미가 완전해지기 때문에, 각 하위 도메인마다 별도로 모델을 만들어야 한다. 이는 주문 도메인 모델과 배송 도메인 모델은 따로 만들어야 한다. 도메인 모델 도출 도메인 계층은 도메인읜 핵심 규칙을 구현한다. 핵심 규칙을 구현한 코드는 도메인 모델에만 위치하기 때문에 ..
태풍과 피해복구. 데브코스 4주차 정리 3주차가 태풍의 영향권 시작이었다면, 4주차는 태풍의 한 가운데에 있는 듯하다. 저번주는 살짝 어렵긴 해도 '힘들다', '못하겠다' 이런 생각은 안 들었지만 이번주는 학습을 하면서 머리가 터지는 줄 알았다. 이번 글에서는 대략적으로 무엇을 학습했고 어려웠던 내용을 익히기 위해 어떻게 노력하였는지 정리해보려 한다. 스프링 태풍에 의한 정신적 피해 이번 주는 주로 데이터베이스와 관련된 기술을 배웠다. 구체적으로 스프링에서 MySQL에 연결하여 쿼리를 날리는 기술들이었다. 이후엔 JdbcTemplate와 NamedParameterJdbcTemplate를 배우고 과제를 진행하였다. Jdbc에서는 Connection을 가져와 MySQL과 연결하여 작업을 진행하였다. 이 과정에서 try-with-resource 문..
태풍주의보 발령. 데브코스 3주차 정리 1호 태풍 '스프링 부트'가 북상 중이다. 3주차부터 태풍이 올 거라고 일기예보는 있었지만 뭐 태풍이 온다고 사람이 막을 수 있나. 그냥 마음 단단히 먹고 피해를 최소화 하기 위한 대비에 최선을 다했다. 하지만, 예상대로 태풍은 매우 강했다. 이제 막 영향권에 들기 시작했음에도 불구하고 팀원들과 데브코스 수강생들 사이에서 곡소리가 터져 나왔다. 그럼 구체적으로 바람이 얼마나 강했는지 알아보자. 1호 태풍 : 스프링 부트 5일 동안의 강의 소제목을 큼지막한 것들만 나열해보면 의존성, IoC, DDD, DI, ApplicationContext, Component, Autowired, Beans Scope, Life Cycle, Properties, Logback 이렇게 있다. 각각의 주제들은 태풍 바람에 날..
폭풍전야의 데브코스 2주차 정리 폭풍전야 : 폭풍이 치기 전날 밤. 태풍이 몰아치기 직전에 일시적으로 평온한 날씨가 되는 것처럼, 큰 사건이 터지기 직전에 분위기가 고요해지는 것을 말하는 관용어. 이번 포스팅에서는 2주차 과정을 간략하게 정리해보려고 한다. 2주차는 1주차보다 오히려 더 무난하게 흘러갔는데, 아마도 폭풍전야의 징조라고 생각한다. 강의 1. 데이터베이스 2주차 강의의 주제는 데이터베이스이다. 5일 동안 데이터베이스와 MySQL, AWS, Docker에 대한 대략적인 소개와 SQL 문법 강의 및 실습을 진행하였다. 데이터베이스는 대학교 생활때부터 워낙 중요하다고 이야기를 많이 들어서 대학생때 강의도 열심히 들었고, 취준을 할 때도 복습을 좀 했어서 크게 어려움은 없었다. 과제는 프로그래머스의 SQL kit 풀기였는데 이것 ..
'함께 자라기' 를 읽고 이번에 데브코스 팀원들과 '함께 자라기' 책으로 독서 스터디를 하게 되었다. 데브코스 과정을 이제 막 시작하는 단계인 만큼 전체 과정에 임하는 마음가짐과 자세를 였다. 자라기 vs 잘하기 '우리는 함께보다 각자 하는 것에 익숙하고, 또 그렇게 강요받아 왔습니다.' '더 중요한 것은 지금 잘하냐가 아니라 지금 자라냐는 것입니다.' 책의 머리말에서 가장 마음에 와 닿았던 내용이다. 이 부분을 처음 봤을때는 '자라면 잘하게 되고, 잘하면 자란거 아닌가?' 라고 생각 했었는데 곰곰히 생각해보니 토익 공부할 때가 떠올랐다. 토익은 영어 실력의 성장과 별개로 일정 부분 잘해질 수 있다. 토익은 LC 파트나 RC의 part5 같은 경우 널리 알려진 공식과 편법들이 있다. 그래서 영어는 못해도 문제를 풀 수 있는 말도..
1주일 동안 먹어본 데브코스의 맛은? 올해 상반기 취준의 쓴 맛을 보고 '이대로는 안되겠구나' 라는 생각이 들었다. 현실 파악을 하고 어떻게 실력을 늘릴 수 있을지 고민하다가 데브코스라는 좋은 기회가 있어 참여하게 되었다. 이번 포스팅에서는 데브코스를 일주일 동안 맛본 시식평을 정리하고자 한다. 온라인 강의는 살짝 매콤한 맛 사람마다 매운 음식을 잘 먹는 사람이 있고 못 먹는 사람이 있는데 나는 소위 말하는 맵찔이다. 😝 첫 주차 온라인 강의는 객체 지향과 관련된 내용과 자바 8의 Functional Interface, Stream, Optional 등에 대한 내용이었다. 첫 3일까지는 무난한 맛이었지만 자바 8과 관련된 내용이 시작되는 4일차부터는 살짝 매콤해졌다. 자바 8에 새로 추가된 문법들을 공부해야 된다는 건 알고 있었는데 과거의 ..