$.removeCookie is not a function
어제와 마찬가지로 이 부분은 해결되지 않았고, 이상하게 메인페이지인 index.html에서만 정상 동작되지 않았다.
로그인한 사용자는 마이페이지, 상세페이지, 메인페이지에 접근이 가능한데, 메인페이지가 아닌 나머지 페이지에서는 정상 동작이 되는데 메인페이지에서만 동작이 되지 않았다.
새로고침이 아닌 URL에 직접 메인페이지의 위치로 이동해도 해결되지 않았고, 이 부분도 1번처럼 쿠키/토큰의 문제로 보이는데 이것과 관련해서도 해결하지 못했다 :(
자동 증분과 관련해서는 사전프로젝트때부터 고민했던 것이다.
제일 베스트인 방법은 _id로 접근하여 자바의 객체의 주소(?)처럼 구현하는 것 같았는데 시간적인 부분이나 mongoDB에 대해 기본지식이 부족하다고여겨서 결국 항해 3일차에 적은 것처럼 메서드나 컬렉션으로 구현하는 방법을 생각하고 있었다.
cmt = list(db.comment.find({}, {'_id': False}).sort('cmtId', -1).limit(1))
if(len(cmt) == 0):
cmt = 0
else:
cmt = cmt[0]['cmtId']
doc = {
'reviewId': reviewId,
'cmtId': cmt + 1,
내가 생각해낸 건 고유한 값인 cmtId를 내림차순으로 정렬한 후에 처리하는 방법이었다.
처음에 if(len(cmt) == 0):
은 생각하지 않고 구현을 했는데 처음 구현했을 당시 데이터베이스가 빈 상태가 아니였고 이때는 정상적으로 동작했지만, 프로젝트 발표를 위해 미리 데이터베이스를 drop시키고 테스트 겸 데이터를 새로 넣은 경우에 에러가 발생했다. (이 에러는 팀원덕에 알게됐다... 멋지다 7조!)
원래 if문없이 cmt=cmt[0]['cmtId']
로 처리를 해줬는데 데이터베이스가 비어있는 경우에는 당연히 cmtId를 읽어오지 못하기에 오류가 났던 것이었다.
len으로 데이터가 없을 경우에는 cmt값을 0으로 설정해주어 해결했다.
어제도 이 부분에 대해 적긴했지만 commit안하고 pull했다가 작업한 내역들을 날려서 제대로 쓰지 못해서 다시 써본다.
이 에러는 매니저님이 보내주신 포스팅과 추가적인 설명으로 해결했다.
https://scribblinganything.tistory.com/391
단순히 url_for 링크의 매개변수에 따른 사용법?이지만 url_for의 첫 번째 매개변수로 url에 연결된 함수명 이 들어가야 하는데 이 부분이 제대로 매핑되지 않아서 발생한 에러였다.
내가 생각했던 건 첫 번째 매개변수가 /login처럼 요청하는 방식인줄 알았는데 함수명을 적어줬어야 했다.
근데 생각해보면 웹종합 플러스의 예시에서도 '/login'
이 아닌 'login'
이었기에 "메서드를 나타내는건가?" 라는 의심을 해봤어야 했다.
return redirect(url_for('getLogin', msg='로그인 정보가 존재하지 않습니다.'))
부끄럽지만 매니저님이 처음에 링크를 보내주셨을 때 msg를 잘못 처리해줘서 에러가 난 줄 알았다.
단순히 관련된 자료를 던져주고 알아서 하라고 하는게 아닌 잘 이해했는지 되물어주신덕에 해결한 것 같다.
오늘은 간만에 회고라고 할 수 있을 내용들을 써보려한다.
항해 시작하고 OT이후에 바로 시작된 미니프로젝트가 09.22(목) 18:00까지 구현완료해서 양식에 맞춰서 제출이었고 대략 5분전에 제출 완료했다.
처음이라는 거에 많은 어려움이 있었던 것 같다.
사전프로젝트와 달리 반드시 제출을 해야했고, 최대한 git을 사용해보자고 팀원간 다짐도 했기에 많은 어려움이 있었다.
팀원 모두가 git에 익숙치 않았기에 pull, push, merge등에서 정말 많은 conflict가 있었는데 서로 같이 머리 맞대고 해결한 덕분에 무사히 프로젝트 최종까지 merge를 잘 한 것 같다.
프로젝트 회고 발표에서 매니저님이 "git을 잘 사용했고,,,,"라는 말에 그간의 답답함이 눈 녹듯 사라진 것 같다.
뿐만 아니라 서로 모르는 건 질문하고 답해주고 최대한 소통하려고 노력했던 것 같다.
소통없이 git을 각자 했다면 아마 지금만큼 익숙해졌을까 하는 생각도 들었고, 프로젝트를 완벽히 구현해내지는 못했지만 이만큼까지 했을까 하는 생각도 들었다.
끝까지 소통을 잘 해주고 기분좋게 마무리한 팀원들에게 정말 정말 고맙다. 그리고 프로젝트가 발표가 끝난 이후에는 그간 시작이 없어서 못 나눈 사담도 나누고 조금 더 가까워진 것 같고, 단톡방도 만들었다...! +_+
파이썬, flask, mongoDB를 사전프로젝트에서 거의 처음 쓰다싶이해서 기본적인 것에 많은 어려움을 겪었던 것 같다.
코드의 중복도 많고 좋은 코드도 아닌 걸 알지만 아래는 우리가 진행한 미니프로젝트의 결과물이다.
https://github.com/K-SIIK/WECHELIN
fork를 했지만.. 최신화하는 걸 몰라서 임시로(?) repo의 주인인 팀장님의 GIT 주소를 남긴다.
-
이제 8시간이 지난 오전 9시에는 2주차에 대한 발제가 있을 예정이다. 이번부터 커리큘럼이 약간 바뀐듯 하다.
기존에는 프로그래머스 2,3단계를 풀면서 코딩테스트 위주의 커리큘럼이었다면 이번 기수부터는 프로그래머스 1단계정도를 풀면서 사용할 언어에 익숙해지는 커리큘럼으로 변경된 것 같다.
달리기 반과 걷기 반이 있는데 난 달리기반을 선택해서 하루에 얼마나 많은 시간을 과제 수행에 할애할지는 모르겠지만 시간이 나는대로 1주차에 계획했던 목표들부터 하나씩 지워나갈 예정이다.
오늘은 📌 Self Feedback
이 아닌 Feedback인 이유는 미니프로젝트에 대한 매니저님들의 피드백을 적어보려고 한다. 따로 녹화나 기록해두지 않아서 기억에 의존하기에 빠진 부분이 있겠지만,
당장에 프로젝트에 대한 피드백으로 기억나는 건 두 가지였고, 잘했다고 했던 건
발표를 마치고 피드백과 다른 조들의 발표까지 보고난 후에 우리 조의 팀플방으로 와서 팀원들에게 '칭찬은 언제 들어도 좋다..'라고 했더니 다들 피식했다.
결론적으로 사전스터디도,,, 1주차 미니프로젝트도,,, 좋은 사람들을 만나 너무너무 좋다.
내일부터는 새로운 조가 구성이 된다는데 이번에도 좋은 사람들을 만나면 좋겠다.
다시 또 힘찬 한 주가 되기길 🤜🤛