본문 바로가기

Study116

[Study 020] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 스터디 주제 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (알렉스 쉬 저)오랜만의 스터디라 기대된다. '개발자 기술블로그 성장 공유방' 단톡방에서 두 분의 대화로 시작된 스터디이다. 일정 (진행중)~2025-07-211장 사용자 수에 따른 규모 확장성2장 개략적인규모추정3장 시스템 설계 면접 공략법4장 처리율제한장치의설계 ~2025-07-285장 안정해시설계6장 키-값저장소설계7장 분산시스템을위한유일 ID 생성기설계8장 URL 단축기설계 ~2025-08-049장 웹크롤러설계10장알림시스템설계11장뉴스피드시스템설계12장채팅시스템설계 ~2025-08-1113장검색어자동완성시스템14장유튜브설계15장구글드라이브설계16장배움은계속된다 2025. 7. 14.
LLM과 개발 책을 읽으며 든 내 생각 - 개발자식 하브루타 독서 목차 서론 하브루타란 친구와 함께 질문과 토론을 통해 사고를 확장하는 방식의 독서법이다. 이번엔 개발 관련 서적을 읽으며 질문과 토론을 통해 사고를 확장하는 친구로 LLM(ChatGPT 4o)을 선택해봤다. 방식은 다음과 같았다. 1. 한 챕터를 읽기전에 LLM에게 해당 챕터의 목차를 주고, 개발 관련 질문을 해달라고 했다.2. 한 챕터를 읽은 후 해당 챕터에 대한 내 생각을 말하고, 처음 받은 질문에 대해 답변을 LLM에게 한다.3. 마지막으로 내 답변에 대한 평가를 부탁하고, 더 깊게 얘기해볼만한 주제는 별도로 토론했다. “’주니어 백엔드 개발자가 반드시 알아야 할 실무 지식'을 읽고 떠오른 내 생각들” 글에서는 책을 읽고 내 생각을 그대로 적어봤었다. 이번에 읽은 ‘육각형 개발자’는 사실 목.. 2025. 7. 4.
'주니어 백엔드 개발자가 반드시 알아야 할 실무 지식'을 읽고 떠오른 내 생각들 목차 책 : 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 (최범균 저) 이 책에 대한 간단한 소감은 ‘읽은 책 소감 - 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식’에 있다. 기술 서적을 읽을 때 보통 스터디를 진행하면서 챕터별로 따로 정리해서 글을 썼었다. 처음 책을 구매할땐 목차만 보고 3일이면 읽을 거라 생각했지만, 생각보다 깊이 있는 내용에 매 장마다 내 생각을 정리하기 위해 손이 자꾸 노션으로 가게 되었고, 결국 10일 이상이 걸렸다. 읽으면서 드는 생각을 정리하다 보니 어느새 80페이지가 넘는 기록이 쌓였다. 이 글은 그 과정에서 챕터별로 맛있던 부분을 정리한 것 중 일부를 적어둔 글이다. 기존에 몰랐던 부분도 있었고, 기존에 직관적으로 그렇게 했으나 이번에 재확인 할 .. 2025. 5. 19.
[Study 019] 토비의 스프링 3.1 스터디 주제   토비의 스프링 3.1 Vol.1  참가자https://github.com/nahwasa외 6명 일정 (완료)1주차 - 2024-06-29 ~55p2주차 - 2024-07-06 56p~102p3주차 - 2024-07-13 103p~143p4주차 - 2024-07-20 144p~183p5주차 - 2024-08-03 184p~231p6주차 - 2024-08-10 232p~278p7주차 - 2024-08-24 279p~315p8주차 - 2024-08-30 316p~375p9주차 - 2024-09-21 376p~429p10주차 - 2024-09-28 430p~475p11주차 - 2024-10-05 476p~556p12주차 - 2024-10-26 557p~645p13주차 - 2024-11-02 64.. 2024. 11. 9.
[Study 018] Release의 모든 것 스터디 주제 'Release의 모든 것 : 대규모 웹 분산 시스템을 위한 운영 고려 설계'를 읽고 매주 모여서 토론 및 질문  참가자https://github.com/nahwasahttps://github.com/ohgillwhanhttps://github.com/woogiekimhttps://github.com/K-jun98  일정 (완료)1주차 2024-04-11 1장~3장2주차 2024-05-02 4장3주차 2024-05-09 5장, 6장(정리 해야함)N주차 2024-08-01 4부 완료  내용 정리[릴리즈의 모든 것] 1장. 운영 환경의 현실[릴리즈의 모든 것] 2장. 사례 연구: 항공사를 멈추게 한 예외[릴리즈의 모든 것] 3장. 시스템 안정화 2024. 8. 1.
[Study 017] 디자인 패턴의 아름다움 스터디 주제   디자인 패턴의 아름다움(완정 저)매주 정해진 챕터 각자 읽고와서, 게더타운에서 온라인으로 서로 토론 및 이해안되는 부분 질문. 혹은 뭐 추가로 설명할꺼 있으면 자료 준비해와도 됨 (추가 설명 예시 : https://nahwasa.com/entry/TDD-Mock-SOLID-얘기-도시-가스-요금-계산)  참가자https://github.com/nahwasahttps://github.com/mluluckyhttps://github.com/gwonsiyunhttps://github.com/daraekitahttps://github.com/covertOta 일정 (완료)1주차 2024-02-17 : 1.1 코드 설계를 배우는 이유 / 1.2 코드 품질 평가 방법 (전체적인 내용을 다루는 1장이다.. 2024. 6. 21.
[디자인 패턴의 아름다움] 6. 생성 디자인 패턴 스터디 메인 페이지목차- ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다.- 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다.  CHAPTER 06. 생성 디자인 패턴생성 디자인 패턴은 주로 객체 생성 문제를 해결하고 복잡한 생성 프로세스를 캡슐화하며 객체의 생성 코드와 사용 코드를 분리한다.싱글턴 패턴 : 전역적으로 유일한 객체를 생성하는 데 사용팩터리 패턴 : 같은 상위 클래스나 인터페이스를 상속하는 하위 클래스와 같이 비록 유형은 다르지만 서로 관련되어 있는 객체를 주어진 객체 타입에 맞게 생성하는 데 사용빌더 패턴 : 복잡한 객체를 생성하는 데.. 2024. 5. 17.
[디자인 패턴의 아름다움] 5. 리팩터링 기법 스터디 메인 페이지목차- ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다.- 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다.   CHAPTER 05. 리팩터링 기법리팩터링할 때는 코드의 나쁜 냄새와 설계 결함에 대한 통찰력을 기반으로 설계 원칙, 디자인 패턴, 코딩 규칙 등을 합리적이고 능숙하게 사용해야 하기 때문에 단순히 문제를 해결하는 것보다 코드를 리팩터링할 때 더 많은 능력이 요구된다. 5.1 리팩터링의 네 가지 요소: 목적, 대상, 시기, 방법목적리팩터링 : 코드에 대한 이해를 쉽게 하기 위해 소프트웨어의 내부 구조를 개선하는 것으로, 소프.. 2024. 5. 17.
[디자인 패턴의 아름다움] 4. 코딩 규칙 - 내용 정리 스터디 메인 페이지목차- ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다.- 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다.  CHAPTER 04. 코딩 규칙4.1 명명과 주석명명함수의 임시 변수와 같이 사용 범위가 비교적 작은 변수의 경우, a, b, c와 같은 짧은 이름을 사용할 수 있다. 하지만 전역 변수와 같이 범위가 큰 변수의 경우 긴 이름을 사용하는 것이 좋다.한눈에 설계 의도를 파악할 수 있기 때문이다.이하의 코드에서 굳이 위의 User 클래스처럼 user 접두사를 사용할 필요는 없다. 아래의 User .. 2024. 4. 24.
[디자인 패턴의 아름다움] 3. 설계 원칙 - 3.6~3.8 정리 (KISS, YAGNI, DRY, LoD) 스터디 메인 페이지목차- ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한대로 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다.- 모든 이미지의 출처는 디자인패턴의 아름다움(왕정 저) 책 입니다.  3.6 KISS 원칙과 YAGNI 원칙KISSKeep It Simple, Stupid코드를 단순하게 유지해라.적은 줄 수의 코드가 더 간단한건 아니다.e.g. 유효한 IP 주소인지 확인하는 함수1. 정규식으로 짜는 경우2. StringUtils 클래스와 Integer 클래스에서 제공하는 유틸리티 함수를 사용하여 처리하는 경우3. 직접 전부 구현하는 경우당연히 가장 짧은건 '1'이지만, 정.. 2024. 4. 24.