์•ˆ๋ณด๋ฉด ์†ํ•ด ์†Œํ˜• ์›์ž๋ ฅ๋ฐœ์ „์†Œ ๋ชจ๋“ˆ ๋„์›€์ด ํ”„๋กœ๊ทธ๋žจ Don't Miss Out: Small Modular Reactor Helper Program"

์ด๋ฏธ์ง€
SMR ์†Œํ˜• ๋ชจ๋“ˆํ™” ์›์ž๋ ฅ๋ฐœ์ „์†Œ ํ—ฌํผ ํ”„๋กœ๊ทธ๋žจ | NuScale & TerraPower ๋ฒค์น˜๋งˆํ‚น ⚛ SMR Helper Program v1.0 — NuScale × TerraPower Benchmarked ์†Œํ˜• ๋ชจ๋“ˆํ™” ์›์ž๋ ฅ๋ฐœ์ „์†Œ ํ—ฌํผ ํ”„๋กœ๊ทธ๋žจ NuScale Ansys ์Šคํƒ€์ผ ์—ด์ „๋‹ฌ ๋ถ„์„ + TerraPower ARMI Python ๊ธฐ๋ฐ˜ Reactor Model Hub-and-Spoke ์ž๋™ํ™” ๊ตฌํ˜„ ๊ฐ€์ด๋“œ #1 NuScale Power — Ansys ๋ฉ€ํ‹ฐํ”ผ์ง์Šค #2 TerraPower — ARMI ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ ⚛ ๊ฐœ์š” ๐Ÿ”ฅ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๐Ÿ’ป ์ฝ”๋“œ ๊ตฌ์กฐ ๐Ÿ”Œ ํ”Œ๋Ÿฌ๊ทธ์ธ ๐Ÿ›ก ์•ˆ์ „ ๋ถ„์„ ⚙ ์›Œํฌํ”Œ๋กœ ⚛ ๋ฒค์น˜๋งˆํ‚น ๋ถ„์„ — ์„ธ๊ณ„ 1·2์œ„ SMR ํ”„๋ ˆ์ž„์›Œํฌ NuScale Ansys vs TerraPower ARMI ํ•ต์‹ฌ ์•„ํ‚คํ…์ฒ˜ ๋น„๊ต ๐Ÿ’ก ํ—ฌํผ ํ”„๋กœ๊ทธ๋žจ ๋ชฉํ‘œ: NuScale์˜ Ansys ์—ด·๊ตฌ์กฐ·์•ˆ์ „ ๋ถ„์„ ํŒŒ์ดํ”„๋ผ์ธ๊ณผ TerraPower ARMI์˜ Hub-and-Spoke ํ”Œ๋Ÿฌ๊ทธ์ธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํŒŒ์ด์ฌ ์˜คํ”ˆ์†Œ์Šค๋กœ ์žฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ํ•ญ๋ชฉ #1 NuScale Power #2 TerraPower ํ•ต์‹ฌ ํ”„๋ ˆ์ž„์›Œํฌ Ansys ๋ฉ€ํ‹ฐํ”ผ...

ํด๋กœ๋“œ ์ฝ”๋“œ React TypeScript ์Šคํƒ€์ผ ์ผ๊ด€์„ฑ ์œ ์ง€ ํŒ

๋กœ๋“œ ์ฝ”๋“œ(ํด๋กœ๋“œ ์ฝ”๋“œ)๋กœ React + TypeScript ์Šคํƒ€์ผ ์ผ๊ด€์„ฑ ์œ ์ง€ํ•˜๋Š” ์‹ค์ „ ํŒ (2026๋…„ ๊ธฐ์ค€)



React + TypeScript ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค ๋ณด๋ฉด ์–ด๋А ์ˆœ๊ฐ„ ์ด๋Ÿฐ ๋А๋‚Œ์ด ๋“ญ๋‹ˆ๋‹ค.

“์ด ์ฝ”๋“œ… ๋ˆ„๊ฐ€ ์“ด ๊ฑฐ์ง€?”

๊ฐ™์€ ํŒ€, ๊ฐ™์€ ํ”„๋กœ์ ํŠธ์ธ๋ฐ ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ์€ ์ œ๊ฐ๊ฐ์ด๊ณ  ํƒ€์ž… ์„ ์–ธ ๋ฐฉ์‹๋„ ํ†ต์ผ์ด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿด ๋•Œ ์ง„์งœ ๋„์›€์ด ๋˜๋Š” ๋„๊ตฌ๊ฐ€ ํด๋กœ๋“œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํด๋กœ๋“œ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•ด React + TypeScript ์Šคํƒ€์ผ์„ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‰ฝ๊ณ  ์žฌ๋ฏธ์žˆ๊ฒŒ ํ’€์–ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.



๐Ÿ“Œ ๋ชฉ์ฐจ



์™œ ์Šคํƒ€์ผ ์ผ๊ด€์„ฑ์ด ๋ฌด๋„ˆ์ง€๋Š”๊ฐ€

๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ์ ํŠธ๋Š” ์ฒ˜์Œ์—” ๊น”๋”ํ•˜๊ฒŒ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์‚ฌ๋žŒ๋„ ๋Š˜๊ณ , ์ฝ”๋“œ๋„ ๋Š˜๊ณ , ๊ธ‰ํ•œ ์ˆ˜์ •์ด ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค.

๊ทธ ๊ฒฐ๊ณผ
props ๊ตฌ์กฐ๋Š” ์ œ๊ฐ๊ฐ,
ํƒ€์ž… ์„ ์–ธ ์œ„์น˜๋„ ์ œ๋ฉ‹๋Œ€๋กœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์ด๊ฒŒ ๊ธฐ๋Šฅ ์˜ค๋ฅ˜๋ณด๋‹ค ๋” ํ”ผ๋กœํ•˜๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

์ฝ๊ธฐ ํž˜๋“  ์ฝ”๋“œ = ์œ ์ง€๋ณด์ˆ˜ ์ง€์˜ฅ



ํด๋กœ๋“œ ์ฝ”๋“œ๊ฐ€ ์Šคํƒ€์ผ์„ ์žก์•„์ฃผ๋Š” ์ด์œ 

ํด๋กœ๋“œ ์ฝ”๋“œ๋Š” ๋‹จ์ˆœํžˆ ์ฝ”๋“œ๋ฅผ “๊ณ ์ณ์ฃผ๋Š” AI”๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๋™์‹œ์— ์ฝ๊ณ  ๊ณตํ†ต ํŒจํ„ด์„ ์ฐพ์•„๋‚ด๋Š” ๋ฐ ์•„์ฃผ ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Header.tsx, Footer.tsx, Layout.tsx๋ฅผ ํ•จ๊ป˜ ๋ณด๋ฉด “์•„, ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ด๋Ÿฐ ์Šคํƒ€์ผ์ด๊ตฌ๋‚˜”๋ฅผ ๋งฅ๋ฝ์œผ๋กœ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ํ•œ ํŒŒ์ผ๋งŒ ๋˜์ ธ์ค˜๋„ ๊ธฐ์กด ์Šคํƒ€์ผ์— ๋งž์ถฐ ์ˆ˜์ •์•ˆ์„ ์ œ์‹œํ•ด ์ค๋‹ˆ๋‹ค.

์ด๊ฒŒ ์‚ฌ๋žŒ์ด ๋ฆฌ๋ทฐํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋น ๋ฅผ ๋•Œ๋„ ๋งŽ์Šต๋‹ˆ๋‹ค.



React ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ ํ†ต์ผ ์‹ค์ „ ์˜ˆ์‹œ

๊ฐ€์žฅ ๋จผ์ € ํ†ต์ผํ•ด์•ผ ํ•  ๊ฒƒ์€ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋Ÿฐ ์š”์ฒญ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

@components/Header.tsx @components/Footer.tsx ์ด ํ”„๋กœ์ ํŠธ ๊ธฐ์ค€์œผ๋กœ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ๋ฅผ ํ†ต์ผํ•ด์ค˜

ํด๋กœ๋“œ ์ฝ”๋“œ๋Š” props ์œ„์น˜, ํ•จ์ˆ˜ ์„ ์–ธ ๋ฐฉ์‹, JSX ์ •๋ ฌ๊นŒ์ง€ ๊ธฐ์กด ์Šคํƒ€์ผ์„ ๊ธฐ์ค€์œผ๋กœ ๋งž์ถฅ๋‹ˆ๋‹ค.

์ƒˆ ๊ทœ์น™์„ ๋งŒ๋“œ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์ด๋ฏธ ์žˆ๋Š” ๊ทœ์น™์„ ๊ฐ•ํ™”ํ•˜๋Š” ๋А๋‚Œ

๊ทธ๋ž˜์„œ ๊ฑฐ๋ถ€๊ฐ ์—†์ด ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



TypeScript ํƒ€์ž… ์Šคํƒ€์ผ ์œ ์ง€ํ•˜๋Š” ๋ฒ•

TypeScript์—์„œ ๊ฐ€์žฅ ํ”ํ•œ ํ˜ผ๋ž€์€ type๊ณผ interface์˜ ํ˜ผ์šฉ์ž…๋‹ˆ๋‹ค.

์–ด๋–ค ํŒŒ์ผ์€ type, ์–ด๋–ค ํŒŒ์ผ์€ interface๋ฅผ ์”๋‹ˆ๋‹ค.

์ด๋Ÿด ๋•Œ ํด๋กœ๋“œ ์ฝ”๋“œ์— ์ด๋ ‡๊ฒŒ ์š”์ฒญํ•ด ๋ณด์„ธ์š”.

@src/types ๊ธฐ์ค€์œผ๋กœ ์ด ํ”„๋กœ์ ํŠธ ํƒ€์ž… ์„ ์–ธ ์Šคํƒ€์ผ์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•ด์ค˜

๊ทธ๋Ÿฌ๋ฉด ํƒ€์ž… ์œ„์น˜, ๋„ค์ด๋ฐ ๊ทœ์น™, export ๋ฐฉ์‹๊นŒ์ง€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋งž์ถฐ์ค๋‹ˆ๋‹ค.

์ด๊ฑด ์‚ฌ๋žŒ์ด ์ผ์ผ์ด ๋ง๋กœ ์„ค๋ช…ํ•˜๊ธฐ ์–ด๋ ค์šด ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.



ํŒ€ ์ „์ฒด์— ์ผ๊ด€์„ฑ ํผ๋œจ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•

๊ฐœ์ธ๋งŒ ์ž˜ ์จ์„œ๋Š” ์Šคํƒ€์ผ์ด ์œ ์ง€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๊ธฐ์ค€ ํŒŒ์ผ์„ ๋ช‡ ๊ฐœ ์ •ํ•ด๋‘๋Š” ๊ฒƒ

Header, Footer, ๊ณตํ†ต Button ๊ฐ™์€ ํŒŒ์ผ์„ ํด๋กœ๋“œ ์ฝ”๋“œ์— ์ž์ฃผ ์ฐธ์กฐ์‹œํ‚ค๋ฉด ๊ทธ๊ฒŒ ๊ณง ํ”„๋กœ์ ํŠธ ํ‘œ์ค€์ด ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค “์ด ์Šคํƒ€์ผ์— ๋งž๊ฒŒ ์ •๋ฆฌํ•ด์ค˜”๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด ๋ฆฌ๋ทฐ ๋ถ€๋‹ด๋„ ํ™• ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

ํด๋กœ๋“œ ์ฝ”๋“œ๋Š” ํŒ€ ๋ฌธํ™”๊นŒ์ง€ ์ •๋ฆฌํ•ด ์ฃผ๋Š” ๋„๊ตฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.





React + TypeScript ํ”„๋กœ์ ํŠธ์—์„œ ์‹ค๋ ฅ ์ฐจ์ด๋Š” ๊ฒฐ๊ตญ ์—ฌ๊ธฐ์„œ ๋‚ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ์“ฐ๋А๋ƒ๊ฐ€ ์•„๋‹ˆ๋ผ ์–ผ๋งˆ๋‚˜ ๊ฐ™์€ ์Šคํƒ€์ผ๋กœ ์“ฐ๋А๋ƒ์ž…๋‹ˆ๋‹ค.

ํด๋กœ๋“œ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๊ทœ์น™์„ ๊ฐ•์š”ํ•˜์ง€ ์•Š์•„๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ†ต์ผ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์— ์ฝ”๋“œ๊ฐ€ ์ง€์ €๋ถ„ํ•ด ๋ณด์ธ๋‹ค๋ฉด ํ˜ผ๋‚ด์ง€ ๋ง๊ณ , ํด๋กœ๋“œ ์ฝ”๋“œ์—๊ฒŒ ๋จผ์ € ๋ฌผ์–ด๋ณด์„ธ์š”.

๊ทธ๊ฒŒ ๋” ๋น ๋ฅด๊ณ , ํŒ€ ๋ถ„์œ„๊ธฐ๋„ ํ›จ์”ฌ ์ข‹์•„์ง‘๋‹ˆ๋‹ค ๐Ÿ™‚

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

๊ธฐํ˜ธ๋กœ ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ ์‹ค์‹œ๊ฐ„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•

ํด๋กœ๋“œ ์ฝ”๋“œ n8n ์›Œํฌํ”Œ๋กœ์šฐ ์ž๋™ํ™” ์—ฐ๋™ ๊ฐ€์ด๋“œ