키워드와 예약어키워드키워드는 제어문의 시작과 끝, 특정한 조작 목적 등으로 쓰입니다. 이런 기능들이 정의되어 있기 때문에 식별자나 프로퍼티 이름으로 사용할 수 없습니다. *이 붙은 키워드는 5판에서 추가된 키워드입니다.- break - case - catch - continue - debugger* - default - delete - do - else - finally - for - function - if - in - instanceof - new - return - switch - this - throw - try - typeof - var - void - while - with 예약어예약어는 아직 특별한 쓰임새는 없지만 미래에 키워드로 쓸 가능성이 있어서 예약해 둔 것입니다.- abstract -..
CategoryProgramming learning (88)
문법ECMAScript의 문법은 C, JAVA, Perl등 C와 비슷한 언어에서 차용한 것입니다. 이미 위 언어들에 익숙한 개발자들은 다소 느슨한 ECMAScript문법이 매우 쉽게 느껴지실 겁니다.대소문자 구분어디서든 대소문자를 구별합니다. test와 Test는 다른변수입니다. typeof 같이 이미 지정되 키워드는 변수명 등으로 사용 할 수 없으나, typeOf는 사용 할 수 있습니다.식별자변수 함수, 프로퍼티, 함수 매개변수의 이름을 식별자로 부릅니다.첫 번째 문자는 반드시 글자, 밑줄(_), 달러기호($) 중 하나여야 합니다.첫 번째 이후 문자는 글자, 밑줄, 달러기호, 숫자를 자유롭게 쓸 수 있습니다.카멜케이스(낙타표기법)식별자는 관습적으로 카멜케이스로 씁니다. 카멜케이스란 첫번째 글자는 소문자..
HTML과 자바스크립트자바스크립트는 출현 즉시 HTML에 포함되었습니다. 넷스케이프는 자바스크립트가 다른 브라우저의 HTML페이지 렌더링을 방해하지않으면서 공존할 길을 모색했습니다. 이번 포스트에서는 HTML속에서 어떻게 자바스크립트를 사용하는지 알아봅시다.script요소자바스크립트를 HTML 페이지에 삽입하는 일차적인 방법은 script 태그를 사용하는 것입니다. script 요소는 두가지 방식으로 사용합니다. 자바스크립트 코드를 페이지에 직접 작성하거나, 외부파일에서 불러올 수 있습니다.인라인 스크립트 function sayHi(){ alert("Hi!"); } 스크립틑 요소 내부의 자바스크립트 코드는 위에서부터 차례대로 해석됩니다. 인라인 자바스크립트 코드 사용시 문자열 /script는 쓸 수 없습..
자바스크립트 등장배경자바스크립트의 1995년 처음 등장 시, 주요 목적은 펄 같은 서버언어에서 담당하던 유효성 검사였습니다. 당시는 모뎀의 느린 속도 때문에 서버까지 왕복하는 시간이 오래 걸렸었습니다. 그래서 나온 자바스크립트로 인하여 서버로 왕복할 필요없이 유효성검사 등을 클라이언트에서 처리가 가능하게 되었습니다. 그 후로 점차 발전하여 웹 브라우저 모두에서 중요한 기능으로 자리 잡았으며, 데이터 유효성 검사에 국한되지 않고 브라우저창과 콘텐츠 거의 모든부분과 상호작용 하고 있어 현재 강력한 프로그래밍 언어로 성장하였습니다.간추린 역사당시 인터넷 속도가 느려 유효성 검사를 클라이언트에서 하기 위하여 출현했습니다. 넷스케이프에서 일하던 브랜든 아이흐(Breadan Eich)가 처음엔 Mocha, 나중에 ..
코드로 보는 함수형 프로그래밍앞선 포스트에서 함수형 프로그래밍에 개념에 대해서 알아 보았습니다. 추상적인 이야기가 많아 포스트를 작성하는 저 또한 이해가 어려웠습니다 :( 포스트 작성 후에도 뭔가 찜찜해 인터넷을 뒤적거리다 좋은 예제를 찾았습니다. 이번 포스트에서는 함수형 프로그래밍언어 스칼라 예제를 참고하여 이해가 쉽게 정리해 보았습니다.함수형 프로그래밍에 대한 기본적인 특징은 이번 포스트에서도 설명하고 있으며, 자세한 사항은 이전 포스트를 참고 하시길 바랍니다. 함수형 프로그래밍 맛보기함수형 프로그래밍에는 두 가지 특징함수의 순수성(purity of functions)고차(high-order)함수지난 포스트에서 설명한 순수함수와 1급함수를 말합니다. 중요한 요소이기 때문에 이 포스트에서 다시 설명 하..
함수형 프로그래밍함수형 프로그래밍이란?함수적인 접근 방법으로 문제 해결을 하기 위하여 만들어졌습니다. 순수 함수를 작성하여 숨겨진 입력이나 출력을 최대한 제거하여 코드 대부분이 단지 입력과 출력의 관계를 기술하게끔 하는것을 말합니다. 물론 대부분의 프로그램은 반환 값을 얻기 위해서가 아닌 어떤 동작을 하기 위한 경우도 있기 때문에 가능한 모든 곳에서 철저하게 통제 해야 합니다.함수형 프로그래밍 언어란?함수형 프로그래밍 언어는 위에서 설명한 함수형 프로그래밍을 철저히 제어하기 위해 적극적으로 도와주는 언어입니다. 이를테면 자바스크립트나 자바 8버전에서도 함수형 프로그래밍을 구현 할 수는 있습니다. 하지만 함수형 프로그래밍의 특징을 철저하게 제어하지 못하기 때문에 함수형 프로그래밍 언어라고 하지는 않습니다...
JavaScript 목차JavaScript에 대해서 살펴봅니다.1. 자바스크립트란? 2. HTML과 자바스크립트 / 문서모드 / noscript 3.1 자바스크립트 기초 - 문법 3.2 자바스크립트 기초 - 키워드와 예약어 3.3 자바스크립트 기초 - 변수, 데이터타입 3.4 자바스크립트 기초 - 연산자 3.5 자바스크립트 기초 - 문장(제어문) 3.6 자바스크립트 기초 - 함수 4.1 자바스크립트 - 실행 컨텍스트와 스코프 (Execution Context, Scope) 4.2 자바스크립트 - 가비지컬렉션(Garbage Collection) 5. 자바스크립트 - 참조타입 6. 자바스크립트 - 객체 지향 프로그래밍 7. 자바스크립트 - 함수 선언식, 함수 표현식8. BOM - 브라우저 객체 모델9. 클라..
REST란?REpresentational State Transfer의 약자입니다. 이것은 장비간 통신을 위해 CORBA, RPC, SOAP등의 복잡한 방법을 사용하는 대신, 간단하게 HTTP를 이용하는 것이 목적입니다. REST는 자원 지향 구조(Resource Oriented Architecture)로 웹 사이트의 이미지, 텍스트, DB 내용 등의 모든 자원에 고유한 URI를 부여합니다.이 용어는 로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개되었습니다. (필등은 HTTP의 주요 저자중 한사람) 엄격한 의미로 REST는 네트워크 아키텍쳐 원리모음 입니다. 네트워크 아키텍처 원리란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 말합니다.CRUDCreate : 생성(POS..
JSON?JavaScript Object Notation의 줄임말입니다. 경량 데이터 기술 언어로써 JavaScript(ECMAScript)에 오브젝트 표기법을 바탕으로 하고 있습니다.다룰수 있는 데이터형falsetruenull오브젝트배열수치문자열7가지 입니다.어떤식으로 사용하나요키와 값으로 데이터를 가지고있는 딕셔너리(Dictionary) 데이터를 배열로 들고있는 리스트(List)두가지 방식으로 사용가능하며 두가지를 자유롭게 조합하여 사용할 수도 있습니다.Dictionary{ 'username' : 'kendrick', 'age' : 28 } LIst[ 'red', 'blue', 'gray'] Dictionary + List[ { 'usern[me' : 'kendrick', 'age' : 28 } , ..
웹 공격 기술HTTP자체는 보안 상의 문제가 일어날 정도로 복잡한 프로토콜은 아닙니다. 그러므로 프로토콜 자체는 공격 대상이 되는 경우는 없습니다. 문제는 서버와 클라이언트 그리고 서버 상에서 동작하는 웹 애플리케이션 등의 리소스입니다 이번 포스트에서는 웹 애플리케이션 공격에 대한 내용을 설명합니다.보안기능이 없는 HTTP위에서도 적었듯이 HTTP는 구조가 단순한 프로토콜 입니다. 만들 당시에도 이렇게까지 쓰일줄은 몰랐을 것 입니다 :) 그렇기 때문에 장점도 많지만 보안에 관해서는 나쁜점도 있습니다. 웹 애플리케이션에서는 인증이나 세션관리 기능을 개발자가 설계하고 구현할 필요가 있습니다. 하지만 제각각이 설계하기 때문에 각기 다르게 구현됩니다. 그 결과 보안 등급이 충분치 못하고 공격자가 악용할 수 있는..
Web Application - 웹 어플리케이션웹 애플리케이션이란?웹을 사용해서 기능을 제공하는 것을 웹 애플리케이션이라고 합니다.- 쇼핑사이트 - 인터넷 뱅킹 - SNS - 게시판 - 검색엔진 - e-러닝 대충 훑어봐도 위와같은 다양한 웹 애플리케이션이 있습니다.왜 등장하게 된걸까본래 HTTP를 사용한 웹 구조는 사전에 준비된 콘텐츠를 클라이언트의 리퀘스트에 맞게 반환하는 것 입니다. 그러나 웹 보급후 이것만으로 부족하여 프로그램이 HTML 등의 콘텐츠를 생성할 필요가 생기게 되었습니다. 이런 프로그램에 의해서 생성된 콘텐츠를 동적 콘텐츠라 부르며, 사전에 준비된 콘텐츠는 정적 콘텐츠라고 부르고 있습니다. 웹 애플리케이션은 동적 콘텐츠에 해당합니다.CGICommon Gateway Interface(이하..
HTMLHTML이란?Hyper Text Markup Language의 약자이며 WWW 문서를 작성하는 Markup Language입니다. 하이퍼 텍스트(Hyper Text)란 하나의 문서(Text)로 두는 것이 아닌 문서와 문서를 상호 연결하여 접근 방식을 다양화 시킨 문서를 의미합니다. HTML은 여러 태그로 구성되어 있으며, 각 태그를 사용하여 원하는 문서를 만들 수 있습니다.태그란?Tag태그란 정보를 정의하는 형식입니다.컨텐츠를 감싸서 그 정보의 성격과 의미를 정의합니다.태그는 시작과 끝이 존재합니다. ex) 닫히는 태그가 필요없는 태그도 있습니다. 이런경우 과 같이 사용합니다. ex) HTML의 기본구조 문서의 머리 부분 문서의 몸통 부분 HTML로 쓰여진 문서를 브라우저에서 열면 렌더링 처리 된..
Theme by Anders Noren