대학원 다닐 때 CS 수업들 중에 재밌어 보이는 걸 몇 개 청강했었는데 그 중 하나가 DB 수업이었고 되게 재밌게 들었었음...이후에 SQL 덕질(=공부)하다가 하면 할수록 RDB를 다시 좀 제대로 훑어봐야겠다란 생각이 들어서 이리저리 찾다가 발견한 책. 괜찮은 책인 것처럼 보였는데 절판이어서 못 구하다가 어떻게 중고로 구했다. 서문 보니깐 SQL 쿼리들을 어떻게 쓰는가에 대해선 책이 많지만 정작 RDB가 무엇이고 이걸 어떻게 사용하는가를 쉽게 요약해서 정리한 책이 없어서 작가가 책을 썼다고 하는데, 잘 산 것 같음...이거 보고 나면 다른 유명한 SQL 튜닝 책들 봐야지.
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 957 following · 670 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
수많은 논의 및 고민 끝에 대기자 명단에 등록되신 5명 중 2명을 선정했고 그 외의 분들에게는 환불조치를 했습니다. 다음 회차에는 선착순 신청 비중을 조금 더 줄이고, 공평성을 위해 랜덤 선정에 당첨될 확률을 늘리는 방향으로 개선을 해보겠습니다. _ _)
"Parse, don't validate" rule applied to command-line applications makes sense because the input is external to the system.
You don't allow external input wandering around in the system unchecked.
https://hackers.pub/@hongminhee/2025/stop-writing-cli-validation-parse-it-right-the-first-time
Stop writing CLI validation. Parse it right the first time.
This post introduces Optique, a new library created to address the pervasive problem of repetitive and often messy validation code in CLI tools. The author was motivated by the observation that nearly every CLI tool reinvents the wheel with similar validation patterns for dependent options, mutually exclusive options, and environment-specific requirements. Optique leverages parser combinators and TypeScript's type inference to ensure that CLI arguments are parsed directly into valid configurations, eliminating the need for manual validation. By describing the desired CLI configuration with Optique, TypeScript automatically infers the types and constraints, catching potential bugs at compile time. The author shares their experience of deleting large chunks of validation code and simplifying refactoring tasks. Optique aims to provide a more robust and maintainable approach to CLI argument parsing, potentially saving developers from writing the same validation logic repeatedly.
hackers.pub · Hackers' Pub
Link author:
洪 民憙 (Hong Minhee)@hongminhee@hackers.pub
最近 한창 開發中인 Fedify 基盤 ActivityPub 서비스 2個:
- Kosmo:
@robin_makirobin 님이 만들고 계시는 次世代 ActivityPub 基盤 SNS - Cosmoslide:
@kodingwarriorJaeyeol Lee (a.k.a. kodingwarrior)
님이 만들고 계시는 ActivityPub 基盤 슬라이드 共有 서비스
完全 期待中!!
안녕하세요, 백엔드 경력직 프로그래머 뽑고 있습니다. 로그를 모니터링하고 저장하는 시스템을 개발하는 포지션입니다. 기존 오픈소스 솔루션을 사용하긴 하지만 단순히 구축하고 운영하는 것은 아닙니다. 운영도 하지만 개발이 주된 업무 입니다. (오픈소스 솔루션 운영 포지션으로 착각하고 지원하시는 분들이 계셔서 사족을 넣었습니다) https://careers.linecorp.com/ko/jobs/2845/
요즘 오에카키 같은 2000년대 초반 인터넷 유물?같은 게 종종 머릿속에 떠오르는데 분명 내가 어릴 때여서 추억화된 것 때문인 걸 알고 있음에도 그 시절 인터넷 서브컬쳐들이 좀 그리울 때가 있다. 뭔가 그 특유의 투박한 디자인들이 자꾸 떠오름...
주로 사용하는 형상관리도구인 퍼포스 CLI에 이런 기능이 있어 삽질을 크게 줄이고 있어요. p4 set 해보면 각각의 설정이 기본값인지 로컬 설정파일인지 서버측 설정인지 의도적으로 설정하지 않은 건지 표시해줍니다.
https://hackers.pub/@bgl/01992444-6229-7509-b23a-aed615f96d23
.NET을 Windows 전용 툴체인 언저리로 생각하고 계신 분이 있다면 이 발표 영상을 꼭 보여주세요 😉
요즘 #cosmoslide (https://github.com/cosmoslide/cosmoslide) 개발하면서 들고 있는 생각....
대부분의 액티비티펍 소프트웨어 인스턴스는 멀쩡하게 365일 24시간 동일한 위치에서 운영이 되고 있다고 가정이 된다. 내가 글을 올리면, 나를 팔로우 중인 모든 사람들의 inbox에 내가 글을 올렸다(Create(Note))는 Activity가 전달이 되는데, 각자가 운영되고 있는 서버 인스턴스가 멀쩡히 살아있다면.... 딱히 문제가 되지는 않는다.
문제는, 게시글을 작성하는 시점에 팔로워 중 누군가의 인스턴스가 죽어있을때도 있다는 점이다. 그런 경우를 대비해서 exponential backoff를 쓰든 아무튼 fallback 알고리즘이 동작하긴 하는데, 서버가 살아나면 당연히 전달이야 잘 되긴 한다. 그런데, Activity 전달이 실패하는 일이 잦으면 어떤 액티비티펍 소프트웨어를 쓰던간에 retry를 하기 위해서 계속해서 Queue에 쌓이고, 최종적으로는 Queue에 쌓인 것 때문에 적지 않은 오버헤드가 있을 것 같은데 모더레이터의 입장에선 어느 정도까지 감안할 수 있는가? 라는 생각이 문득 들었다.
사실 내가 왜 이런 글을 쓰고 있냐면, 위에서도 언급했다시피, 로컬호스트에서 실제로 서비스를 (맥북이 켜져있을때만) 서빙하고 있고 그걸 Tailscale로 연결해서 터널링을 하고 있다. 즉, 맥북을 켜놓고 있으면 Create(Note) Activity가 정상적으로 잘 전달되고, 맥북이 꺼져있으면 Activity 전달이 안되고 있다. 실제로, 이런 맥락에서 지금 테스트 중인 두 개의 인스턴스가 있다. 이런 실험적인 시도를 하면서 이래도 되는게 맞나 싶은 생각도 들고는 있다. 맥북을 켜놓으면, retry되고 있는 것도 다 consume되긴 하겠지만.... 찝찝하긴 찝찝하다.
개발하는 입장이라고 선해를 할 수는 있어도, 비뚤어진 관점에서 해석하면 누군가는 어뷰징의 관점으로 해석할 수 있는 가능성이 적지는 않다고 생각하고 있다. 이런 경우엔 모더레이터되는 분들한테, 내가 이런 tailscale 도메인으로 서빙하고 있다고 통지라도 하는게 나으려나... 아니면, 내가 구매해놓은 도메인을 tailscale 도메인으로 CNAME 걸어놓고 "이런 도메인으로 서비스 걸어놓을 예정이니까 이 도메인만은 제발 차단하지 말아주십쇼 헤헤" 라고 해야하나... 아예 서버를 만드는거다보니까 이런 고려사항이 생기는 것 같다.
근데, 한 편으로는 이런 생각이 든다. 물리적인 서버의 위치를 옮길 가능성이 많은 환경(예를 들면, 전시 상황)이면 어떡하지? ActivityPub이 사실은 분산된 웹 환경을 위해 나온 프로토콜이긴 하지만, 분산된 웹 환경이라는게 물리적으로 각자 다른 위치에 오랫동안 배치가 되어 있는 서버 뿐만이 아니라 위치가 자주 바뀔 수 있는 서버도 연합의 대상으로 포함이 될 수 있다면? 어떤 공상과학 영화(ex. 터미네이터4)들을 보면, 저항군이 독자적인 라디오 기지국 같은거 만들고 위치도 매번 다른 곳으로 옮기고 주파수를 매번 다르게 설정하면서 소식전달하는 모습을 볼 수 있는데, 액티비티펍도 어떻게 보면 그걸 고려한 설계도 포함될 수 있지 않나... 그런 생각도 든다..
N줄 요약
- 연합우주 소프트웨어 개밥먹기하면서 개발중
- 로컬호스트에서 돌리고 있고, tailscale로 터널링 중이며 몇몇 인스턴스 계정에 팔로워로 들어가있음.
- 몇몇 인스턴스에서는 아마 위의 사유로 계속 retry 되고 있는 Activity가 있을 것인데, 해당 인스턴스 모더레이터분들 괜찮으신지?
요즘 #cosmoslide (https://github.com/cosmoslide/cosmoslide) 개발하면서 들고 있는 생각....
대부분의 액티비티펍 소프트웨어 인스턴스는 멀쩡하게 365일 24시간 동일한 위치에서 운영이 되고 있다고 가정이 된다. 내가 글을 올리면, 나를 팔로우 중인 모든 사람들의 inbox에 내가 글을 올렸다(Create(Note))는 Activity가 전달이 되는데, 각자가 운영되고 있는 서버 인스턴스가 멀쩡히 살아있다면.... 딱히 문제가 되지는 않는다.
문제는, 게시글을 작성하는 시점에 팔로워 중 누군가의 인스턴스가 죽어있을때도 있다는 점이다. 그런 경우를 대비해서 exponential backoff를 쓰든 아무튼 fallback 알고리즘이 동작하긴 하는데, 서버가 살아나면 당연히 전달이야 잘 되긴 한다. 그런데, Activity 전달이 실패하는 일이 잦으면 어떤 액티비티펍 소프트웨어를 쓰던간에 retry를 하기 위해서 계속해서 Queue에 쌓이고, 최종적으로는 Queue에 쌓인 것 때문에 적지 않은 오버헤드가 있을 것 같은데 모더레이터의 입장에선 어느 정도까지 감안할 수 있는가? 라는 생각이 문득 들었다.
사실 내가 왜 이런 글을 쓰고 있냐면, 위에서도 언급했다시피, 로컬호스트에서 실제로 서비스를 (맥북이 켜져있을때만) 서빙하고 있고 그걸 Tailscale로 연결해서 터널링을 하고 있다. 즉, 맥북을 켜놓고 있으면 Create(Note) Activity가 정상적으로 잘 전달되고, 맥북이 꺼져있으면 Activity 전달이 안되고 있다. 실제로, 이런 맥락에서 지금 테스트 중인 두 개의 인스턴스가 있다. 이런 실험적인 시도를 하면서 이래도 되는게 맞나 싶은 생각도 들고는 있다. 맥북을 켜놓으면, retry되고 있는 것도 다 consume되긴 하겠지만.... 찝찝하긴 찝찝하다.
개발하는 입장이라고 선해를 할 수는 있어도, 비뚤어진 관점에서 해석하면 누군가는 어뷰징의 관점으로 해석할 수 있는 가능성이 적지는 않다고 생각하고 있다. 이런 경우엔 모더레이터되는 분들한테, 내가 이런 tailscale 도메인으로 서빙하고 있다고 통지라도 하는게 나으려나... 아니면, 내가 구매해놓은 도메인을 tailscale 도메인으로 CNAME 걸어놓고 "이런 도메인으로 서비스 걸어놓을 예정이니까 이 도메인만은 제발 차단하지 말아주십쇼 헤헤" 라고 해야하나... 아예 서버를 만드는거다보니까 이런 고려사항이 생기는 것 같다.
근데, 한 편으로는 이런 생각이 든다. 물리적인 서버의 위치를 옮길 가능성이 많은 환경(예를 들면, 전시 상황)이면 어떡하지? ActivityPub이 사실은 분산된 웹 환경을 위해 나온 프로토콜이긴 하지만, 분산된 웹 환경이라는게 물리적으로 각자 다른 위치에 오랫동안 배치가 되어 있는 서버 뿐만이 아니라 위치가 자주 바뀔 수 있는 서버도 연합의 대상으로 포함이 될 수 있다면? 어떤 공상과학 영화(ex. 터미네이터4)들을 보면, 저항군이 독자적인 라디오 기지국 같은거 만들고 위치도 매번 다른 곳으로 옮기고 주파수를 매번 다르게 설정하면서 소식전달하는 모습을 볼 수 있는데, 액티비티펍도 어떻게 보면 그걸 고려한 설계도 포함될 수 있지 않나... 그런 생각도 든다..
시대 배경이 2008년 ~ 2010년인 작품을 보면서 보면서 가장 보기 괴로운 점은 시대 고증과 묘사가 훌륭해서 사람들이 쓰는 노트북 속 인터넷 익스플로러 8이나 9 정도의 UI가 생생하게 그려진 점이다.
난 어떤 CLI 툴들이 자기가 실제로 쓰고있는 설정값(기본값이거나, 환경변수에서 왔거나, 파일에서 왔거나)를 읽는 명령어를 필수적으로 포함했으면 좋겠다. 사실 법제화까지 하고싶다..
마이크로블로깅 정도 기능은 한 사이클 돌고나서 슬라이드 공유 기능 넣으려고 했는데, "한 사이클 돈다"에서 허용 오차 범위를 어디까지 둘 것인가가.... 걱정이긴 하구나...... 이건 그냥 일단 오픈하고 이리저리 따잇 당해보고 생각할 문제인가...
2025-09-07 오늘의 #cosmoslide 작업한 내용 메모
https://github.com/cosmoslide/cosmoslide/pull/14
게시글 작성 기능까지는 안 갔지만, 연합우주 네트워크를 통해서 Create(Note), Announce(Note) 등의 액티비티가 들어왔을때 그것이 타임라인 화면에 노출되게 하는 기능을 작업했다. Actor 정보를 가져오는 과정에서 어떤 Actor는 lookup 하는 과정에서 Timeout 에러 뜨고, 어떤 Actor는 401 Unauthorized 뜨고, 어떤 Actor는 Person이 아니었어서 게시글 가져오는건 실패했는데... 이건 지속적인 개밥먹기를 꾸준히 해봐야 제대로 개선이 될 것 같음.
작업하다보면 어드민 붙이고 싶은 충동이 확 든다.....
AdminJS를 붙이자니 의존성이랑 지옥의 한판싸움을 해야할 것 같고, 그렇다고 직접 만들자니 어.... 이건 좀... 시간이 너무 많이 걸리겠다... 싶기도 하고, 노코드 툴 처럼 뚝딱하고 붙일 수 있는 어드민도구 어디 없나
커뮤니티에서 정치적 발언을 하는 것을 금지하는 것의 문제는, 정치적인(또는 그렇게 들린다고 다른사람들이 주장하는) 발언으로 문제가 생겼을때(안 생길수가 없다) 발언의 옳고그름을 떠나, 발언이 정치적인지 아닌지를 따지는쪽으로 흘러가기 때문이라고 생각한다.
아 물론, 대놓고 정치적 발언을 많이 해서 커뮤니티 구성원들을 피곤하게 하는건 좀 다른 문제고, 그걸 피하기 위해 정치적 발언을 금지하는 강령이 있는것일 테다. 근데 이건 그냥 각자 눈치껏 잘치기길 기대하는 수준이고, 커뮤니티의 방향성과는 무관한, 각자 지켜야할 운전 매너에 가깝다. 내 말은, 언젠가 커뮤니티내에서 큰 의견 차이가 생겼을때, '정치적 발언 안됨'이 해결책이 되길 기대할순 없단거다.
Higher-Order Abstract Syntax가 왜 유용한지 살펴보고 있는데 아직은 잘 모르겠다 메타 언어와 대상 언어가 있다부터 기기묘묘한데
Hong Segi (aka khris) replied to the below article:
Stop writing CLI validation. Parse it right the first time.
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
This post introduces Optique, a new library created to address the pervasive problem of repetitive and often messy validation code in CLI tools. The author was motivated by the observation that nearly every CLI tool reinvents the wheel with similar validation patterns for dependent options, mutually exclusive options, and environment-specific requirements. Optique leverages parser combinators and TypeScript's type inference to ensure that CLI arguments are parsed directly into valid configurations, eliminating the need for manual validation. By describing the desired CLI configuration with Optique, TypeScript automatically infers the types and constraints, catching potential bugs at compile time. The author shares their experience of deleting large chunks of validation code and simplifying refactoring tasks. Optique aims to provide a more robust and maintainable approach to CLI argument parsing, potentially saving developers from writing the same validation logic repeatedly.
Read more →
@hongminhee洪 民憙 (Hong Minhee) 이 소개글을 보고 TypeScript의 타입 시스템을 더 사랑하게 되었습니다.
Hippo 🍉 replied to the below article:
Stop writing CLI validation. Parse it right the first time.
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
This post introduces Optique, a new library created to address the pervasive problem of repetitive and often messy validation code in CLI tools. The author was motivated by the observation that nearly every CLI tool reinvents the wheel with similar validation patterns for dependent options, mutually exclusive options, and environment-specific requirements. Optique leverages parser combinators and TypeScript's type inference to ensure that CLI arguments are parsed directly into valid configurations, eliminating the need for manual validation. By describing the desired CLI configuration with Optique, TypeScript automatically infers the types and constraints, catching potential bugs at compile time. The author shares their experience of deleting large chunks of validation code and simplifying refactoring tasks. Optique aims to provide a more robust and maintainable approach to CLI argument parsing, potentially saving developers from writing the same validation logic repeatedly.
Read more →
@hongminhee洪 民憙 (Hong Minhee) this is cool! I've never used NodeJS CLI apps, but I run into similar issues to the ones you described when using Python 
Stop writing CLI validation. Parse it right the first time https://lobste.rs/s/deaem7 #javascript #programming
https://hackers.pub/@hongminhee/2025/stop-writing-cli-validation-parse-it-right-the-first-time
Ooooh. Jujutsu just merged an initial `bisect` implementation. This is currently the ONLY command I still use the `git` binary for. I might be able to be fully Git CLI free after the next jj release... https://github.com/jj-vcs/jj/pull/7159
Did you know your MacBook has a sensor that knows the exact angle of the screen hinge?
It’s not exposed as a public API, but I figured out a way to read it and make it sound like an old wooden door.
Source code and a downloadable app to try it yourself: https://github.com/samhenrigold/LidAngleSensor
Onno (VK6FLAB) replied to the below article:
Stop writing CLI validation. Parse it right the first time.
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
This post introduces Optique, a new library created to address the pervasive problem of repetitive and often messy validation code in CLI tools. The author was motivated by the observation that nearly every CLI tool reinvents the wheel with similar validation patterns for dependent options, mutually exclusive options, and environment-specific requirements. Optique leverages parser combinators and TypeScript's type inference to ensure that CLI arguments are parsed directly into valid configurations, eliminating the need for manual validation. By describing the desired CLI configuration with Optique, TypeScript automatically infers the types and constraints, catching potential bugs at compile time. The author shares their experience of deleting large chunks of validation code and simplifying refactoring tasks. Optique aims to provide a more robust and maintainable approach to CLI argument parsing, potentially saving developers from writing the same validation logic repeatedly.
Read more →
@hongminhee洪 民憙 (Hong Minhee) love the whole idea. Now I'm trying to figure out how to use it in bash where I write a lot of code.
Stop writing CLI validation. Parse it right the first time.
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
This post introduces Optique, a new library created to address the pervasive problem of repetitive and often messy validation code in CLI tools. The author was motivated by the observation that nearly every CLI tool reinvents the wheel with similar validation patterns for dependent options, mutually exclusive options, and environment-specific requirements. Optique leverages parser combinators and TypeScript's type inference to ensure that CLI arguments are parsed directly into valid configurations, eliminating the need for manual validation. By describing the desired CLI configuration with Optique, TypeScript automatically infers the types and constraints, catching potential bugs at compile time. The author shares their experience of deleting large chunks of validation code and simplifying refactoring tasks. Optique aims to provide a more robust and maintainable approach to CLI argument parsing, potentially saving developers from writing the same validation logic repeatedly.
Read more →#GNOME picks of the day:
➡️
@gnome - Official GNOME account in English
➡️
@gnome_brGNOME Brasil - GNOME in Portuguese
➡️
@haeckerfelixFelix Häcker - GNOME developer, foundation member, author of "This Week in GNOME"
➡️
@Tuba - FOSS Fediverse app for GNOME, forked from Tootle
➡️
@WebKitGTK - GTK port of WebKit, official browser engine in GNOME
➡️
@GTK - FOSS cross-platform toolkit for creating GUIs
➡️
@EvolutionGnomeGNOME Evolution - Free open source personal information manager software
🧵 1/2
참고로 Hackers' Pub은 패스키 인증을 지원하고 있습니다. ✌️
洪 民憙 (Hong Minhee) shared the below article:
일본은 패스키로 진격하는데, 한국은 왜 제자리인가요?
푸른곰 @purengom@purengom.com
금융부터 전자상거래까지 확산된 일본의 FIDO2 패스키 전략, 한국은 ‘간편 인증’에 머무른 채 방향성조차 흐릿합니다 보안 사고가 촉발한 일본의 급반전 2025년 상반기, 일본 증권 업계를 강타한 대규모 불법 로그인 및 부정 거래 사태는 단순한 해킹 사건을 넘어, 디지털 인증 체계에 대한 신뢰 자체를 뒤흔드는 사건이었습니다. 수천 건의 계좌 탈취와 수백억 엔 규모의 […]
Read more →코파일럿이 종종 멍청해져서 왜 그런가 보면 코파일럿이 클로드 말고 GPT로 지멋대로 바꿔놔서 그럼 ㅡㅡ
製나 作 이나 둘다 짓다, 만들다라는 뜻인데 製品은 상품, 공산품 처럼 쓰이고 作品은 예술품, 공작품 처럼 쓰이는 게 신기하군
요것이 아시안 언어의 신비...?
@2chanhaeng초무 제가 알기로는 製라는 글자에 대량 생산이라는 함의가 추가된 게 메이지 유신 때 제조(製造)라는 번역어를 만들면서라고 알고 있습니다. 제품도 제조품의 줄임말인 거죠.
다같이 손 잡고 하나둘셋 하면 노드 지우고 디노로 갈아타는 거다 알았지?
자 하나
둘
셋!
그래도 한 5%정도 사이트의 꼬라지를 갖춰간다... 이번달 안에 (테스트로) 공개할 수 있겠지...?
귀여운 마스코트까지 있는 TS 런타임 Deno 냅두고 왜 이따위로 모든 경우의 수 하드코딩 되어 있는 JS 런타임 쓰는 건데
@2chanhaeng초무 Optique: 뜨끔!
귀여운 마스코트까지 있는 TS 런타임 Deno 냅두고 왜 이따위로 모든 경우의 수 하드코딩 되어 있는 JS 런타임 쓰는 건데
어떻게 하면 기가 막히게 Optique 소개 글을 써 볼 수 있을까…? 🤔
내 생각에는 Optique가 (Haskell의 optparse-applicative 빼고는) 종래의 CLI 파서들과는 획기적으로 다른 방식인데, 그걸 간결하게 잘 표현하기가 쉽지 않네.
어떻게 하면 기가 막히게 Optique 소개 글을 써 볼 수 있을까…? 🤔
洪 民憙 (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… 😩









