Notice
Recent Posts
Link
Today
Total
10-06 00:17
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (74)

dingdong coding

SQL Injection

SQL Injection ์ด๋ž€? • ์•…์˜์ ์ธ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์•ˆ์ƒ์˜ ์ทจ์•ฝ์ ์„ ์ด์šฉํ•˜์—ฌ ์กฐ์ž‘๋œ SQL query๋ฌธ์„ DataBase์— ์ฃผ์ž…์‹œ์ผœ ๋น„์ •์ƒ์  ๋ช…๋ น์„ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ณต๊ฒฉ ๊ธฐ๋ฒ• ( web hacking techniques ) • ํ•ด๋‹น ๊ณต๊ฒฉ์„ ๋ฐ›์œผ๋ฉด ์กฐ์ง ๋‚ด๋ถ€์˜ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋‚˜ ๊ฐœ์ธ์ •๋ณด๋ฅผ ํš๋“ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹ฌ๊ฐํ•œ ๊ฒฝ์šฐ ์กฐ์ง ๋ฐ์ดํ„ฐ ์ „์ฒด๋ฅผ ์žฅ์•…ํ•˜๊ฑฐ๋‚˜ ์†์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ ๋ฐฉ๋ฒ• 1 ) ์ธ์ฆ์šฐํšŒ • SQL injection์€ ๋ณดํ†ต ์‚ฌ์šฉ์ž์—๊ฒŒ ๋กœ๊ทธ์ธ(username, userid)๊ณผ ๊ฐ™์€ ์ž…๋ ฅ ์š”์ฒญ ์‹œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. • ์ •์ƒ์ ์ธ ๊ณ„์ •์ •๋ณด ์—†์ด๋„ ๋กœ๊ทธ์ธ์„ ์šฐํšŒํ•˜์—ฌ ์ธ์ฆ์„ ํš๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„์ด๋””๊ฐ€ abc, ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ 1234์ผ ๋•Œ ์ฟผ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ „์†ก๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. SELECT * FROM US..

๐ŸฌDB 2022. 6. 17. 00:14
[ ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค with ํŒŒ์ด์ฌ ] Greedy ๊ธฐ์ถœ๋ฌธ์ œ

1. ๋ชจํ—˜๊ฐ€ ๊ธธ๋“œ • ๋ฌธ์ œ ํ•œ ๋งˆ์„์— ๋ชจํ—˜๊ฐ€๊ฐ€ N๋ช… ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจํ—˜๊ฐ€ ๊ธธ๋“œ์—์„œ๋Š” N๋ช…์˜ ๋ชจํ—˜๊ฐ€๋ฅผ ๋Œ€์ƒ์œผ๋กœ '๊ณตํฌ๋„'๋ฅผ ์ธก์ •ํ–ˆ๋Š”๋ฐ, '๊ณตํฌ๋„'๊ฐ€ ๋†’์€ ๋ชจํ—˜๊ฐ€๋Š” ์‰ฝ๊ฒŒ ๊ณตํฌ๋ฅผ ๋Š๊ปด ์œ„ํ—˜ ์ƒํ™ฉ์—์„œ ์ œ๋Œ€๋กœ ๋Œ€์ฒ˜ํ•  ๋Šฅ๋ ฅ์ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ๋ชจํ—˜๊ฐ€ ๊ธธ๋“œ์žฅ์ธ ๋™๋นˆ์ด๋Š” ๋ชจํ—˜๊ฐ€ ๊ทธ๋ฃน์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜๊ณ ์ž ๊ณตํฌ๋„๊ฐ€ X์ธ ๋ชจํ—˜๊ฐ€๋Š” ๋ฐ˜๋“œ์‹œ X๋ช… ์ด์ƒ์œผ๋กœ ๊ตฌ์„ฑํ•œ ๋ชจํ—˜๊ฐ€ ๊ทธ๋ฃน์— ์ฐธ์—ฌํ•ด์•ผ ์—ฌํ–‰์„ ๋– ๋‚  ์ˆ˜ ์žˆ๋„๋ก ๊ทœ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™๋นˆ์ด๋Š” ํšŒ๋Œ€ ๋ช‡ ๊ฐœ์˜ ๋ชจํ—˜๊ฐ€ ๊ทธ๋ฃน์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ** ๋ชจ๋“  ๋ชจํ—˜๊ฐ€๋ฅผ ํŠน์ •ํ•œ ๊ทธ๋ฃน์— ๋„ฃ์„ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ** • ์ž…๋ ฅ์กฐ๊ฑด - ์ฒซ์งธ ์ค„์— ๋ชจํ—˜๊ฐ€์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ( 1 ≤ N ≤ 100,000 ) - ๋‘˜์งธ ์ค„์—๋Š” ๊ฐ ๋ชจํ—˜๊ฐ€์˜ ๊ณตํฌ๋„ ๊ฐ’์„ N ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง€๋ฉฐ, ๊ฐ ์ž์—ฐ์ˆ˜๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„..

๐Ÿ”ตCoding Test/Algorithm 2022. 6. 16. 19:23
MVC, Spring MVC

MVC๋ž€? MVC ํŒจํ„ด์€ ์•„ํ‚คํ…์ณ๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๋””์ž์ธ ํŒจํ„ด์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์‹œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ์ด๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ๋ถ„์‹œ์ผœ ์„œ๋กœ ์˜ํ–ฅ์—†์ด ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. • M ( Model ) "๋ฌด์—‡์„" - ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ - ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ˜ธ์ถœํ•  ๋•Œ, ์š”์ฒญ์— ๋งž๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. - ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋Š” ์˜์—ญ์œผ๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. • V ( View ) - ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI) ์ปดํฌ๋„ŒํŠธ - Controller๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ชจ๋ธ์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๊ฐ–๊ณ  ์ถœ๋ ฅํ•  ํ™”๋ฉด์„ ๋งŒ๋“œ๋Š” ์ผ์„ ํ•ฉ๋‹ˆ๋‹ค. - ์ƒ์„ฑ๋œ ํ™”๋ฉด์„ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ „์†กํ•˜๊ณ  ์ถœ๋ ฅํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. - ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉ(๋ฐ์ดํ„ฐํ‘œ์‹œ, ์ž…๋ ฅ ํผ ๋“ฑ)์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ..

๐ŸSpring/Basic 2022. 6. 16. 12:49
[ ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค with ํŒŒ์ด์ฌ ] ๊ธฐํƒ€ ๊ทธ๋ž˜ํ”„ ์ด๋ก 

• ์„œ๋กœ์†Œ ์ง‘ํ•ฉ (Disjoint Sets) : ๊ณตํ†ต ์›์†Œ๊ฐ€ ์—†๋Š” ๋‘ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. • ์„œ๋กœ์†Œ ๋ถ€๋ถ„ ์ง‘ํ•ฉ๋“ค๋กœ ๋‚˜๋ˆ„์–ด์ง„ ์›์†Œ๋“ค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. • ์„œ๋กœ์†Œ ์ง‘ํ•ฉ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋‘ ์ข…๋ฅ˜์˜ ์—ฐ์‚ฐ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. • ํ•ฉ์ง‘ํ•ฉ(Union) : ๋‘ ๊ฐœ์˜ ์›์†Œ๊ฐ€ ํฌํ•จ๋œ ์ง‘ํ•ฉ์„ ํ•˜๋‚˜์˜ ์ง‘ํ•ฉ์œผ๋กœ ํ•ฉ์น˜๋Š” ์—ฐ์‚ฐ์ž…๋‹ˆ๋‹ค. • ์ฐพ๊ธฐ(Find) : ํŠน์ •ํ•œ ์›์†Œ๊ฐ€ ์†ํ•œ ์ง‘ํ•ฉ์ด ์–ด๋–ค ์ง‘ํ•ฉ์ธ์ง€ ์•Œ๋ ค์ฃผ๋Š” ์—ฐ์‚ฐ์ž…๋‹ˆ๋‹ค. • ์„œ๋กœ์†Œ ์ง‘ํ•ฉ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํ•ฉ์น˜๊ธฐ ์ฐพ๊ธฐ(Union Find) ์ž๋ฃŒ๊ตฌ์กฐ๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•ฉ์น˜๊ธฐ ์—ฐ์‚ฐ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ์„œ๋กœ์†Œ ์ง‘ํ•ฉ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋™์ž‘ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. ํ•ฉ์ง‘ํ•ฉ(Union) ์—ฐ์‚ฐ์„ ํ™•์ธํ•˜๋ฉฐ, ์„œ๋กœ ์—ฐ๊ฒฐ๋œ ๋‘ ๋…ธ๋“œ A, B๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. 1) A์™€ B์˜ ๋ฃจํŠธ ๋…ธ๋“œ A'..

๐Ÿ”ตCoding Test/Algorithm 2022. 6. 15. 10:27
์–ด๋…ธํ…Œ์ด์…˜ ์ •๋ฆฌ @

์–ด๋…ธํ…Œ์ด์…˜์ด๋ž€? • @ ์‚ฌ์ธ ํ•˜๋‚˜๋กœ ๋งŽ์€ ์ปจํ…์ŠคํŠธ๋“ค์„ ์ œ๊ณต ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. • @ ์‚ฌ์ธ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ์–ด๋…ธํ…Œ์ด์…˜ ์ด๋ผ๊ณ  ํ•œ๋‹ค. Spring์œผ๋กœ ๊ฐœ๋ฐœํ•  ๋•Œ ์–ด๋…ธํ…Œ์ด์…˜ ์—†์ด ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ๋ณผ ์ˆ˜ ์—†๋‹ค. Controller ๋“ฑ๋ก์ด๋‚˜ Service, Repository, Test ๋“ฑ ์•ˆ์“ฐ์ด๋Š” ๊ณณ์ด ์—†์„ ์ •๋„๋‹ค. ๋งŽ์ด ์“ฐ์ž„์—๋„ ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ ๊ฐ€๋” ์ƒ๊ฐ์ด ์•ˆ๋‚˜๊ฑฐ๋‚˜ ๊นŒ๋จน์„ ๋•Œ๊ฐ€ ์žˆ๊ธฐ์— ์ง€๊ธˆ์ด๋ผ๋„ ์กฐ๊ธˆ์”ฉ ์ •๋ฆฌํ•  ์ƒ๊ฐ์ด๋‹ค. ํฌ์ŠคํŠธ์ž‡ ์ฒ˜๋Ÿผ ๊ณ„์† ์ถ”๊ฐ€ํ•  ์˜ˆ์ • โœ๏ธ @AfterEach : ๊ฐ ํ…Œ์ŠคํŠธ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰ 1) Test Case๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ : ๋ฉ”๋ชจ๋ฆฌ DB์— ๋‚จ์•„์žˆ๋Š” ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•œ๋‹ค. (์ง์ „ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ด์คŒ) clearStore ๋ฉ”์„œ๋“œ public void clearStore(){ st..

๐ŸSpring/Basic 2022. 6. 14. 18:10
[ JAVA ] HashMap

'ํ‚ค์— ๋Œ€ํ•œ ํ•ด์‹œ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์กฐํšŒํ•˜๋ฉฐ, ํ‚ค-๊ฐ’ ์Œ์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” associate array' associate array : Map, Dictionary, Symbol Table ๋“ฑ HashMap์— ์•Œ์•„๋ณด๊ธฐ ์ „ Map์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž Map ์ด๋ž€? Map์€ Key-Value์˜ Mapping์ด๋‹ค. ์ฆ‰, ๋ชจ๋“  Key๊ฐ€ ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ Value์— Mapping๋˜๊ณ  Key๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Map์—์„œ ํ•ด๋‹น Value๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Key์™€ Value๋Š” ๋ชจ๋‘ ๊ฐ์ฒด๋กœ Value๋Š” ์ค‘๋ณต์ €์žฅ๋  ์ˆ˜ ์žˆ์ง€๋งŒ Key๋Š” ์ค‘๋ณต์ €์žฅ์ด ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ List์— ๊ฐ’์„ ์ถ”๊ฐ€ ํ•˜์ง€ ์•Š๋Š” ์ด์œ , HashMap์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ? ๊ฐ„๋‹จํ•œ ์ด์œ ๋Š” ์„ฑ๋Šฅ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. List์—์„œ ํŠน..

๐ŸฐJAVA/Basic 2022. 6. 14. 14:18
[ JAVA, DB ์œ„์ฃผ ] ๊ฐœ๋ฐœ ๊ด€๋ จ ์šฉ์–ด ์ •๋ฆฌ ( ๊ฐœ์ธ ํ•™์Šต์šฉ )

Java Language ํŠน์ง• • ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ : Java Application์€ ํด๋ž˜์Šค ํŒŒ์ผ์— ์ €์žฅ๋˜๊ณ  JVM์— ๋กœ๋“œ๋˜๋Š” ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ : Application์€ JVM์—์„œ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์™€ ์žฅ์น˜์—์„œ ์‹คํ–‰๊ฐ€๋Šฅ • ๊ฐ์ฒด ์ง€ํ–ฅ : C ๋ฐ C++์˜ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ทจํ•˜๊ณ  ์ด๋ฅผ ๊ฐœ์„ ํ•œ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด ์ž…๋‹ˆ๋‹ค. : ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์˜ฎ๊ฒจ์™€ ํ˜„์‹ค ์„ธ๊ณ„์˜ ์‚ฌ๋ฌผ๋“ค์„ ๊ฐ์ฒด๋กœ ๋ณด๊ณ  ๊ทธ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š” ํŠน์ง•๊ณผ ๊ธฐ๋Šฅ์„ ๋ฝ‘์•„์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ฒƒ • ์ž๋™ Garbage ์ˆ˜์ง‘ : ์ž๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น ๋ฐ ํ• ๋‹น ํ•ด์ œํ•˜๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์ด ํ•ด๋‹น ์ž‘์—…์— ๋ถ€๋‹ด์„ ๊ฐ–์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. • ํ’๋ถ€ํ•œ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : ์ž…/์ถœ๋ ฅ, ๋„คํŠธ์›Œํ‚น ๋ฐ ๋‚ ์งœ ์กฐ์ž‘๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ..

๐ŸฐJAVA/Basic 2022. 6. 14. 10:15
Prev 1 2 3 4 5 6 7 8 Next