[Reference] Windows 명령 프롬프트(CMD) 명령어 정리
Windows 명령 프롬프트(Command Prompt, CMD)는 Windows 운영체제의 기본 커맨드 라인 인터페이스입니다. 파일 및 디렉토리 관리, 시스템 정보 조회, 네트워크 설정 등 다양한 시스템 작업을 수행할 수 있습니다. 이 문서는 자주 사용되는 CMD 명령어들을 카테...
Windows 명령 프롬프트(Command Prompt, CMD)는 Windows 운영체제의 기본 커맨드 라인 인터페이스입니다. 파일 및 디렉토리 관리, 시스템 정보 조회, 네트워크 설정 등 다양한 시스템 작업을 수행할 수 있습니다. 이 문서는 자주 사용되는 CMD 명령어들을 카테...
jQuery는 DOM 선택/조작, 이벤트 처리, Ajax를 간결하게 제공하는 JavaScript 라이브러리입니다. 실무에서 폼 입력값을 빠르게 수집하고 JSON 객체로 변환하는 데 유용한 메서드(.val(), .prop(), .attr(), .serialize(), .seriali...
Jenkinsfile은 Jenkins Pipeline을 코드로 정의하는 파일입니다. 프로젝트 저장소의 루트 디렉토리에 위치하며, 빌드, 테스트, 배포 등의 자동화 프로세스를 Groovy 기반의 선언형(Declarative) 또는 스크립트형(Scripted) 문법으로 작성합니다.
Git은 분산 버전 관리 시스템으로, 소스 코드의 변경 이력을 추적하고 여러 개발자가 협업할 수 있도록 지원합니다. 이 문서는 Git의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
Docker는 애플리케이션을 컨테이너로 패키징하여 어디서나 일관되게 실행할 수 있도록 하는 플랫폼입니다. 이 문서는 Docker의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
Windows 명령 프롬프트(Command Prompt, CMD)는 Windows 운영체제의 기본 커맨드 라인 인터페이스입니다. 파일 및 디렉토리 관리, 시스템 정보 조회, 네트워크 설정 등 다양한 시스템 작업을 수행할 수 있습니다. 이 문서는 자주 사용되는 CMD 명령어들을 카테...
jQuery는 DOM 선택/조작, 이벤트 처리, Ajax를 간결하게 제공하는 JavaScript 라이브러리입니다. 실무에서 폼 입력값을 빠르게 수집하고 JSON 객체로 변환하는 데 유용한 메서드(.val(), .prop(), .attr(), .serialize(), .seriali...
Jenkinsfile은 Jenkins Pipeline을 코드로 정의하는 파일입니다. 프로젝트 저장소의 루트 디렉토리에 위치하며, 빌드, 테스트, 배포 등의 자동화 프로세스를 Groovy 기반의 선언형(Declarative) 또는 스크립트형(Scripted) 문법으로 작성합니다.
Git은 분산 버전 관리 시스템으로, 소스 코드의 변경 이력을 추적하고 여러 개발자가 협업할 수 있도록 지원합니다. 이 문서는 Git의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
Docker는 애플리케이션을 컨테이너로 패키징하여 어디서나 일관되게 실행할 수 있도록 하는 플랫폼입니다. 이 문서는 Docker의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
Windows 명령 프롬프트(Command Prompt, CMD)는 Windows 운영체제의 기본 커맨드 라인 인터페이스입니다. 파일 및 디렉토리 관리, 시스템 정보 조회, 네트워크 설정 등 다양한 시스템 작업을 수행할 수 있습니다. 이 문서는 자주 사용되는 CMD 명령어들을 카테...
jQuery는 DOM 선택/조작, 이벤트 처리, Ajax를 간결하게 제공하는 JavaScript 라이브러리입니다. 실무에서 폼 입력값을 빠르게 수집하고 JSON 객체로 변환하는 데 유용한 메서드(.val(), .prop(), .attr(), .serialize(), .seriali...
Jenkinsfile은 Jenkins Pipeline을 코드로 정의하는 파일입니다. 프로젝트 저장소의 루트 디렉토리에 위치하며, 빌드, 테스트, 배포 등의 자동화 프로세스를 Groovy 기반의 선언형(Declarative) 또는 스크립트형(Scripted) 문법으로 작성합니다.
Git은 분산 버전 관리 시스템으로, 소스 코드의 변경 이력을 추적하고 여러 개발자가 협업할 수 있도록 지원합니다. 이 문서는 Git의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
Docker는 애플리케이션을 컨테이너로 패키징하여 어디서나 일관되게 실행할 수 있도록 하는 플랫폼입니다. 이 문서는 Docker의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
Windows 명령 프롬프트(Command Prompt, CMD)는 Windows 운영체제의 기본 커맨드 라인 인터페이스입니다. 파일 및 디렉토리 관리, 시스템 정보 조회, 네트워크 설정 등 다양한 시스템 작업을 수행할 수 있습니다. 이 문서는 자주 사용되는 CMD 명령어들을 카테...
jQuery는 DOM 선택/조작, 이벤트 처리, Ajax를 간결하게 제공하는 JavaScript 라이브러리입니다. 실무에서 폼 입력값을 빠르게 수집하고 JSON 객체로 변환하는 데 유용한 메서드(.val(), .prop(), .attr(), .serialize(), .seriali...
Jenkinsfile은 Jenkins Pipeline을 코드로 정의하는 파일입니다. 프로젝트 저장소의 루트 디렉토리에 위치하며, 빌드, 테스트, 배포 등의 자동화 프로세스를 Groovy 기반의 선언형(Declarative) 또는 스크립트형(Scripted) 문법으로 작성합니다.
Git은 분산 버전 관리 시스템으로, 소스 코드의 변경 이력을 추적하고 여러 개발자가 협업할 수 있도록 지원합니다. 이 문서는 Git의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
Docker는 애플리케이션을 컨테이너로 패키징하여 어디서나 일관되게 실행할 수 있도록 하는 플랫폼입니다. 이 문서는 Docker의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
리눅스 노드, Docker 컨테이너, Spring Boot Actuator 환경에서 바로 붙여 넣어 쓸 수 있는 최소 PromQL 쿼리만 정리했다. 문법 근거는 Prometheus 공식 문서를 참고한다(PromQL basics, functions, histograms practic...
APM을 구성하면 Actuator가 데이터를 내보내고 Prometheus가 그것을 모아 보관한다. 하지만 Prometheus가 대시보드나 무제한 보관까지 다 해주는 것은 아니다. 이 글은 Prometheus가 무엇을 해주고 무엇을 해주지 않는지를 실무 관점에서 정리한다.
Prometheus만 설치해도 호스트의 CPU·메모리·디스크·네트워크 메트릭이 자동으로 수집되는 것은 아니다. 리눅스/유닉스 환경에서 이런 시스템 메트릭을 수집하려면 Node Exporter라는 작은 에이전트를 설치하고, Prometheus가 이를 스크레이프하도록 설정해야 한다. ...
Prometheus가 메트릭을 모아두면 Grafana는 그 위에 시각화·탐색·Alerting UI를 얹는다. 하지만 Grafana는 데이터를 저장하지 않고, PromQL 쿼리를 그대로 실행해 결과를 보여줄 뿐이다. 이 글은 실무 대화를 통해 정리한 Grafana의 역할과 구체적인 ...
컨테이너 CPU·메모리·디스크 I/O·네트워크 메트릭은 Prometheus만으로는 보이지 않는다. 호스트에 cAdvisor를 띄워야 컨테이너 메트릭이 /metrics 형식으로 노출된다. 이 글은 공식 가이드(cAdvisor guide)를 기반으로 최소 설치와 Prometheus 연...
들어가며 최근에 Github Copilot을 사용하면서, 사용자 정의 지침(Custom Instructions)을 설정하는 것이, 개발 생산성을 크게 향상시킬 수 있다는 것을 깨달았다. 이 글에서는 Copilot의 사용자 정의 지침을 설정하는 방법과 그 효과를 정리해보려 한다.
들어가며 팀 프로젝트를 진행하면서 frontend 코드와 backend 코드를 GitHub의 다른 레포지토리에 저장하고 있다. 이렇게 관리하니 문제가 발생했다. 버그를 발견했을 때, 이를 해결하기 위해서는 하나의 작업을 하기 위해 각각의 이슈를 찾아야 하는 문제가 발생했다. 이러한...
들어가며 최근 회사 업무를 진행하면서, 업무 중 발생한 파일을 관리하는 방법에 대해서 고민해보게 되었다. 온라인 업무를 진행하면 파일은 필연적으로 발생하게 되어 있다. 이것을 빠르고 정확하게 전달하며 관리하는 것은 오피스 업무ㄹ자에게는 꼭 필요한 능력이다. 나만의 파일 저장 패턴을...
들어가며 최근 회사 업무를 진행하면서, 시간관리나 업무 관리의 부족함을 자신으로 부터 느끼게 되었다. 개발 관련 지식도 중요하지만 그것 보다 더 중요한 것은 온라인에서의 업무를 얼마다 빠르고 정확하게 처리할 수 있는가 라고 생각했다. 이번 기회에 업무 관리 툴을 선택하고 사용 방법...
Spring Boot 애플리케이션에 APM을 얹을 때 가장 먼저 만나는 것이 Actuator다. 하지만 Actuator 자체가 모니터링·알림·대시보드까지 다 해주는 것은 아니다. 이 글은 Actuator가 무엇을 제공하고 무엇을 제공하지 않는지를 분리해 정리한다.
APM을 구성하면 Actuator가 데이터를 내보내고 Prometheus가 그것을 모아 보관한다. 하지만 Prometheus가 대시보드나 무제한 보관까지 다 해주는 것은 아니다. 이 글은 Prometheus가 무엇을 해주고 무엇을 해주지 않는지를 실무 관점에서 정리한다.
Prometheus만 설치해도 호스트의 CPU·메모리·디스크·네트워크 메트릭이 자동으로 수집되는 것은 아니다. 리눅스/유닉스 환경에서 이런 시스템 메트릭을 수집하려면 Node Exporter라는 작은 에이전트를 설치하고, Prometheus가 이를 스크레이프하도록 설정해야 한다. ...
컨테이너 CPU·메모리·디스크 I/O·네트워크 메트릭은 Prometheus만으로는 보이지 않는다. 호스트에 cAdvisor를 띄워야 컨테이너 메트릭이 /metrics 형식으로 노출된다. 이 글은 공식 가이드(cAdvisor guide)를 기반으로 최소 설치와 Prometheus 연...
Spring Boot 애플리케이션에 APM을 얹을 때 가장 먼저 만나는 것이 Actuator다. 하지만 Actuator 자체가 모니터링·알림·대시보드까지 다 해주는 것은 아니다. 이 글은 Actuator가 무엇을 제공하고 무엇을 제공하지 않는지를 분리해 정리한다.
APM을 구성하면 Actuator가 데이터를 내보내고 Prometheus가 그것을 모아 보관한다. 하지만 Prometheus가 대시보드나 무제한 보관까지 다 해주는 것은 아니다. 이 글은 Prometheus가 무엇을 해주고 무엇을 해주지 않는지를 실무 관점에서 정리한다.
Prometheus만 설치해도 호스트의 CPU·메모리·디스크·네트워크 메트릭이 자동으로 수집되는 것은 아니다. 리눅스/유닉스 환경에서 이런 시스템 메트릭을 수집하려면 Node Exporter라는 작은 에이전트를 설치하고, Prometheus가 이를 스크레이프하도록 설정해야 한다. ...
컨테이너 CPU·메모리·디스크 I/O·네트워크 메트릭은 Prometheus만으로는 보이지 않는다. 호스트에 cAdvisor를 띄워야 컨테이너 메트릭이 /metrics 형식으로 노출된다. 이 글은 공식 가이드(cAdvisor guide)를 기반으로 최소 설치와 Prometheus 연...
이미지를 정렬하는 방법을 정리한 글입니다.
jekyll 블로그 포스팅을 작성할때의 Text 정렬하는 방법을 정리한 글 입니다.
Post글을 작성하면서 사용할 수 있는 기능들을 정리 하였습니다.
GFM(GitHub Flavored Markdown), Jekyll Highlight Tag, GitHub Gist Embed 3가지의 코드 입력 방법을 설명합니다.
jekyll 블로그 포스팅을 작성할때의 Text 정렬하는 방법을 정리한 글 입니다.
Post글을 작성하면서 사용할 수 있는 기능들을 정리 하였습니다.
Spring Boot 애플리케이션에 APM을 얹을 때 가장 먼저 만나는 것이 Actuator다. 하지만 Actuator 자체가 모니터링·알림·대시보드까지 다 해주는 것은 아니다. 이 글은 Actuator가 무엇을 제공하고 무엇을 제공하지 않는지를 분리해 정리한다.
Spring Boot로 REST API를 개발하다 보면 반복되는 고민이 생깁니다.
Spring Boot 개발자라면 누구나 @Transactional을 사용해봤을 거에요. 하지만 단순히 “메서드에 붙이면 트랜잭션이 된다”고 생각하는 것만으로는 충분하지 않습니다.
많은 개발자들이 N+1 문제는 JPA에만 있는 것으로 알고 있습니다. “SQL을 직접 작성하는 MyBatis에는 그런 문제가 없겠지?”라고 생각하죠.
마이바티스를 사용하다 보면 한 가지 반복되는 고민이 생깁니다. 바로 동적 쿼리에서 조건을 어디에 배치할 것인가라는 문제입니다.
많은 개발자들이 N+1 문제는 JPA에만 있는 것으로 알고 있습니다. “SQL을 직접 작성하는 MyBatis에는 그런 문제가 없겠지?”라고 생각하죠.
MyBatis를 사용하여 데이터를 페이징으로 조회할 때, 많은 개발자들이 다음과 같은 방식을 사용하고 있습니다.
마이바티스를 사용하다 보면 한 가지 반복되는 고민이 생깁니다. 바로 동적 쿼리에서 조건을 어디에 배치할 것인가라는 문제입니다.
많은 개발자들이 N+1 문제는 JPA에만 있는 것으로 알고 있습니다. “SQL을 직접 작성하는 MyBatis에는 그런 문제가 없겠지?”라고 생각하죠.
MyBatis를 사용하여 데이터를 페이징으로 조회할 때, 많은 개발자들이 다음과 같은 방식을 사용하고 있습니다.
많은 개발자들이 N+1 문제는 JPA에만 있는 것으로 알고 있습니다. “SQL을 직접 작성하는 MyBatis에는 그런 문제가 없겠지?”라고 생각하죠.
MyBatis를 사용하여 데이터를 페이징으로 조회할 때, 많은 개발자들이 다음과 같은 방식을 사용하고 있습니다.
본 문서는 앞으로의 문서를 작성함에 있어 일관성을 유지할 수 있도록 돕기 위해 작성한 문서 이다. 아래에 정의 되지 않는 문법은 글에 작서하지 않는다.
다양한 일반적인 마크업 예시를 보여줍니다.
여러개의 이미지를 한번에 올릴 수 있는 방법을 정리하였습니다.
이미지를 정렬하는 방법을 정리한 글입니다.
취업을 준비하며 과거의 나의 삶에서 놓친 부분을 되돌아 보았다. 내가 놓친 것은 글쓰기라 생각했고, 놓쳤던 글쓰기를 바로 잡기 위해 글쓰기 블로그를 시작한다.
본 문서는 앞으로의 문서를 작성함에 있어 일관성을 유지할 수 있도록 돕기 위해 작성한 문서 이다. 아래에 정의 되지 않는 문법은 글에 작서하지 않는다.
들어가며 최근에 Github Copilot을 사용하면서, 사용자 정의 지침(Custom Instructions)을 설정하는 것이, 개발 생산성을 크게 향상시킬 수 있다는 것을 깨달았다. 이 글에서는 Copilot의 사용자 정의 지침을 설정하는 방법과 그 효과를 정리해보려 한다.
들어가며 최근 회사 업무를 진행하면서, 시간관리나 업무 관리의 부족함을 자신으로 부터 느끼게 되었다. 개발 관련 지식도 중요하지만 그것 보다 더 중요한 것은 온라인에서의 업무를 얼마다 빠르고 정확하게 처리할 수 있는가 라고 생각했다. 이번 기회에 업무 관리 툴을 선택하고 사용 방법...
들어가며 팀 프로젝트를 진행하면서 frontend 코드와 backend 코드를 GitHub의 다른 레포지토리에 저장하고 있다. 이렇게 관리하니 문제가 발생했다. 버그를 발견했을 때, 이를 해결하기 위해서는 하나의 작업을 하기 위해 각각의 이슈를 찾아야 하는 문제가 발생했다. 이러한...
들어가며 최근 회사 업무를 진행하면서, 업무 중 발생한 파일을 관리하는 방법에 대해서 고민해보게 되었다. 온라인 업무를 진행하면 파일은 필연적으로 발생하게 되어 있다. 이것을 빠르고 정확하게 전달하며 관리하는 것은 오피스 업무ㄹ자에게는 꼭 필요한 능력이다. 나만의 파일 저장 패턴을...
고정 배열(static array)은 생성 시 크기가 결정되어 선택의 폭이 좁습니다. 얼마나 많은 요소를 저장할지 미리 알 수 없을 때 동적 배열(dynamic array)이 필요합니다. Java에서는 ArrayList와 Vector가 동적 배열의 역할을 하지만, 내부 구조와 성능...
JPA를 사용하는 개발자라면 거의 반드시 한 번은 겪게 되는 문제가 있습니다. 바로 N+1 쿼리 문제입니다. 개발 초기에는 괜찮다가, 데이터가 많아지면서 갑자기 수백, 수천 개의 쿼리가 날아가는 걸 보고 당황하게 되죠.
컨테이너 CPU·메모리·디스크 I/O·네트워크 메트릭은 Prometheus만으로는 보이지 않는다. 호스트에 cAdvisor를 띄워야 컨테이너 메트릭이 /metrics 형식으로 노출된다. 이 글은 공식 가이드(cAdvisor guide)를 기반으로 최소 설치와 Prometheus 연...
Docker는 애플리케이션을 컨테이너로 패키징하여 어디서나 일관되게 실행할 수 있도록 하는 플랫폼입니다. 이 문서는 Docker의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
자료구조 목차 정리 페이지입니다. 아래 목차에서 각 자료구조로 연결되는 링크를 통해 상세 설명과 구현 코드를 확인할 수 있습니다.
알고리즘 목차 정리 페이지입니다. 아래 목차에서 각 알고리즘으로 연결되는 링크를 통해 상세 설명과 구현 코드를 확인할 수 있습니다.
자료구조 목차 정리 페이지입니다. 아래 목차에서 각 자료구조로 연결되는 링크를 통해 상세 설명과 구현 코드를 확인할 수 있습니다.
알고리즘 목차 정리 페이지입니다. 아래 목차에서 각 알고리즘으로 연결되는 링크를 통해 상세 설명과 구현 코드를 확인할 수 있습니다.
고정 배열(static array)은 생성 시 크기가 결정되어 선택의 폭이 좁습니다. 얼마나 많은 요소를 저장할지 미리 알 수 없을 때 동적 배열(dynamic array)이 필요합니다. Java에서는 ArrayList와 Vector가 동적 배열의 역할을 하지만, 내부 구조와 성능...
배열은 데이터 구조 중 가장 기본적이면서도 성능·메모리 모델의 핵심을 드러내는 구조입니다. 이 글은 Java를 기준으로 배열의 내부 원리(연속 저장, 주소 산술), 동적 배열(ArrayList)의 리사이즈 동작, 그리고 실무에서의 선택 전략(SoA 리팩터링, ArrayDeque, ...
고정 배열(static array)은 생성 시 크기가 결정되어 선택의 폭이 좁습니다. 얼마나 많은 요소를 저장할지 미리 알 수 없을 때 동적 배열(dynamic array)이 필요합니다. Java에서는 ArrayList와 Vector가 동적 배열의 역할을 하지만, 내부 구조와 성능...
자료구조 목차 정리 페이지입니다. 아래 목차에서 각 자료구조로 연결되는 링크를 통해 상세 설명과 구현 코드를 확인할 수 있습니다.
2010년대 초반 jQuery는 웹 개발의 표준이었습니다. 하지만 시간이 지나면서 React, Vue, Angular 같은 현대적 프레임워크들이 등장했고, 그들은 “상태가 변경되면 화면이 자동으로 업데이트된다”는 혁명적인 개념을 제시했습니다.
jQuery는 DOM 선택/조작, 이벤트 처리, Ajax를 간결하게 제공하는 JavaScript 라이브러리입니다. 실무에서 폼 입력값을 빠르게 수집하고 JSON 객체로 변환하는 데 유용한 메서드(.val(), .prop(), .attr(), .serialize(), .seriali...
리눅스 노드, Docker 컨테이너, Spring Boot Actuator 환경에서 바로 붙여 넣어 쓸 수 있는 최소 PromQL 쿼리만 정리했다. 문법 근거는 Prometheus 공식 문서를 참고한다(PromQL basics, functions, histograms practic...
컨테이너 CPU·메모리·디스크 I/O·네트워크 메트릭은 Prometheus만으로는 보이지 않는다. 호스트에 cAdvisor를 띄워야 컨테이너 메트릭이 /metrics 형식으로 노출된다. 이 글은 공식 가이드(cAdvisor guide)를 기반으로 최소 설치와 Prometheus 연...
APM을 구성하면 Actuator가 데이터를 내보내고 Prometheus가 그것을 모아 보관한다. 하지만 Prometheus가 대시보드나 무제한 보관까지 다 해주는 것은 아니다. 이 글은 Prometheus가 무엇을 해주고 무엇을 해주지 않는지를 실무 관점에서 정리한다.
Prometheus가 메트릭을 모아두면 Grafana는 그 위에 시각화·탐색·Alerting UI를 얹는다. 하지만 Grafana는 데이터를 저장하지 않고, PromQL 쿼리를 그대로 실행해 결과를 보여줄 뿐이다. 이 글은 실무 대화를 통해 정리한 Grafana의 역할과 구체적인 ...
리눅스 노드, Docker 컨테이너, Spring Boot Actuator 환경에서 바로 붙여 넣어 쓸 수 있는 최소 PromQL 쿼리만 정리했다. 문법 근거는 Prometheus 공식 문서를 참고한다(PromQL basics, functions, histograms practic...
Prometheus가 메트릭을 모아두면 Grafana는 그 위에 시각화·탐색·Alerting UI를 얹는다. 하지만 Grafana는 데이터를 저장하지 않고, PromQL 쿼리를 그대로 실행해 결과를 보여줄 뿐이다. 이 글은 실무 대화를 통해 정리한 Grafana의 역할과 구체적인 ...
리눅스 노드, Docker 컨테이너, Spring Boot Actuator 환경에서 바로 붙여 넣어 쓸 수 있는 최소 PromQL 쿼리만 정리했다. 문법 근거는 Prometheus 공식 문서를 참고한다(PromQL basics, functions, histograms practic...
Prometheus만 설치해도 호스트의 CPU·메모리·디스크·네트워크 메트릭이 자동으로 수집되는 것은 아니다. 리눅스/유닉스 환경에서 이런 시스템 메트릭을 수집하려면 Node Exporter라는 작은 에이전트를 설치하고, Prometheus가 이를 스크레이프하도록 설정해야 한다. ...
Spring Boot 애플리케이션에 APM을 얹을 때 가장 먼저 만나는 것이 Actuator다. 하지만 Actuator 자체가 모니터링·알림·대시보드까지 다 해주는 것은 아니다. 이 글은 Actuator가 무엇을 제공하고 무엇을 제공하지 않는지를 분리해 정리한다.
리눅스 노드, Docker 컨테이너, Spring Boot Actuator 환경에서 바로 붙여 넣어 쓸 수 있는 최소 PromQL 쿼리만 정리했다. 문법 근거는 Prometheus 공식 문서를 참고한다(PromQL basics, functions, histograms practic...
“배치가 7시간이나 걸려요. 새벽에 시작해도 업무 시작 전에 안 끝나요.”
매일 새벽 2시, 은행 시스템에서는 수백만 개의 거래 내역을 처리합니다.
GFM(GitHub Flavored Markdown), Jekyll Highlight Tag, GitHub Gist Embed 3가지의 코드 입력 방법을 설명합니다.
다양한 일반적인 마크업 예시를 보여줍니다.
여러개의 이미지를 한번에 올릴 수 있는 방법을 정리하였습니다.
본 문서는 앞으로의 문서를 작성함에 있어 일관성을 유지할 수 있도록 돕기 위해 작성한 문서 이다. 아래에 정의 되지 않는 문법은 글에 작서하지 않는다.
취업을 준비하며 과거의 나의 삶에서 놓친 부분을 되돌아 보았다. 내가 놓친 것은 글쓰기라 생각했고, 놓쳤던 글쓰기를 바로 잡기 위해 글쓰기 블로그를 시작한다.
취업을 준비하며 과거의 나의 삶에서 놓친 부분을 되돌아 보았다. 내가 놓친 것은 글쓰기라 생각했고, 놓쳤던 글쓰기를 바로 잡기 위해 글쓰기 블로그를 시작한다.
취업을 준비하며 과거의 나의 삶에서 놓친 부분을 되돌아 보았다. 내가 놓친 것은 글쓰기라 생각했고, 놓쳤던 글쓰기를 바로 잡기 위해 글쓰기 블로그를 시작한다.
들어가며 최근 회사 업무를 진행하면서, 시간관리나 업무 관리의 부족함을 자신으로 부터 느끼게 되었다. 개발 관련 지식도 중요하지만 그것 보다 더 중요한 것은 온라인에서의 업무를 얼마다 빠르고 정확하게 처리할 수 있는가 라고 생각했다. 이번 기회에 업무 관리 툴을 선택하고 사용 방법...
들어가며 최근 회사 업무를 진행하면서, 시간관리나 업무 관리의 부족함을 자신으로 부터 느끼게 되었다. 개발 관련 지식도 중요하지만 그것 보다 더 중요한 것은 온라인에서의 업무를 얼마다 빠르고 정확하게 처리할 수 있는가 라고 생각했다. 이번 기회에 업무 관리 툴을 선택하고 사용 방법...
들어가며 최근 회사 업무를 진행하면서, 시간관리나 업무 관리의 부족함을 자신으로 부터 느끼게 되었다. 개발 관련 지식도 중요하지만 그것 보다 더 중요한 것은 온라인에서의 업무를 얼마다 빠르고 정확하게 처리할 수 있는가 라고 생각했다. 이번 기회에 업무 관리 툴을 선택하고 사용 방법...
들어가며 최근 회사 업무를 진행하면서, 시간관리나 업무 관리의 부족함을 자신으로 부터 느끼게 되었다. 개발 관련 지식도 중요하지만 그것 보다 더 중요한 것은 온라인에서의 업무를 얼마다 빠르고 정확하게 처리할 수 있는가 라고 생각했다. 이번 기회에 업무 관리 툴을 선택하고 사용 방법...
들어가며 최근 회사 업무를 진행하면서, 업무 중 발생한 파일을 관리하는 방법에 대해서 고민해보게 되었다. 온라인 업무를 진행하면 파일은 필연적으로 발생하게 되어 있다. 이것을 빠르고 정확하게 전달하며 관리하는 것은 오피스 업무ㄹ자에게는 꼭 필요한 능력이다. 나만의 파일 저장 패턴을...
들어가며 최근 회사 업무를 진행하면서, 업무 중 발생한 파일을 관리하는 방법에 대해서 고민해보게 되었다. 온라인 업무를 진행하면 파일은 필연적으로 발생하게 되어 있다. 이것을 빠르고 정확하게 전달하며 관리하는 것은 오피스 업무ㄹ자에게는 꼭 필요한 능력이다. 나만의 파일 저장 패턴을...
들어가며 최근 회사 업무를 진행하면서, 업무 중 발생한 파일을 관리하는 방법에 대해서 고민해보게 되었다. 온라인 업무를 진행하면 파일은 필연적으로 발생하게 되어 있다. 이것을 빠르고 정확하게 전달하며 관리하는 것은 오피스 업무ㄹ자에게는 꼭 필요한 능력이다. 나만의 파일 저장 패턴을...
들어가며 최근 회사 업무를 진행하면서, 업무 중 발생한 파일을 관리하는 방법에 대해서 고민해보게 되었다. 온라인 업무를 진행하면 파일은 필연적으로 발생하게 되어 있다. 이것을 빠르고 정확하게 전달하며 관리하는 것은 오피스 업무ㄹ자에게는 꼭 필요한 능력이다. 나만의 파일 저장 패턴을...
들어가며 팀 프로젝트를 진행하면서 frontend 코드와 backend 코드를 GitHub의 다른 레포지토리에 저장하고 있다. 이렇게 관리하니 문제가 발생했다. 버그를 발견했을 때, 이를 해결하기 위해서는 하나의 작업을 하기 위해 각각의 이슈를 찾아야 하는 문제가 발생했다. 이러한...
들어가며 팀 프로젝트를 진행하면서 frontend 코드와 backend 코드를 GitHub의 다른 레포지토리에 저장하고 있다. 이렇게 관리하니 문제가 발생했다. 버그를 발견했을 때, 이를 해결하기 위해서는 하나의 작업을 하기 위해 각각의 이슈를 찾아야 하는 문제가 발생했다. 이러한...
들어가며 최근에 Github Copilot을 사용하면서, 사용자 정의 지침(Custom Instructions)을 설정하는 것이, 개발 생산성을 크게 향상시킬 수 있다는 것을 깨달았다. 이 글에서는 Copilot의 사용자 정의 지침을 설정하는 방법과 그 효과를 정리해보려 한다.
들어가며 최근에 Github Copilot을 사용하면서, 사용자 정의 지침(Custom Instructions)을 설정하는 것이, 개발 생산성을 크게 향상시킬 수 있다는 것을 깨달았다. 이 글에서는 Copilot의 사용자 정의 지침을 설정하는 방법과 그 효과를 정리해보려 한다.
들어가며 최근에 Github Copilot을 사용하면서, 사용자 정의 지침(Custom Instructions)을 설정하는 것이, 개발 생산성을 크게 향상시킬 수 있다는 것을 깨달았다. 이 글에서는 Copilot의 사용자 정의 지침을 설정하는 방법과 그 효과를 정리해보려 한다.
@Component는 왜 사용하는 걸까?
Spring 프레임워크에서 @Component 어노테이션은 매우 중요한 역할을 합니다. 이 글에서는 @Component가 왜 생겨났는지, 어떤 역할을 하는지, 그리고 어떻게 사용하는지에 대해 알아보겠습니다.
@Component는 왜 사용하는 걸까?
Spring 프레임워크에서 @Component 어노테이션은 매우 중요한 역할을 합니다. 이 글에서는 @Component가 왜 생겨났는지, 어떤 역할을 하는지, 그리고 어떻게 사용하는지에 대해 알아보겠습니다.
@Component는 왜 사용하는 걸까?
Spring 프레임워크에서 @Component 어노테이션은 매우 중요한 역할을 합니다. 이 글에서는 @Component가 왜 생겨났는지, 어떤 역할을 하는지, 그리고 어떻게 사용하는지에 대해 알아보겠습니다.
@Component는 왜 사용하는 걸까?
Spring 프레임워크에서 @Component 어노테이션은 매우 중요한 역할을 합니다. 이 글에서는 @Component가 왜 생겨났는지, 어떤 역할을 하는지, 그리고 어떻게 사용하는지에 대해 알아보겠습니다.
Spring Boot 개발자라면 누구나 @Transactional을 사용해봤을 거에요. 하지만 단순히 “메서드에 붙이면 트랜잭션이 된다”고 생각하는 것만으로는 충분하지 않습니다.
Spring Boot 개발자라면 누구나 @Transactional을 사용해봤을 거에요. 하지만 단순히 “메서드에 붙이면 트랜잭션이 된다”고 생각하는 것만으로는 충분하지 않습니다.
Spring Boot 개발자라면 누구나 @Transactional을 사용해봤을 거에요. 하지만 단순히 “메서드에 붙이면 트랜잭션이 된다”고 생각하는 것만으로는 충분하지 않습니다.
Spring Boot 개발자라면 누구나 @Transactional을 사용해봤을 거에요. 하지만 단순히 “메서드에 붙이면 트랜잭션이 된다”고 생각하는 것만으로는 충분하지 않습니다.
Spring Boot 개발자라면 누구나 @Transactional을 사용해봤을 거에요. 하지만 단순히 “메서드에 붙이면 트랜잭션이 된다”고 생각하는 것만으로는 충분하지 않습니다.
JPA를 사용하는 개발자라면 거의 반드시 한 번은 겪게 되는 문제가 있습니다. 바로 N+1 쿼리 문제입니다. 개발 초기에는 괜찮다가, 데이터가 많아지면서 갑자기 수백, 수천 개의 쿼리가 날아가는 걸 보고 당황하게 되죠.
JPA를 사용하는 개발자라면 거의 반드시 한 번은 겪게 되는 문제가 있습니다. 바로 N+1 쿼리 문제입니다. 개발 초기에는 괜찮다가, 데이터가 많아지면서 갑자기 수백, 수천 개의 쿼리가 날아가는 걸 보고 당황하게 되죠.
JPA를 사용하는 개발자라면 거의 반드시 한 번은 겪게 되는 문제가 있습니다. 바로 N+1 쿼리 문제입니다. 개발 초기에는 괜찮다가, 데이터가 많아지면서 갑자기 수백, 수천 개의 쿼리가 날아가는 걸 보고 당황하게 되죠.
JPA를 사용하는 개발자라면 거의 반드시 한 번은 겪게 되는 문제가 있습니다. 바로 N+1 쿼리 문제입니다. 개발 초기에는 괜찮다가, 데이터가 많아지면서 갑자기 수백, 수천 개의 쿼리가 날아가는 걸 보고 당황하게 되죠.
JPA를 사용하는 개발자라면 거의 반드시 한 번은 겪게 되는 문제가 있습니다. 바로 N+1 쿼리 문제입니다. 개발 초기에는 괜찮다가, 데이터가 많아지면서 갑자기 수백, 수천 개의 쿼리가 날아가는 걸 보고 당황하게 되죠.
마이바티스를 사용하다 보면 한 가지 반복되는 고민이 생깁니다. 바로 동적 쿼리에서 조건을 어디에 배치할 것인가라는 문제입니다.
마이바티스를 사용하다 보면 한 가지 반복되는 고민이 생깁니다. 바로 동적 쿼리에서 조건을 어디에 배치할 것인가라는 문제입니다.
마이바티스를 사용하다 보면 한 가지 반복되는 고민이 생깁니다. 바로 동적 쿼리에서 조건을 어디에 배치할 것인가라는 문제입니다.
마이바티스를 사용하다 보면 한 가지 반복되는 고민이 생깁니다. 바로 동적 쿼리에서 조건을 어디에 배치할 것인가라는 문제입니다.
MyBatis를 사용하여 데이터를 페이징으로 조회할 때, 많은 개발자들이 다음과 같은 방식을 사용하고 있습니다.
MyBatis를 사용하여 데이터를 페이징으로 조회할 때, 많은 개발자들이 다음과 같은 방식을 사용하고 있습니다.
MyBatis를 사용하여 데이터를 페이징으로 조회할 때, 많은 개발자들이 다음과 같은 방식을 사용하고 있습니다.
MyBatis를 사용하여 데이터를 페이징으로 조회할 때, 많은 개발자들이 다음과 같은 방식을 사용하고 있습니다.
MyBatis를 사용하여 데이터를 페이징으로 조회할 때, 많은 개발자들이 다음과 같은 방식을 사용하고 있습니다.
많은 개발자들이 N+1 문제는 JPA에만 있는 것으로 알고 있습니다. “SQL을 직접 작성하는 MyBatis에는 그런 문제가 없겠지?”라고 생각하죠.
많은 개발자들이 N+1 문제는 JPA에만 있는 것으로 알고 있습니다. “SQL을 직접 작성하는 MyBatis에는 그런 문제가 없겠지?”라고 생각하죠.
Docker는 애플리케이션을 컨테이너로 패키징하여 어디서나 일관되게 실행할 수 있도록 하는 플랫폼입니다. 이 문서는 Docker의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
Git은 분산 버전 관리 시스템으로, 소스 코드의 변경 이력을 추적하고 여러 개발자가 협업할 수 있도록 지원합니다. 이 문서는 Git의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
Git은 분산 버전 관리 시스템으로, 소스 코드의 변경 이력을 추적하고 여러 개발자가 협업할 수 있도록 지원합니다. 이 문서는 Git의 필수 명령어를 빠르게 찾아보고 실무에 바로 적용할 수 있도록 정리했습니다.
비지니스 로직이 복잡해 지면서 Service 레이어의 코드가 복잡해지기 시작했습니다. 특히 DTO를 VO로 변환할 때 문제가 두드러졌습니다. 해당 문제는 로직의 가독성을 크게 떨어뜨렸습니다.
비지니스 로직이 복잡해 지면서 Service 레이어의 코드가 복잡해지기 시작했습니다. 특히 DTO를 VO로 변환할 때 문제가 두드러졌습니다. 해당 문제는 로직의 가독성을 크게 떨어뜨렸습니다.
비지니스 로직이 복잡해 지면서 Service 레이어의 코드가 복잡해지기 시작했습니다. 특히 DTO를 VO로 변환할 때 문제가 두드러졌습니다. 해당 문제는 로직의 가독성을 크게 떨어뜨렸습니다.
비지니스 로직이 복잡해 지면서 Service 레이어의 코드가 복잡해지기 시작했습니다. 특히 DTO를 VO로 변환할 때 문제가 두드러졌습니다. 해당 문제는 로직의 가독성을 크게 떨어뜨렸습니다.
비지니스 로직이 복잡해 지면서 Service 레이어의 코드가 복잡해지기 시작했습니다. 특히 DTO를 VO로 변환할 때 문제가 두드러졌습니다. 해당 문제는 로직의 가독성을 크게 떨어뜨렸습니다.
비지니스 로직이 복잡해 지면서 Service 레이어의 코드가 복잡해지기 시작했습니다. 특히 DTO를 VO로 변환할 때 문제가 두드러졌습니다. 해당 문제는 로직의 가독성을 크게 떨어뜨렸습니다.
Jenkinsfile은 Jenkins Pipeline을 코드로 정의하는 파일입니다. 프로젝트 저장소의 루트 디렉토리에 위치하며, 빌드, 테스트, 배포 등의 자동화 프로세스를 Groovy 기반의 선언형(Declarative) 또는 스크립트형(Scripted) 문법으로 작성합니다.
Jenkinsfile은 Jenkins Pipeline을 코드로 정의하는 파일입니다. 프로젝트 저장소의 루트 디렉토리에 위치하며, 빌드, 테스트, 배포 등의 자동화 프로세스를 Groovy 기반의 선언형(Declarative) 또는 스크립트형(Scripted) 문법으로 작성합니다.
Jenkinsfile은 Jenkins Pipeline을 코드로 정의하는 파일입니다. 프로젝트 저장소의 루트 디렉토리에 위치하며, 빌드, 테스트, 배포 등의 자동화 프로세스를 Groovy 기반의 선언형(Declarative) 또는 스크립트형(Scripted) 문법으로 작성합니다.
Jenkinsfile은 Jenkins Pipeline을 코드로 정의하는 파일입니다. 프로젝트 저장소의 루트 디렉토리에 위치하며, 빌드, 테스트, 배포 등의 자동화 프로세스를 Groovy 기반의 선언형(Declarative) 또는 스크립트형(Scripted) 문법으로 작성합니다.
Jenkinsfile은 Jenkins Pipeline을 코드로 정의하는 파일입니다. 프로젝트 저장소의 루트 디렉토리에 위치하며, 빌드, 테스트, 배포 등의 자동화 프로세스를 Groovy 기반의 선언형(Declarative) 또는 스크립트형(Scripted) 문법으로 작성합니다.
Spring Boot로 REST API를 개발하다 보면 반복되는 고민이 생깁니다.
Spring Boot로 REST API를 개발하다 보면 반복되는 고민이 생깁니다.
Spring Boot로 REST API를 개발하다 보면 반복되는 고민이 생깁니다.
Spring Boot로 REST API를 개발하다 보면 반복되는 고민이 생깁니다.
Spring Boot로 REST API를 개발하다 보면 반복되는 고민이 생깁니다.
Spring Framework를 매일 사용하면서도, 그 아래에서 JVM이 메모리를 어떻게 관리하는지 생각해본 적 있으신가요?
Spring Framework를 매일 사용하면서도, 그 아래에서 JVM이 메모리를 어떻게 관리하는지 생각해본 적 있으신가요?
Spring Framework를 매일 사용하면서도, 그 아래에서 JVM이 메모리를 어떻게 관리하는지 생각해본 적 있으신가요?
Spring Framework를 매일 사용하면서도, 그 아래에서 JVM이 메모리를 어떻게 관리하는지 생각해본 적 있으신가요?
Spring Framework를 매일 사용하면서도, 그 아래에서 JVM이 메모리를 어떻게 관리하는지 생각해본 적 있으신가요?
Spring Framework를 매일 사용하면서도, 그 아래에서 JVM이 메모리를 어떻게 관리하는지 생각해본 적 있으신가요?
알고리즘 목차 정리 페이지입니다. 아래 목차에서 각 알고리즘으로 연결되는 링크를 통해 상세 설명과 구현 코드를 확인할 수 있습니다.
알고리즘 목차 정리 페이지입니다. 아래 목차에서 각 알고리즘으로 연결되는 링크를 통해 상세 설명과 구현 코드를 확인할 수 있습니다.
배열은 데이터 구조 중 가장 기본적이면서도 성능·메모리 모델의 핵심을 드러내는 구조입니다. 이 글은 Java를 기준으로 배열의 내부 원리(연속 저장, 주소 산술), 동적 배열(ArrayList)의 리사이즈 동작, 그리고 실무에서의 선택 전략(SoA 리팩터링, ArrayDeque, ...
배열은 데이터 구조 중 가장 기본적이면서도 성능·메모리 모델의 핵심을 드러내는 구조입니다. 이 글은 Java를 기준으로 배열의 내부 원리(연속 저장, 주소 산술), 동적 배열(ArrayList)의 리사이즈 동작, 그리고 실무에서의 선택 전략(SoA 리팩터링, ArrayDeque, ...
배열은 데이터 구조 중 가장 기본적이면서도 성능·메모리 모델의 핵심을 드러내는 구조입니다. 이 글은 Java를 기준으로 배열의 내부 원리(연속 저장, 주소 산술), 동적 배열(ArrayList)의 리사이즈 동작, 그리고 실무에서의 선택 전략(SoA 리팩터링, ArrayDeque, ...
배열은 데이터 구조 중 가장 기본적이면서도 성능·메모리 모델의 핵심을 드러내는 구조입니다. 이 글은 Java를 기준으로 배열의 내부 원리(연속 저장, 주소 산술), 동적 배열(ArrayList)의 리사이즈 동작, 그리고 실무에서의 선택 전략(SoA 리팩터링, ArrayDeque, ...
배열은 데이터 구조 중 가장 기본적이면서도 성능·메모리 모델의 핵심을 드러내는 구조입니다. 이 글은 Java를 기준으로 배열의 내부 원리(연속 저장, 주소 산술), 동적 배열(ArrayList)의 리사이즈 동작, 그리고 실무에서의 선택 전략(SoA 리팩터링, ArrayDeque, ...
자료구조 목차 정리 페이지입니다. 아래 목차에서 각 자료구조로 연결되는 링크를 통해 상세 설명과 구현 코드를 확인할 수 있습니다.
고정 배열(static array)은 생성 시 크기가 결정되어 선택의 폭이 좁습니다. 얼마나 많은 요소를 저장할지 미리 알 수 없을 때 동적 배열(dynamic array)이 필요합니다. Java에서는 ArrayList와 Vector가 동적 배열의 역할을 하지만, 내부 구조와 성능...
고정 배열(static array)은 생성 시 크기가 결정되어 선택의 폭이 좁습니다. 얼마나 많은 요소를 저장할지 미리 알 수 없을 때 동적 배열(dynamic array)이 필요합니다. Java에서는 ArrayList와 Vector가 동적 배열의 역할을 하지만, 내부 구조와 성능...
고정 배열(static array)은 생성 시 크기가 결정되어 선택의 폭이 좁습니다. 얼마나 많은 요소를 저장할지 미리 알 수 없을 때 동적 배열(dynamic array)이 필요합니다. Java에서는 ArrayList와 Vector가 동적 배열의 역할을 하지만, 내부 구조와 성능...
고정 배열(static array)은 생성 시 크기가 결정되어 선택의 폭이 좁습니다. 얼마나 많은 요소를 저장할지 미리 알 수 없을 때 동적 배열(dynamic array)이 필요합니다. Java에서는 ArrayList와 Vector가 동적 배열의 역할을 하지만, 내부 구조와 성능...
고정 배열(static array)은 생성 시 크기가 결정되어 선택의 폭이 좁습니다. 얼마나 많은 요소를 저장할지 미리 알 수 없을 때 동적 배열(dynamic array)이 필요합니다. Java에서는 ArrayList와 Vector가 동적 배열의 역할을 하지만, 내부 구조와 성능...
jQuery는 DOM 선택/조작, 이벤트 처리, Ajax를 간결하게 제공하는 JavaScript 라이브러리입니다. 실무에서 폼 입력값을 빠르게 수집하고 JSON 객체로 변환하는 데 유용한 메서드(.val(), .prop(), .attr(), .serialize(), .seriali...
컨테이너 CPU·메모리·디스크 I/O·네트워크 메트릭은 Prometheus만으로는 보이지 않는다. 호스트에 cAdvisor를 띄워야 컨테이너 메트릭이 /metrics 형식으로 노출된다. 이 글은 공식 가이드(cAdvisor guide)를 기반으로 최소 설치와 Prometheus 연...
Prometheus가 메트릭을 모아두면 Grafana는 그 위에 시각화·탐색·Alerting UI를 얹는다. 하지만 Grafana는 데이터를 저장하지 않고, PromQL 쿼리를 그대로 실행해 결과를 보여줄 뿐이다. 이 글은 실무 대화를 통해 정리한 Grafana의 역할과 구체적인 ...
Prometheus가 메트릭을 모아두면 Grafana는 그 위에 시각화·탐색·Alerting UI를 얹는다. 하지만 Grafana는 데이터를 저장하지 않고, PromQL 쿼리를 그대로 실행해 결과를 보여줄 뿐이다. 이 글은 실무 대화를 통해 정리한 Grafana의 역할과 구체적인 ...
Prometheus가 메트릭을 모아두면 Grafana는 그 위에 시각화·탐색·Alerting UI를 얹는다. 하지만 Grafana는 데이터를 저장하지 않고, PromQL 쿼리를 그대로 실행해 결과를 보여줄 뿐이다. 이 글은 실무 대화를 통해 정리한 Grafana의 역할과 구체적인 ...
Prometheus만 설치해도 호스트의 CPU·메모리·디스크·네트워크 메트릭이 자동으로 수집되는 것은 아니다. 리눅스/유닉스 환경에서 이런 시스템 메트릭을 수집하려면 Node Exporter라는 작은 에이전트를 설치하고, Prometheus가 이를 스크레이프하도록 설정해야 한다. ...
Prometheus만 설치해도 호스트의 CPU·메모리·디스크·네트워크 메트릭이 자동으로 수집되는 것은 아니다. 리눅스/유닉스 환경에서 이런 시스템 메트릭을 수집하려면 Node Exporter라는 작은 에이전트를 설치하고, Prometheus가 이를 스크레이프하도록 설정해야 한다. ...
APM을 구성하면 Actuator가 데이터를 내보내고 Prometheus가 그것을 모아 보관한다. 하지만 Prometheus가 대시보드나 무제한 보관까지 다 해주는 것은 아니다. 이 글은 Prometheus가 무엇을 해주고 무엇을 해주지 않는지를 실무 관점에서 정리한다.
APM을 구성하면 Actuator가 데이터를 내보내고 Prometheus가 그것을 모아 보관한다. 하지만 Prometheus가 대시보드나 무제한 보관까지 다 해주는 것은 아니다. 이 글은 Prometheus가 무엇을 해주고 무엇을 해주지 않는지를 실무 관점에서 정리한다.
리눅스 노드, Docker 컨테이너, Spring Boot Actuator 환경에서 바로 붙여 넣어 쓸 수 있는 최소 PromQL 쿼리만 정리했다. 문법 근거는 Prometheus 공식 문서를 참고한다(PromQL basics, functions, histograms practic...
Spring Boot 애플리케이션에 APM을 얹을 때 가장 먼저 만나는 것이 Actuator다. 하지만 Actuator 자체가 모니터링·알림·대시보드까지 다 해주는 것은 아니다. 이 글은 Actuator가 무엇을 제공하고 무엇을 제공하지 않는지를 분리해 정리한다.
Spring Boot 애플리케이션에 APM을 얹을 때 가장 먼저 만나는 것이 Actuator다. 하지만 Actuator 자체가 모니터링·알림·대시보드까지 다 해주는 것은 아니다. 이 글은 Actuator가 무엇을 제공하고 무엇을 제공하지 않는지를 분리해 정리한다.
2010년대 초반 jQuery는 웹 개발의 표준이었습니다. 하지만 시간이 지나면서 React, Vue, Angular 같은 현대적 프레임워크들이 등장했고, 그들은 “상태가 변경되면 화면이 자동으로 업데이트된다”는 혁명적인 개념을 제시했습니다.
2010년대 초반 jQuery는 웹 개발의 표준이었습니다. 하지만 시간이 지나면서 React, Vue, Angular 같은 현대적 프레임워크들이 등장했고, 그들은 “상태가 변경되면 화면이 자동으로 업데이트된다”는 혁명적인 개념을 제시했습니다.
2010년대 초반 jQuery는 웹 개발의 표준이었습니다. 하지만 시간이 지나면서 React, Vue, Angular 같은 현대적 프레임워크들이 등장했고, 그들은 “상태가 변경되면 화면이 자동으로 업데이트된다”는 혁명적인 개념을 제시했습니다.
2010년대 초반 jQuery는 웹 개발의 표준이었습니다. 하지만 시간이 지나면서 React, Vue, Angular 같은 현대적 프레임워크들이 등장했고, 그들은 “상태가 변경되면 화면이 자동으로 업데이트된다”는 혁명적인 개념을 제시했습니다.
2010년대 초반 jQuery는 웹 개발의 표준이었습니다. 하지만 시간이 지나면서 React, Vue, Angular 같은 현대적 프레임워크들이 등장했고, 그들은 “상태가 변경되면 화면이 자동으로 업데이트된다”는 혁명적인 개념을 제시했습니다.
현대의 웹 개발자라면 당연히 사용하는 API 호출. 하지만 이 기술이 어떻게 진화해왔는지, 그리고 왜 현재의 형태로 정착하게 됐는지 생각해본 적 있나요?
현대의 웹 개발자라면 당연히 사용하는 API 호출. 하지만 이 기술이 어떻게 진화해왔는지, 그리고 왜 현재의 형태로 정착하게 됐는지 생각해본 적 있나요?
현대의 웹 개발자라면 당연히 사용하는 API 호출. 하지만 이 기술이 어떻게 진화해왔는지, 그리고 왜 현재의 형태로 정착하게 됐는지 생각해본 적 있나요?
현대의 웹 개발자라면 당연히 사용하는 API 호출. 하지만 이 기술이 어떻게 진화해왔는지, 그리고 왜 현재의 형태로 정착하게 됐는지 생각해본 적 있나요?
현대의 웹 개발자라면 당연히 사용하는 API 호출. 하지만 이 기술이 어떻게 진화해왔는지, 그리고 왜 현재의 형태로 정착하게 됐는지 생각해본 적 있나요?
현대의 웹 개발자라면 당연히 사용하는 API 호출. 하지만 이 기술이 어떻게 진화해왔는지, 그리고 왜 현재의 형태로 정착하게 됐는지 생각해본 적 있나요?
프론트엔드 프로젝트가 커지면서 가장 먼저 복잡해지는 부분이 API 호출 관리입니다. 처음엔 간단하게 컴포넌트에서 직접 fetch나 axios를 호출하다가, 어느 순간 같은 API를 여러 페이지에서 중복 호출하고, API 엔드포인트가 변경되면 프로젝트 전체를 뒤져야 하는 상황에 직면...
프론트엔드 프로젝트가 커지면서 가장 먼저 복잡해지는 부분이 API 호출 관리입니다. 처음엔 간단하게 컴포넌트에서 직접 fetch나 axios를 호출하다가, 어느 순간 같은 API를 여러 페이지에서 중복 호출하고, API 엔드포인트가 변경되면 프로젝트 전체를 뒤져야 하는 상황에 직면...
프론트엔드 프로젝트가 커지면서 가장 먼저 복잡해지는 부분이 API 호출 관리입니다. 처음엔 간단하게 컴포넌트에서 직접 fetch나 axios를 호출하다가, 어느 순간 같은 API를 여러 페이지에서 중복 호출하고, API 엔드포인트가 변경되면 프로젝트 전체를 뒤져야 하는 상황에 직면...
프론트엔드 프로젝트가 커지면서 가장 먼저 복잡해지는 부분이 API 호출 관리입니다. 처음엔 간단하게 컴포넌트에서 직접 fetch나 axios를 호출하다가, 어느 순간 같은 API를 여러 페이지에서 중복 호출하고, API 엔드포인트가 변경되면 프로젝트 전체를 뒤져야 하는 상황에 직면...
프론트엔드 프로젝트가 커지면서 가장 먼저 복잡해지는 부분이 API 호출 관리입니다. 처음엔 간단하게 컴포넌트에서 직접 fetch나 axios를 호출하다가, 어느 순간 같은 API를 여러 페이지에서 중복 호출하고, API 엔드포인트가 변경되면 프로젝트 전체를 뒤져야 하는 상황에 직면...
프론트엔드 프로젝트가 커지면서 가장 먼저 복잡해지는 부분이 API 호출 관리입니다. 처음엔 간단하게 컴포넌트에서 직접 fetch나 axios를 호출하다가, 어느 순간 같은 API를 여러 페이지에서 중복 호출하고, API 엔드포인트가 변경되면 프로젝트 전체를 뒤져야 하는 상황에 직면...
이번 글은 “애플리케이션 내부에는 null이 없다” 라는 전제에서 출발한다. 문자열/객체형은 null을 허용하지 않고, null이 가능한 경우에만 변수명에 orNull을 명시한다. 이 전제를 지키면 팀 내부 규칙이 아주 단순해진다.
이번 글은 “애플리케이션 내부에는 null이 없다” 라는 전제에서 출발한다. 문자열/객체형은 null을 허용하지 않고, null이 가능한 경우에만 변수명에 orNull을 명시한다. 이 전제를 지키면 팀 내부 규칙이 아주 단순해진다.
이번 글은 “애플리케이션 내부에는 null이 없다” 라는 전제에서 출발한다. 문자열/객체형은 null을 허용하지 않고, null이 가능한 경우에만 변수명에 orNull을 명시한다. 이 전제를 지키면 팀 내부 규칙이 아주 단순해진다.
이번 글은 “애플리케이션 내부에는 null이 없다” 라는 전제에서 출발한다. 문자열/객체형은 null을 허용하지 않고, null이 가능한 경우에만 변수명에 orNull을 명시한다. 이 전제를 지키면 팀 내부 규칙이 아주 단순해진다.
이번 글은 “애플리케이션 내부에는 null이 없다” 라는 전제에서 출발한다. 문자열/객체형은 null을 허용하지 않고, null이 가능한 경우에만 변수명에 orNull을 명시한다. 이 전제를 지키면 팀 내부 규칙이 아주 단순해진다.
이번 글은 “애플리케이션 내부에는 null이 없다” 라는 전제에서 출발한다. 문자열/객체형은 null을 허용하지 않고, null이 가능한 경우에만 변수명에 orNull을 명시한다. 이 전제를 지키면 팀 내부 규칙이 아주 단순해진다.
이번 글은 “애플리케이션 내부에는 null이 없다” 라는 전제에서 출발한다. 문자열/객체형은 null을 허용하지 않고, null이 가능한 경우에만 변수명에 orNull을 명시한다. 이 전제를 지키면 팀 내부 규칙이 아주 단순해진다.
매일 새벽 2시, 은행 시스템에서는 수백만 개의 거래 내역을 처리합니다.
매일 새벽 2시, 은행 시스템에서는 수백만 개의 거래 내역을 처리합니다.
매일 새벽 2시, 은행 시스템에서는 수백만 개의 거래 내역을 처리합니다.
매일 새벽 2시, 은행 시스템에서는 수백만 개의 거래 내역을 처리합니다.
매일 새벽 2시, 은행 시스템에서는 수백만 개의 거래 내역을 처리합니다.
Windows 명령 프롬프트(Command Prompt, CMD)는 Windows 운영체제의 기본 커맨드 라인 인터페이스입니다. 파일 및 디렉토리 관리, 시스템 정보 조회, 네트워크 설정 등 다양한 시스템 작업을 수행할 수 있습니다. 이 문서는 자주 사용되는 CMD 명령어들을 카테...
Windows 명령 프롬프트(Command Prompt, CMD)는 Windows 운영체제의 기본 커맨드 라인 인터페이스입니다. 파일 및 디렉토리 관리, 시스템 정보 조회, 네트워크 설정 등 다양한 시스템 작업을 수행할 수 있습니다. 이 문서는 자주 사용되는 CMD 명령어들을 카테...
Windows 명령 프롬프트(Command Prompt, CMD)는 Windows 운영체제의 기본 커맨드 라인 인터페이스입니다. 파일 및 디렉토리 관리, 시스템 정보 조회, 네트워크 설정 등 다양한 시스템 작업을 수행할 수 있습니다. 이 문서는 자주 사용되는 CMD 명령어들을 카테...
“배치가 7시간이나 걸려요. 새벽에 시작해도 업무 시작 전에 안 끝나요.”
“배치가 7시간이나 걸려요. 새벽에 시작해도 업무 시작 전에 안 끝나요.”
“배치가 7시간이나 걸려요. 새벽에 시작해도 업무 시작 전에 안 끝나요.”
“배치가 7시간이나 걸려요. 새벽에 시작해도 업무 시작 전에 안 끝나요.”
“배치가 7시간이나 걸려요. 새벽에 시작해도 업무 시작 전에 안 끝나요.”
Java의 assert는 개발자들 사이에서 “있지만 거의 쓰지 않는” 기능으로 취급받습니다. 왜일까요?
Java의 assert는 개발자들 사이에서 “있지만 거의 쓰지 않는” 기능으로 취급받습니다. 왜일까요?
Java의 assert는 개발자들 사이에서 “있지만 거의 쓰지 않는” 기능으로 취급받습니다. 왜일까요?
Java의 assert는 개발자들 사이에서 “있지만 거의 쓰지 않는” 기능으로 취급받습니다. 왜일까요?
Java의 assert는 개발자들 사이에서 “있지만 거의 쓰지 않는” 기능으로 취급받습니다. 왜일까요?
Java의 assert는 개발자들 사이에서 “있지만 거의 쓰지 않는” 기능으로 취급받습니다. 왜일까요?