๋กœ์ผ“๐Ÿพ
article thumbnail
[JS]DOM ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ!! ๊ณ ์ฒ™์Šค์นด์ด๋” ์•„๋‹™๋‹ˆ๋‹ค
... 2020. 12. 23. 12:38

์›น ๊ฐœ๋ฐœ์ž๋ถ„๋“ค์ด๋ผ๋ฉด DOM ์ด๋ผ๋Š” ๋‹จ์–ด ํ•œ๋ฒˆ์ •๋„๋Š” ๋“ค์–ด๋ณด์…จ์„ ๊ฒ๋‹ˆ๋‹ค. ์ € ์—ญ์‹œ DOM์— ๋Œ€ํ•ด ๋งŽ์ด ๋“ค์–ด๋ดค์ง€๋งŒ ์ •ํ™•ํžˆ ๊ทธ๊ฒŒ ๋ฌด์—‡์ธ์ง€๋Š” ์ž˜๋ชฐ๋ž์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๊ถ๊ธˆํ•œ ๊ฒƒ์— ๋Œ€ํ•ด ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ€๋ฉด ์•ˆ๋˜๊ธฐ์— DOM์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. Aldev๋‹˜, Code Playground๋‹˜, WIT๋ธ”๋กœ๊ทธ์˜ ๊ณ ์šฐ์˜๋‹˜์˜ ์ž๋ฃŒ๋ฅผ ํ† ๋Œ€๋กœ ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ์–ธ์ œ๋“  ์ง€์ ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ํ•œ ๋ธ”๋กœ๊ทธ๋“ค์— ๋Œ€ํ•ด์„œ๋Š” ํ•˜๋‹จ์— ์ฃผ์†Œ๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค. l BOM ๊ณผ DOM ์›น์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค ๋ฉ๋‹ˆ๋‹ค. ํฌ๋กฌ, ์‚ฌํŒŒ๋ฆฌ, ์ต์Šคํ”Œ๋กœ์–ด ๋“ฑ์ด ๋ฐ”๋กœ ์›น ๋ธŒ๋ผ์šฐ์ € ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” html ์ฝ์–ด๋“ค์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ธŒ๋ผ์šฐ์ €์™€ ๊ด€๋ จ๋œ ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ์„ ๋ธŒ๋ผ์šฐ์ € ๊ฐ์ฒด ๋ชจ๋ธ ์ฆ‰..

article thumbnail
[JS] jquery๋กœ ํด๋ž˜์Šค๋ช…์ด ๋™์ผํ•œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํƒœ๊ทธ ์ ‘๊ทผํ•˜๊ธฐ
... 2020. 12. 23. 12:23

์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋™์ผํ•œ ํด๋ž˜์Šค์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฅด๊ฒŒ css ์†์„ฑ์„ ํ•ด์ฃผ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์œ„์— 2๊ฐœ์˜ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋Š”๋ฐ 2๊ฐœ ๋ชจ๋‘ ๋™์ผํ•œ ํƒœ๊ทธ๋กœ ์ƒ์„ฑ๋œ ๋’ค ๋ฐ์ดํ„ฐ ๊ฐ’๋งŒ ๋‹ค๋ฅด๊ฒŒ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ A ์ด๋ฏธ์ง€ B ๋งŒ์•ฝ class="background" ๋ผ๊ณ  ํ• ๋•Œ $('.background').css("color", "red"); ํ•˜๊ฒŒ ๋˜๋ฉด 2๊ฐœ์˜ ์ด๋ฏธ์ง€ ๋ชจ๋‘ ํฐํŠธ๊ฐ€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ €๋Š” ์ฒซ๋ฒˆ์งธ ์ด๋ฏธ์ง€์—๋งŒ ๋นจ๊ฐ„์ƒ‰ ํฐํŠธ๋กœ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ํƒœ๊ทธ์— ์ ‘๊ทผํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. crud.list.onComplete = function(result) { console.log(result); if(result.result) { var dataList = result.dat..

article thumbnail
[Spring] ์„œ๋ธ”๋ฆฟ์ด๋ž€?
... 2020. 12. 22. 22:31

# ์„œ๋ธ”๋ฆฟ??!! ์„œ๋ธ”๋ฆฟ์€ ์„œ๋ฒ„ ์ชฝ์—์„œ ์‹คํ–‰๋˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋„์™€์ฃผ๋Š” ์ž๋ฐ” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์„œ๋ธ”๋ฆฟ์€ ์ž๋ฐ” ํด๋ž˜์Šค์ด๋ฏ€๋กœ ์ž๋ฐ”์˜ ์ผ๋ฐ˜์ ์ธ ํŠน์ง•์€ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž๋ฐ”์™€ ๋‹ฌ๋ฆฌ ์„œ๋ธ”๋ฆฟ์€ ํ†ฐ์บฃ๊ณผ ๊ฐ™์€ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰๋˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•˜๋ฉด ์›น ์„œ๋ฒ„๋Š” ๊ทธ ์š”์ฒญ์„ ํ†ฐ์บฃ๊ณผ ๊ฐ™์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS)์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด WAS ๋Š” ๊ฐ ์š”์ฒญ์— ํ•ด๋‹นํ•˜๋Š” ์„œ๋ธ”๋ฆฟ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„ ์„œ๋ธ”๋ฆฟ์€ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์—ฌ ํด๋ผ์–ธํŠธ์—๊ฒŒ ์‘๋‹ตํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ธ”๋ฆฟ์˜ ํŠน์ง• ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋œ๋‹ค. ์ •์ ์ธ ์›น ํ”„๋กœ๊ทธ๋žจ์„ ๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌํ• ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์Šค๋ ˆ๋“œ ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰๋œ๋‹ค. ์ž๋ฐ” ํด๋ž˜์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”์˜ ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค. ์„œ๋ธ”๋ฆฟ ์ปจ..

article thumbnail
[DB] RDS, NoSQL ๊ทธ๋ฆฌ๊ณ  NewSQL
... 2020. 12. 21. 22:02

๋Œ€๋ถ€๋ถ„ ์‚ฌ๋žŒ๋“ค์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DBMS : DataBase Management System)์„ ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š๊ณ  ํ”ํžˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ํ†ตํ•ฉํ•ด์„œ ๋งํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ •ํ™•ํžˆ ์ด ๋‘˜์˜ ๊ฐœ๋…์€ ์—„์—ฐํžˆ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์†Œ์œ„ ์•„๋Š” Mysql ๋‚˜ ์˜ค๋ผํด, ๋ชฝ๊ณ ๋น„๋”” ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ 1960๋…„๋Œ€์— ๊ฐœ๋ฐœ๋˜์–ด ํ˜„์žฌ๊นŒ์ง€๋„ ๊พธ์ค€ํžˆ ์ง„ํ™”๋ฅผ ๊ฑฐ๋“ญํ•˜๊ณ  ๋ฐœ์ „๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ๋”ฐ๋ผ 4์„ธ๋Œ€๋กœ ๋‚˜๋ˆŒ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1์„ธ๋Œ€์ธ ๋„คํŠธ์›Œํฌ DBMS 2์„ธ๋Œ€์ธ ๊ด€๊ณ„ DBMS 3์„ธ๋Œ€์ธ ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐ์ฒด๊ด€๊ณ„ DBMS 4์„ธ๋Œ€์ธ NoSQL, NewSQL DBMS (๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด๋ž€? ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ..

article thumbnail
[JS] ํ”„๋กœํ† ํƒ€์ž… ์ดํ•ดํ•˜๊ธฐ with ํ”„๋กœํ† ํƒ€์ž… ์ฒด์ธ
... 2020. 12. 17. 10:24

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” Java, Python ์ฒ˜๋Ÿผ ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด(Object-Oriented Programming, OOP)์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ž€ ํ”„๋กœ๊ทธ๋žจ์„ ๊ทธ์ € ๋ฐ์ดํ„ฐ์™€ ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚˜๋ˆ„๋Š”๊ฒŒ ์•„๋‹ˆ๊ณ , ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์ˆ˜์˜ "๊ฐ์ฒด"๋กœ ๋งŒ๋“ค๊ณ , ์ด๋“ค์ด ์„œ๋กœ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง€๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž๋™์ฐจ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด ์ž๋™์ฐจ์˜ ๋ฐ”ํ€ด, ์—”์ง„, ๋„์–ด ๋“ฑ์„ ๊ฐ์ฒด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์€ ํ”„๋กœํ† ํƒ€์ž…์— ๊ด€ํ•œ ๊ธ€ ์ด๋ฏ€๋กœ ๊ฐ์ฒด ์ง€ํ–ฅ์— ๋Œ€ํ•ด์„  ์ด ์ •๋„๋งŒ ์•Œ๊ณ  ๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•˜๋Š” Java์™€๋Š” ๋‹ฌ๋ฆฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(์ดํ•˜ JS)์—๋Š” ํด๋ž˜์Šค๋ผ๋Š” ๊ฐœ๋…์ด ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  JS์—๋Š” ํ”„๋กœํ† ํƒ€์ž…์ด๋ผ๋Š” ๊ฐœ๋…์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— JS๊ฐ€ ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜์˜ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ECMA6์—์„œ ํด๋ž˜์Šค ๋ฌธ๋ฒ•์ด ..

article thumbnail
[DB] ์ •ํ˜•, ๋ฐ˜์ •ํ˜•, ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ
... 2020. 12. 16. 22:41

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฐ€์žฅ ์›์ดˆ์ ์ธ ๋ชฉ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•ด์„  ๋จผ์ € ์ˆ˜์ง‘ ๋Œ€์ƒ์ด ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์œ ํ˜•์„ ํŒŒ์•…ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋Š” ํ˜•ํƒœ์— ๋”ฐ๋ผ ์ •ํ˜• ๋ฐ์ดํ„ฐ, ๋ฐ˜์ •ํ˜• ๋ฐ์ดํ„ฐ, ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •ํ˜• ๋ฐ์ดํ„ฐ ์ •ํ˜•๋ฐ์ดํ„ฐ(structured data)๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ๋ฏธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ •ํ•˜์—ฌ ์ •ํ•ด์ง„ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ํ”ํžˆ ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”์ด ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์ด ์ •ํ˜•๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ๋ฐ˜์ •ํ˜• ๋ฐ์ดํ„ฐ ๋ฐ˜์ •ํ˜• ๋ฐ์ดํ„ฐ(semi-structured data)๋Š” ์ •ํ˜• ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ์ €์žฅ๋˜์ง€๋งŒ ๋ฐ์ดํ„ฐ ์•ˆ์— ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ํ•จ๊ป˜ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์„ค๋ช…, ์ฆ‰ ๊ตฌ์กฐ๋ฅผ ํŒŒ..

article thumbnail
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐ๋ณธ ๊ฐœ๋…
... 2020. 12. 16. 22:13

์šฐ๋ฆฌ๋Š” ํ˜„๋Œ€์‚ฌํšŒ์—์„œ ๋ฐ์ดํ„ฐ์™€ ์ •๋ณด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์‹ค์ œ๋กœ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„๋Œ€์‚ฌํšŒ์—์„œ ๋ฐ์ดํ„ฐ์™€ ์ •๋ณด๋ฅผ ์ƒ๋‹นํžˆ ์ค‘์š”ํ•œ ์š”์†Œ๋กœ ์ทจ๊ธ‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ์™€ ์ •๋ณด๋ฅผ ๊ฐ™์€ ์˜๋ฏธ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๋ฐ์ดํ„ฐ์™€ ์ •๋ณด๋ฅผ ์—„์—ฐํžˆ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‘˜์˜ ์ •์˜๋ฅผ ์‚ดํŽด๋ณด๋ฉด, ๋ฐ์ดํ„ฐ : ํ˜„์‹ค ์„ธ๊ณ„์—์„œ ๋‹จ์ˆœํžˆ ๊ด€์ฐฐํ•˜๊ฑฐ๋‚˜ ์ธก์ •ํ•˜์—ฌ ์ˆ˜์ง‘ํ•œ ์‚ฌ์‹ค์ด๋‚˜ ๊ฐ’ ์ •๋ณด : ๋ฐ์ดํ„ฐ๋ฅผ ์˜์‚ฌ๊ฒฐ์ •์— ์œ ์šฉํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•˜์—ฌ ์ฒด๊ณ„์ ์œผ๋กœ ์กฐ์งํ•œ ๊ฒฐ๊ณผ๋ฌผ ์ž…๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋น„์œ ํ•˜์ž๋ฉด ๋ฐ์ดํ„ฐ : ๋ชฉ์žฅ์—์„œ ๋ง‰ ์ง  ์šฐ์œ (์›์œ ) ์ •๋ณด : ๋ชฉ์žฅ์—์„œ ์ง  ์šฐ์œ ๋ฅผ ๊ฐ€๊ณตํ•˜์—ฌ ํŒฉ์— ๋‹ด์€ ์šฐ์œ  ๋ผ๊ณ  ๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€ ์šฐ์œ ๋ฅผ ์–ป์œผ๋ ค๋ฉด ํ’ˆ์งˆ ์ข‹์€ ์›์œ ๋ฅผ ํ™•๋ณดํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ๊ฐ€์น˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์–ป์œผ๋ ค๋ฉด ํ˜„์žฌ ์ƒํ™ฉ์„ ์ •ํ™•ํžˆ ๊ด€์ฐฐํ•˜๊ณ  ์ธก์ •ํ•˜์—ฌ ์˜๋ฏธ์žˆ๋Š” ..

article thumbnail
[JS] ๋‚˜๋งŒ์˜ ์ฒ ํ•™์ด ๋‹ด๊ธด ์ฝ”๋“œ๋ž€??
... 2020. 12. 16. 09:40

ํšŒ์‚ฌ์— ์ธํ„ด์œผ๋กœ ์ž…์‚ฌ๋ฅผ ํ•˜๊ณ , ๋Œ€ํ‘œ๋‹˜๊ป˜์„œ ๊ณผ์ œ ํ•˜๋‚˜๋ฅผ ์ฃผ์…จ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด์˜€์Šต๋‹ˆ๋‹ค. ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๊ตฌํ˜„์„ ํ•˜์˜€๊ณ , ๋Œ€ํ‘œ๋‹˜๊ป˜ ๋ณด์—ฌ๋“œ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ณ„์‚ฐ๊ธฐ ๊ธฐ๋Šฅ ์ž์ฒด์—๋Š” ๋ฌธ์ œ๊ฐ€ ์ „ํ˜€์—†์—ˆ์œผ๋‚˜.. ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ๋ฅผ ๋ณด์‹œ๊ณ ๋Š” ์ด๋Ÿฐ ๋ง์„ ํ•˜์…จ์Šต๋‹ˆ๋‹ค. ์•„์ง๋„ ์ •ํ™•ํžˆ ๊ธฐ์–ต๋‚ฉ๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ๋งํˆฌ๊นŒ์ง€๋„ ๊ธฐ์–ต์ด ๋‚ฉ๋‹ˆ๋‹ค. "์ฝ”๋“œ์— ์ฒ ํ•™์ด ๋‹ด๊ฒจ ์žˆ์ง€ ์•Š์•„" โ€ป์ฒ˜์Œ์— ์ œ๊ฐ€ ๊ตฌํ˜„ํ–ˆ๋˜ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด ๋งํฌ๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ์–ผํ•๋ณด๋ฉด ๊ฐ€๋…์„ฑ๋„ ์žˆ๊ณ  ๋‚˜๋ฆ„๋Œ€๋กœ ํ•จ์ˆ˜ํ™”๋„ ์‹œ์ผœ์„œ ๋ฌธ์ œ๊ฐ€ ์—†์–ด ๋ณด์ผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์•ฝ ๊ณ„์‚ฐ๊ธฐ์— ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” % ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด ๊ณ„์‚ฐ ๊ด€๋ จํ•œ ๋กœ์ง์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ ๋‚ด๋ถ€๋ฅผ ๋œฏ์–ด๊ณ ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๊ณ„์‚ฐ๊ธฐ ๊ด€๋ จ ์ฝ”๋“œ๋„ ๋ณต์žกํ•˜๊ณ  ๊ธธ์ง€ ์•Š์•„์„œ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์ง€๋งŒ ์—ฌ..

article thumbnail
[Node.js] Express-generator ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ
... 2020. 12. 14. 22:10

Express๋Š” ๊ธฐ์กด Node.js ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ํ™•์žฅ์„ฑ์ด ๋งŽ์ด ๋–จ์–ด์ง„๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์›น ์„œ๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. Express๋Š” http ๋ชจ๋“ˆ์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต ๊ฐ์ฒด์— ์ถ”๊ฐ€ ๊ธฐ๋Šฅ๋“ค์„ ๋ถ€์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ ๋ผ์šฐํ„ฐ๋กœ ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ ์‰ฌ์›Œ ์œ ์ง€๋ณด์ˆ˜ ๋˜ํ•œ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. Express ์™ธ์—๋„ koa๋‚˜ hapi ๊ฐ™์€ ์›น ์„œ๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์žˆ์ง€๋งŒ ๋‹ค์Œ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด Express๊ฐ€ ์••๋„์ ์œผ๋กœ ์ธ๊ธฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ๋‹ค๊ณ  ํ•ญ์ƒ ์ข‹์€๊ฑด ์•„๋‹ˆ์ง€๋งŒ, ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์€ ๊ฒƒ์—๋Š” ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์„ ์ˆ˜๋ก ๋ฒ„๊ทธ๊ฐ€ ์ ๊ณ , ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋‚˜ ์œ ์ง€๋ณด์ˆ˜๋„ ํ™œ๋ฐœ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Express-generator๋Š” Express ํ™˜๊ฒฝ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌ์ถ•ํ•ด์ฃผ๋Š” npm์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ Node.js ๊ฐœ๋ฐœ์„ ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

article thumbnail
[Node.js] bcrypt๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™” ํ•˜๊ธฐ
... 2020. 12. 14. 20:56

bcrypt๋ž€? ์›น ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๋ณด์•ˆ์€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•  ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ…์ŠคํŠธ ๊ทธ๋Œ€๋กœ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ €์žฅํ•ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ํ•ด์ปค์—๊ฒŒ ๋Œ€๋†“๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฆ„ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•”ํ˜ธํ™” ํ•˜๋Š” ๊ฒƒ์ด bcrypt ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค. bcrypt๋Š” ๋‹จ๋ฐฉํ–ฅ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ ๋ชจ๋“ˆ๋กœ์จ Salt ๋ผ๋Š” ๊ฐœ๋…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Salt ๋ผ๋Š” ๊ฐ’๊ณผ ํ•ด์‹œ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ•ฉ์ณ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด, ๋งŒ์•ฝ "1234" ๊ฐ™์€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ•ด์‹œํ•จ์ˆ˜์— ๋„ฃ์—ˆ์„๋•Œ ํ•ญ์ƒ ๋‹ค๋ฅธ ๊ฐ’์˜ Salt ๊ฐ’๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ•ฉ์ณ์„œ ํ•ด์ปค๋“ค์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ๋Š”๋ฐ ์žˆ์–ด ๋”์šฑ ํž˜๋“ค๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๋ฐฉ๋ฒ• npm i bcrypt๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. const bcrypt = require('bcrypt'); ..

profile on loading

Loading...