spring boot 15

[Spring Boot] Gzip 압축을 통해 로딩 성능 최적화 하기

목차1. 개요2. Gzip?3. Gzip 사용 시와 사용하지 않을 때의 차이4. Gzip 설정법5. 적용 전, 적용 후 차이6. 결론  1. 개요리액트 + 스프링부트로 진행 중인 프로젝트를 어느 정도 마무리 했다. 이제 배포전 성능테스트를 하며 최적화에 신경 쓰고 있다. 나는 'Lighthouse'를 사용해서 1차적으로 성능을 측정하고 문제점을 고쳐나가고 있다. 이때 만난 콘텐츠 로딩속도 문제에 관해 찾아보다가 Gzip에 관해 알게 되었다. 그래서 공부하고 기록할 겸 글을 작성한다. 2. Gzip?Gzip은 데이터를 압축하여 전송하는 표준적인 방법 중 하나로, 주로 웹에서 클라이언트와 서버 간의 데이터 전송 시 사용된다. Gzip은 텍스트 기반의 파일(HTML, CSS, JavaScript, JSON 등..

중간점검

목차1. GitHub 기록2. 서버 테이블 현황3. 화면 컴포넌트4. 주요 기능5. 해결해야할것들6. 사이트 사진  프로젝트를 시작한지도 3개월이 되어간다. 3개월동안 열심히 했던것도있지만 나태해졌던 기간도 있다. 아직 마무리 지을것은 많이 남았지만 중간점검을 하며 되돌아볼겸 스스로의 일지를 작성해본다. 1. GitHub 기록   서버작업할때는 pr템플릿을 사용해서 구분을 해뒀다. 하지만 화면작업(react)를 할때는 찾아가면서 천천히 할 생각이라서 따로 구분해두지 않았다. 지금와서 생각해보면 좀 아쉬운 부분이다. 템플릿의 유무에 따라 큰 차이가 있지는 않지만, 그래도 다시한번 내가 했던 작업이 어떤작업에 속해있는지 다시한번 생각해주는 부분이였던것같다.  2. 서버 테이블 현황 어느새 테이블만 해도 24..

서비스 런칭 도전 프로젝트 (Spring Boot + React)

목차1. 프로젝트 개요2. 기술 선택 이유3. 설정 및 환경 구성4. 계획   1. 프로젝트 개요여행 관련 커뮤니티다. 자세한 카테고리는 제작해 가며 추가, 수정, 삭제할 예정이고 커뮤니티 카테고리에 따라 게시글 출력방식, 작성방식 등을 차별화하여 구성할 것이며, 화면도 가독성을 높여서 작성할 예정이다.  2. 기술 선택 이유Spring Boot (서버)안전성과 성능, 생산성, 확장성 React (화면)유연한 UI 개발, 빠른 렌더링 3. 설정 및 환경 구성Spring Boot (서버)Spring Boot 3.3.2JDK 17.0.7gradle 8.8 React(화면)React 10.8.2node 20.17.0 4. 계획사용해보지않은 react를 사용해서 화면을 구성할 예정이며 퇴근 후 2-3시간 정도 ..

[Spring Boot] LogBack을 사용해서 로그파일 저장하기

목차 1. 개발환경 2. LogBack이란? 3. LogBack의 주요 기능 4. Log 레벨 순서, 사용법 5. Logging 설정 6. Logback-spring.xml 설정 7. 구동화면 1. 개발환경 Java 17 Spring Boot 3.1.8 Gradle 8.5 2. LogBack이란? LogLogback은 자바 기반의 오픈 소스 로깅 프레임워크이다. Logback은 로깅 기능과 SLF4J(Simple Logging Facade for Java)와의 통합을 제공하여 강력하고 유연한 로깅 솔루션을 제공해 준다. SLF4J는 다양한 로깅 구현체를 추상화하는 인터페이스를 제공하고, Logback은 이러한 인터페이스를 구현하여 실제로 로그를 처리한다. Logback은 Log4j의 후속 버전으로 개발되..

[Spring Boot] Global Exception으로 에러 처리하기

목차 1. 개발환경 2. Global Exception은 무엇일까? 3. Global Exception를 사용하는 이유 4. @RestControllerAdvice? 5. @RestControllerAdvice의 주요 기능 6. ErrorResponse 코드 7. RestApiException 코드 8. ErrorCode 코드 9. GlobalExceptionHandler 코드 1. 개발환경 Java 17 Spring Boot 3.1.8 Gradle 8.5 2. Global Exception은 무엇일까? Spring Boot 기반의 Restful API에서 예외처리의 유지보수성과 확장성을 향상하며, 명확한 에러 메시지를 제공하도록 도와준다. 에러코드와 메시지를 관리하며 GlobalExceptionHand..

[QueryDSL] QueryDSL 이란?

목차 1. QueryDSL 이란? 2. ORM과 QueryDSL의 관계 3. QueryDSL이 사용되는 상황과 이점 4. QueryDSL의 주요 구성 요소 5. 다양한 종류의 조인 6. 요약 1. QueryDSL 이란? QueryDSL은 자바 프로그래밍 언어를 사용하여 데이터베이스 쿼리를 작성할 수 있게 해주는 라이브러리이다. 문자열 기반 SQL쿼리 대신 자바 코드로 쿼리를 작성하므로 컴파일 시간에 오류를 확인할 수 있고, IDE의 지원을 받을 수 있다. 동적 쿼리나 복잡한 쿼리 작성 시 유용하며, 다양한 데이터베이스와 호환되며 다양한 모듈을 제공한다. 2. ORM과 QueryDSL의 관계 ORM ORM은 객체와 RDBMS간의 매핑을 자동화하는 기술이다. 주로 JPA나 Hibernate와 같은 프레임워크..

[Spring Batch] 스프링 배치(Spring Batch)란?

목차 1. Spring Batch? 2. Spring Batch의 특징 3. Spring Batch에 대한 오해 4. Spring Batch의 조건 5. Spring Batch의 실사례 6. Spring Batch의 장점 7. Spring Batch의 용어 1. Spring Batch? Spring 환경에서 대용량의 데이터 처리를 위한 기능을 제공하는 프레임 워크이다. 이름 그대로 스프링 배치(Batch)이기 때문에 Spring과 같은 특성을 띤다. 주기적으로 대용량의 데이터를 처리해야 하는 규모 있는 엔터프라이즈 시스템을 운영하기 위해 스프링 배치를 자주 사용한다. 2. Spring Batch의 특징 대용량 데이터 처리 Spring Batch는 방대한 양의 데이터를 처리할 수 있다. (로킹/추적, 트랜..

[Spring Boot + OpenWeather] OpenWeather를 사용해서 날씨정보 가져오기 + Spring Boot

1. OpenWeather 1-1 회원가입 https://openweathermap.org/ Сurrent weather and forecast - OpenWeatherMap Access current weather data for any location on Earth including over 200,000 cities! The data is frequently updated based on the global and local weather models, satellites, radars and a vast network of weather stations. how to obtain APIs (subscriptions w openweathermap.org 위 사이트에 들어가서 [회원가입]을 먼저 해..

[Spring Boot + Swagger] Swagger 적용하기 [SpringBoot 3.x.x 버전]

1. Swagger API를 설계, 빌드, 문서화하고 테스트하는 데 사용되는 강력한 프레임워크. 주로 RESTful 웹 서비스의 API를 문서화하는 데 사용되며, 다양한 언어와 플랫폼 간의 통합을 용이하게 만들어 준다. 1.1 Swagger 주요 기능 - API 문서화 - API 시각화 - 테스트 기능 - 다양한 포멧 지원 2. 사용 버젼 - Spring Boot 3.1.3 - SpringDoc-OpenApi v2.1.0 3. 프로젝트에 Swagger 적용하기 3.1 의존성 추가 // swagger implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.1.0' build.gradle에 의..

[Spring Boot + Redis] Spring Boot에서 리프레시 토큰 사용하기(Redis)

Redis 설치하기 Redis 설치 방법 Redis NoSQL DB의 한 종류이며 우리가 흔히 사용하는 MYSQL, Orcal DB, PostgreSQL 등 RDBMS와 다르게 NoSQL DB이다. 그렇다면 무슨 차이이고 어느 상황에 사용해야 할까? RDBMS와 NoSQL의 차이 RDBMS (관계형 DB) - 데 ngwdeveloper.tistory.com Refresh Token의 목적 - Access Token의 유효기간을 짧고, 자주 재발급하도록 만들어 보안을 강화하면서도 사용자에게 잦은 로그아웃 경험을 주지 않도록 하는 목적으로 만들어졌다. Access Token은 리소스에 접근하기 위해서 사용되는 토큰이라면, Refresh Token은 기존에 클라이언트가 가지고 있던 Access Token이 만..

프로필사진

남건욱's 공부기록

반응형