Profile img

Jaeyeol Lee

@kodingwarrior@hackers.pub · 694 following · 509 followers

Neovim Super villain. 풀스택 엔지니어 내지는 프로덕트 엔지니어라고 스스로를 소개하지만 사실상 잡부를 담당하는 사람. CLI 도구를 만드는 것에 관심이 많습니다.

Hackers' Pub에서는 자발적으로 바이럴을 담당하고 있는 사람. Hackers' Pub의 무궁무진한 발전 가능성을 믿습니다.

그 외에도 개발자 커뮤니티 생태계에 다양한 시도들을 합니다. 지금은 https://vim.kr / https://fedidev.kr 디스코드 운영 중

Blog
kodingwarrior.github.io
mastodon
@kodingwarrior@silicon.moe
Github
@malkoG
0
0
0
0

조던 엘렌버그라는 수학자가 쓴 '틀리지 않는 법'이란 책이 있는데, 재밌고 읽어볼만하다.

그 책에서 컴퓨터가 수학자가 하던일을 할수 있게되면 어떡하냐에 대해 저자의 해결책을 제시하는데 원래 하던일을 컴퓨터한테 맡기고 수학자들은 더 고차원적인 일을 하면 된다고 한다. 한 10년 전에 읽었을때도 그냥 대책없고 나이브한 생각으로 보였다. 근데 요즘은 (실제로 어떻게 될지랑은 상관없이) 저런 나이브한 마음가짐을 일부러라도 가지고 일해야 뭐라도 해낼듯.

0

AI MVP를 넘어서: 실제로 필요한 것
------------------------------
- AI 제품을 만드는 대부분의 회사는 실험 단계에 갇혀 있으며 신뢰할 만한 시스템과 도구가 부족함
- 우리의 사례
- 올해 초, LLM 모델을
gpt-4o-2024-08-06에서 gpt-4o-2024-11-20로 업데이트함
- 핵심 프롬프트 테스트 통과율이 기존 100%에서 79%로 하락함
- 정작 Anthropic의 Sonnet 3.5가 95%…
------------------------------
https://news.hada.io/topic?id=20119&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0

Claude code를 잘 써보려고 이렇게 저렇게 해보는 중.

코드는 잘 찍어내는데… 가끔씩 삑사리를 내서 끝도없는 삽질하느라 크레딧만 쳐묵쳐묵해서 쳐다보고 있다가 끊어줘야한다.

내가 없어도 이 정도 할 수 있으면(시간당 $5정도) 쓸만한데… 계속 쳐다보고 있을거면… 그냥 클로드 웹(월 $20)이나 깃헙 코파일럿(월 $10)보다 나을 게 없다.

사실 휴먼 개발자도 비슷하다. 해보고 안되면 “적절한” 시점에 도움을 청해야하는데… “적절한”게 어렵다. 제대로 해보지도 않고 도움을 청해도 안되고, 안되는 걸 끝까지 붙잡고 있어도 안된다.

이 녀석에게 “적절함”을 어떻게 가르쳐야하나…

0

この「ハッカーズ・パブ」(Hackers' Pub)は、ハッカーたちが集まるネット上の場所であって、各自ブログも出来て、レスも出来て、掲示板みたいにも使えて、ユーザーの望みであればFediverseなる世界中の 変人 みんなのネットワークとも繋がりうる、言わばハッカーたちのための新しいツイッターみたいなサイトらしい。

ツイッターより優れた部分は何かというと、技術的に何時間も喋れそうだが、私が注目するのは、まずここの創立者および主任開発者である洪 民憙 (Hong Minhee)先生はイーロンなどよりかはずっとましな方で、頼れる方だということ。ユーザーの自由に関する彼の哲学、このサイトの設計思想などは信用できる。多分。なにしろ彼は今やFLOSS(Free/Libre/Open-Source Software)の開発を専業としておられるのだ。

なお、例えひょんな事で洪さんがイーロン並みに暴走する、由々しき事態でも、ここはツイッターみたいにはならないということ。この「ハッカーズ・パブ」はソースコードに限らず、プロトコルや作動原理も全部FLOSSなので。まあ洪さんの暴走なんてないでしょうけどね。

エンジニアとして生きてきた分、こういうサービスを運営する側の負担を大体把握しているので、自分ではやらないと思うし、ここが盛り上がったところで (盛り上げたところで) 自分の人生に役立つかというと、そうも言えない。が、「みんながTwitterとかFacebookとかInstagramなどを使っている」今の状態と比べれば、ハッカーズ・パブがもっと使われる未来の方が好ましいことに違いはない。そう考えると、洪さんの努力に感謝せざるをえない。

で、パブに日本語圏のユーザーをもっと招くのが創立者の方針というかご希望らしく、衝動的に参加してみる。これから機会あれば、日本語でも面白い話をここに残すのを目指してみる。自分日本語全然下手ですが。よろしく。

0
0
0
0

#neovim Development News The 0.12 version will have customizable diff mode for changes within a line via `inline:` part of 'diffopt' option. Also a new `DiffTextAdd` highlight group will be used for added text within a changed line. PR (Vim patch): - github.com/neovim/neovi...

vim-patch:9.1.{1243,1246} by z...

0
0
0
0

아이패드로 원격 개발만 하겠다고 결심 했는데 code-server는 웹브라우저의 IME 버그가 너무 빈발해서 고통스럽고, 원격지가 맥인데 vnc클라가 딱히 멀쩡한게 안보인다. 결국 ssh로 하자! 라고 결심하고 다시 이맥스를 집었는데... 예전에 어떻게 설정했는지 전혀 모르겠다. 둠 이맥스를 한번 설정 해봤는데 따로 설치한 패키지가 껐다 켜면 로드가 안되어서 어찌 해야 할 지 모르겠다. 근데 스페이스맥스도 둠 이맥스도 다들 빔을 섞는게 기본이네...

0

【拡散希望】

Hackers' Pub(ハッカーズ・パブ)は現在開発中の、ソフトウェアエンジニアと技術愛好家の為のActivityPub対応ソーシャルネットワークです。現在は韓国語中心のコミュニティが形成されていますが、日本のエンジニアの方々にも参加していただきたいと考えています。

Hackers' Pubは短文の投稿[1]と長文の記事[2]の両方をサポートしています。日常的な会話や簡単な質問は短文投稿で、詳細な技術解説やチュートリアルなどは長文記事で表現できます。QiitaやZennのような技術ブログ機能と、MastodonやMisskeyのようなタイムライン機能を兼ね備えた一つのプラットフォームで、両方の利点を享受できます。何よりもActivityPubプロトコルに対応している為、Mastodon、Misskey、Akkoma等と連携可能です。(このアカウントもHackers' Pubから投稿しています!)

技術的な特徴として、拡張Markdownによるテーブル脚注警告ボックスダイアグラム数式などの多様な記法をサポートし、構文ハイライト行ハイライト、差分表示などの強力なコードブロック機能も備えています。また、様々な言語での投稿が可能で、将来的には自動翻訳機能も予定しています。

Hackers' PubはAGPL-3.0ライセンスの下で開発されているオープンソースプロジェクトです。コードの貢献や機能提案も歓迎しています。

現在はまだ開発段階のため招待制となっています。Hackers' Pubに興味がある方は、DMや返信でメールアドレスをお知らせいただければ、招待状をお送りします。技術コミュニティの一員として、ぜひご参加をお待ちしております。よろしくお願いいたします。


  1. 「投稿」はActivityPubのNoteオブジェクトタイプに対応しています。 ↩︎

  2. 「記事」はActivityPubのArticleオブジェクトタイプに対応しています。 ↩︎

2
0
1
0
0

Jaeyeol Lee shared the below article:

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

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

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

Read more →
0
0
0

지금 Hackers' Pub에는 Fresh 2.0 알파를 쓰고 있는데, 여러 가지 아쉬운 점이 많지만 그 중 하나가 아일랜드 컴포넌트로 콘텍스트가 전달이 안 된다는 것. 현재 아일랜드 컴포넌트에는 로캘 같은 정보를 일일히 프랍(prop)으로 넘겨줘야 한다…



RE: https://hackers.pub/@kodingwarrior/0195f94d-61f3-7cab-8a34-f2a8ab0f9a4a

0

개인적으로 웬만한 경우에는 prop drilling하는 걸(깊더라도) 선호하는데, 마우스를 따라다니고(=도큐먼트 기준 마우스 좌표를 알아야 하고) 해당 컴포넌트에 대한 설명을 담은(=해당 컴포넌트가 받은 prop을 쓰는) 마우스오버 툴팁을 여기저기에 붙여야 할 경우(=여러 번 구현해야 함) createContext/useContext를 쓰는 게 말이 되는 것 같았다.

접근성 문제 때문에 마우스오버로 정보를 보여주는 것 자체를 어디서나 쓸 수는 없겠지만… 다른 데 써 먹을 수도 있으리라 생각함.

0

알렉사나 시리와 같은 음성 인터페이스가 성공하지 못한 이유에 대해 AI가 충분히 똑똑하지 않았기 때문이라고 말하곤 하지만, 핵심 문제는 출력의 퀄리티가 아니라 입력의 불편함이었다. "헤이 구글, 오늘 샌프란시스코 날씨는 어때?"와 같은 자연어 프롬프트는 홈 화면에서 날씨 앱을 터치하는 것보다 10배 더 걸린다. (매우 공감...)

대화형 인터페이스는 기존 워크플로우를 대체하는게 아니라 보완해야 한다. 키보드 워크플로우와 대화 워크플로우가 분리되어 스위칭을 반복해야 하는 방식이 아니라, 기존 작업을 멈추지 않고 AI와 대화하며 작업을 계속 할 수 있어야 한다는 것. julian.digital/2025/03/27/the-

0
0

Jaeyeol Lee shared the below article:

킹켄 혼도리점(キング軒 本通店)의 즙 없는 탄탄멘

정진명의 굳이 써서 남기는 생각 @jm@guji.jjme.me

가게정보

상호: キング軒 本通店
주소: 広島県広島市中区本通8-7 しげとみビル 1F
방문한 날짜: 2025년 3월 20일
먹은 메뉴: 즙 없는 탄탄멘(汁なし担担麺)

검은 면기에 가는 면이 담겨 있고 후추, 다진 고기, 채썬 대파가 올라가 있다.

생각

즙 없는 탄탄멘이라는 것이 유행하다고 해서, 숙소 근처에 있는 가게에 가서 먹게 되었습니다.

가게에 들어가면 가게 전체에 나는 마라향(산초? 잘은 모르겠습니다.)에 압도됩니다. 조금 기다려서 서빙된 용기에서 면과 아주 적은 양의 국물을 잘 비벼 먹으면, 향에서 기대하게 되는 매운 맛은 강하지 않고, 강한 감칠맛이 올라옵니다. 매우리라는 기대를 배신당하는 점이 재미있고, 감칠맛이 좋습니다.

이 글을 쓰는 동안 맛과 향을 떠올리니 더 먹고 싶네요.

Read more →
0
0

@hongminhee洪 民憙 (Hong Minhee) @curry박준규 제가 Rust 유저한테 하스켈을 영업해본적은 없지만, Rust 유저들은 하스켈을 고를수 있는 선택지에서 이미 결정을 내리고 지나온 사람들이라고 생각했거든요. HKT, 모나드? 그런거보다 포인터 직접 만지고 최적화하는게 좋아.

근데 생각해보니 Rust가 언어덕후들이 파던 언어였던것도 이미 오래전 얘기고, 이제는 하스켈 등의 옵션을 고려하지 않은채로 Rust를 써야할 환경에 놓인 사람들도 많겠다 싶네요.

0
0
0
0

OpenAI Academy - 무료 AI 교육 사이트 공개
------------------------------
- OpenAI Academy는 AI의 변화력을 실질적으로 활용할 수 있도록 워크숍, 토론, 디지털 콘텐츠를 통해 지원함
- 초급부터 고급 엔지니어링 통합까지 *다양한 수준의 교육 콘텐츠* 제공
- *온라인과 오프라인을 병행한 이벤트* 운영을 통해 다양한 배경을 가진 사람들이 참여할 수 있는 협력적인 * 커뮤니티* 조…
------------------------------
https://news.hada.io/topic?id=20092&utm_source=googlechat&utm_medium=bot&utm_campaign=3140

0
0

Jaeyeol Lee shared the below article:

deno-task-hooks: Git 훅을 Deno 태스크로 쉽게 관리하기

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

안녕하세요! 오늘은 제가 개발한 deno-task-hooks 패키지를 소개해 드리려고 합니다. 이 도구는 Deno 태스크를 Git 훅으로 사용할 수 있게 해주는 간단하면서도 유용한 패키지입니다.

어떤 문제를 해결하나요?

Git을 사용하는 개발 팀에서는 코드 품질 유지를 위해 커밋이나 푸시 전에 린트, 테스트 등의 검증 작업을 실행하는 것이 일반적입니다. 이러한 작업은 Git 훅을 통해 자동화할 수 있지만, 기존 방식에는 몇 가지 문제가 있었습니다:

  • Git 훅 스크립트를 팀원들과 공유하기 어려움 (.git 디렉토리는 보통 버전 관리에서 제외됨)
  • 각 개발자가 로컬에서 훅을 직접 설정해야 하는 번거로움
  • 훅 스크립트의 일관성 유지가 어려움

deno-task-hooks는 이러한 문제를 해결하기 위해 Deno의 태스크 러너를 활용합니다. Deno 태스크는 deno.json 파일에 정의되어 버전 관리가 가능하므로, 팀 전체가 동일한 Git 훅을 쉽게 공유할 수 있습니다.

어떻게 작동하나요?

deno-task-hooks의 작동 방식은 간단합니다:

  1. deno.json 파일에 Git 훅으로 사용할 Deno 태스크를 정의합니다.
  2. hooks:install 태스크를 실행하면, 정의된 태스크들이 자동으로 .git/hooks/ 디렉토리에 설치됩니다.
  3. 이후 Git 작업 시 해당 훅이 트리거되면 연결된 Deno 태스크가 실행됩니다.

설치 및 사용 방법

1. hooks:install 태스크 추가하기

먼저 deno.json 파일에 hooks:install 태스크를 추가합니다:

{
  "tasks": {
    "hooks:install": "deno run --allow-read=deno.json,.git/hooks/ --allow-write=.git/hooks/ jsr:@hongminhee/deno-task-hooks"
  }
}

2. Git 훅 정의하기

Git 훅은 hooks: 접두사 다음에 훅 이름(케밥 케이스)을 붙여 정의합니다. 예를 들어, pre-commit 훅을 정의하려면:

{
  "tasks": {
    "hooks:pre-commit": "deno check *.ts && deno lint"
  }
}

3. 훅 설치하기

다음 명령어를 실행하여 정의된 훅을 설치합니다:

deno task hooks:install

이제 Git 커밋을 실행할 때마다 pre-commit 훅이 자동으로 실행되어 TypeScript 파일을 검사하고 린트 검사를 수행합니다.

지원되는 Git 훅 종류

deno-task-hooks는 다음과 같은 모든 Git 훅 타입을 지원합니다:

  • applypatch-msg
  • commit-msg
  • fsmonitor-watchman
  • post-update
  • pre-applypatch
  • pre-commit
  • pre-merge-commit
  • pre-push
  • pre-rebase
  • pre-receive
  • prepare-commit-msg
  • push-to-checkout
  • sendemail-validate
  • update

이점

deno-task-hooks를 사용하면 다음과 같은 이점이 있습니다:

  1. 간편한 공유: Git 훅을 deno.json 파일에 정의하여 팀 전체가 동일한 훅을 사용할 수 있습니다.
  2. 설정 용이성: 새 팀원은 저장소를 클론한 후 한 번의 명령어로 모든 훅을 설치할 수 있습니다.
  3. 유지 관리 용이성: 훅 스크립트를 중앙에서 관리하므로 변경 사항을 쉽게 추적하고 적용할 수 있습니다.
  4. Deno의 안전성: Deno의 권한 모델을 활용하여 훅 스크립트의 보안을 강화할 수 있습니다.

마치며

deno-task-hooks는 작은 패키지이지만, Git과 Deno를 함께 사용하는 팀의 개발 경험을 크게 향상시킬 수 있습니다. 코드 품질 유지와 개발 워크플로우 자동화를 위해 한번 사용해 보세요!

패키지는 JSR에서 다운로드할 수 있으며, GitHub에서 소스 코드를 확인할 수 있습니다.

피드백과 기여는 언제나 환영합니다! 😊

Read more →
0
0
0

LLM 서비스 설계와 최적화 - 비용은 낮추고 성능은 극대화하는 AI 서비스 구축과 운영 가이드 (슈레야스 수브라마니암 (지은이), 김현준, 박은주 (옮긴이) / 한빛미디어 / 2025-04-10 / 32,000원) feed.kodingwarrior.dev/r/SJ0UO

aladin.co.kr/shop/wproduct.asp

0

Vim/Neovim의 시대가 가고, Vibe Coding 내지는 LLM 에이전트의 도움을 얻는 시대가 왔다지만, 난 아직까지는 전적으로 동의하지는 않음(부분적으로는 동의한다는 의미) 아직까지는 수제로 직접 코드를 짜는 것도 의미가 있고, CLI 기반의 에디터도 저마다의 발전을 하고 있다고 자신있게 말할 수 있음.

내가 생각하는 요오즘 시대 개발의 장점도 언급하면서 CLI 기반의 에디터는 어떤 위치에 있는지도 얘기해보고자 한다.

  1. 신뢰구간이 넓지 않아도 되는 작업을 할때는 AI를 사용하는 코드가 분명 시간을 확 줄여주고 결과적으로 생산성을 향상시키는 경향은 있지만, "정확함"을 위해서 프롬프트를 넣어야 하는데 그 프롬프트를 넣는 작업이 품이 많이 들때(넣어야 하는 맥락이 너무 많을때) 그렇게 정확하지는 않을뿐더러 맥락을 넣는 시간 때문에 차라리 내가 직접 짜는게 나을때가 많음. 수제로 직접 짜기 vs AI한테 전적으로 맡겨버리기 두 세계를 적절하게 오가면서 작업하는게 베스트이지 않나 싶음.

  2. GUI 에디터 특유의 장점도 분명 있긴 있다. GUI 에디터가 올인원 기능을 갖추고 있는 경우도 많고 편의성 면에서 미니멀리즘을 추구하는 CLI 기반의 에디터보다 가진 기능이 많다. 남이 차려준 밥상이 그렇게 달달하지 않을 수 없다. 하지만, 그런 기능들을 제공하는 플러그인이나 자체 기능들의 내부 구현을 막상 까보면 CLI 도구에 의존하는 기능들이 많다. 특히, LSP/린터/포매터가 그렇다. 다만 추상화레이어를 어떻게 감쌌느냐 정도의 차이가 있는데, 그 추상화레이어를 커스터마이징하는데 있어서의 진입장벽은 CLI 기반의 에디터가 상대적으로 낮은 편이다. 왜냐면, 인고의 시간을 거쳐서 해온게 딱 그거라서(.....)

  3. 바이브 코딩은 분명 압도적인 속도로 코드가 짜여질 수 있게 하고, 단위시간당 코드가 짜여지는 양 자체도 어마어마하다. 특히, scaffolding을 할때 더더욱 빛을 발휘한다. 그렇기 때문에, 코드를 짜는건 기계/인공지능에 위임하고, 자세한 디테일을 채우는건 유저리서치를 하거나 와이어프레임을 그려서 기획을 더 보강하는 등 중요한 영역에 집중할 수 있게 된다. 코드를 짜는데 드는 시간은 최소한으로, 중요한 영역에 집중하기 위해 생각하는 시간을 더 많이 가지는 것은 분명 좋은 일이다. 관련해서는 이 글도 읽어보면 좋을 것 같다. https://two-wrongs.com/typing-fast-is-about-latency-not-throughput

물론, 코드를 짜는데 있어서 중요한 것은 리터러시이다. LLM이 코드베이스의 이해를 빠르게 할 수 있도록 도와주긴 하지만, 위에서 언급했듯 어느 정도 시점이 되면 결국엔 직접 짜고 직접 수정하는 일도 있어야 한다. 로컬 LLM이 발전한다 하더라도, LLM을 사용할 여력이 되지 않는 환경에서도 동일한 생산성을 유지할 수 있을까? 생산성이 일관적이지 않다면, 그렇지 않은 환경에 노출이 되었을때 어떻게 대응할 수 있을지가 중요한 포인트일 수 있다고 생각한다. 인자강, 즉, 사람 자체가 강해질 필요가 있다고 생각한다.


인공지능에 전적으로 의존하지 않고 수제로 직접 코드를 짜는 사람들이 기계/인공지능에 저항해서 어떻게 살아남을까를 생각해보면 인간공학에 기반해서 편집하는 테크닉이 더 연구될 필요가 있다.

GUI 기반의 에디터가 날이 갈수록 좋아지고 있는 상황 속에서 CLI 기반의 에디터가 살아남으려면 더더욱 CLI 기반의 도구와 궁합이 좋은 것을 내세워서 차별점을 내세울 필요가 있다. Neovim은 그런 관점에서 IDE와 유사한 경험을 제공하는 쪽으로 잘 발전되어 왔다고 보고 있다.

Vim/Neovim 생태계는 아직까지는 미래가 낙관적이라고 본다.

@kodingwarriorJaeyeol Lee 저는 VS Code를 오래 써서, Cursor든 Windsurf든 VS Code 포크들은 아무 비용없이 갈아탈수 있었는데요. 사실 저런 툴들의 진짜 강점은 API 요금제인거 같습니다. Claude Code 붙여서 종량제로 쓰면 그게 제일 퍼포먼스 좋겠지만 돈이 계속 나간다는게 상당한 압박인데, Windsurf 한달에 15달러 내면 그냥 채팅용으로도 쓸수있고, 개발자 입장에서 단 한개의 AI 구독이 되는게 가능해요. 그러니까 에디터 자체는 별로 안중요하고 그 뒤에 묶여있는 AI 상품이 매력적인 거죠.

Aider같은 걸로 비슷한 요금제를 구현하는게 가능할지 모르겠네요. 또는 로컬 LLM 성능이 궤도에 오르면 그때 또 많이 달라질거라 봅니다.

0
0

We're incredibly honored to announce that (@indexBuilding ActivityPub) has become a formal sponsor of Fedify through Open Collective!

This is a significant milestone for our project, and we're deeply grateful to @johnonolanJohn O'Nolan and the entire Ghost team for their support and recognition of our work in the ecosystem.

Ghost's social web integration built on is a perfect example of how open standards can connect different publishing platforms in the fediverse. Their backing over the past months has been invaluable, and this formal sponsorship will help ensure Fedify remains sustainable as we continue to develop and improve the framework.

If you're building with ActivityPub or interested in federated applications, please consider joining Ghost in supporting open source development through our Open Collective:

https://opencollective.com/fedify

Every contribution, no matter the size, helps us maintain and enhance the tools that make the fediverse more accessible to developers. Thank you for being part of this journey with us! :fedify: ❤️ :ghost:

0
1
0
0

GN⁺: 오늘날 평균적인 대학생의 모습
------------------------------

- 저자는 *Gen X 세대* 로, 매우 이른 나이에 박사 학위를 취득해 *30년 넘게 교수로 재직 중* 임
- "*요즘 애들 타령* "으로 치부되는 것을 알고 있지만, "*지금 학생들은 정말 예전과 다르며, 이 변화는 주목할 만함* "
- 근무 중인 학교는 *미국의 지역 공립 대학* 으로, 이 대학의 학생들은 거의 모든 …
------------------------------
https://news.hada.io/topic?id=20049&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0

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

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

0

해커스펍을 어떻게 사용해볼까 하다가, 우선 한동안은 블로그에 작성하는 글을 공유해보기로 했습니다.

오늘 공유할 글은 React의 디자인 패턴 중 하나인 Container/Presentational 패턴에 관한 글입니다. 예전에 교육 프로그램을 들을 때 팀 프로젝트로 Next.js 기반의 서비스를 구현한 적이 있는데, 해당 프로젝트의 회고를 진행하면서 컨테이너 패턴을 사용했다고 착각했습니다. 최근 이력서 피드백을 받다가 이를 깨달아서, 그렇다면 컨테이너 패턴은 뭔지, 그렇다면 제가 프로젝트에 사용했던 패턴은 과연 무엇이었는지를 글로 옮겨 봤습니다.

https://hoonieblog.xyz/blog/study-react-container-presentational-pattern

0

40년된 컴퓨터 과학 난제를 대학생이 해결

러트거스 대학교의 학부생 앤드류 크라피빈(Andrew Krapivin)이 해시 테이블 설계에서 획기적인 발견을 통해 40년 된 컴퓨터 과학 추측을 뒤집었습니다[1][3]. 그의 혁신적인 접근 방식은 데이터 검색 시간을 크게 단축시켰으며, 데이터베이스, 알고리즘 및 저장 시스템에 중요한 영향을 미칠 것으로 예상됩니다[1].

획기적인 발견

크라피빈은 "Tiny Pointers"라는 논문을 읽던 중 영감을 받아 새로운 종류의 해시 테이블을 개발했습니다[7]. 처음에 그의 지도교수인 마틴 파라치-콜턴(Martín Farach-Colton)은 이 발견에 회의적이었지만, 카네기 멜론 대학의 윌리엄 쿠즈마울(William Kuszmaul)과 함께 연구를 검증한 결과, 크라피빈이 단순히 새로운 해시 테이블을 만든 것이 아니라 40년 된 추측을 완전히 뒤집었다는 사실을 확인했습니다[7].

이 발견은 1985년 튜링상 수상자인 앤드류 야오(Andrew Yao)가 제시한 추측을 반박했습니다. 야오는 특정 속성을 가진 해시 테이블에서 개별 요소나 빈 공간을 찾는 최선의 방법은 무작위로 잠재적 위치를 탐색하는 '균일 프로빙(uniform probing)'이라고 주장했습니다[3][5].

기술적 혁신

크라피빈의 해시 테이블은 기존 방식과 비교해 현저히 빠른 검색 시간을 제공합니다. 해시 테이블의 '가득 참' 정도를 측정하는 데 사용되는 'x'라는 수치가 있습니다. 예를 들어, x가 100이면 테이블이 99% 차 있고, x가 1,000이면 99.9% 차 있음을 의미합니다[5].

기존 해시 테이블에서는 최악의 경우 삽입 시간(마지막 남은 공간을 채우는 시간)이 'x'에 비례했습니다. 그러나 크라피빈의 해시 테이블은 최악의 경우 쿼리 및 삽입 시간이 (log x)²에 비례하여 'x'보다 훨씬 빠릅니다[2][5].

이 새로운 접근 방식은 두 가지 주요 혁신을 포함합니다:

  1. 퍼널 해싱(Funnel Hashing): 해시 테이블을 기하학적 크기 감소를 가진 여러 하위 배열로 분할하는 전략으로, 최악의 경우 예상 프로브 복잡도 O(log²(1/δ))를 달성합니다(여기서 δ는 로드 팩터)[4].

  2. 탄력적 해싱(Elastic Hashing): 비탐욕적 접근 방식으로, 평균 쿼리 시간이 해시 테이블의 가득 참 정도와 상관없이 일정한 상수가 됩니다[7].

광범위한 영향

이 혁신은 해시 테이블을 사용하는 다양한 분야에 중요한 영향을 미칠 것으로 예상됩니다:

  • 데이터베이스: 더 빠른 쿼리 처리와 전반적인 성능 향상[5]
  • 캐싱 시스템: 웹 브라우저, 운영 체제, 콘텐츠 전송 네트워크에서 더 빠른 로딩 시간[5]
  • 컴파일러: 특히 대규모 프로그램에서 컴파일 과정 가속화[5]
  • 네트워크 라우팅: 더 빠른 라우팅 결정과 네트워크 성능 향상[5]
  • 암호화: 암호화 알고리즘의 성능 향상[5]

이 발견은 단순히 야오의 추측을 반박한 것뿐만 아니라, 해시 테이블의 검색 속도에 대한 새로운 한계를 제시했습니다. 특히 놀라운 점은 평균 검색 시간이 해시 테이블의 가득 참 정도와 상관없이 일정하다는 것입니다[7].

워털루 대학의 세페르 아사디(Sepehr Assadi)는 "단순히 야오의 추측을 반박한 것이 아니라, 그의 질문에 대한 최선의 해결책을 발견했다"고 평가했습니다[7].

Sources [1] Breaking a 40-Year-Old Computer Science Theory! Andrew Krapivin ... https://www.linkedin.com/posts/othmaneoukbil_breaking-a-40-year-old-computer-science-theory-activity-7296000218511097856--uqp [2] Undergrad accidentally shreds 40-year hash table gospel https://www.theregister.com/2025/02/13/hash_table_breakthrough/ [3] Undergraduate Disproves 40-Year-Old Conjecture, Invents New ... https://ground.news/article/undergraduate-disproves-40-year-old-conjecture-invents-new-kind-of-hash-table [4] Hash table algorithm achieved a major breakthrough ... - LinkedIn https://www.linkedin.com/pulse/hash-table-algorithm-achieved-major-breakthrough-student-florent-liu-tsxme [5] Revolutionizing Hash Tables: An Undergraduate's Breakthrough https://atlassc.net/2025/02/12/revolutionizing-hash-tables-an-undergraduate-s-breakthrough [6] Tiny Pointers the Secret to Super-Fast Hash Tables. - CIO Bulletin https://www.ciobulletin.com/database-management/tiny-pointers-the-secret-to-super-fast-hash-table [7] Undergraduate Disproves 40-Year-Old Conjecture, Invents ... - WIRED https://www.wired.com/story/undergraduate-upends-a-40-year-old-data-science-conjecture/ [8] Undergraduate Upends a 40-Year-Old Data Science Conjecture https://www.reddit.com/r/programming/comments/1in5hkt/undergraduate_upends_a_40yearold_data_science/ [9] Tiny Pointers | Hacker News https://news.ycombinator.com/item?id=43023634 [10] Undergraduate Disproves 40-Year-Old Conjecture, Invents New ... https://news.ycombinator.com/item?id=43388296 [11] 해시 테이블 내 검색 속도 향상을 입증한 학부생 연구 - GeekNews https://news.hada.io/topic?id=19168 [12] Undergrad Andrew Krapivin solved a 40-year data science puzzle ... https://www.instagram.com/nerdontour/reel/DGJsTdSiWdu/undergrad-andrew-krapivin-solved-a-40-year-data-science-puzzle-creating-a-faster/ [13] [PDF] Optimal Bounds for Open Addressing Without Reordering - arXiv https://arxiv.org/pdf/2501.02305.pdf [14] Undergraduate shows that searches within hash tables can be much ... https://news.ycombinator.com/item?id=43002511 [15] Sometime in the fall of 2021, Andrew Krapivin, an ... - Instagram https://www.instagram.com/quantamag/p/DF5coWIxeeQ/ [16] Rutgers University Computer Science Department on Instagram https://www.instagram.com/rutgerscomputerscience/p/DGBR92WpI-Z/ [17] Uniform hashing is optimal - Association for Computing Machinery https://dl.acm.org/doi/pdf/10.1145/3828.3836 [18] An even faster hash table | MetaFilter https://www.metafilter.com/207613/An-even-faster-hash-table [19] Andre Zayarni's Post - LinkedIn https://www.linkedin.com/posts/zayarni_the-𝐇𝐚𝐬𝐡-𝐓𝐚𝐛𝐥𝐞𝐬-are-fundamental-activity-7302253552830185473-TFF2 [20] Optimal Bounds for Open Addressing Without Reordering - arXiv https://arxiv.org/html/2501.02305v1 [21] [PDF] Uniform Hashing is Optimal - Stanford University http://i.stanford.edu/pub/cstr/reports/cs/tr/85/1038/CS-TR-85-1038.pdf [22] Hash table - Wikipedia https://en.wikipedia.org/wiki/Hash_table [23] A Realistic Approach to Hash Table Algorithm Optimization - arXiv https://arxiv.org/html/2502.10977v1 [24] Undergraduate Upends a 40-Year-Old Data Science Conjecture https://www.quantamagazine.org/undergraduate-upends-a-40-year-old-data-science-conjecture-20250210/ [25] Undergraduate Upends a 40-Year-Old Data Science Conjecture https://soylentnews.org/article.pl?sid=25%2F02%2F11%2F1210226 [26] Hash Table Conjecture Upended by Undergraduate Researcher https://www.youtube.com/watch?v=-ukUQN3FmZg [27] [PDF] A Realistic Approach to Hash Table Algorithm Optimization - arXiv https://www.arxiv.org/pdf/2502.10977.pdf

0