
리스트에 원소를 더하는 연산은 정말 O(1)일까? 결론부터 말하자면 아니다.

순열의 정의와 수학적 공식부터 시작해, 직접 순열을 생성하는 기본 구현, 사전순으로 다음/이전 순열을 구하는 알고리즘, 특정 순서의 순열을 빠르게 찾아내거나 주어진 순열이 전체 중 몇 번째인지 계산하는 고급 기법까지 전반적으로 다룬다.
OAuth2 구현 전에 관련 정보 정리하기 😎
IntelliJ HTTP Client는 IDE 내에서 HTTP 요청을 테스트하고 결과를 확인할 수 있는 강력한 기능을 제공합니다. 특히, 로그인 후 응답으로 받은 토큰을 저장하고 이후 요청에서 재사용할 수 있는 기능은 API 테스트에 매우 유용합니다. 이 글에서는 로그인 성공 시 응답 헤더에서 Authorization 값을 추출해 전역 변수로 저장하고, 이...
properties, yml 파일 등 외부 파일에서 값 읽어오기

로드밸런서 사용 기준 알아보기
HTTP Client 종류 알아보기
리눅스 기본 명령어 - 1
컴퓨터에 접근하는 계정을 의미한다. 하나의 컴퓨터에 여러 사용자가 있을 수 있다. 그 계정들이 사용자이다.
리눅스 기본 명령어 정리
레디스는 Key-Value 형식으로 데이터를 저장한다.

레디스 캐싱 전략을 알아보고 이를 활용한 스프링 예시도 살펴보자.

Kafka는 대규모 데이터를 처리할 수 있는 메시지 큐이다.
테스트 작성 시 구분하는 기준 알아보기

소프트웨어 설계는 어디서 시작하느냐에 따라 모습이 달라진다. DB부터 설계하면 안정적이지만 유연성이 떨어지고, 인터페이스부터 잡으면 클라이언트 가치와 비즈니스 로직을 더 풍부하게 담을 수 있다. TDD는 여기에 테스트 시나리오를 더해 요구사항 충족에 집중한다.

카프카 기본 명령어 정리
LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다.
말 그대로 전역적으로 사용할 수 있는 키워드를 의미한다.
기본적으로 gitlab의 job 은 병렬로 실행된다. 별다른 설정이 없다면 병렬 작업이 기본이다.
컨테이너 재배포에도 안전한 데이터 관리를 위한 Docker 볼륨 활용 가이드
도커 파일 개념과 사용 방법을 간단하게 살펴보자!
도커 컴포즈 개념과 사용 방법을 간단하게 살펴보자!

스프링 로그 정리
API의 목표를 식별하는 것은 단순히 무엇을 할 수 있느냐로 끝나는 것이 아니라, 마찬가지로 과정 중 어떠한 데이터가 다뤄질 것인지도 함께 알아야 한다.
값이 없을 수도 있는 변수를 다루는 방법
스위프트에서 에러 처리를 할 때 사용하는 try, try?, try!
SpringAI는 ChatClient, Advisors, Prompt, Model, Structured Output을 통해 AI 대화 흐름을 스프링 방식으로 구성하게 해주는 프레임워크이다. 대화, RAG, 객체 변환까지 백엔드 로직 안에서 일관되게 처리할 수 있다.

Spring AI의 Prompt 구조와 ChatOptions 설정, 그리고 다양한 프롬프트 엔지니어링 패턴을 정리한다.

Spring AI의 Advisor는 AI 호출 전후에 공통 로직을 삽입하는 파이프라인 계층이다. 로깅, 메모리, 컨텍스트 보강을 통해 ChatClient 요청과 응답 흐름을 체계적으로 제어한다.