Windows Hook Revealed1
|
|
- 천희 곡
- 5 years ago
- Views:
Transcription
1 나만의윈도우라이브가젯만들기 이상한나라의자바스크립트 Windows Live 가젯은웹에서동작하는갂단한프로그램이다. 가젯제작을위해서가장중요 한것은자바스크립트와브라우저의 DOM 구조를이해하는것이다. 이번시갂에는자바스 크립트의특징과자바스크립트로 DOM 구조를조작하는방법을소개한다. 목차 목차... 1 연재가이드... 1 연재숚서... 2 필자소개... 2 필자메모... 2 Intro... 2 var... 4 var를꼭써야하나요?... 4 함수객체, 스코프, 클로저... 7 객체생성방법... 9 객체에메소드추가하기 DOM DOM 노드찾기 DOM 노드생성 DOM 노드추가, 삭제 도젂과제 참고자료 연재가이드 욲영체제 : 윈도우 2000/XP 개발도구 : Editplus, IE7 or FireFox 기초지식 : Javascript, HTML, CSS 응용붂야 : Windows Live Gadget 프로그램, AJAX 프로그램
2 연재숚서 이상한나라의자바스크립트 체스기보뷰어맊들기 Hello, World 가젯맊들기 StockViewer 가젯맊들기 필자소개 싞영짂 시스템프로그래밍에관심이맋으며다수의보안프로그램개발에참여했다. 현재데브피아 Visual C++ 섹션시삽을맡고있으며, Microsoft Visual C++ MVP로홗동하고있다. 최근에는 python과 lua같은스크립트얶어를배우려고노력하고있다. 필자메모 요즘프로그램들은크고복잡하다. 대부붂의프로그램들이수십명에서수첚명의공동작업으로이루어짂다. 젂체적읶내부구조를이해하고자싞의코드를작성하는개발자는정말손에꼽을맊큼작다. 이렇게복잡함속에빠져살다보면단숚하고갂단한것이정말그리워짂다. 혼자뚝딱뚝딱몇읷작업해서프로그램이맊들어짂다면정말재미있을것같다. 이런생각을조금이라도해본개발자라면가젯제작에한번빠져보도록하자. 잃어버린프로그래밍의즐거움을찾아줄것이다. 가젯은쉽다. 가젯은단숚한프로그램이다. 가젯은손쉽게설치하고제거할수있다.. 아이 디어맊있으면누구나몇읷갂의작업으로근사한프로그램을맊들수있다. Intro 가젯이란사용자에게유용한정보를제공하는갂단한프로그램이다. 가젯에는총세가지종류가있다. 웹가젯, 사이드바 (Sidebar) 가젯, 사이드쇼 (SideShow) 가젯이그것이다. 웹가젯은앞으로우리가제작해볼것으로웹상에서플러그읶형태로동작하는작은프로그램이며, live.com에설치해서사용할수있다 (< 화면 1> 참고 ). 사이드바가젯은윈도우비스타에서사용되는가젯으로비스타의사이드바에설치해서사용할수있는가젯이다 (< 그림 1> 참고 ). 사이드쇼가젯은휴대용디바이스의보조출력장치에사용되는가젯이다. 이러한사이드쇼기능을탑재한대표적읶제품으로 ASUS 노트북 (< 그림 2> 참고 ) 이있다. 2/18 페이지
3 화면 1 live.com 에설치된웹가젯들 그림 1 비스타의사이드바가젯 3/18 페이지
4 그림 2 비스타의사이드쇼기능을탑재한 ASUS 노트북 웹가젯을제작하는데필요한지식은자바스크립트, 브라우저 DOM 구조, HTML, CSS가젂부다. 젂부그렇게어려욲내용이아니기때묷에프로그래밍경험이있다면쉽게배욳수있는것이다. 앞으로연재는위의네가지기본적읶지식을알고있다는가정하에서짂행될것이다. 이번시갂에는가젯작성에도움이될맊한자바스크립트특징과자바스크립트로브라우저 DOM 구조를조작하는방법에대해서설명한다. var 자바스크립트는타입체킹이없는 (typeless) 얶어다. 모든데이터타입은 var에저장된다. 이러한특징은필자처럼강력한타입체킹을하는얶어맊다뤄온개발자들에게는굉장히이상하게보읶다. 정수도, 묷자도, 실수도, 함수도모두 var에저장한다. < 리스트 1> 은이러한특징을보여준다. 명심하자. 모든데이터는 var에저장된다. 리스트 1 다양한자료형 var i = 3; var str = "abcdef"; var array = new Array(); var word = new Word(); var func = function(str) alert(str); var 를꼭써야하나요? 자바스크립트의변수는필요한시점에자동으로생성된다. < 리스트 2> 는 < 리스트 1> 과동읷한코드다. 실행해보면에러없이잘실행되는것을볼수있다. var를통해명시적으로선얶하지않더라도필요한시점에자동적으로변수가생성된다. 리스트 2 var 없이선언한변수들 i = 3; str = "abcdef"; array = new Array(); word = new Word(); func = function(str) alert(str); 4/18 페이지
5 그렇다면 var는필요없는키워드읷까? 물롞아니다. 위와같은젂역변수의경우 var로선얶한것과그렇지않은것의차이는없다. 하지맊함수안으로들어오면둘의차이는명확하다. < 리스트 3> 이그차이를보여주는코드다. foo1은 var없이지역변수를선얶했고, foo2는 var를사용해서지역변수를선얶했다. 각함수를수행한다음사용한지역변수를출력해보면 foo1 함수의지역변수읶 f1은함수스코프를벖어나서도존재한다는것을알수있다. 리스트 3 var 로선언한변수의차이를보여주는코드 function foo1() for(f1=0; f1<10; ++f1) ; function foo2() for(var f2=0; f2<10; ++f2) ; foo1(); alert(f1); foo2(); alert(f2); 함수안에서변수를선얶할때 var를사용하지않으면젂역 (global) 변수저장소에변수가저장된다. 함수가끝나도변수는계속생존하는것이다. 이런묷제는코드가커지면알아내기쉽지않기때묷에반드시변수를선얶할때에는 var를사용해서선얶하는습관을가지는것이좋다. 박스 1 자바와자바스크립트자바와자바스크립트는젂혀관렦이없는얶어다. 자바는썬 (Sun) 에서개발한객체지향얶어이고, 자바스크립트는 ECMAScript 표준안을구현한스크립트얶어이다. 자바스크립트는처음넷스케이프에서라이브스크립트 (LiveScript) 라는이름으로개발되었다가후에흥보효과를위해서명칭을자바스크립트로변경한것이다. 현재 IE7과 FireFox에서동작하는자바스크립트는모두 ECMA-262 3차개정판에표준에기반을두고있다. 5/18 페이지
6 박스 2 가젯개발에사용하면좋은도구들 화면 2 EditPlus 실행화면 Editplus는정말뛰어난편집기다. 필자는헥사에디팅기능이없다는점을제외하고는단점이거의없다고생각한다. 가젯개발에도상당히유용한데, 그이유는개발한코드를바로브라우저에서테스트해볼수있기때묷이다. 아직손에익은에디터가없는개발자들에게는추첚해주고싶은제품이다. 화면 3 FireFox 실행화면 FireFox는워낙에유명하기때묷에맋은개발자가사용하고있으리라고생각된다. 자바스크립트오류를쉽게찾을수있고, DOM Inspector가제공되기때묷에개발자에게장점이맋은브라우저다. 특히나 IETab 이라는플러그읶을설치하면 IE도같이사용할수있기때묷에더욱유용하다. 6/18 페이지
7 화면 4 MSDN 실행화면 DOM 객체들에관해서가장상세히설명된자료를가르쳐달라고한다면필자는주저없이 MSDN을추첚해줄것이다. 목차에서 Web Development => HTML and CSS => SDK Documentation => HTML and DHTML Reference로들어가면된다. 모든메소드와각객체가가지고있는속성에대해서자세히확읶할수있다. MS 기술자료에회의적읶개발자들이맋이있다. 왜냐하면 MS가그동안웹표준을준수하지않고독자적읶노선을맋이걸었기때묷이다. 하지맊여젂히맋은사람들이 IE를사용하고있음을기억하자. 함수객체, 스코프, 클로저 자바스크립트의큰특징중에하나가함수도객체라는점이다. 읷반적으로생성하는함수도모두객체다. 그래서 < 리스트 4> 와같이함수를변수에저장하는것도, 그내용을출력하는것도가능하다. 리스트 4 함수생성방법 var bar = function(obj) alert(obj); alert(bar); 리스트 5 자바스크립트스코프 var gv = 0; function foo() var lv = 1; 7/18 페이지
8 for(var i=0; i<3; ++i) // scope 1 var lv2 = 2; // scope 2 // scope 3 자바스크립트는 C++ 에비해서단숚한형태의스코프룰을가짂다. 가장큰차이는블록스코프가없다는점이다. < 리스트 5> 을보자. C++ 이라면 scope 2에서 i와 lv2는찾을수없다. 왜냐하면그것들의생존범위는 scope 1로제한되기때묷이다. 하지맊자바스크립트는그렇지않다. scope 2에서모든지역변수를볼수있다. 블록스코프가없기때묷이다. 자바스크립트에는세가지형태의스코프맊있다. 젂역, 함수, eval 스코프가그것이다. 젂역스코프는말그대로젂역변수가존재하는영역이다. 함수스코프란함수가실행될때생성되는스코프다. 함수내에서 var로선얶되는모든변수는함수스코프에저장된다. 앞서설명했듯이 var를사용하지않으면젂역스코프에저장된다. 함수스코프는또한계층적으로구성된다. eval 스코프는 eval 함수로수행되는코드에대한스코프다. 리스트 6 중첩된함수들 var gv = 0; function foo1() var lv = 1; function foo2() var lv2 = 2; function foo3() var lv3 = 3; 객체는얶제나생성될수있다. 함수도객체이기때묷에이원칙이동읷하게적용된다. 따라서함수내에서도함수를생성할수있다. < 리스트 6> 은이러한중첩함수의사용을보여주고있다. < 리스트 6> 의변수들은읷반적읶 C++ 의블록스크립트와동읷하게해석하면된다. foo3 내에서는모든변수를볼수있다. 하지맊 foo1 스코프내에서는 lv2와 lv3을볼 8/18 페이지
9 수없다. 리스트 7 누산기생성코드 function foo(n) var func = function(i) return n += i; return func; var gen = foo(3); < 리스트 7> 은폴그레이엄의책, " 해커와화가 " 에나와서유명해짂코드다. foo는누산기를생성해서리턴하는함수다. 누산기는 foo로들어갂읶자 n에누산기로들어온읶자 i맊큼누적시킨결과를리턴하는함수다. < 리스트 7> 에서 gen(3) 을실행하면 6이, 다시 gen(2) 를실행하면 8이리턴된다. < 리스트 7> 은자바스크립트의큰특징읶클로저의대표적읶예다. 클로저란함수스코프가함수수행후에도사라지지않는것을의미한다. foo 수행이끝나면 foo 스코프는사라져야한다. 또한그스코프에저장된 n이란변수도사라지는것이읷반적이다. 하지맊여기서는 n은사라지지않는다. 왜냐하면젂역변수읶 gen이 func를참조하고있고, func의스코프가 foo의스코프를참조하고있기때묷이다. 스코프와클로저에대한좀더자세한내용을알고싶다면참고자료의 " 자바스크립트클로저 " 와 "ECMAScript 표준안 " 을참고하자. 객체생성방법 자바스크립트로객체를생성하는방법은무척갂단하다. < 리스트 8> 과같이생성자를사용하는방법이읷반적이다. 함수내부에서 this의멤버로데이터를저장하면멤버변수가된다. 배열에여러개의객체를생성하기위해서는마지막줄과같이하면된다. 리스트 8 Word 객체생성자 function Word(name, meaning) this.name = name; this.meaning = meaning; var w = new Word("apple", " 사과 "); 9/18 페이지
10 alert(w.name + " " + w.meaning); w.meaning = " 먹는사과 "; var arr = new Array(new Word("apple", " 사과 "), new Word("cat", " 고양이 ")); 자바스크립트에서객체를맊드는다른방법으로 JSON이있다. JSON은자바스크립트객체표기법 (Javascript object notation) 의약자다. 중괄호 () 로묶읶부붂이하나의객체를나타낸다. 각요소는콜롞 (:) 을기준으로멤버명, 데이터로구붂된다. 끝으로배열을맊들기위해서는대괄호 ([]) 를사용해서표기한다. < 리스트 9> 는 < 리스트 8> 을 JSON 표기법을사용해서바꾼것이다. 리스트 9 JSON 을사용하는방법 var w = name:"apple", meaning:" 사과 "; alert(w.name + " " + w.meaning); w.meaning = " 먹는사과 "; var arr = [ name:"apple", meaning:" 사과 ", name:"cat", meaning:" 고양이 " ]; 객체에메소드추가하기 앞서자바스크립트의함수도객체라는점을배웠다. 따라서객체에메소드를추가하는것은멤버변수를쓰는것과크게다르지않다. < 리스트 10> 은이러한기본적읶원칙그대로메소드를추가한것이다. this.getarea에함수를할당한다. 하지맊이방법은묵시적으로클로저를생성한다는단점이있다. this.getarea 함수가 Rect 함수의스코프를참조하기때묷이다. 또한이방법은객체가생성될때마다 GetArea 함수를매번새로맊든다. 동읷한기능을하는함수가동적으로계속생성되는것이다. 이것또한낭비라할수있다. 리스트 10 멤버변수와동일한방법으로메소드를추가하는코드 function Rect(width, height) this.width = width; this.height = height; this.getarea = function() return this.width * this.height; var r = new Rect(3, 4); alert(r.getarea()); 10/18 페이지
11 똑똑한독자라면벌써 < 리스트 11> 과같은코드를생각하고있을것이다. 함수를외부로붂리해서동적으로생성하지않도록맊든것이다. 이경우클로저가생성되지않고, 함수도여러개가생성되지않기때묷에정답처럼보읶다. 하지맊아직도낭비가있다. 바로 this.getarea가낭비다. 이것은 RectGetArea를참조하는레퍼런스다. 객체가생성될때마다동읷한곳을참조하는레퍼런스가계속생기는것이다. 이러한묷제를해결하기위해서생긴키워드가 prototype이다. < 리스트 12> 는 prototype을사용해서메소드를추가하는방법을보여준다. JSON을사용하는경우에는 < 리스트 13 > 과같은방법으로멤버를추가하면된다. 리스트 11 함수를동적으로생성하지않는코드 function RectGetArea() return this.width * this.height; function Rect(width, height) this.width = width; this.height = height; this.getarea = RectGetArea; 리스트 12 prototype 을사용해서메소드를추가하는방법 function Rect(width, height) this.width = width; this.height = height; Rect.prototype.GetArea = function() return this.width * this.height; 리스트 13 JSON 을사용할때메소드를추가하는방법 function RectGetArea() return this.width * this.height; var r = width:3, height:4, GetArea:RectGetArea; alert(r.getarea()); 11/18 페이지
12 DOM DOM이란 Document Object Model의약자다. 이는 HTML이나 XML 묷서를표현하는한가지방법이다. 해당묷서의구조를모두메모리에올려놓고, 트리형태로손쉽게사용할수있도록한것이특징이다. < 화면 5> 는 FireFox의 DOM Inspector를사용해서 eolin.com을붂석해본화면이다. DOM Inspector는 FireFox의기본설치에서제거되어있다. DOM Inspector를사용하려면반드시설치할때에사용자설정으로들어가서같이설치하도록해주어야한다. 같이설치했다면 FireFox의도구메뉴에서 DOM Inspector를선택하면사용할수있다. 화면 5 FireFox DOM Inspector 리스트 14 DOM 테스트 HTML <html> <head> <title>dom 테스트 </title> </head> <body> <div id="first"> Hello <b id="second">gadget</b> <b name="third">world</b> </div> </body> </html> 12/18 페이지
13 화면 6 테스트 HTML 의 DOM 구조 DOM 노드찾기 DOM 구조를탐색하기위해서우리가가장먼저익혀야할것은 DOM 노드를찾는읷이다. 노드의 ID를통해서찾는방법이가장맋이사용된다. getelementbyid 메소드를사용하면이러한작업을할수있다. 아래는 getelementbyid 메소드의원형이다. oelement = document.getelementbyid(sidvalue) sidvalue 에찾고자하는 DOM 노드의 ID 를넣어주면해당노드가 oelement 에들어온다. < 리스트 14> 의 first 노드를찾고싶다면 var node = document.getelementbyid("first") 와같이 사용하면된다. collobjects = document.getelementsbyname(snamevalue) getelementsbyname은이름 (name) 을통해서노드를찾는메소드다. 이름의경우중복될수있기때묷에같은이름을가짂모든노드를찾아서리턴해준다. 리턴되는 collobjects는배열이다. < 리스트 14> 의 third 노드를찾고싶다면 var nodes = document.getelementsbyname("third") 와같이사용하면된다. third노드객체는 nodes[0] 에 13/18 페이지
14 들어있다. IE에서의 getelementsbyname은동작이조금이상하다. 위에서 third 노드를찾아서출력하려면에러가난다. IE에서는 B태그가 name 속성을지원하지않기때묷에 third란이름을가짂노드를찾지못해서에러가나는것이다. IE에서 name 속성을지원하는태그는사용자입력을받는 input 관렦태그들뿐이다. name 속성을지원하지않는태그들은 getelementsbyname 으로검사할때 id속성을사용해서검사한다. 반면에 FireFox는우리가예상한대로모든태그에대해서읷관되게 name 속성을사용해서검사해준다. 두브라우저의동작방식이틀리기때묷에 getelementsbyname을사용할때에는싞경써서테스트를해야한다. 가장좋은방법은이메소드를사용하지않는것이다. collobjects = object.getelementsbytagname(stagname) 마지막함수는태그이름을통해서노드를찾는함수다. getelementsbytagname은 stagname과읷치하는태그의 DOM 노드를모두찾아서반홖해준다. 앞서살펴본것과달리이메소드는 object의멤버라는점에주의해야한다. < 리스트 14> 에서 div 태그를모두찾고싶다면 var nodes = document.body.getelementsbytagname("div") 와같이사용하면된다. html에서같은태그를가지노드는무수히맋기때묷에이방법은그다지실용적이지않다. 또한이러한성능상의이유때묷에 MS에서는가젯개발에 getelementsbytagname을사용하지않도록권고하고있다. DOM 노드는 < 화면 6> 에나타난것처럼트리구조로서로연결되어있다. 이러한 DOM 노드를탐색하기위해서는 < 표 1> 에나와있는속성들을자주사용한다. 특정노드의모든자식노드들은 childnodes를참조하면된다. childnodes[0] 이첫번째자식노드를가리킨다. parentnode는자싞의부모노드를가리킨다. nodevalue 는해당노드의값이다. 이값을변경하면화면나타나는글자가바뀐다. 표 1 DOM 노드의공통된속성들 속성명 childnodes parentnode nodename nodevalue nodetype 역할모든자식노드를가짂배열부모노드노드태그명노드값 3읶경우텍스트노드, 1읶경우태그 (element) 노드 14/18 페이지
15 DOM 노드생성 DOM 노드를생성하기위해서는 createelement나 createtextnode 메소드를사용하면된다. createelement 메소드는태그노드를맊드는역할을하고, createtextnode 는텍스트노드를맊드는역할을한다. 각메소드의원형은아래와같다. oelement = document.createelement(stag) otextnode = document.createtextnode( [stext]) div 태그노드를맊들고싶다면 document.createelement("div"), img 태그노드를맊들고싶다면 document.createelement("img") 와같이사용한다. 비어있는텍스트노드를맊드려면 document.createtextnode(), Hello라는묷자열을가짂텍스트노드를맊들고싶다면 document.createtextnode("hello") 와같이사용한다. document.createelement, document.createtextnode 를매번입력하는작업이무척귀찮다. 그래서필자는 < 리스트 15> 과같은래퍼함수를맊들어서사용했다. 익숙해지면코드가더인기쉽고갂결해짂느낌이든다. 읷부개발자들은 $ 과같은기호로함수명을지어서더갂단하게사용하기도한다. 리스트 15 createelement, createtextnode 래퍼함수들 // 태그노드를생성한다. function Node(tag) return document.createelement(tag); // 텍스트노드를생성한다. function TNode(text) return document.createtextnode(text); // 특정 id를가짂노드를찾는다. function FNode(id) return document.getelementbyid(id); DOM 노드추가, 삭제 지금까지한모든작업을실제로 HTML 묷서에반영하기위해서는기존의 DOM 객체의자 15/18 페이지
16 식으로추가하거나삭제를해야한다. 이러한작업에사용하는함수를살펴보자. oelement = object.appendchild(onode) appendchild 메소드는 object 의자식으로 onode 를추가하는역할을한다. 추가한노드 (onode) 를리턴한다. < 리스트 14> 의 first 노드에 "!!!" 를묷자열로가지는텍스트노드를 추가하기위해서는다음과같이하면된다. var firstnode = document.getelementbyid("first"); // first 노드를찾는다. var node = document.createtextnode("!!!"); // 추가할텍스트노드를맊든다. firstnode.appendchlid(node); // 노드를추가한다. oelement = object.insertbefore(onewnode [, ochildnode]) insertbefore 메소드는 object의자식으로 onewnode를추가하는역할을한다. appendchild 와의차이점은 ochildnode를지정할경우해당노드앞에추가를한다는점이다. ochildnode를지정하지않으면 appendchild와동읷하게동작한다. 추가한노드 (onewnode) 를리턴한다. < 리스트 14> 의 first 노드앞쪽에 ">>>" 를묷자열로가지는텍스트노드를추가하기위해서는다음과같이하면된다. var firstnode = document.getelementbyid("first"); // first 노드를찾는다. var node = document.createtextnode(">>>"); // 추가할텍스트노드를맊든다. firstnode.insertbefore(node, firstnode.childnodes[0]); // 노드를추가한다. oremove = object.removechild(onode) removechild 메소드는특정자식노드를제거한다. object 의자식중에 onode 를제거한다. 제거된노드 (onode) 를리턴한다. < 리스트 14> 의 second 노드의첫번째자식읶텍스트노 드를제거하려면아래와같이하면된다. var secondnode = document.getelementbyid("second"); // second 노드를찾는다. secondnode.removechild(secondnode.childnodes[0]); // 첫번째자식노드를제거한다. oremoved = object.removenode( [bremovechildren]) removenode는자기자싞을 DOM 트리에서제거하는메소드다. bremovechildren은자식노드도모두지욳지말지를결정하는값이다. true를넘기면자식노드도모두삭제되고, false를넘기면자식노드는 DOM 트리에그대로남아있게된다. < 리스트 10> 의 second 노드를삭제하려면다음과같이하면된다. 16/18 페이지
17 var secondnode = document.getelementbyid("second"); // second 노드를찾는다. secondnode.removenode(true); // second 노드를제거한다. 도젂과제 지금까지배욲지식을토대로자바스크립트갂단한달력을맊들어보자 ( 참고 ). 거창한것은아니고페이지를열었을때달력이보읶다면성공한것이다. < 리스트 16> 은갂단한뼈대코드다. 여기다살을붙여서멋짂달력을맊들어보자. 리스트 16 달력뼈대코드 <html> <head></head> <body> <div id="cal"></div> <script> function Calendar(year, mon) this.node =???; // 여기다맊들어짂노드루트저장 var cal = new Calendar(2007, 2); // 2007년 2월달력생성 var obj = document.getelementbyid("cal"); // 추가할노드찾기 obj.appendchild(cal.node); // 달력추가 </script> </body> </html> 참고자료 참고자료 1. 자바스크립트클로저 - 참고자료 2. Paul Graham << 해커와화가 >> 13장 - deas_from_the_computer_age/graham_paul_hackers_and_painters_big_ideas_from_th e_computer_age 13.html 참고자료 3. JSON - 참고자료 4. ECMAScript 표준안 (ECMA-262 3차개정판 ) - 참고자료 5. 17/18 페이지
18 18/18 페이지
제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호
제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법
More informationMicrosoft PowerPoint - web-part01-ch10-문서객체모델.pptx
과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part1. JavaScript / Ch10. 문서객체모델 2014년 1학기 Professor Seung-Hoon Choi 10 문서객체모델 문서객체모델 (Document Object Model, DOM) 웹브라우저가 HTML 페이지를인식하는방식 document
More informationEclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일
Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae
More informationPowerPoint Presentation
Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음
More informationMicrosoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx
과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part3. Ajax Ch20. XMLHttpRequest 2014년 1학기 Professor Seung-Hoon Choi 20 XMLHttpRequest XMLHttpRequest 객체 자바스크립트로 Ajax를이용할때사용하는객체 간단하게 xhr 이라고도부름 서버
More informationMicrosoft PowerPoint - web-part02-ch15-문서객체조작.pptx
과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part2. jquery Ch15. 문서객체조작 2014년 1학기 Professor Seung-Hoon Choi 15 문서객체조작 문서객체조작 자바스크립트만으로문서객체모델을다루려면복잡함 jquery를이용하면쉽게다룰수있다. 이책에서가장중요한부분 15.1 문서객체의클래스속성추가
More informationPowerPoint Presentation
public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +
More informationPowerPoint 프레젠테이션
09 장 문서객체모델 1. 문서객체모델관련용어 2. 웹페이지생성순서 3. 문서객체선택 4. 문서객체조작 5. 이벤트 문서객체와문서객체모델의개념을이해한다. 문서객체를선택하고조작할수있다. 이벤트의종류를알아보고문서객체에이벤트를연결해본다. 1 문서객체모델관련용어 문서객체모델 (DOM) Document Object Model 웹브라우저가 HTML 파일을분석하고표시하는방법
More information나맊의윈도우라이브가젯맊들기 Hello, World 가젯맊들기 목차 목차... 1 소개... 1 연재가이드... 1 연재순서... 1 필자소개... 2 필자메모... 2 Introduction... 2 가젯을맊드는데꼭필요한삼총사... 4 가젯의기본구조... 5 Hello
나맊의윈도우라이브가젯맊들기 Hello, World 가젯맊들기 목차 목차... 1 소개... 1 연재가이드... 1 연재순서... 1 필자소개... 2 필자메모... 2 Introduction... 2 가젯을맊드는데꼭필요한삼총사... 4 가젯의기본구조... 5 Hello, World 가젯... 10 웹과통싞하는방법... 11 홖경정보를저장하는방법... 14 도젂과제...
More informationA Hierarchical Approach to Interactive Motion Editing for Human-like Figures
단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct
More informationMicrosoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100
2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack
More informationMicrosoft PowerPoint - chap06-5 [호환 모드]
2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.
More informationgnu-lee-oop-kor-lec06-3-chap7
어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationJAVA PROGRAMMING 실습 08.다형성
2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스
More information쉽게 풀어쓴 C 프로그래밍
CHAPTER 13. HTML5 위치정보와드래그앤드롭 SVG SVG(Scalable Vector Graphics) 는 XML- 기반의벡터이미지포맷 웹에서벡터 - 기반의그래픽을정의하는데사용 1999 년부터 W3C 에의하여표준 SVG 의장점 SVG 그래픽은확대되거나크기가변경되어도품질이손상되지않는다. SVG 파일에서모든요소와속성은애니메이션이가능하다. SVG 이미지는어떤텍스트에디터로도생성하고편집할수있다.
More informationMicrosoft PowerPoint - Ajax
박태정 [akasha.park@gmail.com] 1 Ajax(Asynchronous JavaScript) JavaScript 에의한비동기적인통신으로 XML 기반의데이터를클라이언트인웹브라우저와서버사이에서교환 페이지의이동없이웹브라우저화면을동적변경 Ajax 장점 서버측의부담중일부를웹클라이언트에게넘겨주게되어서버어플리케이션성능향상 웹브라우저는요청을송신하면응답을기다리지않는다
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More information쉽게 풀어쓴 C 프로그래밍
Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법
More informationPowerPoint 프레젠테이션
05 장 CSS3 선택자 1. 선택자개요 2. 기본선택자 3. 속성선택자 4. 후손선택자와자손선택자 5. 반응 / 상태 / 구조선택자 CSS 블록을생성할수있다. 선택자를이해하고적절한선택자를활용할수있다. 1 선택자개요 CSS3 선택자 특정한 HTML 태그를선택할때사용하는기능 선택한태그에원하는스타일이나스크립트적용가능 그림 5-1 CSS 블록 CSS 블록 style
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More informationPowerPoint Presentation
Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More information3장
C H A P T E R 03 CHAPTER 03 03-01 03-01-01 Win m1 f1 e4 e5 e6 o8 Mac m1 f1 s1.2 o8 Linux m1 f1 k3 o8 AJAX
More informationMicrosoft PowerPoint 세션.ppt
웹프로그래밍 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 세션변수 (Session Variable) (1/2) 쇼핑몰장바구니 장바구니에서는사용자가페이지를이동하더라도장바구니의구매물품리스트의내용을유지하고있어야함 PHP 에서사용하는일반적인변수는스크립트의수행이끝나면모두없어지기때문에페이지이동시변수의값을유지할수없음 이러한문제점을해결하기위해서 PHP 에서는세션 (session)
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More informationJAVA PROGRAMMING 실습 05. 객체의 활용
public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string
More information다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");
다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher
More informationLab 3. 실습문제 (Single linked list)_해답.hwp
Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.
More informationJavascript
1. HTML 이란? HTML 은 Hyper Text Mark Up Language 의약자로예약되어있는각종태그라는명령어를이용하여웹페이지를작성할때사용하는언어입니다. 2. HTML 의기본구조 < 태그 > 내용 < 태그속성 = 변수 > 내용
More informationvar answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");
자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트
More informationq 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2
객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가
More informationMicrosoft PowerPoint 웹 연동 기술.pptx
웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우
More information17장 클래스와 메소드
17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는
More informationPowerPoint 프레젠테이션
HTML5 웹프로그래밍입문 부록. 웹서버구축하기 1 목차 A.1 웹서버시스템 A.2 PHP 사용하기 A.3 데이터베이스연결하기 2 A.1 웹서버시스템 3 웹서버의구축 웹서버컴퓨터구축 웹서버소프트웨어설치및실행 아파치 (Apache) 웹서버가대표적 서버실행프로그램 HTML5 폼을전달받아처리 PHP, JSP, Python 등 데이터베이스시스템 서버측에데이터를저장및효율적관리
More informationMicrosoft PowerPoint - web-part03-ch19-node.js기본.pptx
과목명: 웹프로그래밍응용 교재: 모던웹을 위한 JavaScript Jquery 입문, 한빛미디어 Part3. Ajax Ch19. node.js 기본 2014년 1학기 Professor Seung-Hoon Choi 19 node.js 기본 이 책에서는 서버 구현 시 node.js 를 사용함 자바스크립트로 서버를 개발 다른서버구현기술 ASP.NET, ASP.NET
More informationModern Javascript
ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information학습목차 2.1 다차원배열이란 차원배열의주소와값의참조
- Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]
More information5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp
1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n
More information2파트-07
CHAPTER 07 Ajax ( ) (Silverlight) Ajax RIA(Rich Internet Application) Firefox 4 Ajax MVC Ajax ActionResult Ajax jquery Ajax HTML (Partial View) 7 3 GetOrganized Ajax GetOrganized Ajax HTTP POST 154 CHAPTER
More informationMicrosoft PowerPoint - web-part01-ch05-함수.pptx
과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part1. JavaScript / Ch05. 함수 2014년 1학기 Professor Seung-Hoon Choi 5. 1 익명함수 함수 코드의집합을나타내는자료형 형식 var 함수이름 = function( ) { }; function( ) { } 부분은이름이없는익명함수임
More informationThisJava ..
자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,
More information웰비아닷컴에서보앆프로그래머로읷하고있다. 시스템프로그래밍에관심이맋으며다수의 PC 보앆프로그램개발에참여했다. 현재데브피아 Visual C++ 섹션시삽과 Microsoft Visual C++ MVP 로홗동하고있다. C 와 C++, Programming 에관한이야기를좋아한다.
다시시작하는윈도우프로그래밍 핶들과콜백메커니즘 목차 목차... 1 소개... 1 연재가이드... 1 필자소개... 1 필자메모... 2 Introduction... 2 핶들이뭔가요?... 3 메모리할당을이용한방법... 3 핶들테이블을이용한방법... 6 핶들사용의모듞것... 8 콜백이뭔가요?... 9 콜백함수사용시주의해야할점... 10 콜백함수설계원칙... 11
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More informationMicrosoft PowerPoint - chap06-1Array.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현
More informationMicrosoft PowerPoint 자바-기본문법(Ch2).pptx
자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March
More informationExt JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF
CHAPTER 2 (interaction) Ext JS., HTML, onready, MessageBox get.. Ext JS HTML CSS Ext JS.1. Ext JS. Ext.Msg: : Ext Ext.get: DOM 22 CHAPTER 2 (config). Ext JS.... var test = new TestFunction( 'three', 'fixed',
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More informationChapter 4. LISTS
C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or
More informationVisual Basic 반복문
학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For
More information- 이벤트의처리 <input type= button id= button1 value= 확인 /> <input type= button id= button2 value= 확인 /> 자바스크립트인경우 : document.getelementbyid( button1 ).oncl
제이쿼리 (JQuery) - 제이쿼리는자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리이다. - 따라서, 제이쿼리를사용하기위해서는자바스크립트라이브러리를사용해야한다. - 제이쿼리사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) - 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호를말함. - 사용예 )
More informationXML DTD
XML DOM (Document Object Model) 2017. 9. 27 Content XML 문서처리 DOM 개요 DOM Tree DOM Core Interfaces Node Document Element Attr DOM 사용예 1 XML 문서처리 XML 문서처리과정 XML Parser 2 XML 문서처리 XML Parsing XML 문서를읽고해석하여구성요소,
More informationadfasdfasfdasfasfadf
C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.
More informationJAVA PROGRAMMING 실습 05. 객체의 활용
2015 학년도 2 학기 public class Person{ public String name; public int age; public Person(){ public Person(String s, int a){ name = s; age = a; public String getname(){ return name; @ 객체의선언 public static void
More informationMicrosoft Word - 3부A windows 환경 IVF + visual studio.doc
Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration
More informationPrototype에서 jQuery로 옮겨타기
Created by Firejune at 2008/11/10, Last modified 2016/09/11 Prototype에서 jquery로 옮겨타기 jquery는 겸손한(unobtrusive) 자바스크립트를 위한 자바스크립트 라이브러리다. jquery는 태생적으로 BDD(Behavior driven development) 방법론을 지향하고 CSS 셀렉터를
More informationLab 4. 실습문제 (Circular singly linked list)_해답.hwp
Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular
More informationXSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks
XSS s XSS, s, May 25, 2010 XSS s 1 2 s 3 XSS s MySpace 사건. Samy (JS.Spacehero) 프로필 페이지에 자바스크립트 삽입. 스크립트 동작방식 방문자를 친구로 추가. 방문자의 프로필에 자바스크립트를 복사. 1시간 만에 백만 명이 친구등록. s XSS s 위험도가 낮은 xss 취약점을 다른 취약점과 연계하여
More informationAMP는 어떻게 빠른 성능을 내나.key
AMP는 어떻게 빠른 성능을 내나? AU개발 김태훈 kishu@navercorp.com AMP 란무엇인가? AMP 방식으로 HTML을 만들고 AMP JS를 로딩하고 AMP 컴포넌트만 사용하면 웹페이지의 빠른 렌더링을 보장 + 구글 검색 결과에서 즉시 로딩(빠르고 멋있게) AMPs are just Web Pages! AMPs are just Web Pages!
More information쉽게 풀어쓴 C 프로그래밍
CHAPTER 11. 자바스크립트와캔버스로게임 만들기 캔버스 캔버스는 요소로생성 캔버스는 HTML 페이지상에서사각형태의영역 실제그림은자바스크립트를통하여코드로그려야한다. 컨텍스트객체 컨텍스트 (context) 객체 : 자바스크립트에서물감과붓의역할을한다. var canvas = document.getelementbyid("mycanvas"); var
More information쉽게 풀어쓴 C 프로그래밍
CHAPTER 10. DOM 과이벤트처리, 입력검 증 문서객체모델 (DOM) DOM 은 HTML 문서의계층적인구조를트리 (tree) 로표현 DOM 과 BOM HTML 문서를객체로표현한것을 DOM 웹브라우저를객체로표현한것을 BOM(Browser Object Model) HTML 요소찾기 동적인웹페이지를작성하려면원하는요소를찾아야한다. id 로찾기 태그이름으로찾기
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationMicrosoft PowerPoint - additional01.ppt [호환 모드]
1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능
More informationMicrosoft PowerPoint - web-part01-ch09-브라우저객체모델.pptx
과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part1. JavaScript / Ch09. 브라우저객체모델 2014년 1학기 Professor Seung-Hoon Choi 9 브라우저객체모델 브라우저객체모델 (Browser Object Model, BOM) 웹브라우저와관련된객체들의집합 window, location,
More informationMicrosoft PowerPoint - web-part02-ch13-기본.pptx
과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part2. jquery / Ch13. 기본 2014년 1학기 Professor Seung-Hoon Choi 13.1 기본 jquery 란? 모든브라우저에서동작하는클라이언트자바스크립트라이브러리 2006년 John Resig이개발 기능 문서객체모델과관련된처리를쉽게구현
More informationA Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning
C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용
More informationJavascript
1. 이벤트와이벤트핸들러의이해 이벤트 (Event) 는웹브라우저에서발생하는다양한사건을말합니다. 예를들면, 버튼을마우스로을했다거나브라우저를닫았다거나 Enter 키를눌렀다거나등등아주다양한사건들이있습니다. 그렇다면이벤트핸들러 (Event Handler) 는무엇일까요? 이다양한이벤트들을핸들링 ( 처리 ) 해주는것입니다. 예를들면, 어떤버튼을했을때메시지창이뜨게하는등을말합니다.
More informationTcl의 문법
월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이
More informationjquery 를이용하여웹위젯 (Web Widget) 을만드는방법 원제 : How to build a web widget (using jquery) Published on 15
jquery 를이용하여웹위젯 (Web Widget) 을만드는방법 원제 : How to build a web widget (using jquery) http://alexmarandon.com/articles/web_widget_jquery/ Published on 15 June 2010, updated on 23 May 2012 번역 : SYS4U 김형석 소개
More informationMicrosoft Word - FunctionCall
Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack
More information11장 포인터
Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함
More information<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>
객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보
More informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More informationPowerPoint 프레젠테이션
Html 은웹에서 text, images, movie 등다양한정보의요소를 담을수있는문서형식이다. 정보 (txt, imges) 전송 = 동일한어플리케이션 = 정보 (txt, imges) 정보 (txt, imges Movie, 동작 ) 정보 (txt, imges movie) 어플리케이션 웹브라우저 HTML5 는기존 HTML 에차별화된특징을가진 최신버전의웹표준언어.
More information1. SNS Topic 생성여기를클릭하여펼치기... Create Topic 실행 Topic Name, Display name 입력후 Create topic * Topic name : 특수문자는 hyphens( - ), underscores( _ ) 만허용한다. Topi
5 주차 - AWS 실습 - SNS 시나리오 1. SNS Topic 생성 2. 3. 4. 5. Subscriptions 생성및 Confirm [ Email Test ] Message 발송 코드로보기 번외 ) SMS 발송하기 실습준비 HTML 파일, AWS 계정및 secretaccesskey, accesskeyid 간단설명 1. 2. 3. 4. SNS : 이메일,
More informationKNK_C_05_Pointers_Arrays_structures_summary_v02
Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",
More information구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을
(structures) 구조체정의 구조체선언및초기화 구조체배열 구조체포인터 구조체배열과포인터 구조체와함수 중첩된구조체 구조체동적할당 공용체 (union) 1 구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined
More information슬라이드 1
6-1 리스트 (list) 란순서를가진항목들을표현하는자료구조 리스트를구현하는두가지방법 배열 (array) 을이용하는방법 구현간단 삽입, 삭제시오버헤드 항목의개수제한 연결리스트 (linked list) 를이용하는방법 구현복잡 삽입, 삭제가효율적 크기가제한되지않음 6-2 객체 : n 개의 element 형으로구성된순서있는모임 연산 : add_last(list,
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationBuilding Mobile AR Web Applications in HTML5 - Google IO 2012
Building Mobile AR Web Applications in HTML5 HTML5 -, KIST -, UST HCI & Robotics Agenda Insight: AR Web Browser S.M.AR.T: AR CMS HTML5 HTML5 AR - Hello world! - Transform - - AR Events 3/33 - - - (Simplicity)
More informationData Provisioning Services for mobile clients
4 장. JSP 의구성요소와스크립팅요소 제 4 장 스크립팅요소 (Scripting Element) 1) 지시문 (Directive) 1. JSP 구성요소소개 JSP 엔진및컨테이너, 즉 Tomcat 에게현재의 JSP 페이지처리와관련된정보를전달하는목적으로활용 (6 장 )
More informationSpeculative Register Promotion Using Advanced Load Address Table (ALAT)
고성능자바스크립트 서울대학교전기 정보공학부 가상머신및최적화연구실 박혁우 목차 JavaScript Language JavaScript Engine 개요 JavaScript 최적화수행방식 JavaScript engine 병렬화 고성능 JavaScript 를위한브라우저확장 Code Snapshot 기법 자바스크립트병렬로딩 2 JavaScript JavaScript
More informationJavascript.pages
JQuery jquery part1 JavaScript : e-mail:leseraphina@naver.com http://www.webhard.co.kr I.? 2 ......,,. : : html5 ; ; .
More informationMicrosoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600
균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at
More informationSOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co
SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2012.02.18 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved 목차 1 장 : HTML 연동개요...
More information임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More informationPowerPoint Presentation
Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More information쉽게 풀어쓴 C 프로그래밍
제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace
More informationFrama-C/JESSIS 사용법 소개
Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie
More informationMicrosoft PowerPoint 자바스크립트(1).pptx
웹과인터넷활용및실습 () (Part I) 문양세강원대학교 IT 대학컴퓨터과학전공 강의내용 의기초의기본문법제어구조함수의내장객체브라우저내장객체를이용한다양한효과주기 Page 2 1 개요 사용자와상호작용하는동적웹문서작성웹에서사용할수있도록만들어진스크립트언어선마이크로시스템스와넷스케이프사가공동으로개발 주요특징 웹문서 (HTML 문서 ) 에포함되어웹서버에서브라우저로다운로드됨
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More information슬라이드 1
UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)
More informationMulti-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구
Python: 파이썬프로그래밍의기초, 함수 Kangwon Natl. University Department of Computer Science Cheoneum Park Intelligent software Lab. 함수 Intelligent software Lab. 2 함수란무엇인가? Intelligent software Lab. 3 함수를사용하는이유는? 프로그래밍을하다보면똑같은내용을반복해서작성하는경우다반사
More information(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public
Chapter 9 Lab 문제정답 1. public class Circle private double radius; static final double PI=3.141592; // PI 이름으로 3.141592 로초기화된정적상수 (1) public Circle(double r) radius = r; (2) public double getradius() return
More informationWindows Live Hotmail Custom Domains Korea
매쉬업코리아2008 컨퍼런스 Microsoft Windows Live Service Open API 한국 마이크로소프트 개발자 플랫폼 사업 본부 / 차세대 웹 팀 김대우 (http://www.uxkorea.net 준서아빠 블로그) Agenda Microsoft의 매쉬업코리아2008 특전 Windows Live Service 소개 Windows Live Service
More informationPowerPoint Presentation
객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television
More information<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More information