💻 Backend 82

TIL - 2022-01-15 / 스프링

[한 것] UMC 앱 개발 프로젝트를 한창 진행 중 현재 Post부분의 CRUD 설계를 구현 완료 Mockmvc를 통한 컨트롤러/서비스 테스트 코드 작성 완료 스파르타코딩클럽 르탄즈 2기 포폴 및 지원 동기글 작성 완료 백준 15652번 풀기 완료 [배운 것] 테스트 코드를 작성하는 것을 팀장님의 코드를 보고 따라하면서 정말 많이 배웠다!! 특히 mvc.perform, contentType, status(), verify 등등 사용법을 정말 익혔다. [느낀점] 테스트 코드를 짜는 것은 정말 고역인 것 같다. 매일 밥먹고 코딩 or 공부 하니 힘들다... [할 것] 김영한님의 ORM JPA 프로그래밍 책을 구매하여 JPA에 대해 익혀본다. 트웬비 스터디 개발자 구글폼 작성하기 스파르타코딩클럽 르탄즈 2기 ..

💻 Backend/TIL 2022.01.15

TIL 2022-01-14 / 스프링

[한 것] UMC 앱 개발 프로젝트를 진행하는데, 나는 Post 부분을 담당하고 있다. 현재 Post부분의 CRUD 설계를 구현 완료 및 테스트 코드 작성 중이다. 페이징 처리 코드 간결히 하였고, Mockmvc에 대해서 공부하고 있다. [배운 것] 테스트 코드를 작성하는 것을 팀장님의 코드를 보고 따라하면서 배웠다. @WebMvcTest, @MockBean, DTO to Entity 등.. [느낀점] 테스트 코드를 짜는 것은 고역인 것 같다. [할 것] 김영한님의 ORM JPA 프로그래밍 책을 구매하여 JPA에 대해 익혀본다. 바킹독의 알고리즘 강의를 꾸준히 듣고 백준 문제 풀기 스파르타코딩클럽 르탄즈 2기 준비하기

💻 Backend/TIL 2022.01.14

TIL - 2022-01-11 / 프로젝트

[한 것] UMC 앱 개발 프로젝트를 진행하는데, 나는 Post 부분을 담당하고 있다. 현재 Post부분의 CRUD 설계를 구현 완료했다. PostController와 PostService 부분을 연결 완료 하였고, 페이징 처리도 얼추 완성되는 것 같다. [배운 것] 테스트 코드를 작성하는 것을 배웠다. @WebMvcTest, @MockBean given, mvc.perform()을 작성하는 법을 팀장님께 배우고 한번 적용해보았다. [느낀점] 세상에는 나보다 대단하고 열정적인 사람이 많은 것 같다. 정말 세삼스레 나는 조그마한 존재라는 것을 다시 한번 느낀다. 이번 겨울 방학 동안 열심히 JPA 공부하고, 스프링 공부하면서 열심히 살아야지 [할 것] 김영한님의 ORM JPA 프로그래밍 책을 구매하여 JP..

💻 Backend/TIL 2022.01.12

@RestController vs @Controller

@RestController @Controller 는 반환 값이 String 이면 뷰 이름으로 인식된다. 그래서 뷰를 찾고 뷰가 랜더링 된다. @RestController 는 반환 값으로 뷰를 찾는 것이 아니라, HTTP 메시지 바디에 바로 입력한다. Controller 대신에 @RestController 애노테이션을 사용하면, 해당 컨트롤러에 모두 @ResponseBody 가 적용되는 효과가 있다. 뷰 템플릿을 사용하는 것이 아니라, HTTP 메시지 바디에 직접 데이터를 입력한다. 이름 그대로 Rest API(HTTP API)를 만들 때 사용하는 컨트롤러이다. 참고로 @ResponseBody 는 클래스 레벨에 두면 전체에 메서드에 적용되는데, @RestController 에노테이션 안에 @Respons..

TIL 2022-01-10 스프링 프로젝트

[한 일] UMC 동아리에서 스프링, 안드로이드, 디자이너 개발자분들이 모여서 앱 개발 프로젝트를 진행한다. 스프링 개발자 분과 함께 프로젝트 계획, 커밋 규칙, 역할 분담을 나누었다. 내가 맡은 일은 POST(게시글) 부분인데, 컨트롤러, Dto, Repository, Service 부분을 직접 구현해보았다. 직접 구현해보면서 Dto, Controller, Service 간의 계층 구조를 좀 이해하게 되었다. [느낀 점] 하면 할수록 는다는게 사실인 것 같다. 매일 1일 1커밋해서 앱 개발 프로젝트를 성공적으로 끝마쳐야겠다.

💻 Backend/TIL 2022.01.11

HTTP 요청 파라미터 - @RequestParam

스프링이 제공하는 @RequestParam 을 사용하면 요청 파라미터를 편리하게 사용 할 수 있다. public String requestParamV2( @RequestParam("username") String memberName, @RequestParam("age") int memberAge)) @RequestParam : 파라미터 이름으로 바인딩 @RequestParam의 name(value) 속성이 파라미터 이름으로 사용 public String requestParamV3( @RequestParam String username, @RequestParam int age) HTTP 파라미터 이름이 변수 이름과 같으면 @RequestParam(name="xx") 생략 가능 public String re..

TIL 2022-01-09 / 스프링

[스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] 오늘은 스프링 MVC 1편을 완강하였다. 진도율 64강/72강(88.88%) 부분은 강의 끝 편의 정리 부분을 제외한 부분이다. 강의 후반부에 프로젝트(상품 목록 조회, 수정, 추가 홈페이지)를 직접 구현해보았다. 프로젝트 파일은 깃허브에 커밋하여 올려놓았다. [느낀점] 스프링 MVC 1편을 완강하고, 직접 프로젝트를 구현해보면서 스프링에 대한 지식이 차근차근 올라가는 느낌이 들었다. 이 강의에서 리팩토링을 대단히 중요시하는데, 어떻게 더 사용자와 개발자의 입장에서 더 편리하게 코드를 짤 수 있는지를 상세히 알려주셔서 명령어의 쓰임을 더 자세히 알 수 있었다. 다음 강의로는 MVC 2편을 구매하여, 스프링에 대한 지식을 더욱더 확장할 예정이다. 가능하..

💻 Backend/TIL 2022.01.10

스프링 부트 기본 메시지 컨버터

0 = ByteArrayHttpMessageConverter 1 = StringHttpMessageConverter 2 = MappingJackson2HttpMessageConverter 스프링 부트는 다양한 메시지 컨버터를 제공하는데, 대상 클래스 타입과 미디어 타입 둘을 체크해서 사용여부를 결정한다. 만약 만족하지 않으면 다음 메시지 컨버터로 우선순위가 넘어간다. ByteArrayHttpMessageConverter : byte[] 데이터를 처리한다. 클래스 타입: byte[] , 미디어타입: */* , 요청 예) @RequestBody byte[] data 응답 예) @ResponseBody return byte[] 쓰기 미디어타입 application/octet-stream StringHttpMe..

TIL 2022-01-08 / 스프링

[스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] 오늘은 스프링 MVC - 웹 페이지 만들기 (상품 목록 - 타임리프 까지 수강완료 했다.)진도율: 56강/72강 (77.77%) [느낀점/배운점] 스프링에 대해 점차 알아가는 느낌이 들어 기분이 좋다. 직접 스프링 강의에 적용하여, JPA를 통한 CRUD 설계를 진행해봤는데, 아직 부족하지만 완성할 수 있어서 실력이 느는 것 같다. 오늘 알바 갔다와서 다 수강완료할 예정이다!

💻 Backend/TIL 2022.01.08

TIL 2022-01-06 스프링

[스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] 현재 스프링 MVC 전체 구조까지 수강하였다. 진도율 : 31강/72강 (43.05%) | 시간 : 415분/922분 내 목표는 2022-01-07까지 일단 전체 강의를 수강하는 것이 목표이다. 오늘 강의를 듣던 도중, 질의 응답 란에 좋은 글이 있어 적고 싶어졌다. 처음 공부를 할 땐 누구나 다 막연한 상태로 이해하게 됩니다. 그러나 점점 공부를 계속 해 갈수록, 막연했던 이해가 구체적으로 바뀌어 갑니다. 이것을 '공부란 무엇인가'를 쓴 김영민 교수님은 '해상도가 높아진다'는 표현을 한적이 있습니다. .. 우선 중요한 것은 처음부터 끝까지 완주 하는 것입니다. 개발의 시작부터 끝까지의 과정을 전부 경험해보는 것을 목표로 하시는게 좋습니다. (지금 같..

💻 Backend/TIL 2022.01.07