/WebStudio2019

Class of Art & Technology in Sogang university, 2019

Primary LanguageJavaScriptMIT LicenseMIT

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 한번 열심히 써보자!

추가: fork뜬 repository와 이 repository의 sync하기 (#15)

  1. original repository를 upstream으로 추가해주기 (link)
  1. sync 맞추기 (link)
  • git fetch upstream
  • git checkout master
  • git merge upstream/master
  1. 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형식으로 파일에 저장함

실습: flask_restful 라이브러리를 이용해 UserList 클래스를 구현하고 비번변경, 유저삭제 구현하기 (answer)

  • 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) 작성