๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ37 DWaaS๋ ๋ฌด์์ผ๊น? ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์๋น์ค๋ ๋ญ๊น? (DWaaS) ๋ฐ์ดํฐ ์ฌ์ฉ์ด ์ฆ๊ฐํ๋ฉด์, ์ด๋ค ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์์ค์ ์ ํํ ์ง๊ฐ ํผํ ์ ์๋ ์ผ์ด ๋๊ณ ์๋ค. ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋ฉด ์ข์์ง์ ๊ดํด์ ๋ง์ ํ์ฌ๋ค์ด ๊ณ ๋ฏผ์ค์ด๋ค. ํ์ฌ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๊น๋ํ๊ณ ์ง์ฝ๋ ํํ๋ก ๋ณด๊ธธ ์ํ๋๋ฐ, 'Structured data'๋ผ๋ ๊ฐ๋ ์ ์์๋ ํ์๊ฐ ์๋ค. Structured Data๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ ์ด์ ๊น๋ํ ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ฃ์ ์ ์๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ ๋ณด๋ค ๋ฐ์ดํฐ์ ๊ธฐ๋ฐํ์ฌ ์์ฌ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋๋ก ์ ๋ณด๋ฅผ ๋ถ์ํ๊ธฐ ์ฌ์ด ํํ๋ก ์ ์ฅํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ํธ๋์ญ์ ์์คํ , ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ์ด ์ด์ ์ํ๋ค. ์ ์ ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ๊ธฐ์ ์ ๊ฒฝ์๋ ฅ์ ์ํด ํ์ .. 2022. 8. 6. [Error] IllegalStateException: @Order on WebSecurityConfigurers must be unique ์๋ฌ Git Branch Merge ๊ณผ์ ํ Application ์คํ ์ ๋ง์ฃผํ ์๋ฌ๋ค. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalStateException: @Order on WebSecurityConfigurers must be unique. Order of 100 was already.. 2022. 7. 28. [Error] ๋ถ๋ฆฌ๋ HEAD ๋ด ์ปค๋ฐ IntelliJ์์ ๊น์ ์ปค๋ฐํ ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ง์ฃผํ ์ ์๋ค. ํด์ํด๋ณด๋ฉด ํ์ฌ ์์ ์ค์ธ ๋ธ๋์น์ remote์ ์๋ ๋ธ๋์น๊ฐ ๋ฌ๋ผ ์ปค๋ฐ์ ํ ์, ๋ด์ฉ์ ์์ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ Head๋ ํ์ฌ ๋ด๊ฐ ์์ ์ค์ธ ๋ธ๋์น๋ฅผ ๊ฐ๋ฆฌํฌ ๋ ์ฌ์ฉํ๋ ์ฉ์ด๋ค. git checkout ์ผ๋ก ๊ฐ๋จํ ๋ณ๊ฒฝํ ํ ์ปค๋ฐํ ์ ์๋ค. ๊ทธ๋ฌ๋ ๋ค์ ๋ณต์กํด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค. ์ฎ๊ธฐ๊ณ ์ํ๋ ๋ธ๋์น์ ๋ด์ฉ๊ณผ ํ์ฌ ์์ ์ค์ธ ๋ธ๋์น์ ๋ด์ฉ์ด ๋ฌ๋ผ์ ธ์ ์ฎ๊ธฐ๊ณ ์ ํ๋ ํ์ผ์ ๋ด์ฉ์ด๋ ํ์ฌ ์์ ์ค์ธ ๋ด์ฉ์ด ์์ค๋ ์ ์๋ค๋ ๋ด์ฉ์ด๋ค. ๊น์ด ์ต์ํ์ง ์์ผ์๋ค๋ฉด ๋ด์ฉ์ ๋ฐฑ์ ํ ๋ธ๋์น๋ฅผ ๋ณ๊ฒฝํ์๊ธธ ๋ฐ๋๋๋ค. checkout์ ์ํด ๋ฎ์ฌ์ฐ์ฌ๋ ๋ณ ์๊ด์๋ ํ์ผ๋ค์ด๋ผ๋ฉด, ๊ทธ๋๋ก ์ฒดํฌ์์์ ์งํํ๋ฉด ๋๋ค. > git stash >.. 2022. 7. 24. [Error] application.yml ์ ์ ์ํ ๊ฐ ์ธ์ํ์ง ๋ชปํ ๊ฒฝ์ฐ @Value๋? ์คํ๋ง์ด ๊ด๋ฆฌํ๋ Bean ์ ๊ฐ๋ค์ ์ฃผ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ด๋ ธํ ์ด์ ์ด๋ค. ์์ฑ์, ๋ฉ์๋ ํ๋ผ๋ฏธํฐ ๋ ๋ฒจ์์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. Lombok ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ @Value๊ฐ ์กด์ฌํ๋ค. ์ฌ๊ธฐ์ ์ธ๊ธ๋ @Value๋ springframework์ annotation์์ ์ฐธ์กฐํ Value ์ด๋ค. Lombok์ @Value๋ immutable class๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ค. - Lombok์ @Value๋ ๋ชจ๋ ํ๋๋ฅผ final, private type์ผ๋ก ์ค์ ํ๊ณ setter ํจ์๋ฅผ ๋ง๋ค์ง ์๋๋ค. application.yml์ ์ ์ํ ํค์ ๊ฐ์ ์ฝ์ด์ค๊ธฐ ์ํด @Value ์ฌ์ฉ application.yml์์ jwt์ secret์ด๋ผ๋ ํค๋ฅผ @Value ์ด๋ ธํ ์ด์ ์ ์ด์ฉํ์ฌ ์ฌ์ฉํ๊ณ ์ ํ๋ค ๊ทธ๋ฌ๋ .. 2022. 7. 23. ๋ฐฑ์ค 12764 - ์ธ์ง๋ฐฉ์ ๊ฐ ์คํ (์ฐ์ ์์ํ) ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/12764 12764๋ฒ: ์ธ์ง๋ฐฉ์ ๊ฐ ์คํ ์ฒซ์งธ ์ค์ ์ฌ๋์ ์๋ฅผ ๋ํ๋ด๋ \(N\)์ด ์ฃผ์ด์ง๋ค. \((1 \le N \le 100,000)\) ๋์งธ ์ค๋ถํฐ \(N\)๊ฐ์ ์ค์ ๊ฑธ์ณ์ ๊ฐ ์ฌ๋์ ์ปดํจํฐ ์ด์ฉ ์์ ์๊ฐ \(P\)์ ์ข ๋ฃ ์๊ฐ \(Q\)๊ฐ ์ฃผ์ด์ง๋ค. \((0 \le P \lt Q \le 1,000 www.acmicpc.net ๋ฌธ์ ์์ฝ ์๋ฆฌ๊ฐ 1๋ฒ ๋ถํฐ ์์๋๋ก ๋งค๊ฒจ์ ธ ์๋ค. ์ธ์ง๋ฐฉ์ ๋ค์ด์์ ๋ ๋น์ด์๋ ์๋ฆฌ ์ค ๋ฒํธ๊ฐ ๊ฐ์ฅ ์์ ์๋ฆฌ์ ์๋ ๊ฒ์ด ๊ท์น์ด๋ค. ์ธ์ง๋ฐฉ์ ์ด์ฉํ๋ ์๊ฐ์ด ์ฃผ์ด์ง๋ค๊ณ ํ ๋, ์ด์ฉํ ์ ์๋ ์ปดํจํฐ์ ์ต์ ๊ฐ์์ ์๋ฆฌ๋ณ๋ก ๋ช ๋ช ์ ์ฌ๋์ด ์ฌ์ฉํ๋์ง ์ถ๋ ฅ [์ ํ ์ฌํญ] N: ์ฌ๋์ ์ (1 ≤ .. 2022. 7. 20. Comparator.comparing() - Java8 Comparator.comparing ๋ฉ์๋ Java8๋ถํฐ Comparator์ ์ธํฐํ์ด์ค์ ๋ฉ์๋๊ฐ ์ถ๊ฐ๋์๋๋ฐ, comparing์ด ๊ทธ ์ค ํ๋์ด๋ค. static function์ด๋ฉฐ, ์ด๋ค ์์ผ๋ก ์ ๋ ฌํด์ผํ ์ง์ ๊ดํด Comparator type์ผ๋ก ๋ฐํํ๋ค. ์ฐ์ API ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ Comparator.comparing๊ณผ ๊ด๋ จํ ์ฌํญ์ ์ ๋ฆฌํ ๋ค, PQ์์ ๊ฐ๋จํ Comparator์ ์ฌ์ฉํ๋ ๋ฒ์ ๊ดํด ์ ๋ฆฌํ๋ค. Pirority Queue ์์ ์์ฑ ์, Comparator.comparing๋ฅผ ์ธ์๊ฐ์ผ๋ก ์ค๋ค๋ ๊ฒ์, PQ ๊ฐ์ฒด๋ฅผ ์ด๋ค ์์ผ๋ก ์ ๋ ฌํ ์ง๋ฅผ parameter ํ์์ผ๋ก ์๋ ค์ฃผ๋ ๊ฒ์ด๋ค. API /** * Accepts a function that extracts a {@link jav.. 2022. 7. 20. .properties์ .yml ์ฐจ์ด ๋ค๋ฅธ ํ๊ฒฝ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ํ ์ ์๋๋ก ์ค์ ๊ด๋ จ ์ ๋ณด๊ฐ ๋ค์ด์๋ ํ๋์ ํ์ผ์ด๋ค. ํฌํธ ์ค์ , ์ด๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํด์ค ๊ฒ์ธ์ง์ ๊ด๋ จํ ์ ๋ณด ๋ฑ์ ์ ์ฅํ ์ ์๋ค. ์คํ๋ง ๋ถํธ์ ์๋ฒ๋ฒํธ๋ 8080์ด default ์ด์ง๋ง, ๋ค๋ฅธ ํฌํธ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ์ค์ ํ์ผ์ ์ ์ธํด์ค ์ ์๋ค. server.port = 9090 ๋ ํ์ผ ๋ชจ๋ ์ค์ ํ์ผ์ด๋ผ๋ ๊ณตํต์ ์ ๊ฐ์ง๊ณ ์์ง๋ง, ์์ ํ๋ ๋ฐฉ์์ ๋ค๋ฅด๋ค. Elastric Search๋ MongoDB database๋ YAML(.yml)์ default configuration format์ผ๋ก ์ฌ์ฉํ๋ค. Java์์๋ ์ฃผ๋ก .properties๋ฅผ ๋ง์ด ์ด์ฉํ๋ค. ***.yml # ๊ตฌ๋ถ์: spacebar, (XX tab) somemap: key:val.. 2022. 7. 19. ์ด์ 1 2 3 4 ยทยทยท 6 ๋ค์