• Home
  • About
    • on Weekend photo

      on Weekend

      ๐™Ž๐™ฉ๐™ช๐™™๐™ฎ๐™ž๐™ฃ๐™œ

    • Learn More
    • Instagram
    • Github
  • Archive
    • All Posts
    • All Tags
    • All Categories
  • Categories
    • Problem Solving
    • TIL
    • Study
    • Etc
    • ํ•„์‚ฌ
  • Projects

2020.12.08 TIL

08 Dec 2020

Today I Learned

๐Ÿ’Ž ๊ธฐ์ˆ 

โœ” Problem Solving

โœ” Spring ๊ณต๋ถ€

  • ์Šคํ”„๋ง ๊ณต๋ถ€ ์„น์…˜ 3 : ํฌ์ŠคํŠธ ์ง„ํ–‰.
    • ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์‹œ์ž‘๋˜์—ˆ๋Š”๋ฐ, ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ์„ ์ •๋ฆฌํ•˜๊ณ  ์ธํ…”๋ฆฌ์ œ์ด ๋‚ด์—์„œ ๋„๋ฉ”์ธ๊ณผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ, ๋‚˜์•„๊ฐ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ์‹ค์Šต์„ ๋งˆ์ณค๋‹ค.
    • java๋ฅผ ์–•๊ฒŒ ๊ณต๋ถ€ํ–ˆ์—ˆ๋Š”๋ฐ, java8์—์„œ ์ถ”๊ฐ€๋œ java stream์„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ๊ณต๋ถ€ํ–ˆ๋‹ค. : ํฌ์ŠคํŠธ
    • IntelliJ์—์„œ Test case๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. Shift+F10์„ ์ด์šฉํ•ด ํด๋ž˜์Šค ๋‹จ์œ„๋กœ ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฒ•์„ ๋ฐฐ์› ๋‹ค.
    • ์‹ค๋ฌด์—์„œ๋Š” ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ๊ต‰์žฅํžˆ ๋งŽ์ด ๊ณ ๋ คํ•˜๋Š” ๊ฑธ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. HashMap, Long์„ ์‹ค๋ฌด์—์„œ๋Š” thread-safeํ•˜๊ฒŒ ์„ค๊ณ„๋œ ConcurrentHashMapd๊ณผ AtomicLong์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , ์ด๋Ÿฌํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋ฉ”์†Œ๋“œ ์—ญ์‹œ ๋‹ค๋ฅด๋ฏ€๋กœ java๋ฅผ ์‹ฌ์ธต์ ์œผ๋กœ ๊ณต๋ถ€ํ•  ํ•„์š”์„ฑ์„ ๋А๊ผˆ๋‹ค.

โœ” ์ž๋ฐ” ์›น์„ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ 

  • ์ฑ•ํ„ฐ 1, ์ฑ•ํ„ฐ 2 ๊ณต๋ถ€ : ํฌ์ŠคํŠธ
  • ์›น์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ๋‚ด ์ง€์‹์ด ๋„ˆ๋ฌด ์–•์€ ๊ฑธ ์ ˆ์‹คํžˆ ๊นจ๋‹ซ๊ณ , ํŒ€์›๋ถ„๋“ค๊ป˜ ์ถ”์ฒœ์„ ๋ฐ›์•„ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ธํ„ฐ๋„ท ๊ฐ•์˜๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์ด ๊พธ์ค€ํ•œ ๊ณต๋ถ€๋ฅผ ์ž๊ทนํ•ด์„œ ์ข‹๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ kocw๋กœ ๋…ํ•™ํ•œ ์ฒ˜์ง€๋ผ, ์ง์ ‘ ์„ค๊ณ„๋ฅผ ํ•ด๋ณธ ์ ์ด ์—†์—ˆ๋Š”๋ฐ ์–ผ๋ฅธ ๊ณต๋ถ€ํ•ด์•ผํ•  ๋“ฏ.
  • ํ•ด๋‹น ์ฑ…์€ ๋ณดํ†ต ์ž๊ธฐ ์ „์— ์•„์ดํŒจ๋“œ๋กœ ์ˆ˜๊ฐ•ํ•˜๋Š” ํ„ฐ๋ผ Notion์— 1์ฐจ ์ •๋ฆฌ๋ฅผ ํ•˜๊ณ  ๋‹ค์Œ๋‚  Atom์— ๋ณต๋ถ™ ๋ฐ ๊ฐ„๋‹จํ•œ ํŽธ์ง‘์„ ํ†ตํ•ด ํฌ์ŠคํŒ…ํ•  ๋“ฏ. ๋…ธ์…˜์—์„œ๋ถ€ํ„ฐ ๋งˆํฌ๋‹ค์šด์— ์ตœ์ ํ™”๋˜๊ฒŒ๋” ์ž‘์„ฑํ•˜์ž.

โœ” ๊นƒ๋ธ”๋กœ๊ทธ

  • ๊ฐ ํฌ์ŠคํŠธ์—์„œ ์ฐธ์กฐํ•œ ์‚ฌ์ดํŠธ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๋„ฃ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋„ค์ด๋ฒ„๋ธ”๋กœ๊ทธ๋Š” ๋งํฌ๋ฅผ ๋„ฃ์œผ๋ฉด ์ž๋™์œผ๋กœ ์ธ๋„ค์ผ์ด ํฌ๊ฒŒ ๋ถˆ๋Ÿฌ์™€์ ธ ๋ถˆํŽธํ–ˆ์—ˆ๋Š”๋ฐ, ์ง์ ‘ ํ•˜์ดํผ๋งํฌ๋ฅผ ๋„ฃ์–ด ๋ฌธ์„œํ™”ํ•˜๋‹ˆ ๊ฐ€๋…์„ฑ์ด ์˜ฌ๋ผ๊ฐ€๊ณ , ํ›„์— ๋ ˆํผ๋Ÿฐ์Šค ์‚ฌ์ดํŠธ๋ฅผ ๋‹ค์‹œ ์ฝ๊ธฐ์—๋„ ๊ฐ„ํŽธํ•˜๋ฆฌ๋ผ ์ƒ๊ฐํ•œ๋‹ค.
  • ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ ์ž‘์„ฑ์ด ์ต์ˆ™ํ•ด์ง€๊ณ  ์žˆ๋‹ค. Ctrl+Shift+M์œผ๋กœ ๋ฐ”๋กœ ๋งˆํฌ๋‹ค์šด ํ”„๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธํ•˜๋Š” ์ผ์ด ๋ฌด์ฒ™ ์ต์ˆ™ํ•ด์กŒ๋‹ค! (Atom ์‚ฌ์šฉ์ค‘)

๐Ÿ’Ž ์ž๊ธฐ๊ณ„๋ฐœ

โœ” ์ƒ์‚ฐ

  • ์Œ์‹ : ๋“œ๋””์–ด ๋‹ญ๊ฐ€์Šด์‚ด์ด ์™€์„œ, ๋ƒ‰๋™์‹ค์— ๋ชจ๋‘ ๋„ฃ์–ด๋‘์—ˆ๋‹ค. ๋‚ด์ผ๋ถ€ํ„ด ๋‹ญ๊ฐ€์Šด์‚ด๋กœ ์—ฐ๋ช…ํ•  ์˜ˆ์ •์ด๋‹ค.
  • ํ‚คํ‚ค ์ปต์— ํ”ผ์น˜ํŒŒ๋ผ๋‹ค์ด์Šค ๋งˆ์‹ฌ.
  • ์นœ๊ตฌ ๋งŒ๋‚˜์„œ ํ‚ค์นœ๊ฐˆ๋งค๊ธฐ์—์„œ ๋ฐฉ์–ด๋ฎ๋ฐฅ ๋จน์Œ. ๋‹ค์Œ์—” ๊ผญ ์ „๊ณจ์„ ๋จน์„ ๊ฒƒ์ด๋‹ค.

โœ” ํœด์‹

  • ๋…์„œ : ๊ทธ๊ฐ„ ๋ฏธ๋ค„๋‘์—ˆ๋˜ โ€˜๋ฆฌ์–ผ๋ฆฌํ‹ฐ ํŠธ๋žœ์„œํ•‘2โ€™๋ฅผ ์ฝ์„ ๋•Œ๊ฐ€ ์™”๋‹ค. 10p ์ •๋„ ์ฝ์—ˆ๋‹ค.
  • ๋‚ฎ์ž  : ์—„์ฒญ ์žค๋‹คโ€ฆ ์ž๋„ ์ž๋„ ์กธ๋ ค์„œ ์ฃฝ๋Š” ์ค„.

๐Ÿ’Ž ๊ทธ์™ธ

  • Firebase QR api : ์ผ๋‹จ์€ ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ƒ๊ฐํ•˜๋˜, ์ˆ˜์š”์ผ์— ๋กœ์ปฌ์— QR api๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋ฉด ํ™•์‹คํ•˜๊ฒŒ ํ•˜๋Š” ๊ฑฐ๋กœ ๊ฒฐ์ •
  • ์˜ค๋Š˜ ๋งˆ๋…€๋ฐฐ๋‹ฌ๋ถ€ํ‚คํ‚ค ์ •ํ’ˆ ๊ฐˆ์ƒ‰ ํฌ๋ฆฌ์Šค๋งˆ์Šค์ปต์„ ๊ตฌ์ž…ํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ์ข‹๋‹ค. ์ „์ฒด์ ์œผ๋กœ ๋‘ฅ๊ธ€๋‘ฅ๊ธ€ํ•œ ์ปต์— ๊ฐˆ์ƒ‰ ์œ ๋ฆฌ๋ผ์„œ ๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ๊ฒƒ๋“ค์˜ ์ด์ง‘ํ•ฉโ€ฆ ์ž์ฃผ ์ฐจ๋ฅผ ํƒ€๋งˆ์…”์•ผ๊ฒ ๋‹ค.
  • TIL์„ ํ•˜๋‹ค๋ณด๋‹ˆ, ์ผ์ฐจ์ ์œผ๋กœ๋Š” TIL์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ƒ์‚ฐ์„ฑ์ด ์˜ฌ๋ผ๊ฐ„๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ƒ์‚ฐ์„ฑ๋ณด๋‹ค๋Š” ํ•˜๋ฃจ์˜ 10๋ถ„ ๊ฐ€๋Ÿ‰์„ ํˆฌ์žํ•˜์—ฌ ํ•˜๋ฃจ๋ฅผ ๋Œ์ด์ผœ๋ณด๊ณ  ์ด๋ฅผ ์š”์•ฝ์ •๋ฆฌํ•œ๋‹ค๋Š” ์ ์—์„œ ์•„์ฃผ์•„์ฃผ ์ข‹๋‹ค!


TIL Share Tweet +1