JPA는 엔티티 객체와 DB 테이블을 매핑하여 객체지향적으로 데이터를 다룰 수 있게 해주는 ORM 기술이다. 하지만 내부적으로는 영속성 컨텍스트, 변경 감지(Dirty Checking) 등 동작 원리를 이해하지 않으면 예상과 다른 쿼리나 성능 문제가 발생할 수 있다. 따라서 단순 CRUD 수준을 넘어서 JPA의 동작 방식과 생명주기를 이해하는 것이 실무에서 매우 중요하다.
ReadAWS는 온디맨드 기반의 클라우드 서비스로, 서버·스토리지·네트워크를 API로 유연하게 확장/축소하며 사용한 만큼 비용을 지불하는 구조이다. EC2, EBS, S3, RDS, DynamoDB 등 다양한 서비스와 Auto Scaling, ELB를 통해 확장성과 고가용성을 확보할 수 있다. 클라우드는 초기 비용 절감과 운영 편의성이 있지만, 보안·비용 관리·벤더 종속성 등 고려사항이 있으며 이중화 설계가 중요하다.
ReadRedis는 key:value 기반의 NoSQL 저장소이며, set/get 같은 기본 명령과 publish/subscribe를 통해 메시지 송수신 기능도 제공한다. 예제에서는 한쪽에서 subscribe로 채널을 구독하고, 다른 쪽에서 publish로 메시지를 보내 실시간으로 수신하는 Pub/Sub 동작을 실습했다.
ReadNoSQL은 비정규화와 애플리케이션 사이드 조인을 통해 분산처리에 적합하고, 성능 향상을 위한 데이터 구조를 가진다. Node.js에서 RDBMS(MySQL/MariaDB)와 MongoDB를 연동하여 CRUD 작업을 수행하는 방법을 학습했다. MongoDB는 스키마가 자유롭고 ObjectId를 활용하며, 문자열로 전달된 ID는 객체로 변환해야 정상적인 쿼리가 가능하다.
ReadRESTful API에서 PUT/DELETE 요청 처리 시 응답 방식과 상태코드(301, 302)의 이해가 중요하며, 잘못된 Redirect는 무한 루프를 유발할 수 있다. Express 라우팅에서 동적 파라미터(:id)는 경로 순서에 영향을 받기 때문에 선언 순서를 주의해야 한다. Jade 템플릿 엔진 사용 시 들여쓰기 규칙과 문법을 지켜야 하며, form에서 PUT/DELETE 요청은 _method를 통해 처리할 수 있다.
ReadNode.js는 JSON 기반 데이터 구조를 사용하여 데이터 처리와 핸들링이 간편하며, key:value 형태가 핵심이다. 분산처리를 위해 NoSQL과 같은 구조가 등장했으며, Hadoop의 MapReduce 방식으로 데이터 집계 원리를 이해했다. JSON.parse와 JSON.stringify를 통해 문자열과 객체 간 변환을 다루는 기본적인 데이터 처리 방법을 학습했다.
ReadNode.js는 이벤트 기반의 Non-blocking I/O 구조로, 멀티스레드 없이도 효율적인 서버 처리를 가능하게 하는 플랫폼이다. TCP/HTTP 차이, 콜백 방식, 파일 처리 등 서버 개발의 핵심 개념과 Node.js의 동작 원리를 학습했다. Express, npm, nodemon 등 개발 환경 구성과 간단한 웹서버 구현을 통해 실습 중심으로 이해를 높였다.
Read