Jaeyeol Lee

@kodingwarrior@hackers.pub · 500 following · 394 followers

Neovim Super villain. 풀스택 엔지니어 내지는 프로덕트 엔지니어라고 스스로를 소개하지만 사실상 잡부를 담당하는 사람. CLI 도구를 만드는 것에 관심이 많습니다.

Hackers' Pub에서는 자발적으로 바이럴을 담당하고 있는 사람. Hackers' Pub의 무궁무진한 발전 가능성을 믿습니다.

그 외에도 개발자 커뮤니티 생태계에 다양한 시도들을 합니다. 지금은 https://vim.kr / https://fedidev.kr 디스코드 운영 중

Blog
kodingwarrior.github.io
mastodon
@kodingwarrior@silicon.moe
Github
@malkoG

Today is the new semester for @CMUDBCMU Database Group's Intro to Database Systems! We're going harder into material than ever before. Projects are more challenging but you can use LLMs to help. We also have 10min talks each Wed from leading DB companies. Follow from home/prison on YouTube: 15445.courses.cs.cmu.edu/fall2

Everything is available for free to non-CMU students:
• Lectures on YouTube: youtube.com/playlist?list=PLSE
• Slides + Notes + Homeworks on course website.
• Project source code on GitHub: github.com/cmu-db/bustub
• Grading with Gradescope (see FAQ ➡️ 15445.courses.cs.cmu.edu/fall2)

Special thank you to our Affiliate companies for their support this academic year:
• ClickHouse
• DataStax
• dbt Labs
• Firebolt
• MotherDuck
• RelationalAI
• SingleStore
• SpiralDB
• PingCAP / TiDB
• Yellowbrick
• Yugabyte

How can people not enrolled in the class test their projects?
All of the source code for the projects are available on Github. There is a Gradescope submission site available to non-CMU students.CMU-DB 2025 Industry Affiliate Program Members
https://db.cs.cmu.edu/affiliates/
1
0
0
3
0

@z9mb1wwj @2chanhaeng이찬행

좀 더 맥락을 설명을 말씀드리자면? 2020년쯤인가 제가 어디 알고리즘 연합 스터디(SUAPC 검색하면 나옴) 창립 멤버였었는데, (지금은 디스코드이긴 하지만) 슬랙 채널로 다른 학교 사람들끼리 처음 교류하는 자리였었거든요. 다들 슬랙 처음 쓰는 거기도 하고 다른 학교 사람들끼리 어색한 것 같아가지고 어떻게하면 말을 트게 할까 고민했었는데요. 제가 그 당시 감자탕 먹고 있었어서, 벽 보고 멍때렸는데 갑자기 "감자탕의 효능" 같은게 보이더라구요. 그래서 의식의 흐름대로 저렇게 헛소리했었는데,,,,,, 누가 캡쳐해서 짤로 저장해서 여기저기 돌고 있더라구요... 그러다가 저 오른쪽 포스터가 나오고.. 어디 학원에서도 "~~의 효능"으로 패러디하고 있고 나름 재밌는 경험이었습니다..

1
0

@z9mb1wwj 자신의 레벨에 따라 다른데요,

  1. 코테 시스템 자체에 익숙하지 않은 경우(내 코드를 제출해서 채점을 받는다는 것에 익숙하지 않은 경우)
  • 프로그래머스 - 코딩테스트 에서 Lv. 0 문제들을 풀면서 일단 코테 방식에 익숙해지는 것을 추천드립니다.
  1. 코테 문제들을 봤는데 너무 어렵다 - 기초 필요
  1. 나는 코테 좀 익숙한데 좀 어려운 문제 보면 주춤거림
0

@z9mb1wwj 비즈니스 적인 요구사항을 코드로서 잘 녹여낸다라는 의미죠. 보통은. 현실의 문제를 프로그래밍(혹은 전산학적인) 관점에서 문제를 잘 정의해서 적절하게 잘 해석하느냐랑, 그 해석을 기반으로 구현을 하느냐랑 별개의 영역이기도 하고...

0
3
0
0
6

내가 누구???? >> Zed랑 Neovim이랑 같이 쓰는 사람 <<

지금 프로젝트를 개발하고 있는 환경에서는 Zed 쓰는게 궁합이 더 잘 맞기도 한데, Git 관련 유틸리티는 Neovim 쪽이 잘해줘서 여전히 애착이 가고 있다. Zed는 화면을 자유롭게 분할해서 한쪽 버퍼를 아예 터미널로 활용할 수 있는 것도 아니라서, Claude Code 띄우거나 등등등의 목적으로 터미널 옆에 띄워놓는건 불가피한 듯.

Neovim, Zed 각각에 Discord Presence를 깔아놔서 그런지 Zed/Neovim 각각을 동시에 플레이중이라고 프로필에 표시가 되어 있다.
2
1
1

백엔드는 수제로 짜고, 프론트엔드는 바이브코딩(AI한테만 맡기는 진짜 바이브코딩임)으로 작업하고 있는데, 백엔드를 이렇게 만드니까 돌아가긴 하는구나 가설검증하기에는 괜찮은 듯. 코드 퀄리티? 그건 셀프호스팅 첫트해보고 나서 생각해봐야지 ㅋㅋ!!!!

4
1
1
4

Vim에 관심있는, 혹은 Vim을 사랑하는 여러분, 안녕하세요.

한국어권 Vim 사용자 모임 vim.kr입니다. 오늘은 vim.kr에서 공식적으로 주최하는 모임 소식을 전해드리려 합니다.

혹시 *빔교정학원 모임(vimrc)*을 들어보신 적 있으신가요? vimrc 밋업은 2019년과 2022년에 3년 간격으로 개최된 바 있는데, 2025년부터는 저희 vim.kr이 그 바통을 이어받아 공식적으로 진행하게 되었습니다.

지난 7월 2일, 기존 vimrc 밋업을 주최하셨던 박현우(lqez)님께 연락을 드렸고, 이어 7월 6일 첫 회의를 통해 vim.kr에서 본 행사를 이어가기로 확정하였습니다.

이번 vimrc 밋업은 이전과는 조금 다른 방식으로 준비되고 있습니다. 특정 연사자가 발표하는 자리가 아니라, 모든 참가자가 동등한 입장에서 자신이 Vim을 어떻게 활용하는지 경험과 노하우를 공유하는 자리를 지향합니다. 즉, 발표 중심의 형식보다 네트워킹과 상호 교류에 초점을 맞춘 밋업입니다.

행사 규모는 약 36명으로 계획 중이며, 일정은 11월 둘째 주에서 셋째 주 사이로 조율하고 있습니다. 현재 대관 장소도 검토 중이니, 혹시 행사 장소 후원에 관심 있는 분이 계시다면 연락 부탁드립니다.

행사 관련 최신 소식은 vim.kr 디스코드를 통해 안내드릴 예정입니다.

많은 관심과 참여 부탁드립니다. 감사합니다.

13
0
0

오늘 할 것

  • vimrc 모임 열리긴 한다고 공지하기
  • vimrc 장소 후원 모집하기
  • nestjs 프로젝트 진짜진짜 federation 잘 동작하는지 사이클 확인해보기
  • Hackers Public @ Seoul 모집 포스터 만들기
0
1

LLM이 말아주는 코드는 이것저것 고민하면서 수제로 코딩하는 노가다를 줄여주는 역할을 하지만, 인터페이스 짜는 것 정도는 사람이 해줘야 하는듯. 인터페이스만 잘 만들어놓고 그거 가지고 알아서 조립하라하니까 그럴싸하게 조립은 잘해줌

2
1
0

오늘 할 것

  • vimrc 모임 열리긴 한다고 공지하기
  • vimrc 장소 후원 모집하기
  • nestjs 프로젝트 진짜진짜 federation 잘 동작하는지 사이클 확인해보기
  • Hackers Public @ Seoul 모집 포스터 만들기
3
0

https://youtu.be/rVfRFd_26Q0?si=bkQhKROnEK2U8F22

김태호 작가의 인터뷰를 보면서 부끄러워졌다. 나는 훈련하고 있나? 집중 하고 있나? 생각해보면 그렇지 않은 채 달리고만 있었던 것 같다. 나도 50대 후반에 최고의 무언가를 만들고 싶고, 그러려면 지금부터라도 훈련을 시작해야겠다.

2
11
1
0
2
0
4

Jaeyeol Lee shared the below article:

7가지 동시성 모델

정진명의 굳이 써서 남기는 생각 @jm@guji.jjme.me

서지정보

서명: 7가지 동시성 모델
저자: 폴 부처(Paul Butcher)
역자: 임백준
출판사: 한빛미디어
출간일: 2016년 7월 15일
원서명: Seven Concurrency Models in Seven Weeks: When Threads Unravel
원서 출간일: 2014년

생각

『7가지 동시성 모델』은 『한국신화를 찾아 떠나는 여행』 다음으로 읽는 빌린책챌린지 책입니다. 뜬금없이 프로그래밍 도서로 뛰었지요. 최근에 관련된 업무를 하게 되어 손이 이 쪽으로 왔습니다. 시리즈의 전작이라고 할 수 있는 『브루스 테이트의 세븐 랭귀지』를 좋아하기도 했어서, 비슷한 감각으로 배울 수 있는 게 있을 거라 생각했습니다.

제가 전문적으로 프로그래밍을 익힌 분야는 기본적으로 과학적 계산(Scientific Computing) 중 일부분이고, 또 학계에 한정되어 있기도 해서 일반적으로 업계에서 프로그램을 작성하는 직무에 필요한 사고방식과 고려해야 할 문제에 익숙하다고 하기는 어렵습니다. 그래도 나름 산업적으로 활용되는 분야라 슈퍼컴퓨팅센터 같은 곳에 기웃거리면서 GPGPU니 병렬계산이니 하는 개념을 익히기도 했지만, 아무튼 제 졸업논문에 들어간 계산 정도는 병렬 계산은 커녕 순차적으로 실행되는 CPU 프로그램만으로도 충분했습니다.

그런 면에서 저는 코드의 흐름이 비동기적이 되는 부분부터 어려움을 느끼고, await/async, Promise, 뭐 이런 걸 정말 필요한 정도로만 알고 있습니다. 병렬 처리, 멀티스레딩 같은 건 말할 것도 없죠. 그런 점에서, 제가 모르는 영역에서 그래도 아는 키워드를 조금이라도 넓혀나가고 싶다는 것이 이 책을 집게 된 이유입니다.

이 책은 말 그대로 프로그래밍의 세계에서 동시성을 다루는 일곱 가지 모델을 다룹니다. 영어 제목에서는 좀 더 드러나지만, 7주간 금요일, 토요일, 일요일 분량을 읽고 실습하면서 개념을 익혀나가는 구성이지요. 스레드와 락, 함수형 프로그래밍, 클로저의 모티베이션, 액터, 채널, GPGPU, 맵리듀스와 하둡… 하나의 흐름으로 설명하기 어려운 프로그램들의 여러 측면을 다룬다고 할 수 있겠습니다.

원래 이 책을 읽는 방법은 이 책이 다루고 있는 예제 코드를 직접 돌려보고 연습 문제를 풀어보는 것이겠지만, 전작과 달리 그러지는 못했습니다. 그만큼 이해는 얕을 수밖에 없겠지만, 뭐 어쩔 수 없지요. 나중에 제게 이 책의 내용이 필요한 일이 온다면, 이런 개념이 어떻게 불린다는 것, 그리고 어디서 찾아야 할지는 이제 익혔으니 그 때 다시 돌아와서 머리를 싸매야겠지요.

Read more →
0

맥 미니가 자꾸 혼자 슬립 상태로 들어가길래 쓰고 있던 카페인의 문제인가 싶어서 지우고 keepingyouawake를 설치했는데 잘 될지 모르겠네...

사실 홈 서버는 맥 미니가 아니고 딴 거긴 한데 곧 얘를 중심으로 클러스터?를 만들어봐야 할 것 같기도..

0

Jaeyeol Lee shared the below article:

Optique: 타입 안전한 CLI 파서 컴비네이터

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub

이 글에서는 Haskell의 `optparse-applicative`와 TypeScript의 Zod에서 영감을 받아 제작된 새로운 CLI 파서 라이브러리인 Optique를 소개합니다. Optique는 파서 컴비네이터를 활용하여 CLI의 구조를 레고 블록처럼 조립할 수 있게 해줍니다. `option()`, `optional()`, `multiple()`, `or()`, `object()`, `constant()`, `command()`, `argument()` 등의 다양한 파서와 컴비네이터를 통해 복잡한 CLI 구조를 유연하게 정의할 수 있습니다. 특히, `or()`와 `object()` 컴비네이터를 사용하여 상호 배타적인 옵션이나 서브커맨드를 쉽게 구현하는 방법을 예제를 통해 설명합니다. Optique는 단순한 CLI 파서 역할에 집중하고 있어 모든 기능을 제공하지는 않지만, 복잡한 CLI 구조를 표현하는 데 유용하며, 소개 문서와 튜토리얼을 통해 더 자세한 내용을 확인할 수 있습니다.

Read more →
13
2
2
1

내가 어쩌다가 이런 짓을 하게 되었나 타임라인을 정리하자면...

문제 파악

  1. 내가 만들고 있는 NestJS 앱에 fedify/nestjs 설치하고, FedifyModule 세팅해놓은 이후에 POST 요청 자체가 안 가고 있었음
  2. 왜 에러가 발생하나하고 들여다봤더니 TypeError: Response body object should not be disturbed or locked 이런 에러가 떴음.
  3. 오류가 발생한 위치는 fedify/express에서 코드 복붙할때 들어갔던 fromERequest 함수 호출 부분 이었음.
  4. 혹시나 하고, 비슷한 이슈가 있나하고 찾아봤는데 Fedify 279번 이슈에도 딱 내가 밟고 있는거랑 똑같은 에러메시지를 내뱉고 있었음.
  5. 이런 에러가 왜 발생했는지, 여기저기 찾아봤는데 hono에서도 비슷한 오류가 있었고 그걸 해결한 사례를 발견. 요약하자면, request의 body를 두번 읽으려고 해서 생긴 문제. req에 rawBody가 들어있으면 rawBody를 ReadableStream에 넣는 것으로 분기처리하고, 아니라면 기존의 코드(Readable.toWeb(req)) 그대로 사용하는 것.

해결 시도

  1. 도커 이미지 내부에는 에디터가 설치가 되어 있지 않음. 그래서, Dockerfile.dev 파일에 vim 의존성을 먼저 깔아둠
  2. vim 설치 후에는 docker compose exec app /bin/bash 커맨드로 도커 컨테이너 안쪽으로 들어가서, hono에서 하던 방식대로 시도하려고 했으나.... console.log 로 까보니 rawBody는 없고, 이미 파싱이 되어 있는 body만 남아있었음. -> 여기서 알게 된 점은.... "다른 미들웨어에 통과시키기도 전에 request에 있는 rawBody는 이미 읽혀져있구나..."
  3. NestJS의 소스코드를 까보긴 해야겠지만, 다시 돌아와서 여기Readable.toWeb(req)req.body로 바꾸니까 기적같이 그냥 돌아감...

NestJS 분석글... 쓰긴 해야겠지...? 근데, PR에도 올리긴 해야겠는데 어떡하지.... "이렇게 고치니까 되더라!!"는 좀 아닌 것 같다.

4
1
2

미리보기 이미지를 클릭하면 404가 뜨는데 링크를 클릭하면 잘 표시가 된다. 이슈 생성하러 가야지

1
0
6

박사과정을 하면 한번쯤은 내가 교수가 된다면 뭘 해볼까 생각해보게 되는 것 같다. 나의 경우에는 FPGA를 하나 사서 하드웨어부터 Verilog로 짜올려서 운영체제, 컴파일러를 만들고 C로 ray tracing을 짜는 두 학기짜리 프로젝트 과목을 해보고 싶다…만 이러면 조교가 죽어나갈 것을 알기에 꿈만 꿔본다.

0

박사과정을 하면 한번쯤은 내가 교수가 된다면 뭘 해볼까 생각해보게 되는 것 같다. 나의 경우에는 FPGA를 하나 사서 하드웨어부터 Verilog로 짜올려서 운영체제, 컴파일러를 만들고 C로 ray tracing을 짜는 두 학기짜리 프로젝트 과목을 해보고 싶다…만 이러면 조교가 죽어나갈 것을 알기에 꿈만 꿔본다.

14
1