https://socialhub.activitypub.rocks/t/guide-for-new-activitypub-implementers/479
액티비티펍 구현체 개발을 위한 가이드
@kodingwarrior@hackers.pub · 232 following · 156 followers
Neovim Super villain. 풀스택 엔지니어 내지는 프로덕트 엔지니어라고 스스로를 소개하지만 사실상 잡부를 담당하는 사람. CLI 도구를 만드는 것에 관심이 많습니다.
Hackers' Pub에서는 자발적으로 바이럴을 담당하고 있는 사람. Hackers' Pub의 무궁무진한 발전 가능성을 믿습니다.
그 외에도 개발자 커뮤니티 생태계에 다양한 시도들을 합니다. 지금은 https://vim.kr / https://fedidev.kr 디스코드 운영 중
https://socialhub.activitypub.rocks/t/guide-for-new-activitypub-implementers/479
액티비티펍 구현체 개발을 위한 가이드
해커스펍이 개발 초기에 어떤 모습이었는지 쭉 훑어보는 중.... MVP를 뽑을 수 있는 레벨로 가려면 대충 어느 쯤이어야하는지 감잡을 수 있을때까지 이분탐색하는 이 여정이 언제쯤에 끝날까....
패디버스 앱으로서 해커스펍이 누릴 수 있는 기능 중 하나가 Remote Follow인데, 이건 다른 페디버스 앱에서도 마찬가지로 이런 기능이라는게 있다는걸 알지 못하는 경우가 많다. 새로 진입하는 분들 타겟으로 카드뉴스 같은거라도 만들어야 하나...... 라는 생각이 문득 들었다.
좋은 기능이 있어도 설명이 필요하다는 것 자체가 성공한 UX는 아닌 것 같은데, 이게 구조 상 어쩔 수 없이 생기는 문제인건가 싶기도 하고
개밥먹기주도개발이라 의욕이 떨어질 일은 없겠지만 벌린 일이 많다... 동시에 진행하는게 너무 많으면 적신호인데...
프로젝트
그리고.... 주최해야하거나 혹은 주최해야할 것 같은 모임
일단 django 기본 개발환경 세팅. 시작이 반이랬다.
프로덕션 환경은...... 같이 작업하는 분이 준비되시면 작업하는걸로 ㅋㅅㅋ
이제 앞으로 해야하는 작업은 URL shortener를 먼저 구현하는 방향으로 갈지. (가장 빨리 끝남) 혹은 본격적으로 LLM 기반의 아티클 요약을 구현할지 결정하면 된다. (좀 늘어질 수 있음)
langchain 기반으로 짜면 될 것 같은데, 학습시간이 좀 있을 것으로 예상.
https://github.com/dahlia/yoyak 프롬프트는 여기를 참고하고 스슥하고 짜면 될 듯.
어라라라라 해시태그가 이제 지원되는건가!?!?? #해시태그
Deno에도 nestjs 같은게 있길래 오호? 하고 들여다봤는데, 템플릿 엔진으로 handlebar를 쓰고 있다..... 윽...... https://danet.land/overview/renderer.html
Deno로 MVP라도 뭔가를 만들려면 Fresh 말고 없는건가.......
이걸 보니까 느끼는데, 사실 repomix 비슷한걸 @joonnotnotJoon 님이랑 같이 만들려고 시도는 했었던게 갑자기 기억난다.... 물론 내가 만들려고 했던건 체크리스트를 자동 생성해주는 CLI를 만드는 것이긴 했지만, 궁극적으로는 LLM에 친화적인 프롬프트를 만드는것도 로드맵이었음.
tree-sitter의 tag query라는게 있다는걸 아예 몰랐어서 빙빙 돌아가다가 결국 흐지부지 되어버린 비운의 프로젝트...
왜 이런 소리를 하고 있냐면.... 귀찮아서 손 댈 엄두도 안나고 미루기만 했을 작업을 ChatGPT랑 티키타카해서 2시간 만에 끝냄..... 평소였으면 컨텍스트 스위칭 시간 포함해서 5시간 이상은 걸렸을텐데..
음. 그렇지. 음. 이건 아니야. 음. 여기서 이렇게 하는건 어떨까?
하고 티키타카하면 코드가 짠!
RE: https://hackers.pub/@kodingwarrior/019623b8-54a2-7d15-84c6-90cd443fae96
LLM 시대의 오만이란 무엇인가...!! 수많은 연구/간증을 통해서 어지간하면 1인분할 수 있을 정도로 성능이 좋다고 알려진 LLM이 영 시원치 않다고 단정하는 것이다...!!
따로 의도한건 아닌데 모아서 보기가 좋음
최근에 추천사를 썼던 책이 있는데요. 이 교재를 활용해서 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
@hackerspub_ask_bot 일단 요렇게 넣어봤는데 될지 안될지는 1분 뒤에 결과가 말해줄것
이 글을 작성한 이후로 바로 Ask 봇을 만들었는데, 생각보다 오래 걸리지 않았다.
이렇게 하니까 1시간 컷 찍음
RE: https://hackers.pub/@kodingwarrior/0196222c-4b5a-783e-9dd8-8dc5f3e90202
@dlunch 와! 여기서도 뵙네요! 반갑습니ㄷㅏ!!!!
흠. 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
해커스펍 친구가 내가 팔로하고 있지 않은 사람에게 답멘하는게 고스란히 보이고 있는데 이것도 어떻게 보면 버그인가 흠
해커스펍이 또 달라졌어...!!!
해커뉴스에 대응되는 긱뉴스가 있듯이 Lobsters도 해커스펍이 대응되지 않을까 하는 상상
긱뉴스에도 Ask GN: 이번 주말에 뭐하세요?
같이 꾸준히 올라오는 자동 게시글이 있는데, 이걸 botkit으로 붙이면 어떨까 싶은 생각이 들었다
진짜 아무 생각없이 Elm 뉴스레터 구독해서 받아보고 있는데, 그냥 매번 발행될때마다 특별한 소식이 없음...
윌 라슨이 쓴 책은 믿고 보는 것이라 들었음
RE: https://social.silicon.moe/@aladin_itbook_notifier/114301285389981060
https://mathstodon.xyz/@dginev/114299575351888130
arXiv에서 개발자 채용하는데, PHP/Perl 로 작성되어있는걸 Python으로 재작성하는 단계라고
뇌피셜에 의존하는 사람들이 다 이 모양이다...
"오케이, 코워지피티. 팔로할만한 페디버스 계정 찾아줘" 하면 냅다찾아주는 자원봉사를 해볼까 싶다가도 판을 너무 많이 벌려서 해볼자신이 없다...... 근데, 인스턴스 찾아보면 네임드 최소 5명은 있긴 함..
근데 진짜 해커스펍 계속 바뀌는걸 실시간으로 지켜보는 재미가 있음
Why the Latest JavaScript Frameworks Are a Waste of Time
https://dev.to/holasoymalva/why-the-latest-javascript-frameworks-are-a-waste-of-time-52pc
The next time a new JS framework drops, I won’t be rushing to rewrite my projects. Instead, I’ll be focused on shipping products, writing solid code, and improving my problem-solving skills.
글 정리하다보니까 이거 2부작으로 내야겠네
https://www.youtube.com/watch?v=30YWsGDr8mA
Julia Evans의 Make Hard Things Easy 명강이니 추천합니다.
내용을 요약하자면....
복잡하거나 난해하거나 어려운 것들을 단순한 것으로 만들기 위해서
어떤 것에 대해 질문을 올리면 Read The Fucking Manual 라는 질타를 받거나, 복잡하거나 어렵지만 다들 접하는 이슈이기 때문에 당연히 알아야 하는 것처럼 느껴지지만 그것이 자신만의 문제는 아니라고 결론냄.
복잡하고 어려운 코드들은 이유가 있으며, 그 배경에는 온갖 예외처리라던가 다양한 요구사항을 충족하다보니 생겨난 방대한 코드라던가 블랙박스 그 자체인 시스템들이 있기 때문에 잘 모르는 것도 이상한 것이 아니라고 강조함.
CLI 도구를 조합해서 커맨드 작성할때, (일회성이라면 모르겠지만) 자주 사용하는 스크립트라면 짧은 옵션보다 긴 옵션을 사용하는 것이 좋습니다. 풀 네임으로 커맨드라인 명령어를 작성하는 것이 어떻게 보면 문서화의 역할도 하기 때문입니다. 다른 프로그램에서 시스템 콜을 호출해서 사용하는 유즈케이스라면 더더욱 가독성을 높이는 효과가 있습니다.
어떤 CLI 도구는 man 커맨드로 문서를 봤을때 양이 어마어마하고 어렵게 느껴질 수 있습니다. 하지만, 위에서 언급한 것처럼 full name으로 작성한 스니펫들을 모아놓으면 그렇게 어렵지도 않고 각 도구의 역할을 명확하게 이해할 수 있고, 결과적으로는 장기적인 기억으로 남을 수 있습니다. git, curl, aws-cli, jq, gh 어떤 CLI 도구이던간에 모든 옵션을 하나하나 기억하려고 할 필요도 없습니다. 필요하면 그때그때 full name으로 명시된 옵션으로 스크립트를 짜놓고 모아두면 됩니다.
https://matklad.github.io/2025/03/21/use-long-options-in-scripts.html
보통은 Ruby 코드를 작성할때 irb 같은 대화형 인터페이스를 사용하는 것이 일반적이지만, Bash 스크립트와 섞어서 사용할때 one-liner 스크립트를 작성하면 더욱 빛을 발휘합니다. 여기서 one-liner 스크립트란 한줄짜리로 실행하는 스크립트라고 이해하면 됩니다. ruby one-liner 스크립트로 작성할때는 다음과 같이 시작합니다.
$ ruby -e "<expression>"
여기서 -e
옵션은 one-liner 스크립트의 필수요소인데, 파라미터로 넘겨준 한줄짜리 Ruby 코드를 evaluation해주는 역할을 합니다. 여러분이 **파이프 연산자**에 대한 개념을 이해하고 있다면, 이런 트릭도 사용할 수 있습니다.
$ echo "5" | ruby -e "gets.to_i.times |t| \{ puts 'hello world' \}"
# =>
# hello world
# hello world
# hello world
# hello world
# hello world
표준라이브러리를 사용하고 싶을때는 -r
옵션을 사용할 수도 있습니다. 이 옵션은 ruby에서 require
를 의미하는데, 식을 평가하기전에 require
문을 미리 선언하고 들어가는 것이라 이해하면 됩니다.
예를 들면, 이런 것도 가능합니다 .
$ echo "9" | ruby -rmath -e "puts Math.sqrt(gets.to_i)"
# => 3.0
위의 스크립트는 아래와 동일합니다.
$ echo "9" | ruby -e "require 'math'; puts Math.sqrt(gets.to_i)"
# => 3.0
이런 원리를 이용하면, JSON/XML/CSV/YAML 등의 포맷으로 출력되는 데이터를 어렵지 않게 처리할 수 있습니다. one-liner 스크립트를 작성하는 방법에 대해 자세히 알아가고 싶다면, https://learnbyexample.github.io/learn_ruby_oneliners/one-liner-introduction.html 여기를 참고해주시면 좋을 것 같습니다.
이에 관해서, 25분-30분 정도 분량의 글을 정리해서 올릴 것 같은데 커밍쑨.....
https://newsletter.posthog.com/p/50-things-weve-learned-about-building
PostHog가 성공적인 제품을 만들면서 깨달은 50가지 교훈 (뉴스레터에서 지금까지 발행해놓은 것들 오마카세처럼 모아놓음)
그 중에서 마음에 드는 것들을 몇개 뽑아보자면...
Hackers' Pub이 검색엔진에도 잘 노출되게 할겸, 짤막짤막하게 Vim에 대한 정보글을 트위터에 남겼던걸 여기도 남겨야겠다.
프론트엔드 개발자분들 위주로 페디버스로 영입을 많이 해보고 싶다. 포트폴리오로 개발할만한 것이 지천에 널려있는데...!!
Body Doubling(모각코, 모각작)이 ADHD인이 작업을 끝내는데 도움이 된다는 내용
딱 필요한 커밋 로그만 diff 떠서 슥 훑어보기
file = ARGV[0] # 파일을 파라미터로 넘겨줄 수 있지만, 디폴트로는 리포지토리에 대한 log를 나열하게 됨
git_logs = `git log --oneline #{file} | gum choose --limit 100` # 100개 정도만 조회해서 다중 선택
# See https://abhij.it/ruby-difference-between-system-exec-and-backticks/
git_logs.each_line do |line|
commit_hash, *_ = line.split
system("git show #{commit_hash}") # 선택한 커밋 해시에서 어떤 변경사항이 있었는지 조회
puts("=====")
puts("Press ENTER key to CONTINUE")
puts("=====")
gets
end
checklist = []
git_logs.each_line do |line|
checklist << "- [ ] #{line}" # 지금까지 조회한 커밋 로그들을 파악완료했는지 여부 파악을 위해 체크리스트 생성
end
puts checklist.join
@lavieenbleubleu 와! 반가워요!
Vue.js로 쫌쫌따리 만들던 PixelFed 클라이언트 프로젝트가 있었는데, 차별점으로서 나름 내 개성을 살린 필터가 내장된 무언가를 만들려고 했었음. 근데..... 필터를 정작 만들지도 않았고, 지금 나와있는 픽셀페드 모바일 앱은 이미 내장이 되어있는 모양이고 하하하
이것도 레일즈네
@fedde 안녕하세요! 반갑습니다!
사용경험에 있어서 전반적으로 Cursor랑 나랑 안맞는 것 같다. 차라리 쓸거면 Aider를 쓰고 말지라는 생각.....
VSCode 확장 중에 Vim 키맵을 지원하는 플러그인 vscode-vim을 지나가다 다들 보셨을 겁나다.
Vim 키맵을 지원한다는 것 만으로도 색다른(그리고 좀 더 생산성에 유의미한 변화를 주는) 개발경험을 누릴 수 있지만, VSCode에서 지원하는 기능(랭귀지서버 기능 포함)을 내가 원하는대로 키맵에 매핑할 수 있고 마우스를 거의 쓰지 않고도 오로지 개발에만 몰입이 가능하게 됩니다. Vim의 장점, VSCode의 장점 모두 누릴 수 있게 됩니다.
오늘 소개하는 영상은, vscode-vim을 어떻게 유용하게 사용할 수 있는지 소개하고 있습니다. 국내에 있는 자료 중에 이만큼 본격적으로 잘 소개해주는 자료는 없을겁니다 👀👀
https://youtu.be/oOLoE4pJQf4?si=R2zLyi02oamLnFWG
VSCode를 기반으로 하는 Cursor, Windsurf 등의 에디터에도 비슷하게 적용할 수 있으니 한번 참고해보면 좋을거에요!
연속철야일정만 아니었으면 신청하는건데 너무 아쉽다 ㅜㅜ
RE: https://hackers.pub/@curry/0195d0ee-d8d2-7711-b550-b54cc1b5d599