[스파르타코딩클럽] 8주간의 수업 회고

lee_dy·2020년 9월 3일
0

뉴스로 배우는 이탈리아어

1. 프로젝트 취지 및 설명

이탈리아어 전공자이지만 이탈리아어를 잘 못해서 매번 번역기를 달고 살았다. 나처럼 언어에 취약한 언어 전공자도 쉽게 원문을 번역하며 공부할 수 있는 친절한 번역 웹사이트를 만들어보고 싶었다.

뉴.배.이는 현지 뉴스 기사를 통해 사용자가 시사와 언어 공부 두마리 토끼를 한 번에 잡을 수 있게 도와준다는 취지하에 기획 되었다. 평소에는 어려워서 읽어볼 엄두조차 내지 못했던 해외 뉴스 기사들을 문단별로 차근차근 접근하며 나만의 번역노트를 만들 수 있는 기능을 제공한다.

2. 시연 영상

(영상 삽입이 되지 않는 관계로 설명으로 대체)

  1. 원하는 날짜와 카테고리를 설정하고 검색을 클릭하면 해당 기사 목록이 출력된다.
  2. 원하는 기사를 클릭하면 편집 화면으로 넘어가면서 해당 기사 내용이 출력된다.
  3. 편집 화면은 크게 기사 본문, 번역기, 입력기로 구성되어있다.
  4. 본문에서 원하는 문단을 선택하면 한/영 번역값이 출력되고, 사용자는 내용을 참고하여 직접 번역문을 작성할 수 있다.
  5. 번역 내용 입력 후 저장 버튼을 누르면 본문의 해당 문단 아래에 번역 내용이 추가된다.
  6. 번역을 마친 후, 출력 버튼을 누르면 본문과 번역이 입력된 최종 화면이 PDF 파일로 출력된다.

3. 사용 기술

  • 파이썬 웹크롤링 모듈
    : 뉴스 데이터, 번역 데이터를 수집하기 위해 파이썬의 웹크롤링 모듈들을 사용하였다. (Bs4, Requests, Selenium, newspaper .. )

  • NoSQL DB
    : 수집한 데이터들을 NoSQL DB인 MongoDB에 저장하고 관리하였다.

  • HTML & CSS 구축
    : 코드펜과 부트스트랩을 활용하여 기본 프론트엔드 화면을 구축하였다.

  • JS 동적 기능 추가
    : Jquery를 통해 기본적인 페이지의 동적 기능을 구성하고, 외부 라이브러리를 통해 PDF 추출과 같은 추가 기능들을 구현하였다.

4. 어려웠던 점 & 극복 방법

  • 오류의 끝이 없음
    오류를 해결하면서 프로젝트가 진행되는 것 같았다. 산 넘어 산, 오류 하나 해결하면 또 다른 엄청난 오류가 항상 기다리고 있었던 것 같다. 굉장히 막막하기도 했는데, 또 한편으로는 너무 막막하다 보니까 시간에 쫓기는 기분이 들어 더 부지런히 코딩하는 동기부여가 됐던 것 같기도 하다.

  • 얄팍한 지식의 한계
    FE와 BE 모두 지식의 깊이가 얇다 보니 뭐 하나 제대로 구현하지 못한다는 점이 좀 아쉬웠다. 구글링을 통해 이것 저것 시도해 보며 어떻게든 해결은 했으나, 지식의 한계로 원리를 파악하지 못해 주먹구구식으로 프로그래밍을 하고 있는 것 같았다. 프로젝트가 마무리되면 한 분야를 집중적으로 공부해봐야겠다는 생각을 하게 되었다.

5. 8주간의 수업 후기

사실 처음에 기획했던 기능들을 아직 다 구현하지는 못했다. 게다가 지금까지 구현한 기능들도 겉보기에는 괜찮게 돌아가지만 실제 코드들은 .. ㅎㅎ 내가 코드를 적으면서도 뭘 적고 있는지 모르겠었던 적이 한 두번이 아니었다.

그래도 평소 끈기 없고 뒷심 없는 걸로 유명했던지라, 결과물이 어떻든 일단 완성했다는 사실에 큰 의미를 두고 만족하고 있는 중이다.

0개의 댓글