단순히 슬라이드를 업로드하고 공유할 수만 있으면 충분한 것이긴 한데, PixelFed랑 비슷하게 접근을 해야하나

Jaeyeol Lee
@kodingwarrior@hackers.pub · 232 following · 156 followers
Neovim Super villain. 풀스택 엔지니어 내지는 프로덕트 엔지니어라고 스스로를 소개하지만 사실상 잡부를 담당하는 사람. CLI 도구를 만드는 것에 관심이 많습니다.
Hackers' Pub에서는 자발적으로 바이럴을 담당하고 있는 사람. Hackers' Pub의 무궁무진한 발전 가능성을 믿습니다.
그 외에도 개발자 커뮤니티 생태계에 다양한 시도들을 합니다. 지금은 https://vim.kr / https://fedidev.kr 디스코드 운영 중
Github
- @malkoG
Blog
- kodingwarrior.github.io
mastodon
- @kodingwarrior@silicon.moe
MVP 수준의 구현을 참고하려면 여기쯤이 최적인 것 같다 https://github.com/hackers-pub/hackerspub/tree/faf785e90ece8c78d29f276ba9ab1be8980c2ef7
해커스펍이 개발 초기에 어떤 모습이었는지 쭉 훑어보는 중.... MVP를 뽑을 수 있는 레벨로 가려면 대충 어느 쯤이어야하는지 감잡을 수 있을때까지 이분탐색하는 이 여정이 언제쯤에 끝날까....
단순히 슬라이드를 업로드하고 공유할 수만 있으면 충분한 것이긴 한데, PixelFed랑 비슷하게 접근을 해야하나
해커스펍이 개발 초기에 어떤 모습이었는지 쭉 훑어보는 중.... MVP를 뽑을 수 있는 레벨로 가려면 대충 어느 쯤이어야하는지 감잡을 수 있을때까지 이분탐색하는 이 여정이 언제쯤에 끝날까....
패디버스 앱으로서 해커스펍이 누릴 수 있는 기능 중 하나가 Remote Follow인데, 이건 다른 페디버스 앱에서도 마찬가지로 이런 기능이라는게 있다는걸 알지 못하는 경우가 많다. 새로 진입하는 분들 타겟으로 카드뉴스 같은거라도 만들어야 하나...... 라는 생각이 문득 들었다.
좋은 기능이 있어도 설명이 필요하다는 것 자체가 성공한 UX는 아닌 것 같은데, 이게 구조 상 어쩔 수 없이 생기는 문제인건가 싶기도 하고
개인적으로는 k8s쓰는 가장 큰 이유는 개발자 복지라고 생각한다. 적정기술만 쓰면 대부분의 사람들은 뭔가를 실 서비스에서 경험할 기회를 잃어버린다. 아니 이건 됐고…
온프레미스 클러스터 오퍼레이션 부담이나 EKS같은 서비스의 사용료 걱정만 없다면 쓰는게 무조건 낫다고 생각한다.
일단 k8s뿐만 아니라 컨테이너/머신 오케스트레이션의 세계에서 앱과 머신은 좀 더 잘 죽어도되는 존재가 된다. (물론 stateful한 호스트와 앱을 최대한 stateless하게 하거나, 상태를 분리하여 격리시켜야 하긴 한다)
그러면 docker-compose로 충분하지 않느냐 말할 사람도 있겠지만 처음에야 docker-compose 쓰는거나 k8s 쓰는거나 그게 그거지만(오히려 k8s가 성가실것이다) 마이그레이션의 때가 오면 난 그걸 감당할 자신이 없다.
물론 자신만의 가볍고 쏙 맘에드는 솔루션을 고집할 사람도 있을텐데… 난 남들이 다 쓰는거 쓰는게 편하다.
개밥먹기주도개발이라 의욕이 떨어질 일은 없겠지만 벌린 일이 많다... 동시에 진행하는게 너무 많으면 적신호인데...
프로젝트
- 파이썬 개발자를 위한 뉴스레터 관리 서비스 (근데 AI 에이전트가 들어간)
- Flutter 기반의 마스토돈 클라이언트
- Fedify를 응용한 무언가 (아직 시작은 안함)
그리고.... 주최해야하거나 혹은 주최해야할 것 같은 모임
- vim.kr 컨퍼런스 (아무리 늦어도 7-8월)
- Hackers' Pub 오프모임
- FediDev.kr 스프린트 모임
- foss 관련 컨퍼런스
✨ My New Gear ✨
@cosmic_elevatorSooji Choi 띵-패는 사랑입니다
일단 django 기본 개발환경 세팅. 시작이 반이랬다.
- poetry 대신 uv로 사용하는 툴을 변경했고,
- Docker 기반의 배포환경 세팅하고
- aider 기반으로 바이브코딩을 이어갈 수 있는 환경을 구축했음.
프로덕션 환경은...... 같이 작업하는 분이 준비되시면 작업하는걸로 ㅋㅅㅋ
이제 앞으로 해야하는 작업은 URL shortener를 먼저 구현하는 방향으로 갈지. (가장 빨리 끝남) 혹은 본격적으로 LLM 기반의 아티클 요약을 구현할지 결정하면 된다. (좀 늘어질 수 있음)
langchain 기반으로 짜면 될 것 같은데, 학습시간이 좀 있을 것으로 예상.
https://github.com/dahlia/yoyak 프롬프트는 여기를 참고하고 스슥하고 짜면 될 듯.
Manning 에서 올해 4번째로 구독한 책은 'API Design Patterns'
https://www.manning.com/books/api-design-patterns
API 설계의 원칙에 맞게 고려할 사항들을 패턴화, 일목요연하게 정리한 책. GoF 책처럼 Motivation, Overview, Implementation, Trade-off 로 구분지어 설명하는 구성이 너무 마음에 든다. 뛰어난 개발자/개발사가 작성한 API를 자주 경험하다보면 & 개발 경험이 어느 정도 쌓이면 API 설계에 대한 감이 적당히 생기는데 이 책은 '적당' 하거나 '감' 의 영역에 있던 불분명한 경계를 명확히 해준다는 장점이 있다.
어라라라라 해시태그가 이제 지원되는건가!?!?? #해시태그
@kodingwarriorJaeyeol Lee @ysh염산하 그럼 역시 Fresh를 쓰셔야… 근데 Fresh 2.0 알파가 나왔는데 그걸 쓰시는 게 나을 수도 있어요. (Hackers' Pub이 Fresh 2.0 알파 버전 쓰는 중…)
@hongminhee洪 民憙 (Hong Minhee) @ysh염산하 혹시 파일 하나에 합쳐서 개발도 되나요? index.tsx 에만 몰아서 개발하는 식으루요. 그러면 ChatGPT에 통으로 넣어서 프롬프트 넣는식으로 개발하기 편할 것 같은데
@kodingwarriorJaeyeol Lee node 호환 되니까 이제 그냥 사용해도 되지 않을까요?
@ysh염산하 초기부터 백엔드/프론트엔드 분리해서 구축하고 싶진 않습니다... 그러면서 preact의 장점도 누리고 싶은..
Deno에도 nestjs 같은게 있길래 오호? 하고 들여다봤는데, 템플릿 엔진으로 handlebar를 쓰고 있다..... 윽...... https://danet.land/overview/renderer.html
Deno로 MVP라도 뭔가를 만들려면 Fresh 말고 없는건가.......
이걸 보니까 느끼는데, 사실 repomix 비슷한걸 @joonnotnotJoon 님이랑 같이 만들려고 시도는 했었던게 갑자기 기억난다.... 물론 내가 만들려고 했던건 체크리스트를 자동 생성해주는 CLI를 만드는 것이긴 했지만, 궁극적으로는 LLM에 친화적인 프롬프트를 만드는것도 로드맵이었음.
tree-sitter의 tag query라는게 있다는걸 아예 몰랐어서 빙빙 돌아가다가 결국 흐지부지 되어버린 비운의 프로젝트...
드디어 @xtjuxtapose 님이 기다리시던 차단 기능이 구현되었습니다. 차단할 사용자의 프로필 페이지에 가서 팔로·언팔로 버튼 오른쪽에 보이는 말줄임표 아이콘에 마우스 커서를 갖다 대면 (모바일에서는 터치하면) 상세 메뉴가 나오는데, 그 안에 팔로워 삭제 버튼과 차단 버튼이 생겼습니다.
ActivityPub 프로토콜 수준에서는 차단은 Block
액티비티를 차단한 액터에게 보내며, 차단을 해제할 경우 Undo(Block)
액티비티를 보냅니다. 그러나, 그 액티비티를 받은 인스턴스의 구현이 차단한 사용자의 콘텐츠를 볼 수 없도록 막지 않을 수도 있습니다…만, 실질적으로는 모든 구현이 막고 있습니다. 아, 당연하지만 차단은 자동적으로 상호 언팔로를 수행합니다. 차단을 해제하더라도 풀렸던 팔로 관계는 자동적으로 회복되지 않습니다.
최근에 추천사를 썼던 책이 있는데요. 이 교재를 활용해서 LLM AI 에이전트를 개발해볼까합니다. 제가 자원봉사(?)를 하고 있는 곳에서 컨텐츠 팀을 담당하고 있는데, 거기서 하는 일 중 하나가 뉴스레터 발행입니다.
TLDR 뉴스레터처럼 링크들을 오마카세처럼 모아서 양질의 콘텐츠를 제공하는게 목표인데, 그런 데이터를 모으기 위해서 최대한 아티클들을 모아서 요약해주는 봇을 만들어야겠다는 판단이 들었습니다. 언어 LLM 관련된 리소스도 많은 파이썬을 쓰게 될 것 같고, 서버 프레임워크는 컨텐츠 관리(어드민페이지)의 수월함을 위해서 Django를 쓰게 될 것 같습니다.
https://product.kyobobook.co.kr/detail/S000216210672
RE: https://hackerspub-ask-bot.deno.dev/message/01962280-fc29-748e-9ba8-fad032795e0d
그렇죠. 저도 ChatGPT 덕분에 이거 손대면 못하진 않겠지만 내 인생이 망가질 정도로 시간 낭비가 크겠는걸? 하고 엄두도 못내는 것들을 해낼때가 많으니까요. ㅎㅎ
@gnh1201어둠사자 마감기한이 빡셀수록 더더욱 머리에 힘주면서 LLM도 겸사겸사 쓰는게 불가피할 것 같습니다....
왜 이런 소리를 하고 있냐면.... 귀찮아서 손 댈 엄두도 안나고 미루기만 했을 작업을 ChatGPT랑 티키타카해서 2시간 만에 끝냄..... 평소였으면 컨텍스트 스위칭 시간 포함해서 5시간 이상은 걸렸을텐데..
음. 그렇지. 음. 이건 아니야. 음. 여기서 이렇게 하는건 어떨까?
하고 티키타카하면 코드가 짠!
RE: https://hackers.pub/@kodingwarrior/019623b8-54a2-7d15-84c6-90cd443fae96
LLM 시대의 오만이란 무엇인가...!! 수많은 연구/간증을 통해서 어지간하면 1인분할 수 있을 정도로 성능이 좋다고 알려진 LLM이 영 시원치 않다고 단정하는 것이다...!!
정보: 세기의 수학자 테렌스 타오도 대학원생 수준이라고 인정한 바가 있ㄷㅏ
https://www.thestack.technology/chatgpt-o1-strawberry-review/
LLM 시대의 오만이란 무엇인가...!! 수많은 연구/간증을 통해서 어지간하면 1인분할 수 있을 정도로 성능이 좋다고 알려진 LLM이 영 시원치 않다고 단정하는 것이다...!!
Hackers' Pub에 차단 기능을 구현합니다.
따로 의도한건 아닌데 모아서 보기가 좋음
최근에 추천사를 썼던 책이 있는데요. 이 교재를 활용해서 LLM AI 에이전트를 개발해볼까합니다. 제가 자원봉사(?)를 하고 있는 곳에서 컨텐츠 팀을 담당하고 있는데, 거기서 하는 일 중 하나가 뉴스레터 발행입니다.
TLDR 뉴스레터처럼 링크들을 오마카세처럼 모아서 양질의 콘텐츠를 제공하는게 목표인데, 그런 데이터를 모으기 위해서 최대한 아티클들을 모아서 요약해주는 봇을 만들어야겠다는 판단이 들었습니다. 언어 LLM 관련된 리소스도 많은 파이썬을 쓰게 될 것 같고, 서버 프레임워크는 컨텐츠 관리(어드민페이지)의 수월함을 위해서 Django를 쓰게 될 것 같습니다.
https://product.kyobobook.co.kr/detail/S000216210672
RE: https://hackerspub-ask-bot.deno.dev/message/01962280-fc29-748e-9ba8-fad032795e0d
# Ask Hackers Pub : 이번 주말에 뭐 하시나요?
이번 주말에 뭘 하려고 계획 중인지 편하게 얘기해 보아요.
읽을 책, 가볼 곳, 해볼 것.. 어떤 것이든 좋습니다.
도움 요청이나 피드백 요청도 좋습니다.
물론! 아무것도 하지 않고 쉬는 것도 훌륭합니다.
* 지난 주말에 계획하셨던 일의 회고도 한 번 남겨보면 좋을 것 같아요.
@hackerspub_ask_bot 아 그냥 Deno Deploy 대시보드 Cron 탭에서 next run 칼럼 보면 되는거였네
@hackerspub_ask_bot 뭐지 왜 메시지가 올라가지 않지
@hackerspub_ask_bot 일단 요렇게 넣어봤는데 될지 안될지는 1분 뒤에 결과가 말해줄것
@hackerspub_ask_bot 아 그냥 Deno Deploy 대시보드 Cron 탭에서 next run 칼럼 보면 되는거였네
@hackerspub_ask_bot 일단 요렇게 넣어봤는데 될지 안될지는 1분 뒤에 결과가 말해줄것
이 글을 작성한 이후로 바로 Ask 봇을 만들었는데, 생각보다 오래 걸리지 않았다.
- @fedify/botkit 리포지토리를 RepoMix에다가 넘겨서 프롬프트로 변환한다.
- 1에서 넘겨받은 프롬프트를 ChatGPT(o3-mini-high)한테 입력 넣어서 주기적으로 글 작성하는 봇 만들어달라고 한다.
- Cron 돌리는 스크립트 넣어달라고 하는등 티키타카를 한다.
- 부족한 부분은 BotKit 문서 보면서 채운다.
이렇게 하니까 1시간 컷 찍음
RE: https://hackers.pub/@kodingwarrior/0196222c-4b5a-783e-9dd8-8dc5f3e90202
되..겠...지????? 타이밍만 맞으면 진짜 끝... 해방....
이 글을 작성한 이후로 바로 Ask 봇을 만들었는데, 생각보다 오래 걸리지 않았다.
- @fedify/botkit 리포지토리를 RepoMix에다가 넘겨서 프롬프트로 변환한다.
- 1에서 넘겨받은 프롬프트를 ChatGPT(o3-mini-high)한테 입력 넣어서 주기적으로 글 작성하는 봇 만들어달라고 한다.
- Cron 돌리는 스크립트 넣어달라고 하는등 티키타카를 한다.
- 부족한 부분은 BotKit 문서 보면서 채운다.
이렇게 하니까 1시간 컷 찍음
RE: https://hackers.pub/@kodingwarrior/0196222c-4b5a-783e-9dd8-8dc5f3e90202
@dlunch 와! 여기서도 뵙네요! 반갑습니ㄷㅏ!!!!
높은 확률로 타임존 문제가 있을 것 같다 -_-;;;;;
일단 아직 10시(UTC 03:00)로 1트
높은 확률로 타임존 문제가 있을 것 같다 -_-;;;;;
흠. BotKit에다가 파파고 웹 번역 끼얹어서 Zenn.dev 피드 알림봇 부활시키려고 했는데, 파파고 웹 번역이 이제 없어........
하스켈쪽 채널은 @lionhairdino 님이 열심히 홍보하고 계시는듯한 ㄷㄷ
Pragmatic Programmersz에서 philosophy of software design 저자 인터뷰? 이건 귀하군요 https://open.substack.com/pub/pragmaticengineer/p/the-philosophy-of-software-design?utm_source=post-email-title&publication_id=458709&post_id=160951999&utm_campaign=email-post-title&isFreemail=true&r=22ejlc&token=eyJ1c2VyX2lkIjoxMjQ5NzAxNjAsInBvc3RfaWQiOjE2MDk1MTk5OSwiaWF0IjoxNzQ0MjE2MDgyLCJleHAiOjE3NDY4MDgwODIsImlzcyI6InB1Yi00NTg3MDkiLCJzdWIiOiJwb3N0LXJlYWN0aW9uIn0.eaxyXydpQsL1CQdEWRxIUdzOadbcMTtw0lLc7JJst7M
해커즈 퍼브에서 "사용자"에 해당하는 부분에 스타일시트 적용 전후 비교
@kodingwarriorJaeyeol Lee 구현 버그…까진 아닌데 기획 버그라고 봐야 하나요? 🤔
@hongminhee洪 民憙 (Hong Minhee) 뮤트 내지는 차단했거나 일부러 팔로안한 사람까지 노출이 될 수 있을 것 같아서 버그라고 보는 입장이긴 해요
여기에서는 트위터보다 조금 더 편하게 글을 써보려고 합니다. 해커스펍 가입해놓고 글 하나 안 올렸었네요.
@d01c2Hyunjoon Kim 아늑한 해커스펍에 어서오세요
해커스펍 친구가 내가 팔로하고 있지 않은 사람에게 답멘하는게 고스란히 보이고 있는데 이것도 어떻게 보면 버그인가 흠
Jaeyeol Lee shared the below article:
지적 재산권
정진명의 굳이 써서 남기는 생각 @index@guji.jjme.me
지적 재산권에 대해서 이야기를 하려면 지적 재산권 제도를 통해서 이룩하려는 것이 무엇인지를 이야기해야 합니다. 저는 지적 재산권을 세 가지로 보는데, 기능을 실현하는 것에 관련된 것과(특허, 실용신안) 표현에 관한 것과(저작권) 공정한 시장을 위한 것(상표)으로 나눌 수 있을 것 같습니다. 상표는 조금 성격이 다르다고 생각해 따로 이야기하겠지만, 어쨌든 지적 재산권이란 어떤 이로운 것을 새롭게 생각해낸 주체의 권리를 보장해주기 위한 제도지요.
그런데 이 '생각해낼 수 있는 어떤 이로운 것'이란, 대다수가 저렴하게 복제가 되거나 복제된다고 해서 그 가치가 줄어들지 않는다는 특징이 있습니다. 기능을 실현하는 지식도, 표현된 이야기도, 가끔은 '이 로고가 붙은 제품은 좋다'는 믿음도 말이지요. 어떤 면에서 말하자면, '생각해낼 수 있는 이로운 것'이 제한없이 복제될 수 있는 상태가 편익의 합을 극대화할 수도 있을 것입니다.
하지만 이렇다면, 어떠한 노력을 들여서 복제될 수 있는 무언가를 만들어내는 행위가 경제적으로 보답받지 못하는 상태가 되리라고 생각할 수 있겠지요. 우리는 그런 행위가- 발명과 창작이 사회의 편익을 증가시킨다고 이해하고 있고, 그걸 위한 인센티브를 주고 싶다고 생각합니다. 지적 재산권은 제 생각에 그것을 보장하기 위한 도구입니다. 그러나 극단적인 경우를 생각해 봅시다. 지적 재산권이 개인에게 기한과 범위 없이 인정되고, 그것을 계속 물려줄 수 있는 거지요. 불을 쓰기 위해서 처음 불을 발견한 사람의 자손에게 사용료를 내고요. 누군가가 벽에 커다란 낙서를 해서 그것을 방송으로 보도하면, 그 낙서를 복제한 것이기 때문에 보도하기 위해서 저작권료를 지불해야 할 수도 있지요. 뭐, 그러면 안 되는 건 아닐 순 있지만, 사회의 편익이 그렇게 높을 것 같지는 않습니다.
제 주장은, 지적 재산권은 다음 두 상황의 균형을 맞추는 제도라는 것입니다.
- 지식과 표현이 아무 제한 없이 복제되어 지식과 표현을 만들어려내는 시도가 저해되거나, 사회가 원하는 만큼 이루어지지 않는 상황
- 지식과 표현의 복제가 너무 제한되어 사회가 복제로 얻을 수 있는 편익이 감소하는 상황
대부분의 경우는 1번 상황이 문제가 됩니다. 2번 상황은 꽤 이론적인 것처럼 보이지만, 충분히 주의해서 관찰한다면 사회의 어떤 문제는 2번 상황에 해당한다는 걸 찾아보실 수도 있을 것입니다. 이미 우리의 지적 재산권은 만료, 공정 이용과 같은 방식으로 동의 없는 복제를 허용하고― 다시 말해 제작자의 권리를 무한정 인정하고 있지는 않습니다.
두 상황의 균형은 사회의 영향을 받기 때문에, 지적 재산권이 어디까지는 제작자의 권리를 보호하고 어디부터는 보호 없는 복제를 허용하게 두어야 하는지는 그 사회의 변화에 맞추어 적절하게 갱신되어야 한다고 생각합니다.
좀 쓰다 급하게 마무리하고 자러 갑니다. Hacker's Pub 가입 이후 처음이라 올리긴 하는데요…
옥텟 규칙으로 본 IETF RFC 9110 “HTTP Semantics” https://eonj.github.io/trouble.log/2025-04-09.an-octet-aspect-to-ietf-rfc-9110/
GeekNews의 〈소프트웨어 엔지니어로 산다는 건 미친 짓이야〉 주제에 @youknowone 님께서 쓰신 좋은 댓글:
소프트웨어 개발이 어려운 일이라는 사람들은 본인이 그 일을 하는 이유가 뭘까요? 고되고 힘든 일이지만 보람있는 일이라서 하시나요? 이 업계에서 그런 분들은 그리 많지는 않았던 것 같습니다. 남들이 못하는 것 같으니까 어렵다고 주장하는거지, 실상은 그게 본인한테 가장 쉬운 일이니까 하시는 것 아닌가요? 남들이 좀 띄워준다고 자화자찬하면서 나만 특별한 양 여기면서 눈을 가리지 말고 주위를 봐야합니다. 이공계에서 어떤 분야가 방구석에서 인터넷 좀 보고 독학한다고 (잘 하면) 몇달만에 현업에 투입할 수 있는 전문가가 됩니까?
(…중략…)
물론 남들이 가지지 못한 훌륭한 손재주를 가진 사람은 존중받아 마땅하지만, 약간의 손재주를 연마했다고 해서 소싯적 배워둔 손재주로 평생 먹고 살면 좋을텐데 왜 그럴수 없을까, 나는 이런 훌륭한 손재주를 가졌는데 다른 사람들처럼 힘들게 일하지 않아야 하는 것 아닐까, 나는 남들은 쉽게 하지 못하는 대단한 재능을 가진 것이 아닐까 등등의 특별한 나에 심취하는건 교만에 가까운 일이 아닐까 합니다.
해커스펍이 또 달라졌어...!!!
"언급된 사용자만"으로 두고 대화를 주고 받으면, 그 게 DM인 건가요? 나중에 검색으로도 걸려들지 않는 건가요?
@lionhairdino 일단 스펙상으로는 검색으로 걸리지 않아요