3. 기술적인 특장점 백엔드
서블릿기반 MVC 웹 프레임워크 자체제작
Model View Controller를 명확하게 추상화 하여 비즈니스로직 개발에만 집중할 수 있도록
RESTful API 를 제공해 여러 종류의 클라이언트를 지원
REST한 URL 을 정의하여 누구든지 주소를 통해 어떤 리소스를 가리키는지 알기 쉽고, API를
제공하기 때문에 웹서비스 뿐 아니라 모바일앱이나, 추후 Single Page Application 을 제작할
것을 대비하였다.
API와 서비스URL이 동일한 비즈니스로직 클래스 사용
API요청이 들어오든 서비스 페이지 요청이 들어오든 동일한 작업이라면 동일한 클래스가 작업
하도록 역할을 잘 나누어 불필요한 중복 클래스 생성을 최소화 하였다.
로그인 암호화 – 대한민국 10%
로그인 요청 시 암호화된 패킷전송(Secure Salted Password Hashing),
DB에 또한 해시 값만 저장
4.
5. 기술적인 특장점 프론트엔드
계층화된 모듈 프론트엔드 개발 (CAGE, WILDGOOSE, APP)
서비스에 종속되지 않은 언제든 재사용할 라이브러리들은 CAGE
우리 서비스 내에서 사용할 종속적인 UI 컴포넌트나 모듈은 WILDGOOSE
WILDGOOSE와 CAGE를 이용해서 우리서비스 코드를 페이지에서 실행하는 부분은 APP
유연한 Card형 UI
레이아웃 변경에 민첩하게 대응가능
반응형 디자인
하나의 페이지로 모바일과 PC를 모두 커버
순수 javascript 사용
프레임웍 의존성이 없기 때문에 확장성이 좋다.
꼭 필요한 기능에 대한 코드만 있으므로 적은 용량을 가짐
기반기술에 대한 깊은 이해를 습득가능.
6. 팀프로젝트에서 가장 잘 한 점
깃허브 이슈관리, 형상관리를 자율적으로 이용한 점
다른, 처음에는 트렐로를 이용해서 이슈를 관리하기로 했지만,
프로젝트를 진행하면서 깃허브연동 이슈관리의 장점(커밋메시지 이슈번호연동 등)을 체감하게
되었고, 자연스럽게 적극적으로 사용함
매주 회고를 통한 프로세스 개선
회고 후 문제상황을 해결하기위해 팀프로젝트 진행 방식을 새로 디자인
최적화된 짝 프로그래밍으로 작업효율 업!
다른 기술성향을 가진 두명이 같은 팀,
하루에 2시간동안, 서버와 클라이언트쪽 이슈 두개 처리,
오버 엔지니어링 방지, 시간 내에 처리를 못하면 자식 이슈 생성
10분 간격으로 역할교체를 통해 두사람이 한명 있건 처럼 코딩
꼭 필요한 문서를 빠르게 만들어 활용
후반부 리펙토링 URL 인터페이스 설계 문서 제작
7.
8. 팀프로젝트에서 가장 어려웠던 점
일정추산을 잘 못해서 이슈와 마일스톤이 지연됨
후반부로갈 수록 정해진 모습이 마일 스톤이 되기보다는 일정기준으로 마일스톤을 잡게 되어
매 주 마일스톤 마감일(데모일) 까지 어떤 기능을 완성해야된다는 것에 대한 위기감이나 책임감
이 없어져 아쉬웠다.
단위 테스트를 활용하지 못함
깃 이슈관리의 유용성을 깨달았을 때 처럼, 단위테스트가 없을 때와 있을 때 유용한 상황을 체
감해서 프로젝트에 활용할 기회가 없어서 아쉬웠다.
체계화된 리뷰 프로세스가 없었다
버그와 같은 이슈는 개발하면서 각자 발견할때 마다 등록해서 알아서 처리하는 체계였다.
품질 리뷰와 버그를 없애는 시간이 정해져 있었다면 좀더 시간을 절약할수 있지 않았을까?