최신글

[Docker] 도커 볼륨 설정법 및 개념 정리 Docker Volume
·
Infra & DevOps
Docker Volume 도커로 컨테이너를 띄우면 독립적인 컴퓨터 환경을 구성하는 것과 같다.기본적으로 저장 공간도 마찬가지로, 외부와 공유되지 않는다. 컨테이너 내부 저장공간은 컨테이너 내부에서만 사용할 수 있다. 따라서 컨테이너를 삭제하면 컨테이너 내부 파일 시스템에 있던 데이터도 함께 사라진다. 컨테이너가 삭제되어도, 내부에 저장된 데이터가 삭제되면 안되는 경우에 볼륨(Volume)이라는 개념을 활용한다. 볼륨은 컨테이너 자체의 저장공간을 사용하지 않고, 호스트 컴퓨터의 저장공간을 공유해서 사용하는 형태이다. 이렇게 하면 컨테이너 삭제 여부와는 관련없이 호스트 컴퓨터의 저장공간에 데이터가 남아있기 때문에 데이터를 영속적으로 저장할 수 있다. 볼륨 설정 방법컨테이너 실행 시에 -v 옵션으로 호스트 P..
[Docker] 도커 기본 명령어 정리 / docker CLI commands
·
Infra & DevOps
현업에서 도커를 사용하면서, 자주 사용하게 되는 명령어들을 정리하려고 한다.본인도 아직 도커를 사용하는 "방법만" 알 뿐, 도커에 대해서 깊게는 알지 못하지만, 정리해놓고 참고하기 위해 작성한다. Mac 기준으로 작성되었으니, 참고하세요.Docker 상태 확인 > docker -vdocker -vdocker version 이미지 관련 명령어이미지 목록 확인 > docker images# 둘다 출력은 동일하다.docker imagesdocker image ls이미지 다운로드 > docker pull [ image_name : tag_name ]아무 옵션도 주지 않으면 latest 태그가 붙은 이미지가 pull 된다.docker pull nginx태그를 붙이면 해당 태그의 이미지가 pull 된다.docker..
[Docker] 도커 시작하기 / Docker 컨테이너 올리기
·
Infra & DevOps
도커(Docker)란?도커(docker)는 컨테이너 기반 가상화 플랫폼이다. 여러 응용 프로그램들을 컨테이너로 패키징 해서 실행할 수 있다.각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있다.이 글에선 도커를 간단하게 시작하고, 주요 명령어들을 확인하기 위한 예제를 위해 DB를 하나 띄워볼 것이다. 컨테이너(Container) 란? 컨테이너는 하나의 호스트 컴퓨터 내에서 독립적인 컴퓨터 환경을 구성해서, 각 환경(컨테이너)에 프로그램을 별도로 설치할 수 있게 만든 개념이다. 호스트 OS의 커널을 공유하기 때문에, 가상머신보다 빠르고 자원을 적게 사용한다.프로세스 단위로 격리되어서 OS는 공유하지만 애플리케이션 실행 환경은 분리된다.따라서 배포/확장/롤백이 쉽고, 개발-운영 환경 차이를 줄이는 데 ..
카카오 로그인 API 사용 방법 - 2025 ver (Java, Spring)
·
Spring
이 글은 과거(2023년 10월) 작성했던 글을 현재(2025년 12월)을 기준으로 리뉴얼 한 글이다.과거와 비교했을 때 달라진 점은 크게 없고, kakao에서 마이그레이션을 잘 해줘서 문제없지만, 사소하게 달라진 점들이 있다.예를들면 당시에는 사용자 email, 연령 등의 정보를 쉽게 얻을 수 있었는데, 지금은 비즈니스앱인증을 받아야 되는 등... 이런것들이 바뀌었다.2023.10.14 - [Spring] - [Spring] 카카오 로그인 API 사용 방법kakao developershttps://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해 보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다..
[Spring] ehcache 설정, 코드 기반 configuration
·
Spring
EH cache웹 애플리케이션에서 성능을 확보하기 위해 가장 먼저, 쉽게 도입할 수 있는 기술 중 하나가 캐싱(Cache)이다. 캐시는 반복적으로 조회되는 데이터를 메모리에 보관해 DB 부하를 줄이고, 응답속도를 빠르게 만드는 도구이다. 보통 Redis부터 떠오르는데, Caffeine, EhCache와 같은 로컬 캐싱 방법도 있다. 그 중 EhCache는 안정적이고, JVM에 최적화된 로컬 캐시로 널리 사용된다.외부 인프라(Redis 등)을 도입하지 않고, 간단하게 Spring Boot 설정만으로 캐싱을 도입할 수 있다는 장점이 있다. EhCache란?JVM 힙/오프힙 메모리 기반 캐싱디스크 저장 가능(옵션)JSR-108(JCache) 표준 지원Spring Cache 추상화(@Cacheable)와 통합되..

인기글

[Docker] 도커 볼륨 설정법 및 개념 정리 Docker Volume
·
Infra & DevOps
Docker Volume 도커로 컨테이너를 띄우면 독립적인 컴퓨터 환경을 구성하는 것과 같다.기본적으로 저장 공간도 마찬가지로, 외부와 공유되지 않는다. 컨테이너 내부 저장공간은 컨테이너 내부에서만 사용할 수 있다. 따라서 컨테이너를 삭제하면 컨테이너 내부 파일 시스템에 있던 데이터도 함께 사라진다. 컨테이너가 삭제되어도, 내부에 저장된 데이터가 삭제되면 안되는 경우에 볼륨(Volume)이라는 개념을 활용한다. 볼륨은 컨테이너 자체의 저장공간을 사용하지 않고, 호스트 컴퓨터의 저장공간을 공유해서 사용하는 형태이다. 이렇게 하면 컨테이너 삭제 여부와는 관련없이 호스트 컴퓨터의 저장공간에 데이터가 남아있기 때문에 데이터를 영속적으로 저장할 수 있다. 볼륨 설정 방법컨테이너 실행 시에 -v 옵션으로 호스트 P..
[Docker] 도커 기본 명령어 정리 / docker CLI commands
·
Infra & DevOps
현업에서 도커를 사용하면서, 자주 사용하게 되는 명령어들을 정리하려고 한다.본인도 아직 도커를 사용하는 "방법만" 알 뿐, 도커에 대해서 깊게는 알지 못하지만, 정리해놓고 참고하기 위해 작성한다. Mac 기준으로 작성되었으니, 참고하세요.Docker 상태 확인 > docker -vdocker -vdocker version 이미지 관련 명령어이미지 목록 확인 > docker images# 둘다 출력은 동일하다.docker imagesdocker image ls이미지 다운로드 > docker pull [ image_name : tag_name ]아무 옵션도 주지 않으면 latest 태그가 붙은 이미지가 pull 된다.docker pull nginx태그를 붙이면 해당 태그의 이미지가 pull 된다.docker..
카카오 로그인 API 사용 방법 - 2025 ver (Java, Spring)
·
Spring
이 글은 과거(2023년 10월) 작성했던 글을 현재(2025년 12월)을 기준으로 리뉴얼 한 글이다.과거와 비교했을 때 달라진 점은 크게 없고, kakao에서 마이그레이션을 잘 해줘서 문제없지만, 사소하게 달라진 점들이 있다.예를들면 당시에는 사용자 email, 연령 등의 정보를 쉽게 얻을 수 있었는데, 지금은 비즈니스앱인증을 받아야 되는 등... 이런것들이 바뀌었다.2023.10.14 - [Spring] - [Spring] 카카오 로그인 API 사용 방법kakao developershttps://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해 보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다..
[Spring] ehcache 설정, 코드 기반 configuration
·
Spring
EH cache웹 애플리케이션에서 성능을 확보하기 위해 가장 먼저, 쉽게 도입할 수 있는 기술 중 하나가 캐싱(Cache)이다. 캐시는 반복적으로 조회되는 데이터를 메모리에 보관해 DB 부하를 줄이고, 응답속도를 빠르게 만드는 도구이다. 보통 Redis부터 떠오르는데, Caffeine, EhCache와 같은 로컬 캐싱 방법도 있다. 그 중 EhCache는 안정적이고, JVM에 최적화된 로컬 캐시로 널리 사용된다.외부 인프라(Redis 등)을 도입하지 않고, 간단하게 Spring Boot 설정만으로 캐싱을 도입할 수 있다는 장점이 있다. EhCache란?JVM 힙/오프힙 메모리 기반 캐싱디스크 저장 가능(옵션)JSR-108(JCache) 표준 지원Spring Cache 추상화(@Cacheable)와 통합되..
[Network] Telnet으로 네트워크 연결 확인하는 방법
·
Infra & DevOps
Telnet텔넷(telnet)은 네트워크 상에서 원격 서버에 접속하거나, 포트 단위로 통신 연결을 테스트 할수 있는 프로토콜, 도구 이다. 1969년에 개발된 TCP/IP 기반 원격 로그인 프로토콜로, 다른 서버에 원격으로 접속해 명령을 실행하는데 사용되었으나, 지금은 SSH에 의해 대체되었다고 한다. 지금은 간단히 네트워크 연결상태를 점검하거나 포트 오픈 여부를 테스트하는 용도로 자주 활용된다.# exampletelnet 192.168.0.10 8080위와 같은 명령을 실행하면, 해당 서버의 8080 포트로 TCP 연결을 시도한다.연결 성공 시 : Connected 메시지가 출력연결 실패 시: 상태에 따라 Connection refused, Timeout 등의 메시지가 출력되거나, 아무일도 일어나지 않..
[Kafka] 카프카 알아보기
·
Infra & DevOps
Apache KafkaApache Kafka는 대용량 데이터를 빠르고 안정적으로 처리하는 오픈소스 분산 이벤트 스트리핑 플랫폼 이다. Producer(생산자)가 데이터를 보내면, Kafka가 이를 Topic 단위로 분산 처리하여 저장하고, Consumer(소비자)가 실시간으로 처리할 수 있게 한다. 다양한 시스템 간의 비동기 메시지 처리를 할 때 대중적으로 사용되는 기술이다. https://kafka.apache.org Apache KafkaApache Kafka: A Distributed Streaming Platform.kafka.apache.org Kafka 구조1. Producer (생산자)역할: 데이터를 Kafka로 전송하는 클라이언트예시: 주문 발생 시스템, IoT 센서, 사용자 로그 서버 등..
[Spring] 메모리 Queue + @Scheduling 배치 처리 - 부하 분산
·
Spring
대량으로 발생하는 사용자 행동 로그를 그때그때 DB insert 하게 되면 애플리케이션과 DB에 둘 다 부담이 커진다.로그가 초당 수십-수백건 씩 쌓이면 DB connection pool 고갈, 애플리케이션 성능 저하 등이 발생한다.일반적으로는 kafka, RabbitMQ 등 이벤트 / 메시지 기반 인프라를 이용하여 처리할 수 있지만 상황에 따라 애플리케이션 레벨에서 해결해야했다. 이 글에서는 다른 인프라를 추가하지 않고, 애플리케이션 레벨에서 로그를 모아뒀다가 Batch insert 하는 방법을 다룬다. 설계 과정문제 상황유저 행동 로그(일단은 페이지 이동, 클릭 등 이벤트)를 수집해야 하는 상황로그가 초당 수십-수백건 수집되면 DB 부하가 심해지고, 애플리케이션 부담이 커질 수 있음추가 인프라 도입(..
[Server] Linux 환경 NGINX 주요 명령어 및 파일 위치
·
Infra & DevOps
NGINX 상태 확인상태 확인 명령어 - systemd 기반sudo systemctl status nginx상태 확인 명령어 - init.d 기반 (구버전 Linux)sudo service nginx statusprocess 확인ps -ef | grep nginx NGINX 주요 파일nginx 실행 파일 경로/usr/sbin/nginx/usr/bin/nginx실팽파일 위치 확인which nginx nginx 설정 파일 경로실제 동작중인 설정파일 경로 확인nginx -tnginx 설정파일 위치/etc/nginx/nginx.confnginx.config 설정server 블록 리버스 프록시 예제클라이언트 -> http://my-server:90으로 요청 시 -> 90 포트로 받은 요청을 내부 localhost..

HS_DEV_LOG

Contact
happyhsryu@gmail.com
Github
https://github.com/HSRyuuu