본문 바로가기

전체분류

Bit Vector in Java Programming 하다보면, Bit Vector 를 사용할 일이 생긴다. 그래서 찾아보았는데, 역시나 Java API 안에 Bit Vector 가 이미 훌륭하게 구현이 되어 있었다. 이름하여, BitSet class 이 클래스는 java.util package 안에 있다. java.util Class BitSet This class implements a vector of bits that grows as needed. Each component of the bit set has a boolean value. The bits of a BitSet are indexed by nonnegative integers. Individual indexed bits can be examined, set, or c.. 더보기
XCode 4 튜토리얼 XCode 4 에는 이전 XCode 에서 보다 많은 기능들이 추가되었다. 이런 기능들에 대한 좋은 블로그가 있어서, 링크를 남긴다. http://maniacdev.com/xcode-4-tutorial-and-guide/ 더보기
이대 카페 - 카페 벨라 프라하 이름하여 카페 벨라 프라하! 체코전통빵 뜨르들로를 파는 곳이자, 에스프레소, 다양한 핸드드립 커피를 마실수 있는 분위기 좋은 카페이다. 뜨르들로는 처음 먹어보는 것이었다. 주문하자마자 5분정도 만에 나왔는데, 그냥 먹어도 맛있지만 같이나온 딥핑소스에 찍어먹으니 훌륭하였다. :) 맛을 자세하게 표현하자면, 밀가루 반죽이 적절하게 되어서 부드럽고도 바삭한 맛이 난다. 또한 빵 자체가 얇아서 먹기에 좋다. 그리고 바로 나온 빵이라서 따뜻하다. 어떤 음식이든 바로 요리가 된 따끈 따끈한 것이 제일 맛있는 법이다. 카페 내부는 비교적 편안한 느낌을 주었다. 그리고 조용한 편이었고, 깨끗하여 기분도 상쾌하다. 오래도록 앉아있어도 괜찮은 카페라고 생각한다. 카페 전경 뜨르들로 빵 더보기
Refactoring 정의와 필요한 이유 이번 글은 간단하게 Refactoring의 정의와 필요한 이유에 대해서 알아 볼까 한다. Refactoring의 정의 1. Refactoring(명사) - 소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조를 변경하는 것. 2. Refactor(동사) - 일련의 리팩토링을 적용하여 겉으로 보이는 동작의변화 없이 소프트웨어의 구조를 바꾸다. Refactoring 을 해야 하는 이유 1. Refactoring은 소프트웨어의 디자인을 개선시킨다. - Refactoring은 코드를 정돈 하는 것이다. 그래서 코드의 중복된 부분을 제거 한다. 이렇게 함으로 나중에 코드를 수정하더라도, 필요한 부분만 수정할 수 있을 뿐만 아니라, 각각의 작업데 대한 .. 더보기
10. Git commit 수정 (실수 고치기) 우리는 Git 으로 소스코드를 버전관리하면서 실수로 작성한 것을 되돌리거나 수정하길 원할 때가 있다. 이러한 일을 하기 위해서 Git 에서는 다양한 방법으로 이런 기능들을 제공한다. 이런 방법은 크게 commit 을 했는지 안했는지, commit 을 공개했는지, 안했는지에 따라 다르다. 1. commit 이 안된 실수를 수정하는 방법 방법은 간단하다. 아래의 명령어로 변경된 내용 혹은 git index 에 있는 내용을 비울 수 있다. $ git reset --hard HEAD 이해를 돕기 위해서 간단한 예제를 들어 보았다. Kona:test starblood$ cat README.md # Git reset, checkout, revert introduction README.md 파일에 간단한 내용을 추가.. 더보기
Linux 특정 디렉토리에서 찾고자 하는 모든 파일을 삭제 하는 법 윈도우에서는 이러한 일을 하려면 아예 포기하거나, 특정 유티리티를 사용하여 삭제를 해야 한다. 하지만 Linux 에서는 이러한 일을 수행할 수 있는 강력한 명령어들을 제공한다. 하나의 명령어로 이러한 일을 하는 것은 안되고, 두 개의 명령어를 조합하여 수행할 수 있다. 먼저 특정 파일을 찾아야 하는 것이므로, find 명령어를 사용하면 되겠고, find 로 찾은 파일들을 삭제 하여야 하니, rm 명령어를 사용하면 될 것이라고 생각이 된다. 그리고 이 두 명령어를 묶어 주는 어떤 매개체가 필요하다는 사실도 알 수 있다. 그래서 명령어의 조합이 두 개 정도로 나올 수 있는데, 아래와 같이 수행할 수 있다. 1. find 와 xargs 를 조합 find 디렉토리 -name 파일이름 | xargs -0 rm 예.. 더보기
9. github 계정설정 github 를 이용하기로 마음을 먹었다면 정말 결정을 잘 내린 것이다. 라고 칭찬해 주고 싶다. 왜냐하면, 정말 좋으니까! 그래서 이번 포스팅은 github 계정 설정에 대해서 알아보고자 한다. 무슨 설정을 따로 포스팅까지 하나? 라고 반문 할 수 있겠지만, 조금 tricky 할 수 있다고 생각한다. 물론 이미 git 을 쓰는 사람들이라면 이정도 내공은 가지고 있을 거라고 생각은 하지만, 어디까지나 이번 포스팅은 본인이 나중에 헷갈릴 거 같아서 복습 차원에서 기재하는 거라고 생각된다... github 에 프로젝트를 등록하는 것 까지는 쉽지만, 자신의 PC 에서 개발한 프로젝트를 github 에 올리고 받는 작업을 하려면, github 에 접속하는 사람이 자신이라고 증명할수 있는 어떠한 방법이 필요하다... 더보기
8. github 소개 Git 을 소스코드 버전관리로 사용하는 사람들 대다수는 알것이다. Social Coding 이라는 모토를 내걸고 운영되는 github 는 이미 전세계적으로 인기 몰이중이다. 이미 twitter, facebook, rackspace, digg, Yahoo, shopify, EMI, six apart 등 많은 수의 쟁쟁한 업체들이 github 를 사용하고 있다. github 는 다양한 기능들을 지원하는데, fork, send pull request 등등 을 통하여 다른 개발자들과 협력하여 프로젝트를 진행할 수 있다. 코드리뷰, 변경이력추적, 소스보기, 이슈트래킹 등등 여러가지 강력한 기능들이 우리에게 제공된다. 프로젝트는 비공개, 공개 형태로 운영할 수 있으며, 비공개인 경우에는 요금을 지불하는 방식으로 운.. 더보기
7. Git 기본 지식 이번포스팅은 Git 을 사용하기에 앞서, Git 의 기본 지식에 대해서 공부해 보는 시간을 가지고자 한다. 이 포스팅의 그림은 Pro Git 사이트에 있는 그림들을 가져왔음을 밝힌다. Git 은 다른 버전 관리 툴들과는 달리, file 들의 변경이력을 snapshot 이라는 관점으로 관리를 한다. 예를 들어, CVS, Subversion 등은 변경이력을 변경된 정보를 저장하는 방식으로 변경 이력을 추적한다. CVS 나 Subversion 같은 툴들은 각각의 파일에 대해서 처음버전에 변경된 정보를 가진다. Git 은 프로젝트가 시간에 지남에 따라 변경되는 것들을 Snapshot 이라는 관점으로 정보를 저장한다. Git 을 가지고 프로젝트 버전관리를 하게 되면, 모든 작업을 자신의 PC 에서 할 수 있는 이.. 더보기
6. Git Repository (저장소) 를 얻어오기 Git project 를 얻는 방법은 두가지 방법이 있다. 첫 번째는, 존재하는 프로젝트 혹은 디렉토리에 Git 으로 가져오는 방법 두 번째는, 존재하는 Git repository 를 다른 서버로부터 clone 하는 방법 1. 존재하는 디렉토리로부터 Git repository 를 초기화 하는 방법 - 해당 프로젝트의 root 디렉토리로 이동한 뒤, 아래와 같은 명령어로 초기화 한다. $ git init 이 명령은 해당 프로젝트에 .git 이라는 이름의 디렉토리를 생성한다. 이 .git 디렉토리 안에는 해당 프로젝트의 필요한 정보를 가지고 있는 파일들이 있다. 이 파일을 Git repository skeleton 이라고 한다. 이 시점에서는 프로젝트는 아직 변경이력이 추적되지 않는다. 여기서 이 프로젝트를.. 더보기