Profile img

Haze

@nebuleto@hackers.pub ยท 92 following ยท 88 followers

Haze Lee but also known as Kihan Park

  • ๐Ÿ’ป Make stuff with Computer
  • ๐Ÿ’‰ Living with Migraine more than 10y, Migraine Advocate [Headache Place]
  • ๐Ÿ’ฌ ๐Ÿ‡ฐ๐Ÿ‡ท, Also ๐Ÿ‡ฏ๐Ÿ‡ต & ๐Ÿ‡ฌ๐Ÿ‡ง๐Ÿ‡บ๐Ÿ‡ธ
GitHub
@Nebu1eto
X(Twitter)
@Nebu1eto

Zellij๋กœ ํ„ฐ๋ฏธ๋„ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ ์‰ฝ๊ฒŒ ์ž…๋ฌธํ•˜๊ธฐ

Haze @nebuleto@hackers.pub

์™ธ๋ถ€์—์„œ SSH๋ฅผ ํ†ตํ•ด ์›๊ฒฉ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์—ฐ๊ฒฐ ๋Š๊น€์— ๋Œ€๋น„ํ•œ ์„ธ์…˜ ์œ ์ง€ ๋„๊ตฌ๋กœ Zellij๋ฅผ ๋„์ž…ํ•œ ๊ฒฝํ—˜์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. Rust๋กœ ์ž‘์„ฑ๋œ ํ„ฐ๋ฏธ๋„ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ(terminal multiplexer)์ธ Zellij๋Š” tmux์— ๋น„ํ•ด ์ง„์ž… ์žฅ๋ฒฝ์ด ๋‚ฎ๊ณ , ํ™”๋ฉด ํ•˜๋‹จ์— ์‹ค์‹œ๊ฐ„ ๋‹จ์ถ•ํ‚ค ๊ฐ€์ด๋“œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋งค์šฐ ์ง๊ด€์ ์ธ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ Ghostty ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์˜ ๋‹จ์ถ•ํ‚ค ์„ค์ •์„ Zellij๋กœ ์ด์‹ํ•จ์œผ๋กœ์จ, ์ต์ˆ™ํ•œ ๋จธ์Šฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์„ธ์…˜ ๊ณต์œ ์™€ ํ™”๋ฉด ๋ถ„ํ•  ๊ธฐ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ์„ธํžˆ ๋‹ค๋ฃน๋‹ˆ๋‹ค. KDL ํฌ๋งท์„ ์ด์šฉํ•œ ๊ฐ„ํŽธํ•œ ์„ค์ • ๋ฐฉ์‹๊ณผ zjstatus ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ™œ์šฉํ•œ ์ƒํƒœ ๋ฐ” ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ณผ์ •์€ ๋ฌผ๋ก , ๋น„ํ™œ์„ฑ ํƒญ์˜ ์•Œ๋ฆผ ๋ฌธ์ œ์™€ ๊ฐ™์€ ๊ธฐ์ˆ ์  ํ•œ๊ณ„์™€ ๊ทธ์— ๋Œ€ํ•œ ์‹ค์งˆ์ ์ธ ์šฐํšŒ์ฑ…๋„ ํ•จ๊ป˜ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์€ ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์— ์ข…์†๋˜์ง€ ์•Š๋Š” ๋…๋ฆฝ์ ์ธ ์ž‘์—… ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ณ , ๊ฐ•๋ ฅํ•œ ์„ธ์…˜ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํ„ฐ๋ฏธ๋„ ์‚ฌ์šฉ ๊ฒฝํ—˜์„ ํ•œ ๋‹จ๊ณ„ ๋†’์ด๋ ค๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์œ ์šฉํ•œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Read more โ†’
10

Building a New Excel Library in One Week

Haze @nebuleto@hackers.pub

SheetKit is a high-performance Rust-based spreadsheet library designed for Node.js to address the limitations of existing Excel processing tools. Developed over a single intensive week using an architect-led workflow with coding agents, this library leverages napi-rs to provide comprehensive support for the OOXML specification, including complex features like charts, conditional formatting, and extensive formula functions. To overcome the memory overhead and garbage collection pressure typical of JavaScript-heavy Excel libraries, the architecture utilizes a specialized raw buffer FFI protocol and lazy-loading mechanisms. These optimizations allow SheetKit to handle massive datasets with a significantly reduced memory footprint, occasionally outperforming native Rust implementations in specific write scenarios due to efficient string interning within the V8 engine. The project introduces advanced capabilities such as streaming readers for forward-only processing and copy-on-write saving to bypass unnecessary re-serialization of unchanged data parts. This development represents a significant step forward in Node.js data processing, offering a robust and scalable solution for developers managing high-volume or complex spreadsheet workflows.

Read more โ†’
5

์ผ์ฃผ์ผ๋งŒ์— ์ƒˆ๋กœ์šด ์—‘์…€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋‹ค

Haze @nebuleto@hackers.pub

SheetKit์€ ๊ธฐ์กด Node.js ์—‘์…€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์˜ ์„ฑ๋Šฅ ํ•œ๊ณ„์™€ ๊ธฐ๋Šฅ ์ œ์•ฝ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Rust๋กœ ๊ฐœ๋ฐœ๋œ ๊ณ ์„ฑ๋Šฅ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ €์ž๋Š” ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ๋™์  ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ์„ ์œ„ํ•ด Rust ์ฝ”์–ด ๊ธฐ๋ฐ˜์— napi-rs๋ฅผ ํ™œ์šฉํ•œ Node.js ๋ฐ”์ธ๋”ฉ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ–ˆ์œผ๋ฉฐ, ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์™€์˜ ๊ธด๋ฐ€ํ•œ ํ˜‘์—…์„ ํ†ตํ•ด ๋‹จ ์ผ์ฃผ์ผ ๋งŒ์— ์ดˆ๊ธฐ ๋ฐฐํฌ๋ถ€ํ„ฐ v0.5.0 ๋ฆด๋ฆฌ์Šค๊นŒ์ง€ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด ์ƒ์„ฑ์— ๋”ฐ๋ฅธ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(garbage collection) ์••๋ฐ•์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ด์ง„ ๋ฒ„ํผ(binary buffer)๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹์„ ๋„์ž…ํ•˜๊ณ , ์ง€์—ฐ ๋กœ๋”ฉ(lazy loading)๊ณผ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฆฌ๋” ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ฒ˜๋ฆฌ ํšจ์œจ์„ ๊ทน๋Œ€ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ ๊ธฐ์กด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋Œ€๋น„ ์••๋„์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ ˆ๊ฐ๊ณผ ์†๋„ ํ–ฅ์ƒ์„ ๋ณด์—ฌ์ฃผ์—ˆ์œผ๋ฉฐ, ํŠน์ • ์“ฐ๊ธฐ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” V8 ์—”์ง„์˜ ์ตœ์ ํ™” ๋•๋ถ„์— Rust ๋„ค์ดํ‹ฐ๋ธŒ๋ณด๋‹ค ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ๊ธฐ๋กํ•˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ 164๊ฐœ์˜ ์ˆ˜์‹ ํ•จ์ˆ˜์™€ 43๊ฐœ์˜ ์ฐจํŠธ ํƒ€์ž…์„ ์ง€์›ํ•˜๋ฉฐ ์‹ค์ œ ์—…๋ฌด ํ˜„์žฅ์— ์„ฑ๊ณต์ ์œผ๋กœ ์ ์šฉ ์ค‘์ธ SheetKit์€ Node.js ํ™˜๊ฒฝ์—์„œ ๋Œ€๊ทœ๋ชจ ์—‘์…€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๊ฐ•๋ ฅํ•˜๊ณ  ํšจ์œจ์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Read more โ†’
9