Skip to content

Commit

Permalink
Merge pull request #38 from heehehe/8th-cpython
Browse files Browse the repository at this point in the history
[Python 제대로 알고 써먹기 - CPython 파헤치기] 1차 블로깅
  • Loading branch information
seriousran authored Mar 2, 2024
2 parents 6feddec + 365802a commit 930394f
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 0 deletions.
77 changes: 77 additions & 0 deletions _posts/2024-02-28-CPython.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
layout: post
title: "Python 제대로 알고 써먹기 - CPython 파헤치기"
author: 전희선
categories: [ 8기 아카데미 ]
image: assets/images/post/8th-builder/heehehe/cpython.png
---

안녕하세요! 가짜연구소 8기 "Python 제대로 알고 써먹기 - CPython 파헤치기" 프로젝트를 빌드하게 된 전희선입니다 :)
이번 글에서는 8기 동안 진행하게 될 CPython 프로젝트에 대해서 간단히 소개하고자 합니다.


## "Python 제대로 알고 써먹기 - CPython 파헤치기" 프로젝트 소개

데이터를 다루는 개발자로서 Python은 어떤 언어보다도 많이 사용하고 있지만, 정작 내부 구조는 잘 알고 있지 못한 채 쓰고 있다는 생각이 들었습니다.
이번 "Python 제대로 알고 써먹기 - CPython 파헤치기" 프로젝트를 통해
Python의 내부 구현체인 CPython을 파헤쳐 보면서 Python을 보다 효율적으로 사용하고 깊이 있게 트러블슈팅할 수 있도록 하고자 합니다.
더불어 내부 구조를 살펴보면서 CS 기초도 다져보고, 나아가서 추후에는 CPython 오픈소스에 컨트리뷰션할 수 있는 발판을 마련하고자 합니다.

## 빌더 소개

네이버에서 지식그래프 조회 API 구축 및 품질 검증을 진행하고 있는 전희선이라고 합니다 🤗
가짜연구소에서는 지난 5-7기까지 러너로서 [DE4E(Data Engineering for Everybody)](https://github.com/Pseudo-Lab/data-engineering-for-everybody)라는 데이터 엔지니어링 초심자를 위한 가이드라인 구축 프로젝트에 참여했습니다.
보다 자세한 소개는 [노션 링크](https://pseudo-lab.com/42c4991e1d8d4478891178f361ed64e2)에서 확인하실 수 있습니다 :)
- Linkedin: http://linkedin.com/in/heeseon-cheon
- Github: https://github.com/heehehe


## 프로젝트 목적

- **CPython의 내부 작동 원리 이해**: Python을 보다 효율적으로 사용하기 위해 Python의 내부 구조와 동작 원리를 깊이 이해하고자 합니다.
- **성능 최적화**: 메모리 관리, 병렬 처리 및 코드 최적화 방법 등을 배워 Python 프로그램의 성능을 향상 시키고자 합니다.
- **고급 Python 기능 마스터링**: Python의 고급 기능과 표준 라이브러리에 대한 깊이 있는 지식을 얻어, 보다 효율적이고 강력한 코드를 작성하고자 합니다.
- **문제 해결 능력 강화**: CPython의 구조와 원리를 이해함으로써 버그를 더 빨리 찾아내고 해결하는 능력을 향상 시키고자 합니다.


## 프로젝트 계획

"CPython 파헤치기: 따라 하면서 이해하는 파이썬 내부의 동작 원리" 도서를 기반으로 진행합니다.
주차별로 2명씩 담당하여 스터디를 준비하는 식으로 진행되며,
각자 담당한 챕터만 이해하고 넘어가는 상황을 최대한 지양하고자 아래와 같은 과정으로 진행해보고자 합니다.

1. **스터디 준비 (1-2주 전)**
- [발표자] 스터디 시간에 공유할 내용을 파악 및 정리하고, 관련하여 제공할 미션을 준비합니다.
- [스터디원] 스터디 내용에 대해 해당 챕터를 스터디 전에 미리 학습합니다.
2. **스터디 진행**
- [발표자] 발표 자료를 [노션](https://pseudo-lab.com/Python-CPython-eb832e65c4b1443ba3b9be8d5fc5883a?pvs=4#4b4c00a48b9444fd9bfed4f6e6ee97f5)에 정리하여 공유합니다.
- [스터디원] 발표 내용에 대한 질문 사항을 자유롭게 남깁니다. (slido를 통해 익명으로도 편하게 질문을 남길 수 있는 분위기를 만들고자 합니다😌)
3. **스터디 이후 (1주 이내)**
- [발표자] 발표 자료를 외부에 공유하기 위하여 https://github.com/Pseudo-Lab/CPython-Guide 에 업로드합니다.
- [스터디원] 발표자께서 준비해주신 미션을 수행하여 Github repo 등을 통해 제출합니다.

**[정기 모임 시간 & 장소]**
- 시간: 월요일 오후 9시 ~ 10시 30분 (온라인)
- 장소: 디스코드 / 오프라인
- 오프라인 모임은 월 1회 정도 진행되며, 수도권(강남 등)에서 모일 예정입니다. (모임 날짜는 1-2주 전 투표로 결정하고자 합니다.)

## 주차별 목표

날짜 | 제목 | 설명
--|--|--
2024/03/11 | OT & Chapter 1-2. 개발 환경 구성하기
2024/03/18 | Chapter 3-4. 컴파일하기 / 언어와 문법
2024/03/25 | Chapter 5. 구성과 입력
2024/04/01 | ~ 휴강 ~ | 빌더 사정으로 인하여 한 주 쉬어갑니다
2024/04/13 | Chapter 6. 렉싱과 파싱 / 오프라인 첫 모임 🤗 | 스터디 함께 진행하시는 분들과 처음 오프라인으로 인사 나누는 시간을 가지려고 합니다 😊 (모임 날짜 논의 예정)
2024/04/22 | Chapter 7. 컴파일러
2024/04/29 | Chapter 8. 평가 루프
2024/05/06 | Chapter 9. 메모리 관리(1) - 메모리 할당
2024/05/13 | Chapter 9. 메모리 관리(2) - 참조 카운팅 & 가비지 컬렉션
2024/05/18 | Chapter 10. 병렬성과 동시성(1) - 멀티프로세스
2024/05/27 | Chapter 10. 병렬성과 동시성(2) - 멀티스레딩 / 오프라인 중간 점검 👀 | 챕터 9-10이 특히 어려울 것으로 예상되어 오프라인으로 같이 중간 점검을 해보고자 합니다 🙂 (모임 날짜 논의 예정)
2024/06/03 | Chapter 11. 객체와 타입
2024/06/10 | Chapter 12-13. 표준 라이브러리 / 테스트 스위트
2024/06/17 | Chapter 14. 디버깅
2024/06/22 | Chapter 15. 벤치마킹, 프로파일링, 실행 추적
2024/06/29 | 회고 및 최종 리뷰 🥳
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 930394f

Please sign in to comment.