웹은 HTTP로 나타낸다. 웹 브라우저 주소 입력란에 URL을 입력했을 때 웹 페이지가 보이는 이유는 어딘가에서 응답이 돌아오기 떄문에 웹 페이지가 표시되는 것이다. 웹 브라우저는 주소 입력란에 지정된 URL에 의지해서 웹 서버로부터 리소스라고 불리는 파일 등의 정보를 얻고 있는 것이다. 이 때 서버에 의뢰를 하는 웹 브라우저 등을 클라이언트(Client)라고 부른다. 이렇게 클라이언트에서 서버까지 일련의 흐름을 결정하고 있는 것은 웹에서 HTTP(HyperText Transfer Protocol)이라 불리는 프로토콜 이다.프로토콜이라는 의미는 "약속"이다. 즉, 웹은 HTTP라는 약속을 사용한 통신으로 이루어져 있다. 웹의 역사 최초의 웹은 팀 버너스리 박사가 멀리 떨어져 있는 동료 연구자와 지식을 공..
콜백(Callback Function)함수란?자바스크립트 함수 표현식에서 익명 함수의 대표적인 용도가 바로 콜백함수 이다. 콜백 함수는 코드를 통해 명시적으로 호출하는 함수가 아니라, 개발자는 단지 함수를 등록하기만 하고, 어떤 이벤트가 발생했거나 특정 시점에 도달했을 때 시스템에서 호출되는 함수를 말한다. 또한, 특정 함수의 인자로 넘겨서, 코드 내부에서 호출되는 함수 또한 콜백 함수가 될 수 있다. 콜백(Callback Function)함수 단계별로 이해하기 1단계 함수도 데이터 타입의 일종이기 때문에 값처럼 주고 받을 수 있다. function func() { console.log("func 호출됨");}var f1 = func;var f2 = f1;func(); f1();f2();cs 2단계 함수..
자바스크립트 함수 생성 방식 자바스크립트에서 함수를 생성하는 방법은 3가지가 있다. 이들 방식은 모두 같은 함수를 생성하지만, 각각의 방식에 따라 함수 동작이 미묘하게 차이가 난다.함수 선언문(Function statement)함수 표현식(Function expression)Function() 생성자 함수 함수 선언문함수 선언문은 선언적 함수라고 한다. 함수의 이름이 존재하고 컴파일 시점에 함수 정보를 등록한다.(함수의 호이스팅) 그래서 함수를 선언하기 이전에 사용이 가능하다. 함수가 별도의 return문을 사용하지 않는 경우 디폴트로 undefined가 반환된다. console.log(add(2, 3)); // 출력값 5 // add() 함수 선언문function add(x, y) { return x ..
undefined undefined의 경우, 변수는 존재하지만 값을 저장하지 않아서 타입을 모를 경우이다. 직접 값을 비교할 수 있다. var msg1;if (msg1 == undefined) console.log("변수 존재하지만 값이 없다.."); var msg2 = 20; msg2 = undefined; // 존재하는 변수를 undefined로 만들 수 있다.cs null null은 특정 객체를 가리키지 않음을 지정할 때 null을 사용한다. null또한 직접 값을 비교할 수 있다. var msg3 = null;if (msg3 == null) console.log("msg3은 null 상태임");console.log(typeof(null)); // typeof 연산자를 null에 사용하면 objec..
호이스팅(Hoisting) 호이스팅은 말 그대로 끌어 올린 다는 것이다. 자바스크립트 에서 끌어 올리는 것은 변수 '선언'과 함수 '선언' 을 끌어올리는 것이다.함수 호이스팅이 발생하는 원인은 자바스크립트의 변수 생성(Instantiation)과 초기화(Initialization)의 작업이 분리돼서 진행되기 때문이다. console.log(a());console.log(b());console.log(c()); function a() { return 'a';} var b = function bb() { return 'bb';} var c = function() { return 'c';}cs 위에 보이는 코드에서 a() 부터 실행 오류가 떠야 하지만 a는 출력이 된다. 왜냐하면 호이스팅에 의해서 실제 자바 ..
vue-router란?vue-router에서 router 라는 것은 일반적으로 화면이 전환될 때 전환되는 행위를 router라고 한다. 최근 개발되는 웹애플리케이션은 SPA 구조이다. SPASPA(Single Page Application) 는 여러 화면을 하나의 페이지 안에서 제공하면서도 화면을 별도로 로딩하지 않는다. 즉 해당화면에 대한 정보를 미리 갖고 있다가 해당 화면으로 넘어갈 때 서버에 요청하는 것이 아니라 클라이언트 내부적으로 라우터를 이용하여 서버에서 어떤 데이터를 받아 오지 않고도 화면을 바로 매끄럽게 전환 해주는 것이다. 화면마다 고유의 식별자를 기반으로 화면을 렌더링해야 하고, 고유 식별자로 사용하기에 가장 적절한 정보가 바로 URI(Uniform Resource Identifier)..
1. Node JS 다운 https://nodejs.org/ko/ 로 가서 LTS 버전을 다운 받는다. 2. Visual Studio Code 다운 https://code.visualstudio.com/ 에서 Visual Studio Code를 다운 받는다. 3. 폴더 하나를 만든후 Visual Studio Code에서 파일 -> 작업 영역에 폴더 추가 클릭 후 만든 폴더 선택 추가 버튼을 누르면 왼쪽 탐색기에 폴더가 추가된다. 4. 추가된 폴더 우클릭 -> 명령 프롬프트에서 열기 프롬프트 창에서 경로확인을 하고 자신이 만든 js파일을 node 파일명.js 나 node 파일명 치면 console.log를 통해서 JavaScript 연습이 가능하다.
자바스크립트 데이터 타입자바스크립트 데이터 타입은 크게 기본타입과 참조타입을 나뉠수 있다. 자바스크립트 기본타입자바스크립트의 값들은 크게 기본 타입(Primitive Type)과 참조 타입(Reference Type)으로 나뉜다. 기본 데이터 타입은 값을 그대로 할당하고 참조 타입은 값이 저장된 주소값을 할당한다.기본데이터 타입(숫자, 문자열, 불린값, null, undefined)참조 데이터 타입(객체, 배열) 해당 변수의 타입을 자바스크립트의 typeof 연산자를 이용해 출력한다. typeof 연산자는 피연산자의 타입을 리턴한다. 자바스크립트는 느슨한 타입 체크 언어다. 자바 스크립트는 변수를 선언할 때 타입을 미리 정하지 않고, var라는 한 하지 키워드로만 변수를 선언한다. 따라서 자바스크립트는 ..
자바 Date, SimpleDateFormat, Calendar API 1234567891011121314151617181920212223242526272829303132333435363738394041//Date클래스는 현재 날짜를 가져온다. 기준은 내컴퓨터 TimeZoneDate now = new Date();System.out.println(now); //SimpleDateFormat클래스는 Date 객체를 자기가 원하는 형식으로 바꿀수있다.SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 hh시 mm분");System.out.println(sdf.format(now)); SimpleDateFormat sdfYear = new SimpleDat..
추상화(abstract) 정의추상화는 모델링이다. 추상화란 구체적인 것을 분해해서 관찰자가 관심 있는 특성만 가지고 재조합하는 것이라고 정리할 수 있다. 1. object(명사)- 물건, 물체 2. 개체(명사)- 전체나 집단에 상대하여 하나하나의 낱개를 이르느는 말 3. 객체- 세상에 존재하는 유일무이한 사물 4. 클래스- 분류, 집합. 같은 속성과 기능을 가진 객체를 총칭하는 개념 클래스 : 객체 = 펭귄 : 뽀로로 = 사람 : 김연아 = 쥐 : 미키마우스 세상에 존재하는 유일무이한 객체를 특성(속성 + 기능)에 따라 분류해 보니 객체를 통칭할 수 있는 집합적 개념, 즉 클래스(분류)가 나오게 된다. 객체는 유일무이(Unique)한 사물이다.클래스는 같은 특성을 지닌 여러 객체를 총칭하는 집합의 개념이..
객체지향은 인간 지향이다. 절차적/구조적 프로그래밍까지의 과정은 인간이 기계를 이해하려는 노력에서 크게 벗어나지 못했다. 특히 포인터의 개념은 기계 수준으로 눈높이를 낮추지 않으면 이해하기 매우 힘든 부분이다. 기존의 구주적 프로그래밍 언어에서 가장 중요한 것은 "함수" 였다. 함수는 코드를 논리적인 단위로 구분하고 분할해서 정복하자는 것이다. 즉 D&C(Divide and Conquer) 논리적인 단위로 나누어 블록화해서 작성하자는 것이다. 이런 논리적인 단위의 블록을 함수라고 한다. 우주 만물은 객체들의 합이다. 눈으로 보여지는 것, 손으로 만져지는 것, 머리속으로 상상되는 모든 것은 사물이다. 사물을 객체 라고 하고 영어로 Object라고 한다. 우리가 주변에서 사물을 인지하는 방식대로 프로그래밍을..
인터페이스의 역할인터페이스는 개발 코드와 객체가 서로 통신하는 접점 역할을 한다. 가장 큰 이유는 개발 코드를 수정하지 않고, 사용하는 객체를 변경할 수 있도록 하기 위해서 이다. 인터페이스 구조1[public] interface 인터페이스명 {....}cs 클래스는 필드, 생성자, 메소드를 구성 멤버로 가지는데 비해, 인터페이스는 상수와 메소드만을 구성 멤버로 가진다. 인터페이스는 객체로 생성할 수 없기 때문에 생성자를 가질 수 없다. 1234567891011121314interface 인터페이스명 { // 상수 타입 상수명 = 값 // 추상 메소드 타입 메소드명(매개변수,,) // 디폴트 메소드 default 타입 메소드명(매개변수,...) {} // 정적 메소드 static 타입 메소드명(매개변수,..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.