TIL14 [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. 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. Jira ์ฌ์ฉ๋ฒ ์ ๋ฆฌ Jira ๋ ๋ฌด์์ธ๊ฐ ํธ์ฃผ ํ์ฌ Atlassian์์ ๊ฐ๋ฐ๋ ํด(๋๊ตฌ) ์ผ๋ณธ์ด Godzilla์์ ํ์๋จ ์ํํธ์จ์ด์ ๊ด๋ จํ ์ด์์ ๋ฒ๊ทธ๋ฅผ ์ถ์ ํ๊ธฐ ์ํ ๋๊ตฌ 1. Jira์ ์ฌ์ฉ ํ ์คํธ ์ผ์ด์ค ๊ด๋ฆฌ ์์ฒญ ์ ์์ผ ๋ฐฉ๋ฒ๋ก - ์คํฌ๋ผ ์ ์ฒด ํ๋ก์ ํธ ๊ด๋ฆฌ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ ๋ถ ๊ด๋ฆฌ ๋ฒ๊ทธ ์ถ์ ๋ฑ ๐ค ๊ทธ๋์ ๋ญ ํ ์ ์๋ค๋ ๊ฒ์ผ๊น? *"ํ์ ์ ์ํํ"* Planning - User Story, Issue๋ฅผ ๋ง๋ค์ด Sprint ๊ณํ Tracking - ์ ๋ฌด์ ์ฐ์ ์์, ์ํ์ํ ๊ด๋ฆฌ (๊ฐ์์ฑ) Release - ์ผ๊ฐ์ ๊ฐ๋ฐ ์๋ฃ ๋ฑ ์ต์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์ ํ ์ถ์ ๊ด๋ฆฌ Report - ์ค์๊ฐ ์๊ฐ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ํ ํจ์จ ํฅ์ 2. Jira ์ฌ์ฉ ๊ณผ์ - ์คํ๋ฆฐํธ X ์ง๋ผ๋ฅผ ์ ํํ๋ค. ํ๋ก์ ํธ ์ต์ ์ ์ ํํ๋ค ๋ผ์ด๋ธ.. 2022. 7. 17. Node.js ๋ฅผ ์ด์ฉํ์ฌ ์ค์๊ฐ ์ฑํ ์๋น์ค ๋ง๋ค๊ธฐ ๋ค์ ์์ผ๋ก ๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค. 1. JavaScript๋ ๋ญ๊น? 2. Node.js 3. Express 4. ์ฑํ Server/Client ๊ตฌํํ๊ธฐ ๋ณธ ๋ด์ฉ์ ์ค์๊ฐ ์ฑํ ์๋น์ค๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ์์์ผ ํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค. Node.js์ด ๋ฌด์์ธ์ง๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ JavaScript๊ฐ ๋ฌด์์ธ์ง ๋จผ์ ๋ช ํํ๊ฒ ์ ์ํด์ผ ํฉ๋๋ค. 1. JavaScript๋ ๋ญ๊น? JavaScript๋, ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. โ HTML/CSS๊ฐ ์น ๋ธ๋ผ์ฐ์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ณ ์คํ์ผ๋ง ํ๊ธฐ ์ํ ์ ์ ๋งํฌ์ ์ธ์ด๋ผ๋ฉด, JavaScript๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ์ ๊ฐ์ ๋์ ์ผ๋ก task๋ฅผ ์ฒ๋ฆฌํ๋ ์คํฌ๋ฆฝํ ์ธ์ด์ ๋๋ค. ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๊ธฐ ๋๋ฌธ์ OS ๊ธฐ๋ฅ(ํ์ผ ์ฝ๊ธฐ, ์ฐ๊ธฐ / ๋คํธ์ํฌ ํต์ ๋ฑ)์ ์ก.. 2022. 7. 10. ์ด์ 1 2 ๋ค์