몇 년전 우울감이 가득한 날이면, 미드 시즌 3,4를 봤다. 특히 클레어의 남편이자, 세 남매의 아버지의 필을 보면 나는 기분이 좋아졌다. 약간 바보같기도 하지만 자기만의 취미도 확실하고 유머러스하며 가족들을 잘 챙기는 그를 보면 그의 역할을 내가 하고 싶다는 생각을 했다. 최근에는 미드 과 을 가끔 본다. 처럼 가끔은 한심하지만 가족처럼 내 주변에서 희노애락을 같이 느끼는 친구들이 있다면 인생이 외롭지 않을 것 같다고 생각했다. 은 비슷한 친구들이 직장에 있으면 참 좋겠다는 생각이 들게 했다. 막연하게 그런 관계가 이미 있거나 생길 것이라 여기며 살아오다가, 어느날 문득 그런 관계 자체가 판타지라는 생각이 들었다. 사람들은 그런 커뮤니티를 끊임없이 욕망하기 때문에 앞서 이야기한 컨텐츠들을 소비하고 있는..
지난 주 화요일에 정형외과에서 진료를 받고 수요일 (2020-08-05)에 첫번째 도수치료를 받았다. 병원은 회사 근처에 있고, 우리 회사 사람들에게 할인을 해주는 병원에서 하게 되었다. 진단 도수 치료선생님을 만나서 x-ray 사진을 같이 보면서 진단을 했다. 나는 현재 일자목, 일자허리이다. 코어 근육이 약하다. 그래서 허리도 계속 불편하고 연결되어 있는 어깨, 승모도 불편해진다고 했다. 코어 근육이 정확히 어떤 근육인지는 제대로 설명듣지 못했다. 원인 계속 척추기립근을 이용해서 허리를 세우려고 하면서 일자 허리가 되고 허리 통증이 생긴다. 걸을 때 8자로 걷는다. 그러면 아무리 오래 걸어도 코어 근육이 단련되지 않는 다고 한다. 구강호흡을 하는데 그렇게 되면 2차 호흡근을 사용하게 되어 근육이 더 ..
보호되어 있는 글입니다.
한두달 전쯤 독서 모임에서 번개를 했다. 남산을 좀 걷다가 시원한 카페에서 음료를 마시고 해방촌의 작은 서점들을 갔다. 서점들은 작고 책이 빼곡 했다. 걸어 오면서 사람들과 이런 독립 서점들을 운영하는 사람들의 생계를 걱정하는 대화를 하기도 했고, 마침 책 선물도 하고 싶어 기어코 책을 샀다. 우선 선물할 책으로는 이 책을 샀다. 그리고 내가 읽을 책으로는 항상 궁금하던 이 책을 샀다. 나는 여름을 살고 싶어한다. 선물로 줄 책은 여름안에서 여름을 기념하는 책이라면, 내가 읽을 책은 여름 밖의 이야기를 다룬 책이다. 오늘 을 다 읽었다. 바깥은 여름은 단편 소설집이다. 다음의 소설들이 포함되어 있다. 입동: 어린 자식을 잃은 부모 이야기 노찬성과 에반: 늙은 유기견을 키우는 조손 가정 이야기 건너편: 이..
1장. 표기법과 메타모델 UML을 사용하는 방법들 스케치, 청사진, 프로그래밍 언어 필자의 편견으로는, 이 셋 중에서 가장 보편적인 것은 UML을 스케치로 생각하는 것이다. 이 방식에서는 개발자가 시스템의 어떤 측면에 대해 다른 사람과 의사 소통하는 것을 돕는 목적으로 UML을 사용한다. ... 스케치는 순공학(Forward Engineerging) 또는 역공학(Reverse Engineering)에 사용될 수 있다. 스케치의 핵심은 선택성이다. 순공학에서는 작성하고자 하는 코드의 어떤 문제에 대해서 대강 스케치를 해서 팀 내의 사람들과 의논을 한다. 이 책은 설계를 스케치하는 용도의 UML을 소개하는 책이다. 적법한 UML이란 무엇인가? 언어의 두가지 카테고리 규범적인 규칙(Perscriptive ru..
보호되어 있는 글입니다.
비즈니스 로직과 상관없지만 해야하는 일들이 있을 때, Spring 프레임워크에서 제공하는 Event를 사용하여 비즈니스 코드와 비즈니스와 관련 없는 코드의 의존을 분리한다. 예를 들어, 비즈니스 특정 행위를 로그 테이블에 적재해야 할 때, 나의 판단에는 비즈니스의 흐름에 로그 테이블에 적재하는 코드를 넣는 것은 비즈니스 흐름을 읽는 데 방해가 된다. 그래서 이벤트를 발생시키고 해당 이벤트의 Listener 객체가 해당 작업을 수행하도록 한다. 참고; https://javacan.tistory.com/entry/Handle-DomainEvent-with-Spring-ApplicationEventPublisher-EventListener-TransactionalEventListener 스프링 Applicat..
https://stackoverflow.com/questions/41149529/sql-error-1064-sqlstate-42000-caused-by-org-hibernate-exception-sqlgrammar SQL Error: 1064, SQLState: 42000 - Caused by: org.hibernate.exception.SQLGrammarException: could not execute statement I am really exhausted in solving the below error. Any help is very much appreciated. org.springframework.dao.InvalidDataAccessResourceUsageException: could not..
최근의 나의 주요 작업은 하나의 도메인 단위로 서비스를 재구성하는 것이다. 예를 들어, 포인트 관련된 기능이 하나의 DB를 가지고 여러 서버 애플리케이션에서 구현되어 있다면, 포인트 관련된 서비스를 만들고 각 서버 앱들이 포인트 서비스 API를 호출하도록 변경한다. 그리고 포인트 서비스용 DB를 따로 분리한다. 포인트 서비스는 API 수준의 기능을 노출하고 DB는 숨기는 것이다. 작업 방식은 보통 기능을 추출하고 기능단위로 API를 구현하고, 기존 서버 앱들이 해당 API를 호출하도록 작업한다. 굉장히 위험한 작업이기 때문에 기존 서버앱의 수정을 최소화 하고 롤백가능한 구조로 작업을 진행한다. 오늘 적어볼 나의 시행착오는 도메인 모델의 이름에 대한 것이다. 보통 기존 서비스들은 DB의 테이블과 거의 비슷..
요즘도 꾸준히 좋은 개발자란 무엇인지 고민하고 있다. 최근에 좋은 개발자의 덕목 세가지를 다시 한번 생각해보고 정리해 보았다. 과거에 정리했던것과 내용이 많이 달라졌다. 참고: 좋은 개발자의 덕목 달라진 내 생각을 여기에 정리해두었다. 앞으로는 어떻게 달라질지 또 궁금하다. 협력 능력 대다수의 문제는 함께 해결해야 합니다. 그래서 좋은 개발자는 협력에 대해서 고민하고 개선하려고 노력해야합니다. 협력 능력을 두가지로 분류해보겠습니다. 첫번째는 소통능력입니다. 자신의 문제를 효과적으로 전달할 줄 알아야합니다. 그리고 친화력, 공감 능력, 갈등 조정 능력 같은 대인관계 기술들도 꾸준히 훈련하도록 노력해야합니다. 개인적으로 강조하고 싶은 것은 잘 듣고 설득 당하는 것입니다. 이는 문제를 해결함에 있어서 타인의 ..

최근에는 명령(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의 대사를 필기하고 따..
- Total
- 224,387
- Today
- 10
- Yesterday
- 65
- spring boot
- 회고
- 독후감
- ecma6
- 컨테이너
- S68
- 실수노트
- 한달살기
- hands-on
- rest
- spring
- Docker
- 도커
- ES6
- Clean code
- container
- 발리
- 웹
- AWS
- Bali
- 웹을 지탱하는 기술
- AWSKRUG
- springboot
- ChatGPT
- 개발자
- 사누르
- 객체지향
- html
- sanur
- javascript