자바스크립트에서도 객체를 다룰 수 있다. 그런데 먼저 자바를 배우고 자바스크립트로 넘어온 클래스의 개념이 존재하지 않기 때문에 개념이 생소할 수도 있다. 따라서 이 부분을 간단하게 정리하고 넘어간다. 자바스크립트는 프로토타입 기반언어 객체지향 언어라는 것을 알아두고 이 글을 읽어보자. 객체(Object) 자바스크립트에서 객체는 속성의 집합으로 볼 수 있다. 위 그림에서 보면, userInfo라는 객체는 userId, userPw, old라는 속성을 가지고 있다. 이렇게 객체로 묶어서 데이터를 다루게 되면 아래와 같은 장점이 있다. 1. 관련있는 데이터를 묶어서 처리할 수 있기 때문에 코드의 유지보수성이 좋아진다. 2. 실세계의 사고방식과 유사한 코딩이 가능하게 한다. 즉 컴퓨터 친화적인 코드를 인간에 가..
Storage Engine 먼저 MySQL에는 크게 두 가지의 엔진이 존재한다. 하나는 서버 엔진이고 하나는 스토리지 엔진이다. 서버 엔진은 쿼리 요청이 왔을 때 쿼리 파싱(Query parsing)을 하여 스토리지 엔진에 데이터를 요청하는 작업을 한다. 스토리지 엔진은 물리적 저장장치에서 데이터를 읽어오는 작업을 한다. 여기서 스토리지 엔진을 중점적으로 알아보려고 한다. 스토리지 엔진이 중요한 이유는 첫째로, 트렌젝션 처리와 밀접한 관련이 있다는 것이고, 둘째로 엔진마다 동작 원리가 달라서 상황에 따라 천차만별의 성능을 보이기 때문이다. MySQL에서 사용가능한 엔진은 여럿 존재한다. 이 글에서 중점적으로 다룰 대표적인 엔진 MyISAM과 InnoDB가 있고, 이 외에도 Archive, Memory, ..
먼저 Git이라는 것은 리눅스의 창시자 리누스 토발즈에 의해서 만들어졌다. 이는 협업을 할 때, 버전관리를 편리하게 다룰 수 있도록 해주고, 프로젝트의 어떠한 부분도 겹쳐쓰지 않도록 관리해주는 버전관리 툴 중에 하나이다. 이 외에도 상당한 장점이 있지만 이정도만 적도록 하겠다. GitHub은 분산 버전 관리 툴인 Git을 사용하는 프로젝트를 지원하는 웹호스팅 서비스이다. GitHub는 개인 공간으로 활용할 수 있는 유상 서비스와 오픈소스를 위한 무상 서비스를 모두 제공한다. 2009년의 Git 사용자 조사에 따르면 GitHub는 가장 인기있는 Git 호스팅 사이트이다. 또한 2011년의 조사에서는 가장 인기있는 오픈 소스 코드 저장소로 꼽혔다. 위 글은 위키백과에서 발췌한 글이다. 즉, 자신의 코드를 G..
JSP만으로는 완벽한 웹 서비스를 제작할 수가 없다. 모든 사용자 입력에 대한 처리를 서버에게 떠맡길 수는 없기 때문이다. 따라서 클라이언트에서 어느정도 로직의 처리가 들어가야 한다. 웹 개발자로써 반드시 알아야할 클라이언트단 요청 처리 언어 중 하나가 JQuery이다. JQuery는 JavaScript의 라이브러리중 하나이기 때문에, JQuery를 공부하기 전에 JavaScript에 대해서 기본적인 지식을 알고 넘어가려고 한다. 목적 웹 페이지를 동적으로 움직이기 위한 스크립트 언어이다. 기존 HTML과 CSS만으로 작성된 웹 페이지는 데이터를 동적으로 처리하기에는 부족함이 있다. 물론 최신의 HTML5와 CSS3는 어느정도 동적인 처리가 가능하지만, 이는 복잡한 로직을 처리하기에는 한계가 있다. 따라..
MVC 패턴(Model-View-Controller Pattern) MVC 패턴은 여러가지 디자인 패턴 중에 하나이다. 즉, 건축으로 비유하자면 공법이며, 소프트웨어에 빗대어 말하자면 어떻게 소프트웨어를 개발할 것인지의 개발 방식을 공식화 한 패턴이다. 특히 MVC 패턴은 사용자와 상호작용을 하는 어플리케이션을 개발할 때 사용되는 방식이다. 예를 들어 웹 어플리케이션과 같이 UI(User Interface)를 통하여 사용자가 직접적으로 소통하는 부분들이 있는 어플리케이션에서 보편적으로 사용된다. MVC(Model-View-Controller) 패턴은 이름에서도 알 수 있듯이, 어플리케이션을 기능적으로 크게 세 가지로 나눈다. 각 기능의 세부 정보는 아래와 같다. 모델(Model) : 비즈니스 영역의 로직..
우리가 웹 사이트를 요청하고 응답할 때 HTTP라는 프로토콜을 통해서 데이터를 주고 받는다. 클라이언트는 서버로부터 응답을 받을 때 웹 페이지뿐만 아니라 HTTP 패킷에 응답의 정보를 담은 코드를 함께 받는데, 이 코드를 HTTP 응답코드(HTTP Response Code)라고 한다. 이는 상태코드라고도 한다. 클라이언트에서는 이 응답코드에 따라서 응답의 상태를 판단하게 된다. 예를 들어 정상적으로 응답이 오지 않았다면, 어떤 이유에서 오류가 났는지 에러 페이지를 출력할 때 이 정보를 사용하여 사용자에게 전달해준다. 대표적으로 아래와 같은 화면을 종종 볼 수 있을 것이다. 404 - Not Fount라는 응답코드이다. 읽어보면 서버에 없는 페이지를 요청했기 때문에 저런 응답을 했다는 것을 알 수 있을 것..
도메인 네임(Domain Name) 처음 인터넷 상에서는 어떤 사이트를 접근하고자 할 때, IP주소만을 통해서 접근할 수 있었다. 하지만 IP주소라는 것은 32비트 2진수의 값을 단순이 8비트 씩 묶어서 표현한 것에 불과하여, 사람이 그 주소를 쉽게 이해하고 외워서 사용하기는 힘들었다. IP 주소에 대한 자세한 정보는 아래 링크에 정리되어 있으니 참고하기 바란다. [Network]IP 주소(IP Address)http://hyoje420.tistory.com/10 사람들은 어떤 웹 사이트에 접근할 때, IP주소가 아니라 어떤 별명을 붙여서 접속할 수 있다면 더욱 편리할 것이라는 생각을 했다. 그 결과로 나타난 것이 도메인 주소(Domain Address)이다. 이 주소는 IP주소와 다르게 어떤 의미를 가..
먼저 이 글을 이해하려면 IP주소에 관한 개념을 알고 넘어가야한다. 따로 정리해 놓은 글이 있으니 참고를 하기 바란다. [Network]IP주소(IP Address)http://hyoje420.tistory.com/10 네트워크 클래스 등장배경 먼저 IPv4는 32비트로 이루어져 있다. 따라서 2^32, 약 40억개의 주소를 가진다. 처음에 IP주소를 설계할 때는 40억개 정도면 충분히 전인류가 사용할 수 있을줄 알았다. 하지만 사용하다보니 턱없이 부족한 수라는 것을 알게 되었다. 우리가 개인적으로 가지고 있는 기기의 종류만해도, 노트북, 스마트폰, PC 등이 있다. 전세계 인구가 대략 75억명 이라고 하는데, 각자 스마트폰 하나씩에 IP주소 하나씩만 부여해도 IPv4의 주소체계로는 개별적으로 부여할 수..