Community

๊ฐœ๋ฐœ์ž 99% ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ˆ˜๋‹ค ๋–จ์–ด์š”!

โ† Go back
๐Ÿ“š๋…ธ๋งˆ๋“œ ๊ฐœ๋ฐœ์ž ๋ถํด๋Ÿฝ '์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ'(1๊ธฐ) 5์ผ์ฐจ
โ€ข#pragmaticโ€ข
2๋…„ ์ „
โ€ข
767
โ€ข
1
โ€ข

์˜ค๋Š˜ TIL 3์ค„ ์š”์•ฝ

  • ๋„๊ตฌ์— ์œ ์ฐฝํ•ด์ ธ๋ผ(์ผ๋ฐ˜ ํ…์ŠคํŠธ, ์…ธ, ์—๋””ํ„ฐ, VCS ๋“ฑ)

  • GUI ํ™˜๊ฒฝ์—์„œ ๋ฒ—์–ด๋‚˜ CLI ํ™˜๊ฒฝ, ์…ธ์— ์ต์ˆ™ํ•ด์ ธ๋ผ.

  • ๋””๋ฒ„๊น…์€ ๋ฌธ์ œ ํ’€์ด๋ผ๊ณ  ๋ฐ›์•„๋“ค์ด๊ณ  ํ•ด๊ฒฐํ•  ๋• ๊ทผ๋ณธ ์›์ธ์„ ์ฐพ์•„๋ผ.

TIL (Today I Learned) ๋‚ ์งœ

2022.03.23

์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„

3์žฅ. ๊ธฐ๋ณธ ๋„๊ตฌ

์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ์„ ์จ๋ณด์„ธ์š”.

  • ์ผ๋ฐ˜ ํ…์ŠคํŠธ

    • ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋ผ๋ฉด ๋ฐ์ดํ„ฐ ๊ทธ ์ž์ฒด๋งŒ์œผ๋กœ ์˜๋ฏธ๊ฐ€ ๋“œ๋Ÿฌ๋‚˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ. ์ฆ‰, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋…๋ฆฝ์ ์ธ ๊ฒƒ.

    • ์ผ๋ฐ˜ ํ…์ŠคํŠธ๊ฐ€ ํ˜•์‹์ด ์—†๋Š” ํ…์ŠคํŠธ๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ X. HTML, JSON, YAML ๋“ฑ์€ ๋ชจ๋‘ ์ผ๋ฐ˜ ํ…์ŠคํŠธ. HTTP, SMTP, IMAP ๋“ฑ ์ธํ„ฐ๋„ท์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ•ต์‹ฌ ํ”„๋กœํ† ์ฝœ๋„ ๋Œ€๋ถ€๋ถ„ ์ผ๋ฐ˜ ํ…์ŠคํŠธ.

    • ์œ ๋‹‰์Šค์—์„œ๋Š” ์‚ฌ์šฉ์ž, ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋„คํŠธ์›Œํฌ ์„ค์ • ๋“ฑ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ชจ๋‘ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ €์žฅ.

  • ํšŒ๊ท€ ํ…Œ์ŠคํŠธ(regression test) - ๋™์ผํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ์จ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ถ”๊ฐ€๋˜์—ˆ์„ ๋•Œ ๊ธฐ์กด ๊ธฐ๋Šฅ์ด ์—ฌ์ „ํžˆ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ํ…Œ์ŠคํŠธ. ํšŒ๊ท€ ํ…Œ์ŠคํŠธ์—์„œ ์ฐพ์•„๋‚ธ ๋ฌธ์ œ๋ฅผ ๋ฆฌ๊ทธ๋ ˆ์…˜(regression)์ด๋ผ ๋ถ€๋ฅด๊ธฐ๋„ ํ•จ.

  • ๋ชจ๋“  ์ž‘์—…์„ GUI๋กœ๋งŒ ํ•˜๋ฉด ์—ฌ๋Ÿฌ๋ถ„์ด ๊ฐ€์ง„ ํ™˜๊ฒฝ์˜ ๋Šฅ๋ ฅ์„ ์ „๋ถ€ ์ด์šฉํ•  ์ˆ˜ ์—†๋‹ค. GUI์˜ ์žฅ์ ์€ WYSIWYG(What You See Is What You Get), ์ฆ‰ ์—ฌ๋Ÿฌ๋ถ„์ด ๋ณด๋Š” ๊ฒƒ์ด ์—ฌ๋Ÿฌ๋ถ„์ด ์–ป๋Š” ๊ฒƒ์ด๋ผ๋Š” ์ ์ด์ง€๋งŒ, ๋‹จ์ ์€ WYSIAYG(What You See Is All You Get), ์ฆ‰ ์—ฌ๋Ÿฌ๋ถ„์ด ๋ณด๋Š” ๊ฒƒ์ด ์—ฌ๋Ÿฌ๋ถ„์ด ์–ป๋Š” ์ „๋ถ€๋ผ๋Š” ๊ฒƒ์ด๋‹ค. GUI ํ™˜๊ฒฝ์˜ ๊ธฐ๋Šฅ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์„ค๊ณ„์ž๊ฐ€ ์˜๋„ํ•œ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด์„ค ์ˆ˜ ์—†๋‹ค.

  • ์—ฌ๋Ÿฌ๋ถ„์€ ์…ธ ์•ˆ์—์„œ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ณด๋‚ด๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์†Œ๋ผ๊ฒŒ์ฒ˜๋Ÿผ ์กฐ๊ฐœ ๊ป๋ฐ๊ธฐ(shell), ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์…ธ์„ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ง‘์œผ๋กœ ๋งŒ๋“ค์–ด๋ผ.

  • ๋””๋ฒ„๊น…์„ ํ’€์–ด์•ผ ํ•  ํผ์ฆ๋กœ ๊ณต๋žตํ•˜๋Š” ๋Œ€์‹  ํ˜„์‹ค ๋ถ€์ •์ด๋‚˜ ์†๊ฐ€๋ฝ์งˆ, ์–ด์„คํ”ˆ ๋ณ€๋ช…, ๋ฌด๊ด€์‹ฌ์œผ๋กœ ๋Œ€ํ•˜๋Š” ์‚ฌ๋žŒ๊ณผ ๋งˆ์ฃผ์น˜๊ธฐ๋„ ํ•œ๋‹ค. ๋””๋ฒ„๊น…์€ ๋‹จ์ง€ ๋ฌธ์ œ ํ’€์ด์ผ ๋ฟ์ด๋ผ๋Š” ์‚ฌ์‹ค์„ ๋ฐ›์•„๋“ค์ด๊ณ , ๊ทธ๋Ÿฐ ๋งˆ์Œ์œผ๋กœ ๊ณต๋žตํ•˜๋ผ.

  • ๊ฒ‰์œผ๋กœ ๋“œ๋Ÿฌ๋‚œ ํŠน์ •ํ•œ ์ฆ์ƒ๋งŒ ๊ณ ์น˜๋ ค๊ณ  ํ•˜์ง€ ๋ง๊ณ , ํ•ญ์ƒ ๋ฌธ์ œ์˜ ๊ทผ๋ณธ ์›์ธ์„ ์ฐพ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋ผ.

  • "์ฝ”๋“œ๋ฅผ ๊ณ ์น˜๊ธฐ ์ „ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ถ€ํ„ฐ."

  • ์ด์ง„ ๋ถ„ํ•  - ํ”„๋กœ๊ทธ๋žจ์ด ์ฃฝ๋Š”๋‹ค๋ฉด ์ด์ง„ ๋ถ„ํ• ์„ ํ™œ์šฉํ•ด์„œ ์ •ํ™•ํžˆ ์–ด๋–ค ์ž…๋ ฅ๊ฐ’์ด ๋ฒ”์ธ์ธ์ง€ ์ฐพ์•„๋‚ด๋ผ. (131p)

  • ๋ฒ„๊ทธ์™€ ๊ด€๋ จ๋œ ๋ฃจํ‹ด์ด๋‚˜ ์ฝ”๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฑธ '์•ˆ๋‹ค'๊ณ  ํ•ด์„œ ๋Œ€์ถฉ ์–ผ๋ฒ„๋ฌด๋ฆฌ๊ณ  ์ง€๋‚˜์น˜์ง€ ๋ง๋ผ. ๊ทธ๊ฒƒ์„ ์ฆ๋ช…ํ•˜๋ผ. ์ด ๋งฅ๋ฝ ์•ˆ์—์„œ, ์ด ๋ฐ์ดํ„ฐ๋กœ, ์ด ๊ฒฝ๊ณ„ ์กฐ๊ฑดํ•˜์—์„œ ์ฆ๋ช…ํ•˜๋ผ.

  • ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊น€์—, ํ˜น์‹œ ์ด๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์„ ๋ฒ•ํ•œ ๋‹ค๋ฅธ ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด์ž. ๋ฐ”๋กœ ์ง€๊ธˆ ๊ทธ๊ฒƒ๋“ค์„ ์ฐพ์•„์„œ ๊ณ ์ณ์•ผ ํ•œ๋‹ค. ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ฌ๋“ ์ง€ ๊ฐ„์— ๋˜‘๊ฐ™์€ ์ผ์ด ๋‹ค์‹œ ๋ฐœ์ƒํ•˜๋ฉด ๊ทธ ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ผ.

์˜ค๋Š˜ ์ฝ์€ ์†Œ๊ฐ์€? ๋– ์˜ค๋ฅด๋Š” ์ƒ๊ฐ์„ ๊ฐ€๋ณ๊ฒŒ ์ ์–ด๋ณด์„ธ์š”

  • GUI ํ™˜๊ฒฝ์— ์ต์ˆ™ํ•ด์ ธ์žˆ๋Š” ์™€์ค‘์—๋„ ํ•ญ์ƒ ํ•œ๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•ด์™”๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ์ฑ…์—์„œ๋„ ๊ทธ ๋ถ€๋ถ„์„ ์ ์–ด๋‘๋‹ˆ ํ™•์‹คํžˆ ์…ธ์— ์ต์ˆ™ํ•ด์ ธ์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค. ๋‚ด๊ฐ€ ํ•„์š”ํ•œ๊ฒŒ ๋งŒ๋“ค์–ด์ ธ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋งŒ๋“ค์–ด๋„ ๋ด์•ผ๊ฒ ๋‹ค.

  • ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฒ„๊ทธ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ์ฑ…์ž„์„ ๋ฌป๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์—ˆ๋Š”๋ฐ, ์•ž์œผ๋กœ๋Š” ๋‚˜ ์Šค์Šค๋กœ์—๊ฒŒ๋‚˜ ํŒ€์›์—๊ฒŒ๋„ ๊ท€์ฑ…์„ ๋ฌป๊ธฐ๋ณด๋‹ค๋Š” ๊ทธ์ € '๋ฌธ์ œ ํ’€์ด'๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ํ•ด๊ฒฐํ•ด์•ผ๊ฒ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋”ฑ ๋“œ๋Ÿฌ๋‚œ ๋ฒ„๊ทธ๋งŒ์„ ๊ณ ์น˜๊ธฐ๋ณด๋‹ค๋Š” ๋ถˆ์•ˆํ–ˆ๊ฑฐ๋‚˜ ์ด์™€ ๋น„์Šทํ•œ ์ฝ”๋“œ๋“ค์„ ๋‹ค์‹œ ์‚ดํŽด๋ณด๋Š” ์Šต๊ด€๋„ ๊ธธ๋Ÿฌ์•ผ๊ฒ ๋‹ค.

๊ถ๊ธˆํ•œ ๋‚ด์šฉ์ด ์žˆ๊ฑฐ๋‚˜, ์ž˜ ์ดํ•ด๋˜์ง€ ์•Š๋Š” ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ์ ์–ด๋ณด์„ธ์š”.

  • ์นธ๋ฐ˜ ๋ณด๋“œ(kanban board) - https://en.wikipedia.org/wiki/Kanban_board

  • ๋ถ„ํ•  ์ •๋ณต(divide and conquer) - ์ด์ง„ ํƒ์ƒ‰, ํ€ต ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ํŠธ๋ ˆ์ด์‹ฑ ๊ตฌ๋ฌธ - '์—ฌ๊ธฐ๊นŒ์ง€ ๋„๋‹ฌ'์ด๋‚˜ 'x๊ฐ’ = 2'๊ฐ™์ด ํ™”๋ฉด ํ˜น์€ ํŒŒ์ผ์— ์ถœ๋ ฅํ•˜๋Š” ์ž‘์€ ์ง„๋‹จ์šฉdiagnostic ๋ฉ”์‹œ์ง€

1 comment