HOME
![[Portainer] Docker를 WebUI로 관리하기 - 설치하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FJYNMc%2FbtrcQfjFNgl%2FAAAAAAAAAAAAAAAAAAAAACmGJtZmo03eC-FDjBpXHmJFuL-2Mp1RDXE9v5L6Bots%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DtfyLLdL2U092wiJnFLwaK%252FsruxU%253D)
[Portainer] Docker를 WebUI로 관리하기 - 설치하기
이번에 새 PC를 장만하고나서 이런저런 세팅을 잡는 중에 Portainer라는 것을 알게되었습니다. Rancher와 더불어서 Docker 사용자들이 Docker 관리 시 많이 사용하는 도구인데요, 이 둘의 차이는 다음 포스팅에서 알려드리도록 하겠습니다! Portainer는 컨테이너를 쉽게 배포하고 관리하는 도구로, 컨테이너의 상태와 설치된 이미지, 볼륨과 네트워크를 WebUI 로 확인하고 관리할 수 있습니다. 컨테이너 템플릿을 만들어서 간편하게 컨테이너를 구성할 수도 있습니다. 포스팅 환경 OS : Ubuntu 20.04.3 LTS CPU : AMD Ryzen 7 PRO 4750G with Radeon Graphics RAM : 32GB Docker : Community 20.10.8 설치하기 디렉토리 ..
![[자바로 배우는 리팩토링 입문] 리팩토링이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbKX7nN%2Fbtrb7bc35c4%2FAAAAAAAAAAAAAAAAAAAAAKPFc-ZhEzx4CoSQU2dq44P7CyMmNgz3uDV1NupOHg1G%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DPrB76yWU%252BWP%252FF71IusNY7%252FS%252FcVI%253D)
[자바로 배우는 리팩토링 입문] 리팩토링이란?
저희 회사에는 각 층에 작은 도서관이 있습니다. 개발 서적은 물론이고 비개발 서적도 많아 사옥 이름이 그렇게 지어진 게 아닌가 싶을 정도입니다. 지난주에 오랜만에 출근을 해 이번 연휴(토~월) 동안 읽을만한 책을 하나 빌려왔는데, 선정 기준은 아래와 같았습니다. 3일 동안 읽을 수 있는 분량 지금 진행중인 프로젝트에 도움이 될만한 내용 젠킨스 책을 빌릴까 고민했다가 이게 좀 더 읽기 쉬울 거 같기도 하고, 동료의 추천도 있어 이 책을 빌려오게 되었습니다! 이 책은 0장에서 리팩토링에 대한 이해, 그 이후 장에서 예제 코드와 함께 리팩토링을 진행합니다. 이번 포스팅에서는 0장에서 소개하는 리팩토링에 대해 포스팅하도록 하겠습니다. 리팩토링 리팩토링은 외부에서 보는 프로그램 동작은 바꾸지 않고 프로그램 내부 ..
![[12 Factor App] 마이크로서비스 개발 전 읽어보세요](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FxH1kq%2Fbtq6EWj2qj6%2FAAAAAAAAAAAAAAAAAAAAACjc5n9GRPkc8r1EfJQmeTs6vSRgN8tr1_pbLmO5R0Ow%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D6UYwBYiX0fcMCeJYQ7fPj3Qeff0%253D)
[12 Factor App] 마이크로서비스 개발 전 읽어보세요
12 Factor App 이란? SaaS 애플리케이션을 만들기 위한 방법론으로써 프로그래밍 언어에 비종속적이며 DB, Queue, Memory-cache 등과 조합할 수 있는 방법론입니다. 이 방법론은 시간이 지나면서 망가지는 소프트웨어 유지비용을 줄이는 방법에 집중해 이상적인 개발 방법을 찾고자 했습니다. 12 Factor App 의 요소들 1. 코드 베이스 (Code Base) 코드 베이스는 VCS(Version Control System)을 사용해 변화를 추적하고 코드를 저장하는 저장소를 의미합니다. (예: Git, SVN 등) 이 방법론에서는 코드 베이스-앱이 항상 1 대 1 관계를 맺어야한다고 하는데, 쉽게 말해 코드는 한 곳에서 개발/배포 되어야한다 입니다. 준수하기 어렵진 않은데, 아래와 같..
![[Spring Data JPA] Auditing에 ZonedDateTime 사용하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FCGRiZ%2Fbtq5SQK3L7r%2FAAAAAAAAAAAAAAAAAAAAANqF1xilEvxx5rQtLOOkodn_td6Kv0KrZ0u1MeSrlQFO%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DYS801lB3UaK8fG2dnbe672xxbjo%253D)
[Spring Data JPA] Auditing에 ZonedDateTime 사용하기
들어가며 JPA에는 엔티티의 생성 일자와 최종 수정일자, 생성자와 최종 수정자를 entityManager에서 persist하기 전에 자동으로 현재 일시로 세팅해주는 기능이 존재합니다. JPA Auditing이라고 하는데요, 대부분의 경우 이 Auditing 기능을 @MappedSuperclass로 만들고 엔티티 클래스에서 상속받도록 구현합니다. 이번 포스팅은 이 JPA Auditing 중 생성 일자와 최종 수정일자 필드의 타입에 관한 포스팅입니다. 문제가 뭐였냐면 프로젝트의 날짜 타입을 ZonedDateTime으로 통일함에 따라, Auditing의 @CreatedDate와 @LastModifiedDate 필드 또한 ZonedDateTime으로 변경하게 되었습니다. 단순히 필드의 자료형만 변경하면 될 줄 ..
![[SpringCloud] Resilience4j와 Spring Cloud Circuit Breaker](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FshubW%2Fbtq415vRScl%2FAAAAAAAAAAAAAAAAAAAAAJv_bz8d5K8mHSFGPBaK9gqy9WlTSq7PtPTlC7pc1dYn%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DIHXxgpQ0pTQ%252BeE4eUKvSGKbUlIw%253D)
[SpringCloud] Resilience4j와 Spring Cloud Circuit Breaker
들어가기 전에 어떤 애플리케이션에서 다른 서비스의 API를 호출해 응답 데이터를 사용하는 로직이 있다고 가정해봅시다. 그럼 해당 로직은 아래 프로세스로 동작할 것입니다. 이 두 서비스 간의 통신이 항상 문제없이 정상적으로 동작하면 좋겠지만, 실제로 그렇지 않다는 것을 모두가 알고 있습니다. 다른 서비스가 가용 리소스가 적어 이 요청을 처리하는데 과도하게 오랜 시간이 걸린다면? 다른 서비스가 현재 장애가 발생해 이 요청을 처리할 수 없는 상태라면? 어떤 모종의 이유로 인해 다른 서비스가 내려가 있다면? 이 비즈니스 로직, 나아가 우리의 애플리케이션은 다른 서비스의 상태나 장애에 의존적인 상황이 펼쳐지게 됩니다. 다른 서비스가 장애가 발생하면 우리 서비스도 장애가 발생하는 그런 상황이요. 😡 담당자 : 개발..

macOS에서 VirtualBox로 쿠버네티스 설치하기 - 클러스터 구성
앞선 포스팅에서 클러스터 Master 노드를 만들고, Worker1 Worker2 노드를 추가했습니다. macOS에서 VirtualBox로 쿠버네티스 설치하기 - 쿠버네티스 노드 추가 swap 기능 끄기 Master, Worker1, Worker2 VM을 실행해 터미널로 swap 기능을 꺼줍니다. sudo -i swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab kubeadm init Master VM에서 아래 명령어를 수.. logical-code.tistory.com 노드를 추가했을 때, STATUS가 모두 NotReady 였을텐데요, 이번 포스팅에서는 클러스터를 구성해보도록 하겠습니다. master@master:~$ kubectl get n..