<Weekly Log> 2022-45 Week

kukjunLEEยท2022๋…„ 11์›” 12์ผ
0

Weekly Log(2022)

๋ชฉ๋ก ๋ณด๊ธฐ
15/23

์ง€๋‚œ์ฃผ ํšŒ๊ณ 


๊ฐœ๋ฐœ์ธก๋ฉด

์กธ์—…์ž‘ํ’ˆ ํšŒ์˜ ์ง„ํ–‰ ํ›„, ์กธ์—…์ž‘ํ’ˆ ์ถ”๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ ํŒŒ์•… ํ›„ ๋™์˜์ƒ์ดฌ์˜ ์ง„ํ–‰

์ด๋ฒˆ ์กธ์—…์ž‘ํ’ˆ ํšŒ์˜๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ, ์ด๋ฒˆ์ฃผ์—๋Š” ๊ธฐ๋Šฅ์ ์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

์ˆ˜์ •ํ•œ ๋ถ€๋ถ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
1. TestCase ์ž‘์„ฑ
2. State๋ฅผ ํ•œ๊ธ€๋กœ ์„ค์ •
3. Frontend View ์ƒ‰๊ณผ ์œ„์น˜ ์ˆ˜์ •


์ˆ˜์ •ํ•ด์•ผํ•  ๋ถ€๋ถ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
1. Maker๊ฐ€ Tester ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ ํ•ด๊ฒฐ
2. Tester๊ฐ€ Maker ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ ํ•ด๊ฒฐ
3. Maker ์ˆ˜์ •ํ•  ๋•Œ, ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€๊ธฐ๋Šฅ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ
4. ๋กœ๊ทธ์ธ์ด ๊ณ„์† ์œ ์ง€๋˜๋Š”๊ฒƒ ํ•ด๊ฒฐ



์กธ์—…์ž‘ํ’ˆ ๊ทธ ์ดํ›„ ์ค€๋น„.

  1. ๋ชฉํ‘œ๋กœ ์žก์•˜๋˜, ๊น€์˜ํ•œ ์”จ ๊ฐ•์˜ 50% ์ˆ˜๊ฐ• ์™„๋ฃŒ !!
    ๊น€์˜ํ•œ์”จ ๊ฐ•์˜
  • ์Šคํ”„๋ง์„ ๋ฐฐ์šฐ๊ณ  ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ์ง€๋งŒ, ๋‚ด๊ฐ€ ํ–ˆ๋˜ ๊ฐœ๋ฐœ ๋ฐฉ์‹์€ ์–ธ์–ด๋„, ํ”„๋ ˆ์ž„์›Œํฌ๋„ ์ œ๋Œ€๋กœ ์•Œ์ง€ ๋ชปํ•œ์ƒํƒœ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒํ•ด์ค€ ๊ฐ•์˜์˜€๋‹ค.
  • ์กธ์—…์ž‘ํ’ˆ ์ œ์ž‘์„ ์œ„ํ•ด์„œ ์ง์ ‘ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฝ‘๊ณ  ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  Frontend๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  API ๋ชฉ๋ก์„ ์„ค๊ณ„ํ•˜๊ณ  Frontend, Backend๋ฅผ ์ด์šฉํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ–ˆ์ง€๋งŒ, ๋‹ค ์ฒ˜์Œ์ด๋‹ค ๋ณด๋‹ˆ Backend ๊ตฌ์กฐ๊ฐ€ ๊ทธ์•ผ๋ง๋กœ ๋ฏธ๋กœ์˜€๋‹ค ... ์–ด๋”œ ๋‚ด๋†”๋„ ๋ถ€๋„๋Ÿฌ์šด ๋‚ด ์ฝ”๋“œ ... :( ์ด์ œ ์˜ํ•œ์”จ ๊ฐ•์˜๋ฅผ ๋‹ค ๋“ฃ๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ๊ฒ ๋‹ค !!


  1. Java Stream ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„ ์‹ค์Šตํ•˜๊ณ  ๊ณต๋ถ€ !!
    Java Stream
  • Java Stream ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด์„œ, ์ „์— Java๋ฅผ ๋ฐฐ์šธ๋•Œ์—๋Š” ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.
  • ์–ธ์–ด๋งŒ ์‚ฌ์šฉํ•˜๋Š”๋ฐ์— ์žˆ์–ด์„œ๋Š” Stream์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•˜๊ณ  ํŽธํ•ด๋ณด์˜€๊ณ , ๊ทธ๋กœ ์ธํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ์— ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ, ์›น ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ปฌ๋ ‰์…˜์„ ๋‹ค๋ฃจ๋Š” ๊ฒƒ๋„ ๋งŽ๊ณ , ๊ฐ์ฒด ํ•˜๋‚˜ํ•˜๋‚˜์— ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค˜์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค... ํ•„์š”์„ฑ์„ ์•Œ๊ณ  ๋‚˜์„œ ๋‹ค์‹œ ๋ณด๋‹ˆ ๊ต‰์žฅํžˆ ์œ ์ตํ–ˆ๊ณ  ์•ž์œผ๋กœ ์ž์ฃผ ์‚ฌ์šฉํ•ด๋ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.



๊ณ„ํš ๋ถ„์„๊ณผ ๋ฌธ์ œ์  ๋ณด์™„

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋Œ€ํšŒ ์ˆ˜์ƒ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋Œ€ํšŒ์—์„œ ๊ต๋‚ด 2๋“ฑ์„ ํ–ˆ๋‹ค !!

ใ…Žใ…Žใ…Žใ…Ž ์žฅํ•™๊ธˆ๋„ ์ค€๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋ฒˆ์—” ์šด์ด ์ข‹์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค.


์•ž์œผ๋กœ๋„ ์ž์ฃผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ด์•ผ์ง€



์กธ์—…์ž‘ํ’ˆ ์ œ์ž‘ ๋งˆ๋ฌด๋ฆฌ
์กธ์—…์ž‘ํ’ˆ์— ๋” ์ด์ƒ์˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋ณด๋‹ค ์ „์ฒด์ ์ธ ๊ธฐ๋Šฅ์„ ๋‹ค๋“ฌ๋Š” ์—ญํ• ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค...

๋‚ด๊ฐ€ ๋งŒ๋“  ์กธ์—…์ž‘ํ’ˆ ํ™ˆํŽ˜์ด์ง€๋‹ค!! ๐Ÿค—



์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ๋ฌธ์ œ๋ฅผ ๊ณ„์† ์ ‘ํ•˜๊ณ  ์žˆ๋‹ค. ์ผ๋‹จ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๋ฌธ์ œ๋“ค์„ ๋‹ค ํ’€์–ด๋ณด๊ณ  ์–ด๋–ค ์œ ํ˜•์˜ ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ค๋Š”์ง€ ๊ณ„์† ๋ถ„์„ํ•ด๋ด์•ผ๊ฒ ๋‹ค.



์กธ์—…์ž‘ํ’ˆ ์™„์„ฑ ๊ทธ ์ดํ›„
์ด ์ „์— ์กธ์—…์ž‘ํ’ˆ์„ ๋งŒ๋“ค๊ณ  ๋‚˜์„œ ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ด ์žˆ๋Š”๋ฐ ์ ์€๋Œ€๋กœ, ์–ธ์–ด๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ๊ณต๋ถ€ํ•ด๋‚˜๊ฐ€๊ณ  ์žˆ๋‹ค. :)

๊ฐ€์žฅ ๋จผ์ € ์–ธ์–ด ๊ณต๋ถ€๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ž๋ฐ”์—์„œ๋„ ์–ด๋ ต๊ฒŒ ๋Š๊ผˆ์—ˆ๋˜ ์ŠคํŠธ๋ฆผ์„ ๋‹ค์‹œ ๊ณต๋ถ€ํ•ด๋ณด์•˜๋‹ค.
์ด์ œ ์ŠคํŠธ๋ฆผ์„ ์ด์šฉํ•ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ•œ๋ฒˆ ํ’€์–ด๋ด์•ผ๊ฒ ๋‹ค.





Trouble Shooting

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ Junit 5 ์‚ฌ์šฉ๋ฒ• ์ตํžˆ๊ธฐ

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ Junit 5 ์‚ฌ์šฉ๋ฒ• ์ตํžˆ๊ธฐ

  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๋ฉด ๋จผ์ € ํ…Œ์ŠคํŠธ๋ฅผ ๋„์™€์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ž๋ฐ” ์ง„์˜์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” Junit 5์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.



๋‹ค์Œ ์ฃผ ๊ณ„ํš


์กธ์—…์ž‘ํ’ˆ์˜ ๋งˆ๊ฐ๊ธฐ๊ฐ„
์กธ์—…์ž‘ํ’ˆ ๋งˆ๊ฐ๊ณผ ์ทจ์—…์ค€๋น„ ์ง„ํ–‰(๊ทธ๋Œ€๋กœ)

  1. ์กธ์—…์ž‘ํ’ˆ ์ˆ˜์ • ํ›„ ๋™์˜์ƒ ์ดฌ์˜
  2. ๊ฐœ์ธ ์ทจ์—…์ค€๋น„ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€๊ธฐ

๊ฐœ๋ฐœ์ธก๋ฉด

์กธ์—…์ž‘ํ’ˆ ๋งˆ๊ฐ

์กธ์—…์ž‘ํ’ˆ์„ ์œ„ํ•œ ํšŒ์˜ ์ผ์ •
1. 11์›” 14์ผ. ๋ฌธ์ œ์  ํ•ด๊ฒฐ ํ™•์ธ, ๊ฐœ๋ฐœํ•ด์•ผ ํ•  API ๋ช…์„ธ ์ž‘์„ฑ
2. 11์›” 18์ผ. ๋Œ€๋ฉด์œผ๋กœ ๋™์˜์ƒ์ดฌ์˜ ์ง„ํ–‰ ๋ฐ ์ˆ˜์ •
3. 11์›” 21์ผ. Capstone ๋™์˜์ƒ ์ œ์ถœ



์กธ์—…์ž‘ํ’ˆ ๊ทธ ์ดํ›„ ์ค€๋น„.

์ด๋ฒˆ์ฃผ ๋ชฉํ‘œ๋Š”
1. ๊น€์˜ํ•œ์”จ์˜ Spring ๊ฐ•์˜ 1ํŽธ ๋‹ค ๋“ฃ๊ธฐ
2. Java Generic ๊ณต๋ถ€ํ•˜๊ธฐ
3. Java Stream์„ ์ด์šฉํ•ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€๊ธฐ
4. ๋””์ž์ธํŒจํ„ด ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์‚ดํŽด๋ณด๊ธฐ (solid, stretagy pattern)

profile
Backend Developer

0๊ฐœ์˜ ๋Œ“๊ธ€