[Js] λͺ¨λ | λͺ¨λμ μ¬μ© | Node.jsμμμ λͺ¨λμ λ‘λ | javascript λͺ¨λ | λΌμ΄λΈλ¬λ¦¬
- -
ν΄λΉ ν¬μ€ν μ "μνμ½λ©"μ μ΄κ³ μ λμ κ°μλ₯Ό κΈ°λ°μΌλ‘ μ¬λ¦° κ²μκΈ μ λλ€.
β» μμ μ μΈ μ©λκ° μλ,
κ°μΈ κ³΅λΆ μ 리 λͺ©μ μΌλ‘ μ¬λ¦¬λ κΈμμ 미리 μ립λλ€.
λͺ¨λμ μ΄ν΄νκΈ° μ , λΆνμ΄λΌλ κ²μ λν΄ μ μ μμ보λλ‘ νμ.
νλ‘κ·Έλ¨μ μκ³ λ¨μν κ²μμ ν¬κ³ 볡μ‘ν κ²μΌλ‘ μ§ννλ€.
κ·Έ κ³Όμ μμ μ½λμ μ¬νμ©μ±μ λμ΄κ³ , μ μ§λ³΄μλ₯Ό μ½κ² ν μ μλ λ€μν κΈ°λ²λ€μ΄ μ¬μ©λλ€.
κ·Έ μ€μ νλκ° μ½λλ₯Ό μ¬λ¬κ°μ νμΌλ‘ λΆλ¦¬νλ κ²μ΄λ€.
μ΄λ₯Ό ν΅ν΄μ μ»μ μ μλ ν¨κ³Όλ μλμ κ°λ€.
- μμ£Ό μ¬μ©λλ μ½λλ₯Ό λ³λμ νμΌλ‘ λ§λ€μ΄μ νμν λλ§λ€ μ¬νμ©ν μ μλ€.
- μ½λλ₯Ό κ°μ νλ©΄ μ΄λ₯Ό μ¬μ©νκ³ μλ λͺ¨λ μ ν리μΌμ΄μ μ λμμ΄ κ°μ λλ€.
- μ½λ μμ μμ νμν λ‘μ§μ λΉ λ₯΄κ² μ°Ύμ μ μλ€.
- νμν λ‘μ§λ§μ λ‘λν΄μ λ©λͺ¨λ¦¬μ λλΉλ₯Ό μ€μΌ μ μλ€.
- νλ² λ€μ΄λ‘λλ λͺ¨λμ μΉλΈλΌμ°μ μ μν΄μ μ μ₯λκΈ° λλ¬Έμ λμΌν λ‘μ§μ λ‘λ ν λ μκ°κ³Ό λ€νΈμν¬ νΈλν½μ μ μ½ ν μ μλ€. (λΈλΌμ°μ μμλ§ ν΄λΉ)
λͺ¨λμ΄λ
μμν μλ°μ€ν¬λ¦½νΈμμλ λͺ¨λ(module)μ΄λΌλ κ°λ μ΄ λΆλͺ νκ² μ‘΄μ¬νμ§λ μλλ€.
νμ§λ§ μλ°μ€ν¬λ¦½νΈκ° ꡬλλλ νΈμ€νΈ νκ²½μ λ°λΌμ μλ‘ λ€λ₯Έ λͺ¨λν λ°©λ²μ΄ μ 곡λκ³ μλ€. μ΄ μμ μμλ
μλ°μ€ν¬λ¦½νΈμ λνμ μΈ νΈμ€νΈ νκ²½μΈ μΉλΈλΌμ°μ μμ λ‘μ§μ λͺ¨λννλ λ°©λ²μ λν΄μ μμλ³Ό κ²μ΄λ€.
νΈμ€νΈ νκ²½μ΄λ?
νΈμ€νΈ νκ²½μ΄λ μλ°μ€ν¬λ¦½νΈκ° ꡬλλλ νκ²½μ μλ―Ένλ€.
μλ°μ€ν¬λ¦½νΈλ λΈλΌμ°μ λ₯Ό μν μΈμ΄λ‘ μμνμ§λ§, λ μ΄μ λΈλΌμ°μ λ§μ μν μΈμ΄κ° μλλ€.
μλ₯Όλ€μ΄ node.jsλ μλ² μΈ‘μμ μ€νλλ μλ°μ€ν¬λ¦½νΈλ€. μ΄ μΈμ΄λ μλ°μ€ν¬λ¦½νΈμ λ¬Έλ²μ λ°λ₯΄μ§λ§
μ΄ μΈμ΄κ° ꡬλλλ νκ²½μ λΈλΌμ°μ κ° μλλΌ μλ²μΈ‘ νκ²½μ΄λ€.
λ ꡬκΈμ μ ν μμμ λμκ°λ Google Apps Script μμ μλ°μ€ν¬λ¦½νΈμ΄μ§λ§ google apps scriptκ° λμνλ νκ²½μ κ΅¬κΈ μ€νλ λμ¬νΈμ κ°μ ꡬκΈμ μ ν μμ΄λ€.
μ¬λ¬λΆμ μλ°μ€ν¬λ¦½νΈμ λ¬Έλ²μ μ΄μ©ν΄μ PHPμ κ°μ μλ² μμ€ν μ μ μ΄(node.js)νκ±°λ ꡬκΈμ μ ν(Google Apps Script)μ μ μ΄ ν μ μλ€. μ§κΈ λΉμ₯μ μ΄λ ΅κ² μ§λ§, μΈμ΄μ κ·Έ μΈμ΄κ° ꡬλλλ νκ²½μ λν΄μ ꡬλΆν΄μ μ¬κ³ ν μ μμ΄μΌ νλ€. μ΄λ₯Ό μν΄μλ λ€μν μΈμ΄λ₯Ό μ ν΄λ΄μΌ νλ€.
λͺ¨λμ λ§λλ λ°©λ²μ μμ보기μ μμμ λͺ¨λμ΄ μλ μν©μ κ°μ ν΄λ³΄μ.
λͺ¨λμ΄ μλ€λ©΄
μ°μ λͺ¨λμ΄ μλ μ ν리μΌμ΄μ μ νλ λ§λ€μ΄λ³΄μ. νμΌμ μ΄λ¦μ main.html μ΄λ€.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<script>
function welcome(){
return 'Hello world'
}
alert(welcome());
</script>
</body>
</html>
μλ₯Όλ€μ΄ μ΄ νμΌμ welcomeμ΄λΌλ ν¨μλ₯Ό λ§μ νμ΄μ§μμ μ¬μ©νλ€κ³ κ°μ μ ν΄λ³΄μ.
νμ¬λ 짧μ μ½λμ§λ§, ν¨μ λ΄μ©λ 1000μ€ κ°κΉμ΄ λλ€κ³ κ°μ μ νμ λ,
welcome()μ΄λΌλ ν¨μκ° main.htmlμ λ€μ΄κ° κ²μ λ§€μ° λΉν¨μ¨μ μ΄ λ κ²μ΄λ€.(μ μ§λ³΄μ μ΄λ ΅κ³ , λλΉκ° λ¨)
main.html μ΄λΌλ νμΌμ λΆνκ° κ±Έλ¦΄ λΏλλ¬, μ¬λ¬ νμ΄μ§μμ μ΄ ν¨μλ₯Ό μ¬μ©νκΈ° μν΄
λ§€μ° λΆνΈν κ³Όμ μ κ±°μ³μΌ ν κ²μ΄λ€.
μ΄λ΄λ λ§μ½ λͺ¨λ κ°λ μ΄ λ€μ΄κ°μ, welcome ν¨μλ₯Ό λ°λ‘ λΉΌμ, μ΄λμλ μ¬μ©ν μ μλ€λ©΄
κ·Έκ²μ λ§€μ° ν¨μ¨μ μΌλ‘ λμν κ²μ΄λ€.
μλ μ½λλ₯Ό μ΄ν΄λ³΄μ.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script src="greeting.js"></script>
</head>
<body>
<script>
alert(welcome());
</script>
</body>
</html>
script ꡬ문 λ€, srcλΌλ κ²μ΄ λΆμ΄μλλ° μ΄λ₯Ό μμ±μ΄λΌκ³ νλ€.
scriptλΌλ νκ·Έμ src νκ·Έκ° μλ€λ©΄ μ΄ μμ±μμ ν΄λΉνλ κ°μ μ½μ΄μμ νμΌμμ λ΄μ©μ μ€ν¬λ¦½νΈ μμ λ£λ κ²κ³Ό λμΌν ν¨κ³Όλ₯Ό λΈλ€. μ¦, greeting.jsλΌλ νμΌμ μ€ν¬λ¦½νΈ μμ λ£λκ²κ³Ό λμΌν ν¨κ³Όλ₯Ό λ΄λ κ²μ΄λ€.
μ΄λ κ² λλ©΄, main νμΌμ μ½λκ° κ°κ²°ν΄μ§λ©°, μ½λλ₯Ό 보기 λ§€μ° νΈλ¦¬νκ² λλ€.(μ½λ κ΄λ¦¬λ ν¨μ¨μ )
λν λ€λ₯Έ νμΌ(sub.html)μμλ ν¨μλ₯Ό μ΄μ©νκΈ°κ° λ§€μ° κ°νΈν΄μ§λ€.
βΌ μ½λ μ€λͺ
<script src="greeting.js"></script>
JavaScriptμ HTMLμ μμ ν λ€λ₯Έ λ¬Έλ²μ κ°μ§ μΈμ΄λ€.
κ·Έλ°λ° HTML λ¬Έμ μμλ JavaScriptμ HTMLμ΄ λμμ ννλλ€.
λ°λΌμ λΈλΌμ°μ μκ² μ΄λμλΆν° μ΄λκΉμ§κ° JavaScriptμ΄κ³ , HTMLμΈμ§λ₯Ό ꡬλΆν΄μ μλ €μ€μΌ νλ€.
μ΄ μν μ νλ HTML νκ·Έκ° script νκ·Έλ€. script νκ·Έ μμͺ½μ μμΉνλ 컨ν μΈ λ λΈλΌμ°μ μ μν΄μ JavaScriptλ‘ μΈμλλ€. κ·Έλ°λ° μμ μ½λλ 컨ν μΈ λμ μ src μμ±μ΄ μλ€.
λΈλΌμ°μ λ src μμ±μ μλ νμΌμ λ€μ΄λ‘λν΄μ μ€νμν¨λ€.
greeting.jsμλ ν¨μ welcomeκ° μ μλμ΄ μκΈ° λλ¬Έμ main.html μμ μ΄ ν¨μκ° μ μ λμ΄ μμ§ μμμλ
μ€νν μ μλ κ²μ΄λ€.
Node.jsμμμ λͺ¨λμ λ‘λ
λ³Έ μμ μ Node.jsλ₯Ό μν μμ μ΄ μλκΈ° λλ¬Έμ Node.jsλ₯Ό μ€ννλ λ°©λ²μ λ€λ£¨μ§ μλλ€. νΈμ€νΈ νκ²½μ λ°λΌμ λͺ¨λμ λ‘λνλ λ°©λ²μ΄ λ¬λΌμ§λ€λ κ²μ 보μ¬μ£ΌκΈ° μν μμ μΌ λΏμ΄κΈ° λλ¬Έμ λμμ μμ μ μ°Έκ³ νμ.
λͺ¨λμ λ‘λνλ λ°©λ²μ νΈμ€νΈ νκ²½μ λ°λΌμ λ¬λΌμ§λ€.
Node.jsμμλ μλμ κ°μ λ°©λ²μΌλ‘ λͺ¨λμ λ‘λνλ€.
μ½μμ λΉνλ μͺ½
node.circle.js (λ‘λλ λμ)
<script>
var PI = Math.PI;
exports.area = function (r) {
return PI * r * r;
};
exports.circumference = function (r) {
return 2 * PI * r;
};
</script>
νμΌμ μ½μ΄μ€λ μͺ½
node.demo.js(λ‘λμ 주체)
<script>
var circle = require('./node.circle.js');
console.log( 'The area of a circle of radius 4 is '
+ circle.area(4));
</script>
node.jsλ require
μ¦, μ 곡λλ ν¨μλ₯Ό μ΄μ©νμ¬ νμΌμ λ‘λ ν μκ° μλλ° μ μ½λλ₯Ό 보면
demo.jsμμ requireλ‘ circleμ circle.jsλ₯Ό λ΄κ³ μλ€.
μλλ μ€νλ°©λ²κ³Ό μ€ν κ²°κ³Όμ΄λ€.
F:\BitNami\wampstack-5.4.22-0\apache2\htdocs\javascript\module>node node.demo.js The area of a circle of radius 4 is 50.26548245743669
μ λ΄μ©μ μλ²½ν μμ§ν νμ μμ΄, νμνλ€λ©΄ λ°λ‘ node.jsλ₯Ό 곡λΆνκΈΈ λ°λλ€.
λΌμ΄λΈλ¬λ¦¬
λΌμ΄λΈλ¬λ¦¬λ λͺ¨λκ³Ό λΉμ·ν κ°λ μ΄λ€.
λͺ¨λμ΄ νλ‘κ·Έλ¨μ ꡬμ±νλ μμ λΆνμΌλ‘μμ λ‘μ§μ μλ―Ένλ€λ©΄ λΌμ΄λΈλ¬λ¦¬λ μμ£Ό μ¬μ©λλ λ‘μ§μ μ¬μ¬μ©νκΈ° νΈλ¦¬νλλ‘ μ μ 리ν μΌλ ¨μ μ½λλ€μ μ§ν©μ μλ―Ένλ€κ³ ν μ μλ€. νλ‘κ·Έλλ°μ μΈκ³μλ νΌλ£‘ν λΌμ΄λΈλ¬λ¦¬κ° λ§λ€. μ’μ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ ννκ³ μ μ¬μ©νλ κ²μ νλ‘κ·Έλλ°μ ν΅μ¬μ΄λΌκ³ ν μ μλ€.
μλ°μ€ν¬λ¦½νΈμμ λ§μ΄ μ¬μ©νλ λΌμ΄λΈλ¬λ¦¬ μ€ νλλ λ°λ‘ jQueryμ΄λ€.
1. jQuery ννμ΄μ§μμ νμΌμ λ€μ΄λ‘λ λ°λλ€. (μ£Όν©μ λ°μ€)
2. jQuery λ©λ΄μΌμ μ΄μ©ν΄μ μ¬μ©λ²μ νμ νλ€. (λΉ¨κ°μ λ°μ€)
jQueryμμ λΌμ΄λΈλ¬λ¦¬λ₯Ό λ€μ΄λ‘λ λ°μμ νμΌ λ΄μ©μ νμΈν΄λ³΄λ©΄ μμ£Ό ν° μλ°μ€ν¬λ¦½νΈ νμΌμ΄λΌλ κ²μ μ μ μλ€.
λ€μ΄λ‘λ ν 볡μ¬νμ¬ λ΄κ° μ¬μ©νλ μμ€μ½λλ€μ΄ μλ κ²½λ‘μ ν¨κ» jQueryλ₯Ό λ£κ³ μ μ₯νλ€.
jQueryνμΌμ΄ μ λ‘λ λμλμ§ νμΈνκ³ μΆλ€λ©΄
μμ κ°μ΄ μΉνμ΄μ§μμ κ°λ°μλͺ¨λλ‘ λ€μ΄κ° networkμμ tabμ ν΄λ¦ν΄μ£Όλ©΄ λλ€. (μ΄κ³³μ μλ€λ©΄ μ μμ μΌλ‘ λ‘λλ κ²)
jQuery
jQueryλ λͺ¨λ $λ‘ μμνλ€λ μ½μμ΄ μμ.
#listλΌκ³ νλ€λ©΄, ν΄λΉνλ idμ μ κ·Όνλ κ²μ΄κ³ ,
κ·Έ μμ μλ μΈλΆ λ΄μ©μ μ κ·Ό μ μμ κ°μ΄ μ½λ©ν΄μ£Όλ©΄ λλ€.
μ¦ listλΌλ ulμμ liμμ textμΈ emptyλ₯Ό coding everybodyλ‘ λ°κΏμ£Όλ κ²μ΄λ€.
μλλ jQueryλ₯Ό μ΄μ©ν μμ μ΄κ³ ,
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jQuery.js"></script>
</head>
<body>
<ul id="list">
<li>empty</li>
<li>empty</li>
<li>empty</li>
<li>empty</li>
</ul>
<input type="button" value="click me" id ="button_click" />
<script>
//#μ μμ΄λλ₯Ό μλ―Ένλ€κ³ μκ°νλ©΄ λ¨.
$('#button_click').click(function(){
$('#list li').text('hello haeun~~');
})
</script>
</body>
</html>
λ€μμ jQueryλ₯Ό μ΄μ©νμ§ μκ³ λμΌν κΈ°λ₯μ ꡬνν μμ μ΄λ€.
<!DOCTYPE html>
<html>
<body>
<ul id="list">
<li>empty</li>
<li>empty</li>
<li>empty</li>
<li>empty</li>
</ul>
<input id="execute_btn" type="button" value="execute" />
<script type="text/javascript">
function addEvent(target, eventType,eventHandler, useCapture) {
if (target.addEventListener) { // W3C DOM
target.addEventListener(eventType,eventHandler,useCapture?useCapture:false);
} else if (target.attachEvent) { // IE DOM
var r = target.attachEvent("on"+eventType, eventHandler);
}
}
function clickHandler(event) {
var nav = document.getElementById('list');
for(var i = 0; i < nav.childNodes.length; i++) {
var child = nav.childNodes[i];
if(child.nodeType==3)
continue;
child.innerText = 'Coding everybody';
}
}
addEvent(document.getElementById('execute_btn'), 'click', clickHandler);
</script>
</body>
</html>
μ΄λΆλΆμ λν΄μλ κ°μ λ΄μ©μ νλ² λ€μ΄λ³΄κΈΈ κΆμ₯νλ€.
μ½λ μ€ν μ
λ²νΌμ ν΄λ¦νλ©΄ liμ ν μ€νΈκ° λ³κ²½λλ€.
opentutorials.org/course/743/4750
'Languages > Java Script' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Js] μ κ· ννμ | μ»΄νμΌ? | μ κ·ννμ 리ν°λ΄ (0) | 2021.02.04 |
---|---|
[Js] UIμ API κ·Έλ¦¬κ³ λ¬Έμ보λ λ² | APIλ? | javascript API (0) | 2021.02.04 |
[Js] κ°μ²΄ | javascript κ°μ²΄ | κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° (0) | 2021.02.03 |
[Js] λ°°μ΄ | javascript λ°°μ΄ | λ°°μ΄μ΄λ? (0) | 2021.02.03 |
λΉμ μ΄ μ’μν λ§ν μ½ν μΈ
μμ€ν κ³΅κ° κ°μ¬ν©λλ€