본문 바로가기

분류 전체보기88

스프링 부트가 제공하는 프로덕션 준비 기능 0. 스프링 부트 - 핵심 원리와 활용 - 인프런 | 강의 실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다., - 강의 소개 | 인프런 www.inflearn.com 본 게시글은 해당 강의를 수강하고 정리한 내용입니다. 1. 액추에이터(actuator)란? 스프링 부트는 애플리케이션을 프로덕션 환경으로 전환할 때 애플리케이션을 모니터링하고 관리하는데 도움이 되는 다양한 추가 기능을 포함하고 있다. 이러한 프로덕션 준비 기능은 스프링 부트 액추에이터 모듈을 통해 제공한다. 스프링 부트 액추에이터는 지표(metric), 추적(trace), 감사(auditing), 모니터링과 같이 운영환경에서 시비스할 때 필요한 프로덕션 준비 기능을 편리하게 사용할 수 있는 다양한 편의 기능들을 제공한다. 이.. 2023. 5. 29.
스프링 부트에서 외부 설정에 접근하는 방법 0. 스프링 부트 - 핵심 원리와 활용 - 인프런 | 강의 실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다., - 강의 소개 | 인프런 www.inflearn.com 본 게시글은 해당 강의를 수강하고 정리한 내용입니다. 1. 외부 설정을 위한 4가지 방법 스프링 애플리케이션에 외부 설정을 위한 방법으로는 다음 4가지가 있다. OS 환경 변수 해당 OS를 사용하는 모든 프로그램에서 읽을 수 있는 설정값 대표적으로 JAVA_HOME 이 있다. 자바 시스템 속성 JVM 안에서 접근 가능한 외부 설정 자바 프로그램을 실행할때 사용한다. java -Durl=dev -jar app.jar -D VM 옵션을 통해서 key=value 형식으로 전달한다. 이때 -D 옵션은 -jar 보다 앞에 위치해야 한.. 2023. 5. 29.
[nGrinder] 부하 테스트 해보기 0. 본 게시글에서는 성능 테스트 도구인 nGrinder에 대해서 알아보고 직접 사용해보겠습니다. 1. nGrinder란 https://github.com/naver/ngrinder nGrinder는 스크립트 작성, 테스트 실행, 모니터링, 보고서 생성까지 해주는 스트레스 테스트를 위한 플랫폼입니다. 테스트 스크립트를 생성하고 테스트 실행을 수행하는 웹 애플리케이션인 nGrinder controller와 부하를 생성하는 가상 유저 생성기인 nGrinder agent 2가지 요소로 구성되어 있습니다. 2. 설치 Docker를 이용하여 설치를 진행해보겠습니다. $ docker pull ngrinder/controller $ docker run -d -v ~/ngrinder-controller:/opt/ngr.. 2023. 5. 22.
[클린 코드] 요약 및 정리 0. 서론 스프링에 대해 배우고 혼자서 프로젝트를 계속 진행하면서 변수, 메서드 이름이나 구조에 대한 고민이 많이 부족했습니다. ‘다른 사람들이 나의 코드를 읽기 쉽게 하려면 어떻게 해야할까?’ 라는 고민 아래 우선 대표적인 개발 서적인 로버트 C. 마틴의 클린 코드를 읽고 좋은 코드에 대해 생각하고, 이를 작성하기 위한 방법이 어떤 것들이 있는지 정리해보았습니다. 1. 클린 코드란 무엇인가 프로그램이 작동하는 것을 넘어 깨끗하고 체계적인 코드, 지속적인 개선이 가능한 코드가 좋은 코드이다. 2. 클린 코드를 위한 방법들 1) 의미 있는 이름 모든 변수, 메서드, 클래스는 의미 있는 이름을 가져야 한다. 내가 작성한 코드를 다른 개발자들이 명확히 파악할 수 있도록 충분히 고민하고 작성해야 한다. 이름은 .. 2023. 5. 19.
스프링과 웹소켓 https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#websocket 본 게시글에서는 스프링 공식문서의 WebSockets 파트를 읽고 정리합니다. WebSocket 웹소켓 프로토콜은 단일 TCP 연결을 이용하여 클라이언트-서버 간의 양방향 통신 채널을 수립하는 표준화된 방법을 제공합니다. 기존 HTTP와는 다른 TCP 프로토콜입니다. 그러나 HTTP 위에서 작동하도록 디자인되어 80, 443 포트를 사용하고 기존의 방화벽 규칙을 재사용할 수 있도록 설계되었습니다. 웹소켓은 HTTP를 웹소켓 프로토콜로 전환하기위한 HTTP 요청부터 시작합니다. GET /spring-websocket-portfolio/portfolio .. 2023. 5. 1.
@Scheduled 어노테이션을 이용한 스케줄링 https://docs.spring.io/spring-framework/docs/current/reference/html/integration.html#scheduling-annotation-support 스프링은 @Scheduled 어노테이션을 이용하여 스케줄링에 대한 지원을 제공합니다. @Configuration 클래스에 @EnableScheduling 어노테이션을 추가함으로써 @Scheduled 어노테이션을 활성화 할 수 있습니다. @EnableScheduling @Configuration public class AppConfig { } 메서드에 @Scheduled 어노테이션을 추가하여 원하는 작업을 반복적으로 호출할 수 있습니다. fixedDelay @Scheduled(fixedDelay = 10.. 2023. 4. 30.