๋ชฉ๋ก์ ์ฒด ๊ธ (1005)
๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
๐ฉ๐ป Docker : ์คํ ์์ค ํ๋ก์ ํธ : ์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ์คํ์์ค ๊ฐ์ํ ํ๋ซํผ : ์ปจํ ์ด๋ ๊ด๋ฆฌ๋ฅผ ์ํ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ ์ ๊ณต ๋ฐ ๊ด๋ฆฌ์ ํธ์์ฑ ๋์ - Docker Server (Daemon) : host machine ์์ ์ปจํ ์ด๋ ๊ด๋ฆฌ, ์คํ : ์ฌ์ฉ์์ client ํตํด ์ฐ๊ฒฐ๋จ - Docker Cleint : Docker ์ ์ฌ์ฉ์ ๊ฐ ์ธํฐํ์ด์ค ์ ๊ณต : ์ฌ์ฉ์ ๋ช ๋ น์ด ๋ฐ์ Docker Daemon์ผ๋ก ์ ๋ฌ (์์ผ ํต์ ์ฌ์ฉ) โญ ์ปจํ ์ด๋ : ๋จ์ผ Host OS ์์์ ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๊ณ ๋ฆฝ๋ ๊ณต๊ฐ์์ ๋์ํ๋ ๊ตฌ์กฐ : ์ด์์ฒด์ ์์ ์ ํ๋ฆฌ์ผ์ด์ (ํ๋ก์ธ์ค)์ ๋ถ๋ฆฌํ์ฌ ๋์ : namespace(๋จ์ผ ํ๋ก์ธ์ค์ฉ ์์ ๊ฒฉ๋ฆฌ), Cgroupt(ํ๋ก์ธ์ค์ ๊ทธ๋ฃน cpu)๋ฅผ ์ด์ฉ ์ฅ) ํ๋ก์ธ์ค๋ง ๋์ ..
๐ฉ๐ป ํด๋ผ์ฐ๋ ๊ธฐ๋ณธ ์ํคํ ์ฒ : ๊ฐ์ํ ๊ธฐ์ , ํด๋ผ์ฐ๋ ๊ด๋ฆฌ, ๋คํธ์ํฌ, ๋ฐ์ดํฐ 1) ๊ฐ์ํ (Virtualization) : ๋ฌผ๋ฆฌ ํ๋์จ์ด ์์คํ ์์ ์ฌ๋ฌ ์๋ฌผ๋ ์ด์ ํ๊ฒฝ์ด๋ ์ ์ฉ ๋ฆฌ์์ค๋ฅผ ์์ฑํ ์ ์๋ ๊ธฐ์ 2) ํ์ดํผ๋ฐ์ด์ (Hypervisor) : ํธ์คํธ ์ปดํจํฐ์์ ๋ค์ ์ด์ ์ฒด์ ๋ฅผ ๋์ ์คํํ๊ธฐ ์ํ ๋ ผ๋ฆฌ์ ํ๋ซํผ 3) ์ ๊ฐ์ํ (Full) & ๋ฐ๊ฐ์ํ (Para) - ์ ๊ฐ์ํ : ํ์ดํผ๋ฐ์ด์ ๊ฐ ๋ชจ๋ ์ผ ๊ฐ๋น - ๋ฐ๊ฐ์ํ : ์์ฒญ์ ํ์ํ ๋ชจ๋ ์ผ ์ค๋นํด์ ์ ๋ฌ - ํธ์คํธ ๊ธฐ๋ฐ ๊ฐ์ํ ๐ฉ๐ป ํด๋ผ์ฐ๋ ์์ ๊ธฐ์ - ๋ฆฌ์์ค : CPU, Storage, RAM, Network(๋คํธ์ํฌ ๋ฆฌ์์ค ๊ด๋ฆฌ, ๋ผ์ฐํฐ, ์๋ธ๋ท) , GPU, ์ด๋ฏธ์ง(OS ์ด๋ฏธ์ง ๊ด๋ฆฌ) - ๋ฆฌ์์ค ํ ๋น : ํ์ดํผ๋ฐ์ด์ ์ ์ํด ..
๐ฉ๐ป ํด๋ผ์ฐ๋ (Cloud) ์ปดํจํ (Computing) : ์ฌ์ฉ์์ ์ง์ ์ ์ธ ๊ด๋ฆฌ ์์ด, ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง์ ์ปดํจํฐ ํ์์ ๊ฐ์ ์ปดํจํฐ ์์คํ ๋ฆฌ์์ค๋ฅผ ํ์์ ๋ฐ๋ก ์ ๊ณตํ๋ ๊ฒ โ ํด๋ผ์ฐ๋ ๊ธฐ์ ๋ด์ ์๋ฒ์ ์ ์ฅ์ฅ์น๋ฅผ ๋์ง ์๊ณ ์ธ๋ถ์ ์์์์ฑํด ์ฐ๋ ์๋น์ค โญ ์ฃผ์ ๊ตฌ์ฑ ์์ : ์ปดํจํฐ ๊ธฐ๋ฅ (CPU, ๋ฉ๋ชจ๋ฆฌ, ๋คํธ์ํฌ), ์ด๊ณ ์ ๋คํธ์ํฌ๋ง, ๊ฐ์ํ ๊ธฐ์ โญ ์ฅ์ - Economical : ๊ตฌ์ถ ๋น์ฉ ๋ฎ์, ์ค์ผ์ผ๋ง, ๊ด๋ฆฌ ๋น์ฉ ์์ - Reliability : ๋ฐ์ดํฐ ์ผํฐ ๋ด ๋ณด์ ๊ธฐ๋ฅ, ๊ฐ๋ ฅํ ๋ฐ์ดํฐ ๊ด๋ฆฌ - Manageability : ๋ชจ๋ ๊ฒ์ ์ค์์์ ๊ด๋ฆฌ - Data Centralization : ์ค์์์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์คํ ๋ฆฌ์ง์ ์ ์ฅํ์ฌ ๊ด๋ฆฌ - Proper Security : ๋ฐ์ดํฐ ์ผ..
=> Node.js With Passport Authentication | Full Project => authentication app with login, register and access control using Node.js, Express, Passport, Mongoose ๐ฅ passport๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ, ํ์๊ฐ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ auth ์ธ์ฆ๊น์ง ์๋ฃํ๊ธฐ ์ฐธ๊ณ : https://github.com/gani0325/2023/tree/main/Web/PassportAuthentication ๐ง middlewares/auth.js module.exports = { ensureAuthenticated: (req, res, next) => { if (req.isAuthenticated()) {..
=> Node.js With Passport Authentication | Full Project => authentication app with login, register and access control using Node.js, Express, Passport, Mongoose ๐ฅ ๋ก๊ทธ์ธ์ ๋์์ฃผ๋ passpoart ์ด๋ฆ์ฒ๋ผ ์์ ์ ์น์ฌ์ดํธ์ ๋ฐฉ๋ฌธํ ๋ ์ฌ๊ถ๊ฐ์ ์ญํ ๋ก๊ทธ์ธ์ ์ฝ๊ฒ ํ ์ ์๊ฒ ๋์์ค // login์ด ์ต์ด๋ก ์ฑ๊ณตํ์ ๋๋ง ํธ์ถ๋๋ ํจ์ // done(null, user.id)๋ก ์ธ์ ์ ์ด๊ธฐํ passport.serializeUser(function (user, cb) { process.nextTick(function () { return cb(null, user); }); });..
=> Node.js With Passport Authentication | Full Project => authentication app with login, register and access control using Node.js, Express, Passport, Mongoose ๐ฅ ํจ์ค์๋ ํด์ํจ์ bcrypt : hash ํจ์๋ฅผ ์ด์ฉํด ์ ๋ณด๋ฅผ ์ํธํ ํ ์ ์๋๋ก ํด์ฃผ๋ Node.js ํจํค์ง // bcrypt ๋ถ๋ฌ์ค๊ธฐ - commonjs const bcrypt = require("bcrypt") // ํด์ ํจ์๋ก ๋น๋ฐ๋ฒํธ ์ํธํํด์ ๋ณ์์ ์ ์ฅํ๊ธฐ const encrypted = bcrypt.hash("๋น๋ฐ๋ฒํธ", ํด์ํจ์ ๋ฐ๋ณต ํ์) ๐ฅ redirect ์ render ์ฐจ์ด res.redire..
๐ฉ๐ป ๋ณด์ : ์น์ธํ์ง ์์ ์ก์ธ์ค๋ ์ค์ฉ, ์ค๋์, ์์ , ํ๊ดด ๋ฑ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ํ๋ก์ธ์ค โญ ์ธ์ฆ (Authentication) : ์ฌ์ฉ์์ ์ ์์ ๊ฒ์ฆํ๋ ํ๋ก์ธ์ค - ๋น๋ฐ๋ฒํธ : ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฅํ๋ฉด, ์ ๋ณด๊ฐ ์ ํจํ๋ค ํ๋จ - ์ผํ์ฉ ํ : ๋จ์ผ ์ธ์ ์ด๋ ํธ๋ ์ญ์ (์ชผ๊ฐค ์ ์๋ ์์ ์ ๋จ์)์ ํํ์ฌ ํ์ฉ - ์ธ์ฆ ์ฑ : ์ธ๋ถ ๊ธฐ๊ด ํตํด ๋ณด์ ์ฝ๋ ์์ฑ - ์์ฒด ์ธ์ : ์ง๋ฌธ์ด๋ ๋ง๋ง ์ค์บ ์ ์ถ โญ ์ธ๊ฐ (Authorization) : ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ์ด๋ ํ ์์์ ์ ๊ทผํ ์ ์๋์ง๋ฅผ ํ์ธํ๋ ํ๋ก์ธ์ค โญ ์ํธ ๊ธฐ๋ฒ : ์ ๋ณด๋ฅผ ์๋ํ์ง ์์ ์์ ์๊ฐ ํ์ ํ ์ ์๋ ํํ๋ก ๋ฐ๊พธ์ด ๋ณดํธํ๋ ํ๋ฌธ โ ์ํธ ๊ธฐ๋ฒ ๊ตฌ์กฐ ๐ฉ๐ป ํด์ (Hash) : ๋จ๋ฐฉํฅ ์ํธํ ๊ธฐ๋ฒ์ผ๋ก ํด์ํจ์ ์ด์ฉํ์ฌ..
๐ฉ๐ป IP (Internet Protocol) : ๋คํธ์ํฌ์์ ์ด๋ค ์ ๋ณด๋ฅผ ์์ ํ๊ณ ์ก์ ํ๋ ํต์ ๊ท์ฝ โญ ๋น์ ๋ขฐ์ฑ : ๋ฐ์ดํฐ๊ฐ ์ก์ ์ง๊น์ง ์ ํํ๊ฒ ์ ๋ฌ ๋ณด์ฅ์ ์์ ( by ์ ์ก๊ณ์ธต ) โญ ๋น์ฐ๊ฒฐ์ฑ : ์ฐ๊ฒฐ๊ณผ์ ์ค์ ์์ด ๋ฐ์ดํฐ ์ ์ก โญ ์ฃผ์ ์ง์ (IP) : ๊ฐ ๊ธฐ๊ธฐ ์ฅ์น๊ฐ ์๋ณ๋ ์ ์๋๋ก ํจ โญ ๊ฒฝ๋ก ์ค์ (๋ผ์ฐํ ) : IP ์ฃผ์๋ฅผ ํตํ์ฌ ๋ผ์ฐํ ๊ฒฝ๋ก ์ค์ ๊ฐ๋ฅ ๐ฉ๐ป DNS (Domain Name System) : ํด๋ผ์ด์ธํธ๋ ๋๋ฉ์ธ ์ด๋ฆ์ ํตํด ์จ๋ผ์ธ์ผ๋ก ์ ๋ณด์ ์ก์ธ์ค ๊ฐ๋ฅ โญ ์ฌ๊ท์ ์ง์ : Local DNS ์๋ฒ์์ Root DNS ์๋ฒ์ ์์ฒญ ๋ณด๋ : ํํฅ์ ์ ๊ทผ์ผ๋ก IP ์ฃผ์ ๊ฒ์ํด ์ฌ๊ท์ ์ผ๋ก ๋ฐํ โญ ๋ฐ๋ณต์ ์ง์ : Local DNS ์๋ฒ๊ฐ ๊ฐ๊ฐ์ ์ต์์ ์๋ฒ๋ถํฐ ๋ฐ์ ์๋ฒ๊น์ง ํ๋์ฉ..