1. HTML & Java ScriptHTML & Java Script
[[ 강의 일차강의 일차 ]]
강사 : 엄준일
2. HTML & Java Script 개요
HTML 만들기
CSS 사용하기
Java Script 사용하기
Java Script 문법 1 ( 조건문 / 반복문 )
Java Script 문법 2 ( 함수 )
중요 객체
종합 예제
44 일차일차 교육 내용교육 내용
3. HTML 이란 ?
HTML 개요
노트패드로 만드는 HTML 문서
Java Script 란 ?
Java Script 개요
노트패드로 만드는 Java Script 프로그래밍
11 교시 커리큘럼교시 커리큘럼
5. Hyper Text 란 ?
• 파생 텍스트라고 부르기도 한다
• 1960 년대 철학자 테오도르 넬슨 (Theodore
Nelson) 에 의해 ‘ Hyper’ 와 ‘ Text’ 를 합성하여 만
든 용어
• 비 순차적인 정보를 표현할 수 있다
• 하이퍼텍스트 형태의 정보를 검색하기 위한 검색 엔
진 등장
6. 웹 브라우져란 ?
• 텍스트 , 그림 , 소리 , 동영상과 같은 콘텐츠를 사
용자에게 보여주는 프로그램
• 웹 서버와 쌍방향 통신
• 주요 기능
– HTTP (Hyper Text Transfer Protocol)
– HTTPS (Hyper Text Transfer Protocol over Secure
socket layer)
– 이미지 파일 포멧 (GIF, JPEG, BMP, PNG 등 )
– CSS (Cascading Style Sheet)
– 자바스크립트 (DHTML)
7. • 대표적인 웹 브라우저
– Microsoft Internet Explorer
– Mozila Firefox
– Opera
– Safari
– Google Chrome
8. HTML 이란 ?
• Hyper Text Markup Language 의 약자
• 인터넷에서 웹 페이지를 표시한다
• 프로그래밍 할 수 있는 각종 언어를 내장 할 수 있다
– VBScript
– Java Script
– CSS 등
21. • var 키워드
– 변수를 선언하고 값을 초기화 한다
var a = 10;
var b = 20;
var c = a + b;
var a = 10;
var b = 20;
var c = a + b;
var a, b, c;
var a = 10, b = 20, c = a + b;
var a, b, c;
var a = 10, b = 20, c = a + b;
22. 시간표 만들기
Table 태그
Div 태그
명함 만들기
style (style sheet)
나의 홈페이지 만들기
A 태그
OL 태그
UL 태그
22 교시 커리큘럼교시 커리큘럼
33. • <a> ~ </a> - 클릭 시 페이지 이동
• <ol> ~ </ol> - 순차적인 번호가 있는 목록
– Type 속성
• 1
• a
• I
• <ul> ~ </ul> - 순차적인 기호가 있는 목록
– Type 속성
• circle
• disc
• square
34. CSS 개요
CSS 개요
CSS 사용하는 이유
CSS 만들기
HTML 만들기
Style Sheet 만들기
HTML 에 Style Sheet 적용하기
CSS 파일로 분리하기
33 교시 커리큘럼교시 커리큘럼
36. CSS 개요
• Cascading Style Sheet 의 약자
• 마크업 언어 (Markup Language) 가 표시되는 방법
을 기술
37. CSS 를 사용하는 이유
• 유연성
– 페이지의 구성 및 사소한 변경이 빠르다
– 웹 사이트의 레이어웃 (Layout) 을 한꺼번에 변경이 용이하
다
• 랜더링
– 웹 페이지의 용량이 작아진다
– 타이핑 하는 코드의 양이 줄어든다
– 좀 더 빨리 브라우져에 표시된다
40. Style Sheet 만들기
• 태그 이름으로 Style Sheet 만들기
– Style 요소에 HTML TAG 로 만든다
• 공통 Style Sheet 만들기
– Style 요소에 ‘ .’ 으로 공통 요소를 만든다
• 특정 html 컨트롤에 Style Sheet 지정하기
– Style 요소에 # 으로 적용될 스타일을 만든다
51. window.prompt 함수
• 사용자에게 임의의 값을 입력 받는다
• 예 ) window.prompt(“ 숫자를 입력하세요” ,””);
– 입력값 1 : 표시될 문자열
– 입력값 2 : 입력될 기본 문자열
52. window.open 함수
• 새로운 창 ( 팝업창 -popup window) 를 생성한다
• 예 ) window.open(“hello.htm”);
– 입력값 1 : 새로운 창의 URL ( 웹 경로 )
– 입력값 2 : 새로운 창의 이름
• _blank - 연결된 문서를 읽어 새로운 빈 윈도우에 표시한다 . 윈도우
이름은 없다 .
• _media - 연결된 문서를 읽어 메디아바의 HTML 내용부분에 표시한
다 . IE6 부터 적용된다 .
• _parent - 연결된 문서를 읽어 바로 상위 모체창에 표시한다 .
• _search - 연결된 문서를 읽어 브라우저의 검색창에 표시한다 . IE5 부
터 적용된다 .
• _self - 디폴트이며 , 연결된 문서를 읽어 현재창에 표시한다 .
• _top - 연결된 문서를 읽어 최상위 윈도우에 표시한다 .
54. – 입력값 3 : 새로운 창의 특징 기술 ( 속성 )
• scrollbars=yes/no – 스크롤바의 표시 여부
• toolbar=yes/no – 툴바의 표시 여부
• status=yes/no – 상태바의 표시 여부
• menubar=yes/no – 메뉴를 표시할지 여부
• resizable=yes/no – 사용자가 윈도우 크기를 조절할 수 있는지 여부
• width= 가로 크기
• height= 세로 크기
• left= 좌측으로 부터 공백
• top= 상단으로 부터 공백
65. Java Script 함수 (function)
함수 만들기 기초
Java Script 내장 함수 활용
Java Script 이벤트 (event)
Java Script 이벤트 기초
Java Script 이벤트 활용
66 시 커리큘럼시 커리큘럼
73. 이벤트 (Event)
• 어떤 특정 사건 (event) 이 일어날때 발생하는 신호
(Signal)
예 )
하이퍼링크를 마우스로 클릭하였을 때 이벤트
폼 입력값 이 바뀔 때 이벤트
페이지의 로딩이 완료되었을 때 이벤트
74. 이벤트 종류 ( 마우스 이벤트 )
• onClick
– 마우스로 해당 엘리먼트를 클릭함
• onDblClick
– 마우스로 해당 엘리먼트를 더블클릭함
• onMouseDown
– 마우스를 누름 ( 클릭은 마우스를 눌렀다 때는 것으로 구별됨 )
• onMouseMove
– 마우스가 엘리먼트 위에서 이동함
• onMouseOut
– 마우스가 엘리먼트에서 벗어남
• onMouseUp
– 마우스를 뗌 (MouseDown 과 반대됨 버튼을 누른 상태에서 떼는 경우 )
75. 이벤트 종류 ( 키보드 이벤트 )
• onKeyDown
– 키보드 버튼을 누르고 있는 경우 ( 어떤 키인지 읽으려면 함
수를 호출하여 event.KeyCode 를 참고해야 한다 )
• onKeyPress
– 키보드 버튼을 눌렀 땐 경우 ( 마우스의 클릭과 유사 )
• onKeyUp
– 키보드 버튼을 누르고 있다가 땐 경우 ( MouseUp 과 유사
)
76. 이벤트 종류 (HTML 컨트롤 이벤트 )
• onBlur
– 엘리먼트가 Focus( 초점 ) 를 잃음 . 예를 들어 버튼을 클릭하면 포커스 ( 점선테두리
로 보임 ) 가 버튼에 잡혀있는데 이 때 다른 것을 클릭하거나 탭등으로 포커스를 이동
할 경우를 의미함 .
• onChange
– 엘리먼트에서 특정 내용을 선택 혹은 변경하는 경우 . 셀렉트박스 (select box) 에서
선택된 아이템을 변경하는 경우가 이에 해당됨
• onFocus
– 엘리먼트에 초점이 맞춰지는 경우
• onReset
– 리셋 이벤트가 발생하는 경우 . 대표적으로 input box 의 타입 reset 이 적용될 때이
다 .
• onSelect
– 엘리먼트내 문자열을 블럭화 할 경우 ( 즉 드래그 혹은 쉬프트 + 방향키등으로 문자열
에 블럭을 씌우는 경우이다 )
• onSubmit
– 폼 (Form) 태그내에서 전송 (Submit) 이벤트가 발생하는 경우
77. 이벤트 종류 ( 윈도우 이벤트 )
• onLoad
– 페이지나 이미지등의 엘리먼트가 로딩이 완료되는 경우
• onResize
– 윈도우나 프레임의 사이즈가 변경되는경우
• onUnLoad
– 온로드의 반대로서 페이지를 이탈하는 경우
82. Java Script 객체 지향
• Java Script 를 이용하여 객체 지향 프로그래밍
• 복잡성을 제어하기 위해 객체 지향을 흉내
• 유지 / 보수의 장점
83. Java Script 객체 지향 프로그래밍 종류
• Java Script 기본 방식
• JSON 방식
• new 생성자 ( 메소드를 함께 정의 )
• 프로토타입 ( 메소드를 별도로 정의 )
84. Java Script 객체 지향
• Java Script 의 개체는 단순히 이름 / 값 쌍의 컬렉
션
• Java Script 개체는 문제열 키가 있는 사전으로 해
석var userObject = new Object();
userObject.lastLoginTime = new Date();
alert(userObject.lastLoginTime);
var userObject = {}; // equivalent to new Object()
userObject[“lastLoginTime”] = new Date();
alert(userObject[“lastLoginTime”]);
var userObject = { “lastLoginTime”: new Date() };
alert(userObject.lastLoginTime);
모
두
동
일
한
코
드
모
두
동
일
한
코
드
85. Java Script 기본방식
• Java Script 에서 기본적으로 사용되는 객체 생성
방법
• 객체를 만들어서 새로운 속성이나 함수를 해당 객체
에 언제든지 추가var obj = new Object();
obj.Name = " 홍길동 ";
obj.Age = "30";
86. JSON 방식
• JSON 은 Java Script Object Notatin( 객체 표기법
) 의 약어
• 쉼표를 구분자로 배열 값을 한번에 설정하는 기능을
이용
• 복잡한 구조의 객체를 한번에 만들기 쉬움
var person =
{
hong: {
name: " 홍길동 ",
age: 30
},
kim: {
name: " 김철수 ",
age: 20
}
};
87. new 생성자 이용하기
• 객체 지향 언어의 생성자와 유사
• 생성자와 함께 사용자 정의 메소드 선언
function person(name, age) {
this.name = name;
this.age = age;
this.toString = function() {
return name + " 은 " + age + " 살 입니다 ";
};
}
var p = new person(" 홍길동 ", 30);
alert(p.toString());
88. 프로토타입 이용하기
• new 생성 메소드 방식의 단점을 해결
• Java Script 객체를 확장
function person(name, age) {
this.name = name;
this.age = age;
}
person.prototype.sayHello = function() {
return "Hello " + this.name;
};
var p = new person(" 홍길동 ", 30);
alert(p.sayHello());
89. 프로토타입을 이용한 상속 구현
function person() {
this.setName = function(newName) {
name = newName;
}
this.getName = function() {
return name;
}
}
function superPerson() { }
superPerson.prototype = new person();
superPerson.prototype.fireLaser = function()
{
alert(name + " 이 레이져 발사 !");
}
var sp = new superPerson();
sp.setName(" 홍길동 ");
sp.fireLaser();
90. 프로토타입을 이용한 상속 2
// class Pet
function Pet(name) {
this.getName = function() { return name; };
this.setName = function(newName) { name =
newName; };
}
Pet.prototype.toString = function() {
return "This pet’s name is: " + this.getName();
};
// end of class Pet
var parrotty = new Pet("Parrotty the Parrot");
function Dog(name, breed) {
Pet.call(this, name);
this.getBreed = function() { return breed; };
}
Dog.prototype = new Pet();
Dog.prototype.constructor = Dog;
Dog.prototype.toString = function() {
return "This dog’s name is: " + this.getName() +
", and its breed is: " + this.getBreed();
};
var dog = new Dog("Buddy", "Great Dane");
alert(dog);
91. Java Script 로 네임스페이스 구현
• var 예약어를 사용하여 네임스페이스 정의
var inbrain = {};
inbrain.sample = {};
inbrain.sample.person = function(name, age) {
this.name = name;
this.age = age;
};
inbrain.sample.person.prototype.toString = function() {
return this.name + " 은 " + this.age + " 살 입니다 ";
}
var p = new inbrain.sample.person(" 홍길동 ", 30)
alert(p);
95. 필수사항
• CSS 를 이용하여 STYLE 을 적용할 것
• 홈페이지 필수 콘텐츠
– 메인 화면 (default.htm)
• 사이트 네비게이터 ( 메뉴바 )
– 가족 소개 및 자기 소개 (hello.htm)
– 자기 명함 페이지 (companycard.htm)
• <table> 태그 이용
– 이력 카드
• 예 ) 취미 이력 , 특기 이력 , 연애 이력 등등
Editor's Notes
#7: HTTP HTTP(HyperText Transfer Protocol) 는 WWW 상에서 정보를 주고 받을 수 있는 프로토콜이다 . 주로 HTML 문서를 주고 받는 데에 쓰인다 . TCP 를 사용하며 , 80 번 포트를 사용한다 . 1996 년 버전 1.0, 그리고 1999 년 1.1 이 각각 발표되었으며 , 현재 가장 널리 쓰이는 버전이 1.1 이다 . HTTP 는 클라이언트와 서버 사이에 이루어지는 요청 / 응답 (request/response) 프로토콜이다 . 예를 들면 , 클라이언트인 웹 브라우저가 HTTP 를 통하여 서버로부터 웹페이지나 그림 정보를 요청하면 , 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다 . 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 보여지는 것이다 . HTTPS HTTPS( 영어 : Hypertext Transfer Protocol over Secure Socket Layer) 는 월드 와이드 웹 통신 프로토콜인 HTTP 의 보안이 강화된 버전이다 . HTTPS 는 소켓 통신에서 일반 텍스트를 이용하는 대신에 , SSL 이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다 . 따라서 데이터의 적절한 보호를 보장한다 . HTTPS 의 기본 TCP/IP 포트는 443 이다 . CSS CSS(Cascading Style Sheet) 는 마크업 언어가 실제 표시되는 방법을 기술하는 언어로 , HTML 과 XHTML 에 주로 쓰이며 , XML 에서도 사용할 수 있다 . W3C 의 표준이며 , 레이아웃과 스타일을 정의할 때의 자유도가 높다 . DHTML DHTML(Dynamic HTML; 동적 HTML) 은 정적 마크업 언어인 HTML 과 클라이언트 기반 스크립트 언어 ( 자바스크립트 같은 ) 그리고 스타일 정의 언어인 CSS 를 조합하여 대화형 웹 사이트를 제작하는 기법을 의미한다 . DHTML 은 웹 브라우저 상에서 동작하는 응용프로그램을 제작하는 데에도 쓰인다 . 예를 들어 간편한 네비게이션을 위해 대화형 폼 (form) 을 제작하거나 , 전자 학습에 사용되는 대화형 실습장을 만드는데 이용될 수 있다 . 완전히 브라우저에 포함되어 , 데이터베이스와 같은 서버측 지원이 없이 동작하는 DHTML 응용프로그램을 때로 SPA(Single Page Applications; 단일 페이지 응용프로그램 ) 라 부른다 .
#37: CSS CSS(Cascading Style Sheet) 는 마크업 언어가 실제 표시되는 방법을 기술하는 언어로 , HTML 과 XHTML 에 주로 쓰이며 , XML 에서도 사용할 수 있다 . W3C 의 표준이며 , 레이아웃과 스타일을 정의할 때의 자유도가 높다 . CSS 의 변화 CSS 는 지속적으로 새로운 버전이 나오고 있다 . 1996 년에 도입된 CSS 1 은 CSS 의 바탕이 되었다 . CSS 의 표준으로는 CSS 2.1 이 있으며 이전 버전에 비하여 새로운 기능과 도구가 추가되었다 . 대다수의 웹브라우저는 CSS 2.1 를 잘 지원한다 .( 인터넷 익스플로러의 경우 , 버전 7 이 되면서 CSS2.1 을 지원한다 .) 현재 W3C 에서는 CSS 3 를 표준으로 만들고 있다 . CSS 의 종류 종류 CSS 는 여러 수준과 프로파일을 가지고 있다 . 각 수준의 CSS 는 일반적으로 새로운 기능을 담고 있으며 CSS1, CSS2, CSS3 로 나뉜다 . 프로파일들은 일반적으로 특정한 장치나 사용자 인터페이스를 위해 만들어진 하나 이상 수준의 CSS 의 하부 집합이다 . 현재 휴대용 장치 , 프린터 , 텔레비전 수상기를 위한 프로파일들이 있다 . CSS1: 첫 CSS 규격은 공식 W3C 권고안이 되었으며 그 이름은 CSS1 이다 . 1996 년 12 월에 출시되었다 . CSS2: CSS2 는 W3C 가 개발하였으며 1998 년 5 월에 권고안으로 출시되었다 . CSS3: CSS3 는 현재 개발 중이다 .[1] W3C CSS3 로드맵은 요약과 도입부를 제공하고 있다 .[2]