오늘은 풀스택 미니프로젝트를 했다. 해커톤으로 밤샘 작업을 했다. 오전 9시부터 다음날 7시까지 했는데 눈, 어깨, 목 안아픈데가 없다. 체력 좀 길러야겠다. 하루에 다 진행한 프로젝트였기때문에 오류, 충돌도 많았다. 진행하면서 겪은 문제들을 정리해보겠다.
문제점 : github에 서버파일을 업로드 해야하는데 app.py 본문 중 mongodb 주소에 아이디 비밀번호가 노출되어있어 가려서 올렸어야 했다.
시도 : mongodb주소를 txt로 저장해서 .gitgnore 에 추가하고 txt파일을 app.py에 불러오는 방식을 시도했다.
with open("mongodb.txt", "r") as f:
dburl = f.read()
from pymongo import MongoClient
client = MongoClient(dburl)
왓챠피디아 메타태그에서 타이틀을 크롤링해오면 제목뒤에 ' - 왓챠피디아'가 계속 붙어 거슬려서 지우려고 했다.
시도 : db에 title을 저장할 때 오른쪽에서 8글자를 지우면 되겠다고 생각해서
파이썬 글자 삭제로 검색하니 나온 rstrip을 활용해 .rstrip(8)로 하니 실패
해결 : 그래서 활용 방법을 검색하니 그냥 글자를 입력하면 될 것 같아서 .rstrip(' - 왓챠피디아')로 하니 성공.
알게된 것 : 검색해보니 안나오는게 없다..
템플릿을 쓰려고 하니 로컬에 있는 경로의 이미지파일이 html에서 인식을 하지 못했다.
시도 :
"/static/css/tv1.jpg"로 시도 해봤으나 실패
"/css/tv1.jpg"로 경로를 바꿔봤으나 실패
검색해보니 flask 서버를 돌릴때 저런 형식이면 html이 경로를 인식 못한다고 한다.
그래서 flask에서 쓸 수 있는 use_for 함수를 검색해 사용 해봤다.
해결책 : flask 에서는 css파일을 static 폴더에 우선 넣어야 한다. 그리고
"{{ url_for('static', filename='tv1.jpg') }}"
와 같은 형식으로 써야 해결이 되었다.
알게된점 : flask의 use_for함수. flask에서 경로를 적용하는 방법.
번외로 css 파일의 배경 태그에서는 같은 방식으로 문제 해결이 되지 않았다.
이 경우 이전경로 ../를 사용해서 ../tv1.jpg
로 해결했다.
밤샘 프로젝트는 처음인데 생각보다 할만 했지만 후유증이 컸다. 체력관리를 잘 해야겠다.
github 4인 연동시 conflict가 생각보다 많이 발생하고 관리가 힘들다.
branch 사용법에대해 공부를 좀 더 해보자
백엔드 4명이 모여 졸지에 내가 프론트엔드를 맡았는데 무료 저작권 템플릿을 사용했다.
시행착오가 많고 부트스트랩이랑 충돌이 생겨 원하는 만큼은 못나왔지만 나름 괜찮았다.
다음번에 이런 일이 있다면 미리 페이지를 구성하고 템플릿을 고른 상태에서 진행하면 쾌적할 것 같다.
참고 사이트 : html5 프론트엔드 템플릿