Skip to content

220903 Meeting Note

Chaejung Kim edited this page Sep 3, 2022 · 2 revisions

์ผ์‹œ : 22.09.03 14:00~

์žฅ์†Œ : ์„ ๋ฆ‰ ์ €์ŠคํŠธ์ฝ”ํƒ€์›Œ (์˜คํ”„๋ผ์ธ) + ์˜จ๋ผ์ธ

์ฐธ์„์ž : ๋ฌธ๊ธฐ๋‹˜, ๋ฐ”์šธ๋‹˜, ์ฑ„์ •๋‹˜, ๋ฏผ์ •๋‹˜(์˜จ๋ผ์ธ), ์˜ˆ์ง„๋‹˜


๋…ผ์˜ ์•ˆ๊ฑด

1. type

๊ด€๋ จ ๋งํฌ

<๋ฌธ์ œ ์ƒํ™ฉ>

PR์„ ์˜ฌ๋ ค์„œ type ํŒŒ์ผ์„ ์–ด๋–ป๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์„๊นŒ. ์ฆ‰, ํƒ€์ž… ์ œ๊ณต ๋ฐฉ์‹์— ๋Œ€ํ•œ ์„ ํƒ์ด ํ•„์š”ํ•˜๋‹ค.

ํ˜„์žฌ๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์ด @githru/${package}๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ

ํƒ€์ž… ์ œ๊ณต ๋ฐฉ์‹ SOL 1) monorepo์—์„œ type์„ ๊บผ๋‚ด์˜ค๋Š” ๋ฐฉ์‹

  • ์šฐ๋ ค๋˜๋Š” ๋ถ€๋ถ„

    interface ์ •์˜์— ๋Œ€ํ•œ PR ๋จธ์ง€ -> ํ•ด๋‹น typeํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋Š” view repo์—์„œ PR ๋จธ์ง€ -> interface ์ •์˜ ๋ณ€๊ฒฝ PR ๋จธ์ง€ -> ์–ธ์ œ๋‚˜ ์—๋Ÿฌ๋‚จ

ํƒ€์ž… ์ œ๊ณต ๋ฐฉ์‹ SOL 2) npm publish๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ

  • ์šฐ๋ ค๋˜๋Š” ๋ถ€๋ถ„

    ๋ฐฐํฌ ๋‹จ์œ„๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐ€์ ธ๊ฐˆ ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•œ ์˜๋ฌธ

@๋ฐ”์šธ: ์ทจํ–ฅ์€ monorepo

@๋ฏผ์ •: monorepo๋ฅผ ์จ๋ณด๊ณ  ์‹ถ๊ธด ํ•˜๋‹ค.

@์˜ˆ์ง„: ์–ด๋–ค ๊ฒƒ์ด ์ข‹์„์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

=> ์šฐ์„ ์€ ์ƒํ™ฉ๋งŒ ์ธ์ง€๋ฅผ ํ•˜๊ณ  ํ˜„์žฌ mono repo ๋ฐฉ์‹์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฒฐ์ •

ํƒ€์ž… ์ œ๊ณต ํ˜•ํƒœ SOL 1) src/types/index ํ•˜์œ„์—์„œ ์ „๋ถ€ ๊ด€๋ฆฌ

์žฅ์ : index.ts์—์„œ ํƒ€์ž… ํŒŒ์ผ์— ๋Œ€ํ•œ ์ œ์–ด ๊ฐ€๋Šฅ ๋‹จ์ : index.ts์— ๋Œ€ํ•ด ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค

ํƒ€์ž… ์ œ๊ณต ํ˜•ํƒœ SOL 2) src/types์— ๋‘๋Š”๋ฐ, ๊ฐ๊ฐ exportํ•œ๋‹ค, ~~.d.ts

์žฅ์ : ์ถ”๊ฐ€ ์ž‘์—…์ด ํ•„์š”์—†๊ณ , ๋ช…ํ™•ํ•˜๋‹ค. ๋‹จ์ : import ๋ฌธ์ด ๊ธธ์–ด์ง„๋‹ค.

@๋ฐ”์šธ: SOL 2)๊ฐ€ ํŒŒ์ผ ๋ถ„๋ฆฌ๋ฅผ ํ•ด์„œ ๋ช…ํ™•ํ•  ๊ฒƒ์ด๋‹ค, ๊ทธ๋Ÿฌ๋‚˜ ์ค„์ค„์ด ๊ธธ์–ด์งˆ ๊ฒƒ

@์˜ˆ์ง„: viewํŒ€์ด ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ์ƒ๊ฐํ•˜๋”๋ผ๋„, ๊ฒฝ๋กœ ๊ด€๋ฆฌ์— ์ˆ˜์›”ํ•˜๋ ค๋ฉด SOL 1์ด ๋‚ซ๋‹ค.

@๋ฐ”์šธ: ์–ผ๋งˆ๋‚˜ ํƒ€์ž…์ด ์†Œ๋น„๋  ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ์ง„๋‹˜ ์˜๊ฒฌ์— ๋™์˜ํ•œ๋‹ค.

=> ๊ท€์ฐฎ๋”๋ผ๋„ index.ts์— ๋ชจ์œผ๋Š” ๊ฒƒ์œผ๋กœ ๊ฒฐ์ •

2. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ PR ๋ฐฉ์‹์— ๋Œ€ํ•œ ๋…ผ์˜

SOL 1) ํ…Œ์ŠคํŠธ PR -> ๊ธฐ๋Šฅ PR

๊ธฐ๋Šฅ PR์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ์„ ๋•Œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ๋ฌธ์ œ์ธ์ง€, ๊ธฐ๋Šฅ์ด ๋ฌธ์ œ์ธ์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์—†๋‹ค.

๊ธฐ๋Šฅ์ด ๋ฌธ์ œ๋ผ๋ฉด ํ•ด๋‹น PR์—์„œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋˜๋Š”๋ฐ,

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ๋ฌธ์ œ๋ผ๋ฉด ๋ณต์žกํ•ด์ง„๋‹ค.

๋˜๋Š” SOL 2) ๊ธฐ๋Šฅ PR -> ํ…Œ์ŠคํŠธ ์ฝ”๋“œ PR

์œ„์˜ ๋ฐฉ์‹๊ณผ ์ˆœ์„œ์˜ ์ฐจ์ด

๊ทธ๋ฆฌ๊ณ  TDD์— ๋งž์ง€ ์•Š๋‹ค!

@๋ฐ”์šธ: ์›๋ž˜๋Š” test ์ž‘์„ฑ ๋’ค ํ•ด๋‹น test๋ฅผ ํ†ต๊ณผํ•˜๋Š” ํ๋ฆ„์ด ์ผ๋ฐ˜์ ์ธ๋ฐ(TDD) ํ•˜์ง€๋งŒ ํ˜„์žฌ githru ์ž‘์—… ๋ฐฉ์‹์€ ๋น„๋™๊ธฐ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ฐฉ์‹์€ ๋งž์ง€ ์•Š์Œ. ์ฝ”๋“œ๋ฅผ ์“ฐ๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ๋ถ™์ด๋ฏ€๋กœ์จ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ์ •๋„๋กœ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค.

@์ฑ„์ •: PR์„ ํ•˜๋‚˜๋กœ๋งŒ ๊ตฌ์„ฑํ•˜์ž. ๋‚˜๋จธ์ง€ ํ•œ ๋ช…์ด fork๋œ repo๋ฅผ cloneํ•ด์„œ ํŽ˜์–ด๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ.

@๋ฌธ๊ธฐ: ์œ„ ๋ฐฉ์‹๋Œ€๋กœ๋ผ๋ฉด ํ•ด๋‹น PR์ด ๋ฌธ์ œ๊ฐ€ ์—†์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฐ€์ •์ด ํ•„์š”ํ•˜๋‹ค.

@์˜ˆ์ง„: DAG ์ž‘์—… ์ค‘ ๊ตฌํ˜„ ๊ฒฐ๊ณผ๋ฌผ์ด ์ œ๋Œ€๋กœ ๋‚˜์˜ค์ง€ ์•Š์€ ์ƒํ™ฉ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ์—Ž์–ด์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์–ด ์œ„ํ—˜ํ•˜๋‹ค.

@๋ฐ”์šธ: feature๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์ด ํ…Œ์ŠคํŠธ๊นŒ์ง€ ๋‹ด๋‹นํ•ด์„œ ๊ฐ€๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๊ธด ํ•จ.

@๋ฌธ๊ธฐ: ๊ฐ์ž ์ง„ํ–‰ํ•˜๋Š” ํŒ€๋ผ๋ฆฌ ์ž์œ ๋กญ๊ฒŒ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•œ ๋’ค ๊ฐ๊ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ผ€์ด์Šค์—์„œ ๋ฌธ์ œ์ ์„ ๊ณต์œ ํ•˜์ž.

=> ๊ฐ ํŒ€๋งˆ๋‹ค(์ฑ„์ •&๋ฏผ์ •, ์˜ˆ์ง„&๋ฐ”์šธ)๋งˆ๋‹ค ์ƒ์˜ํ•ด์„œ ์˜์‚ฌ๊ฒฐ์ •์„ ํ•˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Clone this wiki locally