์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- UIKit
- node.js
- MVVM
- realm
- Swfit
- SnapKit
- ios
- ๋ฐฑ์ค
- XCTest
- ํจ์คํธ์บ ํผ์ค
- visionOS
- reactorkit
- designpattern
- RxSwift
- Xcode
- tableView
- Kuring
- swift
- TCA
- Lv2
- BOJ
- CollectionView
- raywenderlich
- ํ๋ก๊ทธ๋๋จธ์ค
- Flutter
- SwiftUI
- arkit
- rxcocoa
- combine
- BFS
- Today
- Total
๋ชฉ๋ก๐ฐ๏ธ Node.js (8)
lgvv98
๋ชฝ๊ณ ๋๋น ์ด ์ฅ์์๋ ๋ชฝ๊ณ ๋๋น๋ฅผ ์์๋๋ค๋ฉด ๋์ฑ ๋ ๋ค์ํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์๋ค. ๋ชฝ๊ณ ๋๋น์ ํน์ง ์ค ํ๋๋ ์์ค ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ค. ๋ฐ๋ผ์ ๋ชฝ๊ณ ๋๋น ์ฌ์ฉํ๋ฉด ์์ค๋ง์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค ์ ์์. # NoSQL vs SQL MySQL์ SQL์ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ค. ๋ฐ๋ฉด์ SQL ์ฌ์ฉํ์ง ์๋ NoSQL(Not Only SQL)์ด๋ผ๊ณ ๋ถ๋ฅด๋ ๋ฐ๋ฒ ๋ ์๋ค. ์ฌ๋ฌ ์ธก๋ฉด์์ ๋ค๋ฅด์ง๋ง ๋ช๊ฐ์ง๋ง ์์๋ณด์. NoSQL์๋ ๊ณ ์ ๋ ํ ์ด๋ธ ์์. ํ ์ด๋ธ์ ์ฌ์ํ๋ ์ปฌ๋ ์ ์ด๋ ๊ฐ๋ ์ ์์ผ๋ ์นผ๋ผ์ ๋ฐ๋ก ์ ์ํ์ง ใ ๋ณ์ MySQL์ users ํ ์ด๋ธ์ ๋ง๋ค ๋ name, age, married ๋ฑ์ ์นผ๋ผ๊ณผ ์๋ฃํ ์ต์ ๋ฑ์ ์ ์ํ์ง๋ง ๋ชฝ๊ณ ๋๋น๋ ๊ทธ๋ฅ users ์ปฌ๋ ์ ์ ๋ง๋ค๊ณ ๋. ์ด๋ ํ ๋ฐ์ดํฐ๋ ๋ค์ด๊ฐ..
MySQL ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณ์์ ์ ์ฅํ๋ค๋ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ค๋ ๊ฒ. ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ฐ์ฑ์ด๋ผ ์ข ๋ฃํ๋ฉด ์ฌ๋ผ์ง. ์๊ตฌ์ ์ฅ์ ์ํด์๋ ๋ฐ๋ฒ ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ๋ค์ํ DB๊ฐ ์์ง๋ง MySQL๊ณผ ๋ชฝ๊ณ ๋๋น ๋๊ฐ์ง๋ฅผ ์ด์ฉํ ์์ . # mysql ์ค์น brew install mysql brew services start mysql mysql_secure_installation # ์ํฌ๋ฒค์น ์ค์น ์ฝ์๋ก๋ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ณด๊ธฐ์ ๋ฌด๋ฆฌ๊ฐ ์์ผ๋ฏ๋ก ์ํฌ๋ฒค์น๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ฉด ๋ฐ๋ฒ ๋ด๋ถ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ธํ ์ ์์ด์ ํธ๋ฆฌํจ. # ํ ์ด๋ธ ์์ฑํ๊ธฐ ๋๋ถ๋ถ ์๋๊ฑฐ๋ผ ๋์ถฉ ๋๋ง ์์๋ณด๋๋ก ์ ๋ฆฌ VARCHAR(์๋ฆฟ์): ๊ฐ๋ณ๊ธธ์ด CHAR(์๋ฆฟ์): ๊ณ ์ ๊ธธ์ด - ๋๋ค ์๋ฆฟ์๊ฐ 10์ด๋ผ๊ณ ํ๋ฉด, VARCHAR๋ 0~..
์ต์คํ๋ ์ค ์น ์๋ฒ ๋ง๋ค๊ธฐ #4์์ ์๋ฒ ๋ง๋ค๊ธฐ ๋ถํธํ์๊ฑฐ๋ค. ์ด์ ์ข ์ฌ์์ง๋๊น ์์๋ณด์. # ์ต์คํ๋ ์ค ํ๋ก์ ํธ ์์ํ๊ธฐ ์ฐ์ learn-express๋ฅผ ๋ง๋ค์ด๋ณด์. npm init -y ์๋์ฒ๋ผ ์์ ํ์. { "name": "learn-express", "version": "0.0.1", "description": "์ต์คํ๋ ์ค๋ฅผ ๋ฐฐ์๋ณด์", "main": "app.js", "scripts": { "start": "nodemon app" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "express": "^4.18.2" }, "devDependencies": { "nodemon": "^3.0.1" } } ๊ทธ ๋ค์์๋ npm ..
ํจํค์ง ๋งค๋์ ๋ชจ๋ ๊ธฐ๋ฅ ๋ค ๊ตฌํํ๋๊ฑฐ ๋๋ฌด๋๋ ๋ฒ ์ฐธ. ๊ทธ๋์ ๋ง์ ๋ถ๋ถ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋ . ๊ทธ๋ฐ ๊ฒ๋ค์ด ๊ณต๊ฐ๋์ด ์๋ ์๋ฒ์ธ npm์ด๋ผ๋ ํจํค์ง ์์๋ณผ ์์ . # npm ์์๋ณด๊ธฐ Node Package Manager์ ์ฝ์์. ๋๋ถ๋ถ์ ์๋ฐ์คํฌ๋ฆฝํธ ํจํค์ง๋ ์ฌ๊ธฐ ์์. ๋๋ถ๋ถ ์คํ ์์ค์ฌ์ ๋ ธ๋ ์ฌ์ฉํด์ ์น ๊ฐ๋ฐ์ ๋ง์ผ ๋์์ด ๋๋ค. # Package.json์ผ๋ก ํจํค์ง ๊ด๋ฆฌํ๊ธฐ. ํจํค์ง ํ๋์ฉ ์ถ๊ฐ ํ๋ค๋ณด๋ฉด ์ด๋์๊ฐ 100๊ฐ๊ฐ ๋์. ํจํค์ง๋ง๋ค ๊ณ ์ ๋ฒ์ ์์ด์ ์ด๋๊ฐ์ ๊ธฐ๋กํด์ผ ํ๋ค. ๋ฐ๋ผ์ ๋ ธ๋ ํ๋ก์ ํธ ์์ ์ ์ ํด๋ ๋ด๋ถ์ ๋ฌด์กฐ๊ฑด package.json์ ๋ง๋ค๊ณ ์์ํด์ผ ํ๋ค. npm init ์์ ์ ๋ ฅํด์ ์ธํ ๊ฐ๋ฅ ํ๋ก์ ํธ ์ด๋ฆ, ๋ฒ์ , ์ค๋ช ์ package.json, author๋ฅผ ์ ๋ ฅํด์ ..
http ๋ชจ๋๋ก ์๋ฒ ๋ง๋ค๊ธฐ #์์ฒญ๊ณผ ์๋ต ์ดํดํ๊ธฐ ์ ์ด์ ๋ถํฐ ์๋ฒ๋ฅผ ๋ง๋ค์ด๋ณด์ ์๋ฒ์์๋ ์์ฒญ์ ๋ด์ฉ์ ์ฝ๊ณ ์ฒ๋ฆฌํ ๋ค ํด๋ผ์ด์ธํธ์ ์๋ต์ ๋ณด๋ธ๋ค. ๊ทธ๋ฌ๋๊น ์ผ๋จ ์์ฒญ์ ๋ฐ๋ ๋ถ๋ถ๊ณผ ์๋ต์ ๋ณด๋ด๋ ๋ถ๋ถ์ด ์์ด์ผ ํ๋ค. const http = require('http'); http.createServer((req, res) => { // ์ฌ๊ธฐ์ ์ด๋ป๊ฒ ์๋ตํ ์ง ์ ์ด์ค๋๋ค. }); http ์๋ฒ๊ฐ ์์ด์ผ ์น ๋ธ๋ผ์ฐ์ ์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ผ๋ฏ๋ก http ๋ชจ๋์ ์ฌ์ฉํ๋ค. http๋ชจ๋์๋ createServer ๋ฉ์๋๊ฐ ์๋ค. ์์ฒญ์ด ๋ค์ด์ฌ ๋๋ง๋ค ์ฝ๋ฐฑ ํจ์๊ฐ ์คํ๋๋ค. const http = require('http'); http.createServer((req, res) => { res.writeHe..
#3 ๋ ธ๋ ๊ธฐ๋ฅ ์์๋ณด๊ธฐ # REPL ์ฌ์ฉํ๊ธฐ Read ์ฝ๊ณ , Eval ํ๊ฐํ๊ณ , Print ์ถ๋ ฅํ๊ณ , Loop ์ข ๋ฃํ ๋๊น์ง ๋ฐ๋ณต์์ ์๊ธ์๋ง ๋ฐ์ ์ด์ผ๊ธฐ ํจ. ์ฝ์์ node๋ผ๊ณ ์ ๋ ฅํ๋ฉด ๋๋ค. ์ข ๋ฃํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ปจํธ๋กค + C ๋๋ฒ ํน์, .exit์ ์ ๋ ฅํ์ฌ ์ข ๋ฃ. # JS ํ์ผ ์คํ ํด๋น ํ์ผ ์์ฑํ ์ฝ์์ node {ํด๋นํ์ผ} ์ ๋ ฅํ๊ธฐ ํ์ฅ์๋ ์๋ต. # ๋ชจ๋๋ก ๋ง๋ค๊ธฐ ๋ ธ๋๋ ๋๊ฐ์ง ๋ชจ๋ ์ฌ์ฉ CommonJS์ ECMAScript. - CommonJS: ์ด๊ฑด ํ์ค ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋์ ์๋์ง๋ง ํ์ค ๋์ค๊ธฐ ์ด์ ๋ถํฐ ์ฐ์ฌ์ ๋๋ฆฌ ์ฐ์. - ECMAScript(ES ๋ชจ๋): ๊ณต์์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋. ES ๋ชจ๋์ด ํ์ค์ผ๋ก ์ ํด์ง๋ฉด์, ๋ธ๋ผ์ฐ์ ์ ๋ ธ๋ ๋ชจ๋์์ ๊ฐ์ ๋ชจ๋ ํ์์ ์ฌ์ฉํ ์ ์๋ค๋ ..