본문 바로가기

전체 글56

[SLASH24] 토스 컨퍼런스 SLASH24 후기 이번에 열린 토스 SLASH24 컨퍼런스에 당첨이 되어서 다녀오게 되었다.같은 금융 도메인에서 종사하고 있기에 SLASH24를 통해서 많은 인사이트를 얻을 것을 기대하고 참석하였다.다양한 세션에서 많은 좋은 경험을 하게 되었다.SLASH24에서 경험한 세션 내용에 간략한 요악과 이번 컨퍼런스에 대해 느낀 점에 대해서 적어보았다.   웰컴 기프트 백 기프트 백은 무엇을 줬을까?이것부터 확인하고 들어가자.    입구에서 출입증을 만든 뒤에.좀 더 들어가서 기프트백을 주는 곳에 출입 목걸이를 보여주면 기프트백을 준다.  세일즈 포스 양말과 노션 아이템을 설문조사로 받은 것을 감안한다면, 생각보다 간단한 구성이다.우루샷 박스, 토스 간단한 스티커, nolimit 키링? 같은 것을 준다.(물도 한 병 주는데 다 .. 2024. 9. 19.
[Design Pattern] Flyweight Pattern - 플라이웨이트 패턴 그리고 Domain Model 플라이웨이트 패턴(Flyweight Pattern)은 객체지향 프로그래밍에서 메모리 사용을 최적화하기 위한 구조적 디자인 패턴이다. 객체를 효율적으로 공유하여 메모리 소비를 줄이는 이 패턴은 Gang of Four(GOF)에 의해 널리 알려졌다. 이포스팅에서 플라이웨이트 패턴의 구조, 그리고 도메인 모델에서의 활용 유무에 대해 정리를 해보았다.전에 디자인 패턴을 학습했지만, 플라이웨이트 패턴은 유독 기억에 남지 않는다. 🤣 3주 전 Eric Evans의 DDD 책을 읽다가 플라이웨이트 패턴(Flyweight Pattern) 관련 내용을 접하게 되어, 이를 정리하고 공유하고자 블로그 글을 작성하게 되었다.   Glyphs: Flyweight Objects for User Interfaces.Paul R... 2024. 8. 17.
[Book] 대화란 무엇인가(On Dialogue) - 대화에 참여하는 개인으로서 필요한 전제 대화의 참여하는 개인으로서 필요한 전제  데이비드 봄의 대화란 무엇인가 리뷰오늘 리뷰할 책은 전통적인 개발 서적은 아니지만, 협력에 큰 도움이 될수 있는 '대화란 무엇인가'입니다. 데이비드 봄은 대화를 통한 더나은 협력자가 되는 방법을 제시합니다.대화란 무엇인가 는 단순한 의사소통 가이드를 넘어, 효과적인 대화의 본질과 그 힘을 탐구하며, 복잡한 의사소통 문제를 해결하는 데 필요한 통찰력을 제공합니다.  서론책에 대한 글을 작성할 때 책내용에 관한 글 맨 서두에 메타포의 역할을 하는 글과, 이미지를 넣어 내용을 함축적으로 전달하려 노력해 보았다.콘웨이의 법칙(Conway's law)https://www.melconway.com/Home/Conways_Law.html Conway's LawIn 1967 I.. 2024. 8. 6.
[Book] 켄트 벡(kent beck)의 tidy first? TDD, 익스트림프로그래밍으로 유명한 켄트 벡의 신작 Tidy first? 가 출간 되었다고 해서 허겁지겁 가서 책을 구매 후책에 대한 리뷰를 이제야 남긴다.Tidy first는 앞으로 켄트백이 생각하는 시리즈의 첫 권이다.  책의 이름과 구성책의 제목 책의 이름은 물음표로 끝나는 의문형인데.Tidy First?tidy (adjective)arranged neatly and with everything in order- oxford dictionary -코드를 깔끔하게 정리하는 것을 먼저 할 것인가?라는 제목으로 책내용을 일부 유추 해 볼 수 있다.(tidy라는 것이 깔끔한 정리된 상태를 의미하는 것을 이번에 처음 알았다.) 구성1. 본권 part1 코드 정리법part2 관리part3 이론part4 문헌.. 2024. 6. 6.
[Gradle] Jib Build 에 대해서 알아보자 Gradle Jib Build를 활용한 Image Build를 Jenkins를 활용해서 사용하고 있다. Jib을 활용한 Image Build가 갖는 장점과 속도점 이점에 대해서 한번도 확인해 본 적이 없어서 이번 기회해 한번 정리하면서 확인해 보았다. Jib 이란? Jib은 Docker 데몬 없이 Java 애플리케이션을 컨테이너화하여 Docker Hub, Google Container Registry 등 원하는 레지스트리로 직접 푸시할 수 있는 Gradle 및 Maven 플러그인. 애플리케이션을 빌드함과 동시에 컨테이너 이미지를 생성하고 푸시까지 할 수 있게 하여, 빌드와 Dockerfile 작성 과정을 단일화하는 파이프라인을 제공. 간략하게 미리 보는 Jib 의 주요 장점 1. 간편함(Simple an.. 2024. 3. 31.
[회고] 늦었어도 돌아보자! 2023 회고 2023년 12월 꽉 찬 3년 차 개발자 그리고 2024년 이제 4년 차 개발자가 돼버린 지금 작년을 돌아보지 않고 올해를 맞이할 수는 없다. 2023년 나는 무었을 했고 어떤 것을 느꼈으며 나는 앞으로 무엇을 하고 싶은지 알아보자. (남들이 다하는 2023 회고 나도 한다!) 개발자로서 2023년 한 해 한 일 2023년 개발자로서 한 일은 세 가지로 정리가 가능할 것 같다. 1. MSA 제품을 Monolithic으로 전환하기 2. Monolithic 제품 내에 있던 MSA 화된 DB 구조를 Monolithic 하게 변환하기 3. 이직(참고로 필자는 보라색을 좋아한다) MSA 제품을 Monolithic으로 전환하기. 이전 회사의 솔루션은 MSA 환경을 가정하고 확장을 고려해서 만든 솔루션이 었다. 문제.. 2024. 1. 28.
[Cipher] AES(Advanced Encryption Standard), Block Cipher Mode 평소에 AES128, AES192, AES256을 구별해서 사용하지 않고 Java Private Key를 활용해서 자주 암호화 로직에 사용하고 있었다. AES에서 ECB를 사용하는 것은 권장되지 않고 initialization vector 즉 IV를 활용한 CBC를 활용해야 한다 정도만 알고 있었고 보통 CBC Mode에서 AES를 활용해 왔던 것 같다. 하지만 Block Cipher 모드가 많고 각각 모드별로 취약점과 장단점이 존재하기 때문에 정리를 하게 되었고 그 과정에서 고려사항들을 다시 한번 잘 확인하는 계기가 된 것 같다. AES 란? AES (Advanced Encryption Standard)는 대칭 키 암호화 알고리즘으로, 데이터를 안전하게 암호화하고 복호화하는 데 사용됨. AES는 ISO.. 2023. 12. 2.
[Book] 육각형 개발자 최근 트위터에서 많은 개발자 분들이 보시기도 하고 리디 북스 내에서 책 순위도 높았던 육각형 개발자라는 책을 보게 되었다.해당 책을 보면서 느꼈던 점들에 대해서 글로 남겨보려고 한다. 10가지 역량시니어 개발자로 성장하기 위한 10가지 핵심 역량  위 책은 훌륭한 시니어가 되기 위해서 10가지 핵심 역량을 갖춰야 한다는 것으로 시작한다. 그중에서 공감이 됐고 좋았던 챕터들만 간단 요약하며 해당 책에 대한 마지막 리뷰 문장을 작성하면서 끝맺음하려고 한다. 유지 비용 낮추기개발자라면 유지보수를 피해 갈 수는 없다. 유지보수 비용이 아에 발생하지 않을 수는 없으며 해당 비용을 최대한 줄이는 방식으로 개발을 진행해야 한다. 결국 유지보수 비용이 적게 들려면 코어는 두가지라고 생각한다. 1. 변경으로 인한 영향에.. 2023. 8. 27.
[Minikube] Minikube Stop And Start 시 helm 배포 Pod 유지 않되는 현상 Minikube 재시작 시 자원 삭제 문제가 있었고 그에 따른 해결 방법을 혹시나 같은 이슈로 방안을 못 찾는 분들을 위해서 글을 짤막하게나마 남겨두려고 합니다. 상황 M1 Mac 환경에서 Minikube와 helm 을 이용해서 개인 프로젝트 용으로 postgresql, mongodb, redis를 배포하여 Local Cluster를 구축하고 있었습니다. k9s를 통해서 보면 위와 같이 정상 배포된 것들을 확인할 수 있습니다. 문제점 helm 차트도 잘 관리되고 배포도 잘되고 실제로 떠있는것도 잘 떠있는데 문제는 Minikube Stop 후 Start를 하면 Pod들이 유지가 되지를 않았습니다. Minikube를 Stop 하고 Start 만 하면 K9s에서 helm 으로 배포된 Pod들을 확인할 수가 없.. 2023. 8. 24.