카테고리 · Java 풀스택 아카데미
카테고리에 포함된 30개의 글
총 3페이지 중 1페이지
[멀티캠퍼스] 풀스택 개발자 아카데미 (30) - Deployment
이 글은 React와 Spring Boot 기반의 애플리케이션을 Docker를 통해 컨테이너화하여 일관성 있는 실행 환경을 보장하는 배포 방법을 설명합니다. GitHub Actions를 활용하여 GHCR(GitHub Container Registry)에 이미지를 자동으로 빌드 및 푸시하는 CI/CD 파이프라인을 구축합니다. 최종적으로 Docker Compose와 Traefik을 사용해 다중 컨테이너를 구성하고 서버 환경에서 효율적으로 서비스를 연동 및 로드 밸런싱하는 방식을 다룹니다.
[멀티캠퍼스] 풀스택 개발자 아카데미 (29) - Spring Boot & JWT (2)
Access Token의 만료로 인한 로그인 풀림 현상을 해결하기 위해 Spring Boot 백엔드에 Refresh Token 검증 및 재발급 API를 구현했습니다. 프론트엔드(React)에서는 Axios Interceptor를 활용해 토큰 만료 에러(401) 발생 시 자동으로 재발급 요청을 보내고 기존 요청을 재시도하도록 설정했습니다. 이를 통해 사용자에게 끊김 없는(Seamless) 안전한 로그인 유지 경험을 제공할 수 있습니다.
[멀티캠퍼스] 풀스택 개발자 아카데미 (28) - Spring Boot & JWT(1)
세션 기반 인증의 한계를 보완하고 서버 확장성을 높이기 위해 Spring Boot 3.x와 Spring Security를 활용한 무상태(Stateless) JWT 인증 구현 방법을 단계별로 소개합니다. JWT 토큰의 생성 및 검증을 담당하는 Provider와 요청을 필터링하는 커스텀 Filter의 실제 구현 코드를 자세히 설명합니다. 마지막으로 Postman을 통해 로그인 및 토큰 인증 API 테스트를 진행하여 동작을 검증하고, 향후 Refresh Token 도입 및 프론트엔드 연동 계획을 제시하며 마무리합니다.
[멀티캠퍼스] 풀스택 개발자 아카데미 (27) - Spring Boot(3)
스프링 부트는 복잡한 설정 없이 `MultipartFile`을 통해 간편한 파일 업로드 기능을 지원하며, 파일 용량 제한은 설정 파일에서 쉽게 조절할 수 있습니다. 파일명 중복을 방지하기 위해 고유한 UUID를 생성하고, `WebConfig`를 통해 보안과 관리에 유리한 로컬 외부 경로에 파일을 매핑하여 저장합니다. 또한, Ajax와 REST API를 활용하면 페이지 새로고침 없이 비동기식으로 파일을 업로드하고 결과를 바로 확인할 수 있는 세련된 UI를 구현할 수 있습니다.
[멀티캠퍼스] 풀스택 개발자 아카데미 (26) - Spring Boot(2)
스프링 부트는 레거시 스프링의 복잡한 XML 설정 대신 application.properties와 자바 설정(Java Config)을 사용하여 웹 애플리케이션을 간편하게 구성합니다. WebMvcConfigurer를 구현하여 정적 자원의 외부 경로를 매핑하고, @MapperScan을 통해 MyBatis를 쉽게 연동할 수 있습니다. 이를 통해 개발자는 번거로운 인프라 설정에서 벗어나 비즈니스 로직 개발에 더욱 집중할 수 있습니다.
[멀티캠퍼스] 풀스택 개발자 아카데미 (25) - Spring Boot(1)
스프링 부트는 스타터, 자동 설정, 내장 WAS를 통해 레거시 스프링의 복잡한 설정을 간소화하고 개발 생산성을 극대화합니다. Spring Initializr를 통해 쉽게 프로젝트를 생성할 수 있으며, 간단한 의존성 및 설정 추가만으로 JSP를 뷰로 연동하는 것도 가능합니다. 이를 통해 개발자는 번거로운 기반 설정에서 벗어나 핵심 비즈니스 로직 개발에만 집중할 수 있습니다.
[멀티캠퍼스] 풀스택 개발자 아카데미 (24) - Spring Framework(4)
본 글은 화면 전환 없이 데이터를 주고받는 REST 개념과 Spring에서 @ResponseBody 및 @RestController를 사용하여 RESTful API를 구현하는 방법을 설명합니다. 또한, jQuery Ajax를 활용해 페이지 새로고침 없이 상품번호를 중복 체크하는 실습을 진행하고, 반복되는 코드를 줄여주는 Lombok 라이브러리 도입법을 다룹니다. 이를 통해 비동기 통신 기술과 개발 생산성을 높이는 도구를 활용하여 웹 애플리케이션의 사용자 경험을 개선하는 방법을 배울 수 있습니다.
[멀티캠퍼스] 풀스택 개발자 아카데미 (23) - Spring Framework(3)
본문은 반복적인 JDBC 작업을 개선하고 SQL을 효율적으로 관리할 수 있는 SQL Mapper 프레임워크인 MyBatis를 소개합니다. Spring MVC 환경에서 MyBatis를 연동하기 위해 필요한 설정과 SQL을 XML 파일로 분리하는 Mapper 구현 방법을 구체적으로 설명합니다. 또한, 어노테이션을 활용해 Controller, Service, Repository로 이어지는 계층형 구조를 설계하는 방법을 제시합니다.
[멀티캠퍼스] 풀스택 개발자 아카데미 (22) - Spring Framework(2)
Spring MVC는 프론트 컨트롤러인 DispatcherServlet을 중심으로 여러 컴포넌트가 협력하여 클라이언트의 요청을 처리하고 응답을 생성합니다. 이러한 웹 애플리케이션의 동작과 설정은 배포 서술자인 web.xml과 웹 계층 설정을 담당하는 servlet-context.xml을 통해 관리됩니다. 개발자는 @Controller와 @RequestMapping 어노테이션으로 간편하게 요청을 처리하고, 필터 설정을 통해 한글 깨짐 같은 인코딩 문제를 해결할 수 있습니다.
[멀티캠퍼스] 풀스택 개발자 아카데미 (21) - Spring Framework(1)
스프링 프레임워크는 과거 EJB의 복잡성을 해결하고 특정 기술에 종속되지 않는 POJO 기반 프로그래밍을 지원하기 위해 등장했습니다. 핵심 철학인 제어의 역전(IoC)과 의존성 주입(DI)은 객체의 제어권을 스프링 컨테이너에 위임하여 코드 간의 결합도를 낮추고 유연성을 높입니다. 개발자는 전통적인 XML 설정을 통해 의존성을 주입함으로써 애플리케이션의 확장성과 테스트 용이성을 극대화할 수 있습니다.