프로젝트 설명 및 회고
프로젝트 소개
깃허브 링크
진행 기간
- 2024.04.25 ~ 2024.05.12 (18일)
- 프로젝트 진행 과정 (링크)
주제
- "링커리어", "위비티", "씽굿"의 공모전을 한 페이지에서 확인할 수 있는 웹 제작
프로젝트 인원 구성
- 개인 프로젝트
활용 기술 및 프레임워크
- Frontend : HTML, CSS
- Backend : Django (5.0.4), sqlite
- Crawling : beautifulsoup (4.12.3), selenium (4.20.0)
- Data-Processing : pandas (2.2.2)
프로젝트 요약 및 기대효과
프로젝트 결과 영상
요약
- "링커리어", "위비티", "씽굿"에 게시된 공모전 데이터를 한 페이지에서 확인 가능하다.
- 검색 기능 및 추천 검색어 기능을 제공하여 필요한 공모전을 빠르게 탐색한다.
- 표시된 공모전을 클릭하면, 해당 공모전 사이트로 이동한다.
기대효과
- 세 개의 페이지를 따로 봐야 하는 불편함을 없애고, 하나의 페이지에서 확인할 수 있다.
- 검색을 통해 필요한 공모전만 확인할 수 있다.
KPT 회고
Keep
- 데브코스 1차 팀프로젝트에서 시각화 역할을 맡아 웹 페이지 구성은 일부만 진행하여 완벽히 이해하기는 힘들었다. 그러나 개인 프로젝트를 통해 django의 models / views / urls와 같은 구성 요소에 대해 이해할 수 있었고, 각 파일의 연결 방식을 익히며 사용에 익숙해질 수 있었다.
Problem
- 각 공모전의 데이터를 수집하다 보니 모든 공모전의 세부 사이트에 들어가야 했다. 그래서 스크래핑 시간이 생각보다 오래 걸렸고, 랜더링 시간에 따른 지연 시간을 통해 올바르게 데이터를 가져오도록 설정하였다.
- 링커리어 공모전에서 일반적인 형식이 아닌 날짜(상시 모집 등)가 존재하였다. 대부분은 일반적인 형식을 따랐지만, 10개 이내의 공모전이 올바른 형식이 아니었기에 예외 처리를 진행하였다.
- 페이지의 CSS를 변경해도 적용이 되지 않는 현상이 발생하였다.
Try
- 공모전 메인 페이지에 "D-34"와 같은 D-day가 적혀 있었는데, 이것을 활용하여 "~마감 날짜" 형식으로 제공한다면 세부 페이지 접속 없이 빠르게 스크래핑을 진행할 수 있을 것이다. 그러나 변경 없이 처음 생각했던 대로 "시작 날짜~마감 날짜" 형식을 사용하였다.
- 일부 날짜 형식이 "0000-00-00 ~ 상시 모집 중"이었기 때문에 마감 날짜가 존재하지 않을 경우 "-"로 저장되도록 예외처리 해주었다.
- 이전의 캐시를 통해 CSS가 적용돼서 변경되지 않는 것이다. Chrome 관리자 도구(F12) -> 설정 -> Network > Disable cache를 설정하면 캐시를 사용하지 않아 올바르게 CSS가 변경된다.
배운 점 및 아쉬운 점
배운 점
- 계획 단계에서 구현하고자 했던 기능을 모두 구현하였다.
- Django 기반에서 프론트엔드/백엔드 구현, 데이터베이스의 개념을 이해하였다.
- 데브코스에서 배운 것을 통해 스크래핑, 웹 페이지 구성을 직접 해본 것에 의의가 있다.
아쉬운 점
- 모든 공모전의 데이터를 가져오면, 사이트 당 약 30분 정도 걸린다.
- save.py를 다시 실행하더라도 같은 시간이 걸린다.
- 존재하지 않는 것만 가져오고 스크래핑을 종료하도록 만들면 시간 효율적일 것이다.
- 세부적인 사항보다는 생각했던 기능 구현을 우선으로 진행하였다.
- 빈 문자열, 공백 검색을 제한하지 않았다.
- 디자인보다는 각 요소를 페이지에 보여주는 것을 우선시하였다.
- 모든 코드가 올바르게 동작은 했지만, 모두 효율적인 코드라고는 할 수 없을 것이다.
- 배포는 고려하지 않았다.
'기타 > 회고록' 카테고리의 다른 글
[회고] 데브코스 3차 팀 프로젝트 (24.06.10 ~ 24.06.14) (0) | 2024.06.15 |
---|---|
[회고] 개인 프로젝트 - FC Online 공식 경기 분석 (24.05.25 ~ 24.06.05) (2) | 2024.06.08 |
[회고] 데브코스 2차 기간 (24.05.06 ~ 24.06.02) (0) | 2024.05.28 |
[회고] 데브코스 2차 팀 프로젝트 (24.05.13 ~ 24.05.17) (0) | 2024.05.20 |
[회고] 데브코스 1차 팀 프로젝트 (24.04.15 ~ 24.04.19) (0) | 2024.04.22 |