- 강의 링크
https://academy.nomadcoders.co/courses/681401/lectures/12154590
- 이걸 보게 된 이유, 이 강의 첫인상
나는 나만의 첫 프로젝트로 파이썬 웹크롤링을 사용해서 학교의 프로그램을 받아오고 정리후 내 시간표의 공강시간에 알맞는 프로그램을 넣어주는 프로그램을 만들었다.
https://happyhyunwoong.tistory.com/37?category=1086415
물론 첫 프로젝트인만큼 수준이 정말정말 낮지만 그래도 직접 내가 해봤다는 것에서 여러가지 경험이 되었다. 그 이후에 듣는 제대로 된 웹크롤링 강의를 듣고 싶었다. 물론 첫 프로젝트를 할때는 유튜브, 책등으로 내용을 모아서 만든 것이였지만 모래성 같은 느낌을 많이 받았다. 이 강의는 어찌보면 내가 가장 먼저 들었어야하는 강의가 아니였나 싶다. 이 강의를 시작하게 된 결정적 계기는 '컴퓨터 사이언스 부트캠프 with 파이썬' 책을 읽기 시작하고 나서다. 이 책을 읽는데 실습과정이 많고 직접해보고 싶었기에 기왕하는 거라면 다 같이 하는게 좋을 것 같아 파이썬 강의와 책을 병행하게 되었다.
- 강의 정리
#0-1. About this course
- Django는 웹 프레임워크다.
#0-3. How to Ask for Help
- 좋은 질문을 하자
- 목적, 원하는 것, 무엇을 해봤고, 어떤 에러인지 알려줄 필요가 있다.
#0-3. Code python Online
- 온라인에서 프로그래밍 할 수 있는 사이트가 존재함
#1-1,1-2. List in python
- 파이썬은 두가지 리스트 방법이 있다. 튜플과 리스트.
- 파이썬을 사용하면서 다양한 내용은 이곳에서 확인이 가능하다. -> 나도 코딩하다 모르면 찾아봐야한다.
https://docs.python.org/ko/3/library/index.html
리스트 | 튜플 | |
많은 값을 정렬할려고 할 때/ 변경이 가능하다 | 리스트와 비슷한 일을 하지만 / 변경이 불가능하다. |
#1. Python language
- 파이썬의 기본문법을 다루고 있기에 여기서 내가 몰랐던 내용만 적도록 하자.
- is, is not ==,!=의 역할을 한다.
- 인자를 전해줄때 순서대로 전해주는 방법이 있으나 key argument라고 해서 직접 key에 값을 대입시키는 방법이 있다.
- 모듈을 사용해서 다양한 것을 할 수 있다. 모듈을 보고 뭐할지 생각해보는 것도 괜찮은 방법일 것 같다. 어쨌든 어떤 기능을 사용할 수 있어야 할 수 잇기 때문에.
- print 함수가 어떻게 무한히 인자를 받을 수 있는가?
#2-2. Navigating with Python
- urllib에서 할수도 있지만 requests 로 웹 크롤링을 진행한다. requests는 파이썬에서 요청을 만드는 기능을 모아놓은 것이다.
- html을 .text로 가져온다. 이렇게 많은 방대한 자료중 정보만을 추출하는 것을 beautiful Soup package에서 해준다.
- 이렇게 하면서 느낀게 이걸 알려주는 사람들은 자신이 누구한테 배워서 알아낸것이 아닌 사용설명서를 보고 쉽게 해석하는 것을 써놓은 것이라고 생각한다. 그러니까 나도 직접 사용설명서를 보면서 내용을 알 수 있고 그때가서 모르는 걸 찾아보는게 공부의 목표가 되지 않을까싶다.
#2-5. Requesting Each Page
- range함수는 그만큼의 배열을 만들어준다.
- HTML tag에 따라서 내용을 찾아주고 넣어주고의 반복이다.
#2-14, 2-15, 2-16. What is CSV
- python은 csv를 다루는 함수를 이미 가지고 있다.
#3-1. *args**kwargs
- 무한으로 argument를 받고 싶다면 두가지 방법이 존재한다. 1.*args로 무한으로 사용할 수 있다. 2.**kwargs는 keyword argument가 무한히 있다는 뜻이다. args는 튜플로 저장되고 kwargs는 딕셔너리처럼들어간다.
#3-2. Intro to Object Oriented Programming
- class는 설계도다. instance는 그 설계도의 결과물이다.
#3-3, 3-4. Methods part One, Methods part Two
- 모든 메소드는 instance를 첫번째 argument로 받는다.
- dir은 객체안에 있는 모든 것을 보여준다. 그중에서 __로 시작하는 메소드는 이미 파이선에서 만들어놓은 것이다.
https://happyhyunwoong.tistory.com/64
#3-3. Extending Classes
- 상속을 통해 다양한 클래스를 증가할 수 있다.
- super()는 부모클래스를 상속하는 함수
- 강의 총평
강의를 전부 듣고 크게 깨달은 점은 내가 직접 프로그램을 만들어보고 사용하면서 궁금한 것을 라이브러리 사용 설명서를 직접보면서 알 필요가 있다는 것이다. 이렇게 생각한 이유는 나는 누군가가 해놓은 내용을 따라하기만 바빴지 내가 직접 설명서를 볼 생각조차 하지 않았다. 특히 BeautifulSoup은 이걸 쓰면서도 왜 이렇게 되는지 많이 궁금했었는데 그 궁금증을 여기서 해결하고 이후로 궁금해질 내용들을 해결할 방법을 알게되었다.
강의는 역시 nomad coder답게 굉장히 듣기 편했다. 이번에는 vscode로 실습을 하지않아 코드가 남지는 않았지만 다른 프로젝트를 할수 있게 되는 계기를 얻은 것 같다. 예를 들면 Django라던지 좀 더 해볼게 많이 늘었다.
- 깃허브 링크
'Before 2020 > 프로젝트' 카테고리의 다른 글
Nomad Coder의 'React Native로 날씨앱 만들기' 강의정리 (0) | 2020.02.04 |
---|---|
Nomad Coder의 'ReactJS로 웹 서비스 만들기' 강의정리 (0) | 2020.01.21 |
Nomad Coder의 '바닐라 JS로 게임 만들기' 강의정리 (0) | 2020.01.16 |
Nomad Coder의 '바닐라 JS로 크롬 앱 만들기' 강의정리 (0) | 2020.01.14 |
생활코딩의 Git 과 Git hub - GIT 3 강의정리 (0) | 2020.01.12 |