19.12.10) ์˜ค๋Š˜ ํ•˜๋ฃจ๋™์•ˆ ๊ณ ๋ฏผํ•œ ๊ฒƒ๋“ค (ATDD, Spring Boot Test ๋ฐ Test ๊ฐ์ฒด ๋“ฑ)

12.10) ์˜ค๋Š˜ ํ•˜๋ฃจ๋™์•ˆ eat-together ๊ฒŒ์‹œ๊ธ€ ๊ด€๋ จ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๋ฉฐ ๊ฒฝํ—˜ํ•œ ๊ฒƒ๋“ค with ํ‹ฐ๋ฒ„ ATDD ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ๋ฌธ์ œ ์ธ์‹ ATDD๋ฅผ ํ•˜๊ณ ์‹ถ์–ด์„œ ๊ฐ€์žฅ ํฐ ๋„๋ฉ”์ธ ๋ชจ๋ธ์ธ Article์„ ์žก๊ณ  ์‹œ์ž‘. ์ธ์ˆ˜ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ œ์ผ ๋จผ์ € ํ…Œ์ŠคํŠธ๋ฅผ ์งœ๊ณ  ๊นกํ†ต Controller๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง„ ๊ดœ์ฐฎ์€๋ฐ, Shop, Order, Menu, Item ๋“ฑ ๊ด€๋ จ๋œ ๋„๋ฉ”์ธ ๋ชจ๋ธ๋“ค์„ ๊ฐ‘์ž๊ธฐ ํ•œ๋ฒˆ์— ๋งŒ๋“œ๋ ค๋‹ˆ ๊ผฌ์ด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์—ฌ๊ธฐ์ €๊ธฐ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ, ํŠนํžˆ ๊ด€๊ณ„๋งคํ•‘ ๊ด€๋ จํ•ด์„  ๋”์šฑ ํž˜๋“ค์—ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๊ฐ ๋ชจ๋ธ๋“ค์„ ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ๋งŒ๋“ค๊ณ ์žˆ๋‹ค๋Š” ๋Š๋‚Œ์€ ์•ˆ๋“ค์—ˆ๊ณ , Article์— ํ•„์š”ํ•œ๋Œ€๋กœ ๊ธ‰ํ•˜๊ฒŒ ๋ผ์›Œ๋„ฃ์œผ๋ ค ๋งŒ๋“œ๋Š” ๋Š๋‚Œ์ด ๋“ค์—ˆ๋‹ค. ๋ฐฉํ–ฅ์„ ๋ฐ”๊ฟ”๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. Article์„ ์žก์•˜์œผ๋ฉด ๊นกํ†ต์„ ๋งŒ๋“ค๊ณ  ์ด์ œ..

Daily.log 2019. 12. 10. 21:37
Github์„ ๋” ์ž˜ ์‚ฌ์šฉํ•˜๋Š” ํŒ ๐Ÿ’ก

๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์ผ๋ฐ˜์ธ์—๊ฒŒ ๋„ค์ด๋ฒ„๋งŒํผ์ด๋‚˜ ํ‰์†Œ Github์— ์ž์ฃผ ๋“ค์–ด๊ฐ„๋‹ค. ๋ชจ๋ฅธ๋‹ค๊ณ  ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜์ง„ ์•Š์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ํŒ์„ ์•Œ๋ฉด Github์„ ํ›จ-์”ฌ! ํŽธํ•˜๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. (๊ฐœ์ธ์ ์œผ๋กœ ์˜ฅํ† ํŠธ๋ฆฌ๋ฅผ ์ฒ˜์Œ ์•Œ๊ฒŒ๋ฌ์„๋•, ๊ทธ๋™์•ˆ์˜ ๋‚ด ์ž์‹ ์—๊ฒŒ ๋ฌด์ฒ™ ๋ฏธ์•ˆํ•ด์กŒ๋‹ค :p) Octotree Chrome ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ Github ํ•„์ˆ˜ ํ™•์žฅ ์œ ํ‹ธ, IDE์ฒ˜๋Ÿผ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์„ค์น˜ํ•˜๋ฉด ์ƒ์‚ฐ์„ฑ์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ๋Š๋‚„ ์ˆ˜ ์žˆ๋‹ค. Isometric Contributions Chrome ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ Github ์ž”๋””๋ฐญ์„ ์ž…์ฒด ํ˜•ํƒœ๋กœ ์ด์˜๊ฒŒ ๋ณด์—ฌ์ค€๋‹ค. ๋’ท๋ถ€๋ถ„์ด ์กฐ๊ธˆ ๊ฐ€๋ ค์ง€๊ธด ํ•˜๋Š”๋ฐ ์›๋ž˜ ํ˜•ํƒœ๋กœ ๋‚˜์˜ค๋„๋ก ์„ ํƒํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค, ์ด์˜๋‹ˆ๊นŒ..!! Git History https://github...

Git 2019. 12. 7. 16:25
๋…ธ์…˜(Notion)์„ ํ™œ์šฉํ•œ ๊ฐœ๋ฐœ์ž ์ด๋ ฅ์„œ ๊ด€๋ฆฌ

๋‚˜์˜ ์ฒซ ๊ฐœ๋ฐœ์ž ์ด๋ ฅ์„œ ์ž‘์„ฑ ๋ฐฐ๊ฒฝ ๋•Œ๋Š” 19๋…„ ๊ฐ€์„, ํ‰์ƒ์„ ํ•™์ƒ์œผ๋กœ ์‚ด์•„์˜ค๋˜ ๋‚˜๋„ ๋“œ๋””์–ด '๊ตฌ์งํ™œ๋™'์ด๋ž€ ๊ฒƒ์„ ์Šฌ์Šฌ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. Word๋ฅผ ์ด์šฉํ•ด ํ‘œ๋กœ ์ด๋ค„์ง„ ์ „ํ†ต์ ์ธ ์ด๋ ฅ์„œ ํ…œํ”Œ๋ฆฟ๋ณด๋‹จ, ์˜ˆ์ „์— ๋ณด์•˜๋˜ ๊ฐœ๋ฐœ์ž์Šค๋Ÿฌ์šด ์ด๋ ฅ์„œ๋ฅผ ๋งŒ๋“ค๊ธฐ๋กœ ๋งˆ์Œ๋จน์—ˆ๋‹ค. ์ „๋ถ€ํ„ฐ ๋ถ๋งˆํฌ ํ•ด์˜จ ๋งํฌ๋“ค์„ ๋‹ค์‹œ ๋’ค์ง€๊ณ , ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์˜ ์ด๋ ฅ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉฐ ๋‚˜๋„ ๋‚˜๋งŒ์˜ ์ด๋ ฅ์„œ๋ฅผ ์™„์„ฑํ•ด๋ƒˆ๋‹ค. ์ฐธ๊ณ ๋กœ ๋Œ€๋ถ€๋ถ„์˜ ๋งํฌ๋“ค์€ ์ฃผ๋‹ˆ์–ด๋“ค์˜ ์„ฑ์ง€์ธ junior-recruit-scheduler์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ด ๊ธ€์€ ๋…ธ์…˜์„ ํ™œ์šฉํ•œ ๋‚ด ๊ฐœ๋ฐœ์ž ์ด๋ ฅ์„œ ํ…œํ”Œ๋ฆฟ ์˜ˆ์‹œ์™€ ์ฒซ ์ด๋ ฅ์„œ ์ž‘์„ฑ ํ›„๊ธฐ ์ •๋„์˜ ๋‚ด์šฉ์„ ํฌํ•จํ•œ๋‹ค. '์ข‹์€ ์ด๋ ฅ์„œ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์™€ ์–ด๋–ค ๋‚ด์šฉ์„ ํฌํ•จํ•ด์•ผํ•˜๋Š”์ง€'์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ๊ธ€์ด ๊ธธ์–ด์งˆ๊ฒƒ๊ฐ™์•„ ์ผ๋ถ€๋Ÿฌ ์ƒ๋žตํ–ˆ๋‹ค. ์ด๋Ÿฐ ๋‚ด์šฉ์„ ์›ํ•œ๋‹ค๋ฉด, ์•„๋ž˜์— ์–ธ..

Etc 2019. 12. 3. 21:12
Collection.stream().forEach() vs Collection.forEach()

์˜ˆ์ „์— ๋ฏธ์…˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์ธ์ง€ํ•ด ์ •๋ฆฌํ–ˆ๋˜ ๋‚ด์šฉ์„ ํฌ์ŠคํŒ… Collection.stream().forEach() vs Collection.forEach() ์ˆœ์„œ Collection.forEach๋Š” ์ปฌ๋ ‰์…˜์˜ iterator๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ˆœ์„œ๊ฐ€ ๋ช…ํ™•ํ•˜๋‹ค. ๋ฐ˜๋ฉด Stream.forEach๋Š” ์ˆœ์„œ๊ฐ€ ๋ช…ํ™•ํ•˜์ง€ ์•Š๋‹ค. ์ˆœ์ฐจ์ŠคํŠธ๋ฆผ์ด๋ผ๋ฉด ๋ณดํ†ต ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋˜์ง€๋งŒ ๋ณ‘๋ ฌ์ŠคํŠธ๋ฆผ์ด๋ผ๋ฉด ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค. Collection ์ˆ˜์ •๊ณผ Side Effect Collection.forEach๋Š” iter๋™์•ˆ ๊ตฌ์กฐ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์–ด์„  ์•ˆ๋œ๋‹ค. ์ˆœํšŒํ•˜๋Š” ๋™์•ˆ ์š”์†Œ๊ฐ€ ์ถ”๊ฐ€/์‚ญ์ œ๋˜๋ฉด ConcurrentModification Execption์ด ๋ฐœ์ƒํ•œ๋‹ค. ๋™์‹œ์— ์ปฌ๋ ‰์…˜์€ fail-fastํ•˜๊ฒŒ ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ฆ‰ ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ฐ”๋กœ ์˜ˆ์™ธ๊ฐ€..

General, Java 2019. 11. 20. 21:51
์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค) Lv3 - 7~9์ฃผ์ฐจ [DI ๊ตฌํ˜„] ๋ฏธ์…˜ ํ›„๊ธฐ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ

Lv3 - 7~9์ฃผ์ฐจ ๋ฏธ์…˜ : DI ๊ตฌํ˜„ https://github.com/woowacourse/jwp-di ํ•™์Šต๋ชฉํ‘œ DI ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌํ˜„์„ ํ†ตํ•ด DI ๊ฐœ๋…๊ณผ Spring ํ”„๋ ˆ์ž„์›Œํฌ ์ดํ•ด AOP ๊ฐœ๋… ๋ฐ Spring AOP ์ ์šฉ Transaction๊ณผ Spring Transaction ์š”๊ตฌ์‚ฌํ•ญ step1 BeanFactory, BeanScanner ๊ตฌํ˜„ ์ด์ „์˜ MVC ๋ฏธ์…˜ ์ฝ”๋“œ๊นŒ์ง„, ์ž๋ฐ” Reflection์„ ํ™œ์šฉํ•ด @Controller๋ฅผ ์ฐพ์•„ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  URL ๋งคํ•‘์„ ์ž๋™ํ™”ํ–ˆ๋‹ค. ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ @Service, @Repository๋„ ๊ฐ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ๊ณผ ์˜์กด๊ด€๊ณ„ ์„ค์ •์„ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์ž๋™ํ™”ํ•œ๋‹ค. ๊ฐ ์ธ์Šคํ„ด์Šค๊ฐ„์˜ ์˜์กด๊ด€๊ณ„๋Š” @Inject ์–ด๋…ธํ…Œ์ด์…˜ ์‚ฌ์šฉ MVC๋ชจ๋“ˆ์˜ Controll..

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ