๋กœ์ผ“๐Ÿพ
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...