Web Studio 2019
(Class of Art & Technology in Sogang university)
1. git
목표
- git과 github가 무엇인지 알아보고 사용해보는 것을 목표로 둠
- remote repository와 local repository에 대해서 알아야 함
- 아래 명령어에 대해 무엇인지, 언제 쓰는지 알아야 함
- fork
- git clone <repository>
- git add <filename>
- git commit -m "<comment>"
- git push origin master
- git pull
- git fetch
- git checkout
- git checkout -b <branch_name>
실습: 자기소개 글 작성해서 PR 보내기
- git, github 한번 열심히 써보자!
#15)
추가: fork뜬 repository와 이 repository의 sync하기 (- original repository를 upstream으로 추가해주기 (link)
- git remote -v
- git remote add upstream https://github.com/sisobus/WebStudio2019.git
- sync 맞추기 (link)
- git fetch upstream
- git checkout master
- git merge upstream/master
- fork든 본인 remote repository와 방금 sync맞춘 local repository와 sync맞추기
- git push origin master
References
2. python, flask (1)
목표
- python의 기본 문법 알기
- variables, types
- list, dictionary
- if, for, function
- class
- file read, write
- virtualenv 사용하기
- flask 설치해서 실행해보기
- URI에 변수 받기
- 파일을 이용한 page visit counter 구현하기
- 현재 시각 보여주기
실습: flask web server를 실행시켜보고 브라우저를 이용해 접속해보기
- git 써서 PR하기
3. flask (2), flask_restful
목표
- URI와 HTTP 프로토콜, HTTP method 알기
- RESTful API가 무엇인지 알기
- URI로 자원을 표현하고, HTTP method로 자원에 대한 행위를 표현
- json 에 대해 알기
- flask_restful 라이브러리 설치해서 사용해보기
- 수업시간에는 회원가입을 함께 구현해봄
- RDB는 쓰지않고 json형식으로 파일에 저장함
answer)
실습: flask_restful 라이브러리를 이용해 UserList 클래스를 구현하고 비번변경, 유저삭제 구현하기 (- git 써서 PR하기
추가구현: bcrypt이용해서 비밀번호 암호화하기
- 구현해놓은거같은데 어디갔는지 사라짐 ;;
4. flask_restful
목표
- unique한 id에 대해 이해하기
- users.json 뿐만 아니라 articles.json, comments.json, likes.json을 통해 "관계" 이해하기
answer)
실습: 글쓰기, 댓글달기, 좋아요 기능 구현하기 (- git써서 PR하기
- tests.sh 를 이용해 손쉽게 테스트 할 수 있음
- flask web server 띄운 다음
- ./tests.sh 로 실행
- output.txt와 동일하면 잘 짠 것임
추가구현: id가 n인 글의 모든 댓글을 가져오는 api 작성하기
- /api/articles/5/comments : 5번 글의 모든 코멘트를 가져오라는 URI
- class ArticleHasCommentList(Resource) 작성