There are 70 posts.

[회고] 06.10 ~ 06.16

June 16, 2024

What I Studied 프로메테우스, 그라파나를 도커에서 띄우기 컨테이너-컨테이너, 컨테이너-호스트 간의 통신 도커 네트워크 이분탐색 목표의 중요성 Keep 주, 월 단위의 목표를 설정하고 목표를 달성하는 데 정진하자. Problem & Try 조급하지말자. 동기부여를 만들어보자. 완벽하지 않아도 되는 마음을 가지자. 초심을 잃지말자. 처음 자바를 …


[Infra] Prometheus와 Grafana, 그리고 Docker를 이용해 모니터링 대시보드 구축하기

June 15, 2024

들어가며 서비스를 운영하면서 발생한 장애를 빠르게 대응하고 복구하는 것은 매우 중요하다. 이를 위해선 장애의 원인을 빠르게 파악해야 한다. 문제의 원인을 파악하는 방법에는 애플리케이션의 상태를 전반적으로 관찰 가능한 모니터링 대시보드, 사용자의 요청을 한 트랜잭션으로 묶어 파악하는 APM, 문제에 대한 상세한 설명이 적힌 로깅 등이 있다. 그 중에서도 모…


[Infra] Github Actions와 Docker를 이용해 배포 자동화 구축하기

May 29, 2024

들어가며 서비스를 지속적으로 발전하기 위해서는 많은 기능을 추가하거나 성능을 개선하는 등 많은 작업이 필연적으로 이뤄진다. 작업이 완료되면 이를 배포해야 하는데, 배포하는 과정이 귀찮고 길어지면 서비스를 지속적으로 발전하는 데 문제가 생긴다. 따라서 배포를 자동화하는 작업은 서비스를 지속적으로 운영함에 있어 매우 중요한 작업이다. 배포 자동화를 구축하는 …


[Infra] Github Actions를 이용한 CI 작업 속도를 캐싱으로 개선하기

May 23, 2024

들어가며 현재 ListyWave 프로젝트에서 백엔드는 지속적 통합(이하 CI)의 툴로 Github Actions를 이용 중이다. CI 과정에서 수행하는 작업은 크게 아래와 같다. 저장소 Checkout JDK 준비 Gradle 준비 Build 하지만 3, 4번 과정에서 최소 1분이 걸리고 있었다. 이를 Github Actions Market Place에…


11장. 웹 공격 기술

May 12, 2024

이번 장에서는 웹 애플리케이션을 공격하는 기술들에 대해 알아본다. 1. 공격 패턴의 종류 공격의 종류는 크게 두 가지로 나눌 수 있다. 1-1. 능동적 공격 능동적 공격은 공격자가 직접 웹 애플리케이션에 공격을 시도하여 서버의 리소스를 탈취하려는 방식이다. 대표적인 예로 SQL 인젝션, OS 커맨드 인젝션, 디도스 등이 있다. 1-2. 수동적 공격 수동적…


[Docker] 도커의 기본적인 명령어들

May 01, 2024

웬만하면 처럼, 를 통해 바로 파악하거나 공식 문서를 통해 자세히 이해할 수 있다. 그래도 도커를 공부하면서 유용한 명령어들을 정리할 겸 작성한다. 치트 시트 mysql 띄우기 버전 관련 : 도커의 버전을 확인한다. : 도커 버전을 간략하게 확인한다. 이미지 관련 : 도커 허브에서 이미지를 받는다. : 도커 엔진에 존재하는 이미지 목록을 출력한다. 컨테이…


[Java] 배열의 공변, 제네릭의 불공변. 그리고 PECS

April 23, 2024

들어가며 제네릭을 공부하다보면 배열과 잘 어울리기 어렵다는 내용과 함께 자주 등장하는 용어인, 공변과 불공변, 그리고 실체화가 있다. 잘 사용하지 않는 단어인, 공변과 불공변, 그리고 실체화가 각각 어떤 의미를 가지는지 알아보고 왜 제네릭과 배열은 잘 어울리지 못하는지에 대해 알아보자. 또한, 제네릭을 이용해 범용성 있는 API(public 메서드)를 작…


[Java] 제네릭 이해하기

April 18, 2024

제네릭 제네릭은 다양한 타입을 다룰 수 있는 클래스나 메서드를 사용할 때, 런타임이 아닌 컴파일 단계에서 타입 체크를 강제하고 자동으로 형변환을 해주는 자바의 기능이다. 제네릭을 사용하지 않았을 때 제네릭이 없었을 시절, 는 아래와 같은 코드였을 것이다. 저장할 값이 어떤 타입이든 상관없이 모두 담기 위해 을 필드로 가졌을 것이다. 해당 클래스를 사용하…


8장. 누가 액세스하고 있는지를 확인하는 인증

April 10, 2024

들어가며 이번엔 HTTP 표준이 설명하는 여러 가지 인증 방식에 대해 알아보겠다. Basic 인증 이름 그대로 가장 기본적인 인증 방식이다. 클라이언트가 Http Request를 보낼 때 헤더에 ID와 패스워드를 Base64 형식으로 인코딩 한 값을 담아 보내는 방식이다. 이때 값 앞에 을 Prefix로 담아 함께 보내어 Basic 인증임을 나타낸다. …


9장. HTTP에 기능을 추가한 프로토콜

April 10, 2024

들어가며 인터넷이 보급되고 웹 시장이 커져감에 따라 HTTP 프로토콜이 정말 많이 사용되고 있다. 하지만 본래 HTML 문서를 전송하기 위해 탄생한 HTTP는 발전해가는 웹 시장에 비하면 부족한 기능들이 다수 존재했다. 그래서 HTTP를 기반으로 하여 새로이 추가하는 형태로 새로운 프로토콜이 몇 가지 구현되었다. 이 프로토콜에 대해 알아보자. HTTP의 …