๐ Study/JS, JQuery
jQuery - $(document).ready() ๋์ $()๋ฅผ ์ฌ์ฉํ์
์ฌ์ฉ๋ฒ $(document).ready(function(){ // ์คํํ ๊ธฐ๋ฅ์ ์ ์ํด์ฃผ์ธ์. }); ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ์์์ ์ ์ํ ์์ ์ฝ๋์ ๊ฐ์ต๋๋ค. .ready()๋ฅผ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ์ฝ๋๋ค์ ์๋์ ๊ฐ์ต๋๋ค. $(handler) $(document).ready(handler) $("document").ready(handler) jQuery 3.0 ๋ฒ์ ์ดํ๋ถํฐ๋ ์ฒซ ๋ฒ์งธ์ ํด๋นํ๋ ๊ตฌ๋ฌธ๋ง ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค. .ready() Event๋ 1.8 ๋ฒ์ ์์๋ deprecated ๋์์ผ๋ฉฐ 3.0์์๋ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. $(documet).ready() ๋์ $()๋ฅผ ์ฌ์ฉํ์ $(function(){ // ์คํํ ๊ธฐ๋ฅ์ ์ ์ํด์ฃผ์ธ์. });
jQuery / Method / .val() - ์์(form)์ ๊ฐ์ ๊ฐ์ ธ์ค๊ฑฐ๋ ๊ฐ์ ์ค์ ํ๋ ๋ฉ์๋
.val() .val()์ ์์(form)์ ๊ฐ์ ๊ฐ์ ธ์ค๊ฑฐ๋ ๊ฐ์ ์ค์ ํ๋ ๋ฉ์๋์ ๋๋ค. ๋ฌธ๋ฒ 1 .val() ์ ํํ ์์์ ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค. ์๋ฅผ ๋ค์ด var jb = $( 'input#jbInput' ).val(); ์ ์์ด๋๊ฐ jbInput์ธ input ์์์ ๊ฐ์ ๋ณ์ jb์ ์ ์ฅํฉ๋๋ค. ๋ฌธ๋ฒ 2 .val( value ) ์ ํํ ์์์ ๊ฐ์ ์ค์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด $( 'input#jbInput' ).val( 'ABCDE' ); ๋ ์์ด๋๊ฐ jbInput์ธ input ์์์ ๊ฐ์ ABCDE๋ก ์ ํฉ๋๋ค. ์์ 1 ์์์ ํ ์คํธ๋ฅผ ์ ๋ ฅํ๊ณ ๋ฒํผ์ ํด๋ฆญํ๋ฉด, ์ ๋ ฅํ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค. Click ์์ 2 select ์์์์ ๊ฐ์ด ๋ฐ๋๋ฉด, ๊ทธ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค. One Two Three ์์ 3 ๋ฒํผ์ ํด..
JQuery
๊ฐ์ JavaScript๋ ํ๋์ ๊ธฐ์ ์์ ํผ์ ๋ง๋ค๊ณ , ํผ์ ์ฌ์ฉ ํ๊ฒฝ๊น์ง ๋ฐฐํฌํด์ฃผ๋ ์ธ์ด๊ฐ ์๋๋๋ค. ํ์ค๊ณผ ๊ท์ฝ์ด ์๊ณ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๊ณ ์๊ธฐ๋ ํ์ง๋ง ๊ท์ฝ์ด ์ ๋๋ก ์ ํด์ง๊ธฐ ์ ๋์๋ ๊ตฌํ ๋ธ๋ผ์ฐ์ (Internet Explorer 9 ์ดํ)์์๋ JavaScript ํจ์๋ฅผ ์ง์ํ์ง ์๋ ๊ฒ์ด ์์ด ์ฝ๋๊ฐ ์ ๋๋ก ๋์ํ์ง ์๋ ๊ฒฝ์ฐ๋ ๋ง์ต๋๋ค. jQuery๋, ์ด๋ฐ ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ํด๊ฒฐํ๊ณ ์์ฃผ ์ฌ์ฉํ๋ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ค์ด์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์๋นํ ๋ง์ ์น์ฌ์ดํธ๊ฐ ํ์ฌ๋ jQuery๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. jQuery ๊ณต์ ํํ์ด์ง ์ด ๊ฐ์์์ ์์ธํ๊ฒ ๋ค๋ฃจ์ง ์์ ์์ ์ด๋ฉฐ, JavaScript ์์ ์ด ๋ง์ด ํ์ํ ํํ์ด์ง์๋ jQuery ์ฌ์ฉ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ์ฌ์ฉ๋ฒ var span..
[node.js] req.params vs req.body vs req.query
node.js๋ก ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ์ฃผ์๋ก ๋ฐ๋ params( ๋ผ์ฐํฐ ๋งค๊ฐ๋ณ์) ์ req.body ๋ฐ์ดํฐ๋ค์ ๋ด์์ ๋ณด๋ผ ๋ ์ฌ์ฉํ๋ ๊ฒ(์ ์ ์ ์ ๋ณด ๋๋ ํ์ผ) ํค ๊ฐ์ผ๋ก ๋ณด๋ด๋ ๊ฒ์ ์๊ณ ์์์ผ๋ req.query๋ฅผ ์ฐ๋ ์ ๋ฐฐ๋ฅผ ๋ณด๊ณ ์ด๊ฑด ๋ชจ๋ฅด๋ฉด ์๋ ๊ฒ ๊ฐ์์ ์ ๋ฆฌ ํฉ๋๋ค. req.params - ๋ผ์ฐํฐ ๋งค๊ฐ๋ณ์ ์๋ฅผ ๋ค์ด /:id/:name ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด ":id"์์ฑ๊ณผ ":name"์์ฑ์ req.params.id, req.params.name์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. www.example.com/post/1/jun ์ผ ๊ฒฝ์ฐ 1๊ณผ jun์ ๋ฐ๋๋ค. req.body - JSON ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ๋ด์๋ ์ฌ์ฉํ๋ค. (์ฃผ๋ก POST๋ก ์ ์ ์ ์ ๋ณด ๋๋ ํ์ผ ์ ๋ก๋(formdata)๋ฅผ ๋ณด๋์ ๋ ) ์์ฒญ ๋ณธ๋ฌธ์..
Mongo DB์ Node.js ์ฐ๋ํ๊ธฐ
์๋ก mongodb์ node.js๋ฅผ ์ฐ๋ํด์ db๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด์๋ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ์์์ผํ๋ค. const mongoose = require('mongoose'); const MONGODB_URL = 'mongodb+srv://root:12341234@cluster0.luvlj.mongodb.net/myFirstDatabase?retryWrites=true&w=majority' mongoose.connect(MONGODB_URL, { useNewUrlParser: true }, (err) => { if (err) { console.log(err); } else { console.log("Connected to database successfully") } }) DB์ ๊ทผ์ ๋น๋ฐ๋ฒํธ๊ฐ ๋จ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ ..
์์ฒญ ๋ผ์ฐํ ํ๊ธฐ
์๋ก middle์จ์ด์ ๋ผ์ํ ์ ์์๋ณด์ ์์ฒญ url์ ์ผ์ผ์ด ํ์ธํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ๋ผ์ฐํฐ ๋ฏธ๋ค์จ์ด์ ๋๋ค. ๋ผ์ฐํฐ ๋ฏธ๋ค์จ์ด ์ฌ์ฉํ๊ธฐ ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์์ฒญํ ๊ธฐ๋ฅ์ด ๋ฌด์์ธ์ง ํจ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ณํ๊ธฐ ๋๋ฌธ์ ์์ฃผ ์ค์ํฉ๋๋ค. * Router ๊ฐ์ฒด๋ฅผ ์ด์ฉํด ๋ผ์ฐํ ํจ์ ๋ฑ๋กํ๊ธฐ * * (1) ์น ๋ธ๋ผ์ฐ์ ์์ http://localhost:3000/public/login2.html ํ์ด์ง ์ด๊ณ ์์ฒญ * (2) ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์ Postman ์ฑ์ด๋ ๊ธฐํ POST ์์ฒญ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ POST ๋ฐฉ์์ผ๋ก ์์ฒญ * * @date 2016-10-25 * @author Mike */ // Express ๊ธฐ๋ณธ ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ var express = require('express') , ht..
๋ฏธ๋ค์จ์ด ์ฌ์ฉํ๊ธฐ
์๋ก express ๋ชจ๋์์ ๋ฏธ๋ค์จ์ด์ ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ ์ค ์์์ผํ๋๋ฐ ๊ทธ์ค ๋ฏธ๋ค์จ์ด๋ฅผ ์์๋ณด์ ์ง๊ธ๊น์ง๋ use() ๋ฉ์๋๋ก ๋ฏธ๋ค์จ์ด ํจ์์์ ์ฝ๋๋ฅผ ์ง์ ๋ฃ์ด ํด๋ผ์ด์ธํธ ์๋ต์ ์ ์กํด์ผ ํ๋๋ฐ ์ด๋ ค์์ ๊ฐ๋ฐ์๊ฐ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋์ ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ๋ค. Static ๋ฏธ๋ค์จ์ด ํน์ ํด๋์ ํ์ผ๋ค์ ํน์ ํจ์ค๋ก ์ ๊ทผํ ์ ์๋๋ก ๋ง๋ค์ด ์ค๋๋ค. // Express ๊ธฐ๋ณธ ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ var express = require("express"); const res = require("express/lib/response"); const path = require("path"); // static ๋ฏธ๋ค์จ์ด ํน์ ํด๋์ ํ์ผ๋ค์ ํน์ ํจ์ค๋ก ์ ๊ทผํ ์ ์๋๋ก ๋ง๋ค์ด์ค๋ค. var static = require("ser..
์ต์คํ๋ ์ค๋ก ์น ์๋ฒ ๋ง๋ค๊ธฐ
์๋ก http๋ชจ๋๋ง ์ฌ์ฉํด์ ์น ์๋ฒ๋ฅผ ๊ตฌ์ฑํ ๋๋ ๋ง์ ๊ฒ๋ค์ ์ง์ ๋ง๋ค์ด์ผ ํ๋ค. express ๋ชจ๋์ ์ฌ์ฉํด์ ๋ฏธ๋ค์จ์ด, ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๊ฒ ๊ตฌ์ฑํ ์ ์๋ค. express ์๋ฒ๋ง๋ค๊ธฐ $ npm init ํด์ package.json ํ์ผ์ ๋ง๋ ๋ค. express, http ๋ชจ๋์ ./ ๊ธฐํธ ์์ด ๋ชจ๋ ์ด๋ฆ๋ง ์ฌ์ฉํ๋ค. ์ด๊ฒ์ ๋ ธ๋์ ๋ด์ฅ๋ ๋ชจ๋ ๋๋ npm์ผ๋ก ์ค์นํ ์ธ์ฅ ๋ชจ๋์ผ ๋ ์๋ ํจ์ค๊ฐ ์๋ ์ด๋ฆ๋ง ์ง์ ํ๋๋ก ์ค์ ๋์๊ธฐ ๋๋ฌธ์ด๋ค. // Express ๊ธฐ๋ณธ ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ var express = require("express"); http = require("http"); // ์ต์คํ๋ ์ค ๊ฐ์ฒด ์์ฑ var app = express(); // ๊ธฐ๋ณธ ํฌํธ๋ฅผ app ๊ฐ์ฒด์ ์์ฑ์ผ๋ก ์ค์ a..
๊ฐ๋จํ ์น์๋ฒ ๋ง๋ค๊ธฐ
์๋ก node.js๋ฅผ ํตํด์ ์๋ฒ๋ฅผ ๊ตฌ์ถํด์ DB์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ appํ๋ก์ ํธ๋ฅผ ํ๊ธฐ์ํด์ ์๋ฒ ๊ณต๋ถ์ค์ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ ์๋ฒ ๊ตฌ์ถ์ ํด๋ณด์๋ค. ๋ณธ๋ฌธ ๋ ธ๋์ ๊ธฐ๋ณธ์ผ๋ก ๋ค์ด ์๋ http๋ชจ๋์ ์ฌ์ฉํ๋ฉด ์น์๋ฒ ๊ธฐ๋ฅ์ ๋ด๋นํ๋ ์๋ฒ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. http ๋ชจ๋์ ๋ก๋ฉํ์ ๋ ๋ฐํ๋๋ ๊ฐ์ฒด์๋ createServer()๋ฉ์๋๊ฐ ์ ์ ๋์ด์๋ค. ์ด ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด ์๋ฒ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์๋ค. //http ๋ชจ๋์ ๋ค์ด์๋ ์๋ฒ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ require()๋ฉ์๋๋ก http ๋ชจ๋์ ๋ถ๋ฌ์ต๋๋ค. var http = require("http"); // ์น ์๋ฒ ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค. var server = http.createServer(); // ์น ์๋ฒ๋ฅผ ์์ํ์ฌ 5000๋ฒ ํฌํธ์์ ๋๊ธฐํฉ๋..
Chap1 start _ require() ๋ฉ์๋
Node.js์์ require ๋ฉ์๋ ์ธ๋ถ ๋ชจ๋์ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ๋ชจ๋์ด๋ผ ํจ์ ์ธ๋ถ์ ์ํฅ์ ๋ฐ์ง ์๋ ๋ ๋ฆฝ๋, ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋๋ค์ ๋ฌถ์์ผ๋ก ๋ณผ ์ ์์ต๋๋ค. ์์ module.exports export export ๋ฌธ์ JavaScript ๋ชจ๋์์ ํจ์, ๊ฐ์ฒด, ์์ ๊ฐ์ ๋ด๋ณด๋ผ ๋ ์ฌ์ฉํฉ๋๋ค. ๋ด๋ณด๋ธ ๊ฐ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์์ import ๋ฌธ์ผ๋ก ๊ฐ์ ธ๊ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ๋ฐ๋ก ์ ์ธํด์ ์งง๊ฒ requireํด์ ์ฌ์ฉํ ์๋ ์๋ค.