본문 바로가기

[CPython 파헤치기] 사실 Python은 C로 구성되어 있다 - CPython 구성 요소 살펴보기 해당 글은 도서 CPython 파헤치기 1-4장을 기반으로 작성되었습니다. Python은 아래 2023년 stack overflow survey의 결과에서도 보여주고 있듯이 많은 개발자들에게 사랑받고 있는 언어 중 하나이다. 실제로 업무에서나 다른 개발 작업을 할 때 내가 가장 주 언어로 사용하고 있는 것이 Python인데, 정작 이렇게 많이 사용하고 있으면서 내부 구조를 어떻게 구성되어 있는지 알지 못해 매번 궁금했었다. 그래서 이번 글에서는 CPython 파헤치기 관련 첫번째 글로, C로 구성되어 있는 Python의 전반적인 내부 구조와 문법에 대해 살펴보고자 한다. C로 구성되어 있는 Python 우리가 일반적으로 이용하고 있는, 공식 사이트 python.org에서 다운로드 받는 python은 C로..
[OSSCA] python-mysql-replication - 오픈소스는 어떻게 테스트를 진행하고 있을까? 개발을 하다보면 기능 구현에 집중하느라 정작 테스트 확인은 간과하게 되는 경우가 많았다. 이 정도면 괜찮겠지..! 하고 넘기면 며칠 뒤의 나에게 고통을 선사하게 되는 악순환을 겪게 되었다. 특히 오픈소스는 누구나 기여할 수 있다는 부분으로 인해 테스트가 더 중요하게 여겨질 것이라고 생각이 들었다. 그래서 이번 글에서는 python-mysql-replication 오픈소스에서 어떻게 테스트를 구현했는지 살펴보고자 한다. 또한 2023 오픈소스 컨트리뷰션을 통해 기존 테스트 구현 방식을 직접 개선한 부분에 대해서도 담아볼 예정이다. 지난 글 다시 보기 python-mysql-replication - 개념 이해하기 python-mysql-replication - RandEvent 구현하기 python-mysq..
[OSSCA] python-mysql-replication - UserVarEvent 구현하기 이전 2023 오픈소스 컨트리뷰션 python-mysql-replication RandEvent 기여 활동 글에 이어 두번째 기여 작업이었던 UserVarEvent에 대해 이야기해보고자 한다. (이전 RandEvent 구현 내용은 https://heehehe-ds.tistory.com/204에서 확인할 수 있다.) [OSSCA] python-mysql-replication - RandEvent 구현하기2023 오픈소스 컨트리뷰션 python-mysql-replication 첫번째 기여 활동으로 진행한 RandEvent 구현 과정에 대해 살펴보고자 한다. (python-mysql-replication 설명은 이전 글 참고 : https://heehehe-ds.tistory.com/203) [OSSCA]he..
[OSSCA] python-mysql-replication - RandEvent 구현하기 2023 오픈소스 컨트리뷰션 python-mysql-replication 첫번째 기여 활동으로 진행한 RandEvent 구현 과정에 대해 살펴보고자 한다. (python-mysql-replication 설명은 이전 글 참고 : https://heehehe-ds.tistory.com/203) [OSSCA] python-mysql-replication이란? 지난 7월부터 2023 오픈소스 컨트리뷰션 아카데미라는 활동을 통해 오픈소스에 직접 기여하는 활동을 진행하게 되었다. 2023 오픈소스 컨트리뷰션 아카데미 Open Source Contribution Academy www.contribution.a heehehe-ds.tistory.com Event란? 먼저 Event는 이전 글에서 언급했던 바와 같이 p..
[OSSCA] python-mysql-replication - 개념 이해하기 지난 7월부터 2023 오픈소스 컨트리뷰션 아카데미라는 활동을 통해 오픈소스에 직접 기여하는 활동을 진행하게 되었다. 2023 오픈소스 컨트리뷰션 아카데미 Open Source Contribution Academy www.contribution.ac 오픈소스라면 그저 사용할 줄 밖에 몰랐던 사람인데.. 아직도 내가 스타 2000개 넘는 repo에 PR을 올리고 merge 시켰다는 사실이 믿기지 않는다..!! 총 20가지 이상의 프로젝트 중 python-mysql-replication이라는 오픈소스 프로젝트에 함께 참여했는데, 이번 글에서는 먼저 해당 오픈소스가 어떤 것인지 다뤄보고자 한다. Python-mysql-replication 이 왜 필요할까? 먼저 python-mysql-replication (..
[Github] 효율적인 개발 프로세스 구축을 위한 필수템, Github Actions 매일 특정 사이트를 크롤링해서 데이터를 추출하거나, 수정사항이 있을 때마다 배포를 하는 등 특정 시간마다 주기적으로 실행시켜야 하는 작업들이 있을 수 있다. 이런 과정을 자동으로 할 수 있게 도와주는 CI/CD 툴들이 이전에도 Jenkins나 전설의 cronjob 등으로 존재했지만, 2018년 github에서 제공하는 Github Actions가 나오면서 판이 뒤바뀌기 시작했다. 이번 글에서는 따로 툴을 구축할 필요도 없이 repository와의 뛰어난 연동성을 지닌 Github Actions에 대해 살펴보고자 한다. CI/CD 란?CI/CD는 Continuous Integration & Continuous Delivery / Deployment의 약자로, 지속적으로 통합 및 배포하는 과정을 말한다. 테..
[Docker] Docker란 무엇인가? "어라 제 서버에서는 잘 돌아갔는데.. 왜 xx님 서버에서는 안될까요?😲" 웹 애플리케이션 등을 개발하다 보면 흔히 마주쳤던 상황이다. 분명 작업하던 서버에서는 문제 없이 잘 돌아갔는데 왜 다른 서버에서는 매번 환경 설정 문제가 발생할까? 그래서 존재하게 된 것이 바로 Docker, 도커라는 친구이다. 이렇게 고래가 컨테이너 박스를 등에 이고 바다를 떠다니는 모습이 로고인데, Docker의 역할을 알고 나니 정말 잘 표현했다는 생각이 든다. Docker란 무엇일까? (a.k.a 밀키트 조리) Docker는 chatGPT 친구가 말해주듯이, 특정 애플리케이션을 어느 머신에서나 똑같이 구현할 수 있도록 도와주는 "컨테이너(container) 기반의 오픈소스 가상화 플랫폼"이다. 어느 머신(서버)에서나 con..
[Git] fork 해 온 repository 내용 업데이트(pull) 하기 git remote add upstream "[fork 해 온 기존 repository url]" git fetch upstream git pull upstream main 참고 : https://stackoverflow.com/questions/3903817/pull-new-updates-from-original-github-repository-into-forked-github-repository