
ํ์์๋์ฐ 11์ ์ฌ๋ผ์ค๋ฉด์ ์ฐฝ์ ๋ ๋๋ง๋ค ์์๊ณผ ๊ฐ์ด ์๋จ ์ค์์ ๋ญ๊ฐ ํ๋์ฉ ๋จ๊ฒ ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ฐ์ค ์ปค์๊ฐ ๊ทธ์ชฝ์ผ๋ก ๊ฐ๋ฉด ์ฐฝ์ ์ฌ์ด์ฆ, ๋ฐฐ์น๊ฐ ์ ํด์ง ๊ท์น๋๋ก ๋ณํฉ๋๋ค.์ด๋ ์ฌ์ค ์ต๊ทผ์ ๋์ ๋ "์ค๋ ๋ ์ด์์"์ด๋ผ๋ ๊ธฐ๋ฅ์ผ๋ก, ์์ ๋ณด๋ค์ํผ ์ ํด์ง ๋ ์ด์์์ ๋ฐ๋ผ ์ฐฝ๋ค์ ๊ฐ์ง๋ฐํ ๋ฐฐ์ดํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค. ํ์ง๋ง ์ด๋ฅผ ์ค์ ํ์ฉํ๋ ๊ฒฝ์ฐ๋ณด๋ค ์๋์น ์์ ๋์์ ์ผ์ผํค๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง์ ์ ์์ต๋๋ค.์ด๋ฒ ํฌ์คํ ์์๋ ์ด "์ค๋ ๋ ์ด์์"์ ๋นํ์ฑํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ ๋จผ์ , PC ์ค์ ์ผ๋ก ๋ค์ด๊ฐ๋๋ค (์ ์ดํ ์๋๋๋ค). ํ๊ตญ์ด ์๋์ฐ์ ๊ฒฝ์ฐ ์์ ๋ฉ๋ด์์ "์ค์ "์ ์ฐพ์ผ์๋ฉด ๋ฉ๋๋ค.์์คํ > ๋ฉํฐํ์คํน ํญ๋ชฉ์ผ๋ก ๋ค์ด๊ฐ๋๋ค.์๋์ฐ ์ค๋ (Snap windows) ํญ๋ชฉ์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ..

WIL: Weekly I Learned; ๋๋ What I Learned This Week4์์ ์ ๊ธ์ ๊ฑฐ์ง๋ง์ง๋ 2์ฃผ์ฐจ WIL์ ์์ฑํ๊ธฐ๊ฐ ๋ฌด์ญ๊ฒ ์ ๊ธ์ด ๋ ๋ค์ ๋๋ฐญ์ด ๋์์ต๋๋ค. ์ ๋ ๋์ ์ฐธ ์ข์ํ์ง๋ง, ๊ทธ๋ผ์๋ ์ ํฌ ๋ฐ ์น๊ตฌ๊ฐ ์ด์ผ๊ธฐํ ๊ฒ๊ณผ ๊ฐ์ด ์ง๊ธ ์ฝ๋ฉ์ ํ ๋๊ฐ ๋ง์๊น?๋ผ๋ ์๊ฐ์ด ๋ค๊ธฐ๋ ํ๋ ์ฃผ์์ต๋๋ค. ๊ธฐํ ๋ณํ๋ ์ฐธ ๋ฌด์์ด ๊ฒ์ ๋๋ค.๋ฐฅ๋ง ์ ๋จน๋๋ผํฌ๋ํํค์ ๊ตฌ๋ด์๋น์ด ์์ฃผ ์ ๋์ค๋ ๊ฒ์ผ๋ก ์ ํ์ด ๋ ์์ต๋๋ค. ์ ์ ๋น์ ๊ทธ๊ฑธ ๋ชจ๋ฅด๋ ๊ฒ์ ์๋์์ง๋ง, ์ ๊ฐ ๊ฐ๋ ๊ณณ์ ํฌ๋ํํค ๋ณธ์ฌ๊ฐ ์๋ ์ ๊ธ ์บ ํผ์ค์ด๋, ์ฌ์ค ํฐ ๊ธฐ๋๋ ํ์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ์ 3์ฃผ์ฐจ๋ฅผ ๋๊ธฐ๋ ์ด ์์ ์์ ์ ๊ฐ ๋จ๊ธธ ์ ์๋ ๋ง์, ์ฌ๊ธฐ ๋ฐฅ๋ ์๋นํ ๋ง์๋ค์ ๋๋ค. ์ ์ ์ฒซ ๋ฉฐ์น ๊ฐ์ ์ผ๋ถ ๋ฉ๋ด๊ฐ (์ ์ ๋ง์๋) ..

WIL: Weekly I Learned; ๋๋ What I Learned This Week2์ฃผ์ฐจ์ ๋๋ค. ์จ ์ง 3๊ฐ์์ ๋ ๋ฏํ๋ฐ ํ์ค์ 2์ฃผ์ฐจ WIL์ ์์ฑํ๊ณ ์์ต๋๋ค. 2์ฃผ์ฐจ์ ์ ํฌ๊ฐ ํํํ ๋ด์ฉ์ ํฌ๊ฒ ์ธ ๊ฐ์ง๋ก ๋๋ ์ ์์ต๋๋ค.์๋ฃ๊ตฌ์กฐ:์คํํ์ฐ์ ์์ ํ๋ฑ (double-ended queue)๋ฆฌ์คํธ๋งํฌ๋ ๋ฆฌ์คํธํด์ ํ ์ด๋ธ์๊ณ ๋ฆฌ์ฆ:์ด๋ถํ์๋ถํ ์ ๋ณต๋ง์ง๋ง์ผ๋ก CS:APP ์ฑ ์์๋ ์ฑํฐ 1 (๊ฐ์)์ ์ ์ฅ์ฅ์น ๊ณ์ธต๊ตฌ์กฐ(๋ ์ง์คํฐ-์บ์-๋ฉ๋ชจ๋ฆฌ-์คํ ๋ฆฌ์ง)์ OS์ ํ๋์จ์ด ๊ด๋ฆฌ ๊ด๋ จํ ๋ถ๋ถ์ ์ฝ์์ต๋๋ค.์ฌ์ฌ 2์ฃผ์ฐจ์ฏค ๋๋ ๊ณต๋ถ์ ํจํด์ด ์กํ๊ธฐ ์์ํ์ต๋๋ค. ์ํ์ ์น๋ฅธ ๋ชฉ์์ผ๋ถํฐ ํ ์์ผ๊น์ง๋ ์ฐจ์ฃผ ๊ฐ๋ ์์ฃผ๋ก ๊ณต๋ถํ๊ณ ๋์ด๋ 'ํ'๋ '์ค'์ ํด๋นํ๋ ๋ฌธ์ ๋ฅผ ํผ ๋ค, ์ผ์์ผ๋ถํฐ ์์์ผ๊น์ง ๋ณธ๊ฒฉ์ ์ธ ๋ฌธ์ ๋ค์ ..

์ด๋ถ ํ์(binary search)๋, ์ด๋ค ๋ฐฐ์ด๊ณผ ์ฐพ๊ณ ์ ํ๋ ์๊ฐ ์์ ๋, ์ฐพ๊ณ ์ ํ๋ ๋ฒ์๋ฅผ ์ ๋ฐ์ฉ ์ขํ๊ฐ๋ฉฐ ๋น ๋ฅด๊ฒ ํด๋น ๊ฐ์ ์์น๋ฅผ ์ฐพ์๋ด๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์ ์์ฃผ ๋ฑ์ฅํ๋ ๋ํ์ ์ธ ํ์ ๊ธฐ๋ฒ์ผ๋ก, ๋จ์ํ ์ ๋ ฌ ๋ฐฐ์ด ํ์๋ถํฐ, ๊ฒฝ๊ณ๊ฐ ์ฐพ๊ธฐ, ์์ฉ ๋ฌธ์ ๊น์ง ๋งค์ฐ ๋ค์ํ ํํ๋ก ์ถ์ ๋ฉ๋๋ค. ๋งค ๋ฐ๋ณต๋ง๋ค ๊ฒ์ ๋ฒ์๋ฅผ ์ ๋ฐ์ผ๋ก ์ค์ด๊ธฐ์ O(log n)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋๋ค. ๋ค๋ง, ๊ฐ์ ๋์๋ฅผ ๋น๊ตํ๋ฉฐ ๋ฒ์๋ฅผ ์ก๊ธฐ์ ๋ฐฐ์ด์ด ๋ฐ๋์ ์ ๋ ฌ๋จ์ ์ ์ ๋ก ํฉ๋๋ค.๊ตฌํ: ๋ฐ๋ณต vs. ์ฌ๊ท์ด๋ถ ํ์์ ๋จผ์ ์์ ์ธ๋ฑ์ค์ ๋ ์ธ๋ฑ์ค๋ฅผ ์ก๊ณ , ๊ทธ ๋์ ์ค๊ฐ (๋๋ ์ ๋๋ ๋จ์ด์ง ๊ฒฝ์ฐ ํ ์นธ ์ผ์ชฝ) ์ธ๋ฑ์ค๋ฅผ ์ก๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํํ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์ ๋๊น์ง ์์, ์ค๊ฐ, ๋ ์ธ๋ฑ์ค๋ฅผ..

Python์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ถํ ๋ ๋์น ์ ์๋ ๊ฐ๋ ๋ค ์ค ํ๋๊ฐ ๋ฐ๋ก ์ปดํ๋ฆฌํจ์ (comprehension)๊ณผ ํํ์(expression)์ ๋๋ค. Python์์๋ ๋ฐ๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์๋ list comprehension, generator expression, conditional expression(์ผํญ ์ฐ์ฐ์) ๋ฑ์ ์ ๊ณตํ์ฌ, ์ ์ ํ๊ฒ ์ฌ์ฉ ์ ์ฑ๋ฅ(์คํ์๋)๊ณผ ๊ฐ๊ฒฐํจ์ ๋ ๋ค ์ก์ ์ ์์ต๋๋ค.์ด๋ฒ ํฌ์คํธ์์๋ ๊ฐ์ข ์ปดํ๋ฆฌํจ์ ๋ฐ ํํ์์ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค.์์ธ๋ฌ, ์ด๋ค์ ๋๋ค(lambda)์๊น์ง ์ ์ฉํ ์์ ๋ ํ๋ฒ ์ดํด๋ณด์๊ฒ ์ต๋๋ค.๋ชฉ์ฐจ:1. List Comprehensions2. Set Comprehensions3. Dictionary Comprehensions4..

WIL: Weekly I Learned; ๋๋ What I Learned This Week์ ๊ธ์ ์ค๊ฒฝ๊ฒจ์ธ์ ๋๋ค. ์๊ฐ์ด ํ๋ฌ ์ ๊ธ ์บ ํผ์ค์๋ ์ฒซ๋์ด ๋ด๋ ธ์ต๋๋ค.๊ฐ ์๋๋ผ ์ธ์์, 3์์ ์ด๋ฐ ํจ๋ฐ๋์ ๋ณด๊ฒ ๋ ์ค์ ๋ชฐ๋์ต๋๋ค. ์ด๋ฐ ๊ด๊ฒฝ์ 2์ ์ค์์ด์๋๊ฐ, ๋ง์ง๋ง์ผ๋ก ๋ดค๋ ๊ฒ ๊ฐ์๋ฐ, ๊ทธ๋๋ง ํด๋ ์ด๋ฐ ๋์ ๋ค์ ๋ณด๋ ค๋ฉด ๋ด๋ ๊น์ง ๊ธฐ๋ค๋ ค์ผ๊ฒ ์ง, ํ์ง์. ๋ ๋ณผ ์ค์ด์ผ! ๋๋ฌด๋ ๋ฐ๊ฐ์ ์ต๋๋ค.์๊ณ ๋ฆฌ์ฆ ์ ๋ฌธํฌ๋ํํค ์ ๊ธ์ ์๋ก์ด ์ฃผ(้ฑ)์ ์์์ ํญ์ ๋ชฉ์์ผ์ ๋๋ค. ์ด์ ํฌ์คํธ์์ ์ค๋ช ํ 0์ฃผ์ฐจ ๋ฏธ๋ ํ๋ก์ ํธ๊ฐ ๋๋๊ณ , ์ ํฌ๋ ์๋ก์ด ํ์ ๋ฐฐ์ ๋ฐ๊ฒ ๋์์ต๋๋ค. ์ ๊ธ ์ด์ธ์ ํ๋ก๊ทธ๋จ์์ ๊ตฌํ๊ธฐ ์ด๋ ค์ด ๊ฒ ์ค ํ๋๊ฐ ๋ฐ๋ก ์ปดํจํ ์ด๋ก ์ ๋ํ ๋๋ฃ ํ์ต์ผ ๊ฒ์ ๋๋ค. ์ด๋ฒ 1์ฃผ์ฐจ์์ ์ ํฌ๋ 3์ธ 1ํ์ผ๋ก ์ปค๋ฆฌํ๋ผ์ ..

์ ์์ค๋ ์๊ณ ๋์ ํด์ฌ๋ฅผ ๊ฒฐ์ ํ๊ณ ํฌ๋ํํค ์ ๊ธ 8๊ธฐ์ ํฉ๋ฅํ์์ต๋๋ค. ์ ์์ ๋น์ผ ์์นจ ์ง์ ๋ฆฌ๋ฅผ ๋ง์น๊ณ 12์์ ํฌ๋ํํค ์ ๊ธ ์ฉ์ธ์บ ํผ์ค์ ๋์ฐฉํ์ฌ ์ฒดํฌ์ธ์ ์งํํ์์ต๋๋ค. ์ดํ 14์ ์ ์์์ด ์งํ๋์์ต๋๋ค.๊ธฐ์์ฌ๊ธฐ์์ฌ์ ๋ํ ์์ธํ ์ด์ผ๊ธฐ๋ ์ฐจํ์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค. ๋ค๋ง ํฌ๋ํํค ์ ๊ธ ์ฉ์ธ ์บ ํผ์ค๊ฐ ์ด๋ฒ์ ์๊ณต๋ ๋งํผ ์ต๊ณ ์ ์์ค์ ๊ฐ์ถ์๋ค๋ ์ ์ ๋ถ๋ช ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ถ๋ฏธ๊ถ ๋ํ์์ ํํ ๋ณผ ์ ์๋ ๋ณต๋์ (corridor style) ๊ตฌ์กฐ์ ๊ฐ๊น์ต๋๋ค. ๋ค๋ง ์ ์ 2์ธ์ค์ ๋๋ค. ์ด์ ์ ๋ํ๊ต ์์ค์ ๊ณต์ ํ๋ ์์ ์๋ 1์ธ์ค ์ ํ์ด ๋ถ๊ฐ๋ฅํ์ง๋ ์์๋ ๋ฏํ๋ฐ, ์ด ๋ถ๋ถ์ ์์ฌ์ด ์ ์ ๋๋ค.3๋ฐ4์ผ ๋ฏธ๋ ํ๋ก์ ํธ๋ณดํต์ ํ๋ก๊ทธ๋จ์ด๋ผ๋ฉด ์ ์ ์ฒซ๋ ์๋ ์ง์ ํ๊ณ ์ ๋นํ ๊ต์ก๊ด์ด๋ ๊ธฐ์์ฌ ์์ค์ ๊ตฌ..

์ด๋ฅธ๋ฐ 'AI ์๋'๊ฐ ๋๋ฉด์ ์๋์ฐ 11 ๋ ธํธ๋ถ๋ค์ ์๋ก์ด ํค๊ฐ ์๊ฒผ์ต๋๋ค. ๋ฐ๋ก ์ฝํ์ผ๋ฟ ํค์ ๋๋ค.์์ฌ์ด ์ ์ด ์๋ค๋ฉด, ํค๋ณด๋์ ์์ ์๋ก์ด ํค๊ฐ ์๊ธด ๊ฒ์ด๋ผ๊ธฐ๋ณด๋ค๋, ๊ธฐ์กด์ ์ฐCtrl / ํ์ / ์ ํ๋ฆฌ์ผ์ด์ ํค๋ฅผ ๋์ฒดํ๋ ํํ๋ก ๋ค์ด์๋ค๋ ๊ฒ์ธ๋ฐ์, ์ด๋ก ์ธํด ๊ธฐ์กด์ ์๋ฒ๋ฆ๋๋ก ํค๋ฅผ ๋๋ฅด๋ค๊ฐ ๋ณธ์ ์๋๊ฒ ์ฝํ์ผ๋ฟ์ด ์ผ์ง๋ ๋ฒ๊ฑฐ๋ก์ด ์ํฉ์ด ์๊ธฐ๊ธฐ๋ ํฉ๋๋ค. ํนํ, ํ์ ํค๋ฅผ ๊ธฐ์กด์ฒ๋ผ ๋๋ฅด๋ค๊ฐ ์ฝํ์ผ๋ฟ์ด ์ผ์ง๋ ์ผ์ด ์ฆ์์ก์ต๋๋ค..์ด๋ฒ ํฌ์คํ ์์๋ Microsoft PowerToys๋ฅผ ์ด์ฉํ์ฌ ์ ์ฝํ์ผ๋ฟ ํค๋ฅผ ๋๊ฑฐ๋, ๋๋ก ์ฐCtrl / ํ์ / ์ ํ๋ฆฌ์ผ์ด์ ํค๋ก ์๋ํ๊ฒ๋ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. Microsoft PowerToys๋?Microsoft PowerToys๋ Windows์์..

์ด ์์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ssh-copy-id์ ์ ์ฌํ ์ญํ ์ ํ๋, ๋์ VM์ ๊ณ์ ์ ๋ก๊ทธ์ธ ์ ธ์ด nologin์ด๋ผ์ ์์ ์ ์ํํ ์ ์์ ๋ ์๋ํด๋ณผ ์ ์๋ค.Public key๋ฅผ ์ฌ์ ๋์์ด `zabbix@10.123.0.8`๋ผ ์น๊ณ , ํด๋น ๊ณ์ ์ ํ ๊ฒฝ๋ก๊ฐ ์์ฑ๋์ด์์ง ์์ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ด ์คํํ ์ ์๋ค.๋ค๋ง ์ด ์์ ์ ์ํด ๋์ VM์ root ๊ถํ์ด ํ์ํ๋ค.ssh root@10.123.0.8 \ "mkdir -p /var/lib/zabbix;chown zabbix:zabbix /var/lib/zabbix; sudo -u zabbix mkdir -p /var/lib/zabbix/.ssh"cat ~/.ssh/id_rsa.pub | \ ssh root@10.123.0.8 \ "sudo ..

OpenVPN Connect ๋ง๊ณ ๊ธฐ์กด์ Community ๋ฒ์ ์ ๋๋ค. ์๋๋ AMD64์ฉ (์ผ๋ฐ์ ์ธ ์๋์ฐ) ๋น๋์ ๋๋ค. ์๋๋ ARM64์ฉ (Snapdragon ๋ฑ ARM ์นฉ์ด ํ์ฌ๋ ์๋์ฐ) ๋น๋์ ๋๋ค. ์ถ์ฒ: https://openvpn.net/community-downloads/

์๊ตฌ์ ์ผ๋ก ์ถ๊ฐ/์์ ํ๋ ๊ฒ ๋ง๊ณ , ์ค์ง ํ์ฌ Powershell ์ธ์ ์์๋ง ์ ์ฉํ๋ ค๋ฉด, ์๋์ ๊ฐ์ด ํ ์ ์๋ค.$env:Path # shows the actual content$env:Path = 'C:\foo;' + $env:Path # attach to the beginning$env:Path += ';C:\foo' # attach to the end ์๋ฅผ ๋ค์ด, ํด๋น ์ธ์ ์์๋ง ํน์ ๊ฒฝ๋ก์ java๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ์๋์ฒ๋ผ ์ ๋ ฅํ์ฌ Path๋ผ๋ ํ๊ฒฝ๋ณ์์ ์ํ๋ ๊ฐ์ ์ผ์์ ์ผ๋ก ๋ง๋ถ์ธ๋ค.$env:Path += ';C:\pts\openjdk-17_windows-x64_bin\jdk-17\bin\'์ถ๊ฐํ ๋ค jav..

์ค๋๋ง์ VirtualBox๋ฅผ ์ธ ์ผ์ด ์์๋๋ฐ, ์๋์ ๊ฐ์ด Ubuntu VM์ ๋ณต์ ํ๋ IP ์ฃผ์๊ฐ ์ค๋ณต๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์๋ค. ๋ฌธ์ ๋ MAC ์ฃผ์๋ฅผ ๋ฐ๊พธ๊ณ ์ฌ๋ถํ ํด๋ IP ์ฃผ์๊ฐ ๊ทธ๋๋ก ์ค๋ณต๋๋ค๋ ์ ์ด์๋ค. ๋ณด๋ค์ํผ VirtualBox VM๋ค๊ฐ ํต์ ์ ์ํ ๋ณ๋์ NAT ๋คํธ์ํฌ๋ฅผ ์์ฑํด๋์ ์ํ์ด๊ณ , ์ฌ๊ธฐ์ MAC ์ฃผ์๋ ์๋ก ๋ค๋ฅด๋ค. ๊ทธ๋ผ์๋ ๋์ผํ `10.0.119.5`๋ผ๋ IP ์ฃผ์๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๋ค. ์ด ์ํ์์ MAC ์ฃผ์๋ฅผ ๋ฐ๊พธ๊ณ ์ฌ๋ถํ ํด๋ IP ์ฃผ์๊ฐ ๋ฐ๋์ง ์๋๋ค. ๊ทธ๋ด ๋๋ `nano /etc/netplan/00-installer-config.yaml`์ ์๋์ ๊ฐ์ด ์์ ํ๋ค. ์ด๋ IP ์ฃผ์๋ฅผ ์๋ก ๋ฐ๊ณ ์ ํ๋ ์ธํฐํ์ด์ค๋ `enp0s3`์ด๋ผ ๊ฐ์ ํ๋ค. ํนํ ์ `dhcp-iden..