소프트웨어 & 잡다
-
SVN branch and merge 쉽게 활용하기 #2소프트웨어 & 잡다 2013. 2. 13. 20:16
이전에 잠깐 SVN에서 branch만들어서 사용하는 법과 merge하는 법을 적은 적이 있다. 뭔가 잘 안되어서 삽질하다가 적은건데, 좋은 방법은 아니었다. 그런데 우연히 블로그 유입경로를 보니 SVN/BRANCH/MERGE가 엄청 많다는걸 알고는, 가만 있을수가 없었다. 사실 적어놓고 잊고 있었는데, 요새 branching을 많이 하다보니, 나름 정형화 된 방법이 있어서 새로 적을까 한다. branch를 생성하고 작업하고, merging 하기까지 일련의 과정을 나열해 보겠다. 잘 모르는 사람을 위해서 당연한것도 적도록 하겠다. 1. branch 만들기branch를 만든다는것이 최신 trunk를 복사하는것이기 때문에, 기본적인 명령어 사용 순서는 이렇다.svn copy [TRUNK] [BRANCH PAT..
-
Redhat/Ubuntu 리눅스에서 램디스크(RAM disk) 만들기소프트웨어 & 잡다 2012. 11. 15. 01:57
소프트웨어 개발을 하다 보면, 다양한 디스크 상태에 따른 예외처리를 구현해야 할 때가 많다. 일일이 열거하기는 어렵지만, 예를들면 디스크 용량 부족에 대한 예외 처리가 있을 수 있겠다. 하지만 이런 상황을 만들어내기 위해서 하드디스크에 파일을 채울 수도 없는 노릇이 아닌가. 이럴때 작은 아주 작은 크기로 램디스크를 만들면 쉽게 재현 할 수 있다. 또 한가지는, profiling 등을 할 때, 디스크IO로 인한 부하 및 지연시간을 없애고 싶을 때가 있다. 이 때 파일 read/write를 램디스크로부터 하도록 함으로써 이를 해소 할 수도 있다. 램디스크는 비교할 수 없을만큼 access 시간이 짧기 때문에, 디스크 IO에 묻혀서 분간하기가 힘들었던 hot spot을 발견할 확률도 높일 수 있다. Redha..
-
Intel VTUNE 추가 기능 사용을 위한 EBS 설치소프트웨어 & 잡다 2012. 8. 17. 22:11
VTUNE를 설치하면 Hotspots, Concurrency 그리고 Locks and Waits를 기본으로 수행할 수 있다. 하지만 Lightweight Hotspots이나 Advanced Intel(R) Core(TM) 2 Processor Family - General exploration 아래의 좋은 기능들은 사용이 되지 않는 경우가 있다. 이는 Hardware event-based sampling (EBS) 드라이버가 설치 되지 않았기 때문이므로 추가로 설치해 준다. 드라이버는 보통 VTUNE설치시에 설치가 되지만 Kernel 소스를 필요로 하기 때문에 만약 해당 시스템에 Kernel 소스가 없다면 스킵 되었을것이다. Cent OS 기준으로 EBS를 설치하는 절차를 설명하려고한다. 1. Kerne..
-
C++ 예찬소프트웨어 & 잡다 2012. 4. 12. 22:31
C++과 함께 한지 10년이 훌쩍 넘었다. 처음 4년은 학부에서 시스템 프로그래밍, 자료구조, 알고리듬 등의 수업을 통해 C와 C++을 익혔고, 그후 2년동안은 회사에서 비디오 스트리밍 서버 개발. 그후 2년동안은 대학원에서 네트워크 시뮬레이터 개발. 그후 3.5년 동안은 병특할때 텔레콤 서버 개발. 그리고 지금 근 2년 동안 영국에서 방송 서버 개발. 짧지 않은 기간을 해 왔지만, 워낙 머리가 나쁘고 게을러서 공부를 많이 하지 못했다. 그래서 아직도 깊이 들어가면 꼬랑지를 내리게 된다. 특히 실력있는 C++ 프로그래머와 코딩 스킬이나 디자인 패턴쪽으로 깊이 논쟁이 붙으면 도데체 당해낼 수가 없을때가 많다. 나는 스스로 생각한다. 프로그래머 자체로써의 나는 매우 부족하다. 그럼에도 불구하고, 그동안 용케..
-
Linux HTTP 프록시 설정소프트웨어 & 잡다 2012. 3. 5. 22:36
apt-get이나 yum으로 패키지를 설치할 때, HTTP 인터페이스를 이용해야 한다. 그런데 네트워크 환경에 따라서, 네트워크가 살아 있음에도 불구하고 HTTP 포트가 block 되어 있는 경우가 있다. 리눅스 내에서 직접 다운로드 하여 패키지를 설치해야 하는 경우에는 이럴때 매우 불편하다. 이럴경우 대부분 해당 네트워크에는 HTTP Proxy가 존재하는데, 이를 확인하여 리눅스상에서 설정해주면 문제가 간단히 해결 된다. 우선, 설정값을 확인한다. []# echo $http_proxy 만약 아무것도 설정되어 있지 않으면, 프록시 서버의 URI를 설정한다. []# export http_proxy='http://proxy:8080' 만일 인증이 필요한 경우에는 다음과 같이 설정한다. []# export h..
-
SVN 사용시에 branch와 merge 잘 이용하기소프트웨어 & 잡다 2012. 1. 27. 22:47
(2014.02.20) 이 글은 개념을 익히기에는 도움이 되나, 이전에 익숙하지 않던 시절에 작성한것이기에 실무에 활용하기는 불편할 수 있습니다. 현재 편리하게 사용하고 있는 방법은 따로 작성해 두었습니다.http://asbear.tistory.com/entry/SVN-branch-and-merge-%EC%89%BD%EA%B2%8C-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0-2 이전 회사에서 SVN을 사용할 때에는 main trunk에서 주로 작업을 했었다. 작은 팀이어서 각자가 담당하는 디렉토리를 다른사람과 공유할 일도 없고 하다보니 큰 문제는 발생하지 않았다. 일을 시작하기 전과 commit 하기 전에 svn update를 반드시 하기로 약속 했었고, 그런대로 잘 지켜 졌었던 ..