์ฑ„๋„ํ†ก ์•„์ด์ฝ˜
BEST

๊น€์˜ํ•œ์˜ ์‹ค์ „ ์ž๋ฐ” - ๊ณ ๊ธ‰ 2ํŽธ, I/O, ๋„คํŠธ์›Œํฌ, ๋ฆฌํ”Œ๋ ‰์…˜

I/O, ๋„คํŠธ์›Œํฌ, ๋ฆฌํ”Œ๋ ‰์…˜, ์• ๋…ธํ…Œ์ด์…˜์„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ค๋ฌด ๋ ˆ๋ฒจ๊นŒ์ง€ ๊นŠ์ด์žˆ๊ฒŒ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS)๋ฅผ ์ž๋ฐ”๋กœ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค.

์ƒˆ์†Œ์‹

3 ๊ฐœ

  • ๏ฝฅ

    ์ˆ˜์ •๋จ

    ์•ˆ๋…•ํ•˜์„ธ์š”. ์—ฌ๋Ÿฌ๋ถ„ ๋“œ๋””์–ด ์ž๋ฐ” ๊ณ ๊ธ‰3ํŽธ ์ž๋ฐ” ๋กœ๋“œ๋งต์˜ ๋งˆ์ง€๋ง‰ ๊ฐ•์˜๋ฅผ ์˜คํ”ˆํ–ˆ์Šต๋‹ˆ๋‹ค.

    ๋งํฌ: https://inf.run/iZKKT

    ๊น€์˜ํ•œ์˜ ์‹ค์ „ ์ž๋ฐ” - ๊ณ ๊ธ‰ 3ํŽธ, ๋žŒ๋‹ค, ์ŠคํŠธ๋ฆผ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

    • ๊ฐ•์˜ ์‹œ๊ฐ„: 16์‹œ๊ฐ„ 40๋ถ„

    • ๊ฐ•์˜ ์ˆ˜: 97๊ฐ•

    • ๊ฐ•์˜ PDF ์ž๋ฃŒ: 387 ํŽ˜์ด์ง€ 

       

    [๊ฐ•์˜ ์†Œ๊ฐœ]

    ๋žŒ๋‹ค, ์ŠคํŠธ๋ฆผ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ™์€ ์ตœ์‹  ์ž๋ฐ”์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ƒˆ๋กœ์šด ๋ฌธ๋ฒ•๊ณผ ๊ธฐ์ˆ ๋“ค์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.โ€จ์ด๋ฒˆ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ถ„์ด ๋žŒ๋‹ค, ์ŠคํŠธ๋ฆผ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ๋‹จ์ˆœํžˆ ์•„๋Š” ๊ฒƒ์„ ๋„˜์–ด์„œ ์‹ค๋ฌด์— ์ด ๊ธฐ์ˆ ๋“ค์„ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€, ๊นŠ์ด์žˆ๊ฒŒ ์ดํ•ดํ•˜๊ณ , ๋˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ฐ€๋ฅด์ณ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

    [๊ฐ•์˜ ๋‚ด์šฉ ์š”์•ฝ]

    ์ฃผ์š” ๊ฐ•์˜ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    1. ๋žŒ๋‹ค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

    ๊น”๋”ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋ฅผ ์œ„ํ•ด, ๊ทธ๋ฆฌ๊ณ  ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋žŒ๋‹ค๊ฐ€ ์ง€๊ธˆ์˜ ์ž๋ฐ”์—์„œ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

    2. ๋žŒ๋‹ค

    ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ๋žŒ๋‹ค์˜ ์ •์˜์™€ ๋ฌธ๋ฒ•, ํ™œ์šฉ ํŒ์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฐฉ์‹๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€, ๋˜ ์–ด๋–ค ์ ์ด ๋งค๋ ฅ์ ์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    3. ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค

    ๋žŒ๋‹ค์™€ ํ•จ๊ป˜ ์“ฐ์ด๋Š” ํ•„์ˆ˜ ๊ฐœ๋…์ธ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค!โ€จํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•œ ์ด์œ ์™€ ์ž๋ฐ” ํ‘œ์ค€ API์— ๋‚ด์žฅ๋œ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋“ค์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ „ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    4. ๋žŒ๋‹ค ํ™œ์šฉ

    ์‹ค๋ฌด ์ฝ”๋“œ์—์„œ ๋žŒ๋‹ค๋ฅผ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?โ€จ๋ฐ˜๋ณต๋˜๋Š” ํŒจํ„ด๊ณผ ๋ณต์žกํ•œ ๋กœ์ง์„ ๋‹จ์ˆœํ™”์‹œํ‚ค๋Š” ๋žŒ๋‹ค์˜ ํ•ต์‹ฌ ํ™œ์šฉ๋ฒ•์„ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์ตํ˜€๋ด…์‹œ๋‹ค.

    5. ๋žŒ๋‹ค vs ์ต๋ช… ํด๋ž˜์Šค

    ์–ด๋–ค ์ƒํ™ฉ์—์„œ ๋žŒ๋‹ค๊ฐ€ ๋” ํšจ์œจ์ ์ด๊ณ , ์–ด๋–ค ๊ฒฝ์šฐ์—” ์ต๋ช… ํด๋ž˜์Šค๋ฅผ ์จ์•ผ ํ•˜๋Š”์ง€ ๋น„๊ต ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

    6. ๋ฉ”์„œ๋“œ ์ฐธ์กฐ

    ์ž๋ฐ” 8๋ถ€ํ„ฐ ์ถ”๊ฐ€๋œ ๋ฉ”์„œ๋“œ ์ฐธ์กฐ ๋ฌธ๋ฒ•์€ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊น”๋”ํ•จ์„ ํ•œ ๋‹จ๊ณ„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด ์ค๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ ์ฐธ์กฐ ๋ฌธ๋ฒ•์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๊ณ , ์‹ค์šฉ์ ์ธ ํ™œ์šฉ ์˜ˆ์‹œ๋Š” ๋ฌด์—‡์ธ์ง€ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    7. ์ŠคํŠธ๋ฆผ API1 - ๊ธฐ๋ณธ

    ์ŠคํŠธ๋ฆผ API๋Š” ๋žŒ๋‹ค์™€ ํ•จ๊ป˜ ์ž๋ฐ” ์ปฌ๋ ‰์…˜์„ ๋‹ค๋ฃจ๋Š” ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๋ถ„๋“ค๋„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ, ์ŠคํŠธ๋ฆผ ๊ตฌ์กฐ์™€ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    8. ์ŠคํŠธ๋ฆผ API2 - ๊ธฐ๋Šฅ

    ํ•„ํ„ฐ๋ง, ๋งคํ•‘, ์ •๋ ฌ, ๋ฆฌ๋“€์Šค ๋“ฑ ์ŠคํŠธ๋ฆผ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋“ค์„ ์ฐจ๊ทผ์ฐจ๊ทผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค ๋” ์ง๊ด€์ ์ด๊ณ  ํ•จ์ถ•์ ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    9. ์ŠคํŠธ๋ฆผ API3 - ์ปฌ๋ ‰ํ„ฐ

    ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๊ณผ ๊ฐ€๊ณต์„ ์œ„ํ•ด ์ŠคํŠธ๋ฆผ์—์„œ ํ™œ์šฉํ•˜๋Š” Collector์˜ ๊ฐœ๋…์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. collect(), grouping, partitioning ๋“ฑ, ์‹ค๋ฌด์—์„œ ๊ผญ ํ•„์š”ํ•œ ์Šคํ‚ฌ๋“ค์„ ์ตํžˆ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    10. Optional

    null ์ฒ˜๋ฆฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•ด ์ฃผ๋Š” Optional์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•ด๋ด…์‹œ๋‹ค. isPresent(), orElse(), orElseThrow() ๋“ฑ ์‹ค์ „์—์„œ ์žฆ์€ NPE ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

    11. ๋””ํดํŠธ ๋ฉ”์„œ๋“œ

    ์ž๋ฐ” ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ƒˆ๋กœ์šด ๋ฉด๋ชจ์ธ ๋””ํดํŠธ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

    ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™•์žฅํ•  ๋•Œ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ•จ๊ป˜, ์˜ฌ๋ฐ”๋ฅธ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

    12. ๋ณ‘๋ ฌ ์ŠคํŠธ๋ฆผ

    ๊ณ ์„ฑ๋Šฅ์„ ์œ„ํ•œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ! ForkJoin ํ’€ ๋ถ€ํ„ฐ, ์ŠคํŠธ๋ฆผ API๋ฅผ ํ†ตํ•œ ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ™œ์šฉ ๋…ธํ•˜์šฐ์™€ ๋ณ‘๋ ฌ ์ŠคํŠธ๋ฆผ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์˜์‚ฌํ•ญ๋“ค์„ ํ•จ๊ป˜ ๋ฐฐ์›Œ ๋ณด์„ธ์š”.

    13. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

    ๋žŒ๋‹ค, ์ŠคํŠธ๋ฆผ API, Optional ๋“ฑ ์ž๋ฐ” 8 ์ดํ›„๋กœ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ๋“ค์€ ๋ชจ๋‘ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋ฐ˜์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์™€ ํ•จ์ˆ˜ํ˜• ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ์กฐํ™”๋ฅผ ํ†ตํ•ด, ๋” ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    3
  • ๏ฝฅ

    ์ˆ˜์ •๋จ

    ์•ˆ๋…•ํ•˜์„ธ์š”. ์—ฌ๋Ÿฌ๋ถ„ ๋“œ๋””์–ด 2๋…„์— ๊ฑธ์ณ์„œ ์ž๋ฐ” ๋กœ๋“œ๋งต์„ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

    ์ž๋ฐ” ๋กœ๋“œ๋งต์˜ ๋งˆ์ง€๋ง‰ ๊ฐ•์˜์ธ ๊น€์˜ํ•œ์˜ ์‹ค์ „ ์ž๋ฐ” - ๊ณ ๊ธ‰ 3ํŽธ, ๋žŒ๋‹ค, ์ŠคํŠธ๋ฆผ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

    ์˜คํ”ˆ ์ผ์ •์ด 3์›” 25์ผ(ํ™”) ~ 3์›” 28(๊ธˆ) ์‚ฌ์ด์— ์˜คํ”ˆํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ™•์ • ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    • ๊ฐ•์˜ ์‹œ๊ฐ„: 16์‹œ๊ฐ„ 40๋ถ„

    • ๊ฐ•์˜ ์ˆ˜: 97๊ฐ•

    • ๊ฐ•์˜ PDF ์ž๋ฃŒ: 387 ํŽ˜์ด์ง€

       

    [๊ฐ•์˜ ์†Œ๊ฐœ]
    ๋žŒ๋‹ค, ์ŠคํŠธ๋ฆผ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ™์€ ์ตœ์‹  ์ž๋ฐ”์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ƒˆ๋กœ์šด ๋ฌธ๋ฒ•๊ณผ ๊ธฐ์ˆ ๋“ค์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
    ์ด๋ฒˆ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ถ„์ด ๋žŒ๋‹ค, ์ŠคํŠธ๋ฆผ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ๋‹จ์ˆœํžˆ ์•„๋Š” ๊ฒƒ์„ ๋„˜์–ด์„œ ์‹ค๋ฌด์— ์ด ๊ธฐ์ˆ ๋“ค์„ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€, ๊นŠ์ด์žˆ๊ฒŒ ์ดํ•ดํ•˜๊ณ , ๋˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ฐ€๋ฅด์ณ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

     
    [๊ฐ•์˜ ๋‚ด์šฉ ์š”์•ฝ]

    ์ฃผ์š” ๊ฐ•์˜ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    1. ๋žŒ๋‹ค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

    ๊น”๋”ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋ฅผ ์œ„ํ•ด, ๊ทธ๋ฆฌ๊ณ  ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋žŒ๋‹ค๊ฐ€ ์ง€๊ธˆ์˜ ์ž๋ฐ”์—์„œ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

    2. ๋žŒ๋‹ค

    ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ๋žŒ๋‹ค์˜ ์ •์˜์™€ ๋ฌธ๋ฒ•, ํ™œ์šฉ ํŒ์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฐฉ์‹๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€, ๋˜ ์–ด๋–ค ์ ์ด ๋งค๋ ฅ์ ์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    3. ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค

    ๋žŒ๋‹ค์™€ ํ•จ๊ป˜ ์“ฐ์ด๋Š” ํ•„์ˆ˜ ๊ฐœ๋…์ธ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค!
    ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•œ ์ด์œ ์™€ ์ž๋ฐ” ํ‘œ์ค€ API์— ๋‚ด์žฅ๋œ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋“ค์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ „ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    4. ๋žŒ๋‹ค ํ™œ์šฉ

    ์‹ค๋ฌด ์ฝ”๋“œ์—์„œ ๋žŒ๋‹ค๋ฅผ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
    ๋ฐ˜๋ณต๋˜๋Š” ํŒจํ„ด๊ณผ ๋ณต์žกํ•œ ๋กœ์ง์„ ๋‹จ์ˆœํ™”์‹œํ‚ค๋Š” ๋žŒ๋‹ค์˜ ํ•ต์‹ฌ ํ™œ์šฉ๋ฒ•์„ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์ตํ˜€๋ด…์‹œ๋‹ค.

    5. ๋žŒ๋‹ค vs ์ต๋ช… ํด๋ž˜์Šค

    ์–ด๋–ค ์ƒํ™ฉ์—์„œ ๋žŒ๋‹ค๊ฐ€ ๋” ํšจ์œจ์ ์ด๊ณ , ์–ด๋–ค ๊ฒฝ์šฐ์—” ์ต๋ช… ํด๋ž˜์Šค๋ฅผ ์จ์•ผ ํ•˜๋Š”์ง€ ๋น„๊ต ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

    6. ๋ฉ”์„œ๋“œ ์ฐธ์กฐ

    ์ž๋ฐ” 8๋ถ€ํ„ฐ ์ถ”๊ฐ€๋œ ๋ฉ”์„œ๋“œ ์ฐธ์กฐ ๋ฌธ๋ฒ•์€ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊น”๋”ํ•จ์„ ํ•œ ๋‹จ๊ณ„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด ์ค๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ ์ฐธ์กฐ ๋ฌธ๋ฒ•์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๊ณ , ์‹ค์šฉ์ ์ธ ํ™œ์šฉ ์˜ˆ์‹œ๋Š” ๋ฌด์—‡์ธ์ง€ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    7. ์ŠคํŠธ๋ฆผ API1 - ๊ธฐ๋ณธ

    ์ŠคํŠธ๋ฆผ API๋Š” ๋žŒ๋‹ค์™€ ํ•จ๊ป˜ ์ž๋ฐ” ์ปฌ๋ ‰์…˜์„ ๋‹ค๋ฃจ๋Š” ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๋ถ„๋“ค๋„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ, ์ŠคํŠธ๋ฆผ ๊ตฌ์กฐ์™€ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    8. ์ŠคํŠธ๋ฆผ API2 - ๊ธฐ๋Šฅ

    ํ•„ํ„ฐ๋ง, ๋งคํ•‘, ์ •๋ ฌ, ๋ฆฌ๋“€์Šค ๋“ฑ ์ŠคํŠธ๋ฆผ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋“ค์„ ์ฐจ๊ทผ์ฐจ๊ทผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค ๋” ์ง๊ด€์ ์ด๊ณ  ํ•จ์ถ•์ ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    9. ์ŠคํŠธ๋ฆผ API3 - ์ปฌ๋ ‰ํ„ฐ

    ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๊ณผ ๊ฐ€๊ณต์„ ์œ„ํ•ด ์ŠคํŠธ๋ฆผ์—์„œ ํ™œ์šฉํ•˜๋Š” Collector์˜ ๊ฐœ๋…์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. collect(), grouping, partitioning ๋“ฑ, ์‹ค๋ฌด์—์„œ ๊ผญ ํ•„์š”ํ•œ ์Šคํ‚ฌ๋“ค์„ ์ตํžˆ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    10. Optional

    null ์ฒ˜๋ฆฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•ด ์ฃผ๋Š” Optional์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•ด๋ด…์‹œ๋‹ค. isPresent(), orElse(), orElseThrow() ๋“ฑ ์‹ค์ „์—์„œ ์žฆ์€ NPE ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

    11. ๋””ํดํŠธ ๋ฉ”์„œ๋“œ

    ์ž๋ฐ” ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ƒˆ๋กœ์šด ๋ฉด๋ชจ์ธ ๋””ํดํŠธ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

    ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™•์žฅํ•  ๋•Œ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ•จ๊ป˜, ์˜ฌ๋ฐ”๋ฅธ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

    12. ๋ณ‘๋ ฌ ์ŠคํŠธ๋ฆผ

    ๊ณ ์„ฑ๋Šฅ์„ ์œ„ํ•œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ! ForkJoin ํ’€ ๋ถ€ํ„ฐ, ์ŠคํŠธ๋ฆผ API๋ฅผ ํ†ตํ•œ ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ™œ์šฉ ๋…ธํ•˜์šฐ์™€ ๋ณ‘๋ ฌ ์ŠคํŠธ๋ฆผ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์˜์‚ฌํ•ญ๋“ค์„ ํ•จ๊ป˜ ๋ฐฐ์›Œ ๋ณด์„ธ์š”.

    13. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

    ๋žŒ๋‹ค, ์ŠคํŠธ๋ฆผ API, Optional ๋“ฑ ์ž๋ฐ” 8 ์ดํ›„๋กœ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ๋“ค์€ ๋ชจ๋‘ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋ฐ˜์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์™€ ํ•จ์ˆ˜ํ˜• ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ์กฐํ™”๋ฅผ ํ†ตํ•ด, ๋” ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

     

    [์ „์ฒด ๋ชฉ์ฐจ]

    1. ๋žŒ๋‹ค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

    * ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ๊ตฌ์„ฑ
    * ๋žŒ๋‹ค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 1
    * ๋žŒ๋‹ค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 2
    * ๋žŒ๋‹ค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 3
    * ํ•จ์ˆ˜ vs ๋ฉ”์„œ๋“œ
    * ๋žŒ๋‹ค ์‹œ์ž‘

    2. ๋žŒ๋‹ค

    * ๋žŒ๋‹ค ์ •์˜
    * ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค
    * ๋žŒ๋‹ค์™€ ์‹œ๊ทธ๋‹ˆ์ฒ˜
    * ๋žŒ๋‹ค์™€ ์ƒ๋žต
    * ๋žŒ๋‹ค์˜ ์ „๋‹ฌ
    * ๊ณ ์ฐจ ํ•จ์ˆ˜
    * ๋ฌธ์ œ์™€ ํ’€์ด1
    * ๋ฌธ์ œ์™€ ํ’€์ด2
    * ๋ฌธ์ œ์™€ ํ’€์ด3
    * ์ •๋ฆฌ

    3. ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค

    * ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ œ๋„ค๋ฆญ1
    * ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ œ๋„ค๋ฆญ2
    * ๋žŒ๋‹ค์™€ ํƒ€๊ฒŸ ํƒ€์ž…
    * ๊ธฐ๋ณธ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค
    * ํŠนํ™” ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค
    * ๊ธฐํƒ€ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค
    * ๋ฌธ์ œ์™€ ํ’€์ด
    * ์ •๋ฆฌ

    4. ๋žŒ๋‹ค ํ™œ์šฉ

    * ํ•„ํ„ฐ ๋งŒ๋“ค๊ธฐ1
    * ํ•„ํ„ฐ ๋งŒ๋“ค๊ธฐ2
    * ๋งต ๋งŒ๋“ค๊ธฐ1
    * ๋งต ๋งŒ๋“ค๊ธฐ2
    * ํ•„ํ„ฐ์™€ ๋งต ํ™œ์šฉ1
    * ํ•„ํ„ฐ์™€ ๋งต ํ™œ์šฉ2
    * ์ŠคํŠธ๋ฆผ ๋งŒ๋“ค๊ธฐ1
    * ์ŠคํŠธ๋ฆผ ๋งŒ๋“ค๊ธฐ2
    * ์ŠคํŠธ๋ฆผ ๋งŒ๋“ค๊ธฐ3
    * ์ŠคํŠธ๋ฆผ ๋งŒ๋“ค๊ธฐ4
    * ์ •๋ฆฌ

    5. ๋žŒ๋‹ค vs ์ต๋ช… ํด๋ž˜์Šค

    * ๋žŒ๋‹ค vs ์ต๋ช… ํด๋ž˜์Šค1
    * ๋žŒ๋‹ค vs ์ต๋ช… ํด๋ž˜์Šค2
    * ์ •๋ฆฌ

    6. ๋ฉ”์„œ๋“œ ์ฐธ์กฐ

    * ๋ฉ”์„œ๋“œ ์ฐธ์กฐ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 
    * ๋ฉ”์„œ๋“œ ์ฐธ์กฐ1 - ์‹œ์ž‘
    * ๋ฉ”์„œ๋“œ ์ฐธ์กฐ2 - ๋งค๊ฐœ๋ณ€์ˆ˜1
    * ๋ฉ”์„œ๋“œ ์ฐธ์กฐ3 - ์ž„์˜ ๊ฐ์ฒด์˜ ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ ์ฐธ์กฐ
    * ๋ฉ”์„œ๋“œ ์ฐธ์กฐ4 - ํ™œ์šฉ1
    * ๋ฉ”์„œ๋“œ ์ฐธ์กฐ5 - ํ™œ์šฉ2
    * ๋ฉ”์„œ๋“œ ์ฐธ์กฐ6 - ๋งค๊ฐœ๋ณ€์ˆ˜2
    * ์ •๋ฆฌ

    7. ์ŠคํŠธ๋ฆผ API1 - ๊ธฐ๋ณธ

    * ์ŠคํŠธ๋ฆผ API ์‹œ์ž‘
    * ์ŠคํŠธ๋ฆผ API๋ž€?
    * ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ
    * ์ง€์—ฐ ์—ฐ์‚ฐ
    * ์ง€์—ฐ ์—ฐ์‚ฐ๊ณผ ์ตœ์ ํ™”

    8. ์ŠคํŠธ๋ฆผ API2 - ๊ธฐ๋Šฅ

    * ์ŠคํŠธ๋ฆผ ์ƒ์„ฑ
    * ์ค‘๊ฐ„ ์—ฐ์‚ฐ
    * FlatMap
    * Optional ๊ฐ„๋‹จ ์„ค๋ช…
    * ์ตœ์ข… ์—ฐ์‚ฐ
    * ๊ธฐ๋ณธํ˜• ํŠนํ™” ์ŠคํŠธ๋ฆผ

    9. ์ŠคํŠธ๋ฆผ API3 - ์ปฌ๋ ‰ํ„ฐ

    * ์ปฌ๋ ‰ํ„ฐ1
    * ์ปฌ๋ ‰ํ„ฐ2
    * ๋‹ค์šด ์ŠคํŠธ๋ฆผ ์ปฌ๋ ‰ํ„ฐ1
    * ๋‹ค์šด ์ŠคํŠธ๋ฆผ ์ปฌ๋ ‰ํ„ฐ2
    * ์ •๋ฆฌ

    10. Optional

    * ์˜ต์…”๋„์ด ํ•„์š”ํ•œ ์ด์œ 
    * Optional์˜ ์ƒ์„ฑ๊ณผ ๊ฐ’ ํš๋“
    * Optional ๊ฐ’ ์ฒ˜๋ฆฌ
    * ์ฆ‰์‹œ ํ‰๊ฐ€์™€ ์ง€์—ฐ ํ‰๊ฐ€1
    * ์ฆ‰์‹œ ํ‰๊ฐ€์™€ ์ง€์—ฐ ํ‰๊ฐ€2
    * ์ฆ‰์‹œ ํ‰๊ฐ€์™€ ์ง€์—ฐ ํ‰๊ฐ€3
    * orElse() vs orElseGet()
    * ์‹ค์ „ ํ™œ์šฉ1 - ์ฃผ์†Œ ์ฐพ๊ธฐ
    * ์‹ค์ „ ํ™œ์šฉ2 - ๋ฐฐ์†ก
    * ์˜ต์…”๋„ - ๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค
    * ์ •๋ฆฌ

    11. ๋””ํดํŠธ ๋ฉ”์„œ๋“œ

    * ๋””ํดํŠธ ๋ฉ”์„œ๋“œ๊ฐ€ ๋“ฑ์žฅํ•œ ์ด์œ 
    * ๋””ํดํŠธ ๋ฉ”์„œ๋“œ ์†Œ๊ฐœ
    * ๋””ํดํŠธ ๋ฉ”์„œ๋“œ์˜ ์˜ฌ๋ฐ”๋ฅธ ์‚ฌ์šฉ๋ฒ•
    * ์ •๋ฆฌ

    12. ๋ณ‘๋ ฌ ์ŠคํŠธ๋ฆผ

    * ๋‹จ์ผ ์ŠคํŠธ๋ฆผ
    * ์Šค๋ ˆ๋“œ ์ง์ ‘ ์‚ฌ์šฉ
    * ์Šค๋ ˆ๋“œ ํ’€ ์‚ฌ์šฉ
    * ForkJoin ํŒจํ„ด
    * ForkJoin ํ”„๋ ˆ์ž„์›Œํฌ1 - ์†Œ๊ฐœ
    * ForkJoin ํ”„๋ ˆ์ž„์›Œํฌ2 - ์ž‘์—… ํ›”์น˜๊ธฐ
    * ์ž‘์—… ํ›”์น˜๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    * ForkJoin ํ”„๋ ˆ์ž„์›Œํฌ3 - ๊ณต์šฉ ํ’€
    * ์ž๋ฐ” ๋ณ‘๋ ฌ ์ŠคํŠธ๋ฆผ
    * ๋ณ‘๋ ฌ ์ŠคํŠธ๋ฆผ ์‚ฌ์šฉ์‹œ ์ฃผ์˜์ 
    * ๋ณ„๋„์˜ ํ’€ ์‚ฌ์šฉ
    * ์ •๋ฆฌ

    13. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

    * ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„
    * ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?
    * ์ž๋ฐ”์™€ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ1
    * ์ž๋ฐ”์™€ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ2
    * ์ž๋ฐ”์™€ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ3
    * ์ •๋ฆฌ

     

    ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    27
  • ๏ฝฅ

    ์ˆ˜์ •๋จ

    ์•ˆ๋…•ํ•˜์„ธ์š”. ์—ฌ๋Ÿฌ๋ถ„^^! ์ž๋ฐ” ๊ณ ๊ธ‰ 2ํŽธ ๊ฐ•์˜๋ฅผ ๋“œ๋””์–ด ์˜คํ”ˆํ–ˆ์Šต๋‹ˆ๋‹ค.

    ๊ฐ•์˜ ๋งํฌ: https://inf.run/puD14

     

    ๊น€์˜ํ•œ์˜ ์‹ค์ „ ์ž๋ฐ” - ๊ณ ๊ธ‰ 2ํŽธ

    * ๊ฐ•์˜ ์‹œ๊ฐ„: 21์‹œ๊ฐ„ 35๋ถ„
    * ๊ฐ•์˜ ์ˆ˜: 100๊ฐ•
    * ๊ฐ•์˜ PDF ์ž๋ฃŒ: ์•ฝ 400์žฅ


    [๊ฐ•์˜ ์†Œ๊ฐœ]

    I/O, ๋„คํŠธ์›Œํฌ, ๋ฆฌํ”Œ๋ ‰์…˜, ์• ๋…ธํ…Œ์ด์…˜์„ ๊ธฐ๋ณธ๊ธฐ๋ถ€ํ„ฐ ์‹ค๋ฌด์— ํ•„์š”ํ•œ ๋ ˆ๋ฒจ๊นŒ์ง€ ์™„์ „ํžˆ ๋งˆ์Šคํ„ฐํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

    ๊ทธ๋ฆฌ๊ณ  ์ด๋ฒˆ ๊ฐ•์˜๋Š” ํŠนํžˆ ์ฝ”๋“œ์™€ ์˜ˆ์ œ ์ค‘์‹ฌ์˜ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

    ํŒŒ์ผ์„ ํ†ตํ•œ ํšŒ์› ๊ด€๋ฆฌ, ์ฑ„ํŒ…, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์˜ˆ์ œ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด๊ฐ€๋ฉด์„œ - ์ž๋ฐ” ์ดˆ๊ธ‰, ๊ธฐ๋ณธ, ์ค‘๊ธ‰1,2, ๊ณ ๊ธ‰1 - ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๊นŒ์ง€ ์ง€๊ธˆ๊นŒ์ง€ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ๋ชจ๋‘ ํ™œ์šฉํ•ด๋ด…๋‹ˆ๋‹ค.

    ๊ทธ๋ž˜์„œ ์ž๋ฐ” ๋กœ๋“œ๋งต์„ ํ†ตํ•ด ์ง€๊ธˆ๊นŒ์ง€ ํ•™์Šตํ•œ ์ž๋ฐ”์˜ ๋‚ด์šฉ๋“ค์ด ์‹ค์ œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋˜๋Š”์ง€ ์˜ˆ์ œ ์ฝ”๋“œ๋กœ ๊นŠ์ด์žˆ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ œ ๋ชฉํ‘œ๋Š” ๋‹จ์ˆœํžˆ ์ž๋ฐ” ๋ฌธ๋ฒ• ๊ต์œก์— ๊ทธ์น˜์ง€ ์•Š๊ณ , ์‹ค๋ฌด์—์„œ ํ•„์š”ํ•œ ํƒ„ํƒ„ํ•œ ์ž๋ฐ” ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๊ฐ–์ถ˜ ์œ ๋Šฅํ•œ ๊ฐœ๋ฐœ์ž๋ฅผ ์–‘์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    ์ด๋ฅผ ์œ„ํ•ด ์ž๋ฐ”์— ๋Œ€ํ•ด ๊นŠ์ด ์žˆ๊ณ  ์ฒด๊ณ„์ ์ธ ์ž๋ฐ” ๋กœ๋“œ๋งต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Œ€ํ•ด์ฃผ์„ธ์š”.

    ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    4

์›” โ‚ฉ15,400

5๊ฐœ์›” ํ• ๋ถ€ ์‹œ

โ‚ฉ77,000