Kwonjae Lee
SRE, Observability
Weekly - March 27, 2026
- 12 mins๐ ์ด๋ฒ ์ฃผ ์ถ์ฒ ์ํฐํด
1. Scaling a Monolith to 1M LOC: 113 Pragmatic Lessons from Tech Lead to CTO
์ถ์ฒ: lobsters | ๋ ์ง: 2026-03-27
์ด ๊ธ(๋ฐ ๋๊ธ)์ 100๋ง LOC ๊ท๋ชจ์ ๋ชจ๋๋ฆฌ์์ ์ด์ยทํ์ฅํ๋ฉด์ ํ ํฌ๋ฆฌ๋์์ CTO๋ก ์ฑ์ฅํ๋ ๊ณผ์ ์์ ์ป์ ์ค์ ๊ตํ์ ์์ถํด ๊ณต์ ํฉ๋๋ค. ๊ฐ๋ฐ์๋ ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค์์ ๋ณ๊ฒฝ์ ์์ ํ๊ฒ ๋ง๋ค๊ธฐ ์ํ ํ ์คํธยท๋ฆฌํฉํฐ๋ง ์ ๋ต, ์ด์/์ฅ์ ๋์์ ์ํ ๊ด์ธก์ฑ, ๊ทธ๋ฆฌ๊ณ ํ ์์ฐ์ฑ์ ์ข์ฐํ๋ ๊ธฐ์ ์ ยท์กฐ์ง์ ์์ฌ๊ฒฐ์ ๊ธฐ์ค์ ์ป์ ์ ์์ต๋๋ค.
ํต์ฌ ํฌ์ธํธ:
- ๋๊ท๋ชจ ๋ชจ๋๋ฆฌ์์์๋ โ๋ณ๊ฒฝ ์์ ์ฑโ์ ์ต์ฐ์ ์ผ๋ก ๋๊ณ , ์ค์ํ ํ๋ฆ๋ถํฐ ํ๊ท ํ ์คํธ(ํตํฉ/E2E ํฌํจ)์ ๋ฐฐํฌ ์ ์๋ ๊ฒ์ฆ์ ๊ฐํํด ์์ ๋จ์๋ก ์์ฃผ ๋ฐฐํฌํ์ธ์.
- ๋ฆฌํฉํฐ๋ง์ โ์ง๊ธ ๋ฐ๊พธ๋ ๊ธฐ๋ฅ ์ฃผ๋ณ๋ถํฐโ ๋จ๊ณ์ ์ผ๋ก ์งํํ๊ณ , ๋ชจ๋ ๊ฒฝ๊ณ/์์กด์ฑ ๊ท์น์ ๋ฌธ์ํยท์๋ํ(๋ฆฐํธ/์ํคํ ์ฒ ํ ์คํธ)ํด ์ฝ๋๋ฒ ์ด์ค์ ํ์ฐ๋๋ ๊ฒฐํฉ์ ์ต์ ํ์ธ์.
- ์ด์ ๊ฐ๋ฅ์ฑ์ ์ ํ ๊ธฐ๋ฅ์ฒ๋ผ ๋ค๋ฃจ๊ณ , ํต์ฌ ์งํ(SLI)ยท๋ก๊ทธ/ํธ๋ ์ด์คยท์๋ฆผ์ ํ์คํํ ๋ค, ์ฅ์ ํ์๋ RCA์ ์ฌ๋ฐ ๋ฐฉ์ง ์ฒดํฌ๋ฆฌ์คํธ(๋ฐ๋ถ, ์๋ํ, ๊ฐ๋๋ ์ผ)๋ฅผ ๋ฐ๋์ ๋จ๊ธฐ์ธ์.
2. Upright - Playwright์ Prometheus ๋ฉํธ๋ฆญ์ ํ์ฉํ ํฉ์ฑ ๋ชจ๋ํฐ๋ง ์์ง
์ถ์ฒ: geeknews | ๋ ์ง: 2026-03-27
Upright๋ Playwright๋ก ์ค์ ๋ธ๋ผ์ฐ์ ์ฌ์ฉ์ ํ๋ฆ์ ์๋ ์คํํ๊ณ , Prometheus ๋ฉํธ๋ฆญ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์์งํด ์น ์๋น์ค์ ๊ฐ์ฉ์ฑ๊ณผ ์ฑ๋ฅ์ ์ง์์ ์ผ๋ก ๊ด์ฐฐํ๋ ํฉ์ฑ ๋ชจ๋ํฐ๋ง ํ๋ ์์ํฌ์ ๋๋ค. ์ฌ๋ฌ ์ง๋ฆฌ์ ์์น์์ ํ๋ก๋ธ(Probe)๋ฅผ ๋๋ฆฌ๋ฉฐ ๋น๋์ค/์ํฐํฉํธ ๊ธฐ๋ฐ ๋๋ฒ๊น ๊น์ง ์ง์ํด, โ์ฌ์ฉ์ ๊ด์ โ์ ์ฅ์ ยท์ง์ฐ์ ์กฐ๊ธฐ์ ํ์งํ๊ณ ์์ธ ๋ถ์ ์๊ฐ์ ์ค์ด๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
ํต์ฌ ํฌ์ธํธ:
- ํต์ฌ ์ฌ์ฉ์ ์ฌ์ (๋ก๊ทธ์ธ, ๊ฒ์, ๊ฒฐ์ ๋ฑ)์ Playwright ์คํฌ๋ฆฝํธ๋ก ํ๋ก๋ธํํ๊ณ , ์ฑ๊ณต/์คํจ๋ฟ ์๋๋ผ ๋จ๊ณ๋ณ ์ง์ฐ(์: LCP, ํน์ ํด๋ฆญ ์ดํ ์๋ต ์๊ฐ)์ ์ธก์ ํ๋๋ก ์๋๋ฆฌ์ค๋ฅผ ์ค๊ณํ์ธ์.
- Prometheus์์ ์์งํ ๋ฉํธ๋ฆญ์ ํ์คํํ์ธ์(์: probe_success, probe_duration_seconds, step_duration_seconds, http_error_count) ๊ทธ๋ฆฌ๊ณ Grafana ๋์๋ณด๋/์๋ฆผ์ SLO ๊ธฐ์ค(์: ์ฑ๊ณต๋ฅ , p95 ์ง์ฐ)์ผ๋ก ๊ตฌ์ฑํ์ธ์.
- ๋ค์ค ๋ฆฌ์ /PoP์์ ๋์ผ ํ๋ก๋ธ๋ฅผ ์คํํด ์ง์ญ๋ณ ๋คํธ์ํฌ/์บ์/CDN ์ด์๋ฅผ ๊ตฌ๋ถํ๊ณ , ์คํจ ์ ์๋์ผ๋ก ๋น๋์คยท์คํฌ๋ฆฐ์ทยท์ฝ์/๋คํธ์ํฌ ๋ก๊ทธ๋ฅผ ์ ์ฅํด ์ฌํ ์์ด๋ ์์ธ ๋ถ์์ด ๊ฐ๋ฅํ๊ฒ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ธ์.
3. ๊นํ๋ธ ์ ์ฑ ๋ณํ / 4์ 24์ผ ์ดํ ๋ณ๋์ ์ค์ ์์ ๊ฒฝ์ฐ AI ๋ฐ์ดํฐ๋ก ํ์ต
์ถ์ฒ: geeknews | ๋ ์ง: 2026-03-27
๊นํ๋ธ์ ๊ฐ์ธ์ ๋ณด/๋ฐ์ดํฐ ์ฌ์ฉ ์ ์ฑ ๋ณํ๋ก, 4์ 24์ผ ์ดํ ๋ณ๋์ ์ค์ ์ ํ์ง ์์ผ๋ฉด GitHub Copilot(Free/Pro/Pro+) ์ฌ์ฉ ์ค ์ ๋ ฅ(ํ๋กฌํํธ, ์ฝ๋ ์ปจํ ์คํธ)๊ณผ ์ถ๋ ฅ(์ ์)์ด AI ๋ชจ๋ธ ๊ฐ๋ฐยทํ๋ จยท๊ฐ์ ์ ํ์ฉ๋ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ์กฐ์ง/ํ๋ก์ ํธ์ ์ฝ๋์ ํ๋กฌํํธ๊ฐ ์ด๋ค ์กฐ๊ฑด์ผ๋ก ์์งยท์ฌ์ฉ๋๋์ง ํ์ธํ๊ณ , ํ์ ์ ์ตํธ์์ ๋ฐ ๋ณด์ยท๊ฑฐ๋ฒ๋์ค ์ค์ ์ ์กฐ์ ํด์ผ ํฉ๋๋ค.
ํต์ฌ ํฌ์ธํธ:
- Copilot ๊ด๋ จ ์ค์ ์์ ํ๋กฌํํธ/์ฝ๋ ์ปจํ ์คํธ ๋ฐ ์ ์ ๋ฐ์ดํฐ๊ฐ ํ์ต์ ์ฌ์ฉ๋๋์ง ํ์ธํ๊ณ , ์ ์ฑ ์ ๋ง๊ฒ ์ตํธ์์(๋๋ ํ์ฉ) ์ค์ ์ ์ฆ์ ์ ๊ฒํ์ธ์(ํนํ 4/24 ์ดํ ๊ธฐ๋ณธ๊ฐ ๋ณํ์ ์ ์).
- ์กฐ์ง ์ฐจ์์์ Copilot ์ฌ์ฉ ๊ฐ์ด๋๋ผ์ธ์ ์ ๋ฆฌํ์ธ์: ๋น๋ฐ์ ๋ณด(ํ ํฐ, ํค, ๊ณ ๊ฐ๋ฐ์ดํฐ), ๋ด๋ถ ์๊ณ ๋ฆฌ์ฆ, ๋ฏธ๊ณต๊ฐ ์ ์ฅ์ ์ฝ๋ ๋ฑ์ ํ๋กฌํํธ์ ๋ฃ์ง ์๋๋ก ๊ท์นํํ๊ณ PR/๋ฆฌ๋ทฐ ์ฒดํฌ๋ฆฌ์คํธ์ ํฌํจํ์ธ์.
- ๋ฒ๋ฌด/๋ณด์ ๊ด์ ์์ ๋ผ์ด์ ์คยท๊ท์ ์ค์๋ฅผ ์ ๊ฒํ์ธ์: Copilot Free/Pro/Pro+ ํ๋๋ณ ๋ฐ์ดํฐ ์ฌ์ฉ ์กฐ๊ฑด๊ณผ ๋ด๋ถ ์ ์ฑ (๋ณด์, ๊ฐ์ธ์ ๋ณด, IP)์ ๋น๊ตํ๊ณ , ํ์ ์ ์ํฐํ๋ผ์ด์ฆ ์ค์ /๋์ฒด ๋๊ตฌ/๋คํธ์ํฌ ์ฐจ๋จ ๋ฑ ํต์ ๋ฅผ ์ ์ฉํ์ธ์.
4. jsongrep is faster than {jq, jmespath, jsonpath-rust, jql}
์ถ์ฒ: lobsters | ๋ ์ง: 2026-03-27
์ด ๊ธ(๋ก๋ธ์คํฐ์ค ๋๊ธ)์ JSON ํํฐ๋ง/์ฟผ๋ฆฌ ๋๊ตฌ๋ค(jq, jmespath, jsonpath-rust, jql)๊ณผ ๋น๊ตํด jsongrep์ด ๋ ๋น ๋ฅด๋ค๋ ์ฃผ์ฅ๊ณผ ๊ทธ์ ๋ํ ์ค์ฌ์ฉ ๊ด์ ์ ๋ ผ์๋ฅผ ๋ค๋ฃน๋๋ค. ๊ฐ๋ฐ์๋ โ์ด๋ค ๋๊ตฌ๊ฐ ๋ด ์ํฌ๋ก๋์์ ์ค์ ๋ก ๋น ๋ฅธ๊ฐโ๋ฅผ ๋ฒค์น๋งํฌ๋ก ๊ฒ์ฆํ๋ ๋ฐฉ๋ฒ๊ณผ, ์ฑ๋ฅยทํํ๋ ฅยท์์ ์ฑ(์ ํ์ฑ) ๊ฐ ํธ๋ ์ด๋์คํ๋ฅผ ์ด๋ป๊ฒ ํ๋จํ ์ง์ ๋ํ ์ค์ ๊ฐ๊ฐ์ ์ป์ ์ ์์ต๋๋ค.
ํต์ฌ ํฌ์ธํธ:
- ์์ ์ ์ค์ ์ ๋ ฅ(JSON ํฌ๊ธฐ/ํํ), ์ฟผ๋ฆฌ ํจํด(ํ๋ ์ถ์ถ, ํํฐ, ์ง๊ณ), ์ถ๋ ฅ ํฌ๋งท์ ๊ณ ์ ํ ๋ค jq์ jsongrep ๋ฑ์ ๋์ผ ์กฐ๊ฑด(์ฝ๋/์ ์บ์, ๋ฐ๋ณต ํ์, ํ์ผ vs stdin)์ผ๋ก ๋ฒค์น๋งํฌํด ๋๊ตฌ๋ฅผ ์ ํํ์ธ์.
- ๋จ์ ํค ๊ฒ์/์ ๊ท์ ๋งค์นญ ์์ฃผ์ ๋ก๊ทธยท์ด๋ฒคํธ JSON ์ฒ๋ฆฌ๋ผ๋ฉด jsongrep ๊ฐ์ ํนํ ๋๊ตฌ๋ฅผ ์ฐ์ ๊ฒํ ํ๊ณ , ๋ณต์กํ ๋ณํ/์กฐํฉ(์ฌ๊ตฌ์ฑ, reduce, map/filter ์ฒด์ธ)์ด ํ์ํ๋ฉด jq ๊ฐ์ ๋ฒ์ฉ ๋๊ตฌ๋ฅผ ๋ณํํ๋ โ๋๊ตฌ ๋ถ๋ฆฌโ ์ ๋ต์ ์ฐ์ธ์.
- ์ฑ๋ฅ ์์น๋ง ๋ณด์ง ๋ง๊ณ ๊ธฐ๋ฅ ์ปค๋ฒ๋ฆฌ์ง(ํ์ค ํธํ, ์๋ฌ ์ฒ๋ฆฌ), ์ ํ์ฑ(๊ฒฝ๊ณ ์ผ์ด์ค), ๋ฐฐํฌ/์ด์ ํธ์์ฑ(๋ฐ์ด๋๋ฆฌ ํฌ๊ธฐ, ํ๋ซํผ ์ง์, ์์กด์ฑ)๊น์ง ์ฒดํฌ๋ฆฌ์คํธ๋ก ํ๊ฐํด CI์ ๋ฒค์น๋งํฌ/ํ๊ท ํ ์คํธ๋ฅผ ์ถ๊ฐํ์ธ์.
5. Agent-to-agent pair programming
์ถ์ฒ: hackernews | ๋ ์ง: 2026-03-27
์ด ๊ธ(ํด์ปค๋ด์ค ๋๊ธ)์ โ์์ด์ ํธ(LLM)๋ผ๋ฆฌโ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ ์๋ํ ๋ ์๊ธฐ๋ ์ฅ์ ๊ณผ ํจ์ (์ปจํ ์คํธ ๊ณต์ , ์ญํ ๋ถ๋ด, ๊ฒ์ฆ ๋ถ์กฑ์ผ๋ก ์ธํ ์ค๋ฅ ์ฆํญ ๋ฑ)์ ์ค์ฌ์ผ๋ก ๋ ผ์ํฉ๋๋ค. ๊ฐ๋ฐ์๋ ์ฌ๋ฌ ์์ด์ ํธ๋ฅผ ๋์์ ์ฐ๋ ๊ฒ๋ณด๋ค, ๋ช ํํ ์ญํ /์ ๋ ฅยท์ถ๋ ฅ ๊ณ์ฝ๊ณผ ๊ฒ์ฆ ๋ฃจํ๋ฅผ ์ค๊ณํด์ผ ์์ฐ์ฑ์ด ์ค์ ๋ก ์ฌ๋ผ๊ฐ๋ค๋ ์ ์ ์ป์ ์ ์์ต๋๋ค.
ํต์ฌ ํฌ์ธํธ:
- ๋ ์์ด์ ํธ์ ์ญํ ์ ๊ณ ์ ํด ๋ถ์ ํ์ธ์: ํ ๋ช ์ โ๊ตฌํ์(์ฝ๋ ์์ฑ)โ, ๋ค๋ฅธ ํ ๋ช ์ โ๋ฆฌ๋ทฐ์ด/ํ ์คํฐ(๋ฐ๋กยท์ฃ์ง ์ผ์ด์คยท๋ณด์ยท์ฑ๋ฅ ์ ๊ฒ, ํ ์คํธ ์์ฑ)โ๋ก ๋๊ณ , ์๋ก์ ์ฐ์ถ๋ฌผ์ ๊ต์ฐจ ๊ฒ์ฆํ๊ฒ ๋ง๋์ธ์.
- ์์ด์ ํธ ๊ฐ ์ธํฐํ์ด์ค๋ฅผ ๋ช ์ํ์ธ์: ๊ฐ ๋จ๊ณ๋ง๋ค ์ ๋ ฅ(์๊ตฌ์ฌํญ/์ ์ฝ/ํ๊ฒฝ)๊ณผ ์ถ๋ ฅ(ํจ์น, ํ ์คํธ, ์ค๊ณ ๊ทผ๊ฑฐ, ๋จ์ ๋ฆฌ์คํฌ)์ ํ ํ๋ฆฟ์ผ๋ก ๊ฐ์ ํด ์ปจํ ์คํธ ๋๋ฝ๊ณผ ํ๊ฐ์ ์ค์ด์ธ์.
- ๊ฒ์ฆ ๋ฃจํ๋ฅผ ์๋ํํ์ธ์: ์์ด์ ํธ๊ฐ ๋ง๋ ๋ณ๊ฒฝ์ ๋ฐ๋์ ๋ก์ปฌ/CI์์ โํ ์คํธ ์คํ + ๋ฆฐํธ/ํ์ ์ฒดํฌ + ์ต์ ์ฌํ ์์ (์คํจ ์ผ์ด์ค)โ๋ฅผ ํต๊ณผํด์ผ ๋ค์ ๋จ๊ณ๋ก ์งํํ๋๋ก ์ํฌํ๋ก๋ฅผ ๊ฑธ์ด๋์ธ์.
6. ํ๋ฃจ์ ์ฝ๋ฉ์ 4์๊ฐ์ด ํ๊ณ์ธ ์ด์
์ถ์ฒ: geeknews | ๋ ์ง: 2026-03-27
์ธ์ง์ฌ๋ฆฌํ๊ณผ ๋๊ท๋ชจ ๊ฐ๋ฐ์ ๋ฐ์ดํฐ ๋ถ์์ ๋ฐ๋ฅด๋ฉด, ํ๋ฃจ์ ๊ณ ์ง์ค ์ฝ๋ฉ(๋ฅ ์ํฌ)์ ์ง์ํ ์ ์๋ ํ๊ณ๋ ๋๋ต 3~4์๊ฐ์ด๋ฉฐ ์ดํ์๋ ์ง์ค๋ ฅ๊ณผ ์ฝ๋ ํ์ง์ด ๋น ๋ฅด๊ฒ ๋จ์ด์ง๋๋ค. ๋ํ ์ค์ โ์์ ์ฝ๋ฉ ์๊ฐโ์ ์ค์๊ฐ์ 52๋ถ ์ ๋๋ก, ๋๋ถ๋ถ์ ์๊ฐ์ ํ์ยท๊ด๋ฆฌยทํ์ ๋ฑ์ผ๋ก ๋ถ์ฐ๋๋ฏ๋ก ๊ฐ๋ฐ์๋ ์๊ฐ์ โํ๋ณดโํ๋ ์ ๋ต์ด ํ์ํฉ๋๋ค.
ํต์ฌ ํฌ์ธํธ:
- ๋ฅ ์ํฌ ์๊ฐ์ โ์ด ๊ทผ๋ฌด์๊ฐโ์ด ์๋๋ผ โํ๋ฃจ 3~4์๊ฐ ์์ฐโ์ผ๋ก ๊ณํํ๊ณ , ๊ทธ ์๊ฐ์๋ง ๊ฐ์ฅ ์ด๋ ค์ด ์ค๊ณยท๊ตฌํยท๋๋ฒ๊น ์ ๋ฐฐ์นํ์ธ์(์: ์ค์ ๊ณ ์ ๋ธ๋ก, ์๋ฆผ ์ฐจ๋จ, 90โ120๋ถ ๋จ์).
- ํ์ยทํ์ ์ผ๋ก ๋ถ์ ๋๋ ์๊ฐ์ ์ค์ด๊ธฐ ์ํด ํ์๋ ๋ฌถ์ด์ ์ฒ๋ฆฌํ๊ณ (๋ฏธํ ๋ฐฐ์น), ๋น๋๊ธฐ ์ ๋ฐ์ดํธ(๋ฌธ์/์ด์ ํ ํ๋ฆฟ)๋ก ์ ํํ๋ฉฐ, ํ์๋ง๋ค ๋ชฉํยท์์ ๋คยท๊ฒฐ์ ์ฌํญ์ ๊ฐ์ ํด โ์ ํ ๋น์ฉโ์ ์ต์ํํ์ธ์.
- ์ฝ๋ ํ์ง ์ ํ ๊ตฌ๊ฐ(๋ฅ ์ํฌ ์ดํ)์๋ ์ ๊ฐ๋ ์์ ์ผ๋ก ์ ํํ์ธ์: ๋ฆฌํฉํฐ๋ง/ํ ์คํธ ๋ณด๊ฐ/๋ฌธ์ํ/์ฝ๋๋ฆฌ๋ทฐ/์๋ํ ์คํฌ๋ฆฝํธ ๋ฑ. ๊ฐ์ธยทํ ๋จ์๋ก ์ค์ ์ง์ค ์๊ฐ๊ณผ ๋ฐฉํด ์์ธ์ ๊ธฐ๋กํด(๊ฐ๋จํ ํ์๋ก๊ทธ) ๋ฐ๋ณต์ ์ผ๋ก ๊ฐ์ ํ์ธ์.
7. Back to FreeBSD: Part 2 โ Jails
์ถ์ฒ: lobsters | ๋ ์ง: 2026-03-27
์ด ๊ธ์ FreeBSD์ ์ปจํ ์ด๋ ๊ฒฉ๋ฆฌ ๊ธฐ๋ฅ์ธ Jails๋ฅผ ์ค์ฌ์ผ๋ก, ์ ํ๋ฆฌ์ผ์ด์ ์ ํธ์คํธ์ ๋ถ๋ฆฌํด ๋ ์์ ํ๊ณ ์์ธก ๊ฐ๋ฅํ๊ฒ ์ด์ํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค. ๊ฐ๋ฐ์๋ Jails์ ๊ฐ๋ (ํ๋ก์ธ์ค/ํ์ผ์์คํ /๋คํธ์ํฌ ๊ฒฉ๋ฆฌ)๊ณผ ์ด์ ์ ๊ณ ๋ ค์ฌํญ์ ํตํด, ๋ฐฐํฌยทํ ์คํธยท์ด์ ํ๊ฒฝ์ ๋ ์ฌํ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ์ ๊ทผ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
ํต์ฌ ํฌ์ธํธ:
- ์๋น์ค๋ณ๋ก Jail์ ๋ถ๋ฆฌํด(์๋น์ค 1๊ฐ = Jail 1๊ฐ) ์ฅ์ /์นจํด ๋ฒ์๋ฅผ ์ต์ํํ๊ณ , ํ์ํ ํ์ผ์์คํ ๋ง ๋ง์ดํธํด ์ต์ ๊ถํ ์์น์ ์ ์ฉํ์ธ์.
- ๋คํธ์ํฌ๋ฅผ Jail ๋จ์๋ก ์ค๊ณํ์ธ์: Jail๋ง๋ค IP๋ฅผ ํ ๋นํ๊ฑฐ๋ vnet์ ํ์ฉํด ๋ผ์ฐํ /๋ฐฉํ๋ฒฝ ๊ท์น์ ์๋น์ค ๊ฒฝ๊ณ์ ๋ง์ถฐ ๋ถ๋ฆฌํ๊ณ , ์ธ๋ถ ๋ ธ์ถ ํฌํธ๋ ์ต์ํํ์ธ์.
- Jail์ โ์ฌํ ๊ฐ๋ฅํ ๋น๋/๋ฐฐํฌ ๋จ์โ๋ก ์ด์ํ์ธ์: ๋ฒ ์ด์ค ์์คํ ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถ๋ฆฌํด ์ ๋ฐ์ดํธ ์ ์ฐจ๋ฅผ ์ ํ๊ณ , ๋์ผํ ์ค์ ํ ํ๋ฆฟ์ผ๋ก ํ ์คํธโ์คํ ์ด์งโํ๋ก๋์ ์ ์ผ๊ด๋๊ฒ ์์ฑํ์ธ์.
8. ์ถ์ ๋ ํธํ๊ฒ ๋ง๋๋ Shell ํธ๋ฆญ
์ถ์ฒ: geeknews | ๋ ์ง: 2026-03-27
์ด ๊ธ์ Bash ๋ฑ ์ ธ์์ ์์ ์๋๋ฅผ ๋์ด๋ ์ค์ ๋จ์ถํค์ ๋ช ๋ น ์กฐํฉ์ ์ ๋ฆฌํด, ํฐ๋ฏธ๋์์์ ํธ์ง/์ด๋/๋ณต๊ตฌ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค. CTRL+W/U/K/Y ๊ฐ์ ๋ผ์ธ ํธ์ง, CTRL+A/E ๋ฐ ALT+B/F ์ปค์ ์ด๋, reset์ ํตํ ํฐ๋ฏธ๋ ๋ณต๊ตฌ ๋ฑ ์ฆ์ ์์ฐ์ฑ์ ๋์์ด ๋๋ ํธ๋ฆญ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
ํต์ฌ ํฌ์ธํธ:
- ๋ผ์ธ ํธ์ง ๋จ์ถํค๋ฅผ ์ต๊ดํํ์ธ์: Ctrl+W(์ด์ ๋จ์ด ์ญ์ ), Ctrl+U(์ปค์ ์ ์ ์ฒด ์ญ์ ), Ctrl+K(์ปค์ ๋ค ์ ์ฒด ์ญ์ ), Ctrl+Y(๋ง์ง๋ง ์ญ์ ๋ด์ฉ ๋ถ์ฌ๋ฃ๊ธฐ)๋ก ๋ช ๋ น ์์ ์๊ฐ์ ์ค์ ๋๋ค.
- ์ปค์ ์ด๋์ ๋ง์ฐ์ค ์์ด ์ฒ๋ฆฌํ์ธ์: Ctrl+A/E๋ก ์ค ์์/๋ ์ด๋, Alt+B/F๋ก ๋จ์ด ๋จ์ ์ด๋์ ์ฌ์ฉํด ๊ธด ๋ช ๋ น์ ๋น ๋ฅด๊ฒ ํธ์งํฉ๋๋ค.
- ํฐ๋ฏธ๋์ด ๊นจ์ก์ ๋ ์ฆ์ ๋ณต๊ตฌํ์ธ์: ํ๋ฉด์ด ์ด์ํ๊ฒ ์ถ๋ ฅ๋๊ฑฐ๋ ์
๋ ฅ์ด ๊ผฌ์ด๋ฉด
reset(๋๋ ํ๊ฒฝ์ ๋ฐ๋ผstty sane)์ผ๋ก ํฐ๋ฏธ๋ ์ํ๋ฅผ ์ ์ํํฉ๋๋ค.
๐ This Weekโs Picks
1. Scaling a Monolith to 1M LOC: 113 Pragmatic Lessons from Tech Lead to CTO
Source: lobsters | Date: 2026-03-27
This post (and its comments) distills pragmatic lessons learned while scaling and operating a ~1M LOC monolith, from tech lead to CTO. Developers can take away concrete approaches for making changes safer in a large codebase (testing/refactoring), improving operability through observability, and making technical/organizational decisions that protect team productivity as the system grows.
Key Points:
- In a large monolith, prioritize change safety: strengthen regression coverage (including integration/E2E for critical flows), add pre-deploy automated checks, and ship smaller changes more frequently.
- Refactor incrementally starting around the code youโre already touching, and prevent dependency sprawl by documenting/enforcing module boundaries with automation (linting/architecture tests).
- Treat operability as a product feature: standardize core SLIs, logs/traces/alerts, and after incidents always produce an RCA plus concrete prevention actions (runbooks, automation, guardrails).
2. Upright - Playwright์ Prometheus ๋ฉํธ๋ฆญ์ ํ์ฉํ ํฉ์ฑ ๋ชจ๋ํฐ๋ง ์์ง
Source: geeknews | Date: 2026-03-27
Upright is a synthetic monitoring framework that runs real browser user flows with Playwright and exports results as Prometheus metrics to continuously track web availability and performance. By executing probes from multiple geographic locations and capturing artifacts like videos, it helps developers detect user-impacting failures/latency early and reduce time-to-diagnosis.
Key Points:
- Turn critical user journeys (login, search, checkout, etc.) into Playwright probes and design scenarios to measure not only pass/fail but also step-level latency (e.g., LCP, time-to-response after a click).
- Standardize the Prometheus metrics you will collect (e.g., probe_success, probe_duration_seconds, step_duration_seconds, http_error_count) and build Grafana dashboards/alerts driven by SLOs (e.g., success rate, p95 latency).
- Run the same probes from multiple regions/PoPs to separate regional network/cache/CDN issues, and on failure automatically persist artifacts (video, screenshots, console/network logs) so teams can diagnose without needing manual reproduction.
3. ๊นํ๋ธ ์ ์ฑ ๋ณํ / 4์ 24์ผ ์ดํ ๋ณ๋์ ์ค์ ์์ ๊ฒฝ์ฐ AI ๋ฐ์ดํฐ๋ก ํ์ต
Source: geeknews | Date: 2026-03-27
Due to a GitHub privacy/data policy change, after April 24, if you donโt change settings, your GitHub Copilot (Free/Pro/Pro+) inputs (prompts, code context) and outputs (suggestions) may be collected and used to develop, train, and improve AI models. Developers should review what data is shared under these terms and adjust opt-out and security/governance settings accordingly, especially for sensitive codebases.
Key Points:
- Review Copilot-related settings to see whether prompts/code context and suggestions are used for training, and promptly opt out (or explicitly allow) based on your policyโespecially considering the default change after Apr 24.
- Establish team/org usage guidelines: prohibit including secrets (tokens/keys/customer data), proprietary algorithms, or unreleased private-repo code in prompts; add checks to PR/review checklists.
- Validate legal/security compliance: compare data-usage terms across Copilot Free/Pro/Pro+ with your internal security/privacy/IP requirements, and apply controls as needed (enterprise settings, alternative tools, network restrictions).
4. jsongrep is faster than {jq, jmespath, jsonpath-rust, jql}
Source: lobsters | Date: 2026-03-27
This Lobsters comment thread discusses a claim that jsongrep outperforms common JSON filtering/query tools (jq, jmespath, jsonpath-rust, jql) and debates it from real-world usage perspectives. Developers will learn how to validate โwhatโs actually faster for my workloadโ via benchmarking, and how to weigh trade-offs between performance, expressiveness, and correctness/stability.
Key Points:
- Benchmark under your real conditionsโfix JSON size/shape, query patterns (field extraction, filtering, aggregation), and output format; then compare jq vs jsongrep (and others) with identical settings (cold/warm cache, repetitions, file vs stdin) before choosing a tool.
- If your workload is mostly simple key search/regex-style matching over log/event JSON, consider specialized tools like jsongrep first; for complex transformations/composition (restructuring, reduce, chained map/filter), keep a general tool like jq in the toolbox and split tasks accordingly.
- Donโt optimize for speed aloneโevaluate feature coverage (spec compatibility, error handling), correctness on edge cases, and ops concerns (binary size, platform support, dependencies); add benchmarks/regression tests to CI to prevent performance or behavior drift.
5. Agent-to-agent pair programming
Source: hackernews | Date: 2026-03-27
This Hacker News comment thread discusses the pros and pitfalls of โagent-to-agentโ pair programming, focusing on how context sharing, role separation, and missing verification can either help or amplify mistakes. The key takeaway for developers is that productivity gains come less from adding more agents and more from designing clear roles, I/O contracts, and tight verification loops.
Key Points:
- Fix roles and split responsibilities: use one agent as the โimplementerโ (writes code) and another as the โreviewer/testerโ (finds counterexamples, edge cases, security/perf issues, generates tests) and force cross-checking between them.
- Make the agent-to-agent interface explicit: require a template at each step for inputs (requirements/constraints/env) and outputs (patch, tests, rationale, remaining risks) to reduce context loss and hallucinated assumptions.
- Automate the verification loop: gate every agent-generated change behind local/CI execution of tests plus lint/type checks and a minimal reproducible example for any claimed fix before moving forward.
6. ํ๋ฃจ์ ์ฝ๋ฉ์ 4์๊ฐ์ด ํ๊ณ์ธ ์ด์
Source: geeknews | Date: 2026-03-27
Cognitive psychology research and large-scale developer activity data suggest humans can sustain only ~3โ4 hours of true deep work per day; beyond that, focus and code quality drop sharply. The median โpure coding timeโ is reported to be only ~52 minutes, with the rest spent on meetings, coordination, and adminโso developers need deliberate strategies to protect and structure focused time.
Key Points:
- Plan deep work as a fixed daily budget (~3โ4 hours), not as โall-day coding,โ and reserve that window for the hardest design/implementation/debugging tasks (e.g., a morning block, notifications off, 90โ120 minute chunks).
- Reduce fragmentation from meetings and coordination by batching meetings, shifting status updates to async (docs/issue templates), and enforcing clear goals/agendas/decisions for every meeting to minimize context-switching costs.
- After your deep-work limit, switch to lower-cognitive-load tasks: refactoring, strengthening tests, documentation, code reviews, automation chores. Track actual focus time and interruptions (lightweight time logs) and iteratively improve at both personal and team levels.
7. Back to FreeBSD: Part 2 โ Jails
Source: lobsters | Date: 2026-03-27
This piece focuses on FreeBSD Jails as a lightweight isolation mechanism, explaining how to run applications separated from the host for safer and more predictable operations. Developers will learn the core jail concepts (process/filesystem/network isolation) and practical considerations that make deployments, testing, and production environments more reproducible.
Key Points:
- Isolate per service (one service per jail) to limit blast radius; mount only whatโs required and follow least-privilege filesystem access.
- Design networking at the jail boundary: assign per-jail IPs or use vnet, split firewall/routing rules by service, and minimize exposed ports.
- Operate jails as reproducible build/deploy units: separate base system vs. app payload, define an update workflow, and generate testโstagingโprod from the same configuration templates.
8. ์ถ์ ๋ ํธํ๊ฒ ๋ง๋๋ Shell ํธ๋ฆญ
Source: geeknews | Date: 2026-03-27
This article compiles practical shell tricksโmainly for Bashโto boost speed and efficiency in terminal workflows. Developers will learn high-impact shortcuts for line editing and cursor movement (e.g., Ctrl+W/U/K/Y, Ctrl+A/E, Alt+B/F) and how to recover a broken terminal state using commands like reset.
Key Points:
- Make line-editing shortcuts muscle memory: use Ctrl+W (delete previous word), Ctrl+U (delete to beginning), Ctrl+K (delete to end), and Ctrl+Y (yank/paste back) to cut command-fixing time.
- Move the cursor without the mouse: use Ctrl+A/E for start/end of line and Alt+B/F to jump by words to edit long commands quickly.
- Recover a broken terminal fast: when output/input gets garbled, run
reset(and in some setupsstty sane) to restore a sane terminal state.
๐ Sources
Articles curated from Hacker News, GeekNews, Lobsters, TLDR Tech, Pragmatic Engineer, GitHub Blog, Meta Engineering, Anthropic, Martin Fowler, and more.
์ํฐํด ์ ์์ด ์์ผ์๋ฉด ์ด๋ฉ์ผ๋ก ์ฐ๋ฝ์ฃผ์๊ฑฐ๋ ๋๊ธ์ ๋จ๊ฒจ์ฃผ์ธ์!
Have an article suggestion? Feel free to reach out via email or leave a comment below!