[javascript] object ๋‚ด์— json string์„ object๋กœ ๋ณ€ํ™˜
ยท
Languages/JavaScript
toJson(target :any) { Object.keys(target).forEach(function (key: string) { try { target[key] = JSON.parse(target[key]); } catch (e) { target[key] = target[key]; } }); return target; }
[vue.js] v-if์™€ v-show์˜ ์ฐจ์ด์™€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๊ตฌ๋ถ„
ยท
Languages/JavaScript
v-if ์กฐ๊ฑด์œผ๋กœ ๋ Œ๋”๋งํ•˜๊ธฐ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ์— ์š”์†Œ๋Š” DOM ๋ ˆ๋ฒจ์—์„œ ์ œ๊ฑฐ๋˜๋ฉฐ, ๋ชจ๋“  ๊ฐ์‹œ๋„ ์ œ๊ฑฐ ๋ฉ๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋ผ๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ์ œ๊ฑฐ๋˜๋ฉฐ, ์ดํ›„์— ๋ Œ๋”๋ง ๋  ๋•Œ ๋ชจ๋“  ์ƒํƒœ๊ฐ€ ์ดˆ๊ธฐํ™” ๋˜์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ๋‚ด๋ถ€์—์„œ ๋””๋ ‰ํ‹ฐ๋ธŒ ๋˜๋Š” ์ปดํฌ๋„ˆ๋Š”๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ํŠน์ •ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ v-if๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. v-show ์กฐ๊ฑด์œผ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ๋‹จ์ˆœํ•˜๊ฒŒ display:none; ์Šคํƒ€์ผ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋”๋ผ๋„ ๋ชจ๋“  ๋ฆฌ์•กํ‹ฐ๋ธŒ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋‚ด๋ถ€์ ์ธ ๊ฐ์‹œ๊ฐ€ ์ผ์–ด๋‚˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด ์ฃผ์„ธ์š”. ๋‚ด๋ถ€์— ๋””๋ ‰ํ‹ฐ๋ธŒ ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์—†๊ณ , ๋ณ€๊ฒฝ ๋นˆ๋„๊ฐ€ ๋†’์€ ๊ฒฝ์šฐ์—๋Š” v-show๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ ๋ฉด์—์„œ ์ข‹์Šต๋‹ˆ๋‹ค.
Node.js - Introduction
ยท
Server/Node.js
What is Node.js?Node.js๋Š” ๊ตฌ๊ธ€ ํฌ๋กฌ์˜ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ์—”์ง„ (V8 ์—”์ง„) ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ฒ„ ์ธก ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. 2009๋…„ Ryan Dahl ์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ์ตœ์‹  ๋ฒ„์ „ v0.10.36 ์ž…๋‹ˆ๋‹ค.(2016๋…„07์›”20์ผ ๊ธฐ์ค€ LTS 4.4.7 ๋ฒ„์ „์ด ๊ฐ€์žฅ ์ตœ์‹ ์ž…๋‹ˆ๋‹ค.) ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” documentation์— ์˜ํ•˜๋ฉด - Node.js๋Š” ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋„คํŠธ์›Œํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ํฌ๋กฌ์˜ Chrome's JavaScript runtime(V8์—”์ง„)์œผ๋กœ ๊ตฌ์ถ• ๋œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ๋””๋ฐ”์ด์Šค๋ฅผ ๊ฐ€๋ณ๊ณ  ํšจ์œจ์ ์ด๋ฉฐ ์™„๋ฒฝํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ event-driven, non-blocking I/O๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.Node.js๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๊ฐœ๋ฐœ ๋ฐ ๋„คํŠธ์›Œํ‚น ..
Node.js ํŠœํ† ๋ฆฌ์–ผ
ยท
Server/Node.js
Node.js TutorialNode.js๋Š” ํ›Œ๋ฅญํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ/ํ”Œ๋žซํผ์ด๋ฉฐ ๊ตฌ๊ธ€ ํฌ๋กฌ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„๊ณผ ๊ฐ™์€ V8 ์—”์ง„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋˜์–ด์žˆ๋‹ค. ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์‚ฌ์ดํŠธ, ๋‹จ์ผ ํŽ˜์ด์ง€๋กœ ์ด๋ค„์ง„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ธฐํƒ€ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ณผ ๊ฐ™์€ I/O๋ฅผ ์ฃผ๋กœ ๋‹ค๋ฃจ๋Š” ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค์ธ Node.js๋Š” ์™„์ „ ๋ฌด๋ฃŒ์ด๋ฉฐ ์ „ ์„ธ๊ณ„ ์ˆ˜ ์ฒœ๋ช… ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด์šฉํ•˜๊ณ  ์žˆ๋‹ค.Audience์ด๋ฒˆ ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” Node.js์˜ ๊ธฐ์ดˆ์™€ ์•„ํ‚คํ…์ฒ˜ ์ปจ์…‰์„ ๊ณต๋ถ€ํ•˜๊ณ ์ž ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์œ„ํ•ด ์ œ์ž‘๋˜์—ˆ๋‹ค. Node.js์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ์™€ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์ดํ•ด๋ฅผ ์‹œ์ผœ ์ค„ ๊ฒƒ์ด๋‹ค.Prerequisites์ด ๊ณผ์ •์„ ํ•˜๊ธฐ ์ „์— ๊ธฐ์ดˆ์ ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์›น ๊ธฐ๋ฐ˜..
javascript XMLHttpRequest Object ์˜ˆ์ œ
ยท
Languages/JavaScript
XMLHttpRequest ๊ฐ์ฒด๋Š” IE6, IE5์—์„œ๋งŒ ๋‹ค๋ฅด๊ฒŒ ์„ ์–ธํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ƒํƒœ์ฝ”๋“œ๋กœ ์„ฑ๊ณต ์œ ๋ฌด๋ฅผ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. form ํƒœ๊ทธ์—์„œ enctype application/json ๋ฐฉ์‹์„ ์ง€์›ํ•ด์ฃผ์ง€ ์•Š์„๋•Œ ์•„๋ž˜์™€๊ฐ™์ด XMLHttpRequest๋ฅผ ์ด์šฉํ•ด์ฃผ์‹œ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค. var parameterVal = '{"id":"'+id+'","passwd":"'+passwd+'"}'; var xmlhttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp=new ActiveXObject("Micros..
[javascript] select box ๋…„์›”์ผ selected
ยท
Languages/JavaScript
var d = new Date(); window.onload = function(){ selectedDateOpt(document.getElementsByName("_year"), d.getFullYear()); selectedDateOpt(document.getElementsByName("_month"),(d.getMonth() + 1)); selectedDateOpt(document.getElementsByName("_date"), d.getDate()); selectedDateOpt(document.getElementsByName("_day"), d.getDay()); }; function selectedDateOpt(seleObj, date){ for(var i=0;i
[jquery] ๋””๋ฐ”์ด์Šค ์ •๋ณด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ swipe
ยท
Languages/JavaScript
[javascript]html5 video stop, reset, load
ยท
Languages/JavaScript
//var video = document.getElementById("videoContents"); var video = $("#videoContents")[0]; video.pause(); video.currentTime = 0; $("#videoContents").find("#videoSource").attr("src","URL"); video.load(); $('.videoArea').scrollTop(0); ์ •์ง€ : video.pause(); ์ดˆ๊ธฐํ™” : video.currentTime = 0; ๊ตฌํ˜„ : video.load(); ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช… HTML5 ๋น„๋””์˜ค๋ฅผ ์ค‘์ง€, ์žฌ์„ค์ • ๋ฐ ๋กœ๋“œํ•˜๋ ค๋ฉด JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€์˜ ๋น„๋””์˜ค ์š”์†Œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ด๋Ÿฌํ•œ ๊ฐ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰..
[javascript] ์‹œ๋ถ„์ดˆ์— ํŠน์ • ๋ฌธ์ž ๋„ฃ๊ธฐ
ยท
Languages/JavaScript
//example HH:MM:SS ๊ทธ๋ฆฌ๊ณ ... 12์‹œ๊ฐ„ ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝ function HHMMssInsertChar(HHMMss, character){ if(6 == HHMMss.length){ splitHH = HHMMss.substring(0,2); splitMM = HHMMss.substring(2,4); splitSS = HHMMss.substring(4,6); if(12 < (splitHH*1)){ splitHH = ((splitHH*1)-12)+''; } HHMMss = splitHH+character+splitMM+character+splitSS; } return HHMMss; } argument 1 : ์‹œ๋ถ„์ดˆ ํ˜•ํƒœ์˜ ๋ฌธ์ž์—ด alrgument 2 : ์‹œ๋ถ„์ดˆ ์‚ฌ์ด์— ๋„ฃ์–ด์ค„ ๋ฌธ์ž ์ถ”๊ฐ€๋กœ 24ํ˜•ํƒœ๋ฅผ..
[Javascript] ์ •๊ทœ์‹์„ ์ด์šฉํ•œ ๋ฌธ์ž์—ด์˜ ๋งจ ์•ž 0 ์ œ๊ฑฐ
ยท
Languages/JavaScript
str = str.replace(/^0/,'');