FrontEnd
<aside>
📌 Next.js
v 13.4.19
- SSR, SEO, Dynamic Routing 지원
- TurboPack을 통한 성능 최적화
- Next.js v 13에서 기본으로 제공되는 번들러
- Rust 기반으로 작성되었으며, 기존 Vite, Webpack에 비해 뛰어난 성능을 가지고 있음.
</aside>
<aside>
📌 Typescript
v 5.1
- JavaScript 상위 집합으로써, 정적 타입 문법을 추가한 언어
- Side-effect 방지
- Type Guard를 통한 로직 제어를 할 수 있음
- Props의 Type 정의를 통한 Props 구성요소 제한이 됨.
</aside>
<aside>
📌 Tailwind CSS
v 3.3.2
- CSS를 작성할 때 시간을 많이 절약할 수 있음
- tailwind.config와 Utility Class 등 통일된 형식을 사용하기 쉬워 유지보수 및 재사용성 용이
</aside>
<aside>
📌 상태 관리 라이브러리 : React Query, Jotai
- React Query
- Next.js의 서버 사이드에서 데이터를 Prefetch하여 queryClient로 넘겨주는 기능을 제공
- Cache 사용으로, 클라이언트 상태 관리에서 사용될 LocalStorage의 한정된 메모리 해소 가능
- Jotai
- 프로젝트 설계 시, 많은 Client 상태 관리가 필요하지 않음
- 대규모 시스템에 적합한 Flux 패턴 상태 관리보다, 가벼운 Atom 패턴 기반의 상태관리 선정
- Jotai의 경우, Recoil에 비해 최신 업데이트 지원이 자주 되고 있고 , 생태계 구축이 활발함
- SSR에 대한 지원 활발(공식 문서에도 SSR Part가 있음)
</aside>
<aside>
📌 package manager : pnpm
v 8.7.5
- Virtual Store를 이용해서 npm의 다음과 같은 문제점을 해결할 수 있음.
- 일관적이지 않은 패키지 버전
- 고정되지 않은 설치 순서
- 병렬화 X 순차적인 설치 → 다운로드 속도가 매우 느림
</aside>
<aside>
📌 Next-Pwa
- Progressive Web App 라이브러리로써, 다음의 이점을 얻기 위해 사용
<aside>
📌
Framer-Motion
- Animation 라이브러리로써, 다음의 이점을 얻기 위해 사용
- 개발시간 단축을 위해 사용
- UX 향상
</aside>
<aside>
📌 ESlint
- Naver Rule을 참조하여 작업
- 코드 스타일 공통화를 위해 사용
- 잘못된 코딩 스타일 교정을 위해 사용
</aside>
<aside>
📌 Prettier
- 사전 설정 Rule 참조하여 설정
- 코드 스타일 공통화를 위해 사용
- 현업에서 사용되는 코드 베이스 경험
</aside>
BackEnd
<aside>
📌 Spring Boot
Spring Boot 2.0은 23년 11월까지만 지원하고 종료되기 때문에 3.0 사용
3.1.3 ✅
</aside>
<aside>
📌 JAVA
8
17 : LTS ✅
Spring Boot 3.0은 17 버전부터 지원
</aside>
<aside>
📌 Database
RDBMS
MySQL(관계형 db)
⇒ 상업적 이용 시엔 구매 필요
MariaDB ✅
⇒ 버전 : 11.1.2
⇒ MySQL과의 호환성 좋음
PostgreSQL(객체관계형 db)
⇒ 더 많은 기능, MVCC
NoSQL
- mongoDB
</aside>
<aside>
📌 Spring BootQueryDSL
</aside>
<aside>
📌 DB Workbench Tool
HeidiSQL
- MySQL, MariaDB를 모두 지원하는 무료 원격 클라이언트 툴
- 화면 구성 및 조작성이 가볍고 직관적이며 대용량 데이터 내려받기 및 밀어넣기 기능 제공
- ER 다이어그램 생성 기능은 제공 X
Intellij DB Tool
- 다양한 SQL/NoSQL 지원
- 별도의 Tool을 사용하지 않고 개발 환경에서 데이터 확인 O
- ER 다이어그램 생성 기능 제공
DBeaver
- MySQL, MariaDB를 모두 지원하는 무료 원격 클라이언트 툴
- NoSQL 지원
- ER 다이어그램 생성 기능 제공
</aside>