Skip to content

Instantly share code, notes, and snippets.

@leedc0101
leedc0101 / 01-nextjs-server-actions-security.md
Created June 25, 2026 01:31
frontend-briefing-2026-06-25-KST

Next.js 16 Server Actions Security: The Auth Check Most Developers Miss

ํ•œ๊ตญ์–ด ๋ธŒ๋ฆฌํ•‘ ๋ฒˆ์—ญ

์ด ๊ธ€์˜ ํ•ต์‹ฌ์€ ๋‹จ์ˆœํ•˜๋‹ค. Next.js Server Action์€ ํ™”๋ฉด ์•ˆ์˜ ๋ฒ„ํŠผ ๋’ค์— ์ˆจ์–ด ์žˆ๋Š” ๋‚ด๋ถ€ ํ•จ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ, ์™ธ๋ถ€์—์„œ ํ˜ธ์ถœ๋  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„ ์—”๋“œํฌ์ธํŠธ๋กœ ๋ด์•ผ ํ•œ๋‹ค. ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ธ์ฆ์„ ํ™•์ธํ–ˆ๋‹ค๊ณ  ํ•ด์„œ, ๊ทธ ํŽ˜์ด์ง€๊ฐ€ ๋ Œ๋”๋งํ•˜๋Š” Server Action๊นŒ์ง€ ์ž๋™์œผ๋กœ ๋ณดํ˜ธ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

๐Ÿ“Š ํฌํŠธํด๋ฆฌ์˜ค ๋ธŒ๋ฆฌํ•‘ | 2026-06-25 KST

์‹ค์ œ ๋น„๊ต ๋‚ ์งœ: D-1 = 2026-06-24 vs D-2 = 2026-06-23


1) ๋ณ€๋™ ์š”์•ฝ (๊ณ„์ขŒ๋ณ„)

๐Ÿฆ pension +95,235์›

  • ํ‰๊ฐ€๊ธˆ์•ก: 17,684,615์› โ†’ 17,779,850์› (+95,235์›)
@leedc0101
leedc0101 / 01-javascript-full-stack-modules.md
Created June 24, 2026 01:33
frontend-briefing-2026-06-24-KST

JavaScript still can't ship a full-stack module

ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ, ๋ฐฑ์—”๋“œ ์ฝ”๋“œ, ์›นํ›…, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ๊นŒ์ง€ ์ด๋ฏธ ์—ฐ๊ฒฐ๋œ ํ’€์Šคํƒ ํŒจํ‚ค์ง€๋ฅผ ์•ฑ์— ๊ฝ‚์•„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์–ด๋–จ๊นŒ. ๊ฒฐ์ œ ๊ธฐ๋Šฅ์„ ์˜ˆ๋กœ ๋“ค๋ฉด ๋ณดํ†ต Stripe SDK๋‚˜ ๊ฒฐ์ œ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๋ฐฑ์—”๋“œ ํ•ธ๋“ค๋Ÿฌ, ๋ฒ„ํŠผ, ์›นํ›…, DB ์ƒํƒœ ์ €์žฅ์„ ์ง์ ‘ ์ด์–ด ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์กฐ๋ฆฝํ•˜๋Š” ์ด ์ ‘์ฐฉ ์ž‘์—…์ด ์‹ค๋ฌด์—์„œ ๊ฐ€์žฅ ์„ฑ๊ฐ€์‹  ๋ถ€๋ถ„์ด๋‹ค.

LLM์ด ์ฝ”๋“œ๋ฅผ ๋Œ€๋ถ€๋ถ„ ์จ ์ฃผ๋Š” ์‹œ๋Œ€๋ผ ํ•ด๋„ ์ด ๋ฌธ์ œ๋Š” ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค. ์‚ฌ๋žŒ์—๊ฒŒ ์ข‹์€ ๊ตฌ์กฐ๋Š” LLM์—๊ฒŒ๋„ ์ข‹๋‹ค. ๋ชจ๋ธ๋„ ์ž˜ ๊ฒ€์ฆ๋œ ๋ ˆ๊ณ  ์กฐ๊ฐ์„ ์ข‹์•„ํ•œ๋‹ค. ์ธ์ฆ, ๊ฒฐ์ œ, ํŒŒ์ผ ์—…๋กœ๋“œ, ๊ด€๋ฆฌ์ž ํ™”๋ฉด์ฒ˜๋Ÿผ ๊ฒ€์ฆ์ด ํ•„์š”ํ•œ ์˜์—ญ์„ ์—์ด์ „ํŠธ์—๊ฒŒ ๋งค๋ฒˆ ์ง์ ‘ ๋งŒ๋“ค๊ฒŒ ํ•˜๋ฉด ํ† ํฐ์„ ๋” ์“ฐ๊ณ , ๋ณด์•ˆ ๊ตฌ๋ฉ์ด ์–ด๋”” ์žˆ๋Š”์ง€๋„ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค.

๐Ÿ“Š ํฌํŠธํด๋ฆฌ์˜ค ๋ธŒ๋ฆฌํ•‘ | 2026-06-24 KST

์‹ค์ œ ๋น„๊ต ๋‚ ์งœ: D-1 = 2026-06-23 vs D-2 = 2026-06-22


1) ๋ณ€๋™ ์š”์•ฝ (๊ณ„์ขŒ๋ณ„)

๐Ÿฆ pension -268,840์›

  • ํ‰๊ฐ€๊ธˆ์•ก: 17,953,455์› โ†’ 17,684,615์› (-268,840์›)
@leedc0101
leedc0101 / 01-typescript-7-rc.md
Created June 23, 2026 01:32
frontend-briefing-2026-06-23-KST

TypeScript 7.0 RC

ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ ๋ธŒ๋ฆฌํ•‘

TypeScript 7.0 RC์˜ ํ•ต์‹ฌ์€ ์ปดํŒŒ์ผ๋Ÿฌ ๊ธฐ๋ฐ˜ ๊ต์ฒด์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด TypeScript ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ Go ๊ธฐ๋ฐ˜ ๋„ค์ดํ‹ฐ๋ธŒ ๊ตฌํ˜„์œผ๋กœ ์ฒด๊ณ„์ ์œผ๋กœ ํฌํŒ…ํ–ˆ๊ณ , ๋„ค์ดํ‹ฐ๋ธŒ ์‹คํ–‰ ์†๋„์™€ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ ฌํ™”๋ฅผ ํ†ตํ•ด TypeScript 6.0 ๋Œ€๋น„ ๋Œ€๋žต 10๋ฐฐ ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Š ํฌํŠธํด๋ฆฌ์˜ค ๋ธŒ๋ฆฌํ•‘ | 2026-06-23 KST

์‹ค์ œ ๋น„๊ต ๋‚ ์งœ: D-1 = 2026-06-22 vs D-2 = 2026-06-21


1) ๋ณ€๋™ ์š”์•ฝ (๊ณ„์ขŒ๋ณ„)

๐Ÿฆ pension +18,115,505์›

  • ํ‰๊ฐ€๊ธˆ์•ก: 17,791,405์› โ†’ 35,906,910์› (+18,115,505์›)
@leedc0101
leedc0101 / 00-README.md
Created June 22, 2026 01:28
frontend-briefing-2026-06-22-KST

frontend-briefing-2026-06-22-KST

๋ฒˆ์—ญ์ผ: 2026-06-22 KST

์˜ค๋Š˜ ์„ ๋ณ„ ๊ธฐ์ค€:

  • ์ตœ๊ทผ HN, GeekNews, Lobsters์—์„œ ์˜ฌ๋ผ์˜ค๊ฑฐ๋‚˜ ์žฌ๋…ผ์˜๋œ ํ”„๋ก ํŠธ์—”๋“œ ์‹ค๋ฌด ๊ธ€ ์ค‘์‹ฌ
  • ๋‹น์žฅ ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ์„ฑ๋Šฅ ์„ค๊ณ„, ๋ธŒ๋ผ์šฐ์ € API, AI/agent UI, ๋ณด์•ˆ ๊ธฐ๋ณธ๊ธฐ์—์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ ์šฐ์„ 
  • ๊ณต๊ฐœ gist์ด๋ฏ€๋กœ ์›๋ฌธ ์ „์ฒด ์ „์žฌ๊ฐ€ ์•„๋‹ˆ๋ผ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ ๋ธŒ๋ฆฌํ•‘ ํ˜•ํƒœ๋กœ ์ •๋ฆฌ

๐Ÿ“Š ํฌํŠธํด๋ฆฌ์˜ค ๋ธŒ๋ฆฌํ•‘ | 2026-06-22 KST

์‹ค์ œ ๋น„๊ต ๋‚ ์งœ: D-1 = 2026-06-21 vs D-2 = 2026-06-20


1) ๋ณ€๋™ ์š”์•ฝ (๊ณ„์ขŒ๋ณ„)

๐Ÿฆ pension 0์›

  • ํ‰๊ฐ€๊ธˆ์•ก: 17,791,405 โ†’ 17,791,405์› (0์›)
@leedc0101
leedc0101 / 01-bun-shared-memory-threads.md
Created June 21, 2026 01:31
frontend-briefing-2026-06-21-KST

์›๋ฌธ ์ œ๋ชฉ: Bun has an open PR adding shared-memory threads to JavaScriptCore ์›๋ฌธ ๋งํฌ: oven-sh/WebKit#249 ๋ฒˆ์—ญ์ผ: 2026-06-21 KST

ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ ๋ธŒ๋ฆฌํ•‘

Bun ์ชฝ์—์„œ JavaScriptCore์— ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ์Šค๋ ˆ๋“œ ์ง€์›์„ ์‹คํ—˜ํ•˜๋Š” PR์ด ์˜ฌ๋ผ์™”์Šต๋‹ˆ๋‹ค. PR ์„ค๋ช… ๊ธฐ์ค€์œผ๋กœ ์•„์ง "experimental, not working yet" ๋‹จ๊ณ„์ด๊ณ , ๋ฐ”๋กœ ์ œํ’ˆ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š” JavaScriptCore ์œ„์—์„œ ์ง„์งœ ๋‹ค์ค‘ mutator, ๊ณต์œ  ํž™, thread API๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณด์—ฌ์ฃผ๋Š” ์—ฐ๊ตฌ์„ฑ ์ž‘์—…์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ์€ ์—ฌ๋Ÿฌ JS ์‹คํ–‰ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐ™์€ ํž™์„ ๋‹ค๋ฃจ๋Š” ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด PR์€ per-thread allocator, shared VM state, thread id ๋˜๋Š” shared-write ํƒœ๊ทธ๊ฐ€ ๋ถ™์€ ๋‚ด๋ถ€ ๊ฐ์ฒด ํ‘œํ˜„, N-thread safepoint, JIT tier๋ณ„ ์ฒดํฌ, CodeBlock ํšŒ์ˆ˜ ์ „๋žต ๊ฐ™์€ ๋Ÿฐํƒ€์ž„ ๋‚ด๋ถ€ ์„ค๊ณ„๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. Thread, Lock, Condition, ThreadLocal API์™€ object property์— ๋Œ€ํ•œ Atomics ์‹คํ—˜๋„ ์–ธ๊ธ‰๋ฉ๋‹ˆ๋‹ค.

@leedc0101
leedc0101 / 01-typescript-7-rc.md
Created June 20, 2026 01:32
frontend-briefing-2026-06-20-KST

Announcing TypeScript 7.0 RC

TypeScript 7.0 RC์˜ ํ•ต์‹ฌ์€ ์ƒˆ ๊ธฐ๋Šฅ ๋ช‡ ๊ฐœ๊ฐ€ ์•„๋‹ˆ๋ผ ์ปดํŒŒ์ผ๋Ÿฌ ๊ธฐ๋ฐ˜ ์ž์ฒด์˜ ๊ต์ฒด๋‹ค. ๊ธฐ์กด TypeScript ์ปดํŒŒ์ผ๋Ÿฌ๋Š” TypeScript๋กœ ์ž‘์„ฑ๋˜์–ด JavaScript๋กœ ์ปดํŒŒ์ผ๋˜๋Š” ๊ตฌ์กฐ์˜€์ง€๋งŒ, 7.0์€ Go ๊ธฐ๋ฐ˜ ๋„ค์ดํ‹ฐ๋ธŒ ๊ตฌํ˜„์œผ๋กœ ํฌํŒ…๋๋‹ค. Microsoft๋Š” ๊ธฐ์กด ๊ตฌํ˜„์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์„ค๊ณ„ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, 10๋…„ ๋„˜๊ฒŒ ์Œ“์€ ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ์™€ ๋™์ผํ•œ ํƒ€์ž… ์ฒดํฌ ์˜๋ฏธ๋ก ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์˜ฎ๊ฒผ๋‹ค๊ณ  ์„ค๋ช…ํ•œ๋‹ค. ๋ชฉํ‘œ๋Š” ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ ์†๋„์™€ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ ฌํ™”๋ฅผ ์–ป๋Š” ๊ฒƒ์ด๋‹ค.

์‹ค๋ฌด์ ์œผ๋กœ ๊ฐ€์žฅ ํฐ ๋ณ€ํ™”๋Š” ์†๋„๋‹ค. Microsoft๋Š” TypeScript 7.0์ด TypeScript 6.0๋ณด๋‹ค ํ”ํžˆ 10๋ฐฐ ๊ฐ€๊นŒ์ด ๋น ๋ฅด๋‹ค๊ณ  ๋งํ•œ๋‹ค. Bloomberg, Canva, Figma, Google, Linear, Miro, Notion, Slack, Vercel ๋“ฑ ๋Œ€ํ˜• ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๊ฐ€์ง„ ํŒ€๋“ค์ด ์‚ฌ์ „ ๋นŒ๋“œ๋ฅผ ์‹œํ—˜ํ–ˆ๊ณ , ๋นŒ๋“œ ์‹œ๊ฐ„๊ณผ ์—๋””ํ„ฐ ๋ฐ˜์‘์„ฑ์ด ํฌ๊ฒŒ ์ค„์—ˆ๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜๋‹ค๊ณ  ํ•œ๋‹ค. ์„ค์น˜๋Š” ๊ธฐ์กด์ฒ˜๋Ÿผ npm install -D typescript@rc๋กœ ๊ฐ€๋Šฅํ•˜๊ณ , VS Code์—์„œ๋Š” TypeScript Native Preview ํ™•์žฅ์„ ํ†ตํ•ด ๊ฐ™์€ ๊ธฐ๋ฐ˜์˜ ์–ธ์–ด ์„œ๋ฒ„๋ฅผ ์‹œํ—˜ํ•  ์ˆ˜ ์žˆ๋‹ค.