๐์ธ์ด:Language
2024.01.05
java๋ฅผ ๊ณต๋ถํ๋ฉฐ ๊ธฐ๋กํ ๋ด์ฉ์
๋๋ค.JAVA์ ๋์๊ณผ์ ๊ฐ์ฒด์งํฅ ์ธ์ด์ ์ฅ์ 1. ์์ ๊ธฐ๋ฅ์ ํตํด ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ผ ์ ์๋ค.2. ์ผ์์ํ ๋ชจ์ต์ ๊ตฌ์กฐ๊ฐ ๊ฐ์ฒด์ ์์ฐ์ค๋ฝ๊ฒ ๋
น์๋ค์ด ์๊ธฐ ๋๋ฌธ์ ์๊ฐํ๊ณ ์๋ ๊ฒ์ ๊ทธ๋๋ก ์์ฐ์ค๋ฝ๊ฒ ๊ตฌํํ ์ ์๋ค.3. ์ ์ค๊ณ๋ ํด๋์ค๋ฅผ ๋ง๋ค์ด์ ๋
๋ฆฝ๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ํฅ์์ํฌ ์ ์์. ๊ฐ์ฒด์งํฅ ์ธ์ด์ ๋จ์ 1. ๊ฐ์ฒด๊ฐ ์ฒ๋ฆฌํ๋ ค๋ ๊ฒ์ ๋ํ ์ ํํ ์ดํด๊ฐ ํ์ํ๊ธฐ์ ์ค๊ณ๋จ๊ณ๋ถํฐ ๋ง์ ์๊ฐ์ด ์๋ชจ๋๋ค.2. ๊ฐ์ฒด์งํฅ ์ธ์ด๋ ๋์ฒด์ ์ผ๋ก ์คํ์๋๊ฐ ๋๋ฆฌ๋ค.3. ๋ค์ค์์์ด ์ง์๋๋ c++์ ๊ฒฝ์ฐ์๋ ๋๋ฌด ๋ณต์กํด์ ธ ์ฝ๋ฉ์ ๋์ด๋๊ฐ ์์นํ ์ ์๋ค. ์๋ฐ ํ๋ก๊ทธ๋จ ์คํ๊ณผ์ 1. ์๋ฐ์ปดํ์ผ๋ฌ(javac)์ ์ํด์ .java ์์ค์ฝ๋๋ฅผ ์๋ฐ ๋ฐ์ดํธ์ฝ๋(.clas..
๐์ปดํจํฐ๊ณผํ:CS
2024.01.05
ํ๋ก์ธ์ค : ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ(context) : ํ๋ก์ธ์ค๊ฐ ํ์ฌ ์ด๋ค ์ํ์์ ์ํ๋๊ณ ์๋์ง ์ ํํ ๊ท๋ช
ํ๊ธฐ ์ํด ํ์ํ ์ ๋ณด. CPU์ ์ํ ์ํ๋ฅผ ๋ํ๋ด๋ ํ๋์จ์ด ๋ฌธ๋งฅ Program Counter ๊ฐ์ข
register ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ code, data, stack ํ๋ก์ธ์ค ๊ด๋ จ ์ปค๋ ์๋ฃ ๊ตฌ์กฐ PCB Kernel stack ํ๋ก์ธ์ค์ ์ํ ์คํ(running) CPU๋ฅผ ์ก๊ณ instruction์ ์ํ์ค์ธ ์ํ ์ค๋น(ready) CPU๋ง ๋ณด์ ํ๋ฉด ๋น์ฅ ๋ช
๋ น์ ์คํํ ์ ์๋ ์ํ(๋ฉ๋ชจ๋ฆฌ ๋ฑ ๋ค๋ฅธ ์กฐ๊ทผ์ ๋ชจ๋ ๋ง์กฑํ๊ณ ์์) ๋ด์(blocked, wait, sleep) CPU๋ฅผ ์ฃผ์ด๋ ๋น์ฅ instruction์ ์ํํ ์ ์๋ ์ํ ํ๋ก์ธ์ค๊ฐ ์์ฒญํ ์
์ถ๋ ฅ ์์
์ด ์งํ์ค..
๐๋ฐ์ดํฐ๋ฒ ์ด์ค:DB
2024.01.04
group by์ ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด select ์ ์์ ์ง๊ณํจ์๋ฅผ ์ฐ๋ ์ปฌ๋ผ์ ์ ์ธํ ๋ชจ๋ ์ปฌ๋ผ์ group by ์ ์ธ์๋ก ์จ์ค์ผ ํจ! SELECT I.REST_ID, I.REST_NAME, I.FOOD_TYPE, I.FAVORITES, I.ADDRESS, ROUND(AVG(R.REVIEW_SCORE),2) SCORE FROM REST_INFO AS I JOIN REST_REVIEW AS R ON I.REST_ID=R.REST_ID WHERE I.ADDRESS LIKE '์์ธ%' GROUP BY I.REST_ID , I.REST_NAME, I.FOOD_TYPE, I.FAVORITES, I.ADDRESS ORDER BY SCORE desc, I.FAVORITES DESC; ํ๋ก๊ทธ๋๋จธ์ค ์์ธ์ ์์น ์..
๐์ฝ๋ฉํ
์คํธ:CodingTest
2024.01.03
๋๋ณด๊ธฐ [Gold IV] ๊ฑฐ์ง๋ง - 1043 ๋ฌธ์ ๋งํฌ ์ฑ๋ฅ ์์ฝ ๋ฉ๋ชจ๋ฆฌ: 14352 KB, ์๊ฐ: 128 ms ๋ถ๋ฅ ์๋ฃ ๊ตฌ์กฐ, ๋ถ๋ฆฌ ์งํฉ, ๊ทธ๋ํ ์ด๋ก , ๊ทธ๋ํ ํ์ ์ ์ถ ์ผ์ 2024๋
1์ 3์ผ 16:32:22 ๋ฌธ์ ์ค๋ช
์ง๋ฏผ์ด๋ ํํฐ์ ๊ฐ์ ์ด์ผ๊ธฐ ํ๋ ๊ฒ์ ์ข์ํ๋ค. ํํฐ์ ๊ฐ ๋๋ง๋ค, ์ง๋ฏผ์ด๋ ์ง๋ฏผ์ด๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ์ด์ผ๊ธฐ๋ฅผ ํ๋ค. ์ง๋ฏผ์ด๋ ๊ทธ ์ด์ผ๊ธฐ๋ฅผ ๋งํ ๋, ์๋ ๊ทธ๋๋ก ์ง์ค๋ก ๋งํ๊ฑฐ๋ ์์ฒญ๋๊ฒ ๊ณผ์ฅํด์ ๋งํ๋ค. ๋น์ฐํ ๊ณผ์ฅํด์ ์ด์ผ๊ธฐํ๋ ๊ฒ์ด ํจ์ฌ ๋ ์ฌ๋ฏธ์๊ธฐ ๋๋ฌธ์, ๋๋๋ก์ด๋ฉด ๊ณผ์ฅํด์ ์ด์ผ๊ธฐํ๋ ค๊ณ ํ๋ค. ํ์ง๋ง, ์ง๋ฏผ์ด๋ ๊ฑฐ์ง๋ง์์ด๋ก ์๋ ค์ง๊ธฐ๋ ์ซ์ดํ๋ค. ๋ฌธ์ ๋ ๋ช๋ช ์ฌ๋๋ค์ ๊ทธ ์ด์ผ๊ธฐ์ ์ง์ค์ ์๋ค๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ด๋ฐ ์ฌ๋๋ค์ด ํํฐ์ ์์ ๋๋, ์ง๋ฏผ์ด๋ ์ง์ค์ ์ด์ผ๊ธฐํ ์ ..
๐๋ฐฑ์๋ : BackEnd
2024.01.02
๐กํํฐ, ์ธํฐ์
ํฐ, AOP์ ์ฐจ์ด? ํํฐ - ์คํ๋ง ์ปจํ
์คํธ ์ธ๋ถ์ ์กด์ฌํ์ฌ ์คํ๋ง๊ณผ ๋ฌด๊ดํ ์์์ ๋ํด ๋์ํจ. - ๋ณดํต web.xml์ ๋ฑ๋กํ๊ณ , ์ธ์ฝ๋ฉ ๋ณํ ์ฒ๋ฆฌ, XSS ๋ฐฉ์ด ๋ฑ์ ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ๋ก ์ฌ์ฉ๋จ. ์ธํฐ์
ํฐ - ์คํ๋ง ์ปจํ
์คํธ ๋ด๋ถ์ ์กด์ฌํ๋ฉฐ Dispatcher Servlet์ด ์ปจํธ๋กค๋ฌ๋ฅผ ํธ์ถํ๊ธฐ ์ , ํ๋ก ๋ผ์ด๋ฌ. - ์คํ๋ง์ ๋ชจ๋ ๋น ๊ฐ์ฒด์ ์ ๊ทผํ ์ ์์. ์ฌ๋ฌ๊ฐ๋ฅผ ์ฌ์ฉํ ์ ์์(์์ ์ฃผ์). - ๋ก๊ทธ์ธ ์ฒดํฌ, ๊ถํ์ฒดํฌ, ํ๋ก๊ทธ๋จ ์คํ์๊ฐ ๊ณ์ฐ์์
๋ก๊ทธํ์ธ ๋ฑ์ ์
๋ฌด์ฒ๋ฆฌ. AOP - ํํฐ์ ์ธํฐ์
ํฐ (ํํฐ์ ์ธํฐ์
ํฐ๋ Servlet ๋จ์์์ ์คํ) ์ ๋ค๋ฅด๊ฒ ๋ฉ์๋ ์์์ Proxy ํจํด์ ํํ๋ก ์คํ๋จ. - OOP๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋์จ ๊ฐ๋
. (OOP์์ ๊ณตํต ์ฌํญ์ ๋ชจ๋ํ ํ..
๐๋ฐฑ์๋ : BackEnd
2024.01.02
๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ (AOP) ํต์ฌ ๊ด์ฌ ์ฌํญ(core concern)๊ณผ ๊ณตํต ๊ด์ฌ ์ฌํญ(cross-cuttin concern) ๊ธฐ์กด OOP (๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ)์์๋ ๊ณตํต๊ด์ฌ์ฌํญ์ ์ฌ๋ฌ ๋ชจ๋์์ ์ ์ฉํ๋๋ฐ ์์ด ์ค๋ณต๋ ์ฝ๋๋ฅผ ์์ํ๋ ํ๊ณ๊ฐ ์กด์ฌํจ. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด AOP๊ฐ ๋ฑ์ฅ AOP๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํต์ฌ ๊ด์ฌ ์ฌํญ๊ณผ ์ ์ฒด์ ์ ์ฉ๋๋ ๊ณตํต ๊ด์ฌ ์ฌํญ์ ๊ธฐ์ค์ผ๋ก ํ๋ก๊ทธ๋๋ฐํจ์ผ๋ก์จ ๊ณตํต ๋ชจ๋์ ์์ฝ๊ฒ ์ ์ฉํ ์ ์๊ฒ ํจ AOP๋ application์์์ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ(๊ธฐ๋ฅ์ ๋ถ๋ฆฌ) ์ฆ, ํต์ฌ์ ์ธ ๊ธฐ๋ฅ์์ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํจ. ๋ถ๋ฆฌํ ๋ถ๊ฐ๊ธฐ๋ฅ์ ์ด์คํฉํธ(Aspect) (=๊ณตํต ๊ด์ฌ ์ฌํญ) ๋ผ๋ ๋
ํนํ ๋ชจ๋ ํํ๋ก ๋ง๋ค์ด์ ์ค๊ณํ๊ณ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ. OOP๋ฅผ ์ ์ฉํ์ฌ๋ ํต์ฌ๊ธฐ๋ฅ์์ ๋ถ๊ฐ๊ธฐ๋ฅ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
2024.01.02
๋ฌธ์ : https://www.acmicpc.net/problem/12851 12851๋ฒ: ์จ๋ฐ๊ผญ์ง 2 ์๋น์ด๋ ๋์๊ณผ ์จ๋ฐ๊ผญ์ง์ ํ๊ณ ์๋ค. ์๋น์ด๋ ํ์ฌ ์ N(0 ≤ N ≤ 100,000)์ ์๊ณ , ๋์์ ์ K(0 ≤ K ≤ 100,000)์ ์๋ค. ์๋น์ด๋ ๊ฑท๊ฑฐ๋ ์๊ฐ์ด๋์ ํ ์ ์๋ค. ๋ง์ฝ, ์๋น์ด์ ์์น๊ฐ X์ผ ๋ www.acmicpc.net ๊ธฐ์กด์ ์จ๋ฐ๊ผญ์ง ๋ฌธ์ ์์ ์ต๋จ๊ฒฝ๋ก์ ๊ฐฏ์๊น์ง ๊ตฌํด์ผ ํ๋ค. 1. ๋ชฉ์ ์ง์ ๋๋ฌํ๋ฉด ํจ์๋ฅผ ์ข
๋ฃํ๋ ๊ฒ์ด ์๋ ๊ณ์ ํ์์ ์ด์ด๋๊ฐ๋๋ก ํจ์๋ฅผ ๊ตฌ์ฑํ๋ค. while(!pq.isEmpty()){ Node cur = pq.poll(); if(cur.idx==K && cur.w==dist[K]){ // ๋ชฉํ์ง์ ์ ๋๋ฌํ ๊ฒฝ์ฐ count+=1; } ... } ..
๐๋ฐฑ์๋ : BackEnd
2024.01.01
SpringFramework๋? Spring Framework ๋ ์๋ฐ๋ก Enterprise Application ์ ๋ง๋ค ๋ ํฌ๊ด์ ์ผ๋ก ์ฌ์ฉํ๋ Programming ๋ฐ Configuration Model ์ ์ ๊ณตํด ์ฃผ๋ Framework ๋ก Application ์์ค์ ์ธํ๋ผ ์คํธ๋ญ์ณ๋ฅผ ์ ๊ณต. ์ฆ ๊ฐ๋ฐ์๊ฐ ๋ณต์กํ๊ณ ์ค์ํ๊ธฐ ์ฌ์ด Low Level ( ์ฝ๊ฒ ๋งํ๋ฉด setting )์ ์ ๊ฒฝ์ฐ์ง ์๊ณ Business Logic๊ฐ๋ฐ์ ์ ๋
ํ ์ ์๋๋ก ํด์ค๋ค Spring Container ์คํ๋ง ์ปจํ
์ด๋๋ ์คํ๋ง์์ ์๋ฐ ๊ฐ์ฒด๋ค์ ๊ด๋ฆฌํ๋ ๊ณต๊ฐ์ ๋งํจ. ์๋ฐ ๊ฐ์ฒด๋ฅผ ์คํ๋ง์์ ๋น(Bean)์ด๋ผ๊ณ ํ๋๋ฐ, ์คํ๋ง ์ปจํ
์ด๋์์๋ ์ด ๋น(Bean)์ ์์ฑ๋ถํฐ ์๋ฉธ๊น์ง๋ฅผ ๊ฐ๋ฐ์ ๋์ ๊ด๋ฆฌํด์ฃผ๋ ๊ณณ์ด๋ผ๊ณ ํ ์ ์์..