여니의 Side Project/인프런 - 리프 (파이썬 고급) 11

[인프런 리프 대학생 2기] 한 달간의 여정의 끝, 리프 활동 후기!!

약 4주간의 시간이 흘러,인프런 리프 대학생 2기 활동이 마무리되었네요 :) 한 달동안,모두를 위한 파이썬 강의를 들으며혼자선 공부하기 힘들었던깊은 부분들까지 다뤄볼 수 있어서 좋았습니다! 매주 미션 활동 후기글을 작성하고,수업시간에 배운 내용들을 나만의 언어로 정리하여개인 블로그에 차곡차곡 정리해두는 습관까지 기를 수 있게 되어서 저에겐 더 뜻깊었던 활동이었어요!! 처음에는, 파이썬 강의를 들으며개발 역량을 쌓는게 리프로 활동하며 제가 정한 목표였는데, 그 목표를 넘어서 다양한 경험들을 할 수 있었어요 깃허브 사용법도 서툴러서,엄청 헤매고 그랬었는데강의 내용들을 들으며같이 코딩해본 파일들을차곡차곡 정리해놓은 레파지토리를 보니까 세상 뿌듯하고,,깃허브 사용법도 제대로 익힐 수 있었어요!! 특히 PyPI에..

[인프런 리프 대학생 2기] Chapter4. 오픈소스 프로젝트(2)

나만의 패키지 만들기 PyPI 배포 (1) # 오픈소스 라이센스 체크 필수 :) MIT LICENSE [패키지 배포 순서] >> 필수 파일 1. README.md 2. setup.py 3. setup.cfg(optional) 4. LICENSE 5. MANIFEST PyPI에 배포하려면 아래와 같은 과정을 거쳐야 한다. anaconda 창을 켜서, activate 가상환경명을 실행하여, 가상환경을 실행시켜줘야 한다. 그리고 pip install twine을 입력하는데, PyPI 배포시 권장되는 twine을 이용해 배포한다! 그리고 업로드는 python -m twine upload dist/*를 입력하면 끝! dist 폴더 내의 파일이 업로드된다. ~~업로드 중 ~~ 배포가 성공적으로 이루어졌다! view..

[인프런 리프 대학생 2기] Chapter4. 오픈소스 프로젝트(1)

* 오픈 소스 사용시 장점 * 1. 개발 과정에서 개발 역량 향상 and 보유 스킬 능력 향상 2. In-house(집에서 혼자 개발)하는 것과 달리 수많은 디버깅, 개선을 통해 신뢰성 , 안정성이 높은 어플리케이션 도출이 가능 3. 바로 사용이 가능하다. 아키텍처 호용성과 고품질을 보장함 (클론해와서) 4. 문서 , 개선가능성, 지적재산권 (라이센스) -> 주의해야 함! gpl버전2, .... * 오픈 소스(사이드 프로젝트) 참가 장점 * 1. 답변, 기능추가, 사명감(누군가에게 도움이 된다.) 2. 다양한 이슈 해결을 통해 개발 역량 강화 3. 코드퀄리티, 알고리즘, 다양한 지식이 향상된다. 4. 구직시 합격 가능 매우 높다. 창업 시 좋은 팀원 셋업 가능성 향상 5. 이슈 등재를 통해서 문제 해결 ..

[인프런 리프 대학생 2기] 3주차(2) Chapter 3.1 Descriptor

Descriptor : 속성의 조회, 저장, 삭제를 커스텀할 수 있게 해주는 객체이다. __get__ , __set__, __del__ 3개의 메소드를 가지는 클래스! (self는 descriptor 클래스의 인스턴스) 동작에 따라 각 구현된 메서드가 호출되는 객체 매직 메서드 : 메소드 중에 __로 시작해서, __로 끝나는 메소드! 가장 유명한 매직 메소드의 예로는 __init__이라는 생성자가 있다. 생성자..? >> 객체가 생성될 때 파이썬 인터프리터에 의해 자동으로 호출되는 메소드를 의미한다. 변수 = 클래스() : 클래스의 객체를 생성한 뒤, 변수에 바인딩하는 과정이다. 변수() > ()를 사용하면, 클래스 내의 정의된 __call__함수를 부르는 것! 함수는 사실 'function' 클래스의 ..

[인프런 리프 대학생 2기] 3주차(1) | Chapter 3. Meta Class

Meta Class(1) 메타 클래스의 역할 - 클래스를 만드는 클래스이다. 메타 클래스를 구현하는 방법은 총 2가지 1. type을 사용해서 동적으로 클래스 생성 2. type을 상속받아서 메타클래스를 구현하는 방법 클래스의 정확한 의미부터 알아보면, 대부분의 언어에서의 클래스는 어떻게 객체를 생성할지 정의하는 역할을 수행한다. 하지만, 파이썬에서는 이보다 더 큰 의미를 가진다. ** 파이썬에서는 클래스를 객체로 생각한다 ** 클래스를 객체로 생각하면 뭐가 좋은가..? 객체이면 다양한 속성과 행동들을 부여할 수 있게 된다. - 클래스는 그 자체로 새로운 객체(인스턴스)를 만들 수 있다. - 클래스는 객체니까 출력도 가능하다. - 클래스를 함수의 인자로 넘길수 있다. - 클래스에 새로운 속성을 추가할 수..

[인프런 리프 대학생 2기] 2주차 미션활동

오늘의 강의 키워드는 Python Underscore, 접근지정자! 제가 인프런 리프 카테고리에 포스팅하는 게시글들은 강의 내용을 그대로 옮기는 것이 아니라, 강의를 들으며 추가적으로 조사한 내용들, 몰랐던 내용들, 강의를 들으며 중요하다고 생각하는 부분들을 위주로 정리해서 올리고 있습니다 :) 1. Packing 2. Unpacking 3. Naming mangling 4. 파이써닉 5. property 6. 접근지정자 7. 인스턴스화 1. Packing : 여러 개의 변수를 하나의 객체로 묶어주는 역할을 한다. print함수는 여러 개의 변수를 가변적으로 받을 수 있다. print('hello') print('hello','world') 위와 같이 인자의 개수를 유연하게 지정해주기 위해 파이썬에서는 ..

[인프런 리프 대학생 2기] 2주차 미션활동 | Context Manager Annotation

2주차 미션활동은 section2를 공부하고 포스팅을 하는 거에요! 하루에 강의 1개 분량이 약 20분정도니까, 하루면 금방 끝나겠네! 했는데,, 강의 듣고나서 모르는 부분들에 대해 추가 조사를 하다보니까 1개 듣는 것도 버거워요,, ㅠㅠ 모르는 내용이 끝없이 나오더라구요 그래서 학교 수업이 있는 날 제외하고는 꾸준하게 강의 1개 이상 들어보려고 합니다 :0 context manager는 일반적으로 파일을 잠그거나 해제하거나, 열려있는 파일들을 닫을 때 주로 사용한다. 최소한 context manager는 __enter__와 __exit__메소드를 가지고 있다. Contextlib : with문 컨텍스트를 위한 유틸리티 @contextlib.contextmanager > 이 함수는 클래스나 별도의 __e..

[인프런 리프 대학생 2기] 1주차 미션 활동 | Context Manager(1)

Context Manager : 원하는 타이밍에 정확하게 리소스를 할당 및 제공, 반환하는 역할을 한다. A context manager is an object that defines the runtime context to be established when executing a with statement. The context manager handles the entry into, and the exit from, the desired runtime context for the execution of the block of code. python에서는 context manager 프로토콜을 갖는 것을 권고한다. (for 원하는 타이밍에 정확하게 리소스를 할당하고 제거하기 위해) context man..

[인프런 리프 대학생 2기] 1주차 미션 활동 Python Advanced(1)

이번 게시글에서는 섹션 1 Python Advanced(1) 수업을 들으며, 내용을 정리해보려고 합니다 :0 섹션 1에서는 어떤 내용을 배우나 슬쩍 봐볼까요? 음 일단 제가 항상 헷갈려하는 람다함수가 끼어있네요 이번 기회에 제대로 공부해놔야겠어요 오 몇일 전에 자바스크립트 공부하면서 깊은 복사와 얕은 복사에 대한 게시글을 올렸었는데, 여기에서도 다루네요 :) 목차만 봐도 벌써부터 신나는 건 왜일까요..? 헤헤 본격적으로 수업을 들으러 떠나봅니다 01 Variable scope ( Scope, Global , Nonlocal, Locals , Globals ) (1) scope 파이썬은 JS의 scope 방식과 비슷하다. 파이썬에서는, if 문 안에 있는 변수를 함수 안에서는 어디서든지 호출이 가능하다. ..

[인프런 리프 대학생 2기] 1주차 미션 활동 (섹션0. 환경설정편)

1주차 미션은 섹션 0~ 섹션1을 듣고, 후기를 올리는 것!! 저는 섹션 0과 섹션 1을 분리해서 게시글을 작성해볼거에요 :) 섹션0에서는 개발을 하기 전에 해야하는 환경설정에 대한 내용을 다루고 있어요 저는 파이참으로 개발을 진행할 예정이라 오리엔테이션 강의를 듣고 수업 자료를 다운로드 받은 뒤에 바로 Google Colab + Github 실행방법 강의로 넘어갔습니다! Google Colab => 전에 접해본 적이 있어요! vscode나 파이참 같은 프로그램들을 다운로드 할 필요 없이 브라우저 상에서 개발을 할 수 있도록 되어있어요! Github(Ipynb) -> Colabd에서 즉시 실행이 가능한 장점도 있습니다 :0 colab.research.google.com/notebooks/welcome.i..