8 posts
달리기를 말할 때 내가 하고 싶은 이야기
2026.04.21
달리기를 말할 때 내가 하고 싶은 이야기
안녕하세요 차파국 입니다. 오늘의 후기는 달리기를 말할 때 내가 하고 싶은 이야기 입니다. 영상 매체를 소비하는 시간이 늘어나면서, 스스로 문해력이 점점 떨어지고 있다는 생각이 들었습니다. 그러던 중 좋은 기회가 생겨 2026년 목표 중 하나였던 독서를 시작하게 되었고, 이 책이 그 첫 완독 도서가 되었습니다. 이 책은 달리기를 멋지게 표현하거나 추천하는 내용이 아니라, 무라카미 하루키가 달리기를 통해 떠올린 생각과 삶의 태도를 담담하게 기록한 에세입니다. 책을 읽는 동안 가장 크게 와닿은 것은 꾸준함이라는 태도였습니다. 사실 이 내용은 새로운 것이 아니었습니다. 이미 알고 있었고, 중요하다는 것도 알고 있었습니다. 그럼에도 불구하고 이 책을 읽는 내내 한 구절, 한 구절이 저에게 뼈를 때리는 느낌이었습..
달리기를 말할 때 내가 하고 싶은 이야기
안녕하세요 차파국 입니다. 오늘의 후기는 달리기를 말할 때 내가 하고 싶은 이야기 입니다. 영상 매체를 소비하는 시간이 늘어나면서, 스스로 문해력이 점점 떨어지고 있다는 생각이 들었습니다. 그러던 중 좋은 기회가 생겨 2026년 목표 중 하나였던 독서를 시작하게 되었고, 이 책이 그 첫 완독 도서가 되었습니다. 이 책은 달리기를 멋지게 표현하거나 추천하는 내용이 아니라, 무라카미 하루키가 달리기를 통해 떠올린 생각과 삶의 태도를 담담하게 기록한 에세입니다. 책을 읽는 동안 가장 크게 와닿은 것은 꾸준함이라는 태도였습니다. 사실 이 내용은 새로운 것이 아니었습니다. 이미 알고 있었고, 중요하다는 것도 알고 있었습니다. 그럼에도 불구하고 이 책을 읽는 내내 한 구절, 한 구절이 저에게 뼈를 때리는 느낌이었습..
Kafka는 진짜 신인가? 왜?
2026.01.28
Kafka는 진짜 신인가? 왜?
💡 본 글은 Kafka 핵심 가이드, Kafka 공식문서를 참고하여 작성했습니다. 안녕하세요 차파국 입니다. 오늘은 대용량 트래픽 이야기만 나오면 빠지지 않는 기술 스택, Kafka를 정리해보려 합니다. Kafka 하면 떠오르는 말들이 있습니다.🗣️ 대용량 처리에는 Kafka가 답이다.🗣️ Kafka는 신이다. 그런데 이 말들은 이상하게도 "왜"라는 설명은 잘 따라오지 않습니다. Kafka는 메시지 큐( MQ: Message Queue)라고 하기도 하고, 분산 로그 저장소(Distibuted Log Store), 이벤트 스트리밍 플랫폼(Event Streaming Platform)이라고도 불립니다.🤔 도대체 Kafka는 뭘 하는 녀석이고 왜 이렇게까지 만능처럼 쓰이는 걸까?또한 Kafka를 공부하..
Kafka는 진짜 신인가? 왜?
💡 본 글은 Kafka 핵심 가이드, Kafka 공식문서를 참고하여 작성했습니다. 안녕하세요 차파국 입니다. 오늘은 대용량 트래픽 이야기만 나오면 빠지지 않는 기술 스택, Kafka를 정리해보려 합니다. Kafka 하면 떠오르는 말들이 있습니다.🗣️ 대용량 처리에는 Kafka가 답이다.🗣️ Kafka는 신이다. 그런데 이 말들은 이상하게도 "왜"라는 설명은 잘 따라오지 않습니다. Kafka는 메시지 큐( MQ: Message Queue)라고 하기도 하고, 분산 로그 저장소(Distibuted Log Store), 이벤트 스트리밍 플랫폼(Event Streaming Platform)이라고도 불립니다.🤔 도대체 Kafka는 뭘 하는 녀석이고 왜 이렇게까지 만능처럼 쓰이는 걸까?또한 Kafka를 공부하..
싱글스레드는 빠르지 않다. 그런데 Redis는 왜 빠를까?
2025.11.04
싱글스레드는 빠르지 않다. 그런데 Redis는 왜 빠를까?
💡 본 글은 Redis 공식문서를 참고하여 작성하였습니다. 안녕하세요 차파국 입니다. 오늘은 개발자 라면 한 번쯤 이런 말을 들어봤을 겁니다.🗣️ Redis는 "싱글스레드"라서 빠르다.🗣️ Redis는 "인메모리 DB"라서 빠르다.하지만 이 두 문장은 어딘가 석연치 않은 구석이 있습니다. "Redis는 싱글스레드라서 빠르다."단순하게 생각해보면 싱글스레드의 성능 한계를 보완하기 위해 멀티스레드가 탄생했습니다. 그런데 Redis는 오히려 싱글스레드라서 빠르다라고 말합니다. 멀티스레드보다 병렬성이 떨어질 텐데 어떻게 더 빠를 수 있을까? 이 부분에서 자연스럽게 의문이 생깁니다. "Redis는 인메모리 DB라서 빠르다."메모리에 데이터를 저장함으로 디스크 I/O가 빠른 것 은 사실이지만, 네트워크 I/O..
싱글스레드는 빠르지 않다. 그런데 Redis는 왜 빠를까?
💡 본 글은 Redis 공식문서를 참고하여 작성하였습니다. 안녕하세요 차파국 입니다. 오늘은 개발자 라면 한 번쯤 이런 말을 들어봤을 겁니다.🗣️ Redis는 "싱글스레드"라서 빠르다.🗣️ Redis는 "인메모리 DB"라서 빠르다.하지만 이 두 문장은 어딘가 석연치 않은 구석이 있습니다. "Redis는 싱글스레드라서 빠르다."단순하게 생각해보면 싱글스레드의 성능 한계를 보완하기 위해 멀티스레드가 탄생했습니다. 그런데 Redis는 오히려 싱글스레드라서 빠르다라고 말합니다. 멀티스레드보다 병렬성이 떨어질 텐데 어떻게 더 빠를 수 있을까? 이 부분에서 자연스럽게 의문이 생깁니다. "Redis는 인메모리 DB라서 빠르다."메모리에 데이터를 저장함으로 디스크 I/O가 빠른 것 은 사실이지만, 네트워크 I/O..
Mac은 되는데 Windows는 안 되는 이유
2025.08.15
Mac은 되는데 Windows는 안 되는 이유
안녕하세요 오늘을 기점으로 도비(진)에서 도비로 진급 차파국입니다. 퇴사를 준비하면서 회사에서 사용하던 Mac을 반납해야 했습니다.그 동안 진행했던 개인 프로젝트를 Mac에서 Windows로 옮기는 작업을 시작했습니다. 길고 길었던 모든 세팅이 끝난 후, 진행하던 개인 프로젝트의 테스트 코드부터 가볍게 돌려봤습니다."당연히 잘 돌아가겠지"하고 실행 버튼을 눌렀는데... 웬걸, 성공은 커녕 컴파일 단계에서부터 오류가 터졌습니다.... 1. 에러 메시지로그를 확인해보니 이런 메시지가 눈에 띄었습니다. Kotlin: error while writing C:\Users\...$bad - 유효하지 않은 API 키는 "OPENAI_API_KEY_INVALID" 반환한다$1.class (Permission den..
Mac은 되는데 Windows는 안 되는 이유
안녕하세요 오늘을 기점으로 도비(진)에서 도비로 진급 차파국입니다. 퇴사를 준비하면서 회사에서 사용하던 Mac을 반납해야 했습니다.그 동안 진행했던 개인 프로젝트를 Mac에서 Windows로 옮기는 작업을 시작했습니다. 길고 길었던 모든 세팅이 끝난 후, 진행하던 개인 프로젝트의 테스트 코드부터 가볍게 돌려봤습니다."당연히 잘 돌아가겠지"하고 실행 버튼을 눌렀는데... 웬걸, 성공은 커녕 컴파일 단계에서부터 오류가 터졌습니다.... 1. 에러 메시지로그를 확인해보니 이런 메시지가 눈에 띄었습니다. Kotlin: error while writing C:\Users\...$bad - 유효하지 않은 API 키는 "OPENAI_API_KEY_INVALID" 반환한다$1.class (Permission den..
너희는 전혀 테스트하고 있지 않아
2025.07.30
너희는 전혀 테스트하고 있지 않아
본 글은 Testcontainers 공식문서 과 Spring Boot 공식문서 등을 참고하였고, Spring, Kotlin으로 설명합니다.안녕하세요 차파국 입니다. 배포 후 장애가 발생했다. 로컬에선 테스트가 모두 통과했는데도, 코드를 서버에 배포하자마자 예외가 터졌다.당연히 코드나 배포 스크립트를 의심했고, CI 설정도 다시 살펴봤지만 이상은 없었다.결국 원인은 테스트 환경과 실제 배포 환경의 차이였다. 테스트에서는 간편함을 위해 H2를 사용했고, 배포된 서버에서는 MySQL 등 실제 인프라가 돌아간다.이런 차이가 누적되면 테스트를 통과한 코드가 상위 환경에서는 실패할 수 있다. 위의 상황처럼 테스트 환경에서는 H2를 사용했지만, 배포 환경에서는 MySQL을 사용한다면 SQL 호환성 문제나 동작 방식 ..
너희는 전혀 테스트하고 있지 않아
본 글은 Testcontainers 공식문서 과 Spring Boot 공식문서 등을 참고하였고, Spring, Kotlin으로 설명합니다.안녕하세요 차파국 입니다. 배포 후 장애가 발생했다. 로컬에선 테스트가 모두 통과했는데도, 코드를 서버에 배포하자마자 예외가 터졌다.당연히 코드나 배포 스크립트를 의심했고, CI 설정도 다시 살펴봤지만 이상은 없었다.결국 원인은 테스트 환경과 실제 배포 환경의 차이였다. 테스트에서는 간편함을 위해 H2를 사용했고, 배포된 서버에서는 MySQL 등 실제 인프라가 돌아간다.이런 차이가 누적되면 테스트를 통과한 코드가 상위 환경에서는 실패할 수 있다. 위의 상황처럼 테스트 환경에서는 H2를 사용했지만, 배포 환경에서는 MySQL을 사용한다면 SQL 호환성 문제나 동작 방식 ..