๐์ปดํจํฐ๊ณผํ:CS
์ปดํจํฐ์ ์ ์ฌ์๋ ์ปดํจํฐ์ ์ด๋ก ์ ์ธ ๊ธฐ์์ ์ํ๊ณผ ๋
ผ๋ฆฌํ์ ๊ธฐ์ดํ๋ค. ์ปดํจํฐ๊ฐ ์กด์ฌํ์ง ์๋ ์๋์ ์ด๋ฏธ ์ปดํจํฐ์ ๊ดํ ์ฐ๊ตฌ์ ๋์ ์์ค์ ๊ฒฐ๊ณผ๊ฐ ์์๊ณ , ์ด๋ฌํ ์ฐ๊ตฌ๋ฅผ ํ ๋๋ก ํ์ฌ ์ปดํจํฐ๊ฐ ๋ง๋ค์ด์ง๊ฒ ๋์๋ค. ์ปดํจํฐ๋ ๊ณ์ฐ์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด์ ๊ฐ๋ฐ๋์์ผ๋ฉฐ ๊ธฐ๊ณ์ ์ปดํจํฐ -> ์ ์์ ์ปดํจํฐ ์์๋ก ๋ฐ์ ํ๋ค. ๊ทผ๋์ ์ปดํจํฐ์ ์ญ์ฌ ๐ป1์ธ๋ ์ปดํจํฐ 1์ธ๋ ์ปดํจํฐ๋ ์ง๊ณต๊ด ๊ธฐ๋ฐ์ ์ปดํจํฐ๋ก์, ๊ฑด๋ฌผ ํ๋์ ๊ณต๊ฐ์ ๊ฐ๋ ์ฐจ์งํ ๋งํผ ๋ถํผ๊ฐ ํฌ๊ณ ๊ฐ๊ฒฉ์ด ๋น์๋ค. ์ด๋ฌํ ์ด์ ๋ก ๊ธฐ์์ฒญ์ด๋ ์ํ, ์ ๋ถ๊ธฐ๊ด ๋ฑ ํฐ ๊ณต๊ณต๊ธฐ๊ด์์๋ง ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ ์ ์์๋ค. ๐ป2์ธ๋ ์ปดํจํฐ ๋ฏธ๊ตญ์ ๋ฒจ(Bell) ์ฐ๊ตฌ์์์ ํธ๋์ง์คํฐ๋ฅผ ๋ฐ๋ช
ํ์๊ณ , ์ด๋ฐ ํธ๋์ง์คํฐ๋ฅผ ํ์ฉํด ์ปดํจํฐ(2์ธ๋ ์ปดํจํฐ)๋ฅผ ๊ฐ๋ฐํ๊ฒ ๋์๋ค. 2์ธ๋ ์ปดํจํฐ๋ 1์ธ๋..
๐ํ๋ก์ ํธ:Project
์ฌํ๊ฐ๋ค์ ์ํ ์น์๋น์ค ์์ฐ์์ ์ ์๋๊ธฐ ํ๋ก์ ํธ ์ด๋ฆ๊ณผ ๊ฐ์ด For your travel (๋น์ ์ ์ฌํ์ ์ํ) ์น ์๋น์ค๋ฅผ ์ ์ํ๊ณ ์ ํ์์ต๋๋ค. ์ฌํ๊ฐ๋ค์ด ์ ํฌ ์๋น์ค๋ฅผ ํตํด ๊ด๊ด์ง ์ ๋ณด์ ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ์ฌํํ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ฑ๊ณต์ ์ธ ์ฌํ๊ณํ์ ์์ฑํ๋๋ฐ ๋์์ ๋ฐ์ ์ ์์ต๋๋ค. ์ฌ์ฉ๊ธฐ์ Vue.js vuex vuex-persistedstate axios vue-router vue-wordcloud jwt-decode SpringBoot myBatis jjwt spring-boot-starter-mail MySql ๊ตฌํ๊ธฐ๋ฅ ์ฌ์ฉ์ ํ๋กํ ํ๋ก์ฐ, ํ๋ก์ ๋ก๊ทธ์ธ, ๋ก๊ทธ์์, ํ์๊ฐ์
(jwt) ๊ฒ์ํ CRUD, ๋๊ธ CRUD ํ์์ ๋ณด ์์ 1. ๋ก๊ทธ์ธ, ๋ก๊ทธ์์, ํ์๊ฐ์
(jwt, vuex, v..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฐฑ์ค (BOJ) 11729๋ฒ https://www.acmicpc.net/problem/2108 ์ฌ์ฉ์ธ์ด : PYTHON 1.๋ฌธ์ ์๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ํต๊ณํ์์ ์๋นํ ์ค์ํ ์ผ์ด๋ค. ํต๊ณํ์์ N๊ฐ์ ์๋ฅผ ๋ํํ๋ ๊ธฐ๋ณธ ํต๊ณ๊ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์๋ค. ๋จ, N์ ํ์๋ผ๊ณ ๊ฐ์ ํ์. ์ฐ์ ํ๊ท : N๊ฐ์ ์๋ค์ ํฉ์ N์ผ๋ก ๋๋ ๊ฐ ์ค์๊ฐ : N๊ฐ์ ์๋ค์ ์ฆ๊ฐํ๋ ์์๋ก ๋์ดํ์ ๊ฒฝ์ฐ ๊ทธ ์ค์์ ์์นํ๋ ๊ฐ ์ต๋น๊ฐ : N๊ฐ์ ์๋ค ์ค ๊ฐ์ฅ ๋ง์ด ๋ํ๋๋ ๊ฐ ๋ฒ์ : N๊ฐ์ ์๋ค ์ค ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐจ์ด N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ๋ค ๊ฐ์ง ๊ธฐ๋ณธ ํต๊ณ๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 2.ํ์ด ์ต๋น๊ฐ์ ๊ตฌํ๋ ๊ฒ์ด ๋ฌธ์ ์๋๋ฐ, ํ์ด์ฌ์ ๋ด์ฅ ํจ์์ธ Collection๋ชจ๋์ Counter์ ์ฌ์ฉํ์ฌ ํด๊ฒฐ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฐฑ์ค (BOJ) 11729๋ฒ https://www.acmicpc.net/problem/1181 ์ฌ์ฉ์ธ์ด : PYTHON 1.๋ฌธ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง N๊ฐ์ ๋จ์ด๊ฐ ๋ค์ด์ค๋ฉด ์๋์ ๊ฐ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 1.๊ธธ์ด๊ฐ ์งง์ ๊ฒ๋ถํฐ 2.๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด ์ฌ์ ์์ผ๋ก ์กฐ๊ฑด์ ๋ฐ๋ผ ์ ๋ ฌํ์ฌ ๋จ์ด๋ค์ ์ถ๋ ฅํ๋ค. ๋จ, ๊ฐ์ ๋จ์ด๊ฐ ์ฌ๋ฌ ๋ฒ ์
๋ ฅ๋ ๊ฒฝ์ฐ์๋ ํ ๋ฒ์ฉ๋ง ์ถ๋ ฅํ๋ค. 2.ํ์ด ์ค๋ณต ์ ๊ฑฐ๋ setํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ฑฐํ๊ณ , ์ ๋ ฌ์ sortํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฌํ์๋ค. ์ด๋ ์์ ์กฐ๊ฑด A๊ณผ ํ์ ์กฐ๊ฑด B๊ฐ ์๋๊ฒฝ์ฐ, B๋ก ๋จผ์ ์ ๋ ฌ ํ ํ์ A๋ก ์ ๋ ฌํด์ผ ํ๋ค. ์ฌ๊ธฐ์ A๊ฐ ๊ธธ์ด๊ฐ ์งง์ ๊ฒ๋ถํฐ, B๊ฐ ๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด ์ฌ์ ์์ผ๋ก ์ด๋ค. ๋ฐ๋ผ์ ์ฌ์ ์์ผ๋ก ์ ๋ ฌํ๊ณ ๊ธธ์ด๊ฐ ์งง์ ์์ผ๋ก ์ ๋ ฌํด..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฐฑ์ค (BOJ) 11729๋ฒ https://www.acmicpc.net/problem/11729 ์ฌ์ฉ์ธ์ด : PYTHON 1.๋ฌธ์ ์ธ ๊ฐ์ ์ฅ๋๊ฐ ์๊ณ ์ฒซ ๋ฒ์งธ ์ฅ๋์๋ ๋ฐ๊ฒฝ์ด ์๋ก ๋ค๋ฅธ n๊ฐ์ ์ํ์ด ์์ฌ ์๋ค. ๊ฐ ์ํ์ ๋ฐ๊ฒฝ์ด ํฐ ์์๋๋ก ์์ฌ์๋ค. ์ด์ ์๋์น๋ค์ด ๋ค์ ๊ท์น์ ๋ฐ๋ผ ์ฒซ ๋ฒ์งธ ์ฅ๋์์ ์ธ ๋ฒ์งธ ์ฅ๋๋ก ์ฎ๊ธฐ๋ ค ํ๋ค. *ํ ๋ฒ์ ํ ๊ฐ์ ์ํ๋ง์ ๋ค๋ฅธ ํ์ผ๋ก ์ฎ๊ธธ ์ ์๋ค. *์์ ๋์ ์ํ์ ํญ์ ์์ ๊ฒ์ด ์๋์ ๊ฒ๋ณด๋ค ์์์ผ ํ๋ค. ์ด ์์
์ ์ํํ๋๋ฐ ํ์ํ ์ด๋ ์์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ. ๋จ, ์ด๋ ํ์๋ ์ต์๊ฐ ๋์ด์ผ ํ๋ค. 2.ํ์ด ์ฌ๊ทํจ์๋ฅผ ์ฌ์ฉํด์ ํ์ด์ผ ํ๋ค. ์ด์ ํฌ์คํ
์์ ์ค๋ช
ํ๋ ์์์ ๋งค๊ฐ๋ณ์์ธ ๊ฐ ์ฅ๋๋ฅผ ๋ช
์์ ๋งค๊ฐ๋ณ์ start, via end๋ก ..
๐๋ฐฑ์๋ : BackEnd
@Autowired์ ์์น setter ์ setterํจ์๊ฐ ํธ์ถ๋๋ฉด์ injection์ด ์ํ๋จ field ์ ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ํธ์ถํ๋ฉด์ injection์ด ์ํ๋จ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์๋ค๋ฉด error๋ฐ์(์ ์ฝ๋์ ๊ฐ์ ๊ฒฝ์ฐ ์ค๋ฅ ๋ฐ์) overload ์์ฑ์ ์ overload ์์ฑ์์์ ๊ฐ์ฒด๋ฅผ ๋ฐ์ธ๋ฉ ์์ ๊ฐ์ดํ๊ฒ ๋๋ฉด @Qualifier์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค overload์์ฑ์ ๊ฐ์ ๊ฒฝ์ฐ์ Exam์ ๋ ๊ฐ ์ด์ ๋ฃ์ ์ ์๋ค๊ณ ์๊ฐํด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ ๊ฒ! ๐ ํ๋ผ๋ฏธํฐ ๊ฐ์์ @Qualifier์ ์ค์ ํด์ ํด๊ฒฐ @Autowired์ required ์์ฑ exam2๋ผ๋ bean์ด ์๋๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ค์ ํ ์ ์๋ ์์ฑ์ด๋ค. required=false๋ก ์ค์ ์ ํ๊ฒ ๋๋ฉด ํด๋น bean์ด ์๋..
๐๋ฐฑ์๋ : BackEnd
์ ์ ์ฐจ์ด์ ์ด๋ฏธ ๋ฑ๋ก๋ bean์ ๋ํด์๋ง Annotation์ ํ์ฑํ ํ๋ค. ๋ฐ๋ผ์ ์ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋๋ผ๋ xml์ bean์ ๋ฐ๋์ ์ ์ธํด์ผ ํ๋ค. @Autowired์ @Qualifier ๋ ๊ฐ์ง๋ง ํด๊ฒฐํ๋ค. bean์ ๋ฑ๋ก์ฌ๋ถ์ ๊ด๊ณ์๋ค. ์คํ๋ง์ด ์์์ bean์ค์บ์ ํตํด Annotation์ ํด์ํ๊ณ ํ์ฑํํ๋ค. @Autowired์ @Qualifier๋ฟ๋ง ์๋๋ผ @Service, @Component, @Controller, @Repository ๋ฑ ๋ชจ๋ ํด๋์ค๋ฅผ ์ค์บํ๊ณ bean์ ์์ฑํ๋ค. ๋ค๋ง base-package๋ฅผ ํตํด ์คํ๋ง์ด ์ค์บํ ํจํค์ง ์์น๋ฅผ ์ง์ ํด๋ฌ์ผ ํ๋ค.
๐๋ฐฑ์๋ : BackEnd
Spring @Autowired๋ ์๋ฃํ์ ๊ธฐ์ค์ผ๋ก ์ฐพ๋๋ค Exam๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ id="exam"์ ์ง์ ๋ค. ์คํํ๋ฉด ์ฑ๊ณต์ ์ผ๋ก ์๋ํ๋ค. ๐ @Autowired๋ ์๋ฃํ์ ๊ธฐ์ค์ผ๋ก ์ฐ๊ฒฐํ๋ค(๊ธฐ๋ณธ๋์) ๋ณ์๋ช
์ ๊ธฐ์ค์ผ๋ก ์ฐ๊ฒฐํ๊ธฐ๋ ํจ (๋ฐ์ ๋์ด) @Qualifier public class InlineExamConsole implements ExamConsole { private Exam exam; ... @Autowired @Qualifier("exam1") @Override public void setExam(Exam exam) { this.exam = exam; } } @Qualifier๋ฅผ ์ฌ์ฉํ์ฌ exam1์ Autowiredํ๋๋ก ์ค์ ํ๋ค. exam๊ฐ์ฒด exam1๊ณผ exam2๊ฐ ๋ ๊ฐ ์๋ค..