최근에 서비스 개발 코드들을 보면서 옛날 클래스 네이밍/아키텍처 패턴을 보고 있습니다. 예를 들어 DTO, DAO 같은 것들 말이죠. 대략적으로는 알지만, 오랜만에 봐서 그런지 헷갈려 정리해놓고자 합니다. 이 글에서는 일반적으로 이런 역할을 가진다라고 이야기하지만 무조건 적인 것은 아닙니다. 변질된 사례도 많고, 구현하는 사람마다 이해하는 바가 다르기 때문입니다. 그리고 개인적인 의견입니다만 최근에는 여기서 말하는 모든 네이밍/패턴은 많이 사용되지 않는다고 생각합니다. 여러 다른 프레임워크/구현체(ex. JPA/Hibernate 등)들이 어느정도 많이 사용되면서 다른 명명 패턴/추상화(ex. Repository 등)를 사용하고 있기 때문입니다. 하지만 그럼에도 팀 및 정해진 인원들이 어느정도 정해진 컨벤..
Spring boot 웹 서버를 개발하고 Kubernetes에 배포할 때, Profile(local, dev, prd, ...)을 설정하는 법을 알아보자. Dockerfile을 사용해 컨테이너 이미지 빌드 Dockerfile을 통해 이미지 빌드 시, ENTRYPOINT에서 Jar 파일을 실행하며 Dspring.profiles.active 옵션을 통해 설정할 수 있다. ... ENTRYPOINT ["java", "-Dspring.profiles.active=dev", "-jar", "some.jar"] 해당 컨테이너 이미지를 실행시키면, dev profile로 설정되어 Spring boot 웹 서버가 실행된다. Buildpacks(ex. gradle bootBuildImage)를 통해 컨테이너 이미지 빌드..
이전의 완전 초기 스타트업에서 Node.js/Express를 사용할 때, pm2를 통해 서버 관리를 한적이 있었다. pm2를 키면 access log를 바로 찍어줘서 request의 어느 부분에서 어떻게 오류가 나고 있고, 났었는지 확인하기가 편했다. Spring boot를 사용해 개발을 시작한 후, access log를 잊고 있다가 'application log 말고 access log는 어떻게 보지?' 라는 생각이 들자 찾아보게되었다. Spring boot를 사용하면 내부에 embedded tomcat이 있기에 따로 WAS를 띄울 필요가 없다. 이 tomcat에 대한 설정을 application.properties 또는 application.yml을 통해 설정할 수 있으며, 이를 통해 access.l..

이 글에서는 Spring boot 프로젝트를 Container image로 만드는 법에 대해 알아보겠습니다. Spring Boot 공식문서에서는 2가지 방법을 소개하고 있습니다. 1. Dockerfiles 2. Cloud Native Buildpacks 이 2가지 방법에 대해 자세히 살펴보도록 하죠! Dockerfiles 일반적으로 container image로 만들 때 활용하는 Dockerfile을 정의해 사용하는 방법 Spring project의 결과물을 container image로 만들 때, 아주 간단히 Dockerfile 을 작성하면 다음과 같이 작성할 수 있습니다. Gradle인 경우, ./gradlew bootJar 을 통해 쉽게 jar로 패키징할 수 있습니다. 패키징 이후, docker b..
- Total
- Today
- Yesterday
- container
- Kubernetes
- python
- boj
- Intellij
- tag
- c++
- 백준
- 일상
- HTTP
- 비동기
- MySQL
- Clean Architecture
- WebFlux
- 쿠버네티스
- gradle
- 클린 아키텍처
- Spring boot
- 로그
- docker
- Spring
- Log
- java
- jasync
- 하루
- OpenTelemetry
- Algorithm
- 알고리즘
- k8s
- Istio
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |