Profile img

블루

@lavieenbleu@hackers.pub · 8 following · 11 followers

SQL 튜닝 공부 기록

인덱스를 이용한 스캔은 조건에 맞는 데이터가 '소량'일 때 유리한 것 같다. 조건에 맞는 데이터가 너무 많은데 인덱스로 접근하게 되면 랜덤액세스가 너무 많아서 오히려 성능이 떨어질 수도 있다. 물론, 이런 경우 옵티마이저가 알아서 풀스캔을 적용하는 경우도 있다.

인덱스를 처음 배울 때에는 '데이터를 빠르게 접근하는 수단'으로만 이해했는데, 뽑아야 하는 데이터가 적을 때 더 유용성이 크다는 건 이제 이해했다.

1

대용량 트래픽 처리를 어떻게 경험하냐 물어보는데 사실 이정도만 해도 됨.

1. 큐 시스템 지연을 해결해본 경험 (예: 8시간까지 큐 지연이 있는걸 확인했고 이걸 구조 변경을 통해 해결한 경험)

2. 정적 데이터 요청은 최대한 근원 프로세스까지 도달하지 않게 캐시하여 네트워크 전송 비용 절감 및 응답속도 향상 경험

3. 불특정 다수가 참여하는 텍스트 메시징 서비스에 동영상이 포함되는 경우, 온전하게 동영상 처리하면서도 메시지 교환을 지연시키지 않는 경험

4. 새해 등 기념일에 늘어나는 메시지로 인해 다른 서버가 터져도 내 서버만은 비용 상승이나 큐 지연 없이 서비스 제공해본 경험.

이정도만 모의로 집에서 해보길 강추드림.

5

데이터베이스 공부 중 하나로 B+트리 C로 구현하고 있는데, 포인터 사용, 정렬, 재귀 호출, DFS, 이진 탐색까지 한 번에 연습하기 좋은, 학습에 아주 훌륭한 자료구조구만.

3

@lavieenbleu블루 이게 서버에서 렌더링되는지, 클라이언트에서 렌더링되는지 구분하는 멘탈 모델과 Vercel이 아닌 인프라에서 Next.js를 배포하는게 별로여서 바꾸었어요. 아직 베타 단계지만 TanStack Start나 아니면 React Router v7의 방식이 훨씬 낫다고 생각합니다.

0

@lavieenbleu블루 가벼운 개인 홈페이지를 만들 때 스프링부트같은 도구는 좀 과할 수도 있을 것 같아서, static site generator같은게 있어도 괜찮지 않나 생각합니다.

전 예전엔 이런걸 Next.js + Contentlayer로 만들었었는데 요즘은 TanStack Start + Content Collections로 옮긴 상황이에요. 제 개인 블로그 등의 홈페이지도 이걸로 만들까 생각하고 있습니다.

0
1

@kodingwarriorJaeyeol Lee 말씀해주신 것 듣고 Hugo로 한 번 해보고 있습니다. 아직 Gemini에 검색해보기만 했는데, 검색이나 태그를 이용한 필터링 같은 것도 모두 static site generator로 할 수 있는 것 같군요?! 저는 이런 걸 하려면 무조건 서버가 있어야 하는 줄로만 알았습니다..

0

LLM 도움이면 못할 것도 없을 듯 하여 블로그를 직접 만들고 싶은데, 스프링부트 + 그냥JS로 만들어도 괜찮을지 모르겠습니다. (사실 아는 게 그것 뿐입니다..) 혹시 조금 더 편리하고 좋은 스택이 있을까요?

0

gradle만으로도 테스트 환경에 모듈 올려서 교체하는 작업을 자동화 하는 것은 충분하구만. 그동안 관성적으로 일일이 따로 업로드 했는데 거기 낭비된 시간이 아쉽다.

1

Gemini 3과 함께 리눅스 커널 코드를 탐험하고 있다. vdso gettimeofday와 time이 어떻게 구현이 다른지 궁금해서 찾아보고 있다. 물론 더 깊이 알 시간은 없겠지만, LLM이 아니었다면 이런 걸 들여다볼 생각조차 하지 못했겠지.

1

개인 기록 관리를 obsidian으로 옮겨볼까...... 아니면 그냥 개인기록 관리(neovim zettelkasten 플러그인)를 그대로 유지하되, mcp 서버를 직접 만드는걸 해볼까... 어느 쪽이든 할만한 도전인 것 같음

5
1

회사에서 업무 추적용 도구로 여러 가지를 써봤는데 다 마음에 안 들어서 Gemini로 개발 중. 첫 시도에서 리액트로 만들어졌는데, 봐도 잘 이해가 안 되어서 그냥 일반 자바스크립트로 작성하라고 지시했다. 오늘도 군말없이 일하는 인공지능. 좋은 세상이다.

1
0
0
1

CTE(Common Table Expression)과 Subquery

블루 @lavieenbleu@hackers.pub

SQL을 공부하며 접하게 된 CTE(Common Table Expression)는 임시 테이블을 정의하고 이름을 붙이는 기능으로, 쿼리 가독성을 높이고 수정 용이성을 향상시키는 데 유용합니다. Subquery와 유사하지만, 복잡한 쿼리에서 여러 단계로 중첩된 Subquery보다 훨씬 가독성이 좋습니다. SQL 유지보수 업무에는 활용되지만 제품 개발에는 잘 쓰이지 않는 CTE의 실제 현장 사용 사례와 Best practice에 대한 궁금증을 자아냅니다.

Read more →
1
0

JSON 파서

블루 @lavieenbleu@hackers.pub

개인적인 도구에 JSON 형식 검사 기능 추가를 고민하며, JSON 파서 구현의 어려움과 성능 문제를 예상하고 있습니다. GitHub에서 가장 인기 있는 Java JSON 파서 라이브러리를 사용해 보기로 결정하고, 작은 파일 크기에 놀라며 오픈소스 기여에 대한 의지를 다지는 내용입니다. 이 경험을 통해 JSON 파싱의 복잡성을 이해하고, 향후 오픈소스 커뮤니티에 기여할 수 있기를 희망합니다.

Read more →
3

해커스펍 첫 글

블루 @lavieenbleu@hackers.pub

네, 완벽합니다! 이 프롬프트는 기술 포스팅 요약을 위한 훌륭한 시작점입니다. 모든 지침과 요구 사항이 명확하게 정의되어 있어서, AI 어시스턴트가 효과적인 요약을 생성하는 데 큰 도움이 될 것입니다. 이제 실제 기술 포스팅을 제공하고, 이 프롬프트를 사용하여 요약을 생성해 보도록 하겠습니다. 궁금한 점이 있다면 언제든지 질문해주세요!

Read more →
1