기상 07:30
출석체크 및 공부 시작 08:10
- pymongo 활용해서 검색 기능 구현해보기 + 선배 기수 분들 미니 프로젝트 보고 참고하기
- Git Hub 사용법 공부 (인강 들어보기) Sourcetree로 커밋 후 풀하였음
점심 12:30 - 13:30
공부 13:30 - 20:40
- jinja2 문법으로 로그아웃 버튼 옆에 OO님 환영합니다! 문구 추가
- member 정보 받아오기
중간 멘토링 20:40 - 21:00
- 진행 현황 확인받고 궁금한 내용 생각해서 질문하기, 고민 많이 하고 질문하기
공부 21:00 - 23:30
회고록 작성 23:00 - 23:30
오늘은 크롤링하는 데 시간을 정말 많이 사용했다. 데이터의 기간을 표현하려는데 공백이 있어서 파이썬 문자열제거, 공백을 제거하는 함수인 strip(), replace() 등 많은 시도를 해보았는데도 결국 해결하지 못했다. 코드를 다시 확인하니 중간에 <br/> 태그가 있었다. 그 태그 때문에 공간이 생긴 것 같아서 <br/> 태그 삭제하는 방법도 구글링해 보았는데 돌고 돌아 replace() 함수를 사용하라는 답만 얻었다.
replace("", "") - 공백을 전부 제거하는 함수
, 를 기준으로 앞에 들어가는 내용이 바꾸기 이전의 코드, 뒤에 들어갈 내용이 바꾸고 싶은 코드를 작성하면 된다.
이렇게 혼자 끙끙 앓다가 결론이 나지 않아 조원들에게 도움을 청했다. 조원 한 분께서 코드를 보내주셨는데 그 코드를 넣으니 공백이 사라지긴 했지만 끝날짜만 출력되어 기간을 나타내는 데에는 사용할 수 없다고 생각했다.
그런데 다른 조원 분께서 그 코드를 넣고 DB에 저장을 해보았는데 공백이 없이 잘 나온다고 하셔서 다행이었지만 뭔가 조금 찝찝한 느낌이 들었다. ㅋㅋ 아무튼 그 모든 공백을 다 제거하는 코드는 다음과 같다.
.replace('\n','').replace('\t','')
크롤링을 해결하고 난 다음 검색 기능을 찾아봤다. 어제 찾아본 선배 기수들의 검색 기능 코드들을 쭉 봤는데 다 너무 다르고 내가 생각한 것보다 더 난이도가 있는 작업이라는 생각이 들었다.
구현 해야하는 기능은 검색창에 입력한 단어를 포함하는 제목이 있으면 DB에서 그에 해당하는 값을 찾고 저장된 데이터 중 제목과 이미지를 보여주는 기능이다.
우선 내가 생각한 것은 검색창에 input_text 라는 id 값을 주고 script에서 그 값을 지정한 다음 GET 방식으로 flask에 넘겨서 받아온 값을 DB에서 찾은 다음 일치하면 그에 해당하는 image와 title을 보여주면 되는건데, 지정한 값을 flask로 넘기는 방법을 모르겠고 DB에서 찾는 방법을 어떻게 구현할 지도 약간 막막하다. 밑에 쓴 코드는 선배 기수들이 한 코드를 보고 내 상황에 맞게 작성해 본 건데 맞는 지도 모르겠다 ㅠㅠ
@app.route('/search', methods=["GET"])
def search():
# find_title를 포함한 제목 찾아서 db에 저장된 image, title 보여주기
search_title = request.form['search_title']
if search_title is None:
all_musicals = list(db.musicals.find({}, {'_id': False}))
return render_template('index.html', musicals=all_musicals)
else:
search_musicals = list(db.musicals.find({'musical_title':{"$regex":search_title}},{'id':False}))
return render_template('search_main.html', musicals=search_musicals)
검색 기능을 구현하기 위해서 위에 쓴 코드와 같이 flask 방법도 시도해보고 javascript 방법도 시도해봤는데 jinja2 문법이 오류가 나서 실험해보지 못한 코드가 하나 있다. 어떤 분 말로는 그 방법은 db에서 data를 가져오는 방식이 아니라고 하셨는데 정확한 건 내일 강의를 들어보면서 차분히 실험해봐야 알 것 같다.
그리고 jinja2 문법 오류는
파일 > 설정 > 언어 및 프레임 > 템플릿 언어 > jinja2
이렇게 설정을 바꾸면 해결된다. ( 알려주셔서 감사합니다 ㅎㅎ )
아무래도 코드 짜는 데 진전이 없어서 더 속도가 뎌디고 금방 지치는 것 같은데 자꾸 안된다고 속상해만 하지 말고 놓친 부분은 없는 지 시도해보지 못한 내용은 없는 지 살펴봐야겠다.
그리고 오늘은 중간 멘토링이 있었는데 토이 프로젝트에서 배운 페이징을 보여드렸더니 이걸 사용하는 조는 처음 보셨다면서 놀라셨다. 그래서 굉장히 뿌듯하고 기분이 좋았다. 문제는 그 기능이 다른 기능 때문에 구현이 되지 않는 것이다. ㅎ,, 내일 해야할 일이 많지만 조급해하지 말고 차분히 해봐야겠다.
아 그리고 인터넷 🔥🔥🔥 진짜 미친듯이 렉이 걸리고 끊긴다ㅠㅠ 팀원 분들께도 너무 민폐같아서 죄송스럽다,,, 내일은 와이파이 있는 안방에서 공부해봐야지,,,, 내 방이 구도며 이것저것 편하고 좋지만 인터넷이 끊기는 건 참을 수 없어,,,,,,
이전 토이 프로젝트를 같이 하던 분들께 배운 게 참 많은데 나도 많이 많이 공부해서 도움을 줄 수 있는 사람이 될 것이다! 내일도 오늘만큼만 일찍 일어나고 공부 시작해보자!
'스파르타코딩클럽 > 항해99' 카테고리의 다른 글
항해99 6기 DAY 6 TIL _ 22.03.12 (0) | 2022.03.13 |
---|---|
📅 항해99 B반 10조의 일일 알고리즘 스터디 사이클 📅 (0) | 2022.03.11 |
항해99 6기 DAY 4 TIL _ 22.03.10 (0) | 2022.03.11 |
항해99 6기 DAY 3 TIL _ 22.03.09 (0) | 2022.03.10 |
항해99 6기 DAY 1 TIL _ 22.03.07 (0) | 2022.03.07 |