Skip to content

dev-bookclub/software-design-by-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

📘 예제로 배우는 소프트웨어 디자인 - 스터디

이 스터디는 "예제로 배우는 소프트웨어 디자인" 교재를 기반으로 소프트웨어 설계의 다양한 원칙과 기법을 배우고, 이를 실무에 적용하는 것을 목표로 합니다.
매주 정해진 범위를 읽고, 학습한 내용을 토론하며 기록으로 남깁니다.


📖 스터디 개요

  • 교재: 예제로 배우는 소프트웨어 디자인
    • 원서: Design by Example
    • 저자: 그렉 윌슨
    • 번역: 김성원
  • 기간: 2025년 1월 6일 ~ 2024년 3월 19일
  • 진행 방식:
    1. 매주 정해진 범위를 읽고 요약 및 질문 준비
    2. 주요 주제에 대한 토론
    3. 학습 내용을 기록으로 공유

📖 스터디 룰

  • 각 챕터에 자신의 이름 폴더를 제작, 해당 폴더에 다양한 방법으로 학습 공유
  • 해당 작업분 PR 및 리뷰 진행(같은 조원 추가)

📌 팀원소개

kwonboryong sunjoolee yu-ratel ksh200070 5622lsk
img img img img img
hyun2 Kimkyungmin123 hoseokna eunjeong90 jadugamja
img img img img img

📅 스터디 일정 및 내용

1주차 (1/8)

  • 내용: 서문, CHAPTER 1(소개), CHAPTER 2(시스템 프로그래밍)
  • 주제:
    • 책 전체 소개
    • 기본적인 시스템 프로그래밍 개념
    • 디렉토리/파일 처리 로직 이해

2주차 (1/15)

  • 내용: CHAPTER 3(비동기 프로그래밍), CHAPTER 4(유닛 테스트)
  • 주제:
    • Promise와 async/await 개념
    • 비동기 에러 처리 기법
    • 테스트 구조 설계 및 분리 전략

3주차 (1/22)

  • 내용: CHAPTER 5(파일 백업), CHAPTER 6(데이터 테이블)
  • 주제:
    • 파일 백업 전략 및 파일 식별
    • 데이터 테이블 구현과 성능 테스트
    • 이진 저장 방식 이해

4주차 (2/5)

  • 내용: CHAPTER 7(패턴 매치), CHAPTER 8(표현식 해석하기)
  • 주제:
    • 정규 표현식 매처 설계
    • 쿼리 셀렉터 매칭 논리
    • 파싱(토큰화 → 트리 변환) 기법

**5주차 (2/12) **

  • 내용: CHAPTER 9(페이지 템플릿), CHAPTER 10(빌드 매니저)
  • 주제:
    • 템플릿 엔진 구조와 데이터 처리
    • 빌드 매니저를 통한 파일 변경 감지 및 빌드 프로세스

6주차 (2/19)

  • 내용: CHAPTER 11(레이아웃 엔진), CHAPTER 12(파일 보간기)
  • 주제:
    • CSS 레이아웃 계산 로직
    • 파일 내용 동적 삽입(보간) 메커니즘
    • 렌더링 최소 사례 분석

7주차 (2/26)

  • 내용: CHAPTER 13(모듈 로더), CHAPTER 14(스타일 체커)
  • 주제:
    • 모듈 로딩 및 네임스페이스 관리
    • 순환 종속성 처리
    • AST 기반 스타일 분석 및 코드 품질 관리

8주차 (3/5)

  • 내용: CHAPTER 15(코드 제너레이터), CHAPTER 16(문서 생성기)
  • 주제:
    • 코드 변환 및 삽입 기법
    • 함수 호출 빈도/시간 측정
    • 문서 주석 추출 자동화

9주차 (3/12)

  • 내용: CHAPTER 17(모듈 번들러), CHAPTER 18(패키지 매니저)
  • 주제:
    • 종속성 그래프 분석
    • 모듈 병합 로직
    • 시맨틱 버전 관리와 패키지 종속성 해결 전략

**10주차 (3/19) **

  • 내용: CHAPTER 19(가상 머신), CHAPTER 20(디버거), CHAPTER 21(결론)
  • 주제:
    • 간단한 VM 아키텍처 이해
    • 트레이싱 디버거 구현
    • 대화형 디버거 테스트
    • 전체 회고 및 실무 적용 방안 논의

최종발표 & 네트워킹 (3/29) 오프라인

  • 내용: �CHAPTER 1~20 중 택 1
  • 주제:
    • 인상깊었던 파트 발표

✨ 참여 방법

  1. 스터디 범위 읽기: 매주 정해진 범위를 읽고, 요약과 질문을 준비합니다.
  2. 토론 참여: 정해진 시간에 토론하며, 주요 내용을 기록합니다.
  3. GitHub 기록: 요약과 토론 내용을 PR 또는 Issue로 공유합니다.

📌 스터디 규칙

  • 성실히 참여: 매주 범위를 읽고 토론에 기여합니다.
  • 기록 남기기: 배운 점, 궁금한 점, 개선 아이디어를 기록합니다.
  • 질문하기: 이해가 어려운 부분은 GitHub Issue를 통해 공유합니다.

함께 읽고, 나누며 성장하는 스터디가 되길 바랍니다! 😊

About

'예제로 배우는 소프트웨어 디자인' 교재 학습

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published