Profile img

Jaeyeol Lee

@kodingwarrior@hackers.pub · 637 following · 463 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
2
4
2
3

Hashnode 게시글을 불러오는 API를 기반으로 자기만의 정적 사이트 생성기 템플릿 굽는 분들이 계시길래, Hackers Pub도 이런게 되어야 하지 않나 싶었다. 실제로 graphql API를 까봤는데, 이론상으로 불가능하지는 않아서 도즈언 했는데 생각보다 잘 나온다..... Astro에다가 Hashnode API 연결한 예시를 베이스로 해서, hackerspub 버전으로 바꿔달라고 claude code한테 프롬프트 넣어줬더니 진짜 그냥 해줌.

HackersPub에서 제공하는 graphql API를 기반으로 정적 사이트를 구운 모습이다
8
0

부계로 오래 알고 지냈던 생각지도 못했던 트친이, 내가 알고 있던 어떤 존재감이 있었던 학교 동문이항 동일인물이었음... 책도 쓰시고 유튜브도 찍으신 분인데, 이게 내가 알던 어떤 동문이랑 동일인물이라고? 하는 복잡한 생각이...

1

내가 준비중인 다른 모임(vimrc 2025)랑 안 겹치게 테트리스하고 있기도 하고, OSSCA 관련 일정이랑도 안겹치게 해야하고, 12월 초에 예정되어있는 뻥쇼날 랭귀지 컨퍼런스 LiftIO 2025랑도 겹치지 않게 해야함

1

이 글을 보니까 뭔가 N글자 이상일때 아티클로 옮길지 말지 물어보는 UI가 있으면 어떨까 싶은 생각이 문득 들었다. (350 <= N <= 500)

당연히 web-next 에서 작업해야 하는 이슈 쯤으로....

0

11월 중순~11월 말 사이에 해커스펍 오프라인 밋업 Hackers' Public 두번째 모임을 진행하려고 하는데 "눈물없이 듣기 어려운 프론트엔드의 심연" 특집입니다...... 11월 1일~11월 8일 사이에 모집 공고 올릴듯????? 아직은 오피셜한 공지는 아니지만 정보만 슬쩍 흘려봅니다,,,

9
3

작업일지 251012

이번에는 Announce 액티비티 지원하는 작업을 진행 중인데, 해커스펍이 어떻게 구현되어 있는지 하나하나 뜯어보면서 작업 중이다. 고려해야 할 사항이 몇 가지 있는데... 당장은 쉬운 것 순서대로 작업할 것들을 정리하고 있다.

  • Phase 1 : 내가 팔로하고 있는 원격 계정에서 전달되는 Announce 액티비티를 인박스에서 수신하는 과정을 핸들링한다. (원격에서는 followers에 cc 걸어서 Announce 액티비티를 전송하기 때문)
  • Phase 2 : 나를 팔로하고 있는 로컬 인스턴스 계정의 글을 재공유하는 매커니즘을 구현한다.
  • Phase 3 : 나를 팔로하고 있는 원격 계정의 inbox에 Announce 액티비티를 전달하는 매커니즘을 구현한다.

지금은 Phase 1에 신경쓰고 있는 상황. 허나, Phase 1을 작업하고 있는 과정에서 병목이 생겼다. 다행히 해결했다만.

Follow 액티비티가 언제부턴가 전송이 안되고 있어서 왜 그런가 했는데, 프로덕션 배포하는 과정에서 federation 옵션을 바꾼게 화근이 되었음. 백엔드와 프론트엔드가 하나로 합쳐져있을때는 origin 옵션에 URL 하나만 걸어두면 그만인데, 백엔드/프론트엔드 나눠놓은 상황에서는 프론트전용 URL(webOrigin)/백엔드전용 도메인(handleHost) 각각 분리를 해야했음. 그와 관련된 패치를 어제 했었던 것으로 기억한다.

변경사항이 있었다는걸 까먹은 상태에서, 로컬환경에서 원격 인스턴스에 Follow 액티비티가 왜 Unauthorized 에러가 뜨면서 전송이 되지 않았나했는데... 역시 이런 맥락이 있었던 것. 즉, handleHost(백엔드쪽 도메인)은 Tailscale에서 생성한 URL로 들어가는 반면, webOrigin은 localhost로 설정이 되어 있었기 때문에 서명하는 과정에서 오류가 발생한 것임. NODE_ENV 환경변수가 development 인 경우에만 webOrigin/handleHost를 같은값을 쓰는 걸로 임시방편으로 처리함. 관련 코드

4
1

cosmosli.de 여기 접속이 되었다 안되었다 반복하고 있어서 이것저것 실험중임.

가설 1 : 대역폭이 문제다

=> SSH 연결은 아주 잘됨. 혹시 다른 머신에서 대역폭 엄청 잡아먹고 있는 것 같아서 라우터 설정 들어가서 QoS도 조정해봤음. 그래도 안됨.

가설 2 : Caddy를 리버스프록시로 쓰고 있어서 그런가?

=> 접속이 되든 안되든 Caddy에는 따로 로그가 찍히진 않음

0

cosmosli.de 여기 접속이 되었다 안되었다 반복하고 있어서 이것저것 실험중임.

가설 1 : 대역폭이 문제다

=> SSH 연결은 아주 잘됨. 혹시 다른 머신에서 대역폭 엄청 잡아먹고 있는 것 같아서 라우터 설정 들어가서 QoS도 조정해봤음. 그래도 안됨.

가설 2 : Caddy를 리버스프록시로 쓰고 있어서 그런가?

=> 접속이 되든 안되든 Caddy에는 따로 로그가 찍히진 않음

1

cosmosli.de 여기 접속이 되었다 안되었다 반복하고 있어서 이것저것 실험중임.

가설 1 : 대역폭이 문제다

=> SSH 연결은 아주 잘됨. 혹시 다른 머신에서 대역폭 엄청 잡아먹고 있는 것 같아서 라우터 설정 들어가서 QoS도 조정해봤음. 그래도 안됨.

가설 2 : Caddy를 리버스프록시로 쓰고 있어서 그런가?

=> 접속이 되든 안되든 Caddy에는 따로 로그가 찍히진 않음

0

cosmosli.de 여기 접속이 되었다 안되었다 반복하고 있어서 이것저것 실험중임.

가설 1 : 대역폭이 문제다

=> SSH 연결은 아주 잘됨. 혹시 다른 머신에서 대역폭 엄청 잡아먹고 있는 것 같아서 라우터 설정 들어가서 QoS도 조정해봤음. 그래도 안됨.

가설 2 : Caddy를 리버스프록시로 쓰고 있어서 그런가?

=> 접속이 되든 안되든 Caddy에는 따로 로그가 찍히진 않음

0
5

액터/사용자만 나열하는 방식으로 러프하게 어드민 페이지 구현 완료. 배포하면 어떻게 될지 모르겠군. 개인적으로는 어드민 페이지는 아예 별개의 서비스로 분리가 되어있어야 한다고 보는 입장이라, 아예 별개의 패키지로 나눔 @cosmoslide/admin 같은 식으로

바이브코딩으로 뚝딱 만든 어드민 페이지
3

개발일지 251008

k8s로 배포할까 했는데, 다들 뜯어말리기도 했고 claude code로 바이브코딩한거 부채청산할 자신도 없어서 그냥 docker compose에다가 리버스프록시는 caddy로 물려서 올리는 중...... 근데, 라우터 설정하는 부분이 병목인데(집에서 세팅해야함) 당장은 못하는 관계로 다른 기능을 붙이는데 집중하고자 한다.

어드민 페이지랑 메일링 서비스 연동 게섯거라...

5

작업 내역

  • https://github.com/cosmoslide/cosmoslide/pull/45 PDF 업로드 기능이라도 구축은 해야할 것 같아서 진행함. 보통은 express라던가 등등 JS 기반의 웹서버 프레임워크에서는 파일시스템/S3/GCS 등의 스토리지에 파일을 업로드할때, 스토리지에 접근하는 과정 자체를 추상화하는 flydrive라는걸 쓰는데, flydrive는 NestJS에서 사용이 되지 않는 ESM-only 모듈이어서, 어떻게 해야 하나 하다가 Claude Code한테 AWS S3에 접근하는 것만 적당히 추상화해서 야크쉐이빙 해달라고 했더니 그냥 순식간에 되었다. 문서를 뜯어보고 구현해야하는 수고는 줄었고, aws sdk를 어떻게 활용하는지는 가성비있게 학습할 수 있는 기회가 되었다.

  • https://github.com/cosmoslide/cosmoslide/pull/46 프로필 화면에 Presentation 탭을 넣었고, 프레젠테이션 파일을 업로드하면 Create(Note) 액티비티가 발생되도록 처리했다. react-pdf 이용해서 커스텀 PDF 뷰어 적당히 끼워넣었다.

PDF 업로드 기능 가설 검증프레젠테이션을 위한 커스텀 PDF 뷰어프로필 화면에 Presentation 탭 넣었다.
4
2
0
1
0
0
5
4
0
0
0

추석 연휴(10월 중순) 지나면 동시에 해야하는거

  • 이력서 돌리기
  • 외주 다시 시작
  • OSSCA 프로젝트 마무리 짓기 (연휴 기간에는 영혼갈아넣어서 완성도 높일거임)
  • MT? 워크샵? 아무튼 기획
  • Hackers Pub 두번째 모임 기획
  • vimrc 모임 기획
  • 밀린 커피챗

전부 11월까지는 끝내야함....

갑갑하구만..

3
1
1
2
0
0
0
1
1
0
1
0
0
1
1