전체 글 363

Thymeleaf

Thymeleaf는 자바 웹 개발에서 많은 쓰는 서버 사이드 템플릿 엔진쉽게 말하면 "HTML에 데이터를 넣어서 화면을 만들어주는 도구"라고 보면 된다 Thymeleaf란?Thymeleaf는 HTML 파일을 그대로 유지하면서 동적으로 데이터를 바인딩할 수 있는 템플릿 엔진이다특징은 "HTML을 깨지 않고 그대로 사용 가능"하다는 점이다 왜 사용하는가기존에는 JSP 같은 걸 많이 썼는데 요즘은 Spring Boot + Thymeleaf 조합이 많이 사용된다이유는 🔹HTML 파일을 그대로 열어도 화면이 깨지지 않음🔹유지보수 쉬움🔹프론트/백 협업 편함 기본 구조 (Spring 기준)흐름은 이렇게 보면 된다Controller ➡️ Model에 데이터 담기 ➡️ Thymeleaf ➡️ HTML 렌더링 ..

🍏 개발일기 2026.04.01

Spring에서 Bean을 등록하는 방법

XML 설정 방식 특징🔹가장 전통적인 방식🔹설정을 XML 파일에서 관리🔹코드와 설정이 분리됨 장점🔹설정이 한눈에 보임🔹운영 환경별 설정 분리 쉬움 단점🔹매우 장황함 (코드 양 많음)🔹유지보수 어려움🔹최근 거의 사용 안 함 @ComponentScan + @Component 계열 @Componentpublic class MemberService {}또는@Service@Repository@Controller 특징🔹클래스에 어노테이션 붙이면 자동 등록🔹@ComponentScan이 해당 패키지를 스캔 장점🔹코드 간결🔹자동 등록으로 생산성 높음 단점🔹어디서 Bean이 등록됐는지 추적 어려움🔹세밀한 제어가 힘듦 @Bean (Java Config) @Configurationpublic cl..

🍏 개발일기 2026.03.31

전자정부표준프레임워크에 대해서

전자정부표준프레임워크공공기관 웹서비스 개발을 표준화 + 효율화 하기 위해 만든 오픈소스 프레임워크 목적🔹공공 시스템 개발 방식 통일🔹유지보수 쉽게🔹개발 생산성 향상🔹중복 개발 방지 기반 기술은 거의 Spring Framework 기반이다그래서 내부 구조는 일반적인 Spring 프로젝트랑 거의 비슷하다🔹Spring MVC (웹 구조)🔹iBatis / MyBatis (DB 연동)🔹Maven / Gradle (빌드)🔹JSP / Thymeleaf (뷰)그래서 Spring 쓸 줄 알면 거의 바로 적용이 가능하다 전자 정부 프레임워크의 구성 요소는 크게 3가지로 나뉜다1) 실행 환경 (Runtime Environment)🔹실제 개발할 때 사용하는 핵심 라이브러리🔹Spring 기반 + 공통 기능..

🍏 개발일기 2026.03.30

REST API 란?

REST API 란?REST API는 HTTP 기반으로 자원을 URL로 표현하고, HTTP 메서드로 상태를 주고받는 API 설계 방식입니다 핵심 구성 요소1) 자원(Resource) ➡️ URI/users/users/1/orders/100"명사로 표현"이 핵심 2) 행위 ➡️ HTTP Method메서드의미GET조회POST생성PUT전체 수정PATCH부분 수정DELETE삭제 3) 표현JSON, XML 등으로 데이터 전달요즘은 거의 JSON{ "id": 1, "name": "홍길동"} REST API 설계 규칙 1) URI는 명사로/getUser ❌/users ✅ 2) 계층 구조 표현/users/1/orders/100 3) HTTP 메서드로 행위 표현/deleteUser/1 ❌DELETE /user..

🍏 개발일기 2026.03.29

동기와 비동기

동기 (Synchronous)🐌 요청 ➡️ 응답까지 기다림🐌 한 작업이 끝나야 다음 작업 진행 비동기 (Asynchronous)🐌 요청만 하고 결과를 기다리지 않음🐌 작업이 끝나면 나중에 결과를 받음 구분동기비동기처리 방식순차 처리동시에 처리 가능대기기다림안 기다림성능느릴 수 있음효율적복잡도단순복잡 동기 코드public void syncExample() { System.out.println("1번 작업 시작"); task1(); // 끝날 때까지 기다림 System.out.println("2번 작업 시작"); task2();} 실행 흐름 : 1번 ➡️ 끝 ➡️ 2번 비동기 코드 (Thread) public void asyncExample() { System.ou..

🍏 개발일기 2026.03.27

HTTP 메서드에 대해서 : GET, POST, PUT, PATCH, DELETE

HTTP Method — GET, POST, PUT, PATCH, DELETE를 제대로 이해하기 | dev-letter(데브레터) HTTP Method — GET, POST, PUT, PATCH, DELETE를 제대로 이해하기HTTP 메서드의 역할과 안전성·멱등성 개념을 인터랙티브 시각화로 체험합니다. PUT vs PATCH 차이, REST API 설계 원칙, 메서드 선택 기준까지 한 번에 정리합니다.dev-letter.kr🔼 블로그를 읽으며 정리를 해보았습니다 HTTP 메서드란?HTTP 요청은 세 부분으로 구성됩니다.메서드(Method), URL(리소스), 본문(Body)URL이 "어디에" 요청하는지를 나타낸다면, 메서드는 "무엇을" 하고 싶은지를 나타냅니다 메서드를 이해하는데 중요한 두 가지 속성?..

🍏 개발일기 2026.03.26

REST API 요청 흐름

REST API 요청 흐름요약 : 클라이언트가 서버에 요청을 보내고, 서버가 처리한 뒤 응답을 돌려주는 과정 예를 들어 사용자가 게시글 목록을 조회한다고 하면 이런 식입니다 1) 클라이언트가 요청 보냄브라우저나 앱에서 서버로 요청을 보냅니다ex) GET /posts이때 함께 들어갈 수 있는 것들 :▪ URL▪ HTTP 메서드 (GET, POST, PUT, DELETE 등)▪ 헤더 (Content-Type, Authorization 등)▪ 바디 (JSON 데이터 등) 2) 서버의 Controller가 요청을 받음스프링에서는 보통 @RestController가 요청을 먼저 받습니다Controller 역할▪ 어떤 URL 요청인지 확인▪ 필요한 값 받기▪ Service에 처리 맡기기@GetMapping("/po..

🍏 개발일기 2026.03.24

리액트 배포 해보기

npm start 명령으로 실행한 애플리케이션은 개발을 위한 애플리케이션입니다.개발하기에는 좋지만, 서비스하기에는 용량도 크고 여러 가지 불필요한 메시지도 표시하기 때문에 실제로 서비스에사용할만한 결과물은 아니라고 할 수 있습니다.어떻게 하면 최적화된 배포본을 만들 수 있을까요 Ctrl + C터미널을 다시 열고실행 중인 개발 환경이 있다면 ctrl + c를 눌러개발 환경을 종료합니다 npm run build위의 명령어 입력 : 빌드 명령이 시작됨🔹 빌드 : 배포판을 만드는 과정 빌드를 마치면 프로젝트에 build라는 폴더가 생기고build 폴더에는 index.html을 의존하는 다른 파일들이 존재하게 됨 명령어 실행 후 결과를 보면serve라는 앱을 사용하는 것을 추천하는 문구를 볼 수 있습니..

소스 코드 수정 방법

설치 다음 해야 할 일은 수정하는 방법을 알아내는 것이렇게 만들어진 결과물을 어떠헤 배포할지 살펴볼 것 입니다. 리액트의 입구 파일인 index.js index.js 파일의 코드를 보면중간에 이라는 태그가 있습니다. 태그를 지우면왼쪽 화면에서 오른쪽 화면 처럼 바뀐다 이 의 실제 내용은 어디에 있는지 살펴보겠습니다import App from './App';코드의 App은 바로 위에 있는 위의 코드의 App을 의미합니다4번째 줄에서 App 이라고 써서 9번째 줄에서도 으로 쓰는 것입니다.그리고 이 App은 from 뒤에 있는 './App'에서 왔습니다'./App'은 확장자명인 .js가 생략된 것입니다.점(.)은 현재 디렉토리를 의미합니다즉, index.js가 위치한 디렉토리와 같은 디렉터리에 있는 App..

미세먼지 수준에 따라 강남역 2호선 이용객 수 평균이 어떻게 달라지는지

C:/Users/Admin/AppData/Local/Python/pythoncore-3.14-64/python.exe -m pip install pandasC:/Users/Admin/AppData/Local/Python/pythoncore-3.14-64/python.exe -m pip install pandas matplotlib 주피터 설치C:/Users/Admin/AppData/Local/Python/pythoncore-3.14-64/python.exe -m pip install notebook # 미세먼지 수준에 따라 강남역 2호선 이용객 수 평균이 어떻게 달라지는지import pandas as pdimport globimport osimport matplotlib.pyplot as pltp..

🍏 개발일기 2026.03.20