개발자 컨퍼런스에 100% 참여하는 방법!
그건 바로 발표자가 되거나 오거나이저가 되는거라고 하네요
@hongminhee@hackers.pub · 906 following · 629 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at @hongminhee洪 民憙 (Hong Minhee).
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은: @hongminhee洪 民憙 (Hong Minhee).
Fedify、Hollo、BotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「@hongminhee洪 民憙 (Hong Minhee)」に。
개발자 컨퍼런스에 100% 참여하는 방법!
그건 바로 발표자가 되거나 오거나이저가 되는거라고 하네요
다시 힘을 내서 conal 리팩토링을 완성하고, haskell용 tree-sitter 바인딩을 만들고, 이것저것 마저 하자...
GitHub の Immutable Releases を有効にしてセキュリティインシデントを防ごう
https://zenn.dev/shunsuke_suzuki/articles/github-immutable-release
흠 podman을 테스트해보고 있는데, 이걸로 컨테이너 띄우면 오래 못 버티고 사라지네. 왜지?;;
@hongminhee洪 民憙 (Hong Minhee) 근데 저는 어떤 언어든 디버깅용 로깅을 그냥 프리미티브로 제공하는게 맞다고 생각해요. stdout에다가 print하는 거랑 별개로 개발용으로요. 가령
console.log
가 NodeJS 에선 그냥 print인데, 브라우저 개발자 도구에선 go to call site가 되는 제가 원하는 형태입니다.
@bglbgl gwyng 동의합니다.
@hongminhee洪 民憙 (Hong Minhee) 근데 저는 어떤 언어든 디버깅용 로깅을 그냥 프리미티브로 제공하는게 맞다고 생각해요. stdout에다가 print하는 거랑 별개로 개발용으로요. 가령
console.log
가 NodeJS 에선 그냥 print인데, 브라우저 개발자 도구에선 go to call site가 되는 제가 원하는 형태입니다.
제가 가장 좋아하는 언어에 기여를 했어요!
게임 주도 개발: 원하는 게임을 하기 위해 주말동안 할 개발을 미리하는 것을 말한다
@TuringAppleDev튜링의 사과
미지와의 조우 완료
(빠른 배송 감사합니다.ㅎㅎㅎ)
한줄평: ASUS FALCHION RX PROFILE 은 무조건 청축이다.
튜사공구: https://discord.com/channels/1115648506514911293/1118176332875055245/1412001790135631942
트위터가 터졌을 때도 해커스펍은 잘 동작했다~
또 모나드 설명 글 읽고 있음
그치만 주제 하나로 수많은 사람들이 각자의 해석에 따라 각자의 방식대로 글을 쓴다는 게 너무 재밌지 않음?
https://blog.merovius.de/posts/2018-01-08-monads-are-just-monoids/
작년에 어떤 커뮤니티에 계엄 소식을 전했는데 “여기서 정치적인 발언은 하지 말아주세요.” 라는 말을 들었다.
커뮤니티에서 정치적인 주제를 금지하면 결국 관리자가 보기에만 정치적이지 않은, 자기 입맛에 맞는 정치적인 글만 남더라구요
そもそもapkit.server
はもともと使ってたMiddlewareの形式じゃなくてそれ自体をASGIフレームワークとして使う形なので前とは違ってFedifyの統合と全く違う方法になってる (元々存在した課題点を克服するためにこういう形になった)
apkitのActivityPubServerは完全にFastAPIとStarletteのAPIに依存してるからあんまり気にしてなかったな
というかコードの理解度的に (Starlette/FastAPI以外の)統合をかける余裕があるか怪しいからしばらくは標準の統合以外は自分では出さないかも (裏側のコードに関してはStarletteとFastAPIだけならある程度わかったつもりでいる)
apkitのActivityPubServerに関しては同期対応しないで非同期だけにしてる (分岐させてもいいけどわざわざこれでするであろう操作を同期でするとは考えてないから)
必要なら同期対応できるけどね
클라우드 플레어 쓰는 서버들이 다 터졌나?
思いついた
Requestじゃなくてfedifyみたいなctxを送りつけるようにするか (requestはctx.requestからする?)
@AmaseCocoaここあにゃん JavaScriptではウェブフレームワークの種類に関わらず標準の
Request
クラスがあったので抽象化が容易でしたが、ASGIでは標準的なRequest
タイプが別にないので悩みどころになりそうです。🤔
思いついた
Requestじゃなくてfedifyみたいなctxを送りつけるようにするか (requestはctx.requestからする?)
참고로 Hackers' Pub의 행동 강령에서는 굳이 정치적인 주제를 금지하지 않고 있습니다. 정치적인 것과 그렇지 않은 것의 경계가 흐릿한 것도 있지만, 그렇게 했을 경우 기득권에 편향되기 쉽다는 점, 그리고 필요하다면 정치에 대해 이야기할 수 있어야 하기 때문입니다. 많은 커뮤니티에서 정치적 대화가 필요할 때 조차 정치적 주제를 기계적으로 금지함으로 인해 자정 능력을 잃는 것을 봐 왔습니다.
StarletteじゃなくてFastAPIベースにしたのはルートがデコレータで定義できたりするっていう理由がある (自分で実装してもいいかもしれないけど既存のものを基盤にできるならしたかった)
Coding ActivityPubServer...
nodeinfo path is auto-generated by starlette (fastapi)
Coding ActivityPubServer...
GHCup 오랜만에 다시 설치하는데 못보던 게 생겼다.
GHCup provides different binary distribution "channels". These are collections of tools
and may differ in purpose and philosophy. First, we select the base channel.
[S] Skip [D] Default (GHCup maintained) [V] Vanilla (Upstream maintained) [?] Help (default is "Skip").
@curry박준규 현재는 experimental인 cross build용 channel을 쓰면 GHCJS와 WASM GHC도 설치할 수 있답니다
any
쓰지 마세요
네
as unknown as
흐끼야악
지난 Google I/O Extended 에서 발표한 내용을 공유합니다. 핸즈온 세션이라 내용을 충분히 전하긴 어렵겠지만, 나름 유용한 사람도 있으실 것…
https://cojette.github.io/posts/firebasestudio/
…아이 자꾸 까먹음 종종 와야징.
GHCup 오랜만에 다시 설치하는데 못보던 게 생겼다.
GHCup provides different binary distribution "channels". These are collections of tools
and may differ in purpose and philosophy. First, we select the base channel.
[S] Skip [D] Default (GHCup maintained) [V] Vanilla (Upstream maintained) [?] Help (default is "Skip").
회사에 Admin페이지들이 RoR로 작성되어있었는데,
1. 개발환경 세팅이 오래걸리고,
2. RoR은 경험이 거의 없고 Active Record에 대한 지식이 없는데
3. 원하는 기능은 어렵지 않은 간단한 기능 추가들
인 상황이여서, 바이브 코딩을 첨으로 해봤다.
JS나 Python으로된 복잡한 프로덕션 프로젝트에는 써볼 엄두가 안났는데, 내부용 간단한 관리툴에 기능추가는 정말 안성 맞춤인 것 같다.
그리고 다른 언어들에 비해 RoR은 더욱 잘 맞는것 같기도.
이제 Zed에서 Claude Code를 베타로 사용 가능
------------------------------
- Claude Code 와 Zed 의 통합이 공개 베타로 출시
- 새로운 *Agent Client Protocol (ACP)* 도입을 통해 다양한 에이전트와의 연결 확장 가능성 실현
- 개발자는 Zed 내에서 Claude Code를 실시간, 다중 파일, 커스텀 워크플로우와 함께 활용 가능함
- *Claude Code용 ACP 어댑터* 가 오픈소스로 공…
------------------------------
https://news.hada.io/topic?id=22887&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
간단한 글쓰기 서버로 굴리려고 오랜만에 꺼냈다.
방금 친구랑 모의면접을 봤는데(내가 면접관), 면접으로 알아낼 수있는게 딱히 있는지에 회의가 생겨버렸다. 아 물론, 내가 초보 면접관이라 면접스킬이 떨어지긴 한다만, 친구 얘기론(면접관 경험이 더 많음) 그래도 무난의 범위엔 든다고 한다. 이력서 기반으로 이것저것 물었는데, 만약에 이력서가 구라로 점철되있으면 그걸 걸러낼순 있었을 것이다. 근데 친구의 이력서는 당연히 그렇지 않았으니, 그냥 이력서가 구라가 아니란 사실 정도만;; 알아낼수 있었다. 이 이상 뭔가 더 꿰뚫어 보는게 가능할까... 하겠지? 그럼 어떻게 하는걸까.
@bglbgl gwyng 예전에 《애자일 이야기》에서 읽은 김창준 씨의 글 〈인터뷰에서 진실을 들으려면〉이 떠오르네요.
방금 친구랑 모의면접을 봤는데(내가 면접관), 면접으로 알아낼 수있는게 딱히 있는지에 회의가 생겨버렸다. 아 물론, 내가 초보 면접관이라 면접스킬이 떨어지긴 한다만, 친구 얘기론(면접관 경험이 더 많음) 그래도 무난의 범위엔 든다고 한다. 이력서 기반으로 이것저것 물었는데, 만약에 이력서가 구라로 점철되있으면 그걸 걸러낼순 있었을 것이다. 근데 친구의 이력서는 당연히 그렇지 않았으니, 그냥 이력서가 구라가 아니란 사실 정도만;; 알아낼수 있었다. 이 이상 뭔가 더 꿰뚫어 보는게 가능할까... 하겠지? 그럼 어떻게 하는걸까.
'스킬 이슈에서 스킬 있슈로!' 라는 삼류 국비 학원 광고 문구 같은 말장난이 생각남
2025-09-03 오늘의 #cosmoslide 작업한 내용 메모
https://github.com/cosmoslide/cosmoslide/pull/13
로컬 환경에 있는 서로 다른 두 액터끼리는 잘 되는걸 확인했는데, 서로 다른 서버의 액터끼리 잘 되는지는 좀 더 테스트가 필요함.
이번 주말까지는 게시글 작성하고 원격 서버 타임라인에 노출되는 것까지 어떻게 되긴 할 듯.
오늘은 다른 파트에서 나온 이상 현상을 보다가 흔한 실수 중 하나인 memcpy(dest, src, strlen(src))
를 발견하고 공유했다. 동적 할당 방지를 위해 std::string
과 std::format
을 못 쓰는 상황도 아쉽고, 프로젝트 초창기에 다양한 helper class(std::array
기반 문자열 등)가 정립이 되지 않아 아쉽다. 그 때는 정말 초짜 신입이었으니, 별 도리가 없기도 했다.
올해 초에 조금이라도 바로잡고자 문자열 조작 로직을 개량해 직접 snprintf
를 쓰지 않고 편리하게 문자열을 다룰 수 있도록 변경한 적이 있었다. 꽤 많은 팀원이 그 존재를 익혔지만 수많은 레거시 코드는 앞으로도 태곳적 상태에 머물지 않을까. 슬프기보다는 아쉽다. 근원적인 실수를 줄일 수 있는 기회가 더욱 있었을텐데...
옛날 C++에러 메시지의 수준도 요즘 하는 일에서 발생하는 문제에 비하면 너무 감사한 수준이다.
ActivityPub Academy로 최종 테스트할 때마다 야수의 심장으로 테스트하는중
지난 몇 달간 htmx로 웹 앱을 만들면서 느낀 점은, 골디락스 존의 하위 50% 애플리케이션에만 htmx가 적합하다는 것이다. 클라이언트 상태를 조금이라도 다뤄야 하는 순간이 오면 불행이 시작된다. 하이퍼미디어 시스템의 철학에 동의하는데, 그 구현은 아일랜드 아키텍처의 접근법이 더 나을 수도 있겠다는 생각이 든다. https://deno.com/blog/intro-to-islands
https://www.typescriptlang.org/docs/handbook/mixins.html
Typescript에 Mixin 기능은 있는데, 정작 내가 원하는 형태로 지원하는 기능이 아니다. 내가 원하는건 그냥 dart 마냥 클래스의 메서드를 확장하는 것 그 이상 그 이하도 아닌데.... 흑흑...
Dart의 경우
mixin Dog {
void walk() { ... }
}
mixin Fish {
void swim() { ... }
}
mixin Bird {
void fly() { ... }
}
class Animal with Dog, Fish, Bird {
...
}
main() {
final animal = Animal();
animal.fly();
animal.swim();
animal.walk();
}
이런 느낌의 코드를 짜는게 가능하다.
Typescript도 유틸리티성 함수를 묶어서 mixin 문법처럼 매끄럽게 클래스에 포함시킬 수 있는 뭔가가 있었으면 좋겠다.
最近はScalaとかSwiftとかの「割とモダンな言語」が基底型に型消去するみたいなコンパイルテクでゼロオーバーヘッドのラッパー定義できる言語が増えてる気がしているので、別にRustだけではないと思う。
Rustが気軽に定義できるって話なら、そりゃそうだと思うけれど
https://hackers.pub/ap/notes/01990ddf-6e44-769a-995c-6fac70d06920
確かにHaskellにもあるか。使わなさすぎて忘れてた
個人的には、一時的に開発目的で使うActivityPubサーバーにはngrok
やfedify tunnel
などを活用し、長期的に継続して開発するActivityPubサーバーであればTailscale FunnelやCloudflare Tunnelを使用しています。
Fediverseの開発環境、自分は何回か作り直しては崩してをしてるんだけど、現実どうするといいんだろうな
自分の環境の場合 tailscale + ローカルホスト用自前ドメインでローカルに閉じた https 環境を用意出来てるんだけど、この環境、コンテナだとホストのネットワークを使わないと tailscale の ip へ到達できないんだよね
今のところローカル専用の https ドメインはメインマシンに建てた caddy へ流してそこから各アプリケーションに分岐してるんよね
で let's encrypt の証明書は DNS チャレンジでワイルドカード証明書を取ってるんで取得には問題無いんだけど、ローカルのネットワークルーティングをどうするかが非常に悩ましい
Fediverseの開発環境、自分は何回か作り直しては崩してをしてるんだけど、現実どうするといいんだろうな
自分の環境の場合 tailscale + ローカルホスト用自前ドメインでローカルに閉じた https 環境を用意出来てるんだけど、この環境、コンテナだとホストのネットワークを使わないと tailscale の ip へ到達できないんだよね
@hongminhee洪 民憙 (Hong Minhee) 눈물 흘리는 하이랄로 돌아오세요…
@z9mb1wwj 곧 〈왕눈〉으로 다시 하이랄 지키러 가겠습니다…
「割とモダンな言語」というわけではないが、Haskellもかなり昔からnewtype
というキーワードでサポートしていた。
最近はScalaとかSwiftとかの「割とモダンな言語」が基底型に型消去するみたいなコンパイルテクでゼロオーバーヘッドのラッパー定義できる言語が増えてる気がしているので、別にRustだけではないと思う。
Rustが気軽に定義できるって話なら、そりゃそうだと思うけれど
Value Objectが好きだけどオーバーヘッドが看過できない人向けの言語 → Rustすぎる