: 2021.04.01 ~ 2021.08.31
: https://github.com/YangTaeyoung/IBAS
- 개발 처음 해보는 사람들끼리 보여서, 굴러가는 서비스를 어떻게든 만들어보자는 취지에서 제작.
- 회원 관리, 게시판, 댓글, 강의, 스터디, 취미 모임, 소셜로그인, 마이페이지 등의 기능을 구현.
- 강의 CRUD, 수강생 관리, 출석 및 과제 관리 등 기능 구현
- 코드를 깨끗하게 작성하고자 하는 노력 ->
django form
을 공부하여 팀 내에 도입. [블로그 글 참고] - BaseFile 클래스를 상속받도록 하여 파일 처리
코드 중복 최소화
-> [블로그 글 참고] (django rest + vue.js)
댓글 부분만 vue.js 로 먼저 빌드한 다음에 django 에서 임포트하는 형식으로 ssr 구현. [블로그 글 참고]- javascript 로 사용자 입력 폼 validation 코드 작성
: 2021.09.01 ~ 2021.12.31
: https://github.com/InhaBas/Inhabas.com
- 서비스를 런칭하고 실제 발생하는 장애에 대응.
- 유지보수를 위한 아키텍쳐 고안 및 버그 개선
- 팀장을 맡게 됨.
- 효율적인 협업과 이슈 관리를 위해
github flow
도입 [당시 노션 공지] - 깃헙의 issue 와 discussion 기능을 활용하고자 함. jira 대신 issue 를 사용.
- 브라우저의 정적파일 캐시로 인해 수정된 파일이 업데이트 되지 않는 이슈 ->
static file name hashing
기능 추가 [블로그 글] - [새로운 아키텍쳐 고안] :
DB
,views
,권한
간의 의존성이 커서 유지보수가 힘듦 -> 파이썬으로layered architecture
구현. (링크) - [새로운 권한체계 고안] : 현재 권한 검사하는 로직이 여기저기 흩어져 있어서 유지보수가 힘듦 -> django 기본 권한 기능을 활용하는 방식으로 재설계하여
AuthUser
추가 - 어플 제작을 위한 rest api 서버로의 전환 결정 [블로그 글]
- 운영서버와 개발서버 분리 -> 개발 결과물을 미리 테스트
- (2021-09-13) 특정 페이지에서 파일에 접근 할 수 없다는 오류 -> uwsgi 메인 프로세스가 여러개 돌아가면서 발생했던 문제. [블로그 글]
- 기타 자잘한 버그 개선 및 기능 추가.
: 2022.01.01 ~ 2022.08.09
: https://github.com/InhaBas/Inhabas.com-api
- 어플 제작을 가능하게 하기 위한 rest api 서버 개발
- 기존 유지보수에 관한 고민을 녹여냄.
객체지향 설계 원칙(SOLID)
,layered architecture
,MultiModule vs MSA
,인증 코드 분리 -> 인증 모듈 개발
,DDD
,table 재설계
등 - 졸업준비로 더이상 시간을 낼 수 없어서 진행률 75% 정도에서 중단.
- 혼자 작성한 순수 알짜 코드량 2만 3천줄 이상, 개발 중에 갈아엎었던 코드 포함하면 약 3만줄 이상 코드 작성.
- 기존에
django
로 제공하던 서비스를layered architecture
+SOLID
+DDD
를 적용하여spring
으로 구현. - 모든
usecase(serivce)
와api endpoint(controller)
에 대한 테스트 코드 작성 - 인증 모듈 개발(Oauth2.0 구글, 네이버, 카카오 + JWT 토큰) (SpringSecurity 공부 글), (완성된 인증 모듈 docs)
- spring security 인가 관련 테스트 코드 작성 (spring security context 테스트용 모킹 어노테이션 등)
- 개발용 원격 db 접속 ssh tunneling 설정. [블로그 글 참고]
spring cloud config
를 통해서 운영환경별 설정파일 관리.github action
을 통한 배포 자동화.on-premise
에서aws
로 전환, savings_plan 적용하여 비용 절약- 게시글 관련 테이블 재설계 [블로그 글 참고]
swagger
명세 작성.- 백엔드 팀원 교육 [교육 자료]
(2022.01.11)
tls 인증서 적용 갑자기 안되는 문제 [블로그 글](2022.03.13)
로그인 관련 오류 [블로그 글](2022.03.14~15)
호환성을 고려한 소셜로그인 버그 수정 [블로그 글](2022.04.01)
mariadb 죽음 [블로그 글](2022.06.21)
cloudflare 관련 520 error [블로그 글 참고]