This Month I Learned (2020.03)

This Month I Learned (2020.03)

그동안 개발에 대해 공부한 내용을 정리하고 싶은 욕심이 있었다.

요새 트렌드인 TIL(Today I learned)은 매일 작성하기에 부담이 되고 블로그에는 도배가 될 것 같아 필자는 TMIL(This Month I Learned)라는 제목으로 포스트를 작성해보려 한다.

한 달 내 관심있게 읽은 포스트나 학습한 내용, 참여한 개발 관련 컨퍼런스에 대해 간단하게 정리하여 리마인드를 하기 위한 용도로 작성할 예정이다.

1. React Native



웹 서비스를 만드는데 사용되는 React 문법을 기반으로 앱 개발이 가능하다는 매력을 가진 'React Native'에 대해 학습하고 예제 앱을 하나 만들어보는 시간을 가졌다.

여러 포스트와 영상을 참고하여 'The Movie DB' API를 활용한 인기 영화, TV 프로그램을 소개하는 'devFlix' 라는 이름의 앱을 개발해보았다.

관련 내용은 아래 저장소에 기록되어 있다.

꼭 한번은 사이드 프로젝트로 앱을 개발해보는 기회를 가져야겠다.

영화,TV 정보 제공 앱, devFlix (사이드 프로젝트)
https://github.com/dev4us/devflix_app

2. Dev-Matching in Programmers



동료 개발자로부터 새로운 개념의 코딩 테스트를 소개 받은 바가 있어 3월 14일(토) Dev-Matching 에 응시하게 되었다.

워낙 코딩 테스트로 유명한 Programmers에서 주최를 한 시험이기에 직접 응시장에 찾아갈 필요 없이 집에서 웹 IDE 환경을 통해 오후 1시부터 오후 5시까지 4시간에 걸쳐 시험을 치뤘다.

주제는 귀여운 고양이들의 사진을 검색 및 제공해주는 서비스를 사이드 프로젝트로 운영하고 있는 개발자가 갑자기 몰려드는 이용자의 수에 놀라 갑자기 본인의 서비스를 추가 개발, 유지 보수를 제한 시간 내에 해야 하는 내용이었다. (상당히 몰입된다..)

마크업, 스타일 정의에 대한 기본적인 퍼블리싱 요소부터 상태 관리, 재렌더링, 데이터 통신의 기본적인 개념까지 다양한 부분의 평가 문제들이 존재했다.

응시를 하면서 느낀 부분은 기존 알고리즘 위주의 수학 문제를 푸는 듯한 코딩 테스트로 평가하는 방식이 아니라 추가 기능 개발, 수정이 필요한 버그의 수정 가능 여부, 서비스를 위한 창작적인 아이디어를 기준으로 개발자를 개발로 평가할 수 있는 시험, 실무적인 경험과 노하우가 반영 되는 코딩 테스트와 같다는 느낌을 많이 받았다.

필자는 위와 같은 시험 방식에 호감을 느꼈으며, 프로그래머스에서 진행하는 같은 방식의 테스트는 계속해서 응시할 계획이다.

3. Crawling using JS (puppeteer)



최근 사이드 프로젝트 주제를 물색하다가 알구몬, 캐치딜과 같은 크롤링 정보 제공 서비스에 눈길이 간 적이 있다.

다양한 구매 정보 공유 커뮤니티, e커머스 사이트를 크롤링하여 유저들에게 제공하는 서비스로써 서비스 컨텐츠가 자체 수급되는 훌륭한 사이드 프로젝트 주제라고 생각했다.

그렇게 크롤링에 대한 학습을 시작했다.

크롤링 라이브러리 1순위는 당연 Python의 beautifulSoup라고 생각하고 있었지만, 이번 학습을 통해 Node.js 환경에서 Headless 방식으로 크롤링을 할 수 있는 puppeteer가 개발되었다는 소식을 접했다.

이후에 학습한 내용은 아래 기재한 저장소에 계속해서 예제를 작성해나가며 공부하고 있다. 또한 puppeteer에 대한 포스트를 블로그에 별도로 작성해볼 예정이다.

크롤링 학습 예제
https://github.com/dev4us/how-to-use-puppeteer

참고 포스트
puppeteer로 크롤러 만들기
서버 리스 네이버 검색어 가져오기
Headless Browser란?

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×