1. 데이터 포맷 & 변환
- JSON (JavaScript Object Notation)
- 키-값 기반 경량 데이터 교환 포맷
- 서버 ↔ 클라이언트 간 통신에 사실상 표준
- 예: { "id": 1, "name": "길동" }
- Gson
- Google의 Java용 JSON 라이브러리
- Java 객체 ↔ JSON 간 직렬화/역직렬화
2. DB 연동 계층
- JDBC (Java Database Connectivity)
- Java에서 DB와 연결하는 표준 API
- SQL 직접 작성, 연결/자원 해제 수동 관리 → 코드 장황
- MyBatis
- SQL 매퍼 프레임워크
- JDBC 기반이지만 XML/Annotation으로 SQL을 분리 관리
- DAO + Mapper XML 구조 → 가독성 및 유지보수성 ↑
- Hibernate (JPA 구현체)
- ORM(Object Relational Mapping) 프레임워크
- SQL 작성 없이 객체와 테이블 매핑
- DB 독립성, 개발 속도 ↑
- DataSource (JNDI 포함)
- DB 연결 정보를 관리하는 객체
- 커넥션 풀(Connection Pool)로 성능 최적화
3. 빌드 & 의존성 관리
- Maven
- XML(pom.xml) 기반 빌드 & 라이브러리 관리 도구
- 표준화된 구조
- Gradle
- 스크립트(Groovy/Kotlin DSL) 기반 빌드 도구
- 유연하고 성능이 좋음
4. 웹 통신 & 프론트엔드
- AJAX (Asynchronous JavaScript and XML)
- 전체 새로고침 없이 서버와 비동기 통신
- 현재는 JSON 기반으로 주로 사용
- Axios
- JavaScript에서 HTTP 요청을 쉽게 만드는 라이브러리
- fetch보다 간결하고 브라우저 호환성이 좋음
- Vue.js
- 프론트엔드 프레임워크 (SPA 개발에 최적화)
- 반응형 데이터 바인딩 제공
- Pinia
- Vue 3 공식 상태 관리 라이브러리
- 전역에서 데이터 공유 가능
- Vue Router
- Vue 애플리케이션에서 라우팅(SPA → MPA처럼 페이지 전환) 담당
5. 서버 & 백엔드
- Servlet
- Java EE의 웹 컴포넌트 (HttpServlet)
- 요청(Request)/응답(Response)을 직접 처리
- JSP (Java Server Pages)
- HTML에 Java 코드를 삽입하는 방식
- 과거엔 많이 썼으나 요즘은 Spring MVC + 템플릿/프론트엔드로 대체
- Spring
- 엔터프라이즈 Java 프레임워크
- DI, AOP, MVC, Transaction 등 제공
- Spring Boot
- Spring의 설정을 간소화
- 내장 Tomcat, 자동 설정 → 빠른 개발에 최적화
- Node.js
- Chrome V8 엔진 기반 JavaScript 런타임
- 서버 사이드에서도 JavaScript 사용 가능
- 비동기 I/O, 이벤트 기반 → 높은 성능과 확장성
- Express.js 같은 웹 프레임워크와 자주 사용
- Express.js
- Node.js 기반 경량 웹 프레임워크
- 라우팅, 미들웨어 중심 구조
- Tomcat
- Java 기반 서블릿 컨테이너(웹 서버)
- JSP/Servlet 실행 환경 제공
6. 아키텍처 & 패턴
- MVC (Model-View-Controller)
- Model(데이터), View(UI), Controller(흐름제어) 분리
- 유지보수성과 협업 효율 ↑
- DAO (Data Access Object)
- DB 접근 전담 클래스
- MyBatis/Hibernate와 함께 자주 사용
- VO/DTO (Value Object / Data Transfer Object)
- 계층 간 데이터 전달 객체
- AOP (Aspect Oriented Programming)
- 횡단 관심사(로그, 트랜잭션, 보안 등)를 모듈화
- 핵심 로직과 분리해 코드 간결화
7. 로깅 & 설정
- Log4j
- Java용 로깅 라이브러리
- 로그 레벨/포맷/출력 대상(Console, File 등) 설정 가능
- ApplicationContext
- Spring 컨테이너 (Bean 생성/관리 담당)
- XML, JavaConfig, Annotation 방식 지원
'공간정보아카데미' 카테고리의 다른 글
[Git] Github 사용법 총정 (0) | 2025.09.10 |
---|---|
[dbmodeling-Normalization] 데이터모델링 정규화 실습 (0) | 2025.09.09 |
Spring - Bean 주입 / XML vs JavaConfig (0) | 2025.09.06 |
Spring Boot - REST API (0) | 2025.09.06 |
Filter vs Interceptor vs AOP (0) | 2025.09.06 |