분류 전체보기
-
쿠버네티스 (2)DevOps 2023. 5. 9. 03:14
이전 글에서 Controller 의 개념까지 알아봤습니다. 이번 글에서는 Service 의 개념부터 그 외 기능까지 마무리 하도록 하겠습니다. 혹시 이전 글을 읽지 않으셨다면 참고해주시면 감사하겠습니다. 쿠버네티스 (1) 회사에서 쿠버네티스를 도입하며 지금까지 미뤄두었던 쿠버네티스에 대한 학습이 필요했기 때문에 이번 기회에 쿠버네티스를 사용하는데 필요한 기본적인 개념들에 대해 공부했습니다. 이번 jinmook.tistory.com 1. 실습 환경 구성 방법 2. 쿠버네티스 기본 3. Pod 4. Controller 5. Service 6. Ingress 7. 그 외 기능 (Label, ConfigMap, Secret) 5. Service 동일한 서비스를 제공하는 Pod 그룹의 단일 진입점을 제공합니다. ..
-
쿠버네티스 (1)DevOps 2023. 5. 2. 23:39
회사에서 쿠버네티스를 도입하며 지금까지 미뤄두었던 쿠버네티스에 대한 학습이 필요했기 때문에 이번 기회에 쿠버네티스를 사용하는데 필요한 기본적인 개념들에 대해 공부했습니다. 이번 글은 공부한 내용을 정리하는 글이며 목차는 아래와 같습니다. 1. 실습 환경 구성 방법 2. 쿠버네티스 기본 3. Pod 4. Controller 5. Service 6. Ingress 7. 그 외 기능 (Label, ConfigMap, Secret) 이번 글에서는 Controller 까지 알아보고 다음 글에서 나머지 내용에 대해 알아보도록 하겠습니다. 쿠버네티스를 공부하기 위해 들었던 강의는 유튜브에서 무료로 제공해주신 따배쿠 강의입니다. 개인적으로 무료이면서도 이정도로 개념을 잡기 좋은 강의가 있나 싶습니다. https://w..
-
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 어노테이션의 경우 스프링 어플리케이션에 등록된 모든 빈들을 가져오기 때문에 실제 환경과 유사한 환경에서 테스트가 가능합니다. 따라서 주로 통합테스트를 하는 경우 많이 사용되는데, 모든 빈들을 가져오기 때문에 상대적으로..
-
Clean Code 9 ~ 11 장Backend/책 정리 2023. 3. 28. 03:05
9장 - 단위 테스트 TDD 법칙 세 가지 1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 깨끗한 테스트 코드 유지하기 지저분한 테스트 코드를 내놓으나 테스트를 안 하나 오십보 백보라는, 아니 오히려 더 못한다는 사실을 인지해야 한다. 문제는 실제 코드가 진화하면 테스트 코드도 변해야 한다는 데 있다. 테스트 코드는 실제 코드 못지 않게 중요하며, 실제 코드 못지 않게 깨끗하게 짜야 한다. - 테스트는 유연성, 유지보수성, 재사용성을 제공한다. 테스트 케이스가 없다면 모든 변경이 잠정적인 버그다. 아키텍처가 아무리 유연하더라도, 설..
-
Clean Code 7~8 장Backend/책 정리 2023. 3. 21. 00:41
7장 - 오류 처리 오류 처리는 프로그램에 반드시 필요한 요소 중 하나일 뿐이다. 해당 챕터에서는 우아하고 고상하게 오류를 처리하는 기법과 고려 사항 몇 가지를 소개하고 있다. 1. 오류 코드보다 예외를 사용하라 오류가 발생하면 예외를 던지는 편이 낫다. 그러면 코드가 더 깔끔해진다. 2. Try-Catch-Finally 문부터 작성하라 try 블록에 들어가는 코드를 실행하면 어느 시점에서든 실행이 중단된 후 catch 블록으로 넘어갈 수 있다. 먼저 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 코드를 작성하는 방법을 권장한다. 그러면 자연스럽게 try 블록의 트랜잭션 범위부터 구현하게 되므로 범위 내에서 트랜잭션 본질을 유지하기 쉬워진다. public List retrieveSe..