728x90
- 이번 주 항해 취업 리부트코스에서 내가 구현한 기능은 무엇인가요?
- 회원 관리 기능
- 회원가입
- 개인정보 암호화
- 로그인 및 로그아웃 기능
- JWT 토큰 활용
- 회원가입
- 상품 관리 기능
- 상품 리스트 및 상세 정보 조회
- 회원 관리 기능
- 해당 기능을 구현하기 위해, 어떤 기술적 의사결정을 거쳤나요?
- 고민한 기술의 종류들에는 무엇이 있나요?
- JAVA 17버전 선택
- 8, 17, 11 버전을 사용을 많이 하고 있고, 8과 17을 사용하는 점유율이 비슷하였고,
- 스프링 부트 3.xx 버전 부터는 Java 17 이상을 지원한다.
- Java 21 버전부터 Virtual Threads - 수백만 개의 가벼운 스레드를 지원하여 높은 동시성을 효율적으로 처리해주는 기능
- 안정성과 검증된 기능과 성능을 제공하는 17버전
- DB 선택
- MySQL의 장점:
- 성능: 일반적으로 빠른 속도를 보장하며, 대량의 트래픽을 처리할 때 유리합니다.
- 간편성: 설치와 설정이 쉽고, 관리가 간편합니다. 특히 간단한 애플리케이션에서 많이 사용됩니다.
- 중소규모 시스템: 중소규모 시스템에서의 사용이 적합하며, 읽기 쓰기가 많은 경우에도 잘 작동합니다.
- PostgreSQL의 장점:
- 데이터 무결성: PostgreSQL은 ACID (원자성, 일관성, 고립성, 지속성) 트랜잭션을 지원하여 데이터 무결성을 보장합니다. 트랜잭션 롤백 및 복구가 잘 지원됩니다.
- 일관성: 강력한 일관성을 제공하며, 복잡한 쿼리 및 데이터 모델링을 지원합니다.
- 확장성: 대규모 데이터베이스와 복잡한 쿼리를 처리하는 데 적합하며, JSON 데이터 형식도 지원합니다.
- 결과적으로 사용 용이하고, 호환성, 안정성, 효율성, 비용적 측면에서 MySQL을 사용하기 결정하였다.
- MySQL의 장점:
- 이번 주 겪은 트러블 슈팅이 있다면 무엇인가요?
- 문제와 원인은 무엇이었나요?
- MySQL의 transaction_isolation 에러
- MySQL의 transaction_isolation 레벨이 설정 되어 있지 않았음.
- 해결 방법 1 : MySQL의 트랜잭션 격리 수준을 READ COMMITTED로 변경
- 해결 방법 2 : MySQL 재설치 ( 트랜잭션 격리 레벨 조회가 되지 않았을 때)
- docker-compose up 에러
- "level=warning msg='C:\Intellij\mymarket\docker-compose.yml: version is obsolete'"
- docker compose 파일 버전 업데이트
- error during connect: this error may indicate that the docker daemon is not running"
- Docker 데몬 실행 확인
- "level=warning msg='C:\Intellij\mymarket\docker-compose.yml: version is obsolete'"
- MySQL의 transaction_isolation 에러
- 문제와 원인은 무엇이었나요?
- 이번 주 진행된 개인 프로젝트에서 얻은 인사이트는 무엇인가요?
이번 주 개인 프로젝트를 진행하면서, 기술적 의사결정의 중요성과 다양한 기술 스택과 그 장단점을 비교하며 최적의 선택을 내리는 과정, 개발 환경 구축을 통해 개발 생산성을 향상 시킬 수 방법 등을 알게 되었습니다.
- 항해 개발자 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.
728x90
'IT 개발 관련 > [TIL]' 카테고리의 다른 글
[항해 취업 리부트 코스] 개인프로젝트 3주차 WIL (0) | 2024.07.08 |
---|---|
[항해99 취업 리부트 코스 학습일지] 4주차 알고리즘 학습 Day 6 (1) | 2024.06.18 |
[항해99 취업 리부트 코스 학습일지] 4주차 알고리즘 학습 Day 5 (0) | 2024.06.17 |
[항해99 취업 리부트 코스 학습일지] 4주차 알고리즘 학습 Day 4 (0) | 2024.06.15 |
[항해99 취업 리부트 코스 학습일지] 4주차 알고리즘 학습 Day 3 (1) | 2024.06.14 |