본문 바로가기

전체 글

(126)
[독서] 미하이 칙센트미하이의 몰입을 읽고 오랜만에 책을 하나 읽고 싶은 생각에 인터넷에서 추천하는 책을 검색했다. 그중에서 흥미가 갔던 책이 바로 몰입이었다. 몰입이라는 제목을 보고는 몰입에 대해서 설명을 해주는 책이라는 생각이 들었다. 그리고 어떤 일을 하더라도 몰입하여 최대한의 성과를 내고 싶다는 생각을 항상 가지고 있어서 더 흥미가 갔었다. (저는 자기 개발서를 조금 좋아하는 편이기도 합니다.) 그렇게 단순한 호기심으로 책을 읽었다. 책은 총 10개의 주제가 있었다. 하지만 주제가 어떤 것인지는 크게 관심이 없었어서 그냥 넘겼다. 책의 분량은 상당하다. 400 페이지로 두꺼운 편이었다. 책을 읽으면서 느낀 첫인상은 몰입에 대한 원리나 학술적인 내용에 집중하는 것은 아니라는 것이었다. 기대한 내용대로 책이 진행이 되지 않아서 조금은 당황스러..
우아한 테크 켐프 7기 2주 동안의 여정 4월에 처음 알게된 우아한 테크 켐프라는 좋은 기회를 운 좋게 잡았고 현재 2주의 시간이 흘렀습니다. 처음은 어떤 사람들을 만날 수 있고 어떤 성장을 할 수 있을지가 매우 매우 기대가 되었죠. 그리고 2주가 지난 시점에서 어떤 과정을 진행해왔는지 내가 잘하고 있는 것은 무엇이고 더 잘할 수 있는 점은 무엇인지 천천히 회고를 하고자 합니다.🎮1주차 미션처음으로 마주친 미션은 체스 게임 구현이었습니다. 1단계부터 8단계까지 마치 게임처럼 미션이 구성이 되어있었고 하나씩 단계를 진행해가면서 추가되는 기능을 어떻게 하면 쉽게 적용할 수 있을 것인지를 고민하면서 진행했던 미션이었습니다. 저는 체스를 구현하기 위해서 3가지의 객체를 통해서 구현하기로 했습니다.보드(Board)체스의 상태를 모두 관리하는 책임을 부..
[Kubernetes] private 저장소의 이미지를 가져오는 법 kubernetes를 공부하기 위해서 진행하는 프로젝트에서 private 저장소의 이미지를 가져와서 배포를 해야하는 상황을 마주하게 되었다. 그 동안은 public 이미지를 통해서 배포를 구성해왔기 때문에 크게 고민하지 않고 사용했던 기능이었지만 이번 기회를 통해서 공부하게 되었다.로그인을 위한 Secret 생성하기도커 허브에 접속하기 위해서 필요한 아이디와 비밀번호 정보를 기반으로 비밀을 생성할 수 있다. 만약 도커 허브가 아니라 다른 이미지 저장소를 사용한다면 docker-server의 파라미터를 알맞게 수정해서 사용하면 된다.kubectl create secret docker-registry regcred --docker-server=https://index.docker.io/v1/ --docker..
Spring과 kotest에서 testContainer 사용 후기 자바와 스프링을 사용해서 테스트 컨테이너를 사용할 때는 @DynamicPropertySource를 이용해서 테스트 마다 동적으로 외부 시스템 연결 설정을 초기화해주는 방식을 사용해왔었다.@SpringBootTest@Testcontainerspublic class ArticleLiveTest { @Container static PostgreSQLContainer postgres = new PostgreSQLContainer("postgres:11") .withDatabaseName("prop") .withUsername("postgres") .withPassword("pass") .withExposedPorts(5432); @DynamicPropertyS..
Go template을 이용한 helm value.yaml 값 매핑하는 방법 헬름을 이용해서 배포 환경을 문서화하는 작업을 할 때, 배포하는 서비스의 구성요소 설정을 어떻게 구성하는 것이 좋은지에 대한 고민이 많이 들었다. 처음에는 nginx의 헬름차트 구성이 어떻게 되어있는지를 살펴보고 단일 차트에 대한 설정에 대해서 감을 잡고 go template을 어떻게 사용하는지에 대한 예시를 보면서 학습을 하였다. go를 사용하지 않아서 처음 보는 템플릿 표현 방식에 대해서 정리를 해보았다.Go template을 이용한 설정값 매핑하기헬름의 차트의 값들은 value.yaml에 정의된다. 정의 값은 go template을 이용해서 templates 안에 존재하는 쿠버네티스 컴포넌트에 반영된다. 프로젝트를 진행하면서 알게된 helm에서 Go template 사용법을 몇가지 소개한다.1:1 ..
Statefulset과 Deployment 차이점이란? helm을 통해서 kafka를 배포했는데 배포된 리소스의 타입이 statefulset이었다. 왜 deployment을 안쓰고 statefulset을 사용을 하는지 궁금해져서 관련된 내용을 찾아보게 되었다.StatefulSet이란?공식문서에서는 애플리케이션의 스테이트풀을 관리하는데 사용하는 워크로드 API 오프젝트라고 소개한다. 즉, 상태를 안정적으로 관리할 수 있는 리소스라는 것이다.스테이트 풀셋은 다음과 같은 요구 사항이 필요한 어플리케이션에 적합하다고 한다.안정적이고 고유한 네트워크 식별자가 필요한 경우안정적이고 지속적으로 유지가 필요한 스토리지가 필요한 경우순차적인, 정상 배포(graceful deployment)와 스케일링이 필요한 경우순차적인 자동 롤링 업데이트가 필요한 경우구체적인 사례와 연관..
[React] 컴포넌트가 import 안되는 오류 리엑트 공부하는 와중에 스스로 만든 컴포넌트를 인식하지 못하는 오류를 마주했다. 오류의 원인은 import하는 방식의 차이가 있었기 때문이었다.export default Clock ...으로 선언한 컴포넌트를 {}을 포함한 import를 사용했기 때문에 발생한 오류였다.오류의 원인을 찾는데 조금 시간을 사용했다. 그 원인은 import와 export에 대해서 자세히 알지 못했기 때문이었다.그래서 이번에는 import에서 {}을 사용할 때와 사용하지 않을 때의 차이에 대해서 공부를 해보았다.`export 방식Named exports여러값을 외부에 노출할 때, 사용하는 export 방식이다. 배열, 함수, 타입 등 객체를 노출시킬 수 있다.export const array = [1, 2, 3, 4] // ..
jib 사용시 java version 에러 jib을 통해서 손쉽게 개발한 java application 쉽게 컨테이너 이미지로 빌드하기 위한 과정 중에 만난 문제를 공유합니다.초기 설정jib을 이용해서 Spring boot 이미지를 배포하기 위해서 다음 설정을 사용했습니다. gradle언어로는 kotlin을 사용하였습니다.plugins { ... // jib id("cohttp://m.google.cloud.tools.jib") version "3.1.4"}jib { from { image = "eclipse-temurin:21-jre" } to { image = "localhost:5000/authApplication" setAllowInsecureRegistries(true..