본문 바로가기

전체 글

(750)
[자바성능] 자료형 성능 비교 일반적인 프로젝트에서 VO객체 패턴을 많이 사용합니다. 그 객체 안에는 대부분 Collection이나 Map 등의 인터페이스를 상속받는 객체가 많이 사용됩니다. 대부분 목록 데이터를 가장 담기 좋은 것이 배열이고, 그 다음으로 Collection 연관된 객체이기 때문에 그렇습니다. 배열은 처음부터 크기를 지정해야 하지만, Collection의 대부분의 객체들은 그럴 필요가 없이 객체들이 채워질 때마다 자동으로 크기가 증가됩니다. 어떤 객체를 써야 성능상 좋은지에 대해 알아보겠습니다. 1. Collection 및 Map 인터페이스의 이해 배열을 제외하고 데이터를 담기 가장 좋은 객체는 Collection 및 Map 인터페이스를 상속한 객체입니다. 사진 출처 ( http://foratgweb.blogspot..
[리눅스] vim 컬러스킴 변경 리눅스 환경에서 텍스트 에디터로 vim 편집기를 많이 이용합니다. vim은 다양한 컬러 테마 변경이 가능합니다. 지금까지 이것도 모르고 기본 제공하고 있는 blue 컬러 테마를 쓰고 있었습니다만, 파이썬 개발시 IDE툴 활용하지 않고, 직접 리눅스에서 개발하다보니, 에디터 환경에 검색을 하다가 굉장히 다양한 컬러스킴을 다운받아 적용할 수 있는걸 알게 되었네요. vim 테마가 저장되어 있는 경로입니다. $cd /usr/share/vim/vim74/colors -rw-r--r--. 1 root root 2311 12월 22 02:00 README.txt-rw-r--r--. 1 root root 2476 12월 22 02:00 blue.vim-rw-r--r--. 1 root root 2990 12월 22 02..
[버전관리] Git 브랜치 학습 사이트 Git 브랜치를 배울 수 있는 실제처럼 실행, 확인해볼 수 있는 사이트입니다. 웹 브라우저에서 동작하는 애플리케이션으로 git을 쓸때 필요한 브랜치에 대한 개념을 익히는데 도움이 되겠네요. 그렇게 rebase가 좋다고 하는데, rebase도 여기서 확인해보고 실전에서 사용해보면 될 것 같습니다. http://learnbranch.urigit.com/
[성능튜닝] 개발에서의 알고리즘 데이터 규모와 계산량 차이대상이 되는 데이터가 크면 클수록 알고리즘이나 데이터 구조 선택이 속도에 영향을 미치게됩니다. 예를 들면, 데이터 내에서 필요한 데이터를 처음부터 순차적으로 찾아가는 '선형탐색(Linear Search)'은 n건에 대해 n번의 탐색이 필요하므로 O(n)의 알고리즘입니다. '이분탐색(Binary Search)'은 n건의 데이터에서 log n번 만에 목적 데이터를 찾는 알고리즘으로, O(log n)의 알고리즘 입니다. 1,000건에 대해 최대 10번 만에 탐색이 완료됩니다. 데이터 건수가 늘어감에 따라 알고리즘 선택의 차이가 점점 커지고, 목적 데이터를 찾는 처리를 할 때 선형탐색을 사용하는 부분에서 데이터 건수가 1,000건, 100만건, 1,000만 건으로 늘어난다면 당연히 그 ..
[버전관리] CentOS에서 Git 설치 CentOS7에서 Git서버 구축하기 버전관리를 위해 깃서버를 구축해보려고 합니다. GitHub 등 깃저장소를 호스팅해주는 사이트들도 많이 있지만, 회사 상용서비스 소스는 회사 자체 서버에서 관리하는 것이 보안상 가장 안전합니다. Private repository의 경우, 요금을 추가로 내야하기도 하고요. 본포스팅은 Git Dcoumentation (https://git-scm.com/book/ko/v2) 사이트를 참고하여 작성하였습니다. 팀 프로젝트시 공동으로 사용할 수 있는 저장소를 만들고 모두 이 저장소에서 Push, Pull 작업을 수행할 수 있어야 합니다. 여기서 공동 저장소가 Git 서버가 됩니다. Git 저장소를 운영하는데 많은 자원이 필요하지 않아 별도의 Git 서버를 준비하지 않아도 됩니..