본문 바로가기
가르침을 받은 것들

항해99 이범규 튜터님 실전프로젝트 피드백 기록

by Zabee52 2022. 2. 3.

기록

별도로 텍스트파일로 보관은 하고 있었는데 깜빡하고 업로드를 안 해서.. 여기에 한꺼번에 적는다.

 

21. 12. 28.

더보기

-----보고 내용-----

저희 8조의 컨셉은 2030을 타겟으로 한 신조어/옛 유행어 퀴즈풀이, 단어사전을 제공하는 커뮤니티 사이트입니다. 한국의 대표적인 위키 사이트인 나무위키의 서브 커뮤니티인 아카라이브가 부상함에 따라 위키와 커뮤니티가 접목된 형식의 사이트를 개발해 보고자 하는 의도로 프로젝트를 구성하게 되었습니다.

다음은 진행상황입니다.
디자인은 수요일까지 와이어프레임을 완성할 예정이며, 디자인 작업을 수행할 예정입니다.

프론트엔드는 API 명세표 기능 35개 중 18개 51% 완료했습니다.
프론트엔드의 이번 주 목표는 목요일까지 API 명세표상의 모든 기능을 구현하는 것이 목표이며, 웹 페이지 디자인 적용은 기능 구현 완료 시점부터 시행할 예정입니다.

백엔드는 API 명세표 기능 35개 중 29개 82% 완료했습니다.
남은 기능은 소셜 로그인과 메인페이지 및 마이페이지 관련 기능입니다.

추가로, 게시판, 용어사전, 댓글 기능 테스트코드 작성을 마쳤으며, 이번 주 중 소셜 로그인을 포함한 사용자 정보 테스트 코드를 작성할 예정입니다.

이번 주 백엔드 작업 예정 기능은 사용자 이용 통계를 분석하기 위한 시스템 구축, 정적 데이터 캐싱 및 조회수 등 일일데이터 결산을 위한 스케줄러 구현을 예정하고 있고, 작업이 모두 끝나면 추가로 용어사전 및 커뮤니티 게시판 게시글 검색 시 추천 검색어를 제공하는 기능 구현과 조회수 로직의 강화을 계획하고 있습니다.

이범규 튜터님 : 검색 로직도 강화해보세요. ElasticSearch 써보세요!

-----멘토링 내용-----

(팀장에게)아마 뒤에 가시면 기능 교류가 필요할거에요 셋이서 진도도 같이 확인을 하시고. 

(내용에 대해서) 와이어프레임, 제가 특별히 드릴 말씀은 없고, 화이팅! 여기는 이거 다 하면 돼요, 그냥.
 정말 솔직한 얘기를 하자면 엄청 어려운 기술은 없어요. 실시간으로 하는 이런 건 없는데 기능이 원체 많아서 이걸 만약에 다 만들면 그러면 이 팀 일 진짜 많이 했다 이런 느낌이에요.
 근데 컨텐츠를 만드는 시간이 필요할거에요. 팀원들이 모여서 다같이 해야 할 거에요. 3기의 MBTI팀이 있었는데 3기는 MBTI 퀴즈를 싹 긁어모았어요. 그래서 8조는 팀원들이 날 잡고 퀴즈란 퀴즈 각종 밈 다(모아야 할 거에요)..

 Q) 그래서 이런건 괜찮을 것 같다. 라고 기대되는 기능 있으세요? (A) 퀴즈라고 했어요)
 퀴즈는 단발성 서비스라 오픈행사 같은거라고 생각하시면 되구요, 사전 관련된 기능을 잘 만들어낸다면, 그래서 이 사이트가 대표적인 신조어 사전 서비스가 될 수 있다면 좋은 사이트가 될 수 있을 것 같아요.

 사전을 많이 참고해주세요. 나무위키와 사전은 조금 달라요. 사전은 그 뜻을 표현하기 위한 형식이 있어요. 유의어 반의어... 이런 것들을 잘 넣어서 신조어 사전으로써의 역할을 해낼 수 있게 한다면 큰 매력이 있는 사이트로 만들 수 있을 것 같아요. 그래서 그냥 너무 당연하게, 주영님 규화님 이 정도 되는 나잇대 분들이 10대가 쓰는 단어를 게임 하다가 들었는데 그 때 여기서 찾을 수 있다면 이건 최고일거에요.

진도에 대해서 : 속도는 나쁘지 않습니다. 궁금한거 생기면 바로 DM 주세요!! 화이팅!

 

22. 1. 4.

더보기

-----보고 내용-----

디자인
- 디자인 구성이 완료
- 프론트엔드와의 미세조정 필요

프론트엔드
- API 명세표 기능 4개 제외 전부 완료
- 뷰 작업은 19개 페이지 중 12개 페이지가 구현 완료
- 이번 주 목표 : 목요일까지 MVP 뷰 및 기능 전체 완료

백엔드
- API 명세표 기능 1개 제외 전부 완료. 남은 기능은 구글 소셜 로그인 기능
- travis ci를 이용한 배포자동화 체계 구축 완료
- 통계를 위한 정의 및 기능 구현 완료, 프론트엔드와 협업하여 11개 항목에 대한 통계 수집을 수행 예정
- ElastiCache를 이용한 정적 데이터 캐싱 수행
- 이번 주 목표 : nginx를 이용한 무중단 배포 구현, JMeter 이용한 기능별 부하 측정 및 효율화 방안 수립
- 남은 기간 목표 : 검색 성능 강화 적용, JaCoCo를 이용하여 테스트코드 커버리지를 체크, 80퍼센트 이상의 커버리지를 달성 목표.

현재 문제 : 배포자동화를 시행 시 간헐적으로 ec2 서버가 중단되는 현상 - 해결 방법을 찾고 있습니다.

백엔드와 프론트엔드 공통과제 : 통계 집계 구현을 위한 협업. 방문자수 체크를 위한 요청 지점 설정 등의 작업을 진행할 예정.

전체 공통 과제 : 사이트 내 오픈사전 기초데이터 삽입 및 퀴즈 컨텐츠 구성.


-----멘토링 내용-----

얘기할게 없는데?

공통 피드백
1. 로그인 뒤에 너무 많은 기능을 감추지 마세요 - 반드시 회원가입을 해야만 열람이 가능한 기능은 최소한으로 하세요.
2. 기술을 쓸 때, 알고 쓰세요 - 기술을 왜 쓰는지 알고 쓰세요. 기술면접에서 물어봅니다! 이게 뭔지, 왜 좋은지(다른 것들에 비해서) 정확하게 알고 쓰세요! 이것저것 다 건드릴 생각 하지 말고 좁게 쓰세요.
3. 트래픽이 높아지면 어떻게 할 지 고민하세요 - 많이많이 생각하세요. 그래야 더 괜찮은 코드를 만들 수 있어요. 엄청 중요합니다.
4. 보안을 고민해보세요.

 

22. 1. 11.

더보기

-----보고 내용-----

공통
- 저번 주 목표 : 기초데이터 삽입 - 120개 데이터 주입 완료. 추가 주입 예정
- 이번 주 목표 : 서비스 준비 완료. 마케팅 전략 수립

디자인
- 디자인 피드백 실시(페이지의 비어있는 느낌들) 및 개선 작업
- 이에 따른 서비스 개시 일정(이번 주 초) 연기 : 주말 ~ 다음주 중 서비스 개시 예정

프론트엔드-백엔드
- 통계 기능 준비 완료.
수집 대상 데이터

실제 운영에 참고할 수 있는 데이터
1. 방문자 통계 - Stat_Visitor 테이블 : 스케줄러 시간 지정 및 Autoscaling 미리 적용 가능
2. 게시글 조회수 증가 추이 - Board_viewers 테이블 : 캐싱에 사용될 수 있음(조회수 증가수가 줄어들 때까지 캐싱)
3. 사전 데이터 사용자 삽입 데이터 - Dict 테이블 : 직접 확인, 옛날 단어가 많으면 2030 타겟팅 검증 완료된 것.

일단 수집하는 데이터
1. 게시글 작성 수 - Board 테이블
    1. 게시글 삭제 수 - enabled 컬럼
    2. 게시글 수정 수 - Stat_board_modify 테이블
2. 댓글 작성 수 - Comment 테이블
    1. 댓글 지운 수 - enabled 컬럼
3. 회원 가입자 수 - User 테이블
4. 퀴즈 푼 사람 수 - Stat_Quiz_Solver 테이블
5. 사람들이 가장 많이 열람한 게시글 - Board 테이블
6. 가장 많은 좋아요를 받은 단어 - Dict 테이블
7. 사람들이 가장 많이 작성한 해시태그 - HashTag 테이블
8. 사전 작성 횟수 - Dict 테이블
9. 사전 수정 횟수 - DictHistory 테이블
    1. 가장 많은 수정이 있었던 단어 - DictHistory 테이블
10. 사용자가 가장 많았던 시간대 - Stat_Visitor 테이블
11. 사용자의 회원가입율 - 수집 가능하다면 좋겠지만 불가능하다고 판단될 시 생략.


프론트엔드
- 저번 주 목표 : MVP 뷰 및 기능 전체 완료 - 1개의 뷰 작업 남음
- 이번 주 목표 : 개선된 디자인 적용, 서비스 준비 완료
- 남은 기간 목표 : 페이지 성능 개선

백엔드
- 저번 주 목표 : 무중단배포 구현, 부하측정 및 개선 방안 수립 - 완료, 개선 방안은 지속적으로 수립 중

- 이번 주에 한 것
  - MySQL 전문검색 기능 이용한 검색기능 강화(성능 테스트 후 ElasticSearch 도입 고려)
  - 조회 기능 성능 개선 작업(부하테스트 대상) 진행중 : 현재 용어사전 기능 개선 완료
- 이번 주 목표 : 보안 처리, 테스트 코드 작성, 서비스 준비 완료, 이후 시간 남으면 부하 테스트 대상 기능 성능 개선
- 남은 기간 목표 : 검색 성능 강화 적용, JaCoCo를 이용하여 테스트코드 커버리지 체크, 80퍼센트 이상의 커버리지를 달성 목표.

-----멘토링 내용-----

프로젝트가 기존에는 단어사전이 많이 뾰족하게 느껴졌는데 지금 보기엔 그렇지 않다. 무엇을 하는 사이트인지 정확하게 명칭할 수 있는 기능이 없다. 특징이 많이 약해진 것 같다. 실전프로젝트가 아니라 미니프로젝트 같은 습작 느낌이 든다. 사전 기능을 극도로 강화해서 관련 유튜브 영상도 올릴 수 있게 하고, 유의어 반의어 예문 이런 게 있었으면 좋겠다. 재료는 이미 있기 때문에 생각을 해봤으면 좋겠다.
잘못하면 미니웹사이트처럼 보일 수 있으니 정체성이 확실하게 드러났으면 좋겠다.

공통) 면접에선 기능 써본 것보다 특정 상황에 대한 대응, 개선 등을 어떻게 했는지를 더 반가워한다.
ex)
1) 트래픽이 많아졌을 때 우리 서비스는 어떻게 대응해야 할지.
2) 접속자의 인터넷이 느리면 어떻게 해야 할지. ex) 글 작성중 인터넷 끊어지면 보관했다가 보내는 식으로.

 

22. 1. 18.

더보기

-----보고 내용-----

공통
- 저번 주 목표 : 서비스 준비 완료. 마케팅 전략 수립 - 미완료. 마케팅 전략은 밈 퀴즈를 아이템으로 SNS 광고 시행할 예정.
- 이번 주 목표 : 서비스 및 마케팅 실시

디자인
- 개선된 디자인 작업

프론트엔드
- 이번 주 목표 : 개선된 디자인 적용, 서비스 실시 및 성능 개선.

백엔드
- 이번 주 목표 : 성능 개선 작업, 테스트코드 작성
- 성능 개선 작업 상세 : 이미지 파일 용량 감소, 쿼리 호출 횟수 감소, 접근 횟수 많은 데이터에 대한 캐싱 적용 예정
- 남은 기간 목표 : JaCoCo를 이용하여 테스트코드 커버리지 체크, 80퍼센트 이상의 커버리지를 달성 목표.

-----멘토링 내용-----

조금 더 기술적인 부분이 필요할 것 같다. 예를 들어, 인터넷의 예문이나 이미지나 유튜브 영상을 자동으로 가져와서 보여주는 기능이 있다면 좋을 것 같다. 예문 듣기 기능도 있었으면 좋겠다(보이스웨어).
신조어 챗봇 - 신조어를 많이 사용하는 챗봇. 신조어 스파링 느낌의. 

공통 피드백
1. 홍보 할 때, 너무 열심히 할 필요는 없습니다. 사업하는게 아니기 때문에. 10~30명 정도의 이용자만 있어도 OK.
2. ~ 있으니 해보세요 보다, 개발잔데 ~ 해보고 피드백좀 부탁드려요 하는게 더 관대하고 좋은 피드백이 나옵니다.
3. 발표는 다음 주 금요일인데, 5분 정도로 할 겁니다. 질문 포함하면 7분 정도로 진행 될 겁니다.
 1. 우리는 이런걸 했습니다. 2. 시연 하겠습니다.(회원가입같은건 필요x) 3. 사용자들의 기록 4. 기술적으로 어려웠던 점 5. 해결 방법 6. 배운 점
4. 기술적 챌린지라는게 반드시 어려운 걸 말하기보단, 고생한 것 위주로 말하면 됨. 하지만 이게 CRUD 수준이면 안 됨.
5. 마지막 고민을 할 수 있는 시간이 있으니 고민을 많이 해보세요.
6. 신기술을 이용할 때(nginx, docker, Redis), 좁고 깊게 이용하는게 좋습니다. 꼭 써야하는가? 라는 생각을 해봐야 함. 이 부분에 대한 대답을 할 수 있으면 그 땐 쓰는게 좋음. 그리고 신기술보단 프로젝트 자체의 난이도가 높아지는것이 훨씬 좋음.
7. 제일 추천하는건 스트레스 테스트. 트래픽을 견뎌보고, 더 많이 견딜 수 있도록 강화하는게 더 어필하기 좋음.

 

22. 1. 25.

더보기

-----보고 내용-----

공통
- 이번 주 : 1. 23.부터 서비스 실시 했습니다.
- 서비스 내용 : 22. 1. 25. 11:35 기준 850명의 방문자, 51개의 피드백. 남은 기간 내로 적용 가능한 피드백 적용 예정.

프론트엔드
- 이번 주 목표 : 발표 준비, LightHouse 지표 증가 목표.

백엔드
- 추가된 기능 : 유튜브 연관동영상 가져오기 (Youtube Data Api v3 사용)
- 이번 주 목표 : 발표 준비, 테스트 커버리지 증대



-----멘토링 내용-----

7조 피드백)
코드컨벤션은 이야기하면 별로 안 좋아해요.
초보끼리 해봤자 별로 일리있지 않다고 생각하기 때문.
기술적인 챌린지 위주로 작성을 해주세요.
트래픽, 통신, 보안, 캐싱 이런 이야기를 하세요.

8조 피드백)
기술적인 챌린지를 최대한 구체적으로 설명하세요!
챌린지 선정의 방향은 괜찮은 것 같습니다.

공통 피드백)
(우리가 어려웠던) 도전에 대한 "구우우우체적인" 정보를 2개정도만 선정해서 말하는게 좋아요.
추가로, 사용자의 행동에 대한 "구체적인" 정보를 수집해서 어필을 하면 플러스알파 일 것 같아요.
8조 ex) 밈 퀴즈를 좋아하시더라(방문자 중 50% 이상이 다른 레벨의 퀴즈 풀이를 시도) + 사전은 어떤 연령대 이런걸 많이 조회 하시더라 .....


이제 발표준비를 하셔야하는데,
1. 시연 영상 찍을 때, 완성도 높게 찍으세요. 테스트 or 더미데이터 안 돼요!
2. 개념에 대한 설명 하지 마세요!(PWA란, nginx란 ...)

댓글