
Manacher 알고리즘
문자열 내의 모든 팰린드롬 문자열을 찾는 데 최적화된 알고리즘인 Manacher 알고리즘에 대해 학습하고 정리한 글입니다.

문자열 내의 모든 팰린드롬 문자열을 찾는 데 최적화된 알고리즘인 Manacher 알고리즘에 대해 학습하고 정리한 글입니다.

LeetCode에서 주최하는 Weekly Contest 489를 보고 난 후기를 기록한 글입니다.
CPU 사용량이 급격하게 증가하여 EC2 사용액이 추가로 부과된 문제를 해결한 과정을 기록했습니다.
다익스트라 알고리즘의 특징, 원리, 기본형 구현, 최적화형 구현에 대해 기록했습니다.

그래프 자료구조와 그래프 탐색 알고리즘인 DFS, BFS에 대해 학습한 내용을 기록했습니다.
React를 배포하는 방식부터, 왜 배포 방식을 EC2에서 S3와 CloudFront를 사용하는 방식으로 변경했는 지? 그리고 그 결과에 대해 작성한 글입니다.
CI 최적화를 위해 테스트 DB 환경을 교체하며 분석한 성능 병목 지점과 '환경 불일치' 관리 전략을 공유하기 위해 작성한 글입니다.
JPA 기본기를 학습하고 이를 기록했습니다.

LeetCode에서 주최하는 Weekly Contest 488을 보고 난 후기를 기록한 글입니다.
QueryDSL의 특징, 의존성 설치 방법, 사용법에 대해 정리해봤습니다.

가미오카 마사아키의 <부자들의 초격차 독서법>을 읽고 생각을 기록해보았습니다.

장경철의 <진작 이렇게 책을 읽었더라면>을 읽고 느낀 점을 기록한 글입니다.
완전탐색 기법 중, Meet in the middle 기법에 대해 학습한 글입니다.
단조 스택에 대해 학습한 내용을 기록했습니다.
그리디 알고리즘의 정의와 특징, 문제 적용 방법에 대해 정리한 글입니다.
자료구조 중, 힙(Heap)에 대해 알아보고 힙을 구현하는 방법과 힙을 재구조화하는 방법, 임의의 배열로 힙을 만드는 방법에 대해 정리한 글입니다.
코딩테스트 문제 유형 중, 시뮬레이션에 해당하는 문제에 어떻게 접근하는지? 그리고 자주 나오는 유형에 대해 간단한 설명과 코드를 정리했습니다.
인프런에 있는 큰돌님의 <포트폴리오 어나더레벨> 강의를 수강하면서 기억하고 싶은 내용을 기록했습니다.

React를 S3와 CloudFront를 이용하여 배포할 때 적용해야 할 캐싱 정책과 그 이유에 대해 설명하는 글입니다.

유클리드 호제법을 이해하고, 이를 이용해 최대공약수와 최소공배수를 구하는 방법에 대해 정리한 글입니다.
HTTP 캐시와 이를 제어하는 Cache-Control을 이해하기 위해 'RFC 9111: HTTP Caching' 명세서를 모두 기록했습니다.
로즈리의 Grammar Holic을 통해 학습한 영문법 정리입니다.
비트 연산에 대해 학습한 내용을 정리한 글입니다.
자료구조 중 해시(Hash)에 대해 정리한 글입니다.
Python의 기본 문법에 대해 정리한 글입니다. 지속적으로 업데이트 해 갈 예정입니다.
Kotlin의 기본 문법을 정리한 글입니다.

키보드 오작동 문제 해결하다가 키세팅 기록
웹 애플리케이션이 초창기에 어떻게 웹페이지를 응답했는 지에 대해 알아보고 현대의 두 방식인 SSR(Server Side Rendering)과 CSR(Client Side Rendering), 그리고 Universal Rendering에 대해 작성한 글입니다.

Gemini CLI에서 Gemini 3(Pro, Flash)를 적용하는 방법과 Gemini CLI가 알아서 모델을 최적화하는 방법, 그리고 토큰 사용량을 확인하는 방법에 대해 설명한다.
사이먼 스큅의

인프런의 '토비의 스프링 6 - 이해와 원리' 강의를 듣고 학습한 내용을 정리한 글입니다.

객체지향 프로그래밍으로 소프트웨어를 설계할 때 권장하는 다섯 가지 원칙인 SOLID 원칙에 대해 정리한 글입니다.
GitHub Actions에 배포할 때 import가 자꾸 실패하는 경우 Git Working Tree Index를 확인해보세요

Google Cloud Skills Boost에서 학습한 클라우드 컴퓨팅의 핵심 개념과 GCP의 주요 서비스들을 정리했습니다. 클라우드의 5가지 특징부터 IaaS/PaaS/SaaS, GCP 아키텍처, 주요 컴퓨팅 서비스까지 실무에 필요한 기초 지식을 담았습니다.

자만은 금물
새로운 단어를 알게 되었고 전치사 실수가 잦았다
readln() 함수를 사용하여 표준 입력을 읽는 방법에 대해
일해보고 싶었던 스타트업에서 6개월 간 일면서 느낀 것들과 그간 있었던 일에 대해 작성하는 회고록입니다.
처음치곤 나쁘지 않을지도?

유기견 보호센터 봉사의 허들을 낮추기 위한 '봉사하개' 프로젝트를 기획하면서 했던 생각을 기록했습니다.
TestTransaction를 이용해 테스트 중간에 트랜잭션을 강제로 커밋하기
일정하게 증가하는 수열에서 특정 값보다 같거나 작은 값의 개수를 세는 법

같은 줄 알았지만 미묘하게 다르다!
![[JDBC] execute(String)과 execute(). executeUpdate(String)와 executeUpdate()의 차이 썸네일](/static/ec0446ae354845a6dbcaab124c4d8559/f058b/debug.png)
execute()와 executeUpdate(), execute(String)와 executeUpdate(String)의 차이
inner class, static inner class, non-static member class, anonymous inner class, local area inner class
데이터베이스 프로시저, 함수, 패키지 && 프로시저 vs 함수
![[Spring] 스프링 애플리케이션 동작과 동시에 DB에 더미 데이터 삽입하기 썸네일](/static/ecee140ee6e56c896e03231c5a420489/5ff7e/sql-script.png)
data.sql, @PostConstructor

synchronized, wait()과 notify(), Lock과 Condition

쓰레드 상태와 상태 관련 메서드 (sleep, interrupt, yield, join)

Java에서 Thread를 구현하고 실행하는 방법과 쓰레드 우선순위, 쓰레드 그룹, 데몬 쓰레드



해커들의 공격 수단에 대해 알아보자
공변, 불공변. 그리고 PECS에 대해 알아보자
![[Java] 제네릭 이해하기 썸네일](/static/51b3993ac026c74b6a2a98097016f6cf/d68e4/img.png)
제네릭 이해하기

HTTP 표준에서 설명하는 여러 인증 방법에 대해 알아보자

HTTP를 기반으로 해서 새로운 기능을 추가한 프로토콜에 대해 알아보자
![[MySQL] 바이너리 로그로 데이터 복구하기 썸네일](/static/4713115907e84e37c4b79ddf8c1ab59d/5f1d2/show-binary-logs.png)
알아두면 유용한.. 하지만 쓸 일이 없었으면 하는

HTTPS에 대해 알아보자
![[ListyWave] 리스트 수정 시, 동시성 이슈 발생 확인 및 해결기 썸네일](/static/201df84c6565468de9b8c9a948fec370/f058b/concurrency-problem-occur.png)
![[MySQL] 트랜잭션과 트랜잭션 격리 수준 썸네일](/static/8894371657c29b7d13bff3ed6af11160/f058b/concurrency-example.png)
동시성 이슈를 이해하기 위한 첫 걸음!
![[Java] JDBC 파헤쳐보기 썸네일](/static/ff6e6f639b1eb241b021d85abf22d26a/f058b/jdbc-architecture.png)
JDBC의 구성 요소인 Connection, Statement, ResultSet과 DataSource, Connection Pool에 대해
![[Spring] 스프링 컨테이너, 그리고 IoC/DI 썸네일](/static/77eab79253e25860f0f891091dd88d98/f058b/inherit.png)
스프링 프레임워크의 기본 뼈대인 스프링 컨테이너와 핵심 프로그래밍 모델 중 하나인 IoC/DI에 대해

HTTP 헤더에 대해 알아보자
