오늘은 팀프로젝트도 하지만 전에 했던 첫번째 프로젝트의 완료 및 정리를 해보기로 하였다.
하다보니까 느낀건데 왜 코딩을 처음에 완료했을때 되면 안되는지도 조금은 깨달았다..ㅋㅋㅋ
그게 운이었다니… 사실 잘못짠게 우연히 들어맞은거다 실수가 안들키고 성공으로 둔갑해서 더 큰 화로 다가왔다
뒤늦게 알게 된 점
- api기능에서 나는 url을 통한 라우팅 기능을 제대로 이해한 상황에서 짠 게 아니기에 지금의 내 의도대로 진행되는 이 웹서비스는 운(우연,실수)에 의한 한정적인 성공이라는 점…(그냥 url을 같은 이름으로 했는데 원래 그러면 안됐고 아직은 어떻게 해야 운에 의한 걸 실력으로 바꿀지 좀 더 공부해야한다.)
- 여기서 잠시 멈추고 배포한 이후에 다시 개발실력을 한 스택(라우팅, JWT, _id(mongoDB), jinja, ssr) 을 쌓고 다시 리팩토링 해야겠다.
- [x] 만화록 프로젝트 리팩토링하기
- [x] 파이참이 아닌 vscode로 옮기기(vscode에서는 터미널로 가상환경을 만들어 진행 with 구글)
- [x] 새로고침시 전체 카드 나오게 수정(with jinja)
- [x] 제거 기능을 따로 넘버를 두지 않고 개별적으로 버튼을 눌렀을 때 실행할 수 있게 하기
- 제거 기능을 확실히 구현하려면 라우팅 기능, JWT, _id와 좀 더 향상된 개발능력이 있어야 할 것으로 판단되어 유보하기로 했다.(순서대로 갑시다)
- [x] 만화록 남은 과정들 마무리하기
- 모든 과정들이 잘 마무리 되었지만 중간에 배경이미지가 안되고 jinja가 실행안되는 오류가 있었다.
- 구글링을 해도 나랑 비슷한 결과가 나오는 사람은 없었다.
- 그나마 이미지가 안나오는건 aws s3에서 cors이슈 때문이라는데 나는 s3도 아니었다.
- 거의 2시간 30분을 쏟은 결과 해결했는데 원인은 filezilla에서 옮길때 sparta폴더에 있는 예전 파일을 복사해서 그런거였다…….
- 진짜 해결하고나서 10분 동안은 “핰 하하 히히히..헤헤헿 난~ 참~ 바보처럼 살았군요~”하면서 계속 노래불렀다…
- 뭔가 오류가 났을때 구글링에 나와 같은 오류가 한 개도! 없으면 다른 오류를 의심하는 마인드를 갖자!
- [x] AWS 서버 세팅하기
- [x] 프로젝트를 AWS 서버에 올리기
- [x] nohub 설정하기
- [x] 도메인 연결하기
첫번째 프로젝트 링크 : http://banana-pjs.shop/
vscode에서 파이썬 실행
서론
- 나는 vscode가 더 익숙하고
- vscode가 범용성이 뛰어나며
- 앞으로도 vscode를 계속해서 써야하고
- pycharm은 이제 알만큼(?) 알기 때문에
python flask도 vscode에서 하기로 결정했다.
venv는 node-Modules와 비슷하다.
- 나는 가상환경이 엄청 안 익숙한 개념이었는데 어느 순간 보니
- 이거 완전히 npm의 node_modules랑 판박이이다.
- 하는 기능도 똑같다.
- 덕분에 어떤 기능인지, 어떤 목적인지 이해도가 확 증가했다!
과정
- 우선 터미널을 powerShell이 아니라 commend로 바꿔준다.
- python -m venv venv
- 만들어진 폴더중 Lib가 node-modules 역할을 하는 패키지 목록이다.
- 이후 [ Ctrl + Shift + P ] 키를 눌러 ">select Interpreter"를 검색해서 선택한다.
- 나는 만화록 프로젝트때 3.8(38)을 선택했다.
- 이후 터미널 창에 (venv)가 안뜬다면 터미널을 아예 없애고 다시 터미널을 실행한다.
- 가상환경을 끌때는 .\경로\deactivate.bat을 터미널에 친다.
- 킬때는 .\경로\activate.bat이다.
- 패키지 설치는 pip install ${패키지이름} 이고 pip list하면 설치된 목록을 볼 수 있다.
- python 파일 실행은 python [app.py](<http://app.py>) 같이 하면 된다.(app은 예시 파이선 파일이름)
새로고침시 DB정보 html에 띄우기(jinja)
- jinja문법을 사용하면 이 기능이 가능하다.
- 우선 벡엔드에서 return할때 render_temlate('index.html', cartoons_main(프론트에서 쓸 이름)=cartoons_main )
- 이렇게 해주고 html에서는 jinja문법으로 {% for cartoon in cartoons_main %} 이런식으로 for문을 돌려준다.
- 그 for문 안에서 원하는 정보는 json파일의 점표기법이나 브라켓표기법을 이용해 원하는 곳에 넣어주면된다.
- 넣을때의 문법은 {{cartoon['c_title']}} 이다.
'항해99' 카테고리의 다른 글
[항해99] TIL 사전과제 스터디 D-22 (0) | 2022.06.20 |
---|---|
[항해99] TIL 사전과제 스터디 D-23 (0) | 2022.06.19 |
[항해99] TIL 사전과제 스터디 D-25 (0) | 2022.06.17 |
[항해99] TIL 사전과제 스터디 D-26 (0) | 2022.06.16 |
[항해99] TIL 사전과제 스터디 D-27 (0) | 2022.06.16 |