첫 발표를 마쳤습니다.
지난달 처음으로 컨퍼런스에서 발표했다. 80명 앞에서 데이터베이스 마이그레이션에 대해 20분. 슬라이드를 네 번 고쳤는데도 시간이 모자랐다. 다음엔 무엇을 다르게 준비할지, 청중이 실제로 궁금해한 것은 무엇이었는지,
Notes from work and life as a developer — what I built, what I dropped, and what stuck.
지난달 처음으로 컨퍼런스에서 발표했다. 80명 앞에서 데이터베이스 마이그레이션에 대해 20분. 슬라이드를 네 번 고쳤는데도 시간이 모자랐다. 다음엔 무엇을 다르게 준비할지, 청중이 실제로 궁금해한 것은 무엇이었는지,
인덱스는 일부 읽기를 빠르게 하고 모든 쓰기를 느리게 한다. 인덱스가 열한 개 붙은 테이블에서 insert가 타임아웃 나기 시작했을 때 몸으로 배웠다. 쿼리 플랜을 읽는 법, 아무도 쓰지 않는 인덱스를 찾는 법, 그
도구 시리즈 세 번째이자 가장 기술과 거리가 먼 편. 모니터는 두 대에서 한 대로, 키보드는 더 이상 손대지 않기로, 그리고 생각보다 중요했던 조명 하나. 이걸로 더 나은 개발자가 되진 않겠지만, 신경 쓰지 않아도
글이 검색될지는 검색엔진이 정하고, 읽힐지는 사람이 정한다. 오랫동안 앞쪽만 신경 쓰며 쓰다가 왜 아무도 머무르지 않는지 의아했다. 사람들이 실제로 검색하는 말에 맞는 제목, 그리고 계속 읽고 싶게 만드는 첫 문단에
머지 커밋은 무슨 일이 있었는지를, 리베이스한 히스토리는 무엇이 바뀌었는지를 말해 준다. 몇 년 동안 둘 사이를 오간 끝에 기능 브랜치에는 결국 rebase로 돌아온다. 내가 쓰는 작업 흐름, 그걸 안전하게 지켜 주
지금까지 유지하고 있는 프로젝트들에는 공통점이 있다. 전부 작다. 의존성이 적고, 하는 일이 하나고, 배포 방법을 기억할 필요가 없다. 언젠가 필요할지 모를 규모를 위해 만드는 걸 그만두고, 실제로 가진 시간에 맞춰
Part two of the tools series. I have tried most note apps and ended up with a folder of plain markdown files and a searc
캐시는 오래된 데이터가 아직 쓸 만하다는 약속이다. 운영 중에 쫓아다닌 버그 대부분은 그 '쓸 만하다'를 잊어서 생겼다. TTL을 정하는 기준, 영리한 만료보다 쓰기 시점 무효화가 나은 이유, 그리고 어느 계층이 낡
2년 동안 금요일 오후마다 한 주를 돌아봤다. 기록은 길어지는데 바뀌는 건 점점 줄었다. 그 의식을 하루 끝에 던지는 질문 하나로 바꿨고, 지난 3개월 동안 2년 치 회고보다 더 많이 배웠다.
주석은 낡지만 타입은 빌드를 깨뜨린다. 최근 프로젝트에서 문서 주석 대부분을 지우고 같은 지식을 타입 시스템으로 옮겼다. 더 좁은 유니언, 브랜드 ID, 잘못 부를 수 없는 함수. 잘 된 것과 너무 영리해진 것, 그
매일 쓰는 도구에 대한 짧은 시리즈의 첫 편. 내 터미널 설정은 해마다 작아졌다. 셸 하나, 별칭 몇 개, 꼭 필요한 것만 보여 주는 프롬프트. 설정 전체를 공개하고, 하나씩 덜어 낸 이유를 함께 적는다.
이 블로그를 옮기기 전, 예전 서버의 한 달 치 접속 로그를 뒤졌다. 방문자 대부분은 사람이 아니었다. 검색 크롤러, 피드 리더, AI 스크레이퍼, 그리고 정체를 알 수 없는 몇몇. 각자 무엇을 요청하고 무엇을 무시