Sarasa Term K 글꼴에 NF 패치를 해 말어
McK
@mck@hackers.pub · 12 following · 13 followers
우리.인생
- @mck@uri.life
https://github.com/be5invis/Sarasa-Gothic
터미널/에디터용 고정폭 폰트를 찾는다면 Sarasa Term K를 추천합니다. 이쪽도 한중일 폰트를 모두 지원합니다. Noto Sans Mono CJK도 좋지만 폰트 미세 조정이 안 되는 환경에서 Sarasa Term이 좀더 정확하게 렌더링됩니다. 영문과 한글만 쓰면 네이버의 D2Coding도 훌륭하지만 이쪽은 가나, 한자 지원이 약하죠.
#macOS find는 -delete를 주면 -prune을 무시하거나 우회해버린다. OMZP::macos에서 제공하는 rmdsstore 함수를 개선하려다 찾은 현상.
그래서 살짝 손 봄
function rmdsstore() {
find "${@:-.}" \
-name Library -prune -o -name OrbStack -prune -o \
-type f -name .DS_Store \
-print0 | xargs -0 rm
}
#macOS find는 -delete를 주면 -prune을 무시하거나 우회해버린다. OMZP::macos에서 제공하는 rmdsstore 함수를 개선하려다 찾은 현상.
macOS Tahoe에서 일렉트론 애플리케이션이 말도 안되게 느렸던 이유는 Liquid Glass 도입으로 시스템에 전반적 연산이 늘어난게 아니라 Electron이 AppKit의 private API를 잘못 쓰면서 WindowServer에서 GPU를 미친듯이 쓴 것이었다.
JAR로 되어있는 한글 형태소 분석기 라이브러리인 꼬꼬마 2.0과 Maven에 게시된 open-korean-text를 C#에서 프로젝트 구성없이 불러다 쓰는 예제입니다.
C# 코드 파일과 XML 설정 파일만 있으면 Maven과 JAR 패키지도 손쉽게 가져와서 C#으로 코딩할 수 있습니다. C# 파일 하나만 바라보면 될테니 코드 어시스턴트의 도움도 마음껏 받을 수 있으니 더욱 좋겠죠!
"웹 접근성을 고려한 콘텐츠 제작기법 2.2 개정판" 의 온라인 버전이 공개되었습니다. 이 자료는 국내 접근성 지침 관련해 개발자들이 참고할 수 있도록 한 사례 중심의 해설서입니다. 상당히 좋은 내용으로 보이니 많이 참고하셨으면 합니다.
해커스 퍼블릭 D-30분..이 아니라 H-30
D Day는 하루 단위로만 쓴다네요.
@lionhairdino 분단위면 M-30(이런 표기는 보통 내부용) 이거나 T-30m이 적당하겠죠
- 06년생이 20살임: 그렇군요
- 대학 신입생들이 Django 프레임워크 보다 어림: 기절하다
McK shared the below article:
LogTape 1.1.0: Smarter buffering, seamless integration

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
LogTape 1.1.0 introduces smarter and more flexible logging with two major features. The first is "fingers crossed" logging, which buffers debug and low-level logs in memory and only outputs them when an error occurs, providing a complete sequence of events leading up to the problem. Category isolation prevents one component's errors from flushing unrelated logs, keeping logs focused and relevant. The second feature is direct log emission via the `Logger.emit()` method, which allows feeding logs from external systems like Kafka directly into LogTape while preserving original timestamps and metadata. This release also includes bug fixes and improvements across the ecosystem, such as fixes for potential data loss during high-volume logging and improved cross-runtime compatibility. Upgrading to 1.1.0 is backward-compatible and enhances debugging in production by providing complete context for every error without constant verbose logging.
Read more →대충 명령어랑 설정 몇 줄 써서 올렸을 뿐인데 "이 글은 ls
명령어를 대체하는 현대적인 도구인 eza
의 설정 방법을 소개합니다 …"라며 친절하게 소개해주는 해커펍
eza 아이콘 지정
McK @mck@hackers.pub
이 글은 `ls` 명령어를 대체하는 현대적인 도구인 `eza`의 설정 방법을 소개합니다. `eza`는 기본적으로 아이콘, Git 정보, 디렉토리 그룹화 등의 기능을 제공하며, 사용자는 `EZA_CONFIG_DIR` 환경 변수를 통해 설정 디렉토리를 지정할 수 있습니다. 특히, `.config/eza/theme.yml` 파일을 수정하여 파일 확장자에 따라 표시되는 아이콘을 커스터마이징하는 방법을 설명합니다. 아이콘은 Nerd Fonts Cheat Sheet에서 쉽게 복사하여 사용할 수 있습니다. 이 설정을 통해 사용자는 파일 목록을 시각적으로 더욱 풍부하게 만들고, 생산성을 향상시킬 수 있습니다.
Read more →McK shared 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 →지난 몇 달간 htmx로 웹 앱을 만들면서 느낀 점은, 골디락스 존의 하위 50% 애플리케이션에만 htmx가 적합하다는 것이다. 클라이언트 상태를 조금이라도 다뤄야 하는 순간이 오면 불행이 시작된다. 하이퍼미디어 시스템의 철학에 동의하는데, 그 구현은 아일랜드 아키텍처의 접근법이 더 나을 수도 있겠다는 생각이 든다. https://deno.com/blog/intro-to-islands
Are there any active chat rooms on #Discord or #Matrix where #TypeScript developers gather?
@hongminhee洪 民憙 (Hong Minhee)
Minhee, please come back home. You can't just abandon your child like this. We will forgive everything. The baby needs you. Little Haskell is crying and starving.
직원용 ETL CLI 인터페이스를 대충 해뒀는데 조만간 optique로 정리해야겠다
다양한 WAI-ARIA 표준이 여러 스크린리더와 브라우저 조합 환경과 잘 맞물리는지 테스트 결과를 확인하는 웹 페이지. 아직 작업 중이라네요. https://a11ysupport.io/
파이콘 한국 2025의 Hackers' Pub 및 FediDev KR 커뮤니티 부스가 성공적으로 마무리되었습니다. 모두 여러분 덕분입니다.
양일간 부스 지키느라 도와주신 분들께 모두 감사드립니다! @nebuletoHaze
@kodingwarriorJaeyeol Lee
@akastoot악하
@2chanhaeng이찬행
@z9mb1wwj
@joonnotnotJoon
@gaebalgom개발곰 🙏🏼
어쩌다 프로그래밍 언어를 만들어버렸어요
M4와 스킴에 영향을 받은 텍스트 매크로 언어에요
VM을 거쳐 바이트코드가 처리되는 인터프리터 매크로 실행기에요
아직 부족한게 많아요 꾸준히 연구중이에요
The State of CSS 2025 survey results are now available!
macOS Traffic Lights (2000-2025) 🚥
@mck 하지만 사람들도 많이 그럽니다…
@hongminhee洪 民憙 (Hong Minhee) 그러던 한 사람의 코드 멱살을 잡고 "LLM아 이거 채워놔라" 했더니 말이죠 …
내가 예민한건가. LLM이 "여기서 as any
한 번 정도는 괜찮아요"라며 구슬린다
macOS에서는 Xcode에서 git을 함께 주지만 brew install git
으로 별도로 설치해서 사용해야 한다. 왜냐하면 Git 취약점 최신 패치버전은 2.50.1
인데 Xcode git 버전은 2.39.5
버전이다 😱 (다른 패치버전들도 있는데 2.43
및 이후 버전들만 관리 중인가 보다[1])
https://github.blog/open-source/git/git-security-vulnerabilities-announced-6/
제주어 ISO 639 코드가 ko-jje에서 jje로 독립했구나.
다시 말해, 한국어 방언으로 간주됐다가 별개 언어로 독립했다, 이 말입니다.
https://iso639-3.sil.org/code/jje
해커스 펍은 아무래도 어텐션이 낮다 보니 채용 시장 이야기를 조금 해 보자면 (트위터는 왠지 채용 과정에서 아쉬운 경험을 하신 분들도 있을 것 같고, 해서) 새로운 프론트엔드 개발자분이 곧 합류하시는데 채용까지 이르는 데 까지 정말 많은 이력서 스크리닝을 해야 했다. 솔직히 말해 '옛날에 비하면' 뛰어난 개발자분들이 시장에 많은데 (공개적으로 이야기하기는 뭐한) 특정한 스타일의 비슷한 개발자분들이 아주 많다. 괜찮은 사람을 아무나 빨리 뽑는 채용 기조는 아니다 보니 정말 특출나게 뭔가 뛰어난 부분이 있는 분을 찾아야 한다는 압박감이 있었고, 이것때문에 좀 힘들었다.
#BillGates and #LinusTorvalds just met each other for the first time
(The other two are Mark Russinovich and Dave Cutler)
McK shared the below article:
Announcing LogTape 1.0.0

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
LogTape 1.0.0 has been released, marking a significant milestone for this zero-dependency logging library designed for the modern JavaScript ecosystem. This release emphasizes API stability and introduces high-performance features such as non-blocking sinks for console, stream, and file logging, along with the `fromAsyncSink()` function for integrating asynchronous logging operations. New sink integrations include packages for AWS CloudWatch Logs and Windows Event Log, enhancing LogTape's versatility. The update also brings a visually appealing console logging experience with the `@logtape/pretty` package, and seamless integration with existing Winston or Pino setups through adapter packages. Key developer experience enhancements include programmatic access to log levels and improved browser compatibility. LogTape 1.0.0 streamlines logging infrastructure with a comprehensive package ecosystem, offering specialized packages for various logging needs. This release provides a stable and mature logging solution, making it easier to manage and optimize logging in JavaScript applications.
Read more →McK shared the below article:
If you're building a JavaScript library and need logging, you'll probably love LogTape

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
LogTape offers a novel approach to logging in JavaScript libraries, designed to provide diagnostic capabilities without imposing choices on users. Unlike traditional methods such as using debug packages or custom logging systems, LogTape operates on a "library-first design" where logging is transparent and only activated when configured. This eliminates the fragmentation problem of managing multiple logging systems across different libraries. With zero dependencies and support for both ESM and CommonJS, LogTape ensures minimal impact on users' projects, avoiding dependency conflicts and enabling tree shaking. Its universal runtime support and efficient performance make it suitable for various environments. By using a hierarchical category system, LogTape prevents namespace collisions, offering a seamless developer experience with TypeScript support and structured logging patterns. LogTape provides adapters for popular logging libraries like Winston and Pino, bridging the transition for users invested in other systems. Ultimately, LogTape offers a way to enhance library capabilities while respecting users' preferences and existing choices, making it a valuable consideration for library authors.
Read more →Sass v1.77.x 최근판이 Bootstrap v5에 뱉는 사용 중단(Deprecation) 경고
McK @mck@hackers.pub
Sass 최신 버전과 Bootstrap v5.3.x를 함께 사용할 때 발생하는 사용 중단 경고에 대한 해결책을 제시합니다. Bootstrap v5.3.4에서 수정된 `mixed-decls` 경고와 달리, `color-functions` 및 `global-builtin` 경고는 수정이 어려울 수 있습니다. Sass는 이러한 경고를 무시하기 위해 `quietDeps` 및 `silenceDeprecations` 옵션을 제공하며, vite 프로젝트에서 이를 설정하는 방법을 예시 코드를 통해 보여줍니다. `quietDeps` 옵션은 의존성 패키지의 경고만 무시하므로, 자체 코드의 경고는 `silenceDeprecations` 옵션을 사용하여 더 강력하게 무시할 수 있지만, 코드 수정이 더 나은 해결책일 수 있습니다. 이 글은 Sass와 Bootstrap을 함께 사용하는 개발자가 경고 메시지를 관리하고 잠재적인 문제를 해결하는 데 도움을 줍니다.
Read more →유니코드 컨소시엄에서 운영하는 CLDR 프로젝트에서 눈에 띄는 한 줄 { "ISO3166-1-Alpha-3": "KOR", "Languages": "ko-KR,en" }
@mck 아, 그리고
property
가 아니라 name
이어야 됐던 것 같아요.
@hongminhee洪 民憙 (Hong Minhee) 저는 TechCrunch의 사례를 보고 알았는데 아직은 혼동이 있나 보네요. https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/
무슨 생각 해요?
Hackers' Pub 기본 화면이 왜 연합우주일까 궁금해하면서 멍때리는 중
아항 <meta property="fediverse:creator" content="@mck@hackers.pub">
이런식인갑네
연합우주에 속한 서버의 경쟁력은 커스텀 에모지에서 나온다.
McK replied to the below article:
Node.js v14로 받는 고통 기록
McK @mck@hackers.pub
`asdf`나 `nvm`을 사용하여 Node.js를 설치할 때 macOS에서 빌드 실패가 발생하는 문제에 대한 해결책을 제시합니다. macOS Sequoia에서 Python 버전 문제로 인해 빌드가 실패할 경우, 심볼릭 링크를 통해 Python 버전을 지정하는 방법이 소개됩니다. 하지만 최신 환경에서는 이 방법이 통하지 않을 수 있으며, 특히 arm64e macOS 환경에서는 `arch -x86_64 zsh` 명령어를 사용하여 x86_64 아키텍처로 전환한 후 Node.js를 설치하는 우회 방법을 제시합니다. 이 방법은 Node.js를 미리 빌드된 바이너리 형태로 설치하여 문제를 해결하며, sharp와 같은 네이티브 모듈은 재빌드가 필요할 수 있습니다. 오래된 v14 버전을 유지해야 하는 상황에 대한 어려움을 언급하며 마무리합니다.
Read more →게시글 시험삼아 남겨봄.
BTW, [짧은 글 + 긴 글 = 글]이 [단문 + 게시글 = 콘텐츠]를 대신 못하는 까닭은? :-/
Node.js v14로 받는 고통 기록
McK @mck@hackers.pub
`asdf`나 `nvm`을 사용하여 Node.js를 설치할 때 macOS에서 빌드 실패가 발생하는 문제에 대한 해결책을 제시합니다. macOS Sequoia에서 Python 버전 문제로 인해 빌드가 실패할 경우, 심볼릭 링크를 통해 Python 버전을 지정하는 방법이 소개됩니다. 하지만 최신 환경에서는 이 방법이 통하지 않을 수 있으며, 특히 arm64e macOS 환경에서는 `arch -x86_64 zsh` 명령어를 사용하여 x86_64 아키텍처로 전환한 후 Node.js를 설치하는 우회 방법을 제시합니다. 이 방법은 Node.js를 미리 빌드된 바이너리 형태로 설치하여 문제를 해결하며, sharp와 같은 네이티브 모듈은 재빌드가 필요할 수 있습니다. 오래된 v14 버전을 유지해야 하는 상황에 대한 어려움을 언급하며 마무리합니다.
Read more →Hackers' Pub은 과연 언제까지 우리집 홈서버에서 버틸 수 있을 것인가…!? (걱정하시는 분들을 위해: 백업은 6시간마다 정기적으로 하고 있습니다.)
@hongminhee洪 民憙 (Hong Minhee) 이거 누르면 어떻게 되나요
소프트웨어 개발자들이 자주 틀리는 외래어 표기법.
영어 | 틀린 표기 | 올바른 표기 |
---|---|---|
app | 어플 | 앱 |
application | 어플리케이션 | 애플리케이션 |
directory | 디렉토리 | 디렉터리 |
front-end | 프론트엔드 | 프런트엔드 |
message | 메세지 | 메시지 |
method | 메소드 | 메서드 |
release | 릴리즈 | 릴리스 |
repository | 레포지토리 | 리포지터리 |
또 있을까요?