profile
while( true ) { study(); }
post-thumbnail

이미지를 굳이 CNN으로 봐야 하나? - Vision Transformer (ViT)

지난 글에서는 Transformer를 보면서 이런 질문에서 시작했다.문장을 굳이 순서대로 읽어야 하나?RNN은 문장을 앞에서부터 순서대로 읽었다. Transformer는 이 구조를 버리고 Self-Attention을 사용해서 각 단어가 다른 단어를 직접 볼 수 있게 만

2026년 8월 29일
·
0개의 댓글
·
post-thumbnail

문장을 굳이 순서대로 읽어야 하나? (Attention Is All You Need)

Transformer? 자동차가 로봇으로 변신하는거?당연히 그 로봇 트랜스포머는 아니다.AI를 조금 공부하면 이 단어를 자주 만나게 된다. ChatGPT도 Transformer, BERT도 Transformer, 요즘 나오는 LLM도 대부분 Transformer를 기반

2026년 8월 17일
·
0개의 댓글
·
post-thumbnail

블로그 검색에 Elasticsearch를 붙이면서 MySQL-ES 정합성 맞춘 과정 (Outbox 패턴)

블로그 검색 기능을 붙이면서 게시글 검색을 Elasticsearch로 분리했다.처음에는 단순하게 생각했다.게시글 생성MySQL 저장Elasticsearch에도 바로 반영그런데 구현하다 보니 진짜 문제는 검색 기능 자체가 아니었다.문제는 MySQL이 원본이고 Elasti

2026년 3월 24일
·
0개의 댓글
·
post-thumbnail

검색 기능 개선기 2

1편에서는 MySQL 기반 검색을 단계적으로 비교했다. * `LIKE '%keyword%'` * `prefix LIKE ('keyword%')` * MySQL Full-Text (기본) * MySQL Full-Text + ngram 1편에서는 검색 결과 후보 수 +

2026년 3월 2일
·
0개의 댓글
·
post-thumbnail

검색 기능 개선기 1

게시글 검색 기능을 만들었다. 데이터가 적을 때는 잘 되는 것처럼 보였는데, 게시글이 1000만개 정도로 늘어나자 검색이 40초가 넘게 걸렸다. 나는 문제가 뭘까 아래 순서로 확인해봤다.

2026년 2월 15일
·
0개의 댓글
·
post-thumbnail

자동 배포(ECR/ECS) 구축하면서 터진 오류 유형과 해결 과정

지난 글에서는 git tag 푸시로 GitHub Actions => ECR push => ECS 롤링 배포가 되는 CI/CD 파이프라인을 구성했다.이번 글에서는 구축 과정에서 실제로 마주쳤던 오류들을 증상 => 원인 => 확인 => 해결 순서로 정리했다.같은 에러를 다

2026년 2월 12일
·
0개의 댓글
·
post-thumbnail

ECS + ECR + GitHub Actions로 Spring Boot 배포 자동화(CI/CD) 구축하기

ECS + ECR + GitHub Actions로 CI/CD를 구축하였다. 1. 먼저 ECR에 리포지토리 만들고 docker 빌드 파일 업로드하기 2. ECS에서 클러스터를 하나 만들고 태스크 정의를 ECR에서 만든 docker로 설정하기

2026년 2월 9일
·
0개의 댓글
·
post-thumbnail

블로그 인기글 부하 테스트 병목현상 개선 과정 2

이전 글에서 약 10만 건 데이터 기준으로 부하 테스트를 했고, connection refused / 지연 폭증 / Hikari pending 증가 / InnoDB row lock wait 증가까지 연쇄 병목을 확인했다. 이번 글에서는 무엇을 어떻게 개선했고, 왜 그

2026년 2월 4일
·
0개의 댓글
·
post-thumbnail

블로그 인기글 부하 테스트 병목현상 개선 과정

블로그 서버를 만들고 있었고, 인기글 기능을 추가한 뒤 부하 테스트를 돌리고 있었다.테스트 시나리오는 단순했다.상세 조회 API는 조회할 때 조회수(view_count)를 1 증가시킨다.인기글 API는 view_count DESC 로 상위 N개를 가져온다.게시글 상세

2026년 1월 30일
·
0개의 댓글
·
post-thumbnail

RabbitMQ consumer 처리량 개선 과정

0. 문제 상황 컨슈머 처리량이 20~40 msg/s 정도로 매우 느렸습니다. publish는 300~400 msg/s 까지 발행되었는데, 컨슈머가 따라가지 못해서 snapshot의 반영이 지연되었습니다. 1. 조건 DB: MySQL (동일 인스턴스) 테이블/

2026년 1월 2일
·
0개의 댓글
·
post-thumbnail

스프링 서버에서 커넥션 풀(Connection Pool) 확인하고 조절하는 방법 (HikariCP/Actuator)

0. 3줄 요약 Actuator 의존성 추가 서버 재시작 후 터미널에 명령어 치고 커넥션 상태 확인 application.properties 기준 1. 왜 커넥션 풀을 볼까 저는 서버에 부하 테스트를 하였고 RPS가 올라감에 따라 응답속도가 증가하는 경험을 하였

2025년 12월 18일
·
0개의 댓글
·
post-thumbnail

Spring mysql jpa 데드락 상황 해결 과정 (REQUIRES_NEW)

0. 문제 상황 이전 글과 이어진다. 이전 글에서 snapshotbalance / availablebalance 업데이트 과정에서 데드락이 났던 원인과 해결 과정을 정리했다. 이번에는 스냅샷 프로젝터 (consumer) 쪽에서 비슷한 데드락이 다시 발생했다. 이전에

2025년 12월 16일
·
0개의 댓글
·
post-thumbnail

Spring mysql jpa 데드락 상황 해결 과정

나는 현재 뱅킹 시스템을 혼자 만들어 보고 있었고 locust로 테스트를 하는데 deadlock을 만나게 되었다 transfer 서비스는 HTTP 요청을 받아 실제 이체를 처리하는 온라인 트랜잭션이다.available_balance에서 출금 가능 금액을 차감하고snap

2025년 12월 1일
·
0개의 댓글
·
post-thumbnail

Can't lock pointer back immediately after escape 오류 해결하는 방법

Can't lock pointer back immediately after escape라는 오류를 만났습니다. 이 오류를 해결하는 두가지 방법을 알아보겠습니다.

2025년 5월 15일
·
0개의 댓글
·
post-thumbnail

async await 은 진짜 비동기일까? 내부 작동 원리 알아보기

async 함수 await 전까지는 동기적으로 실행된다. await 이후 코드는 마이크로태스크 큐에 등록된다. 마이크로태스크 큐 Promise.then, await, 우선순위 높음 콜백 큐 (Task Queue) setTimeout, DOM 이벤트 등 이벤트 루프 콜

2025년 5월 2일
·
0개의 댓글
·
post-thumbnail

Bun vs Node.js - Bun이 뭐야? JS 런타임 Bun이 Node.js를 대체할 수 있을까?

Bun은 성능 면에서 기존 Node.js보다 강력한 경쟁력을 자랑합니다. 공식 벤치마크에 따르면 Bun은 Node.js보다 4배 빠른 실행 속도를 보여줍니다.

2025년 3월 10일
·
0개의 댓글
·
post-thumbnail

코드 수정중인데 코드가 PR되었을 때 (git stash)

PR(풀 리퀘스트)이 머지되거나 업데이트되었을 때, pull을 하면 작업 중인 변경 사항이 날아갈 가능성이 있는 상황이 있습니다. 결론 git stash => git pull --rebase origin main => git stash pop

2025년 2월 20일
·
0개의 댓글
·
post-thumbnail

Expo go java.io.IOException: Failed to download remote update 오류 해결하는 방법

최근 Expo Go와 React Native를 연동하는 과정에서 java.io.IOException: Failed to download remote update라는 오류가 발생하여 해결해보았습니다.이번 글에서는 이 오류가 발생한 원인과 그에 대한 해결 방법

2025년 2월 13일
·
0개의 댓글
·
post-thumbnail

왜 페이스북은 Git을 사용하지 않을까 - 대부분의 개발자는 Git을 사용할까 (번역글)

페이스북의 내부 개발은 처음에 Subversion을 사용하고 Git 미러를 운영하는 방식으로 시작했으나, 이후 소스 코드 관리를 위해 Mercurial로 전환했다. 이에 대해 페이스북에서 일했던

2025년 2월 6일
·
0개의 댓글
·
post-thumbnail

Three.js를 이용해 웹사이트를 예쁘게 꾸며보자! – 5 (Camera)

원근법(Perspective) 카메라와 정사영(Orthographic) 카메라로 나누어 집니다. 카메라 기본 속성 : fov, aspect, near, far camera.lookAt()을 사용해 카메라가 항상 특정 객체를 쳐다보도록 만들 수 있습니다.

2025년 2월 5일
·
0개의 댓글
·