어떻게 하면 기가 막히게 Optique 소개 글을 써 볼 수 있을까…? 🤔
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 1006 following · 713 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)
」に。
Website
- hongminhee.org
GitHub
- @dahlia
Hollo
- @hongminhee@hollo.social
DEV
- @hongminhee
velog
- @hongminhee
Qiita
- @hongminhee
Zenn
- @hongminhee
Matrix
- @hongminhee:matrix.org
X
- @hongminhee
洪 民憙 (Hong Minhee) shared the below article:
Optique 0.4.0: Better help, rich docs, and Temporal support
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
Optique 0.4.0 introduces enhancements to streamline CLI development in TypeScript. This release focuses on improving help text organization through labeled merge groups and a new `group()` combinator, making complex CLIs more user-friendly by organizing options under clear sections. Comprehensive documentation support is added via the `run()` function, allowing brief descriptions, detailed explanations, and footers without altering parser definitions. The update also includes Temporal API support with the `@optique/temporal` package, enabling type-safe parsing for dates, times, and time zones. Improved type inference for `merge()` and `tuple()` combinators enhances type safety, alongside minor breaking changes. These updates aim to make CLI construction more intuitive and maintainable, offering developers greater control over user experience and code structure.
Read more →Cosmoslide 계속해서 작업할 것 같습니다.
- Remote Follow 기능 관련해서 마무리
- 게시글 기능 그리고 그와 관련된 Federation 로직 작성
그리고... Hackers Public 2차 모집 마감
Geminiがイライラしてる...
토요일에 약속이 있고 일요일에는 오랜만에 튜사를 갈까 생각 중... 작업하고 싶은 것들(코테 기반 게임?)등이 좀 있어서... 겸사겸사 홈서버 테스트도 좀 하고
집에 갈거냐고요? 제가 갤럭시의 무시무시함을 보여드리겟읍니다
튜사 다 와서야 노트북 두고 왔다는 걸 알게 되다
토요일에는 <데이터 중심 애플리케이션 설계> 책을 좀 읽고, 오랫동안 미루던 Rust로 Redis 구현하기를 시작해볼 것 같습니다.
일요일에는 오타쿠팟으로 버튜버가 서빙해주는 카페에 가기로 했습니다,,,
fedify도 다시 슬슬 건드려야 하는데 회사 일의 축복이 끝이 나지 않는군
그러니까 매번 행사할때마다 프린터카페 들려서 이걸 하면 된다는거지!?
Big update for our type-safe combinatorial #CLI parser for #TypeScript:
- Labeled merge groups: organize options logically
- Rich docs: brief, description & footer support
- @optique/temporal: new package for date/time parsing
showDefault: automatic default value display
The help text has never looked this good!
그놈의 compacting conversation… 😩
@hongminhee洪 民憙 (Hong Minhee) 확실히 Gemini가 이런 면에선 GPT-5/o3, Claude보다 훨씬 우위에 있는 것 같아요.
약간 작업할 때 세이브 포인트가 있었으면 좋겠다는 생각이 듭니다. ChatGPT는 대화 중간에 fork해서 새 대화로 넘어가는 기능이 생겼다고 하더라구요.
일주일마다 새 마이너 버전 릴리스하는 라이브러리 어떻게 생각하세요? (제가 그러고 있음…)
@hongminhee洪 民憙 (Hong Minhee) 컴퓨터 켜면 업데이트 루틴부터 돌리는 저는 아주 좋아합니다. 일주일마다 좋아진다니 럭키비키잖아요~
Optique 0.4.0: Better help, rich docs, and Temporal support
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
Optique 0.4.0 introduces enhancements to streamline CLI development in TypeScript. This release focuses on improving help text organization through labeled merge groups and a new `group()` combinator, making complex CLIs more user-friendly by organizing options under clear sections. Comprehensive documentation support is added via the `run()` function, allowing brief descriptions, detailed explanations, and footers without altering parser definitions. The update also includes Temporal API support with the `@optique/temporal` package, enabling type-safe parsing for dates, times, and time zones. Improved type inference for `merge()` and `tuple()` combinators enhances type safety, alongside minor breaking changes. These updates aim to make CLI construction more intuitive and maintainable, offering developers greater control over user experience and code structure.
Read more →그놈의 compacting conversation… 😩
@hongminhee洪 民憙 (Hong Minhee) 문서를 보다 떠오른 부분인데, 혹시 Standard Schema에 대한 고려를 해 보셨을까요? 이에 대한 언급이 문서에 있으면 좋을 것 같아보이네요
일주일마다 새 마이너 버전 릴리스하는 라이브러리 어떻게 생각하세요? (제가 그러고 있음…)
그래도 변경을 좀 모아서 릴리스하려고 하고 있긴 하다… 그게 좋은 건진 모르겠지만 내가 편하다.
@hongminhee洪 民憙 (Hong Minhee) 개발 초기 단계면 어쩔 수 없지 않을까,, 마 그런 생각이 듭니다,,
@kodingwarriorJaeyeol Lee 역시 저는 잘못이 없군요! 앞으로도 1.0.0 찍기 전까지는 폭주 기관차처럼 릴리스하겠습니다.
오늘은 코드 리뷰 빼고는 Optique 작업만 하고 있다…
일주일마다 새 마이너 버전 릴리스하는 라이브러리 어떻게 생각하세요? (제가 그러고 있음…)
코드를 스테이지에 넣고 커밋
코드를 스테이지에 넣고 커밋
코드를 스테이지에 넣고 커밋
코드를 스테이지에 넣고 커밋
코드를 스테이지에 넣고 커밋
코드를 스테이지에 넣고 커밋
코드를 스테이지에 넣고 커밋
코드를 스테이지에 넣고 커밋
오늘은 코드 리뷰 빼고는 Optique 작업만 하고 있다…
git-annex 좀 설치해보려고 했더니 가는 날이 장날이라고 우분투 저장소가 점검 중인 것 같다. 그래, 나는 하스켈러이니까 그냥 빌드하자. https://status.canonical.com/
우부콘 발표하고 그 다음 주에 파이콘 발표하고 그 다음 달에 해커스 퍼블릭 여시는 분이 말씀하시니 믿음이 가네요
댓글에 하스켈 욕이 보여서 마음이 안 좋다. 나는 대용량 파일을 다루지는 않지만 한국의 회사원이라 평문이 아닌 문서를 많이 다룬다.(hwp, xlsx 등) 윈도우 다운로드 폴더에 몇 번이고 받은 중복 파일들을 어떻게 다루면 좋을지 고민 중이었는데 git-annex를 써봐야겠다!
개발자 컨퍼런스에 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/
- 재미난 생각이 떠오른다.
- 해커스펍에 올린다.
- 다른 분들의 반응을 지켜보다, 특별히 욕!이 없으면, 그럴싸하다고 판단
- X와 쓰레드에 해커스펍 글 링크를 올린다. 같은 글을 복붙해서 올리는 것이 아닌, 링크를 올리는 게 중요하다.
작년에 어떤 커뮤니티에 계엄 소식을 전했는데 “여기서 정치적인 발언은 하지 말아주세요.” 라는 말을 들었다.
커뮤니티에서 정치적인 주제를 금지하면 결국 관리자가 보기에만 정치적이지 않은, 자기 입맛에 맞는 정치적인 글만 남더라구요
そもそも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...





요즈미나








