밤이 깊었네
-
[book] 그럼에도 불구하고 너무나 인간적인on a stormy night 2021. 7. 22. 23:39
줄거리를 정리하지 않는다. 하욤..! 평소와 같은 주말, 상영 시작 시간이 꽤 남아서 한가롭게 아래층의 서점을 둘러보다 '그럼에도 불구하고 너무나 인간적인 - 대한민국 개발자로 산다는 것'을 만났다. 자기장의 서로 다른 극끼리 잡아당기는 것처럼 내 손은 어느샌가 그 책을 집었다. 너무나 인간적인 내용들을 다루고 작가는 희망적으로 풀어낸다. "내면을 최적화하라" 홀로 밤새 고민하는 시간과 내용이 부쩍 많아졌다. 불과 몇 개월 전에 해결하지 못한 고민이 미워서 홀로 술 마시다가 엉엉 소리 내어 울어보기도 눈물만 또르르 흘려보기도 하였다. 감당하기 힘들었던 것일까? 몇 주 내내 뜬 눈으로 밤을 새워 동료와 함께 수면제의 처방을 생각했었다. 내 주변의 모든 것들에 대한 불안과 애정과 증오가 잠식한 날, 더 이상..
-
[book] 클린 코드를 느끼고 나서...on a stormy night 2021. 7. 22. 23:11
줄거리를 정리하지 않는다. 하욤..! 개발자 서적으로도 유명한 '클린 코드'를 알고 있는가? 스무 살의 김용현은 처음 맛보았다. 첫맛은 매우 당황스러웠다. 첫 챕터를 읽은 내내 나에게 상처만을 남겼다. 상처를 보고 바로 책을 손에서 놓았다. 하염없이 시간은 흘렀고 손을 놓았던 일주년, 동료와 다시 읽었고 상처는 참담했다. 하지만 포기하지 않았다. 상처를 받더라도 성장하고 싶었고 그렇게 끝까지 완독 했고 머리에 담았다. 그렇지만 코드가 달라지지 않았다. 레거시를 뜯어고칠 수도 없는 시간에서 기능만을 추가하고 버그만을 수정했다. 하지만 나에겐 하나의 신념이 생겼다. 손은 중복된 코드를 작성하면서도 머릿속에선 더 좋은 구조를 생각하였다. 수 없이 지웠다가 다시 그리며 머릿속을 채워나갔다. 그리고 오늘이 되어 ..
-
[database] 내 인생의 ERD: 정규화, 비정규화on a stormy night 2021. 6. 8. 00:42
[들어가며] 하욤..! 면접을 준비하는 친구에게 데이터베이스를 소개하다가 시작된 그 질문으로 인하여 이 글을 작성한다. 평범한 알람 소리와 함께 아침을 일어나고 가로등 불빛도 없는 이 거리를 거닐며 살아간다. 어쩌면 목적도 목표도 잊어버린 지 오래다. 오늘 보람차게 살았냐는 질문에 한치의 망설임 없이 대답할 수 있을까? 질문에 대답을 찾아 헤맸다. 답이 없는 질문에 너무나 긴 시간을 끌었다. 구석기시대부터 손을 위로 뻗으면 구름이 잡아질 듯 쏟아 난 높은 건물에서 우리의 삶의 이유는 변치 않았다. "관계", 우린 이것을 맺어가며 살아간다. 옛적부터 우린 관계를 맺었다. 누구의 아들, 누구의 친구 등 날 표현하는 단어는 수 없이도 많다. 이렇게 별이 밝게 빛나는 밤에도 우린 관계를 맺는다. 비가 와도 눈이..
-
[database] exception: spring framework(dao) & hibernateon a stormy night 2021. 5. 28. 03:30
[들어가며] 하욤... 오늘도 hibernate, spring 문서를 헤집었다. exception을 모두 외운다는 것은 어찌 보면 필수일 수 있지만 너무나 많은 exception과 끝나지 않은 신규 exception으로 고생한 날 스스로 달래며 나와 같은 개발자를 위해 글을 남긴다. [spring framework(dao)] org.springframework.dao.DataAccessException: ROOT exception. try~catch 사용하지 말 것. NonTransientDataAccessException: 일시적인 예외가 아니다. (동일한 작업은 실패한다.) BindMarkersFactoryResolver.NoBindMarkersFactoryException = Cannot resol..
-
[aws] health check(gray): elastic beanstalkaws 2021. 5. 25. 00:32
[들어가며] 하욤! 현 회사의 CMS(Contents Management System)은 Elastic Beanstalk를 사용하여 애플리케이션을 배포하고 관리한다. Elastic Beanstalk은 애플리케이션의 상태에 대해서 모니터링을 제공하여 녹색, 노란색, 빨간색, 회색으로 구성된 색상은 각각의 의미를 표현하는 색상을 보여주게 된다. 새로운 CMS 환경을 구축하며 잘못 설정한 탓인지 회색을 보여줬다. 그러더라도 로드 밸런서는 동작했기에 곧 초록불이라 생각하여 크게 문제 삼지 않고 넘어간 것이 화근이 되었다 [Elastic Beanstalk] 더 자세하게 글을 작성하기 전에 Elastic Beanstalk에 대한 이해가 필요하여 짚고 넘어가도록 한다. Elastic Beanstalk를 사용하면 애플..
-
[욤 하디의 대서사시] 제4장〠/욤 하디의 대서사시 2021. 5. 24. 01:53
개발자의 욤 하디가 아닌 인간으로서의 욤 하디의 인생을 기억하고자 이 글을 적는다. "그깟 네 인생의 과거도 기억하지 못하면서 미래만 그리지 말길" 다시 학교로 돌아온 그는 개발에 미쳤다. 곧 졸업이 다가왔다. 선생들은 남은 친구들을 어떻게든 취직시켜 취업률을 높이려고 안달이 나있었고 그에겐 그나마 손아귀가 뻗치지 않았다. 그러다 결제 도메인을 가진 회사를 만나게 되었다. 먼저 연락이 왔고 연락을 준 사람 또한, CEO라서 면접을 보기로 했다. 첫 면접부터 대표는 늦었다. 면접은 쉬웠고 당연하게 붙었다. 다시 서울로 올라갔다. 이전 회사는 목동이었지만 이번 회사는 신논현이었기에 신림에서 자취하게 되었다. 교육 인턴과 같이 사수가 있었다. 하지만 사수는 도움이 되지 않았다. 분명 기획된 문서를 갖고 요구 ..
-
[욤 하디의 대서사시] 제3장〠/욤 하디의 대서사시 2021. 5. 24. 01:24
개발자의 욤 하디가 아닌 인간으로서의 욤 하디의 인생을 기억하고자 이 글을 적는다. "그깟 네 인생의 과거도 기억하지 못하면서 미래만 그리지 말길" 동아리를 운영하던 고등학교 3학년 여름, 그에게도 이적 시장이 오픈되었다. 교육 인턴 제도라고 부르는 것에 참여하기 위해 면접을 보게 되었고 단숨에 합격한 그는 다른 친구들과 다르게 바로 협상에 들어갔다. 다른 친구들은 여러 회사를 놓고 고민하는 반면에 회사명은 그에게 별 다를 것 없다는 안일한 생각이었다. 600,000원, 그의 몸값이었다. 교육 인턴 제도에선 토이 프로젝트와 구현된 시스템의 도메인을 이해하며 시간을 보냈다. 연구소엔 이상한 선임이 있었다. 자유롭게 말할 기회를 주지만 자유롭게 말하면 미워하고 질타했다. 그는 회사에게 첫 충격을 받았다. 그..
-
[aws] image backup(2): lambda & s3 & nasaws 2021. 5. 19. 03:30
[Make SSH] SFTP를 이용하여 파일 업로드를 진행하기에 스토리지에 공개키를 등록한다. 정말 간단하다. 공개키를 ~/.ssh/authorized_keys 파일 아래에 추가하도록 하자. [Make Lambda] 이전에 작성한 글에서도 사용한 Lambda를 다시 선택했다. S3에서 발생된 이벤트를 수신하기 위한 방법은 Amazon SNS, Amazon SQS도 사용할 수 있지만 기획 의도에 맞춰 메시징을 관리하지 않아도 되어서 Lambda를 선택했다. 그렇게 작성된 코드는 다음과 같다. const aws = require('aws-sdk'); const client = require('ssh2-sftp-client'); const fs = require('fs'); const s3 = new aws...