Elasticsearch 인덱스 데이터의 CRUD 작업
문서 생성
데이터를 Elasticsearch에 저장할 때는 문서 단위로 인덱싱하며, 이 과정에서 ID를 명시적으로 지정하거나 자동 생성할 수 있다.
1. ID를 직접 지정하여 문서 생성
기존 시스템에서 데이터를 마이그레이션할 경우, 기존 고유 키를 그대로 사용해 문서 ID로 설정하는 것이 유리하다. 이 방식은 데이터의 일관성과 추적성을 유지하는 데 효과적이다.
PUT /users/ ...
6월 18일 17:28에 게시됨
Django REST Framework 뷰 구현 방식 탐구
RESTful API의 기본 개념
Django REST Framework (DRF)를 활용하여 RESTful API를 구축할 때, 뷰(View)는 클라이언트의 요청을 처리하고 적절한 응답을 반환하는 핵심적인 역할을 합니다. RESTful 아키텍처는 자원(Resource) 중심의 설계 철학을 따르며, 각 자원은 고유한 URI를 통해 식별되고 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 해당 자원에 대한 작업을 ...
6월 17일 02:31에 게시됨
Swift 동시성과 Alamofire를 활용한 REST API 통신 구현
테스트용 REST API 소개
JSONPlaceholder (https://jsonplaceholder.typicode.com)는 클라이언트 개발 시 사용 가능한 무료 온라인 REST API 서비스입니다. 이 문서에서는 Swift의 동시성(concurrency) 기능과 Alamofire 라이브러리를 조합하여 다음과 같은 HTTP 요청을 수행하는 방법을 설명합니다:
GET /posts/1 – 단일 게시물 조회 ...
6월 10일 17:28에 게시됨
Spring Boot를 활용한 공동 도서관 대출 반납 관리 시스템 구축 및 운영 가이드
기술적 배경
Spring Boot는 Java 기반 애플리케이션 개발에서 널리 사용되는 경량화 프레임워크로, 자동화된 설정 및 내장형 웹 서버(Tomcat)를 통해 개발 효율성을 극대화합니다. 특히, 중소형 규모의 시스템 개발에 이상적인데, 도서관 대출 반납 시스템과 같은 비즈니스 로직 집중형 애플리케이션에 특히 유용합니다.
비즈니스 요구사항
현존하는 도서관 시스템은 종이 ...
6월 5일 22:45에 게시됨
Spring Boot에서 GET 및 POST 요청 파라미터 처리 방법
GET 요청 처리 방식
1.1 메서드 인자로 파라미터 수신
파라미터가 적을 때 유용하며, 클라이언트와 서버의 매개변수 이름이 일치해야 한다.
@RestController
@RequestMapping("/user")
@Slf4j
public class DataController {
@GetMapping("/fetch")
public void fetchData(String userName, String userAge) {
log.info("사용 ...
6월 5일 17:09에 게시됨
Spring MVC에서 JSON 데이터 처리 방법
웹 애플리케이션 개발 초기에는 PHP나 JSP와 같은 서버 사이드 기술을 주로 사용했으며, 클라이언트와의 데이터 교환은 주로 GET 또는 POST 방식으로 단순한 키-값 형태의 파라미터를 전달하는 데 그쳤다. 서버는 이러한 요청을 받아 비즈니스 로직을 처리한 후 HTML 문서를 생성하여 응답했다. 즉, 대부분의 데이터 처리와 구조화된 정보의 흐름은 서버 내부에서 이뤄졌고 ...
6월 4일 16:04에 게시됨
스프링 부트 분리형 아키텍처 개발을 위한 실용적인 팁
본 문서는 스프링 부트(Spring Boot) 기반의 백엔드와 프론트엔드가 분리된 시스템 개발 시 유용하게 활용될 수 있는 팁들을 다룹니다.
백엔드 개발 팁
서버 포트 변경
백엔드 애플리케이션의 포트는 주로 application.properties 또는 application.yml 파일 내에서 설정할 수 있습니다. 예를 들어, application.yml 파일에서는 다음과 같이 변경합니다.
...
6월 2일 18:19에 게시됨
Spring Boot와 MyBatis로 기본 CRUD API 구현하기
이번 글에서는 Spring Boot와 MyBatis를 이용해 기본적인 데이터 CRUD 기능을 제공하는 REST API를 구현하는 방법을 정리한다. MySQL 데이터베이스에 user 테이블을 생성하고, MyBatis의 XML 매퍼와 어노테이션을 혼용하여 간단한 사용자 관리 API를 만든다.
1. 데이터베이스 테이블 준비
다음과 같은 user 테이블을 MySQL에 생성한다.
CREATE TABLE user (
id INT AU ...
5월 30일 21:16에 게시됨
스프링 MVC 환경의 클라이언트 - 서버 데이터 교환 패턴 분석
서버 측 매개변수 바인딩 메커니즘
Spring MVC 를 활용한 웹 애플리케이션 개발에서 컨트롤러 계층은 클라이언트로부터 전달된 데이터를 어떻게 받아들이느냐에 따라 비즈니스 로직 처리가 달라진다. 특히 요청 파라미터를 수집하고 변환하는 방식은 개발자의 의도에 따라 다르게 설계될 수 있다.
1. 동적 컬렉션 활용: @RequestParam Map
고정되지 않은 키 - 값 쌍을 유 ...
5월 29일 18:07에 게시됨
Elasticsearch SQL 쿼리 완벽 가이드
핵심 개념
인덱스 ↔ 테이블: Elasticsearch 인덱스는 SQL에서 데이터베이스 테이블과 동일합니다.
문서 ↔ 행: 인덱스 내 문서는 테이블의 한 행(row)에 해당합니다.
필드 ↔ 열: 문서의 필드는 테이블의 열(column)과 같습니다.
매핑 ↔ 스키마: text, keyword, long, date 등 필드 데이터 타입은 매핑으로 정의되며, 이는 데이터베이스 스키마에 대응됩니다.
방 ...
5월 27일 11:00에 게시됨