이 프로젝트는 실패한 프로젝트 경험에 관한 이야기입니다.
CRUD 클론을 할 땐 무심코 따라 코드를 쳤던 것들이었습니다.
예를 들면
기초적이지만 스스로 생각하면서 코드를 작성해야 알 수 있는 고민과 해별방법을 담았습니다.
기간 : 2020년 12월 04일 ~ 1월 31일
목표 : 지하철 근처의(1km)의 구인중인 가게 보여주기
방법 : 알바몬, 알바천국에서 크롤링해서 데이터를 가공해서 저장하기
진로에 대한 고민과 평소에 관심을 갖던 웹서비스 개발에 대해 알고 싶었습니다.
그래서 멘토님과의 대화를 신청하였고 제 아이디어 기반으로 서비스를 만들기를 권유 받았습니다.
42Seoul과제만 했던 저는 웹에 대한 지식이 단 1도 없었습니다.
다행히도 이호준 멘토님께서 무엇을 만들지 서비스를 어떤 덩어리로 분리 해야 할지
어떤 개념인지 하나하나 설명 해주셨습니다.
데이터를 정의하고 CRUD를 만드는 것
제가 그나마 알고 있던 웹 개발이 가능한 언어가 Go였기 때문에 Go로 만들겠다고 했습니다.
굳이 하겠다면 말리지 않겠지만 그럼 일단 해보라고 하셨습니다.
그땐 당장 새로운 언어를 배우지 않고 무언가를 할 수 있어서 좋다고 생각 했었습니다.
이호준 멘토님 왈 "일단 해봐 그럼 알아"
이때 알아차리고 제대로 했어야 했는데.. 그땐 죽어도 몰랐다. 그냥 Go언어를 싫어하시는구나 했다.
그래서 밥 아저씨의 클린 아키텍처 링크를 읽어보고 도입 하기로 했습니다.
-CQRS패턴을 넣기 위해 command/query 디렉토리를 나눴고, CQ를 포함하는 usecase.go를 만들었습니다.
제가 겪었던 문제점은 자바 스프링을 통해 학습을 했다면 풍부한 레퍼런스와 작성 규칙을 통해 자연스럽게
체득이 가능 했을텐데 초보자가 너무 돌아 돌아 알게 되었단 것을 알려주셨습니다. 위의 문제점은 고작 3가지 였지만 많지 않은 검색양과 블로그 글들로 알아야 했기 때문에 처음에 쉽사리 이해 할 수 없었습니다.
12월 04일부터 ~ 12월 17일까지 Go로 헤매다가 자바로 변경하기로 했다.
완강한 강의는 12월 17일부터 ~ 1월 10일 무려 3주 내내 들었습니다.
docs를 보고 시작하는게 좋을까 했는데 처음엔 docs로 공부하는게 어렵더라 그래서 김영한님의 인프런 강의패키지를 구매하고 강의를 들었다. Go로 하면서 대체 이게 뭐지? 왜 그런지 몰라서 답답 하던것들이 고민 했던 것들이 프레임워크에서 제공된다는 것을 강의를 통해 듣게되니 오호 너무 재밌잖아 하면서 강의들을
순식간에 완강해버리고 말았다 물론 순식간이라고 해봐야 한달동안 꼬박 프레임워크 강의만 들었지만 말이다!
20년차 웹/앱 서비스 기획를 따라서 리부트하기로 하였다.
지하철 기준으로 가게 정보를 중복없이 제공한다. 가게를 선택하면 오전/오후/저녁/새벽으로 구분된 구인정보를 볼 수 있다. 구인정보를 선택하면 상세한 구인URL로 연결된다.
# 2. 서비스 구조
처음으로 진행하는 프로젝트이기 때문에 내가 생각하는 MVP(mininum viable product)로 만들도록 한다. 지하철역, 가게정보를 바탕으로 필터링한 검색 결과를 제공하는 것이다.
아무것도 설정하지 않으면 전체리스트를 보여줍니다.
지하철역 기반으로 가게에 관한 것을 제공 하려면 무엇이 필요할지 생각해보았다. 생각보다 적은 양의 정보를 갖고 구현 할 수 있다는 것을 알 수 있다. 아니면 아직 내가 필요한데 생각하지 못한걸수도 있다.
진행하면서 정말 많은 문제점을 만났고 나름의 생각과 해결방안은 별도의 링크를 첨부하겠습니다.
아무래도 이 글에 적으면 너무나도 방대해지기 때문이죠.
Go로 크롤링 하는 예제를 따라 만들어 알바천국, 알바몬을 크롤링 했지만!!
결과는 IP차단을 당했습니다. IP를 차단 당한 다음에 알게 된 사실은 크롤링은 불법이라는 것!
이것도 차단당하고 멘토링 하던 중 알게 된 사실!! 그래서 이 비지니스 모델은 폐기!!
실망한 나머지 이 프로젝트는 여기서 마무리하기로 했습니다.
과정은 남겨두었지만 코드를 남겼어야 했는데 코드를 모두 지워버렸습니다.
나중에 알게 된 사실이지만 실패한 과정도 하나하나 모두 남겨두어야 한다고 멘토님께서 알려주셨습니다.
이 깃허브는 제가 몸무림 쳤던 흔적들만 남겨두도록 하겠습니다!! ㅠ0ㅜ