FriendShip은 외국인과 한국인간의 소통을 위한 창구를 제공하기 위한 서비스입니다.
일주일에 두 번의 매칭을 통한 3일간의 채팅, 게시판 기능을 제공합니다.
-
GooglePlay URL : https://play.google.com/store/apps/details?id=com.aliens.friendship
-
AppStore URL : https://apps.apple.com/kr/app/friendship/id6466155577
Programming - SpringBoot 3.2.1, Gradle
Database - MySQL, MongoDB
Server - AWS S3, AWS rds mysql
Notification - Firebase Cloud Messaging (FCM)
- FriendShip의 채팅은 어떻게 이루어지나요?
- 매칭 로직 개선하기 : 79.2%의 성능 향상
- 테스트 시 DB 초기화 작업 자동화
- SpringMVC 확장을 통한 인증/ 인가 구현
- 웹소켓 채팅 전송시 권한 확인 방법
- 채팅 메시지 인덱싱 - ESR rule
- CD/CI : Github Actions를 이용한 배포 자동화
- JWT 인증/인가 구현 방법
- Spring Event 쓰는 이유
- Spring REST Docs를 쓰려는 이유
- final 키워드를 Parameter에 넣은 이유
- 보안상 분리된 환경 변수 파일의 관리
- Custom Validation 적용
- Applicaiotn.yml, properties을 지키기
- 배포 오류 : Asciidoctor 빌드 오류(asGemPath())
- 테스트 실행 시간이 너무 길다구요!
- 채팅 - MongoDB는 동시성 문제를 일으켰을까?
- S3, ParallelStream을 사용해서 업로드하지 않기로한 이유
- DB해킹 : 회원 정보를 보호합니다.
- Parallel Stream을 써야할 때는 언제인가
- DDD : 비즈니스 로직과 요구사항을 코드에 직접적으로 반영하는 방법론
- TDD : 테스트 주도 개발 방법론
- 테스트 범위와 종류 : 단위 테스트, 통합 테스트
- Mock : 모의(대역) 객체로 테스트하기
- Spring REST Docs, 어떻게 사용할까?
- PK 컬럼 순서 대충하지 말자
- 식별자관계와 비식별자관계 설정