먼저 GitHub의 기본적인 개념과 사용방법을 알고자 한다면 아래의 링크를 따라가 보는 것을 추천한다. [Git]Github 사용하기 http://hyoje420.tistory.com/37 큰 프로젝트를 진행함에 있어서 협업은 필수이다. 따라서 프로젝트를 생성한 프로젝트 마스터 이외에 다른 개발자들도 하나의 프로젝트에 대해서 업로드(Push), 다운로드(Pull)할 권한을 주고자 할 때 collaborators(협업자)를 추가해줘야 한다. Contributor vs Collaborator 뜻을 그대로 해석하자면 기부자와 협력자이다. 이는 각각 다른 의미를 가진다. Contributor는 프로젝트의 관리자는 아니지만, 한 프로젝트의 커밋에 관여하는 모든 사람을 Contributor라고 한다. Push권한은..
자바스크립트에서도 객체를 다룰 수 있다. 그런데 먼저 자바를 배우고 자바스크립트로 넘어온 클래스의 개념이 존재하지 않기 때문에 개념이 생소할 수도 있다. 따라서 이 부분을 간단하게 정리하고 넘어간다. 자바스크립트는 프로토타입 기반언어 객체지향 언어라는 것을 알아두고 이 글을 읽어보자. 객체(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..