Profile img

Jaeyeol Lee

@kodingwarrior@hackers.pub · 670 following · 486 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

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 →
2

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

1
2

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
11
0

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
1
7
0

좋은 소식 공유하자면...

사실 요 며칠간 외국계 회사에서 work trial을 했는데요. 수습도 통과했고, 지금까지 받아왔던 것에 비해 훨씬 좋은 처우환경에서 일할 수 있게 되었습니다..

파이썬 기반의 환경에서 개발하는 중이고, 제가 마침 빠삭한 도메인에서 일하게 되었다고 하네요

17
2
10
4

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
1
1
0
0
0

브라우저 스터디 기록 (3)

Jaeyeol Lee @kodingwarrior@hackers.pub

## 기술 포스팅 요약: 텍스트 레이아웃과 폰트 렌더링의 심연 이 글은 [Web Browser Engineering](https://browser.engineering) 독학 과정 중 Chapter 3의 텍스트 레이아웃을 다루며, 특히 폰트 렌더링의 복잡성을 강조합니다. 가변폭 글자의 정밀한 렌더링을 위해 단어 단위 렌더링과 baseline, ascent, descent 개념을 소개하고, 폰트마다 다른 기준선을 고려한 글자 배치 과정을 설명합니다. Linux 환경에서 tkinter의 폰트 측정 성능 문제를 지적하며, 폰트 정보를 캐싱하여 렌더링 속도를 개선하는 방법을 제시합니다. 연습문제 풀이에서는 중앙 정렬, `<abbr>`, soft-hyphen 지원 외에 `<sup>`, `<sub>` 태그를 구현하며 기준선 스택 관리 방식을 설명하고, `<pre>` 태그 지원을 위한 라인 단위 렌더링 방식을 소개합니다. 이 글은 텍스트 레이아웃의 깊이를 이해하고, 실제 브라우저의 렌더링 과정을 엿볼 수 있는 인사이트를 제공합니다.

Read more →
7
3
7
4
2
0
1
2
0
1

굉장히 오랜만에 들어와서 쓰는 근황입니다.

  • TIS-100의 모든 레벨을 클리어했습니다. 다음 목표는 아마 Opus Magnum 아니면 A=B가 될 것 같습니다.
  • 올해 여름부터 지금까지 7문제를 백준에 출제했습니다. 여기의 맨 아래에서 보실 수 있습니다. 개인적으로 가장 재밌었던 문제는 SWAP-C Sort인데 그만큼 어렵습니다.
  • 웹 기반으로 뭔가 만들 게 생겨서 프레임워크를 알아보다가 Solid를 써보기로 결정했습니다. 웹 UI는 Flowbite, 그래픽 요소는 Konva를 쓰게 될 것 같습니다.
  • 그런데 이쪽을 첫삽을 뜨기도 전에 갑자기 굉장히 어려운 퍼즐틱한 문제 하나의 풀이가 완성되어서(....) 논문(?!)을 하나 쓰기 시작했습니다. 이런 거 받아주는 저널 어디 없을까요(????)
3
0
0
0
0
3
0
2
0
0
4
1

Jaeyeol Lee shared the below article:

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

자손킴 @jasonkim@hackers.pub

이 글은 네트워크 라우팅의 기본 개념과 동작 방식, 그리고 NAT 기술에 대해 설명합니다. 라우팅은 IP 패킷이 목적지에 도달하기 위해 거쳐야 하는 경로를 결정하는 과정으로, 라우팅 테이블을 통해 넥스트 홉을 찾아 패킷을 전달합니다. 라우팅 방식에는 수동으로 설정하는 정적 라우팅과 라우터 간 정보 교환을 통해 자동으로 경로를 설정하는 동적 라우팅이 있습니다. 또한, NAT는 하나의 공인 IP 주소를 여러 장비가 공유할 수 있도록 IP 주소를 변환하는 기술로, 특히 NAPT는 IP 주소와 포트 번호를 함께 변환하여 효율적인 네트워크 사용을 가능하게 합니다. 이 글을 통해 독자는 네트워크 라우팅과 NAT의 핵심 원리를 이해하고, 실제 네트워크 환경에서 이들이 어떻게 활용되는지 파악할 수 있습니다.

Read more →
0

브라우저 구현 스터디하면서 파서 구현 중인데, 예외케이스 처리하고 상태 관리로 서커스해야할게 너무 많다. DFA 추상화라도 해야하나 싶어서 다른 구현체 봤더니 실제로 그렇게 하고 있다.

Chromium(Blink) : https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/parser/html_tokenizer.cc;l=1677 관련 표준 : https://html.spec.whatwg.org#tokenisation0

😇😇

3

브라우저 구현 스터디하면서 파서 구현 중인데, 예외케이스 처리하고 상태 관리로 서커스해야할게 너무 많다. DFA 추상화라도 해야하나 싶어서 다른 구현체 봤더니 실제로 그렇게 하고 있다.

Chromium(Blink) : https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/parser/html_tokenizer.cc;l=1677 관련 표준 : https://html.spec.whatwg.org#tokenisation0

😇😇

6
1
0
0

I making next-version of apmodel, that uses pydantic for better validation and better loader.

Currently, this feature is either not implemented or not fully implemented:

  • export to json is not avaliable

Additionally, some models have not been migrated to pydantic, so they cannot be used properly.

If you interested this, can read this branch: https://github.com/fedi-libs/apmodel/tree/pydantic

3
12
1
10