정신차려보니 26년 08월.. 3월부터 프로젝트개발을 시작했는데 거의 4월부터는 주말과 야근을 회사프로젝트에 몰두해서 정신없이 한해가 간 기분이다... 그래도 5월에는 홍콩도 가고 페스티발도 가고 나름 휴식할땐 알차게 놀았다. ((여행사진보며 헤벌쭉중.. )) 또 요즘은 프로젝트를 진행하면서 성장통을 겪고 있다. 힘들땐 주변 개발자들이랑 얘기하면서 내가 놓친부분들과 기술적인 부분에대한 피드백을 들으며 좋은설계란 무엇인가를 생각하면서 바로 업무에 적용하려고한다. 또 비즈니스적인 부분까지도 커뮤니케이션 하면서 채우는 게 중요하다고 느끼는 중이다. 개발자로 일하면서 좀 힘든부분도 많지만 문제를 풀어가는 부분이 희열감이 드는 거 같다. 직업에서 이런 성취감을 찾을 수 있어서 아직까진 행운이라고 생각한다. ai..
들어가는 글어느덧 2026년도 절반이 지나갔습니다. 이번 상반기를 돌이켜보면 기술의 발전 속도가 그 어느 때보다 체감되는 시기였습니다. 특히 AI 코딩 어시스턴트와 자율형 에이전트(Agent)의 발전은 단순한 도구를 넘어 '개발 방식' 자체를 완전히 뒤바꿔 놓았습니다.이제는 기능 구현을 위해 보일러플레이트 코드를 타이핑하거나, 단순한 CRUD API를 작성하는 데 시간을 쏟는 사람이 거의 없습니다. "이런 기능 만들어줘"라는 프롬프트 한 줄이면 수 초 만에 그럴싸한 코드가 쏟아져 나오는 시대가 되었습니다.덕분에 저 개인의 업무 방식에도 큰 변화가 있었습니다. 프론트엔드(Next.js)부터 백엔드, 인프라 구축, 나아가 디자인과 세부적인 기획 단계까지 AI의 도움을 받아 혼자서 감당할 수 있는 프로젝트의 ..
실무 2년 차를 넘기며 느낀 점은 명확하다. 이제는 단순히 전공 지식을 잘 아는 것만으로는 부족하다는 것이다. 책에 있는 정답이 아니라, 현업의 불확실한 상황에서 최선을 찾아내는 '문제 해결 능력(Problem Solving)'과 '기술적 의사결정력'을 채워야 할 시기다."이 기술을 왜 사용했는가?", "트레이드오프(Trade-off)는 무엇인가?"에 대해 논리적으로 답할 수 있는 능력이 현재 나에게 가장 필요한 '넥스트 스텝'이다. 최근 커리어의 방향성을 고민할 만한 이벤트가 있었다. 시리즈 B 단계의 핀테크 기업에서 헤드헌팅 제안을 받았다. 처우면에서 매력적인 제안이었다.하지만 긴 고민 끝에 거절했다.아쉬움이 없지는 않으나, 지금 회사에서의 커리어적으로 더 가파른 성장을 선택한 것에 대한 기회비용이라..
CI/CD 파이프라인 설계: 도커, 젠킨스, 스프링 부트, JSP를 활용한 종합 가이드 1장: 데브옵스와 CI/CD 패러다임이 장에서는 전체 프로젝트의 기반이 되는 핵심 철학을 소개합니다. 데브옵스가 단순히 도구의 집합이 아니라, 안정성을 유지하면서 가치 전달을 가속화하기 위한 문화적, 절차적 변화라는 점을 이해하는 것이 중요합니다.1.1. 데브옵스 해부: 협업과 자동화를 위한 프레임워크데브옵스(DevOps)는 역할이 아닌, 소프트웨어 개발(Dev)과 IT 운영(Ops)을 통합하는 문화적 철학이자 일련의 관행으로 정의됩니다.1 그 주된 목표는 시스템 개발 수명 주기를 단축하고 높은 품질의 소프트웨어를 지속적으로 제공하는 것입니다.3 이러한 접근 방식은 개발 팀과 운영 팀 간의 소통, 협업, 통합 및 ..
빌더 패턴은 애플리케이션을 빌드하는 환경과 실행하는 환경을 분리하여 최종 Docker 이미지의 크기를 줄이고 보안을 강화하는 패턴입니다.이를 가능하게 하는 핵심 기술이 바로 **멀티 스테이지 빌드(Multi-stage builds)**입니다.1. 왜 빌더 패턴을 사용해야 할까요?기존의 방식(Single-stage build)으로 Docker 이미지를 만들 때 발생하는 문제점들을 해결하기 위해서입니다.😭 불필요하게 거대한 이미지 크기:애플리케이션을 빌드하기 위해서는 컴파일러, SDK, 라이브러리 등(e.g., JDK, Maven, Go toolchain, node_modules)이 필요합니다.기존 방식에서는 이 모든 빌드 도구와 소스 코드까지 최종 이미지에 포함되어, 실제 실행에는 필요 없는 파일들 때문..
서론: 도커를 넘어, 오케스트레이션의 시대로이전 모듈에서 우리는 도커(Docker)를 사용하여 애플리케이션을 컨테이너화하고, 원격 서버에 배포하는 방법을 배웠습니다. 이를 통해 개발 환경과 운영 환경의 일관성을 확보하고, 이식성 높은 애플리케이션을 만들 수 있었습니다. 하지만 애플리케이션의 규모가 커지고 복잡해지면, 단순히 컨테이너를 실행하는 것만으로는 충분하지 않은 새로운 차원의 문제들에 직면하게 됩니다.이 모듈은 바로 그 지점에서 시작합니다. 우리는 **쿠버네티스(Kubernetes)**라는 강력한 시스템을 통해 대규모 컨테이너 배포를 관리하고 자동화하는 방법을 배울 것입니다. 쿠버네티스는 선택 사항이지만, 현대적인 클라우드 네이티브 애플리케이션을 이해하고 구축하고자 하는 개발자에게는 사실상의 표준이..