5주차 개발일지
1. Flask 프레임워크를 활용해서 API 만들기
무비스타 실습
- 만들 기능: 영화인 정보를 카드로 보여주기(Read)
- 화면에 보여지는 데이터
영화인 이름
영화인 이미지: img src
좋아요 개수
최근 작품
크롬 개발자도구에서 어떤 요소에 어떤 데이터가 있는지 확인 가능
- API 만들고 사용하기 - 영화인 조회 API (Read → GET)
👉 만들 API
- 조회(Read) 기능: 영화인 정보 전체를 조회
- 좋아요(Update) 기능: 클라이언트에서 받은 이름(name_give)으로 찾아서 좋아요(like)를 증가
- 삭제(Delete) 기능: 클라이언트에서 받은 이름(name_give)으로 영화인을 찾고, 해당 영화인을 삭제
하단의 코드를 이용하면 된다.
-
저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc) -
한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'}) -
여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False})) -
바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}}) -
지우기 - 예시
db.users.delete_one({'name':'bobby'}) -
클라이언트 부분은 이번에는 생략하겠다.
2. 내 프로젝트를 서버에 올리기
- AWS에서 ec2 서버 구매 후 접속
- 리눅스 주요 명령어
ls: 내 위치의 모든 파일을 보여준다.
pwd: 내 위치(폴더의 경로)를 알려준다.
mkdir: 내 위치 아래에 폴더를 하나 만든다.
cd [갈 곳]: 나를 [갈 곳] 폴더로 이동시킨다.
cd .. : 나를 상위 폴더로 이동시킨다.
cp -r [복사할 것] [붙여넣기 할 것]: 복사 붙여넣기
rm -rf [지울 것]: 지우기
sudo [실행 할 명령어]: 명령어를 관리자 권한으로 실행한다.
sudo su: 관리가 권한으로 들어간다. (나올때는 exit으로 나옴)
- 파이썬 파일 실행해보기
터미널에서
python 파일명
입력 - pip로 패키지 설치(예: flask)
pip install flask
입력 - 포트포워딩
80포트로 들어오는 요청을 5000포트로 넘겨주는 명령어
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
- nohup 설정하기
맥의 터미널을 종료하면 (=즉, SSH 접속을 끊으면) 프로세스가 종료되면서, 서버가 돌아가지 않는다. 하지만 원격접속을 끊어도, 서버는 계속 동작해야 하므로 nohup을 설정한다.
원격 접속을 종료하더라도 서버가 계속 돌아가게 하기
```
# 아래의 명령어로 실행하면 된다
nohup python app.py &
```
서버 종료하기 - 강제종료하는 방법
```
# 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
ps -ef | grep 'app.py'
# 아래 명령어로 특정 프로세스를 죽인다
kill -9 [pid값]
```
다시 켜기
```
nohup python app.py &
```
3. og 태그
- static 폴더 아래에 이미지 파일을 넣고, 각자 프로젝트 HTML의 < head >~< /head > 사이에 아래 내용을 작성하면 og 태그를 개인 프로젝트에 사용할 수 있다.
- og태그 넣기
<meta property="og:title" content="내 사이트의 제목" />
<meta property="og:description" content="보고 있는 페이지의 내용 요약" />
<meta property="og:image" content="{{ url_for('static', filename='ogimage.png') }}" />
- 변경사항이 있음에도 불구하고 이전 ogimae가 그대로 나올 때
페이스북/카카오톡 등에서 처음 것을 한동안 저장해놓기 때문.
페이스북 og 태그 초기화 하기: https://developers.facebook.com/tools/debug/
카카오톡 og 태그 초기화 하기: https://developers.kakao.com/tool/clear/og
이로써 5회차 수업이 모두 끝났다. 사실 나는 완전 쌩초보이기 때문에 2회독을 했는데, 아직도 모르는거 투성이에 완벽하게 이해하지 못하는 것들도 많다. 특히 서버-클라이언트 연결 작업은... 너무 어렵다. :(
연습 그리고 복습만이 익숙해 지는 길이니 계속 열심히 하자!!
Author And Source
이 문제에 관하여(5주차 개발일지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hyejin4169/5주차-개발일지저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)