전체 글 155

HTML - 요약정리

기본문서구조 !doctype html - 문서는 HTML5기준 작성 HTML ~~ /HTML: 웹문서의 시작과 끝 HEAD ~ /HEAD: 브라우저가 웹문서를 해석하여 정보를 가져옴 BODY ~~ /BODY 우리에게 보이는 문서의 본문 호스팅 서버 준비하기 HTML로 만든 웹사이트를 다른사람이 볼 수 있게 웹문서를 서버 컴퓨터에 업로드 해야한다. 서버를 물리적으로 사지 않고 일정금액을 내고 사용하는 호스팅 서비스를 이용한다. https://www.dothome.co.kr/ 닷홈 호스팅 닷홈은 도메인, 무료 웹호스팅, 웹빌더, 메일호스팅, SSL보안인증서, 서버호스팅, 코로케이션 등 다양한 호스팅 서비스를 제공하고 있습니다. www.dothome.co.kr FTP 프로그램 준비하기 호스팅한 서버에 파일의 ..

HTML 2023.10.23

자바스크립트 - 스코프

1. 스코프란? 스코프(Scope, 유효범위)는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적인 개념으로 확실한 이해가 필요하다. 먼저 아래 예제의 실행 결과에 대해 생각해보자. var x = 'global'; function foo () { var x = 'function scope'; console.log(x); } foo(); // ? console.log(x); // ? 이름이 같은 변수 x가 중복 선언되었다. 전역에서 변수 x를 참조할 때, 그리고 함수 foo 내부에서 변수 x를 참조할 때 이름이 중복된 2개의 변수 중 어떤 변수를 참조해야 하는가? 자바스크립트는 어떻게 변수를 식별하는 것일까? 스코프는 참조 대상 식별자(identifier, 변수, 함수의 이름과 같이 어떤 대상을 다른 대..

자바스크립트 2023.10.22

자바스크립트 - 타입체크

자바스크립트는 동적 타입(dynamic typed) 언어이므로 변수에 어떤 값이 할당될 지 예측하기 어렵다. 아래 코드를 살펴보자. function sum(a, b) { return a + b; } 위 코드를 작성한 개발자의 의도는 아마도 2개의 number 타입 인수를 전달받아 그 합계를 반환하려는 것으로 추측된다. 하지만 코드 상으로는 어떤 타입의 인수를 전달하여야 하는지, 어떤 타입의 값을 반환해야 하는지 명확하지 않다. 따라서 위 코드는 다음처럼 호출될 수 있다. function sum(a, b) { return a + b; } sum('x', 'y'); // 'xy' 위 코드는 자바스크립트 문법 상 어떠한 문제도 없으므로 자바스크립트 엔진은 아무런 이의 제기없이 위 코드를 실행할 것이다. 이러한..

자바스크립트 2023.10.22

자바스크립트 - 함수

함수란 어떤 작업을 수행하기 위해 필요한 문(statement)들의 집합을 정의한 코드 블록이다. 함수는 이름과 매개변수를 갖으며 필요한 때에 호출하여 코드 블록에 담긴 문들을 일괄적으로 실행할 수 있다. // 함수의 정의(함수 선언문) function square(number) { return number * number; } 함수는 호출에 의해 실행되는데 한번만 호출할 수 있는 것이 아니라 여러번 호출할 수 있다. // 함수의 정의(함수 선언문) function square(number) { return number * number; } // 함수의 호출 square(2); // 4 동일한 작업을 반복적으로 수행해야 한다면 (동일한 구문을 계속해서 중복해서 작성하는 것이 아니라) 미리 정의된 함수를 ..

자바스크립트 2023.10.22

자바스크립트 - 객체

1. 객체(Object)란? 자바스크립트는 객체(object) 기반의 스크립트 언어이며 자바스크립트를 이루고 있는 거의 “모든 것”이 객체이다. 원시 타입(Primitives)을 제외한 나머지 값들(함수, 배열, 정규표현식 등)은 모두 객체이다. 자바스크립트의 객체는 키(key)과 값(value)으로 구성된 프로퍼티(Property)들의 집합이다. 프로퍼티의 값으로 자바스크립트에서 사용할 수 있는 모든 값을 사용할 수 있다. 자바스크립트의 함수는 일급 객체이므로 값으로 취급할 수 있다. 따라서 프로퍼티 값으로 함수를 사용할 수도 있으며 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메소드라 부른다. 이와 같이 객체는 데이터를 의미하는 프로퍼티(property)와 데이터를 참조하고 조작할 수 있는..

자바스크립트 2023.10.22

자바스크립트 - 타입변환

1. 타입 변환이란? 자바스크립트의 모든 값은 타입이 있다. 값의 타입은 다른 타입으로 개발자에 의해 의도적으로 변환할 수 있다. 또는 자바스크립트 엔진에 의해 암묵적으로 자동 변환될 수 있다. 개발자에 의해 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환(Explicit coercion) 또는 타입 캐스팅(Type casting)이라 한다. var x = 10; // 명시적 타입 변환 var str = x.toString(); // 숫자를 문자열로 타입 캐스팅한다. console.log(typeof str); // string 동적 타입 언어인 자바스크립트는 개발자의 의도와는 상관없이 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되기도 한다. 이를 암묵적 타입 변환(Implicit coe..

자바스크립트 2023.10.22

자바스크립트 - 제어문

제어문(Control flow statement)은 주어진 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용한다. 일반적으로 코드는 위에서 아래 방향으로 순차적으로 실행된다. 제어문은 코드의 실행 순서를 인위적으로 제어할 수 있다 1. 블록문 블록문(Block statement/Compound statement)는 0개 이상의 문들을 중괄호로 묶은 것으로 코드 블록 또는 블록이라고 부르기도 한다. 자바스크립트는 블록문을 하나의 단위로 취급한다. 블록문은 단독으로 사용할 수도 있으나 일반적으로 제어문이나 함수 선언문 등에서 사용한다. 문의 끝에는 세미 콜론(;)을 붙이는 것이 일반적이지만 블록문은 세미콜론을 붙이지 않는다. // 블록문 { var foo = 10; console.l..

자바스크립트 2023.10.22

HTML - 반응형 웹사이트

오늘날 우리는 PC를 넘어서 스마트폰, 태블릿 등 다양한 디스플레이를 통해서 웹사이트를 접속한다. 반응형 웹이란 이러한 시대적 변화에 따라 접속하는 디스플레이 종류에 맞는 화면과 구성요소의 크기 및 위치가 조정되는 사이트를 말한다. 내가 어떤 모바일 기기로 접속하든 간에 모든 콘텐츠들을 보기 쉽게 최적화해서 보여준다니 이 얼마나 친절한가! 그렇다면 이제 어떤 사이트를 반응형 웹사이트라고 할 수 있는지 예시들로 확인해보도록 하자. Reference #1. CJ 문화재단 (https://www.cjazit.org/) 상단 차례대로 아이폰 12 mini, 아이패드, 노트북 (LG 그램)에서 접속한 CJ 문화재단 홈페이지 화면이다. 뭐가 다른가 하고 보니, 휴대폰과 아이패드로 접속했을 때엔 오른쪽 상단에 메뉴 ..

HTML 2023.10.22

CSS - 애니메이션

애니메이션(Animation) 효과는 HTML 요소에 적용되는 CSS 스타일을 다른 CSS 스타일로 부드럽게 변화시킨다. 애니메이션은 애니메이션을 나타내는 CSS 스타일과 애니메이션의 sequence를 나타내는 복수의 키프레임(@keyframes) 들로 이루어진다. transition으로도 어느 정도의 애니메이션 효과를 표현할 수 있으나 animation보다는 제한적이다. 일반적으로 트랜지션 효과는 요소 프로퍼티값이 다른 값으로 변화할 때 주로 사용하며 요소의 로드와 함께 자동으로 발동되지 않는다. :hover 와 같은 가상 클래스 선택자(Pseudo-Class Selector) 또는 자바스크립트의 이벤트와 같은 부수적 액션에 의해 발동된다. 즉 transition 프로퍼티는 단순히 요소의 프로퍼티 변화..

CSS 2023.10.22

CSS - 트랜지션

트랜지션(transition)은 CSS 프로퍼티의 값이 변화할 때, 프로퍼티 값의 변화가 일정 시간(duration)에 걸쳐 일어나도록 하는 것이다. 예를 들어 아래의 예제를 살펴보자. div 요소는 기본 상태에서 hover 상태로 변화할 때, CSS 프로퍼티 border-radius와 background 프로퍼티의 값이 변화한다. 상태 변화에 따라 CSS 프로퍼티가 변경되면 프로퍼티 변경에 따른 표시의 변화(transition)는 지체없이 즉시 발생한다. 위 예제의 경우, div 요소에 마우스가 올라가서 hover 상태가 되면 div 요소의 border-radius, background 프로퍼티의 값이 즉시 변경된다. 트랜지션(transition)은 상태 변화에 동반하여 변경되는 CSS 프로퍼티 값에 ..

CSS 2023.10.21