느낀점10월 독서 모임으로 선정된 책이다.사실 큰 기대가 없었다. 그 이유는 장편 소설을 읽으면 한 편의 영화를 보는 듯한 느낌뿐이지, 이를 통해 내가 성장한다는 느낌을 받지 못했기 때문이다.그저 독서 모임으로 선정된 책이라서 별 기대감 없이 읽었다.이 책에는 30대 여주인공이 등장한다. 계속되는 취업 실패로 인한 좌절감과 불안감을 안고 살아가며 위태로운 삶을 이어간다. 우연한 계기로 달리기를 시작하면서부터 어려운 삶에서 더 나은 삶으로 한 발 한 발 나아가는 과정들을 그린다.그런데 이 책...지난 날의 나를 비추는 듯 했다.취업 준비를 하기 위해서 노력했던 순간들, 면접 이후의 아쉬움들, 서류 광탈 등 여주인공의 삶이 지난 날의 나와 오버랩되니 더더욱 책에 몰입된다.책을 읽으면 읽을수록 그때 내가 느꼈..
p.1개발자 입장에서 온라인 서점은 구현해야 할 소프트웨어 대상이 된다. 온라인 서점 소프트웨어는 온라인으로 책을 판매하는 데 필요한 상품조회, 구매, 결제, 배송 추적 등의 기능을 제공해야 한다. 이때 '온라인 서점'은 소프트웨어로 해결하고자 하는 문제 영역, 즉 도메인에 해당한다.한 도메인은 다시 하위 도메인으로 나눌 수 있다.예를 들어 온라인 서점 도메인은 여러 하위 도메인으로 구성된다.회원, 혜택, 주문, 결제, 배송, 정산, 카탈로그, 리뷰도메인 예시를 들어보면 온라인 쇼핑몰, 병원 관리 시스템, 은행 서비스, 학교 관리, 소셜 미디어 플랫폼 등이 있다. p.6도메인 모델 패턴Presentation : 사용자의 요청을 처리하고 사용자에게 정보를 보여준다. 여기서 사용자는 소프트웨어를 사용하는 사..
느낀 점책 제목이 '코드 너머' 이다.코드 너머에 존재하는 무엇인가를 독자에게 알려주고 싶어하는 듯 느껴졌다.나의 느낌은 적중했다.책에는 코드에 관한 내용이 거의 없다. 코드가 아닌 그 너머에 있는 사람과의 관계에 더 초점이 맞춰져 있다.'소통, 경청, 조언, 의견, 회의, 팀웍, 생산성' 등의 키워드에 관한 이야기를 다룬다.책에서 전달하고자 하는 본질은 코드보다 더 중요한 것이 '사람' 이라는 점이다. 나의 경험을 비춰봤을 때 소통이 잘 되고, 능동적으로 일하는 동료와 함께 일했을 때 결과물도 좋았다. 힘든 상황이 여러번 있었음에도 전혀 힘들지 않았다. 오히려 전우애가 느껴질 정도로 역경을 함께 이겨낸 전우와 같은 유대감이 생겨났다.반면에 소통이 어려운 동료와 함께 일했을 때에는 쉬운 일도 힘들었고, ..
느낀점우연하게 접한 책이동욱 CTO님의 링크드인 글을 보다가 '역설계' 책을 우연히 보게 되었다.소프트웨어 설계 관련 주제에 관심이 많았던 터라 '역설계' 책은 나를 향해 이렇게 말하는 것 같았다."이건 너를 위한 책이야! 소프트웨어 설계를 더 잘하고 싶다면 나를 읽어봐!"나는 책의 소원을 들어줬다.비록, 소프트웨어 공학에 관한 설계 내용은 아니었지만 이 책은 나의 인생책 중의 하나가 되었다. 이 책에서는 '아이디어'와 '탁월함에 이르는 길' 두 가지를 집중적으로 설명한다.완전히 새로운 아이디어보다 모방 + 경험이 접목된 아이디어가 더 실현 가능하고, 성공으로 이어질 가능성이 높다라는 점이다.탁월함에 이르기 위한 10가지 접근법을 이야기 하는데 가장 기억에 남는 방법은 '과거와 미래를 이용하라' 이다.과..
p.11회선 교환 방식과 패킷 교환 방식아날로그 방식의 유선 전화나 3G 방식의 휴대전화는 회선 교환 방식을 사용한다.회선 교환 방식은 통신하려는 양측을 연결하기 위해 하나의 통신 경로를 점유한 후 통신하는 방식이라서 기본적으로 일대일 통신만 할 수 있다.패킷 교환 방식은 주고받을 데이터를 작게 쪼갠 후 다른 데이터의 조각들과 통신 경로를 공유하며 전송하는 방식이라서 여러 상대와 통신할 때 효과적이다. p.54음성이나 동영상 데이터는 메일과 같은 테스트 형태의 정보에 비해 상대적으로 데이터 용량이 크기 때문에 통신의 신뢰성보다는 전송 속도에 우선하는 UDP를 사용하고, 전송 시에는 데이터를 압축하되 수신된 정보를 바로 재생할 수 있는 스트리밍 기술을 사용한다. 전송 중에 일부 데이터가 누락되더라도 신경 ..
p.2쿠버네티스는 예상하지 못한 애플리케이션의 종료에 대응하여 새로운 애플리케이션을 알아서 실행하는 셀프 힐링 기능을 제공해 주었습니다.이는 많은 엔지니어들이 가장 사랑하는 문제 해결법인 '잘 모르겠지만 일단 껐다 켠다.'를 자동화시켜 주었습니다."일단 껐다 켜!!"실제 업무에서 꽤 자주 사용하는 방법이다. p.6쿠버네티스 시스템의 구성은 매우 단순하게 표현하자면 '쿠버네티스는 마스터 노드와 워커 노드의 조합'으로 볼 수 있습니다.워커 노드는 파드 단위로 포장된 애플리케이션이 실제로 올라가는 노드이며, 마스터 노드는 kubectl apply와 같은 명령을 전달받아서 적당한 워커 노드를 찾아서 파드를 올리고 그 상태를 관리하는 노드입니다. 마스터 노드와 워커 노드를 모두 합쳐서 쿠버네티스 클러스터라고 지칭..
p.44왜를 아는 것이 가장 심오하고 강력한 형태의 지식이다. 왜는 무엇과 어떻게의 동력이기 때문이다. 정확한 정보를 바탕으로 주가가 왜 오르내리는지 알 때 투자를 결정하기가 더 수월하다. 어떤 사람이 특정 행동을 왜 하는지 알 때 그들을 더 잘 이해할 수 있다.인간 행동 이면에는 언제나 왜 또는 목표가 있다. 인간의 모든 활동에 목적이나 이유가 있는 것이다. 따라서 자신이 어떤 목적이나 목표를 선택하는지 명확하게 의식해야 한다. 그러면 방법은 저절로 나타나기 시작한다. 행동은 목적이나 목표를 따라가게 마련이기 때문이다. 의식적인 목표가 없다면 해야 할지 몰라 좌충우돌하며 혼돈에 빠지고 만다. p.5420년 후 미래의 내가 타임머신을 타고 되돌아와 오늘을 다시 살아볼 기회를 얻었다고 상상한 것이다.나는 ..
책을 통한 성장 방법은 세상에 이미 많이 알려져 있다.이 글은 그런 일반적인 성장 방법을 소개하려는 것이 아니다.아주 단순하면서도 확실한 성장 방법에 대해서 소개하고 싶었고, 많은 사람들이 책을 좀 더 가까이 했으면 하는 바램으로 글을 적는다. 결론 부터 말하자면, 책을 통해 내 삶에 '적용할 점'을 찾고 이를 실천하면 된다."별거 없네?" 혹은 "이미 알고 있는 건데?" 라고 생각할 수도 있다.그러나 이 "별거 없네?" 라고 생각하는 부분이 생각보다 행동으로 이어지기가 굉장히 어렵다.나 역시 행동으로 이어지기까지 꽤 오랜 시간이 필요했다. (30대 초반에 책을 꾸준히 읽기 시작했으니, 대략 10년 정도 걸린 것 같다.)10년이라는 시간동안 읽은 책들은 성장에 전혀 도움이 되지 않았느냐? 그건 아니다. ..
스프링 세미나에 다녀왔습니다.더운 날씨에도 오프라인 참석자가 꽤 많았는데요. 개발자분들의 성장 의지가 느껴지는 현장이였습니다. 저는 아래와 같은 세션들을 들었습니다.난 Spring에서 ML 서빙을 해봤어요Talk 1 - 개발자 커뮤니티올리브영 물류 시스템 개선기실전! MSA 트랜잭션 개발 가이드Talk 3 - 기술 Talk레일웨이 지향 프로그래밍과 스프링오프라인 세미나에 참석할 때마다 느끼지만 현장의 공기와 열기 그리고 열정을 체감할 수 있어서 좋았습니다.저도 덩달아 하나라도 더 배우고 싶다는 열정과 함께 나중에 기회가 된다면 발표자 분들처럼 많은 사람들 앞에서 발표를 해보고 싶다는 생각이 드네요.토요일에 세미나를 들으면서 몰입 할 수 있어서 감사한 하루였습니다. 난 Spring에서 ML 서빙을 해봤어요..
p.33여러 기능이 혼재되어 있고 여러 팀이 모놀리식 시스템 코드를 동시에 수정한다.개발 중인 코드와 운영에 반영할 코드가 혼재되면서 운영에 적용되면 안 되는 코드가 배포된 적이 있다.고객 이벤트 기능에 이상이 생기면서 간헐적으로 전체 시스템의 응답 시간이 일정하지 않다.모놀리식 시스템이 커지면서 배포 시간이 점점 증가한다.당장 서비스를 운영하는 데 큰 문제는 없다. 하지만 위험 신호가 관찰되고 있다. 이러한 위험 신호를 그대로 방치하면 머지않은 미래에 큰 장애가 발생할 가능성이 높다. 이렇게 가까운 미래에 해결해야 할 문제가 생겼을 때도 필요한 구현 기술을 학습해야 한다.장애가 발생하면 post-mortem 을 작성해야 하는 것 처럼 이상 신호가 발생되면 pre-mortem 을 작성해서 관리되어야 할 ..
내가 일기를 쓰기 시작한 해는 2010년, 와이프와 결혼한 직후부터이다.남편이 되면서 책임감의 무게가 달라짐을 느꼈고, 좀 더 성장하는 삶을 살아야겠다는 생각이 들었다.성장하기 위해서는 어떤 습관을 가져야 할까 고민했다.다양한 영역에서 성장을 도와주는 요소들이 있었고, 나는 '일기 쓰기'를 선택했다.글을 잘 쓰고 싶었고, 논리적으로 말하고 싶었기 때문이다.글을 잘 쓰는 사람을 보며 사람의 마음을 움직이는 글을 쓰고 싶었고, 말을 잘하는 사람을 보며 나도 저 사람처럼 논리적이고 이해하기 쉽게 말하고 싶었다.누군가를 닮고 싶다는 마음과 성장하려는 마음 사이에서 적절한 도구가 '일기 쓰기'였다. 일기장을 구매하고, 일기를 기록해 나가기 시작했다.컴퓨터를 많이 사용했기에 직접 손글씨로 일기를 쓰는 것이 다소 어..
p.11자신과 타인에 대한 긍정적 정보 처리를 통해 진정한 행복감을 얻기 위해서는 무엇보다도 다른 사람의 인정을 얻고자 갈망하는 중독상태에서 벗어나야 한다. 타인의 시선이나 평가에 지나치게 의존하는 상태에서 벗어날 수 있어야만 나 자신과 건강한 관계를 맺을 수 있다. 나 자신과의 관계가 건강해야 다른 사람과의 관계도 건강해지고, 그래야 긍정적 정서가 유발되며, 그래야 회복탄력성이 생겨난다.진정한 행복을 얻기 위해서는 타인의 인정이나 칭찬으로부터 완벽하게 자유로워져야 한다.자기 자신과의 관계가 가장 우선시되어야 한다. 그 다음이 타인과의 관계이다.타인과의 관계에 너무 의존하게 되면 자기 자신을 제대로 돌보지 못하게 된다.어떤 대상을 제대로 돌보지 않고, 관리하지 못한다면 더이상 성장하지 못하고, 정체 된다..
n8n 오픈소스 워크플로우 자동화 툴을 알게 된 건 MCP 학습을 하면서부터이다.삶의 다양한 영역에서 자동화를 심어 놓는 것을 좋아하는 나로써는 n8n은 새로운 관심거리였다.셀프 호스팅이 가능하고, 여러 가지 애플리케이션들과 연동 할 수 있다는 장점이 있다.집에서 NAS를 운영하고 있기에 바로 설치해 보았다.설치는 의외로 간단했다.docker 이미지를 다운로드 받고 실행만 하면 되었다.n8n 활용에 대한 지식이 부족했기에 강의 수강 신청을 했다.다양한 자동화 활용 예제들이 있었고, AI 연동을 통한 자동화, RAG 구성, MCP 연동에 대한 강의 내용들로 구성되어 있어서 재미있게 보고 있는 중이다.최근 들어 AI에 대한 활용 능력을 요구하고 있는 추세이다.특히 나의 직업(개발자)에서는 더더욱 AI를 활용..