interface TheoryItem { title: string source: string desc: string tags?: { label: string; color: string }[] highlight?: boolean } interface TheorySection { icon: string title: string color: string bgTint: string items: TheoryItem[] dividerAfter?: number dividerLabel?: string } const THEORY_SECTIONS: TheorySection[] = [ { icon: '๐Ÿšข', title: '๋ฐฉ์ œ์„  ์„ฑ๋Šฅ ๊ธฐ์ค€', color: 'var(--blue)', bgTint: 'rgba(59,130,246,.08)', items: [ { title: 'ํ•ด์–‘๊ฒฝ์ฐฐ์ฒญ ๋ฐฉ์ œ์„  ์„ฑ๋Šฅ๊ธฐ์ค€ ๊ณ ์‹œ', source: 'ํ•ด์–‘๊ฒฝ์ฐฐ์ฒญ ๊ณ ์‹œ ์ œ2022-11ํ˜ธ | ๋ฐฉ์ œ์„ ยท๋ฐฉ์ œ์ • ๋“ฑ๊ธ‰๋ณ„ ํšŒ์ˆ˜์šฉ๋Ÿ‰ยท์†๋ ฅยทํŽŒํ”„์‚ฌ์–‘ ๊ธฐ์ค€ ์ •์˜', desc: '1~5๋“ฑ๊ธ‰ ๋ฐฉ์ œ์„  ๊ธฐ์ค€ ยท ํšŒ์ˆ˜๋Šฅ๋ ฅ(ใŽฅ/h) ยท ์˜ค์ผํŽœ์Šค ์ „์žฅ ํƒ‘์žฌ๋Ÿ‰ ยท WING ์ž์‚ฐ ๋“ฑ๊ธ‰ ํ•„ํ„ฐ๋ง ๊ทผ๊ฑฐ', }, { title: 'IMO OPRC 1990 โ€” ๋ฐฉ์ œ์ž์› ๋น„์ถ• ๊ธฐ์ค€', source: 'International Convention on Oil Pollution Preparedness, Response and Co-operation | IMO, 1990', desc: '๊ตญ๊ฐ€ ๋ฐฉ์ œ์—ญ๋Ÿ‰ ๋น„์ถ• ์ตœ์ € ๊ธฐ์ค€ ยท ํ•ญ๋งŒ๋ณ„ Tier 1/2/3 ๋Œ€์‘์ž์› ๋ถ„๋ฅ˜ ยท ๊ตญ๋‚ด ๋ฐฉ์ œ์ž์› DB ์„ค๊ณ„ ๊ธฐ์ดˆ', }, { title: 'ํ•ด์–‘์˜ค์—ผ๋ฐฉ์ œ์—… ๋“ฑ๋ก๊ธฐ์ค€ (ํ•ด์–‘ํ™˜๊ฒฝ๊ด€๋ฆฌ๋ฒ• ์‹œํ–‰๊ทœ์น™)', source: 'ํ•ด์–‘์ˆ˜์‚ฐ๋ถ€๋ น | ๋ณ„ํ‘œ 9 โ€” ๋ฐฉ์ œ์—… ์ข…๋ฅ˜๋ณ„ ๋ฐฉ์ œ์„ ยท๊ธฐ์ž์žฌ ๋ณด์œ ๊ธฐ์ค€', desc: '์ œ1์ข…ยท์ œ2์ข… ๋ฐฉ์ œ์—… ์ž์‚ฐ ๋ณด์œ ๊ธฐ์ค€ ยท ์˜ค์ผํŽœ์Šค ์ „์žฅยทํšŒ์ˆ˜๊ธฐ ์šฉ๋Ÿ‰ ๋ฒ•์  ์ตœ์ €๊ธฐ์ค€ ยท WING ์ž์‚ฐํ˜„ํ™ฉ ์ ๋ฒ•์„ฑ ๊ฒ€์ฆ ๊ธฐ์ค€', }, ], }, { icon: '๐Ÿชข', title: '์˜ค์ผํŽœ์Šคยทํก์ฐฉ์žฌ ๊ทœ๊ฒฉ', color: 'var(--boom, #f59e0b)', bgTint: 'rgba(245,158,11,.08)', items: [ { title: 'ASTM F625 โ€” Standard Guide for Selecting Mechanical Oil Spill Equipment', source: 'ASTM International | ์˜ค์ผํŽœ์ŠคยทํšŒ์ˆ˜๊ธฐยทํก์ฐฉ์žฌ ์„ฑ๋Šฅ์‹œํ—˜ยท์„ ์ • ๊ธฐ์ค€ ๊ฐ€์ด๋“œ', desc: '์˜ค์ผํŽœ์Šค ์ธ์žฅ๊ฐ•๋„ยท๋ถ€๋ ฅ๊ธฐ์ค€ ยท ํก์ฐฉํฌ ํก์ˆ˜์œจ(g/g) ์ธก์ •๋ฒ• ยท WING ์ž์‚ฐ ์„ฑ๋Šฅ๋“ฑ๊ธ‰ ๋ถ„๋ฅ˜ ์ฐธ์กฐ ๊ธฐ์ค€', }, { title: '๊ธฐ๋ฆ„์˜ค์—ผ๋ฐฉ์ œ์‹œ ์˜ค์ผํŽœ์Šค ์‚ฌ์šฉ์ง€์นจ (ITOPF TIP 03 ํ•œ๊ตญ์–ดํŒ)', source: 'ITOPF | ํ•ด์–‘๊ฒฝ์ฐฐ์ฒญยทํ•ด์–‘ํ™˜๊ฒฝ๊ด€๋ฆฌ๊ณต๋‹จ ๋ฒˆ์—ญ, 2011', desc: '์ปคํŠผํ˜•ยทํŽœ์Šคํ˜•ยทํ•ด์•ˆ์šฉ ๊ทœ๊ฒฉ๋ถ„๋ฅ˜ ยท ์œ ์†๋ณ„ ์šด์šฉํ•œ๊ณ„(0.7~3.0 kt) ยท ํž˜ ๊ณ„์‚ฐ์‹ F=100ยทAยทVยฒ ยท ์•ต์ปค ํŒŒ์ง€๋ ฅ ๊ธฐ์ค€ํ‘œ', }, ], }, { icon: 'โš™๏ธ', title: '๋ฐฉ์ œ์ž์› ๋ฐฐ์น˜ยท๋™์› ์ด๋ก ', color: 'var(--purple)', bgTint: 'rgba(168,85,247,.08)', dividerAfter: 2, dividerLabel: '๐Ÿ“ ์ตœ์ ํ™” ์ˆ˜๋ฆฌ๋ชจ๋ธ ์ฐธ๊ณ ๋ฌธํ—Œ', items: [ { title: 'An Emergency Scheduling Model for Oil Containment Boom in Dynamically Changing Marine Oil Spills', source: 'Xu, Y. et al. | Ningbo Univ. | Systems 2025, 13, 716 ยท DOI: 10.3390/systems13080716', desc: 'IMOGWO ๋‹ค๋ชฉ์  ์ตœ์ ํ™” ยท ์Šค์ผ€์ค„๋ง ์‹œ๊ฐ„+๊ฒฝ์ œยท์ƒํƒœ์†์‹ค ๋™์‹œ ์ตœ์†Œํ™” ยท ๋™์  ์˜ค์ผํ•„๋ฆ„ ๊ธฐ๋ฐ˜ ๋ฐฉ์ œ์ • ๋ผ์šฐํŒ…', highlight: true, }, { title: 'Dynamic Resource Allocation to Support Oil Spill Response Planning', source: 'Garrett, R.A. et al. | Eur. J. Oper. Res. 257:272โ€“286, 2017', desc: '๋ถˆํ™•์‹ค์„ฑ ํ•˜ ๋ฐฉ์ œ์ž์› ๋™์  ๋ฐฐ๋ถ„ ์ตœ์ ํ™” ยท ์‹œ๋‚˜๋ฆฌ์˜ค๋ณ„ ๋น„์ถ•๋Ÿ‰ ์‚ฐ์ • ยท WING ์ž์‚ฐ ์šฐ์„ ์ˆœ์œ„ ๋ฐฐ์น˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ก  ๊ธฐ๋ฐ˜', }, { title: 'ํ•ด์–‘์˜ค์—ผ๋ฐฉ์ œ ๊ตญ๊ฐ€๊ธด๊ธ‰๋ฐฉ์ œ๊ณ„ํš (NOSCP)', source: 'ํ•ด์–‘๊ฒฝ์ฐฐ์ฒญ | ๊ตญ๊ฐ€๊ธด๊ธ‰๋ฐฉ์ œ๊ณ„ํš, 2023๋…„ํŒ', desc: 'Tier 3๊ธ‰ ๋Œ€ํ˜•์‚ฌ๊ณ  ์ž์› ๋™์›์ฒด๊ณ„ ยท ๊ธฐ๊ด€๋ณ„ ์—ญํ• ๋ถ„๋‹ดยท์ง€ํœ˜๊ณ„ํ†ต ยท WING ๋ฐฉ์ œ์ž์‚ฐ ์—ฐ๊ณ„ ๋ฒ•์  ๊ทผ๊ฑฐ', }, { title: 'A Mixed Integer Programming Approach to Improve Oil Spill Response Resource Allocation in the Canadian Arctic', source: 'Das, T., Goerlandt, F. & Pelot, R. | Multimodal Transportation Vol.3 No.1, 100110, 2023', desc: 'ํ˜ผํ•ฉ์ •์ˆ˜๊ณ„ํš๋ฒ•์œผ๋กœ ์‘๊ธ‰ ๋ฐฉ์ œ์ž์› ๊ฑฐ์  ์œ„์น˜ ์„ ํƒ + ์ž์› ํ• ๋‹น ๋™์‹œ ์ตœ์ ํ™”. ๋น„์šฉยท์‘๋‹ต์‹œ๊ฐ„ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ํŒŒ๋ ˆํ†  ๋ถ„์„.', highlight: true, tags: [ { label: 'MIP ์ˆ˜๋ฆฌ๋ชจ๋ธ', color: 'var(--purple)' }, { label: '์ž์› ์œ„์น˜ ์„ ํƒ', color: 'var(--blue)' }, { label: '๋ถ๊ทนํ•ด ์ ์šฉ', color: 'var(--cyan)' }, ], }, { title: '์œ ์ „์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜์—ฌ ์ตœ์ ํ™”๋œ ๋ฐฉ์ œ์ž์› ๋ฐฐ์น˜์•ˆ์˜ ๋ถ„ํฌ๋„ ๋ถ„์„', source: '๊น€ํ˜œ์ง„, ๊น€์šฉํ˜ | ํ•œ๊ตญ์œตํ•ฉํ•™ํšŒ๋…ผ๋ฌธ์ง€ Vol.11 No.4, pp.11โ€“16, 2020', desc: 'GA(์œ ์ „์•Œ๊ณ ๋ฆฌ์ฆ˜)๋กœ ๋ฐฉ์ œ์ž์› ๋ฐฐ์น˜ ์ตœ์ ํ™” ๋ฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ถ„ํฌ๋„ ๋ถ„์„. ๊ตญ๋‚ด ํ•ด์—ญ ์‹ค์ •์— ๋งž๋Š” ์ž์› ๋ฐฐ์น˜ ํŒจํ„ด ๋„์ถœ.', highlight: true, tags: [ { label: 'GA ๋ฉ”ํƒ€ํœด๋ฆฌ์Šคํ‹ฑ', color: 'var(--purple)' }, { label: '๊ตญ๋‚ด ์—ฐ๊ตฌ', color: 'var(--green, #22c55e)' }, { label: '๋ฐฐ์น˜ ๋ถ„ํฌ๋„ ๋ถ„์„', color: 'var(--boom, #f59e0b)' }, ], }, { title: 'A Two-Stage Stochastic Optimization Framework for Environmentally Sensitive Oil Spill Response Resource Allocation', source: 'Rahman, M.A., Kuhel, M.T. & Novoa, C. | arXiv preprint arXiv:2511.22218, 2025', desc: 'ํ™•๋ฅ ์  MILP 2๋‹จ๊ณ„ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋ถˆํ™•์‹ค์„ฑ ํฌํ•จ ์ตœ์  ์ž์› ๋ฐฐ์น˜. ํ™˜๊ฒฝ๋ฏผ๊ฐ๊ตฌ์—ญ ๊ฐ€์ค‘์น˜ ๋ฐ˜์˜.', highlight: true, tags: [ { label: 'ํ™•๋ฅ ์  MILP', color: 'var(--purple)' }, { label: '2๋‹จ๊ณ„ ์ตœ์ ํ™”', color: 'var(--blue)' }, { label: 'ํ™˜๊ฒฝ๋ฏผ๊ฐ๊ตฌ์—ญ', color: 'var(--green, #22c55e)' }, ], }, { title: 'Mixed-Integer Dynamic Optimization for Oil-Spill Response Planning with Integration of Dynamic Oil Weathering Model', source: 'You, F. & Leyffer, S. | Argonne National Laboratory Technical Note, 2008', desc: '๋™์  ์ตœ์ ํ™”(MINLP/MILP) ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์˜ค์ผ์Šคํ•„ ๋Œ€์‘ ์Šค์ผ€์ค„๋ง + ์˜ค์ผ ํ’ํ™”ยท๊ฑฐ๋™ ๋ฌผ๋ฆฌ๋ชจ๋ธ ํ†ตํ•ฉ.', highlight: true, tags: [ { label: 'MINLP ๋™์  ์ตœ์ ํ™”', color: 'var(--purple)' }, { label: '์˜ค์ผ ํ’ํ™” ๋ชจ๋ธ ํ†ตํ•ฉ', color: 'var(--boom, #f59e0b)' }, ], }, ], }, { icon: '๐Ÿ—„', title: '์ž์‚ฐ ํ˜„ํ–‰ํ™”ยท๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ', color: 'var(--green, #22c55e)', bgTint: 'rgba(34,197,94,.08)', items: [ { title: 'ํ•ด์–‘์˜ค์—ผ๋ฐฉ์ œ์ž์› ํ˜„ํ™ฉ๊ด€๋ฆฌ ์ง€์นจ', source: 'ํ•ด์–‘๊ฒฝ์ฐฐ์ฒญ ์˜ˆ๊ทœ | ๋ฐฉ์ œ์ž์› ๋“ฑ๋กยทํ˜„ํ–‰ํ™”ยท์ด๋ ฅ๊ด€๋ฆฌ ์ ˆ์ฐจ ๊ทœ์ •', desc: '๋ถ„๊ธฐ๋ณ„ ์ž์‚ฐ ์‹ค์‚ฌ ๊ธฐ์ค€ ยท ์ž์‚ฐ๋ถ„๋ฅ˜์ฝ”๋“œ ์ฒด๊ณ„ ยท WING ์—…๋กœ๋“œ ์–‘์‹(xlsx) ํ•„๋“œ ์ •์˜ ๊ทผ๊ฑฐ', }, { title: 'ISO 55000 โ€” Asset Management: Overview, Principles and Terminology', source: 'International Organization for Standardization | ISO 55000:2014', desc: '์ž์‚ฐ ์ƒ์• ์ฃผ๊ธฐ ๊ด€๋ฆฌ ์›์น™ ยท ์ž์‚ฐ๊ฐ€์น˜ยท์ƒํƒœ ํ‰๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ ยท WING ์ž์‚ฐ ๋…ธํ›„๋„ยท๊ต์ฒด์ฃผ๊ธฐ ์‚ฐ์ • ์ด๋ก  ๊ธฐ์ค€', }, ], }, ] const TAG_COLORS: Record = { 'var(--purple)': { bg: 'rgba(168,85,247,0.08)', bd: 'rgba(168,85,247,0.2)', fg: '#a855f7' }, 'var(--blue)': { bg: 'rgba(59,130,246,0.08)', bd: 'rgba(59,130,246,0.2)', fg: '#3b82f6' }, 'var(--cyan)': { bg: 'rgba(6,182,212,0.08)', bd: 'rgba(6,182,212,0.2)', fg: '#06b6d4' }, 'var(--green, #22c55e)': { bg: 'rgba(34,197,94,0.08)', bd: 'rgba(34,197,94,0.2)', fg: '#22c55e' }, 'var(--boom, #f59e0b)': { bg: 'rgba(245,158,11,0.08)', bd: 'rgba(245,158,11,0.2)', fg: '#f59e0b' }, } function TheoryCard({ section }: { section: TheorySection }) { const badgeBg = section.bgTint.replace(/[\d.]+\)$/, '0.15)') return (
{/* Section Header */}
{section.icon} {section.title}
{/* Items */}
{section.items.map((item, i) => (
{/* Divider */} {section.dividerAfter !== undefined && i === section.dividerAfter + 1 && (
{section.dividerLabel}
)}
{/* Number badge */}
{['โ‘ ','โ‘ก','โ‘ข','โ‘ฃ','โ‘ค','โ‘ฅ','โ‘ฆ','โ‘ง','โ‘จ','โ‘ฉ'][i]}
{item.title}
{item.source}
{/* Tags */} {item.tags && (
{item.tags.map((tag, ti) => { const tc = TAG_COLORS[tag.color] || { bg: 'rgba(107,114,128,0.08)', bd: 'rgba(107,114,128,0.2)', fg: '#6b7280' } return ( {tag.label} ) })}
)}
{item.desc}
))}
) } function AssetTheory() { return (
๐Ÿ“š ๋ฐฉ์ œ์ž์› ์ด๋ก 
๋ฐฉ์ œ์ž์‚ฐ ์šด์šฉ ๊ธฐ์ค€ยท์„ฑ๋Šฅ ์ด๋ก  ๋ฐ ๊ด€๋ จ ๋ฒ•๋ นยท๊ณ ์‹œ ๊ทผ๊ฑฐ ๋ฌธํ—Œ
{/* Left column */}
{THEORY_SECTIONS.slice(0, 2).map((sec) => ( ))}
{/* Right column */}
{THEORY_SECTIONS.slice(2).map((sec) => ( ))}
) } export default AssetTheory