목록전체 글 (95)
서랍장
JavaScript 란 무엇일까? 결론부터 말하자면 JavaScript 란 scripting language 이고 interpreted language 이다. 말이 좀 어려운데 간단하게 설명하자면 scripting 의 의미는 control 할 수 있도록 도와주는 의미이고, interpreted 의 의미는 컴파일 하지 않는 이미 해석되어있는 언어라는 의미이다. 후자의 의미가 좀 어려운데 다시 설명해보자. c언어와 같은 compile 기반의 프로그래밍 언어는 실행 되기 전에 컴파일러에 의해 compile 된 이후 실행된다. 허나 이와는 달리 JavaScript 는 run time 떄 그냥 바로 실행되버린다는 특징이 있다. 즉, script 로 되어있는 프로그램들을 실행할 때 인터프리터의 도움을 받아 다이나믹..
요즘 3D 이미지 시각화 툴을 만들어가면서 HTML5 표준이 미디어에 큰 힘을 불어넣어주고 있구나를 체감하고 있습니다. canvas 태그에 2D 이미지를 자유롭게 렌더링하거나, svg 값을 통해 이미지를 좀더 유동적으로 설정하며 시각화 툴을 만드는 와중에 3D 이미지 렌더링을 위한 webGL 에 관심이 가게 되어 자료들을 모으고 정리하는 중입니다. * WebGL 사용 후기 WebGL은 canvas 에 2D 이미지를 렌더링하는 것과 거의 비슷하게 점, 선, 삼각형 등 간단한 도형을 그려줍니다. 다만 2D가 아닌 3D 그래픽화 시켜준다는 것이 차이점입니다. Scene, Mesh, Geometry, Camera 등 여러 객체들을 초기화해주고 각각을 잘 연결시켜 Renderer에게 canvas에 그려줘~ 라고 ..
코딩하는 과정에서 객체를 정의할 때 해당 객체의 프로퍼티를 셋팅하도록 설정한다면 해당 객체를 추후 재활용하는데에 귀찮음과 어려움이 생길 수 있다. -> 이를 보완하기 위해 생성자를 새용해 원하는 프로퍼티의 인스턴스를 생성할 수 있도록 해줄 수 있다. 즉 생성자 패턴을 도입함으로써 코드의 재사용성을 대폭 높혀 레고 블럭인 객체를 좀더 자유자제로 사용할 수 있게 된다. - 함수를 호출할 때 new 를 붙이면 해당 함수는 새로운 객체를 만든 후에 이를 리턴한다. 해당 객체의 생성자를 호출한다고 생각하면 편하다. - 일반적인 객체지향 언어에서 생성자는 클래스의 소속이다. 하지만 자바스크립트에서 객체를 만드는 주체는 함수이다. 즉, 함수에 new 를 붙이는 것을 통해 객체를 만들 수 있다는 것은 자바스크립트의 특..
객체 지향이라는 말은 코딩에 입문한 이후로 끊임없이 들었던 단어였다. 허나 정확한 개념에 대해 설명하라는 질문을 들었을 때 얼타기 일쑤인 말이기도 하다. 때문에 간단하게나마 정리하고자 한다. * 객체지향 프로그래밍 좀 더 나은 프로그램을 만들기 위한 프로그래밍 패러다임으로 로직을 상태(state)와 행위(behave)로 이루어진 객체로 만드는 것이라고 할 수 있다. 이 객체들을 마치 레고블럭처럼 조립해서 하나의 프로그램을 만드는 것이 객체지향 프로그래밍이라고 할 수 있다. 다시 말해서 객체지향 프로그래밍은 객체(레고블럭 조각) 를 만드는 것이다. 따라서 객체지향 프로그래밍의 시작은 객체가 무엇인가를 이해하는 것이라고 할 수 있다. 또한 객체지향을 비슷한 관점에서 부품화의 정점이라고도 할 수 있다. 즉, ..
JavaScript 엔진은 JavaScript 코드의 인터프리터라고 보면된다. 여기서 인터프리터란 코드 한 구문씩 기계어로 해석해나가면서 실행해주는 프로그램이라고 알면 되고~ 여튼 JavaScript 엔진은 여러 종류의 웹 브라우저에서 찾아볼 수 있는데 대표적으로 Google Chrome의 V8, 블링크가 있으며, Mozilla Firefox의 SpiderMonkey 도 있다. 이 엔진들은 각자 퍼포먼스가 다르고, 지원되는 ECMAScript도 다르다. ECMAScript가 새로운 에디션을 발표하면 이에 맞춰서 JavaScript 엔진도 해당 사양을 따라가도록 점진적으로 업데이트를 해준다. 이름 설명 게코(Gecko) 모질라 재단에서 만든 레이아웃 엔진으로 파이어폭스, 모질라 선더버드, 시몽키 등이 이를..