얼마전 포스팅에서 GitBash를 사용하여 원격 레파지토리에 소스를 등록하는 작업을 해보았습니다. 이렇게 명령어 입력으로도 깃허브를 사용할 수 있습니다. 하지만 많이 불편하죠... 명령어를 다 외우는것도 만만치않은일입니다. 명령어를 사용하여 깃허브를 사용하는것이 불편한 분들을 위한 유틸리티가 있습니다. 바로 소스트리(Source Tree)라는 프로그램인데요. 소스트리란 Git을 그래픽화 시켜준다고 생각하시면 됩니다. 명령어 입력을 할 필요 없이 클릭만으로 Git의 모든 작업을 할 수 있습니다. 소스트리 (SourceTree) 설치하기 1. 소스트리 SetUp파일을 다운받습니다. 소스트리 설치URL 바로가기 위 경로로 가셔서 Download for Windows버튼을 눌러주세요. 2. 다운받은 SetUp파..
이클립스에서 프로젝트를 깃 원격 저장소로 Commit하는 방법에 대해 알아봅시다. 1. 깃 원격저장소에 올리고싶은 프로젝트 -> 우클릭 -> Share Project를 클릭합니다. 2. 화면에 보이는 Use or create repository inparent folder of project 체크박스를 클릭합니다. 3. Create Repository 버튼을 클릭하여 로컬 저장소를 만듭니다. 4. Git Repositories를 엽니다. 5. Git Repositories에 로컬저장소가 잘 만들어졌는지 확인합니다. 위와같이 자신이 원격저장소에 올리고싶은 프로젝트가 있으면 로컬저장소가 잘 만들어진것입니다. 이제 원격저장소에 프로젝트를 올릴 차례군요. 6. 올리고싶은 원격저장소의 주소를 복사합니다. 7. G..
이클립스와 깃을 연동하면 작업이 매우 편리해집니다. 이클립스에서 몇번의 클릭만으로 깃 레파지토리에 Push를 할수도 있고 Pull을 할 수도 있습니다. 이번 포스팅에서는 이클립스와 깃을 연동하는 방법에 대해 알아보도록 하겠습니다. 1. 일단 연동할 원격 레파지토리 주소를 복사하도록 하겠습니다. 제가 연동할 레파지토리 주소는 위와같습니다. 2. GIt Repositories창을 엽니다. 3. Clone a Git repository를 클릭합니다. 4. 첫번째 빨간박스의 주소는 Git원격 레파지토리의 주소를 복사하고있다면 자동으로 들어갑니다. 그 밑의 빨간박스에는 깃허브 아이디와 패스워드를 각각 입력하고 Next를 누릅니다. 5. 기본 Branch master를 체크해주고 Next를 눌러줍니다. 6. 원격 ..
Git Repositories를 만든 뒤 삭제하는 법을 몰라서 헤매시는 분들을 위해 이번 포스팅에서는 Git 원격 저장소 레파지토리 삭제 방법에 대해 알아보도록 하겠습니다. 1. 먼저 깃허브 사이트에가서 로그인을 한 뒤 삭제하고 싶은 레파지토리로 들어갑니다. 깃허브 바로가기 2. 자신의 레파지토리 리스트 중에서 자신이 삭제하고자 하는 레파지토리에 들어갑니다. 3. 삭제할 레파지토리에서 우측 상단의 Setting버튼을 클릭합니다. 4. Setting에서 스크롤을 밑으로 끝까지 내리게 되면 위와 같은 Danger Zone 나오는데요 여기서 가장 밑에 있는 Delete this repository버튼을 클릭합니다. 5. 그런 뒤 확인작업을 두 번 거쳐야 하는데요. 제거할 레파지토리명과 계정 패스워드를 차례로 ..
소스 형상관리의 정의 소프트웨어 형상관리는 Software Configuration Management, 줄여서 SCM라는 단어를 쓰기도 하는데, SW개발 및 유지보수 과정에서 발생하는 소스코드, 문서, 인터페이스 등 각종 결과물에 대해 형상을 만들고, 이들 형상에 대한 변경을 체계적으로 관리, 제어하기 위한 활동입니다. 단순히 말하자면 프로젝트를 진행하면서 생성하는 소스코드를 CVS나 SVN, 또는 GIT와 같은 버전 관리 시스템을 이용하는 것을 말합니다. 다수의 개발자가 프로젝트에서 동일한 기능을 동시에 개발한다고 할 때, 작성된 소스 코드와 변경사항을 확인하고, 수정하는 협업을 도와주는 시스템이라고 할 수 있습니다. 형상관리는 일반적으로 버전 관리 (version control, revision c..
인덱스의 개념 인덱스는 데이터 레코드를 빠르게 접근하기 위해서 구성하는 것으로 다음과 같은 특징이 있다. 1. 인덱스는 데이터가 저장된 물리적 구조와 밀접한 관계가 있다. 2. 인덱스는 레코드가 저장된 물리적 구조에 접근하는 방법을 제공한다. 3. 인덱스를 통해서 파일의 레코드에 대한 액세스를 빠르게 수행할 수 있다. 4. 레코드의 삽입과 삭제가 수시로 일어나는 경우에는 인덱스의 개수를 최소로 하는것이 효율적이다. 트라이(Trie)색인 트라이 색인은 탐색을 위한 키 값을 직접 표현하지 않고 키를 구성하는 문자나 숫자 자체의 순서로 키 값을 구성하는 구조이다. 키 값이 문자열 또는 숫자일 경우 일련의 키 값들에 대해 일부분이 같은 문자나 숫자로 구성되었을 떄 적합하다. 1. 가변 길이의 키 값을 효율적으로..
해싱이란? 해싱은 Hash Table이라는 기억공간을 할당하고, 해시 함수(Hash Table)이라는 기억공간을 할당하고, 해시함수(Hash Function)을 이용하여 레코드 키에 대한 Hash Table내의 Home Address를 계산한 후 주어진 레코드를 해당 기억장소에 저장하거나 검색 작업을 수행하는 방식이다. 1. 해싱은 DAM(직접 접근)파일을 구성할 때 사용되며, 접근 속도는 빠르나 기억공간이 많이 요구된다. 2. 다른 방식에 비해 검색 속도가 가장 빠르다. 3. 삽입 삭제 작업의 빈도가 많을 때 유리한 방식이다. 4. 키-주소 변환 방법이라고도 한다. 해시테이블(HashTable) 해시테이블은 레코드를 한개 이상 보관할 수 있는 Bucket들로 구성된 기억공간으로 보조기억장치에 구성할 수..
여러가지 검색의 종류 검색이란 컴퓨터를 이용해서 기억공간에 보관중인 특정 레코드를 찾아내는 작업이다. 선형 검색(Linear Search) 1. 선형 검색은 순서화되어 있지 않은 파일에서 순차적으로 검색하는 방식으로 찾고자 하는 Key값을 첫번째 레코드 Key값으로부터 차례로 비교하여 검색하는 방식이다. 2. 순차검색(Sequential Search)라고도 한다. 3. 프로그램 작성이 비교적 간단하다. 제어 검색(Control Search) 1. 제어 검색은 반드시 순서화된 파일이어야 검색할 수 있다. 2. 한번의 비교 동작이 끝난 후 비교 대상이 된 레코드를 다음에 비교할 대상을 선택하는 기준으로 이용하여 검색하는 방식이다. 이분 검색(이진 검색, Binary Search) 1. 이분검색은 전체 파일을..
트리(Tree)의 정의 트리는 정점(Node)과 선분(Branch)을 이용하여 사이클을 이루지 않도록 구성한 Graph의 특수한 형태이다. 가족의 계보(족보), 연산수식, 회사 조직 구조도, 히프등을 표현하기에 적합하다. 트리(Tree) 관련용어 노드(Node) : 트리의 기본요소로서 자료 항목과 다른 항목에 대한 가지(Branch)를 합친 것 EX : A, B, C, D, E, F, G, H, ,I ,J ,K ,M 근 노드(Root Node) : 트리의 맨 위에 있는 노드 EX : A 디그리(Degree, 차수) : 각 노드에서 뻗어나온 가지의 수 EX : A=3 , B=2, C=1 단말 노드(Terminal Node) : 자식이 하나도 없는 노드 EX : K, L, F, G, M, I, J 비단말 노..
큐(Queue) 1. 선형 리스트의 한쪽에서는 삽입 작업이 이루어지고 다른 한쪽에서는 삭제 작업이 이루어지도록 구성한 자료 구조이다. 2. 가장 먼저 삽입된 자료가 가장 먼저 삭제되는 선입선출(FIFO)방식으로 처리한다. 3. 시작과 끝을 표시하는 두 개의 포인터가 있다. 프런트(F) 포인터 1. 가장 먼저 삽이된 자료의 기억공간을 가리키는 포인터이다. 2. 삭제 작업을 할때 사용한다. 리어(R) 포인터 1. 가장 마지막에 삽입된 자료가 위치한 기억장소를 가리키는 포인터이다. 2. 삽입 작업을 할 때 사용한다. Queue의 응용분야 1. 창구 업무나 택시 정거장처럼 서비스 순서를 기다리는 등의 대기행렬의 처리에서 사용한다. 2. 운영체제의 작업 스케줄링에 사용한다. 데크(Deque) 1. 삽입과 삭제가 ..
스택의 개념 1. 스택은 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료구조이다. 2. 스택은 가장 나중에 삽입된 자료가 가장 먼저 삭제되는 후입선출(LIFO)방식으로 자료를 처리한다. Overflow : 스택으로 할당받은 메모리 부분의 마지막 주소가 M번지라고 할 때, Top Pointer의 값이 M보다 커지면 스택의 모든 기억장소가 꽉 채워져 있는 상태이므로 더 이상 자료를 삽입할 수 없어 Overflow를 발생시킨다. Underflow : Top Pointer가 주소 0을 가지고 있다면 스택에는 삭제할 자료가 없으므로 Underflow를 발생시킨다. ※ Stack에 기억되어 있는 자료를 삭제시킬 때는 제일 먼저 삭제할 자료가 있는지 없는지부터 확인해야 한다. Stack의 응용분야 ..
ArrayList(선형리스트) 선형 리스트는 배열과 같이 연속되는 기억장소에 저장되는 리스트를 말한다. 연접 리스트(Dense List) 또는 축차 구조(Sequential Structure)라고도 한다. 선형리스트의 특징 1. 가장 간단한 자료구조이다. 2. 접근속도가 빠르다. 3. 중간에 자료를 삽입하기 위해서는 연속된 빈 공간이 있어야 한다. 4. 기억장소를 연속적으로 배정받기 때문에 기억장소 이용 효율은 밀도가 1로서 가장 좋다. 5. 자료의 개수가 n개일 때 삽입 시의 평균 이동 횟수는 (n+1)/2이고, 삭제 시에는 (n-1)/2이다. 6. 삽입, 삭제 시 자료의 이동이 필요하기 때문에 작업이 번거롭다. LinkedList(연결리스트) 연결 리스트는 자료들을 반드시 연속적으로 배열시키지는 않고..
자료구조의 정의 효율적인 프로그램을 작성할 때 가장 우선적인 고려사항은 저장공간의 효율성과 실행시간의 신속성이다. 자료구조는 프로그램에서 사용하기 위한 자료를 기억장치의 공간내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리방법 등을 연구하여 분석하는 것을 말한다. 자료구조란? 1. 자료구조는 자료의 표현과 그것과 관련된 연산이다. 2. 자료구조는 일련의 자료들을 조직하고 구조화하는 것이다. 3. 어떠한 자료구조에서도 필요한 모든 연산들을 처리하는 것이 가능하다. 4. 자료구조에 따라 프로그램 실행시간이 달라진다. 자료구조의 분류 자료 구조의 이용 정렬(Sort) : 기억장치 내의 자료를 일정한 순서에 의해 나열하는 것 검색(Search) : 기억장치 내의 자료를 찾는 것 파일 편성 ..