Wezterm - Terminal Emulator

WezTerm์€ GPU ๊ฐ€์†์„ ์ง€์›ํ•˜๋Š” ๊ณ ์„ฑ๋Šฅ ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ, Windows, macOS, Linux ๋“ฑ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋”์šฑ ์ข‹์€ ๊ฒƒ์€ Lua ๊ธฐ๋ฐ˜์˜ ์„ค์ •์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํƒญ/๋ถ„ํ•  ์ฐฝ, ์ด๋ฏธ์ง€ ํ‘œ์‹œ, SSH ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ ๋“ฑ ํ˜„๋Œ€์ ์ธ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์†Œ๊ฐœ ์ด์œ  ๋น ๋ฅธ ํ™”๋ฉด ์†๋„ Lua๋กœ ์„ค์ • tmux๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๊ณ  ์˜คํžˆ๋ ค ๋” ํŽธ๋ฆฌํ•œ ์‚ฌ์šฉ์„ฑ ํ„ฐ๋ฏธ๋„ ๋‚ด ๋ณต์‚ฌ, ๋ถ™์—ฌ๋„ฃ๊ธฐ, ๊ฒ€์ƒ‰ ๋“ฑ์˜ ํŽธ๋ฆฌํ•จ ๋‹ค์–‘ํ•œ ํ…Œ๋งˆ์™€ Nerd Font ๊ธฐ๋ณธ ์ง€์›, ํฐํŠธ ๋ณ„๋„ ์„ค์น˜ ๋ถˆํ•„์š” ์™œ ๊ทธ๋™์•ˆ ์ด๊ฑธ ๋ชฐ๋ž์„๊นŒ? ์ •๋ง ๋ชจ๋˜ํ•˜๊ณ  ๊น”๋”ํ•˜๊ณ  ์•ˆ์ •์ ์ด๊ณ  ํ’๋ถ€ํ•œ ๊ธฐ๋Šฅ ์ œ๊ณต ์ฃผ์š” ๊ธฐ๋Šฅ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ง€์›: Windows, macOS, Linux. GPU ๊ฐ€์†: ๋ถ€๋“œ๋Ÿฌ์šด ๋ Œ๋”๋ง ์„ฑ๋Šฅ. ํƒญ/๋ถ„ํ•  ์ฐฝ: ๋‹ค์ค‘ ์ž‘์—… ํ™˜๊ฒฝ ์ง€์›. Lua ์„ค์ •: ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€๋Šฅํ•œ ํ…Œ๋งˆ, ํ‚ค ๋ฐ”์ธ๋”ฉ, ๋™์ž‘. ์ด๋ฏธ์ง€/ํฐํŠธ ์ง€์›: Sixel, Iterm2 ์ด๋ฏธ์ง€ ๋ฐ Nerd Fonts. SSH ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ: ๋‹จ์ผ ์—ฐ๊ฒฐ๋กœ ๋‹ค์ค‘ ์„ธ์…˜ ๊ด€๋ฆฌ. ์„ค์น˜ ๋‹ค์Œ ๋งํฌ์— ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ ๋ณ„ ์„ค์น˜๋ฒ•์ด ๋‚˜์™€ ์žˆ๋‹ค. ...

2025-06-16 ยท (updated 2025-06-17) ยท 770 words

๊ณผ๊ฑฐ ํ˜„์žฌ ์ฃฝ์€ ์ž ์‚ฐ ์ž - ํ•œ๊ฐ•

์„ธ๊ณ„๋Š” ์™œ ์ดํ† ๋ก ํญ๋ ฅ์ ์ด๊ณ  ๊ณ ํ†ต์Šค๋Ÿฌ์šด๊ฐ€? ๋™์‹œ์— ์„ธ๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ ‡๊ฒŒ ์•„๋ฆ„๋‹ค์šด๊ฐ€? ํ•œ๊ฐ• ์ž‘๊ฐ€์˜ ๋…ธ๋ฒจ๋ฌธํ•™์ƒ ์ˆ˜์ƒ ์ธํ„ฐ๋ทฐ ์ค‘์—์„œ ๊ทธ๋ ‡๊ฒŒ ์ž๋ฃŒ ์ž‘์—…์„ ํ•˜๋˜ ์‹œ๊ธฐ์— ๋‚ด๊ฐ€ ๋– ์˜ฌ๋ฆฌ๊ณค ํ–ˆ๋˜ ๋‘ ๊ฐœ์˜ ์งˆ๋ฌธ์ด ์žˆ๋‹ค. ์ด์‹ญ๋Œ€ ์ค‘๋ฐ˜์— ์ผ๊ธฐ์žฅ์„ ๋ฐ”๊ฟ€ ๋•Œ๋งˆ๋‹ค ๋งจ ์•žํŽ˜์ด์ง€์— ์ ์—ˆ๋˜ ๋ฌธ์žฅ๋“ค์ด๋‹ค. ํ˜„์žฌ๊ฐ€ ๊ณผ๊ฑฐ๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ๋Š”๊ฐ€? ์‚ฐ ์ž๊ฐ€ ์ฃฝ์€ ์ž๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ์ž๋ฃŒ์„ ์ฝ์„์ˆ˜๋ก ์ด ์งˆ๋ฌธ๋“ค์€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜๋Š” ๋“ฏํ–ˆ๋‹ค. ์ธ๊ฐ„์„ฑ์˜ ๊ฐ€์žฅ ์–ด๋‘์šด ๋ถ€๋ถ„๋“ค์„ ์ง€์†์ ์œผ๋กœ ์ ‘ํ•˜๋ฉฐ, ์˜ค๋ž˜ ์ „์— ๊ธˆ๊ธฐ ๊ฐ”๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ์ธ๊ฐ„์„ฑ์— ๋Œ€ํ•œ ๋ฏฟ์Œ์ด ๋งˆ์ € ๊นจ์–ด์ง€๊ณ  ๋ถ€์„œ์ง€๋Š” ๊ฒฝํ—˜์„ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ์†Œ์„ค์„ ์“ฐ๋Š” ์ผ์„ ๋”์ด์ƒ ์ง„์ฒ™ํ•  ์ˆ˜ ์—†๊ฒ ๋‹ค๊ณ  ๊ฑฐ์˜ ์ฒด๋…ํ–ˆ์„ ๋•Œ ํ•œ ์ Š์€ ์•ผํ•™ ๊ต์‚ฌ์˜ ์ผ๊ธฐ๋ฅผ ์ฝ์—ˆ๋‹ค. 1980๋…„ ์˜ค์›” ๋‹น์‹œ ๊ด‘์ฃผ์—์„œ ๊ตฐ์ธ๋“ค์ด ์ž ์‹œ ๋ฌผ๋Ÿฌ๊ฐ„ ๋’ค ์—ดํ˜ ๋™์•ˆ ์ด๋ฃจ์–ด์กŒ๋˜ ์‹œ๋ฏผ์ž์น˜์˜ ์ ˆ๋Œ€๊ณต๋™์ฒด์— ์ฐธ์—ฌํ–ˆ์œผ๋ฉฐ, ๊ตฐ์ธ๋“ค์ด ๋˜๋Œ์•„์˜ค๊ธฐ๋กœ ์˜ˆ๊ณ ๋œ ์ƒˆ๋ฒฝ๊นŒ์ง€ ๋„์ฒญ ์˜† YMCA์— ๋‚จ์•„ ์žˆ๋‹ค ์‚ดํ•ด๋˜์—ˆ๋˜, ์ˆ˜์ค์€ ์„ฑ๊ฒฉ์˜ ์กฐ์šฉํ•œ ์‚ฌ๋žŒ์ด์—ˆ๋‹ค๋Š” ๋ฐ•์šฉ์ค€์€ ๋งˆ์ง€๋ง‰ ๋ฐค์— ์ด๋ ‡๊ฒŒ ์ผ๋‹ค. โ€œํ•˜๋А๋‹˜, ์™œ ์ €์—๊ฒŒ๋Š” ์–‘์‹ฌ์ด ์žˆ์–ด ์ด๋ ‡๊ฒŒ ์ €๋ฅผ ์ฐŒ๋ฅด๊ณ  ์•„ํ”„๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๊นŒ? ์ €๋Š” ์‚ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.โ€ ...

2024-12-10 ยท (updated 2025-06-15) ยท 347 words

Alpine Linux Upgrade

Intro ์•ŒํŒŒ์ธ ๋ฆฌ๋ˆ…์Šค์—์„œ ํŒจํ‚ค์ง€๋งŒ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๊ฑฐ๋‚˜ OS ์ž์ฒด๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ๋‹ค. ํŒจํ‚ค์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ # apk update # apk upgrade OS ์—…๊ทธ๋ ˆ์ด๋“œ ๊ธฐ์กด ํŒจํ‚ค์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ # apk update # apk upgrade ์ €์žฅ์†Œ ์„ค์ • ํŒŒ์ผ ์ˆ˜์ • (ex. 3.18 -> 3.19) # vi /etc/apk/repositories ์ธ๋ฑ์Šค ์—…๋ฐ์ดํŠธ ๋ฐ os ์—…๊ทธ๋ ˆ์ด๋“œ # apk update # apk upgrade --available && sync # reboot ๋ฆด๋ฆฌ์ฆˆ ์ •๋ณด ์—…๊ทธ๋ ˆ์ด๋“œ # rm /etc/alpine-release # apk upgrade --no-self-upgrade --available --simulate # apk upgrade --available # sync # reboot ... # cat /etc/alpine-release # cat /etc/issue REFERENCE How to upgrade Alpine Linux 3.19 to 3.20 https://www.cyberciti.biz/faq/how-to-upgrade-alpine-linux-3-4-to-3-5-xx/

2024-06-20 ยท (updated 2025-06-16) ยท 95 words

Nextvi - Small and Simple Editor

vi๋Š” ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ชธ์œผ๋กœ ์ตํžˆ๋Š” ๊ฒƒ์ด๋‹ค. vi๋Š” ๋‹จ์ˆœํ•˜๊ณ  ์ผ๊ด€์„ฑ์ด ์žˆ๋‹ค. Intro ์žฅ์  vi์˜ ๊ธฐ๋ณธ ๋ช…๋ น์„ ์ œ๊ณตํ•œ๋‹ค. ๋‹จ์ˆœํ•˜๊ณ  ์šฉ๋Ÿ‰์ด ์ž‘์•„ ์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ ๋ฐ ์›๊ฒฉ์ง€์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ข‹๋‹ค. neatvi๋กœ ๋ถ€ํ„ฐ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. vim, nvim๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๊ฐ„๋‹จํ•œ ์„ค์ •๊ณผ ๋น ๋ฅธ ๋™์ž‘์ด ์žฅ์ ์ด๋‹ค. utf-8์„ ์ง€์›ํ•œ๋‹ค. ํ•œ๊ธ€ ์ž…์ถœ๋ ฅ ๊ฐ€๋Šฅ. ์‰˜๋ช…๋ น ์ถœ๋ ฅ์„ ex-mode(๋ช…๋ น๋ผ์ธ)์—์„œ ํ„ฐ๋ฏธ๋„ ๊นจ์ง ์—†์ด ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ข… ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์—†๋Š” ๋Œ€์‹  ex-mode์—์„œ ํ„ฐ๋ฏธ๋„ ํˆด๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ vim๋ณด๋‹ค๋Š” nvim์„ ๋” ์„ ํ˜ธํ•œ๋‹ค. lua์™€ ๊ฒฐํ•ฉ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ์˜ ์—ฐ๊ฒฐ์ด ์ •๋ง ์ข‹๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ ๋„ ๋งŽ๋‹ค. lua๋ฅผ ๊ณต๋ถ€ํ•ด์•ผํ•˜๊ณ  ๋˜ ์„ค์ •์— ์ ์‘ํ•˜๋ ค๋ฉด ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๋‹ค. ๋”๊ตฐ๋‹ค๋‚˜ ์ˆ˜๋งŽ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์žฅ์ฐฉํ•˜๊ฒŒ ๋˜๋ฉด ๋А๋ ค์ง€๊ณ  ๋ฌด๊ฑฐ์›Œ์ง„๋‹ค. ์„ค์ •์ด ์ž˜ ๋ชป ๋˜๋ฉด ๋ฐ”๋กœ ์žก๋А๋ผ ์‚ฝ์งˆ์„ ํ•ด์•ผํ•œ๋‹ค. ๋ฌผ๋ก  ์ž์‹ ๋งŒ์˜ ์„ค์ •์„ ์ž˜ ๋งŒ๋“ค์–ด์„œ ๋ฐฑ์—…ํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ์žฌ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค. ํ•˜์ง€๋งŒ nvim ์ž์ฒด์˜ ํŒจํ‚ค์ง€ ์‚ฌ์ด์ฆˆ์™€ ์ˆ˜ ๋งŽ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์ž‘๊ณ  ๊ฐ€๋ณ๊ฒŒ๋ผ๋Š” ๋ง์ด ๋ฌด์ƒ‰ํ•ด์ง„๋‹ค. ...

2024-04-19 ยท (updated 2025-06-14) ยท 1767 words

Zig๋กœ gcc/clang ์ปดํŒŒ์ผ๋Ÿฌ ๋Œ€์ฒดํ•˜๊ธฐ

last updated: {{ โ€œ1712680347โ€ | date: โ€œ%Y-%m-%d %H:%Mโ€ }} Intro zig๋กœ c ์†Œ์Šค๋ฅผ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ๋‹ค. zig์˜ ์žฅ์ ์€ ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ๊ณผ ์•„ํ‚คํ…์ฒ˜์šฉ ์ปดํŒŒ์ผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. static, dynamic ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค. Linux, iOS, Windows ๋“ฑ ์—ฌ๋Ÿฌ OS ํ™˜๊ฒฝ ์ง€์›. x86, , x86-64, aarch64 ๋“ฑ ์•„ํ‚คํ…์ฒ˜ ์ง€์› Target List ๋‹ค์Œ ๋ฐฉ๋ฒ•์œผ๋กœ ์›ํ•˜๋Š” ํ”Œ๋žซํผ, ์•„ํ‚คํ…์ณ๋ฅผ ๋จผ์ € ์ฐพ๋Š”๋‹ค. $ zig targets $ zig targets | grep x86 $ zig targets | grep x86-64 $ zig targets | grep aarch64 $ zig targets | grep linux $ zig targets | grep windows $ zig targets | grep macos x86, x86_64 - intel ๊ณ„์—ด aarch64 - arm ๊ณ„์—ด (raspberrypi) linux - Linux windows - Ms Windows macos - Mac OS Local Compile dynamic: Alpine Linux (x86_64) $ zig cc -o hello_dynamic hello.c $ file hello_dynamic hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, with debug_info, not stripped $ ./hello Hello World! static: Alpine Linux (x86_64) $ zig cc -o hello hello.c -target x86_64-linux-musl $ file hello ./hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not stripped $ ./hello Hello World! Cross Compile For windows $ zig cc -o hello.exe hello.c -target x86_64-windows-gnu $ file ./hello.exe hello: PE32+ executable (console) x86-64, for MS Windows, 7 sections Windows c:> .\hello.exe Hello World! For Linux dynamic with Gnu Libs $ zig cc -o hello hello.c -target x86_64-linux-gnu $ file ./hello.exe ./hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.0.0, with debug_info, not stripped gnu-linux$ ./hello Hello World! For Linux Static with musl $ zig cc -o hello.exe hello.c -target x86_64-linux-gnu $ file ./hello.exe ./hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not stripped any-linux$ ./hello Hello World! Makefile or Build.sh ํ•ด๋‹น ํŒŒ์ผ์—์„œ gcc, clang ๋ถ€๋ถ„์„ zig cc๋กœ ์ˆ˜์ •ํ•œ๋‹ค. make ๋˜๋Š” ./Build.sh ์‹คํ–‰ Links zig cc: a Powerful Drop-In Replacement for GCC/Clang https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html

2024-04-03 ยท 313 words