Skip to content

Latest commit

ย 

History

History
75 lines (62 loc) ยท 4.79 KB

File metadata and controls

75 lines (62 loc) ยท 4.79 KB

๋””์ž์ธ ์‹œ์Šคํ…œ โ€” Bloomberg Terminal (classic GUI)

Tenbagger Hunter์˜ ๋ชจ๋“  UI๋Š” ์ด ๋ฌธ์„œ๋ฅผ ๋”ฐ๋ฅธ๋‹ค. AI/์‚ฌ๋žŒ ๋ˆ„๊ฐ€ ์ž‘์—…ํ•˜๋“  ์ด ๊ทœ์น™ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ปจ์…‰ ์œ ์ง€์˜ ํ•ต์‹ฌ์ด๋‹ค. ํ† ํฐ์˜ ์‹ค์ œ ๊ฐ’์€ app/globals.css :root๊ฐ€ ๋‹จ์ผ ์†Œ์Šค(SSOT).

๋ ˆํผ๋Ÿฐ์Šค ์ด๋ฏธ์ง€: docs/design/bloomberg-reference-3.png (์ด๊ฒŒ ์ •๋ณธ. ์ด ํ™”๋ฉด์„ ํ”ฝ์…€ ๋‹จ์œ„๋กœ ๋ชจ์‚ฌํ•œ๋‹ค.)

์ปจ์…‰ ํ•œ ์ค„

Bloomberg Professional (2010๋…„๋Œ€ GUI) โ€” Win95 ์ž…์ฒด(๋ฒ ๋ฒจ) ์œ„์ ฏ + ๋„ค์ด๋น„ ํƒ€์ดํ‹€๋ฐ” + ๊ฒ€์ • ๋ฐ์ดํ„ฐ ์˜์—ญ + ์ฃผํ™ฉ ํ—ค๋”/๋ผ๋ฒจ + ํฐ ๊ฐ’ + ์ดˆ๋ก/๋นจ๊ฐ• ๋“ฑ๋ฝ + ์‹œ์•ˆ ๋งํฌ. ์ƒ๋‹จ ์ปฌ๋Ÿฌ ํŽ‘์…˜ํ‚ค ํˆด๋ฐ”, ์šฐ์ธก ๋ผ์ธ์ฐจํŠธ(์ ์„  ๊ทธ๋ฆฌ๋“œ+๊ฑฐ๋ž˜๋Ÿ‰ ๋ฐ”), ํ•˜๋‹จ ๋ฒˆํ˜ธ ๋‰ด์Šคํ”ผ๋“œ + ์ดˆ๋ก ๋ฐฐ๋„ˆ. ํฌ๋ฆฌ์Šคํ”„ LCD(๊ธ€๋กœ์šฐยท์Šค์บ”๋ผ์ธ ์—†์Œ), ์ดˆ๊ณ ๋ฐ€๋„(10~11px).

์ ˆ๋Œ€ ๊ทœ์น™ (์–ด๊ธฐ๋ฉด ์ปจ์…‰์ด ๊นจ์ง„๋‹ค)

  1. ์ƒ‰์€ ํ† ํฐ๋งŒ. raw hexยทbg-neutral-*ยทtext-emerald-* ๊ธˆ์ง€ โ†’ bg-term-*, text-term-*๋งŒ.
  2. ๋ชจ์„œ๋ฆฌ๋Š” ๊ฐ์ง. rounded-* ๊ธˆ์ง€ (radius ํ† ํฐ์ด ์ „๋ถ€ 0).
  3. ํฐํŠธ๋Š” ๋ชจ๋…ธ์ŠคํŽ˜์ด์Šค. body ๊ธฐ๋ณธ 11px/line-height 1.2. sans๋กœ ๋ฎ์ง€ ๋ง ๊ฒƒ.
  4. ์ž…์ฒด๋Š” ๋ฒ ๋ฒจ๋กœ๋งŒ. ๊นŠ์ด๊ฐ์€ .bevel(๋Œ์ถœ) / .bevel-in(ํ•จ๋ชฐ) ์œ ํ‹ธ๋กœ. ์ž„์˜ box-shadow/๊ทธ๋ผ๋ฐ์ด์…˜/blur ๊ธˆ์ง€. ๊ธ€๋กœ์šฐยทCRT ์Šค์บ”๋ผ์ธ ๊ธˆ์ง€(์ด ๋ ˆํผ๋Ÿฐ์Šค์—” ์—†๋‹ค).
  5. ํŒจ๋„ ํƒ€์ดํ‹€๋ฐ”๋Š” ๋„ค์ด๋น„. <Panel>์ด bg-term-navy ํ—ค๋” + ์ฃผํ™ฉ ์ œ๋ชฉ + ์‹œ์•ˆ ์ฝ”๋“œ๋ฅผ ์ž๋™ ์ ์šฉ. ์ง์ ‘ ํ—ค๋”๋ฅผ ๋‹ค์‹œ ์น ํ•˜์ง€ ๋ง ๊ฒƒ.
  6. ์ดˆ๊ณ ๋ฐ€๋„. ํŒจ๋”ฉ p-0.5p-1, gap gap-pxgap-1, ํฐํŠธ text-[9px]~text-[11px]. ์—ฌ๋ฐฑ์€ ์‚ฌ์น˜.
  7. ํ‘œ ๊ทœ์น™. ์ปฌ๋Ÿผ ํ—ค๋”๋Š” ์ฃผํ™ฉ(<ColHead>), ๋ผ๋ฒจ์€ term-muted, ๊ฐ’์€ ํฐ์ƒ‰(term-white), ๋“ฑ๋ฝ์€ <Delta>(์ดˆ๋ก/๋นจ๊ฐ• +/-). ์ˆซ์ž์—” tabular-nums. ํ–‰ ์ค„๋ฌด๋Šฌ๋Š” odd:bg-term-navy-dk/40.

ํ† ํฐ (= tailwind ํด๋ž˜์Šค)

์šฉ๋„ ํด๋ž˜์Šค ์ƒ‰
๋ฐ์ดํ„ฐ ๋ฐ”ํƒ• bg-term-bg / bg-term-panel ๊ฒ€์ •
ํƒ€์ดํ‹€๋ฐ”/๋„ค๋น„ bg-term-navy ๋กœ์—ด ๋ธ”๋ฃจ
๊ฐ•์กฐ ํ–‰/ํ•จ๋ชฐ bg-term-navy-dk ์ง„ํ•œ ๋ธ”๋ฃจ
ํˆด๋ฐ”/๋ฐ์Šคํฌํ†ฑ bg-term-chrome ๋‹คํฌ ๊ทธ๋ ˆ์ด
๋ฒ ๋ฒจ ํ•˜์ด๋ผ์ดํŠธ/๊ทธ๋ฆผ์ž --term-bevel-lt / --term-bevel-dk (box-shadow ์ „์šฉ)
ํ—ค๋”ยท๋ผ๋ฒจยท์‹œ๊ทธ๋‹ˆ์ฒ˜ text-term-accent / bg-term-accent ์ฃผํ™ฉ #ff8c1a
๊ฐ’(๊ธฐ๋ณธ ํ…์ŠคํŠธ) text-term-white (=term-fg) ์›œ ํ™”์ดํŠธ
๋ณด์กฐ ๋ผ๋ฒจ text-term-muted ๋ฐ์€ ํšŒ์ƒ‰
์ƒ์Šน text-term-up ์ดˆ๋ก
ํ•˜๋ฝ text-term-down ๋นจ๊ฐ•
๋งํฌ/์ฝ”๋“œ text-term-info ์‹œ์•ˆ
๋…ธ๋ž‘ ๊ฐ•์กฐ text-term-warn ๋…ธ๋ž‘
๋ณด์กฐ ๊ฐ•์กฐ text-term-mag ๋งˆ์  ํƒ€
๋น„ํ™œ์„ฑ/๋‹จ์œ„ text-term-faint

์ปดํฌ๋„ŒํŠธ ์šฐ์„  (raw <div>๋ณด๋‹ค ์ด๊ฑธ ์กฐ๋ฆฝ)

components/terminal/index.tsx:

  • <Panel title code> โ€” ๋„ค์ด๋น„ ํƒ€์ดํ‹€๋ฐ” + ๋ฒ ๋ฒจ + ๊ฒ€์ • ๋ณธ๋ฌธ. ๋ชจ๋“  ์ฐฝ์˜ ๊ธฐ๋ณธ.
  • <DataRow label value tone> โ€” ๋ผ๋ฒจ/๊ฐ’ ํ•œ ์ค„.
  • <ColHead cols> โ€” ์ฃผํ™ฉ ์ปฌ๋Ÿผ ํ—ค๋” ํ–‰.
  • <Delta value> โ€” ์ฆ๊ฐ(์ดˆ๋ก/๋นจ๊ฐ• +/-).
  • <Tag tone> โ€” ๋ฒ ๋ฒจ ์ปฌ๋Ÿฌ ์นฉ.
  • <Cell tone> โ€” ํžˆํŠธ๋งต ์…€(grid gap-px๋กœ ๋งคํŠธ๋ฆญ์Šค).
  • <Sparkline data> โ€” ๋ธ”๋ก๋ฌธ์ž ๋ฏธ๋‹ˆ์ฐจํŠธ. <Bar pct> โ€” ๋น„์œจ ๋ฐ”.
  • <TickerTape items> โ€” ์Šคํฌ๋กค ์‹œ์„ธ. <NewsFeed items> โ€” ๋ฒˆํ˜ธ ๋‰ด์Šค ํ”ผ๋“œ.

components/terminal/chart.tsx:

  • <LineChartPanel series volume yLabels xLabels> โ€” SVG ๋ผ์ธ์ฐจํŠธ(์ ์„  ๊ทธ๋ฆฌ๋“œ + ๊ฑฐ๋ž˜๋Ÿ‰ ๋ฐ” + ์ถ•). ํฐ ์ฐจํŠธ๋Š” ์ด๊ฑธ๋กœ.

components/terminal/toolbar.tsx:

  • <TopToolbar> โ€” ์ƒ๋‹จ ์ปฌ๋Ÿฌ ํŽ‘์…˜ํ‚ค ๊ทธ๋ฆฌ๋“œ.

components/terminal/command-line.tsx:

  • <CommandLine> โ€” CMD โ€ฆ <GO> ์ž…๋ ฅ.

์ „์—ญ ์œ ํ‹ธ: .bevel / .bevel-in(์ž…์ฒด), .term-cursor(๋ธ”๋งํ‚น ์ปค์„œ), .term-glow(์ด ์ปจ์…‰์—์„  no-op).

์ƒˆ ํ™”๋ฉด์„ ๋งŒ๋“ค ๋• ๋จผ์ € "Panel + DataRow + ColHead + Cell + LineChartPanel ์กฐํ•ฉ์œผ๋กœ ์งค ์ˆ˜ ์žˆ๋‚˜?"๋ฅผ ์ž๋ฌธํ•œ๋‹ค. ์—†์œผ๋ฉด ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์žฌ์‚ฌ์šฉ (์ผํšŒ์„ฑ ์Šคํƒ€์ผ ๊ธˆ์ง€).

์ƒˆ UI ์ž‘์—… ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • raw hex / neutral-* / *-400 ์ƒ‰ ์•ˆ ์ผ๋‚˜? (term-* ํ† ํฐ๋งŒ)
  • rounded-* ์•ˆ ์ผ๋‚˜?
  • ๊นŠ์ด๋Š” .bevel/.bevel-in๋งŒ? (์ž„์˜ box-shadow/๊ธ€๋กœ์šฐ/๊ทธ๋ผ๋ฐ์ด์…˜ ์—†๋‚˜)
  • ํŒจ๋„์€ <Panel>(๋„ค์ด๋น„ ํ—ค๋”)๋กœ ๊ฐ์ŒŒ๋‚˜?
  • ํ‘œ๋Š” <ColHead>+<DataRow>+<Delta>, ์ˆซ์ž tabular-nums?
  • ์ดˆ๊ณ ๋ฐ€๋„(โ‰ค11px, p-1 ์ดํ•˜) ์œ ์ง€?

๊ฒ€์ฆ

git grep -nE 'rounded-|neutral-[0-9]|emerald-|amber-[0-9]|#[0-9a-fA-F]{3,6}' -- 'app/**/*.tsx' 'components/**/*.tsx'

๋น„์–ด ์žˆ์œผ๋ฉด OK (์˜ˆ์™ธ: globals.css/tailwind.config.ts ํ† ํฐ ์ •์˜๋ถ€).