Backend
-
인프런, 실용적인 테스트 가이드 강의 정리Backend/TEST 2023. 7. 16. 00:41
이번 글은 강의를 보고 내용을 정리한 것인데, 한 3주 전에 강의를 다 듣고 이제야 블로그에 정리를 올리게 되었습니다... 인프런에서 Spring Boot 관련된 테스트 강의는 처음 본것 같은데, 개인적으로 업무에서 테스트 코드를 작성하는 분위기가 아니다 보니 따로 물어볼 사람은 없었고 블로그 등을 통해 알게 된 지식으로 테스트 코드를 작성했었는데, 이번 강의를 계기로 평소에 궁금했던 부분 뿐만 아니라 새로 알게된 내용들도 좀 있어서 저처럼 테스트 코드에 대한 궁금증이나 갈증이 있으신 분들이라면 한번 들어보면 좋을 것 같습니다. Practical Testing: 실용적인 테스트 가이드 - 인프런 | 강의 이 강의를 통해 실무에서 개발하는 방식 그대로, 깔끔하고 명료한 테스트 코드를 작성할 수 있게 됩니다..
-
Spring Boot 자동 구성Backend/spring 2023. 7. 6. 01:22
이번 글은 인프런 김영한님 강의 중 스프링 부트 - 핵심 원리와 활용 강의를 듣고 스프링에서 제공해주는 자동 구성에 관해 정리한 글입니다. 스프링 부트 - 핵심 원리와 활용 - 인프런 | 강의 실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다., 백엔드 개발자를 위한 스프링 부트 끝판왕! 실무에 필요한 내용을 모두 담았습니다. [임베딩 영상] 김영한의 스프링 완전 www.inflearn.com @Conditional 어떤 bean configuration 클래스가 특정 조건일 때만 해당 기능이 활성화 되도록 할 수 있습니다. 예를 들어 개발 서버에서 확인 용도로만 해당 기능을 사용하고, 운영 서버에서는 해당 기능을 사용하지 않는 것입니다. 이때 사용하는 기능이 @Conditional 어노테..
-
클린 코드를 마무리 하며...Backend/책 정리 2023. 5. 18. 02:54
클린 코드 책을 드디어 모두 읽었다. 물론 부록 내용은 조금 남긴 했지만 그래도 기본적인 내용은 다 읽었다는 점에서 결국 어떤 일을 마무리 지었다고 생각하기 때문에 다행이라는 느낌을 받고 있다 책 자체는 읽는데 엄청 어려운 느낌은 아니었다. 하지만 좀 더 빨리 읽어야 하지 않았을까 라는 생각은 많이 든다... 책을 읽으며 정말 많은 생각을 하게 되었는데 가장 중요하게 가져야 할 마음이 결국 좋은 코드란 끝없는 리팩터링 끝에 나온다는 것이다. 저자도 얘기하듯이 단 한번에 깨끗하고 구조가 잘 잡힌 코드를 작성하는 것은 불가능하다. 중간에 저자가 리팩터링 하는 과정에 대한 내용이 있는데 처음 코드는 굉장히 아쉬운 부분이 많지만 이를 꾸준한 리팩터링을 통해 좋은 코드로 발전시켜가는 것을 확인하며 많은 것을 느낀..
-
객체 참조를 해제하라Backend/책 정리 2023. 5. 17. 23:25
이번주부터 이펙티브 자바 스터디를 진행하며 정리한 내용을 적어보려 합니다. 클린코드 책의 경우는 매 챕터마다 정리를 진행했는데 이펙티브 자바는 그보다는 내가 맡은 아이템을 좀 더 집중해서 읽으며 괜찮은 내용이 있으면 정리하는 식으로 앞으로 글을 작성하도록 하겠습니다. 이번 글에서는 아이템 7번 다 쓴 객체 참조를 해제하라는 파트입니다. 지금까지 개발하면서 메모리까지 생각하며 개발을 한 경험이 없다보니 이번 아이템을 읽으며 좀 더 신중하게 개발을 해야겠다는 생각을 많이 했습니다. 즉, C, C++이 아닌 가비지 컬렉터를 갖춘 언어라 할지라도 메모리 관리에 신경쓰도록 하는 습관을 갖는것이 좋아보입니다. 아래 예제를 살펴보겠습니다. 아래 코드는 Stack 자료구조를 간단하게 구현한 클래스 입니다. 이 코드에는..
-
Spring WebFlux (2)Backend/spring 2023. 4. 17. 02:24
이전 글에 이어서 Project Reactor와 WebFlux에 관한 글로 마무리 하도록 하겠습니다. Reqctive Programming 과 Reactive Streams에 관해 궁금한 분들은 이전글 참고 부탁드립니다. Spring WebFlux (1) 최근에 사내에서 Spring WebFlux 관련 교육이 있었습니다. 이번 글과 다음 글을 통해 학습한 내용을 정리하도록 하겠습니다. 목차는 아래 내용과 같고 글이 길어지기 때문에 이번 글에서는 2번 Reactiv jinmook.tistory.com 목차 Reactive Programming Reactive Streams 개요 Reactive Streams 개념 Reactive Streams 소개 Project Reactor Project Reactor ..
-
Spring WebFlux (1)Backend/spring 2023. 4. 17. 01:45
최근에 사내에서 Spring WebFlux 관련 교육이 있었습니다. 이번 글과 다음 글을 통해 학습한 내용을 정리하도록 하겠습니다. 목차는 아래 내용과 같고 글이 길어지기 때문에 이번 글에서는 2번 Reactive Streams 개요 목차 까지만 진행하고 다음 글에서 나머지 부분 모두 정리하도록 하겠습니다. 목차 Reactive Programming Reactive Streams 개요 Reactive Streams 개념 Reactive Streams 소개 Project Reactor Project Reactor 소개 Flux와 Mono Flux, Mono API 소개 WebFlux와 R2DBC, WebClient Spring WebFlux WebFlux App 구현 - Annotation방식, Fucti..
-
Clean Code 12 ~ 13 장Backend/책 정리 2023. 4. 4. 02:19
12장 - 창발성 가장 먼저 창발이라는 단어의 뜻부터 알아보자 위키백과에 나온 창발이라는 단어의 정의는 다음과 같습니다. 창발 (創發)또는 떠오름 현상은 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상이다. 또한 불시에 솟아나는 특성을 창발성(영어: emergent property) 또는 이머전스(영어: emergence)라고도 부른다. 자기조직화 현상, 복잡계 과학과 관련이 깊다. 개인적으로 이해한 창발적 설계를 통해 깔금한 코드를 구현한다는 의미는 저자가 제시한 단순한 설계 규칙(하위 계층)을 통해 돌연히 출현하는 현상 즉, 소프트웨어 설계 품질을 높이는 방법에 대한 글이라는 주제로 12장을 이해했습니다. 컨트 벡이 제시한 단순한 서례 네 가..
-
단위 테스트 작성Backend/TEST 2023. 3. 31. 02:05
이번에 프로젝트를 하면서 controller, service, repository 레이어에 대한 단위테스트를 진행했는데, 테스트 코드를 작성하는 것이 항상 중요하다 중요하다 생각은 하면서 실제로는 별로 작성하지 않았는데 이번 기회에 테스트 코드를 작성하며 공부한 내용들을 정리하는 시간을 갖겠습니다. 다양한 블로그들의 글을 참고했는데 하단에 링크 작성하도록 하겠습니다. 혹시 문제가 있다면 바로 수정하겠습니다. @SpringBootTest VS @WebMvcTest @SpringBootTest 어노테이션의 경우 스프링 어플리케이션에 등록된 모든 빈들을 가져오기 때문에 실제 환경과 유사한 환경에서 테스트가 가능합니다. 따라서 주로 통합테스트를 하는 경우 많이 사용되는데, 모든 빈들을 가져오기 때문에 상대적으로..