Profile img

Jaeyeol Lee

@kodingwarrior@hackers.pub · 715 following · 516 followers

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

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

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

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

최근 그냥 코딩 에이전트에게 코딩을 넘어서 삶의 귀찮은 자동화나 일들을 대신 해주는 느낌으로도 쓸 수 있지 않을까 싶어서, 자는 동안 남은 토큰 한도로 epub 파일로 된 소설을 번역시켰더니 꽤 그럴싸한 수준의 번역이 나와서 놀랐다. 그래서 이건 좀 잘 만들어두면 굉장히 편하겠다 싶어서 pdf 파일과 epub 파일을 번역하는걸 Agent Skills로 만들어보았다.

  • PDF or epub 파일 지원
  • 번역 효율과 context window 문제를 피하기 위해 큰 파일은 잘라서 병렬로 하위 Task를 실행하는 형태로 동작
  • PDF의 경우, 텍스트를 추출 과정에서 줄바꿈 등에 대한 후처리
  • epub의 경우, 우종서(중국어나 일본어)나 RTL 방식 언어의 레이아웃에도 대응

Repository

Claude Code에서 pdf translator 스킬을 사용한 화면영어로 된 논문이 잘 번역되어 PDF로도 출력되고 있다.
11
2
1
0

자신의 사이트에 게시하고, 다른 곳에 동시 배포하기
------------------------------
- *POSSE(Publish on your Own Site, Syndicate Elsewhere)* 는 개인 사이트에 먼저 게시한 뒤, 소셜미디어 등 외부 플랫폼에 복제본이나 링크를 배포하는 *콘텐츠 자율 배포 방식*
- 이 방식은 *콘텐츠 소유권과 원본 URL* 을 유지하면서도, *친구나 팔로워가 사용하는 플랫폼에서 접근* 할 수 있게 함
- POSSE…
------------------------------
https://news.hada.io/topic?id=25529&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

1
0

Jaeyeol Lee shared the below article:

`X-Frame-Options` 의 악몽에서 깨어나세요, 프록시 서버 개발기

소피아 @async3619@hackers.pub

`X-Frame-Options` 헤더로 인해 발생하는 웹 사이트 임베딩 제한을 프록시 서버 개발을 통해 해결하는 과정을 다룹니다. 저자는 실시간 영상 스트리밍 방식의 지연 시간 문제를 극복하기 위해 `iframe`을 활용한 직접 임베딩 방식을 선택했으며, 이 과정에서 마주한 다양한 기술적 난제를 해결해 나갑니다. 단순히 응답 헤더를 제거하는 수준을 넘어, 상대 경로 문제를 해결하기 위한 URL 구조 재설계와 React 및 Vue와 같은 단일 페이지 애플리케이션(SPA)의 라우팅 시스템을 속이기 위한 고난도의 JavaScript 후킹 기법을 소개합니다. 특히 Babel을 이용해 소스코드를 추상 구문 트리(AST)로 분석하고 실행 시점에 `window.location` 접근을 가로채는 방식은 브라우저 보안 제약을 창의적으로 우회하는 통찰을 제공합니다. 이 글은 외부 웹 서비스를 자사 서비스에 매끄럽게 통합하려는 개발자들에게 프록시 서버 설계와 JavaScript 내부 동작 원리에 대한 깊이 있는 경험을 공유하며 기술적 돌파구를 제시합니다.

Read more →
4

2026년 병오년 새해를 맞아 식탁보 1.16.0 버전을 출시했습니다. 이번 버전에서는 폴더 마운트 기능, 그리고 백그라운드 비동기 다운로드를 구현하여 이전보다 최대 30~40% 이상 빨라진 환경 구축 속도를 달성했습니다.

코딩 AI 어시스턴트의 도움을 받아 계속해서 빠른 출시와 적극적인 기능 반영을 이어 나가도록 하겠습니다. 많은 공유와 후원을 계속 부탁드리겠습니다!

https://github.com/yourtablecloth/TableCloth/releases/tag/v1.16.0

5

최근 보안의 화두는 제로트러스트지만, 정작 가장 민감한 공동인증서 파일은 여전히 NPKI라는 고전적인 디렉터리 구조 속에 노출되어 있습니다.

OS 수준의 암호화 기술인 BitLocker나 VBS의 이점을 전혀 활용하지 못하는 현 상황을 개선해보고자, Windows 인증서 저장소를 백엔드로 활용하는 방식을 고민 중입니다. macOS의 Keychain 시스템처럼 인증서를 시스템 보안 영역 내부로 끌어들임으로써, 파일 탈취 위험을 획기적으로 낮추는 것이 목표입니다.

인프라 자체를 바꿀 순 없어도, 엔드포인트 단에서 '방어의 밀도'를 높이는 유의미한 시도가 될 것 같습니다. :-D

https://forum.dotnetdev.kr/t/npki/14187

4

Jaeyeol Lee shared the below article:

Agent Skill도 Tool Use로 시작합니다.

자손킴 @jasonkim@hackers.pub

Anthropic(앤스로픽)이 공개한 Agent Skill은 에이전트가 특정 업무를 수행할 때 필요한 절차적 지식과 맥락을 효율적으로 전달하기 위한 오픈 스탠다드입니다. 이 기능은 작업 지시문과 스크립트, 리소스를 재사용 가능한 단위로 패키징하여 대규모 언어 모델이 겪는 컨텍스트 낭비와 일관성 저하 문제를 해결합니다. 핵심 원리인 점진적 공개(progressive disclosure)를 통해 초기에는 메타데이터만 로드하고, 필요할 때만 상세한 SKILL.md 파일과 리소스를 동적으로 호출하여 효율적인 컨텍스트 관리를 구현합니다. 실제 dev-browser Skill의 동작 과정을 보면, 에이전트가 지시문을 해석하여 실시간으로 코드를 생성하고 도구를 체이닝하는 구체적인 메커니즘을 확인할 수 있습니다. 또한 컨텍스트 분리를 목적으로 하는 서브에이전트(subagent)나 외부 시스템 연동을 위한 모델 컨텍스트 프로토콜(Model Context Protocol, MCP)과의 비교를 통해 각 기술의 고유한 역할을 명확히 구분합니다. 단순히 도구를 제공하는 수준을 넘어 도구의 올바른 사용법을 가르치는 Agent Skill은 에이전트의 실행 능력을 최적화하고 지능적인 업무 자동화를 완성하는 핵심적인 메타 도구입니다.

Read more →
7
3

Jaeyeol Lee shared the below article:

MCP도 Tool Use를 사용합니다.

자손킴 @jasonkim@hackers.pub

MCP(Model Context Protocol)가 도구 사용(Tool Use) 메커니즘과 어떻게 결합하여 에이전트의 역량을 확장하는지 내장 도구인 서브에이전트(Subagent) 예시와 함께 심층적으로 다룹니다. LLM 입장에서는 내장 도구와 MCP 도구가 동일한 인터페이스로 인식되지만, 실제로는 실행 주체와 프로세스 경계에 따른 통신 방식에서 차이가 발생함을 설명합니다. 특히 다양한 외부 시스템을 유연하게 통합하기 위해 도입된 네이밍 규칙과 실행 흐름을 분석하며, 도구의 제공자와 사용자를 분리하는 MCP 아키텍처의 구조적 이점을 강조합니다. 또한 단순한 기능 호출을 넘어 데이터베이스 스키마와 같은 정적 정보를 제공하는 리소스(Resources), 재사용 가능한 프롬프트(Prompts), 그리고 서버가 역으로 LLM의 판단을 요청하는 샘플링(Sampling) 등 도구 사용 이상의 고급 기능들을 소개합니다. 이 글은 MCP가 기술적으로 어떻게 도구 사용을 확장하는지 명확히 규명하며, 클라우드 및 로컬 환경의 다양한 도구를 연결하여 강력한 AI 생태계를 구축하려는 이들에게 중요한 이정표를 제시합니다.

Read more →
4

Jaeyeol Lee shared the below article:

Subagent는 Tool Use입니다.

자손킴 @jasonkim@hackers.pub

Subagent는 Tool Use 메커니즘을 확장하여 특정 작업에 최적화된 독립적인 AI 에이전트를 운용하는 고도화된 방식입니다. 메인 에이전트가 'Task' 도구를 호출하면 전용 시스템 프롬프트와 제한된 도구 세트를 가진 새로운 메시지 루프가 생성되며, 각 Subagent는 자신의 독립적인 컨텍스트 내에서 전문화된 작업을 수행한 뒤 그 결과를 메인 에이전트에게 전달합니다. YAML 설정과 마크다운 본문으로 정의되는 Subagent는 탐색이나 설계 등 목적에 따라 가벼운 모델인 Haiku나 강력한 성능의 Opus를 취사선택할 수 있어 작업의 효율성을 극대화하며, 메인 대화의 컨텍스트가 불필요한 정보로 오염되는 것을 방지합니다. 비록 메인 대화 히스토리를 직접 공유하지는 않지만 CLAUDE.md와 같은 프로젝트 컨벤션을 자동으로 참조하여 일관성을 유지하며 복잡한 워크플로우를 자율적으로 해결합니다. 이러한 구조는 단순한 API 호출을 넘어 LLM이 또 다른 전문 LLM을 도구처럼 활용함으로써 AI 에이전트의 문제 해결 능력을 다각화하고 시스템의 확장성을 한 단계 높여주는 핵심적인 설계 패턴입니다.

Read more →
3
6

LLM 도움이면 못할 것도 없을 듯 하여 블로그를 직접 만들고 싶은데, 스프링부트 + 그냥JS로 만들어도 괜찮을지 모르겠습니다. (사실 아는 게 그것 뿐입니다..) 혹시 조금 더 편리하고 좋은 스택이 있을까요?

0

Jaeyeol Lee shared the below article:

도커로 구축한 랩에서 혼자 실습하며 배우는 네트워크 프로토콜 입문 #5-1 TLS

자손킴 @jasonkim@hackers.pub

OSI 7계층 모델의 상위 계층이 현대 TCP/IP 모델에서 애플리케이션 계층으로 통합된 배경과 함께 네트워크 보안의 핵심인 TLS 프로토콜의 작동 원리를 깊이 있게 다룹니다. 도청, 변조, 스푸핑과 같은 보안 위협을 방어하기 위해 TLS가 사용하는 암호화, 해싱, 디지털 인증서 기술을 상세히 살펴보고, 특히 최신 표준인 TLS 1.3에서 성능과 보안성을 극대화한 X25519 키 교환과 Ed25519 디지털 서명 알고리즘의 메커니즘을 분석합니다. 대칭키 암호화의 키 전달 문제를 해결하는 과정부터 전방 비밀성(Forward Secrecy)의 중요성, 그리고 메시지 인증 코드(MAC)를 통한 데이터 무결성 보장까지 현대 암호학 기술이 어떻게 조화를 이루어 안전한 통신 채널을 구축하는지 명확하게 설명합니다. 이 글은 복잡한 보안 프로토콜의 내부 구조를 이해하고 더 안전한 애플리케이션을 설계하려는 개발자에게 실질적인 기술적 통찰을 제공합니다.

Read more →
6

Jaeyeol Lee shared the below article:

Hackers' Pub 신고(flag) 기능 기획서

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

Hackers' Pub 커뮤니티의 신고 시스템은 단순한 제재를 넘어 구성원의 성찰과 성장을 돕는 분산형 네트워크 환경을 지향합니다. ActivityPub 프로토콜을 기반으로 설계된 이 시스템은 Mastodon 등 외부 플랫폼과의 연합(federation) 환경에서도 유연하게 작동하며, 신고자의 익명성 보호와 피신고자의 알 권리 사이의 균형을 유지합니다. 기술적으로는 거대언어모델(LLM)을 활용하여 자유 형식의 신고 사유를 실시간 행동 강령(code of conduct) 조항과 동적으로 매칭하고, 신고 시점의 콘텐츠 스냅샷과 행동 강령 버전을 기록하여 검토의 객관성을 확보합니다. 관리자는 경고, 콘텐츠 검열, 일시 및 영구 정지로 이어지는 단계적 제재 체계를 통해 투명하게 사건을 처리하며, 피신고자는 이의 제기(appeal) 프로세스를 통해 공정한 재심 기회를 보장받습니다. 이러한 체계적인 설계는 자율적인 커뮤니티 관리의 복잡성을 해결하고, 건강하고 지속 가능한 연합우주(fediverse) 생태계를 구축하는 데 필요한 실무적인 통찰을 제공합니다.

Read more →
7

Calling all developers for help: I'm currently trying to implement a () feature for Hackers' Pub, an -enabled community for software engineers. Is there a formal specification for how cross-instance reporting should work in ActivityPub? Or, is there any well-documented material that explains how the major implementations handle it?

2
0
0

Jaeyeol Lee shared the below article:

Claude Code의 거의 모든 것은 Tool Use 입니다. MCP도 subagent도 Skills 역시요.

자손킴 @jasonkim@hackers.pub

Claude가 외부 도구를 호출하여 텍스트 생성 이상의 작업을 수행하는 도구 사용(Tool Use) 메커니즘을 상세히 다룹니다. 개발자가 도구의 이름, 설명, 입력 스키마(input schema)를 정의하면 Claude는 사용자 요청을 분석해 적절한 도구를 선택하고 필요한 파라미터와 함께 실행을 요청합니다. 이 과정에서 클라이언트인 에이전트는 모델의 응답을 파싱하여 실제 시스템 명령어나 함수를 실행한 뒤, 그 결과를 다시 모델에 전달하는 가교 역할을 수행합니다. 본문에서는 NestJS 프로젝트 분석 예시를 통해 Bash나 Glob 같은 도구가 어떻게 병렬로 요청되고 결과가 다시 피드백되는지 구체적인 API 대화 흐름을 보여줍니다. 특히 중단 사유(stop_reason)가 도구 사용으로 설정되는 과정과 실행 결과를 모델에 다시 알리는 구조를 이해하면 Claude Code나 MCP(Model Context Protocol) 기반의 확장 기능이 동작하는 핵심 원리를 명확히 파악할 수 있습니다. 이 글은 Claude를 단순한 대화형 AI를 넘어 실제 환경과 상호작용하는 능동적인 에이전트로 활용하려는 개발자에게 깊이 있는 기술적 통찰을 제공합니다.

Read more →
8

Jaeyeol Lee shared the below article:

Claude API의 Request Body 분석

자손킴 @jasonkim@hackers.pub

Claude API를 효과적으로 활용하기 위해 반드시 이해해야 할 요청 본문(Request Body)의 네 가지 핵심 구성 요소를 살펴봅니다. 우선 시스템 메시지(System Messages)는 모델의 페르소나와 제약 사항을 정의하는 최상위 설정으로, 응답의 톤과 매너를 결정짓는 중추적인 역할을 수행합니다. 메시지(Messages) 배열은 사용자와 어시스턴트(assistant) 간의 대화 흐름을 관리하며, 특히 어시스턴트의 답변을 미리 작성하는 프리필(Prefill) 기법이나 도구 사용(tool_use) 및 결과(tool_result)를 주고받는 상호작용의 핵심이 됩니다. 여기에 제이슨 스키마(JSON Schema)를 기반으로 도구(Tools)를 정의하면 모델이 복잡한 작업을 수행하기 위해 필요한 기능을 스스로 판단하고 호출할 수 있게 됩니다. 마지막으로 모델 선택과 토큰 제한, 확장 사고(Extended Thinking) 예산 등을 조절하는 모델 및 구성(Model & Config) 옵션을 통해 API 동작의 세부 사항을 정교하게 제어할 수 있습니다. 이 네 가지 요소의 구조와 유기적인 연결 방식을 이해하면 Claude의 능력을 극대화하여 더욱 강력한 인공지능 애플리케이션을 설계할 수 있는 핵심적인 통찰을 얻게 될 것입니다.

Read more →
3

LLMs are good at coding. They can code faster than human. But they don't have ability to maintain their shit. Don't worry developers, there will be tons of shit codes we need to clean up in future. Surely we won't loose our job. Actually there will be more works than ever.

2

식탁보 1.14.0에서 오랫만에 업데이트를 진행하면서, 생성형 AI의 도움을 받아 적극적인 현대화를 달성하고 있습니다.

  • InnoSetup 대신 Velopack을 사용한 간소화된 사용자 인스톨러 경험 구현

  • MSBUILD 프로젝트 대신 .NET SDK로 .NET Framework 프로젝트 마이그레이션 (추후 완전히 .NET 10과 Avalonia로도 전환할 수 있게 함)

  • TableCloth 프로젝트의 경우 .NET 8/9에서 .NET 10으로 판올림

  • Windows 11 ARM64 GitHub Action Runner가 공식화됨에 따라 ARM64 빌드 추가 예정

내부 정비가 끝나는 대로 식탁보 1.15.0 버전을 출시하도록 하겠습니다. 또한 생성형 AI 코드 어시스턴트의 도움을 적극 받아 1인 개발에서 오는 한계를 극복해보려 합니다.

최신 소스 커밋 목록은 https://github.com/yourtablecloth/TableCloth/commits/main/ 에서 확인하실 수 있습니다.

3

12() 6() 서울에서 開催(개최)되는 liftIO 2025에서 〈Optique: TypeScript에서 CLI 파서 컴비네이터를 만들어 보았다〉(假題(가제))라는 主題(주제)發表(발표)를 하게 되었습니다. 아직 liftIO 2025 티켓은 팔고 있으니, 函數型(함수형) 프로그래밍에 關心(관심) 있으신 분들의 많은 參與(참여) 바랍니다!

9
0
0

SolidJS로 앱 만들다가 아이콘셋이 필요해져서 패키지를 뒤져보는데, 마이너 생태계답게 마지막 업데이트가 삼사년 전인 패키지들만 나온다. 아이콘셋에 업데이트가 필요 없긴 하지. 그래도 최근에 업데이트 된 패키지가 걸리적거리는게 없을 것 같달까. 그러다 활발히 업데이트 중인 unplugin-icons를 찾았다. 이것은 SolidJS용 패키지가 아니었다. 아이콘셋도 아니었다. 거의 모든 아이콘셋을 거의 모든 프레임워크에서 사용할 수 있게 해주는 도구다. 이런 문물이 있었다니. 누가 만들었나 함 보자. 제작자는 Anthony Fu... 아아 또 그인가. 오늘도 비 React 웹 생태계엔 Anthony Fu의 은혜가 넘친다.

6

```
반대로, 중요한 아키텍처 결정을 내리거나 복잡한 이해관계자 요구사항을 해석하거나 새로운 알고리즘을 설계해야 하는 작업은 AI 지원을 받는 인간 주도 개발에 더 적합합니다. 핵심은 큰 작업의 어떤 측면을 에이전트에게 효과적으로 위임할 수 있고 어떤 부분이 인간의 판단과 창의성을 필요로 하는지 인식하는 데 있습니다
```

결국 중요한 순간에는 사람의 개입이 필요하다...

아카이브 쌓아만두고 후기를 안 적었네.... 일 생각만 하느라 후기 작성도 미루게 되는 느낌이 없지는 않지만, 암튼 후기를 남기자면......

내가 딱 바이브코딩에 대해 가지고 있던 생각들이 책을 통해서 재확인받는 것 같은 느낌이 든다. 바이브코딩이 확실히 개발 진입장벽을 낮춰주기도 하고, 생산성에 부스트를 달아주는 편이라고는 하지만, 최종적으로는 사람이 책임져야한다는 입장이긴 했었다.

뭔가를 빨리 만들고, 그럴싸한 제품을 만들었다고 치자. 근데, 그런 제품을 누가 써? 그렇게 만들어서 어떤 비즈니스 임팩트가 있어? 품질은 누가 책임져? 라는 생각이 안들 수가 없는데 이런 관점에 대해서도 균형적인 시각을 주고 있다.

거듭해서 무작정 그냥 갖다쓰지말고 어떻게 동작하는지 명확히 이해하고 갖다쓰라고하는데 어떻게 보면 라이브러리/프레임워크 갖다 쓰는 것의 좀 더 고차원레벨의 관점에서 접근하는 것이라고도 볼 수 있을 것 같다.

0

닷넷은 8.0이후로 Microsoft만이 아니라, Canonical, RedHat 등 각 리눅스 배포판 관리자들이 Microsoft를 대신하여 본인들의 배포판 OS에서 잘 작동할 수 있도록 검증 과정을 거쳐 독자적으로 빌드하여 패키징을 하고 있습니다.

그 덕분에 매우 유의미한 발전이 하나 있었는데, IBM 메인프레임 (s390x)과 IBM PowerPC (ppc64el)에서도 우분투 리눅스를 사용하면 이제 닷넷 10을 아주 손쉽게 apt install dotnet-sdk-10.0 명령어 하나로 바로 설치해서 쓸 수 있게 됩니다.

https://forum.dotnetdev.kr/t/ibm-s390x-ibm-powerpc-ppc64el-10/14096

2
3
0
0
0

[7일차] 완독

면접관도 사람이다. 해결해야 할 일이 있고, 그 일을 하는 데 필요한 사람을 찾고 있을 뿐이다. 누군가를 평가하고 자신의 위치를 과시하려는 것이 아니라 고민하고 있는 것들을 해결 해 줄 수 있는 사람을 열심히 찾고 있다. 지원자가 회사에 들어 가고 싶은 마음 못지않게 면접관도 ‘같이 일하고 싶은 사람’을 찾고 싶다는 기대를 갖고 면접장에 들어온다. 면접은 그런 두 사람이 만나는 곳이다. 조금은 가볍게, 조금은 더 즐겁게 면접에 임하자.

면접에서 느끼는 부담감을 조금 내려놓아야겠습니다.

면접의 질문들 - 7일차
1
4

오이카페 모바일 앱이 출시되었어요! 베타 테스트에 참여해주신 여러분, 오이카페에서 활동해 주시는 여러분 모두 응원해주셔서 감사합니다 🥒📲 🥰

iOS: apps.apple.com/us/app/oeee-caf
Android: play.google.com/store/apps/det

2

🧡 Elk v0.17 is out!

#️⃣ Showing followed tag badge
🗳️ Poll UI improvements
🔊 New preference to unmute videos by default
🐞 Over 30 bug fixes & localization updates

We're already preparing the new quote support. Stay tuned!

Read the full changelog at
github.com/elk-zone/elk/releas

0
0
0

Jaeyeol Lee shared the below article:

Optique 0.7.0: Smarter error messages and validation library integrations

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

Optique 0.7.0 introduces enhancements focused on improving the developer experience and expanding its ecosystem for type-safe CLI argument parsing in TypeScript. This release brings automatic "Did you mean?" suggestions to help users correct typos, along with seamless integrations for Zod and Valibot validation libraries, ensuring more robust and efficient CLI development. Duplicate option name detection is now included to catch configuration bugs early, and context-aware error messages provide users with precise feedback. The update also features customizable shell completion naming conventions and improved line break handling in error messages. With these new features, Optique aims to streamline CLI development in TypeScript, making it more intuitive and less error-prone. This release underscores Optique's commitment to providing developers with powerful tools for building high-quality CLI applications.

Read more →
7

아… 젠부 귀찮다 그나저나 후쿠오카에서 Wagashi를 먹어보지 못한게 아쉽군… 다음엔 디저트 투어를 해보러 갈까 싶다. 카페에서 먹는 몽블랑도 좀 궁금하고. 프랑스 식 제과는 크게 궁금하지 않은데 일본식 프랑스 제과 뭐 이런건 궁금하다.

1

Jaeyeol Lee shared the below article:

도커로 구축한 랩에서 혼자 실습하며 배우는 네트워크 프로토콜 입문 #4

자손킴 @jasonkim@hackers.pub

이 글은 네트워크 계층과 애플리케이션을 연결하는 L4 전송 계층의 핵심 개념을 소개합니다. 포트 번호를 통해 애플리케이션을 식별하고, UDP와 TCP 프로토콜의 특징과 패킷 형식을 설명합니다. UDP는 실시간성을, TCP는 신뢰성을 중시하며, TCP는 3-way handshake로 연결을 설정하고, 흐름 제어, 혼잡 제어, 재전송 제어를 통해 데이터 전송을 관리합니다. 특히 TCP 커넥션의 상태 전이 과정과 4-way handshake를 통한 연결 종료 과정을 상세히 다룹니다. 이 글을 통해 독자는 L4 전송 계층의 작동 방식과 TCP의 신뢰성 있는 데이터 전송 메커니즘에 대한 깊이 있는 이해를 얻을 수 있습니다.

Read more →
3

I love the fact that you can version control configuration. I especially love how NixOS can allow you to configure your entire system declaratively (despite all Nix's other problems). The frustrating thing is that configuration must be edited via plaintext. I'd much rather click through a menu and have tick boxes and numerical inputs that constrain the config values by types and bounds. If I could version control everything that's configurable through a menu, I feel like life would be much better.

0
2

Jaeyeol Lee shared the below article:

⌨️ Mac에서 Karabiner로 외부 키보드 오른쪽 Alt 한/영 전환하기

조내일 @tomorrowcho@hackers.pub

맥북에서 윈도우 키보드의 오른쪽 Alt 키를 한/영 전환 키로 사용하기 위한 설정 과정을 소개합니다. macOS 기본 설정으로는 왼쪽과 오른쪽 Option 키를 개별적으로 제어할 수 없어 Karabiner-Elements를 사용한 사용자 정의 키 매핑이 필요합니다. Karabiner 설치 후, Simple Modifications을 통해 right_option 키를 F18로 매핑하고, macOS 키보드 단축키 설정에서 '입력 소스 선택'을 F18로 지정해야 합니다. 만약 F18 키가 제대로 등록되지 않는다면, Karabiner의 드라이버 확장 프로그램 권한이 허용되었는지, 그리고 Devices 탭에서 외부 키보드의 'Ignore vendor events' 옵션이 활성화되었는지 확인해야 합니다. 이 설정을 통해 윈도우 환경에 익숙한 사용자도 맥에서 편리하게 키보드를 사용할 수 있습니다.

Read more →
2
2
0
1
2