
최근에는 명령(Command)과 조회(Query) 모델을 분리해서 개발하고 있다. 그래서 JPA로 명령 모델에서 쓰이는 엔티티와 조회 모델에서 쓰는 엔티티를 따로 만든다. 그런데 생성, 삭제, 변경 류의 명령(command) 모델에서 생성된 쿼리들은 간단하고 식별하기 쉽지만, 조회 모델에서 Hibernate가 만든 복잡한 쿼리들은 이게 어떻게 실행된 쿼리인지 식별하기 어렵다. 현재 회사에서는 DBA가 가끔 슬로쿼리를 뽑아서 전달해 주는데, 해당 쿼리가 어디서 실행된 쿼리인지 찾는데 좀 오래걸린 경험이 있다. 그래서 조회용 쿼리에 주석을 붙여서 찾기 쉽게 해보려고 한다. 관련 코드는 아래 깃헙 링크에 있다. 코드는 코틀린으로 작성되어 있다. https://github.com/voyagerwoo/spring..

이 글은 아래의 링크된 포스트의 확장판이다. 아래 포스트에서는 빌드시스템으로 Gradle을 이용하고 있는데, 이번 포스팅에서는 Maven을 이용하여 Dockerfile을 최적화한다. 독자가 도커 이미지를 실행해본 경험이 있으며, 도커 파일을 만들어본 경험이 있고 도커 이미지의 레이어에 대한 이해가 있다는 것을 전제로 한다. (Docker) Spring Boot Application Image 최적화하기 문제 상황 위 포스팅은 스프링 부트 서버 애플리케이션을 도커 이미지로 만들 때 Dockerfile을 최적화 하는 것을 설명하고 있다. 스프링 부트 앱을 도커 이미지로 만드는 가장 유명한 방식은 스프링 부트 애플리케이션을 Jar 파일로 빌드하고 그 Jar 파일을 도커 파일에서 ADD 혹은 COPY 하는 것이..

Kubernetes 스터디 후기 올해(2019년) 1월 10일 부터 시작한 쿠버네티스(이하 k8s) 스터디가 드디어 막을 내렸다. 크게 3번으로 나눠서 진행했고, 총 20주에 걸쳐서 스터디를 진행했다. 이번 스터디를 통해서 좋은 사람들을 얻었고 여러 관점에서 많은 영감을 얻었다. 꼭 기록해두고 싶어서 이 스터디의 후기를 적어보고자 한다. 스터디의 동기 이 스터디를 열게 된 이유는 k8s를 사내에 도입하고 싶었기 때문이었다. 그 당시 나는 전 직장에서 도커와 AWS ECS를 이용하여 서비스를 운영해본 경험이 있었다. 현 직장은 아직 컨테이너 도입 전이었다. 현 직장은 퍼블릭 클라우드가 아닌 IDC에서 서비스를 운영하고 있었는데 막연하게 AWS의 컨테이너 오케스트레이션 서비스를 사용할 수 없으니 k8s를 해..
2019-07-17 컨테이너 소모임에서 진행한 내용입니다. 어떤 피드백도 환영합니다. 오늘의 자료 동영상 제목: Taking Docker to Production: What You Need to Know and Decide (도커를 프로덕션에 도입하기: 알아야할 것과 결정해야할 것) 스피커: Bret Fisher (DevOps Consultant, Docker Captain) 링크: https://www.youtube.com/watch?v=6jT83lT6TU8 발표자료: https://www.slideshare.net/Docker/taking-docker-to-production-what-you-need-to-know-and-decide 도커 프로덕션에 도입하기 우리가 여기에 모인 이유 도커를 운영 환경..

올해 계획했던 AWS Certified Developer Associate 자격증을 취득했다. 간단하게 그 내용을 공유하려고 한다. 자격증 소개 https://aws.amazon.com/ko/certification/certified-developer-associate/ AWS 공인 개발자 – 어소시에이트 시험은 AWS 기반 애플리케이션의 개발 및 유지 관리 실무 경험이 1년 이상 되고 개발 역할을 수행하는 사람을 대상으로 합니다. 자격증을 통해 검증되는 능력 핵심 AWS 서비스, 사용, 기본 AWS 아키텍처 모범 사례를 이해하고 있음을 증명. AWS를 사용하여 클라우드 기반 애플리케이션을 능숙하게 개발, 배포 및 디버깅할 수 있음을 증명. AWS 서비스를 가지고 아키텍처를 구성하고 개발하는 능력을 검증..
여자친구가 친구에게 빌려온 책이었다. 제목을 보자마자 읽어야겠다고 생각했다. 일하는 마음 읽고 싶었던 이유는 직장생활의 미묘한 스트레스였다. 내가 통제할 수 없는 외부 요인들에 대해 유연하고 회복성있는 정신 상태를 가져야겠다고 요새 계속해서 생각하고 있던 터였다. 책 제목을 보고 어떤 내용이든 간에 당장 읽어야겠다고 생각했다. 이 책은 나의 고민을 먼저 해본 선배의 이야기처럼 들렸다. 고민을 먼저 해봤을 뿐만 아니라 깊게 해본 선배의 이야기는 큰 공감과 안도감을 주었다. 이제 독후감을 적어보려 하는데, 머릿속에 많은 이야기와 감정들이 가득해서 정리가 쉽지 않다. 인상깊었던 부분들에 대해서 정리해보려고 한다. #1 어떻게 성장할 수 있나요? 40p-41p 잘하고자 하는 욕망은 대게 우리를 더 걱정하게 만들..
2018년이 흘러갔다. 내 한계를 실감했고 그 속에서 더 성장했다. 올해부터는 직무, 경제, 언어, 취미 영역 네가지 분야로 회고를 해보려고 한다. 타임라인 2018년 4월 오키나와 여행 2018년 8월 매쓰홀릭 퇴사 2018년 8월 ~ 9월 발리 한달 살기 2018년 10월 아이스크림에듀 입사 직무 영역 직무 영역에서는 나에게 맡겨졌던 실제 업무와 나의 직업적 성장을 위해서 했던 공부, 커뮤니티 활동 등에 대해서 다룬다. AWSKRUG 활동 2018년 4월 부터 AWSKRUG 컨테이너 소모임 운영진으로 활동했다. 모임을 운영하는 것은 생각보다 쉽지 않았지만 이곳에서 많은 사람들을 만났고 배운 것도 많다.당시 회사에서 AWS의 Elastic Container Service(이하 ECS)를 사용하고 있어서..
아직 회고도 다 작성하지 못했지만, 회고를 완성하는데 좀 오래걸릴 것 같아서, 먼저 올해 목표에 대해서 적어보고자 한다. 올 한해는 좀 더 시야를 넓혀서 성장하는 한 해가 되었으면 한다. 그래서 회고와 마찬가지로 직무, 경제, 언어, 취미 영역 네가지 분야에 대한 목표를 선정하고자 한다. 직무 kubernetes 공부하고 실제로 운영해보기 코드 리뷰 많이 하기 kotlin, typescript, go 언어 중 2가지 이상 공부하기 네트워크 공부하기 내가 작성한 코드의 테스트 커버리지 60% 이상 높이기 (리팩토링은 당연!) 인프런에 도커 강의 만들기 AWS 자격증 따기 경제 관련 서적 12권 읽기 급여의 절반 이상 저축을 통해서 기반 다지기 언어 모던 패밀리 시즌 1-4까지 Phil의 대사를 필기하고 따..
원본 링크 : https://github.com/voyagerwoo/docker-hands-on/tree/master/PART2-build-docker-imagecommit 4069198282306d9632af983ac6cfb66d89941c87 목차 docker commit 명령어로 사용자 정의 이미지 만들기 도커 이미지 구조 Dockerfile로 사용자 정의 이미지 만들기 apache2가 설치된 이미지 빌드 컨텍스트와 Dockerfile 빌드 과정 Dockerize Express App 연습문제 : Dockerize Spring App 도커 허브에 이미지 배포 정리 docker commit 명령어로 사용자 정의 이미지 만들기 당연하게도 우리는 우리의 입맛에 맞는 사용자 정의 이미지가 필요합니다. 이번..
원본 링크 : https://github.com/voyagerwoo/docker-hands-on/tree/master/PART1-docker-image-and-container commit c5552f33261fd903ed4c482ed470bb5289d708d7 목차 도커란? 도커 엔진 도커 아키텍처 도커 데몬 도커 클라이언트 도커 레지스트리 도커 오브젝트 도커 이미지 도커 컨테이너 도커 설치 도커 허브 회원 가입 도커 이미지와 컨테이너 실습 hello-world tomcat MySql & Wordpress 연습문제 1 : 도커 볼륨을 이용하여 tomcat에 war 배포 연습문제 2 : 도커를 이용하여 master-slave 구조의 jenkins 구축 정리 도커란? Docker는 응용 프로그램을 개발, ..
이번에 쉬는 동안(2018년 8월 ~ 9월) AWS, ECS(Elastic Container Service)라는 도커 컨테이너 기반의 인프라 서비스에 대한 웹북을 썼다. 실습을 통해서 ECS 클러스터를 만들고, 배포하고, 배포를 자동화하고, 모니터링하고, 특정 규칙에 맞춰서 스케일 아웃하는 내용을 담았다. 책은 무료이다. 책 링크 : https://realhanbit.co.kr/books/262 그리고 그 책에 대해서 간단하게 인터뷰를 진행했다. 인터뷰 링크 : http://www.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS2571973917 이런 기술들은 정말 빠르게 변하지만 이 책이 조금이라도 도움이 되기를 바란다.

회사에서 마틴 파울러의 리팩토링 책으로 스터디를 시작했다. 첫번째 맛보기 예제를 내가 맡아서 발표를 하게 되었다. 발표를 준비하고 발표를 하면서 역시 공부가 많이 되었다. 이번 포스팅에서는 리팩토링 책 1장에 대한 나의 생각을 적어보려 한다. 발표 자료 : https://github.com/voyagerwoo/refactoring-first-example/wiki 예제 소개 이 예제는 비디오 대여점에서 사용할 만한 간단한 프로그램이다. 고객별 고객이 빌린 영화와 영화의 대여료, 적립 포인트를 출력해주는 기능을 가지고 있다. 영화의 타입에 따라서 대여료와 적립포인트가 다르게 계산된다. 현재 영화의 타입은 최신작, 어린이용, 일반 이렇게 세가지로 분류되어 있다. Customer, Rental, Movie 세..
잠깐 백수로 지내는 동안 잘 이용했던 ***거북이의 기적***이라는 스터디 카페에 대해서 리뷰를 해보려고 한다. 위치 위치는 신림역 3번 출구쪽에서 5분정도 거리에 있다. 근처에 음식점 특히 고기집이 많이 있다. 그리고 그 앞에 맥주집이 있는데 가끔 시끄러웠다. 주요 서비스 지하1층, 2층, 3층, 옥상을 가지고 있다. 2층, 3층은 1인 스터디 카페이다. 거의 독서실 분위기와 같다. 독서실이지만 노트북을 자유롭게 이용할 수 있다. 정기적으로 사용하는 사람들을 위한 사물함 서비스도 있다. 2층이 최근에 공사한 것이라서 조금 더 나은 것 같다. 4층은 루프탑이라고 하는데 예전에는 그냥 버려진 채로 있었는데 지금은 잠겨져 있다. 뭔가 파티용으로 빌려준다고 하는 거 같은데 밑에 층에서 공부하는 데 그래도 되나..
지난 10월 16일 오마이랩의 CTO 이규원님이 진행한는 TDD 참관에 참여했다. 내가 이 참관에서 가장 궁금했던 점은 실제 TDD 루틴을 확인하는 것이고 어떤 프로세스와 문화 안에서 작업을 하는가였다. 그리고 어디까지 TDD로 커버해야할까에 대한 힌트를 얻기를 기대했다. 만남이 끝나고 돌아오면서 생각해보니 많은 도움이 된거 같은 참관이었다. 그때 이야기 했던 내용들을 정리해볼까 한다. RED GREEN REFACTOR 처음에 만나서 이야기를 시작하며 규원님이 TDD는 RED, GREEN, REFACTOR를 반복하는 것이라고 말씀을 해주셨다. 그러면서 RED, GREEN, REFACTOR가 무엇인지 여쭤보셨다. 그래서 TDD by Example에서 읽어서 알고 있던 이야기를 해보았다. "우선 개발할 내용..
내가 가장 최근에 했던 일은 텍스트 분석, 이미지 분석 등의 일이었다. 그러나 기반 지식이 부족하고 경험도 부족하여 결과가 좋지 않았다. 그래도 그동안 했던 일을 시리즈 형태로 정리하고 공유하면서 더 나은 방법이 있는지 고민해보려고 한다. 이 포스팅에서 다룰 내용 이번 포스팅은 첫번째로써 형태소 분석, 그중에서도 품사 태깅을 하는 AWS lambda 함수를 만들어 보고자 한다. 형태소 분석 이 일을 하기 전까지 형태소가 무엇인지, 형태소 분석이 무엇인지 개념도 잘 모르고 있었다. 우선 형태소란 무엇인지 알아보고 형태소 분석을 왜 해야하는지는 다음 포스팅에서 확인해볼 예정이다. 네이버 사전에서 형태소를 찾아보았다. 형태소 뜻을 가진 가장 작은 말의 단위. ‘이야기책’의 ‘이야기’, ‘책1’ 따위이다. 문법..
참고: 좋은 개발자의 덕목 V2 우아한 형제들 입사 지원 폼의 질문들은 개발자라는 직업에 대해서 깊숙하게 질문한다. 지원자가 개발자라는 직업에 대해서 어떻게 생각하는지 어떤 성향의 개발자인지 확인하려는 듯 하다. 질문들 중에서 이런게 있었다. 좋은 개발자가 되기 위해 갖추어야 한다고 생각하는 덕목 셋을 고르고 그 이유를 말해주세요. 이 질문에 대해서 굉장히 고민을 많이 하여 답변을 완성했다. 내 생각을 공유하고 피드백을 받고 싶어서 그 답변을 여기에 올려두려고 한다. 저는 신체의 물리적인 능력이 아닌 사고의 능력이라 할지라도 근육을 키우듯이 꾸준히 훈련해야한다고 생각합니다. 좋은 개발자는 어떤 근육이 발달해 있을까 고민해보았습니다. 대화 근육 이 근육은 팀웤과 관련된 근육입니다. 우리는 다른 개발자, 혹..
개발자 모임에서 인연이 되어 알게된 J님의 추천으로 우아한 형제들에 지원하게 되었다. 감사하게도 추천 해주시면서 많은 팁들을 알려주셨다. 그중에 하나가 배민다움 책을 읽어보는 것이었다. 이 책은 우아한형제들의 김봉진 대표를 대학 교수가 인터뷰 하면서 대표의 개인적인 경험들과 기업의 마케팅과 브랜딩 그리고 내부 문화에 대해서 이야기하는 책이다. 예전 부터 스타트업에 관심이 많았고 '배달의 민족'에도 관심이 많았기 때문에 재미있게 이 책을 읽을 수 있었다. 사실, 최근 나는 힘들고 고민이 많은 상태였다. 내가 어떤 문제가 있는지 어렴풋이 느끼고 있었었지만 지쳤기 때문에 에너지가 부족한 상황이었다. 이 책을 통해서 성찰할 수 있었고 희망을 느꼈다. 문제의 정의 이 책에서는 문제를 찾는 것과 정의하는 것에 대해..
컴퓨터관련 학과를 나와서 프로그래밍 과제를 풀고 개발자로 일도 하고 있는 나는 코드를 자연스럽게 읽게 되었던것 같다. 아니면 처음 코드를 보았을 때의 어려움을 잊었거나. 오랫동안 비전공에 프로그래밍 경험이 전무했던 신입 개발자를 가깝게 멘토링하면서 그것이 당연햐지 않음을 알게 되었다. 내가 깨달았던 많은 깨달음들을 전수했지만 그 친구는 더 어려워했다. 내가 했던 조언은 다음과 같다. 우선 막 따라 쳐봐라. 그러면 언젠가 이해가 간다. 코드는 한줄 한줄 실행된다. 한줄 한줄 다 이해할줄 알아야 한다. 코드는 규칙이다. 외우고 지켜야한다. 그 친구는 내 조언을 듣고 이렇게 생각했다. '막 따라치라며. 근데 어떻게 한줄 한줄 다 이해할줄 알아야함? 그리고 그냥 외우면 한줄 한줄 어떻게 이해함?' 그런 이야기를..
"함수형 사고"라는 책을 읽게 된 후 Groovy는 나에게 너무 매력적인 언어였다. 최근에는 정규식 관련한 연산들 때문에 더 좋아하게 되었다. (링크 : http://mrhaki.blogspot.com/2009/09/groovy-goodness-matchers-for-regular.html) 나는 간단하게 데이터를 다루는 프로그램이나 데이터 관련한 전처리를 할 때 Groovy 스크립트를 자주 애용하고 있다. 그런데 이것의 단점은 Command Line 으로 실행이 잘 안되는 것이다. (뭔가 클래스패스 설정이 좀 꼬인듯 하다.) 이 문제는 언젠가 꼭 짚어보고 싶지만 바쁜 관계로 나중으로 미루고, 오늘은 차선책으로 Groovy 프로젝트를 실행가능한 jar 파일로 만드는 걸 해보았다. 메이븐으로 진행하였다. ..
https://github.com/voyagerwoo 이제는 뭐든지 단순한게 좋다. 그런 측면에서 금방전까지 나의 깃헙은 너무 복잡했다. 쓸데없이 포크한 것도 많고 그냥 만들고 쓰지 않은 것도 많았다. 그래서 다 지웠다. 기분이 나아졌다. 설명도 간단하게 붙이니 Overview가 그럴듯 해보였다. 다 지우고 보니 한편으로 드는 생각은 인기 많은 오픈소스에 나도 Full request를 날리고 싶다는 생각. 이제 슬슬 해볼때가 된 것 같다.
- Total
- 223,796
- Today
- 10
- Yesterday
- 21
- 웹을 지탱하는 기술
- AWSKRUG
- 개발자
- 회고
- rest
- springboot
- spring boot
- 사누르
- Clean code
- 객체지향
- 한달살기
- spring
- 컨테이너
- container
- AWS
- javascript
- 웹
- 독후감
- ChatGPT
- ES6
- Docker
- ecma6
- Bali
- sanur
- 도커
- S68
- 발리
- 실수노트
- hands-on
- html