Lee Dogeon

@moreal@hackers.pub · 76 following · 69 followers

어느 한 개발자입니다.

GitHub
@moreal

2025() 오픈소스 컨트리뷰션 아카데미 參與型(참여형) 멘토() 募集(모집) 公告(공고)가 떴다. Fedify 프로젝트의 메인테이너로서 멘토()志願(지원)하고자 한다. 志願書(지원서).hwp 파일이기에 큰 맘 먹고 한컴오피스 한글 for Mac도 購入(구입)했다. (아무래도 앞으로 .hwp 파일 다룰 일이 많을 것 같다는 豫感(예감)이 들어서…)

6
3
4
14

Lee Dogeon shared the below article:

같은 것을 알아내는 방법

Ailrun (UTC-5/-4) @ailrun@hackers.pub

이 글은 일상적인 질문에서부터 컴퓨터 과학의 핵심 문제에 이르기까지, '같음'이라는 개념이 어떻게 적용되고 해석되는지를 탐구합니다. 특히, 두 프로그램이 '같은지'를 판정하는 문제에 초점을 맞춰, 문법적 비교와 $\beta$ 동등성이라는 두 가지 접근 방식을 소개합니다. 문법적 비교는 단순하지만 제한적이며, $\beta$ 동등성은 프로그램의 실행을 고려하지만, 계산 복잡성으로 인해 적용이 어렵습니다. 이러한 어려움에도 불구하고, 의존 형 이론에서의 형 검사(변환 검사)는 $\beta$ 동등성이 유용하게 활용될 수 있는 중요한 사례임을 설명합니다. 이 글은 '같음'의 개념이 프로그래밍과 타입 이론에서 어떻게 중요한 역할을 하는지, 그리고 이 개념을 올바르게 이해하고 구현하는 것이 왜 중요한지를 강조하며 마무리됩니다.

Read more →
5
2
2

@hongminhee洪 民憙 (Hong Minhee) 네네, 전문 검색이랑 의미론적 검색 모두 지원하고 싶은데 검색 엔진(e.g., Meilisearch, Elasticsearch)을 하나 더 띄우고 싶지는 않아서 pgvector로 해보려고 했어요. 근데 답글 적으면서 다시 생각하니 아닌가 싶은 부분이 있어서 만들고 구조 변경을 몇번 할 것 같아요

0
0

해키지(Hackage)[1]에 패키지를 업로드하면 자동으로 빌드, 문서 생성, 테스트가 진행된다. 그런데 이게 시간이 좀 걸린다.(체감상 10분 정도) 이 과정이 자동으로 완료되기 전에 참지 못하고 수동으로 문서를 업로드하면 자동으로 진행되던 것들이 모두 중단된다. https://github.com/haskell/hackage-server/issues/1376


  1. 하스켈 패키지 저장소 ↩︎

0
0
0
0
0
0

Hackers' Pub에 이제 알림 기능이 생겼습니다. 우상단 프로필 사진 바로 왼쪽에 알림 아이콘이 추가되었고, 이제 읽지 않은 알림이 있을 경우 그 위에 빨간 동그라미가 표시됩니다. 알림의 종류는 현재 다음 다섯 가지입니다:

  • 누가 날 팔로했을 때
  • 누가 날 언급했을 때
  • 누가 내 글에 답글을 달았을 때
  • 누가 내 글을 인용했을 때
  • 누가 내 글을 공유했을 때
Hackers' Pub의 우상단에 표시되는 아이콘들. 왼쪽부터 새 게시글 아이콘, 읽지 않은 알림 아이콘, 프로필 사진.
0
0
0

Lee Dogeon shared the below article:

셸 언어는 때로 추하길 요구 받는다

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub

이 글에서는 명령줄 인터페이스(CLI)를 지배하는 셸 언어의 독특한 설계 철학을 탐구하며, 셸 언어가 왜 때로는 "추함"을 받아들여야 하는지에 대한 이유를 설명합니다. Bash와 PowerShell을 비교하며, PowerShell이 가독성을 높이기 위해 장황해진 반면, Bash는 간결함을 유지하여 빠른 상호작용에 더 적합함을 지적합니다. 현대적인 셸인 Nushell이 이 균형을 맞추기 위해 노력하는 점을 언급하며, 셸 언어의 성공은 "아름다운 코드"와 "효율적인 상호작용" 사이의 균형에 달려 있음을 강조합니다. 마지막으로, 모든 도구는 사용 맥락에 맞게 설계되어야 한다는 더 넓은 소프트웨어 설계 원칙을 제시하며, 셸 언어의 맥락은 키보드와 사용자 사이의 빠른 대화임을 강조합니다. 이 글은 셸 언어 설계에 대한 흥미로운 통찰력을 제공하며, 소프트웨어 설계 시 맥락의 중요성을 일깨워 줍니다.

Read more →
0
0
0

인용한 글의 내용과는 상관 없는 이야기인데, 현재는 단문에서는 단문이든 게시글이든 인용할 수 있는 반면, 게시글에서는 단문도 게시글도 인용을 못 하게 되어 있다. 별 생각을 안 하고 그렇게 만든 거긴 한데, 잘 생각해 보니 오히려 인용 기능은 게시글에서 더 유용할 것 같다.

하루 빨리 게시글에서도 인용이 가능하게 개선을 하도록 하겠습니다…



RE: https://hackers.pub/@xt/2025/stackage-why

0

@kodingwarriorJaeyeol Lee 심플하게 가장 가까운 .vim/config.lua 파일을 찾아서 해당 파일에 명시된 린터와 포매터 정보를 읽도록 만들었어요. 급하게 필요해서 만든거라 엉성해요 ㅎㅎ github.com/parksb/dotfiles/com

0

Hackers' Pub 에서 좋아요 느낌을 표현하고 싶을 때

  • 공유 혹은 댓글을 다는 방법이 있겠고
  • 그냥 지나치기는 아쉬워서
  • (우선은) 공유를 하고 있기는 한데,

잘하고 있는건가 싶은 생각이 들 때도 있다.

개인적으로 공유는 팔로워들에게 공유하고 싶을 때 쓰고 싶은 기능인데… 최근에 다소 남발하게 된다.[1]

서로 멘션 주고 받다가, 답글 마지막에 좋아요 하트 느낌으로 마무리 짓고 싶은 마음 뿜뿜할 때에도, 그냥 아무말 안하고 마무리 하기도 하고. (이모티콘 댓글 정도를 남긴다거나 하는 방법은 있음)

@hongminhee洪 民憙 (Hong Minhee) 님이 이모티콘 좋아요 기능을 고민중이라 하시니, 그때까지는 좀 더 공유 기능을 남발해 보는 걸로. 😂

결론 : 이 글은 무차별 공유에 대한 자기 합리화를 위한 글이었던 것입니다. 😅


  1. 좋아요 느낌의 표현으로도 병행해서 사용하고 있으므로 ↩︎

0

많은 분들이 인용 방법을 혼란스러워 하셔서, 인용 버튼을 추가했습니다. 게시글이나 단문 아래의 아이콘들 중에 왼쪽에서 세 번째 아이콘을 누르시면 해당 콘텐츠를 인용한 글들이 나열되고, 그 위에 인용 글 입력란이 뜨게 됩니다. 거기서 인용 글을 쓸 수 있습니다. 아, 종래의 인용 UI도 그대로 사용하실 수 있습니다.

참고로 인용 아이콘은 @xtjuxtapose 님께서 수고해 주셨습니다. 감사합니다.



RE: https://hackers.pub/@xt/0195eb06-9f50-763d-85c8-5600ec78c539

Hackers' Pub의 게시글이나 단문 아래에 표시되는 아이콘들. 인용 버튼이 강조되어 있다.
0

https://elixir-lang.org/blog/2025/03/25/cyanview-elixir-case

수퍼볼 같은데서 수백대의 방송장비를 Elixir를 통해서 제어하고, Phoenix LiveView로 시각화하는 사례. Elixir 생태계에 Nerves라는 임베디드 시스템 제어 프레임워크가 있었던걸로 기억하고 있는데, 이게 이렇게 이어지는군아

0

Polymarket 등의 예측 시장에는 오라클 문제가 있다. 블록체인으로 만들어봤자, 어차피 베팅의 승패를 결정하려면 외부에서 딸깍 해줘야한다. 가령 4월 내에 탄핵이 이뤄질거냐 마냐 같은 게임을 상상하면 된다. 그 딸각하는 사람을 어떻게 믿을수 있냐는 문제가 오라클 문제다.

오라클 문제가 없는 예측 시장이 하나 생각났는데, 바로 수학 문제가 언제 풀릴 것이냐에 대한 것이다. 가령 리만 가설이 앞으로 1,000,000 블록 내에 풀릴지, 또는 P=NP랑 둘 중에 뭐가 먼저 풀릴지 등에 대한 것이다. 여기서 풀리는건 Lean 등으로 작성된 Formal Proof을 통해서 온체인으로 판단한다.

수학자들은 자신이 베팅을 걸어놓고 연구를 열심히해서 돈을 벌 수도 있다. 또 직접 연구를 하지 않더라도 GPU를 사서 자신의 베팅에 유리하도록 연구에 도움을 줄 수 있다. 앞서 그냥 유명하단 이유로 너무 거창한 문제를 예시로 들었는데, 그보다는 더 작고 쉬운 많은 문제들에 대해 이런 식의 경제가 돌아가는걸 상상해보자. 연구에 들어가는 자원 배분이 최적화되지 않을까?

@bglbgl gwyng 개인적으로는 오라클이 필수적인 애플리케이션은 처음부터 블록체인으로 만들면 안 된다고 생각합니다. 😂 관련된 주제로 〈탈중앙 게임, 그리고 블록체인과 NFT〉라는 글을 예전에 쓴 바 있습니다.

0
0
0

洪 民憙 (Hong Minhee) replied to the below article:

Fedify CLI로 Content Warnings 이해하기

Lee Dogeon @moreal@hackers.pub

이 글은 Mastodon의 Content Warnings 기능이 ActivityPub Activity 객체에서 어떻게 표현되는지 탐구합니다. Mastodon에서 글을 작성할 때 Content Warnings를 사용하는 이유와, 그것이 실제 데이터 구조에서 어떻게 나타나는지에 대한 궁금증에서 시작합니다. Fedify CLI 도구를 사용하여 실제 Activity 객체를 확인하고, Content Warnings에 입력한 텍스트가 `summary` 필드에 저장됨을 발견합니다. ActivityPub 문서에서 `summary` 필드의 정의를 찾아 HTML 스타일링과 다국어 지원이 가능하다는 점을 확인합니다. 결론적으로 Content Warnings를 요약으로 사용하는 것이 항상 적절한 용례는 아닐 수 있지만, 사용자가 선호하는 언어로 작성된 요약을 애플리케이션이 자동으로 번역하여 제공할 수 있다는 아이디어를 제시합니다.

Read more →
0

별 것 아니지만, Markdown 문법 가이드를 추가했습니다. Markdown을 모르는 분들은 거의 없겠지만, Hackers' Pub은 Markdown 확장 문법을 꽤 많이 지원하기 때문에, 이를 문서화할 필요가 있었습니다.

단문 작성 화면에서 “이미지 업로드” 버튼 왼쪽의 “Markdown 사용 가능” 링크를 누르시면 언제든지 Markdown 문법 가이드를 보실 수 있습니다.

0

Fedify CLI로 Content Warnings 이해하기

Lee Dogeon @moreal@hackers.pub

이 글은 Mastodon의 Content Warnings 기능이 ActivityPub Activity 객체에서 어떻게 표현되는지 탐구합니다. Mastodon에서 글을 작성할 때 Content Warnings를 사용하는 이유와, 그것이 실제 데이터 구조에서 어떻게 나타나는지에 대한 궁금증에서 시작합니다. Fedify CLI 도구를 사용하여 실제 Activity 객체를 확인하고, Content Warnings에 입력한 텍스트가 `summary` 필드에 저장됨을 발견합니다. ActivityPub 문서에서 `summary` 필드의 정의를 찾아 HTML 스타일링과 다국어 지원이 가능하다는 점을 확인합니다. 결론적으로 Content Warnings를 요약으로 사용하는 것이 항상 적절한 용례는 아닐 수 있지만, 사용자가 선호하는 언어로 작성된 요약을 애플리케이션이 자동으로 번역하여 제공할 수 있다는 아이디어를 제시합니다.

Read more →
0

Lee Dogeon shared the below article:

Vim이랑 Neovim은 어떻게 다를까?

Jaeyeol Lee @kodingwarrior@hackers.pub

이 글은 Vim과 Neovim의 결정적인 차이점을 명확히 설명하며, 독자들의 궁금증을 해소하고자 합니다. Vim은 VimScript를 사용하는 반면, Neovim은 Lua를 사용하여 커스터마이징할 수 있다는 점을 강조합니다. Lua는 VimScript에 비해 가독성이 좋고, macOS 자동화 툴인 Hammerspoon이나 터미널 에뮬레이터 Wezterm과 같은 Unix CLI 프로그램 설정에 널리 사용됩니다. 또한, Neovim은 LuaRocks 패키지 매니저를 통해 다양한 패키지를 활용할 수 있으며, Telescope, nvim-cmp, Treesitter와 같은 강력한 플러그인 생태계를 자랑합니다. 특히, Treesitter는 소스 코드를 트리 구조로 분석하여 코드 탐색 및 조작을 용이하게 해줍니다. Language Server 지원도 준수하며, coc-nvim을 통해 편리하게 설정할 수 있습니다. 이 글은 Vim과 Neovim 중 어떤 에디터를 선택할지 고민하는 개발자에게 유용한 정보를 제공하며, Neovim의 강력한 기능과 확장성을 통해 생산성을 향상시킬 수 있음을 시사합니다.

Read more →
0
0
1

@hongminhee洪 民憙 (Hong Minhee) 꼭 외래어만 그런 건 아니지만 ㅐ와 ㅔ의 혼선이 제법 있는데, 이를테면 lag 랙("렉"으로 틀림) 같은 사례가 있습니다. 그 밖에는 daemon 다이먼(동계어인 demon에 이끌려 "데몬"이 널리 쓰이지만, 애초에 demon의 올바른 표기는 "디먼"임) 같은 게 생각나네요. 뭐 알아도 그렇게 안 쓰는 사람이 너무 많아서 대부분 틀린 표기로 쓰게 되지만...

0
0

Hackers' Pub 타임라인에 내부적인 개선이 있었습니다. 이제까지는 타임라인을 렌더링하기 위해 실시간으로 복잡한 조건의 SQL을 실행하는 방식이었지만, 이제는 글이 작성될 때 구독자의 수신함(inbox)에 글이 들어가는 방식으로 바뀌었습니다. 타임라인을 렌더링할 때는 각자의 수신함만 확인하면 되기 때문에 훨씬 조건이 간단해진 것입니다.

더불어, 같은 글을 여러 사람이 공유했을 때 타임라인이 같은 글로 도배되던 문제를 해결했습니다. 이제는 마지막에 공유한 사람의 글만 딱 하나 보이게 됩니다.

이번 변경에 관해 궁금하신 분은 f692909cdd5149c68ca5a91fb4e964042115ab83 커밋을 확인하시면 되겠습니다.

이 변경을 배포하다가 데이터베이스 스키마 마이그레이션이 PostgreSQL을 멈추게 하여 Hackers' Pub이 몇 분 동안 내려가는 일이 있었습니다. 마이그레이션 SQL이 너무 비효율적이라 그랬던 것인데요, Claude Code의 도움을 받아 하나의 비효율적인 SQL을 몇 개의 SQL로 나눠서 실행하게끔 고쳐서 해결했습니다. 이 역시 궁금하신 분은 33f2209f206bee84ddf5d1a7124527dade948610 커밋을 확인하시면 됩니다.

앞으로는 더 안정적인 서비스 운영을 위해 노력하겠습니다. 죄송하고 감사합니다.

0
0
0
0

Lee Dogeon shared the below article:

한국 소프트웨어 개발자들이 자주 틀리는 외래어 표기법

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub

전에 단문으로 올렸던 글을 지속적으로 갱신해볼까 싶어 게시글로 만들어 봅니다.

영어 틀린 표기 올바른 표기
algorithm 알고리 알고리
app 어플
application 플리케이션 플리케이션
BASIC 베이 베이
directory 디렉 디렉
front-end 트엔드 트엔드
launch
license 라이 라이
message
method
parallel 페러 패럴
proxy
release 릴리 릴리
repository 레포 리파
shader 이더 이더
shell
Read more →
2
0
1
0
0
0
0
0
0
0

Lee Dogeon shared the below article:

Browser-Native Translation and Language Detection APIs Coming Soon

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub

Just reviewed the W3C draft for the Translator and Language Detector APIs. This is genuinely exciting development for web developers.

The proposal would add native browser support for:

  • Text translation between languages
  • Language detection of arbitrary text
  • Both with streaming capabilities

No more relying on third-party translation services or embedding external APIs for basic language operations. All processing happens locally in the browser.

The API design is clean and straightforward:

// Translation example
const translator = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "fr"
});

const translatedText = await translator.translate("Hello world");

// Language detection example
const detector = await LanguageDetector.create();
const results = await detector.detect("Hello world");
// Returns array of detected languages with confidence scores

This will be a game-changer for multilingual sites and applications. The browser handles downloading appropriate language models and manages usage quotas.

The spec is still in draft form but shows promising progress toward standardizing these capabilities across browsers. Looking forward to seeing this implemented.

Read more →
0

@xiniha 님께서 Hackers' Pub에 눈에 보이진 않지만 큰 기여를 해 주셨습니다. Drizzle ORM 베타 버전에서 쓸 수 있는 릴레이셔널 API v2Hackers' Pub 코드 전체에 적용하는 큰 패치가 바로 그것입니다.

기능적으로 눈에 바뀌는 것은 없겠지만, 아마 성능상으로는 약간의 개선이 있을 수 있습니다. 기존에는 복잡한 관계 필터를 서브쿼리 방식으로 해 왔는데, 릴레이셔널 API v2를 쓰면 JOIN으로 바뀌는 것 같아요. 물론 PostgreSQL의 쿼리 최적화기가 뛰어나다면 두 방식 중 어떤 방식을 쓰든 같은 실행 계획을 수립할 것이므로 성능 차이가 없을 수도 있지만요. 아니면 더 느려질 수도 있겠죠. 거기까지 세세하게 비교 테스트해보진 않았습니다. 😅

참고로 해당 변경은 이미 배포된 상태입니다. 아무튼 고생해주신 @xiniha 님께 박수 부탁드립니다. 👏

0
0

https://news.hada.io/topic?id=19948

나는 프로그래밍을 Solaris에서 시작했고, FreeBSD의 오랜 팬이자 사용자였지만, 이제 와서는 BSD를 권하지 않음. 내 개인적으로도 이젠 더이상 쓰지 않고 있고. 물론 BSD가 특정 시나리오에서는 매우 뛰어난, 그리고 일반적으로 좋은 서버 OS라는 점은 지금도 유효하지만, 더이상 개인이 사용할 우위점은 거의 없다고 생각함.

  1. 리눅스가 충분히 안정화되었고, 가장 안정적인 OS를 찾는다면 RHEL(+클론들)을 쓰면 됨. 대형 유저들이 많으며, 전문가 집단이 구성하고 충분히 테스트한 OS임.
  2. 리눅스가 de facto standard여서, 더 효율적인 솔루션들이 있더라도 작은 차이라도 큰 특수 분야가 아니라면 굳이 다른 방법을 찾는 비용을 정당화하기 어려움. 무엇보다 유지보수, 확장, 인프라 이전 등 모든 면에서 리눅스가 제일은 아닐지 몰라도 충분히 쌈.
  3. 보안에 있어서도 OpenBSD의 품질은 대단하지만, 대형 리눅스 배포판들 또한 취약점 패치 속도에서 매우 빠른 편이고 보안 툴들도 잘 갖추고 있음. 이제 양자간 개발자, 사용자 숫자의 차이는 인원과 설계의 질로 메꿀 수 있는 수준이 아니라고 봄.

0