ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 사이드 프로젝트 회고
    회고 2022. 9. 9. 13:17

    안녕하세요.
    약 1년간의 진행했던 프로젝트를 종료하는 시점이 왔기에 회고를 작성합니다.
    글의 순서는 다음과 같이 정했습니다.

    1. 소개
    2. 이룬 점
    3. 배운 점 with 트러블 슈팅
    4. 느낀 점

    소개

    사이드 프로젝트의 시작은 비사이드라는 곳을 통해 시작했습니다.
    입장비를 지불하면 팀을 지어주고 14주간 프로젝트를 개발하게 됩니다.
    기획 2, 디자인 2, 개발자 4 (프런트 2, 백 2)

     

    주제

    처음 몇 주간은 프로젝트 구성을 준비하거나 사이드 프로젝트 주제를 정합니다.
    저희의 주제는 처음에는 여러 가지가 있었지만 결론적으로 식물 관련 커뮤니티가 되었습니다.

    저희의 주제는 식물 정보 커뮤티니가 되었습니다.
    기획부터, 디자인, 개발까지 14주 안에 만들어야 하기에 간단한 기능을 위주로 만들고자 했습니다.
    기능은 식물 정보 제공 + 게시판 기능 + 좋아요 + 검색 + 로그인 + 사용자 등급이었습니다.

    식물의언어

     

    이룬 점

    Google 애널리틱스
    어플리케이션 출시

     

    당신도 식(植)집사?..'반려식물' Z세대의 새 동반자

    ‘소확행’ 주는 식물재배, 인기 식을 줄 몰라 재테크 대상에서 일상 ‘힐링’ 상대로 변모 다양한 방식으로 사진과 재배법 정보 공유도 코로나19 팬데믹이 불러온 식물 키우기 열풍이 Z세대(1990

    v.daum.net

    기획자분들과 디자이너 분들의 홍보 덕에 사용자가 증가하였습니다. 다방면으로 홍보를 해주신 덕입니다.

    사용자가 많을 때는 한 달간 700명 정도의 인원이 사용하였습니다. 사이트에 머무는 시간은 짧았지만 자주 방문해 주셨습니다.

    안드로이드 애플리케이션(웹앱)으로도 출시를 했습니다. 기획팀에서 웹 사이트를 감싸서 앱을 만들어 주셨습니다.

    짧지만 인터넷 기사에도 소개가 되었습니다. 코로나 시기에 급상승한 식물 인기의 편승했습니다.

    그간 모은 데이터들은 다음과 같습니다.

    식물 정보 364건
    유저 117명
    질문 글 76건
    답변 226 건
    투표 364건

     

    배운 점

    사이드 프로젝트를 하며 팀원분들에게 많은 것을 배울 수 있었습니다.

    1. 배포 아키텍처


    처음에는 서버비를 아끼고자 애플리케이션과 젠킨스를 함께 띄웠지만 서버가 메모리 부족으로 자꾸 죽어
    프리티어 계정을 만들어 젠킨스를 분리했습니다.


    2. 트러블 슈팅

    서비스를 운영 개발하면서 만났던 이슈들을 정리하며 배운 점이 많았다.
    링크

    • 젠킨스 분리
    • 젠킨스 해킹
    • 검색 이슈
    • OOM 이슈
    • enum converter 이슈

     

    3. SEO 작업

    프런트는 vue로 동작하고 있습니다.
    SPA이기에 SEO에는 좋지 못합니다.
    이를 해결하고자 동적 렌더링을 도입하였습니다.(현재는 권장하는 방식 x)

     

    동적 렌더링 | Google 검색 센터  |  문서  |  Google Developers

    동적 렌더링을 사용하면 크롤러에서 자바스크립트를 처리할 수 있습니다. 동적 렌더링을 구현하는 방법과 검색엔진 최적화의 이점을 알아보세요.

    developers.google.com

    서버 측에서 크롤러에게 static 한 page를 뿌려주는 방식입니다.
    이를 통해 네이버 최상단, 구글 상단에 노출이 되었습니다.

    네이버



    4. test 서버


    스텝 2의 기획에는 피드 + 등급 세분화였습니다.
    prod 서버를 두고 새 기능을 test 하기 위해 test서버를 증설하였습니다.

    test서버는 낮은 사양으로 만들었으며 서버 스펙을 이미지로 만들어 쉽게 내렸다 올릴 수 있게 하였습니다.
    nhn cloud는 서버 스펙을 이미지로 만든 후에 인스턴스 스펙을 동적으로 정해서 인스턴스를 생성할 수 있습니다.


    스텝 2는 다른 사이드 프로젝트들이 그러하듯 동기부여가 떨어져 제대로 진행되지 못하고 프로젝트를 종료하기로 하였습니다.
    그래서 test 서버에만 스텝 2의 기능이 들어가 있습니다.



    test server

    나름 테스트 서버도 존재하여 prod에 배포 전에 테스트가 가능하였습니다.

    5. 언어

    처음 kotiln을 사용하게 되었습니다.
    java만 사용하다 kotiln을 사용하니 어색했지만 null safe 등의 기능을 편리하게 사용하고 있습니다.


    느낀 점

     

    매주 수요일마다 회의를 하며 오랜 기간 프로젝트를 진행하였지만
    이제 더 이상의 진행은 되지 않습니다.

    그래도 나름 진행하는 동안 많은 것을 배울 수 있었습니다.
    같은 백엔드 파트너분의 조언과 경험을 얻어갈 수 있어 좋은 시간이었습니다.

    혼자가 되었을 때는 하고 싶은 기술도입과 리팩터링을 경험할 수 있었습니다.

    • AOP와 디자인 패턴을 활용한 등급 기능 리팩터링


    다음 사이드 프로젝트는 프런트엔드로 도전해볼 생각입니다.


    '회고' 카테고리의 다른 글

    IT 커리어를 '서서히 망치는' 11가지  (0) 2022.10.24
    글또 회고  (0) 2022.10.10
    글또 다짐글  (2) 2022.05.04
    2021 회고  (0) 2021.12.31
    2021.10 월기  (0) 2021.11.14

    댓글

Designed by Tistory.