본문 바로가기

CollabNet Subversion Edge 4.0.3 업데이트 이전 버전: 3.2.2-3395.104 (svn: 1.7.8-3395.104)올린 버전: 4.0.3-3761.120 (svn: 1.8.4-3761.120) 먼저 시범용으로 테스트 서버에 설치를 하였다. 몇 가지 UI가 바뀌고 SVN이 1.7.x에서 1.8.x로 바뀐 것이 눈에 띈다.설정은 1:1로 복사하면 되므로 상관없는데, 사용자 추가는 번거롭고 사람들이 바꾼 암호를 모르기에 문제다. [CSVN_HOME]/data/data 디렉토리에 보면csvn-production-hsqldb라는 이름의 .properties와 script가 있다.이름을 보니 HSQL DB라는 것을 직관적으로 알 수 있다. 설정파일(.properties)를 열어보면 hsqldb.default_table_type=memory 라는 것으로..
[JavaScript] 시각화(visualization) 라이브러리(그래픽, 차트 등) 요즘 데이터 시각화에 관해 관심이 많다.웹 쪽에서는 자바 스크립트를 가지고 차트를 그리는 라이브러리가 많이 있는 것으로 알고 있다. 이름 사이트 라이센스 특징 1 Highcharts JS http://www.highcharts.com/ 비상용전제 하에 Free (링크) 다양,고품질,다양한레퍼런스, 상용 2 Flotr http://www.flotcharts.org/ MIT License (링크) 3 Flotr2 http://humblesoftware.com/flotr2/ MIT License (링크) 4 gRaphaël http://g.raphaeljs.com/ MIT License (링크) SVG 5 Protovis http://mbostock.github.io/protovis/ BSD License d..
[C#] DateTime.Now 분석 닷넷에는 시스템의 시간을 가져오는 방법은 DateTime.Now을 쓰면 간단하다.그런데 반대로 시스템의 시간을 설정하는 방법은 사람들은 잘 모르는 것 같다. StackOverflow 같은데 보면 Win32 함수를 마샬링해서 쓰는 방법뿐이다.심지어 MSDN도 마찬가지이다. How to: Get or Set the System Time GetSystemTime 와 SetSystemTime 함수를 Invoke해서 구현을 해놓았다. MSDN에도 그러하니 DateTime.Now는 내부적으로 GetsystemTime을 호출해서 DateTime 객체로 돌려주는 거겠지 생각을 했는데 틀렸다. 우선 Now는 아래와 같은 프로퍼티이다.public static DateTime Now{ get { return UtcNow.T..
[NUnit] 닷넷 환경의 테스트 주도 개발 Visual Studio 2008 환경을 사용하고 있다.닷넷에는 [테스트] 메뉴가 존재하지만 써 보았는데 JUnit+이클립스 같이 깔끔하게 돌아가는 환경은 아니다. 테스트를 할 때마다 생기는 로그 파일이 뭔가 부담스럽다. 그래서 NUnit이라는 오픈소스프로젝트를 사용하는데 많이 이용하는 것 같다.NUnit은 아래와 같은 GUI Runner를 제공한다. 하지만 이클립스 처럼 IDE 환경 내에서 바로 돌아가지 않아서 Visual Studio 따로 NUnit 따로 창을 두 개를 띄워서 개발을 해야 하니 뭔가 개발~테스트가 분리되어 있는 느낌이다. NHibernate를 검토하다 보니 비주얼 스튜디오에 플러그인 할 수 있는 도구가 있어서 써보니 괜찮았다.이름은 TestDriven.Net인데 오픈소스의 경우 Per..
[Node.js] SQL Server native 연결 github에 보면 모듈을 정리해 놓은 것이 있는데 https://github.com/joyent/node/wiki/modules데이터베이스에서는 Node.js는 Monngo DB가 대세 인 것 같다. RDBMS에서는 My-SQL이 그나마 라이브러리로 언급이 된다. 정작 회사에서 주로 사용하는 SQL Server이다.어제 찾아보니 TDS protocol로 구현되어 있는 계열 빼고는 node-sqlserver이 유일한 네이티브 모듈인 것 같았다. 문제는 npm install node-sqlserver로 단순히 설치가 안된다는 사실.C++ add on 때문에 빌드를 해야 하는데 솔루션 파일 인식 에러가 뜬다. https://github.com/windowsazure/node-sqlserver 에 보면 준비물..
[JVM] Runtime.exec ~ waitFor() Java에서 네이티브의 실행파일을 실행할 수 있게 되어 있다.물론 OS마다 프로세스를 생성하는 방법은 다를 것이다. 윈도우라면 CreateProcess라는 Win32 API함수를 사용하고, UNIX 계열이라면 execvp와 같은 시스템 콜을 사용한다. 따라서 Java코드에서 Native 코드로 넘어가는 부분의 구현부의 차이를 Builder 패턴을 이용하여 구현을 해놓았다. Process 클래스는 추상 클래스이다. 따라서 이 클래스를 실재 구현하고 있는 구체 클래스를 통해서 동작을 하는데,Runtime클래스의 exec 메소드를 통해서 얻을 수 있고 직접 생성은 불가능하다. exec 메소드는 여러가지로 오버라이드 되어 있는데, 결국 아래의 메소드가 끝판왕이다. public Process exec(String..
[설계] 건축과 소프트웨어 개발 디자인패턴도 건축에서 나온 것으로 알고 있다.과거부터 소프트웨어를 만드는 것은 건축에서 따온 메타포가 많았다. 하지만 과하면 문제가 생기기 마련. 요구사항 분석 / 설계 / 구현 / 검증(테스트)로 이루어지는 폭포수 모델은 비판이 많았다. 건축과 소프트웨어 개발의 차이점: http://earlybird.kr/1512글쓰는 프로그래머 :: 소프트웨어 설계가 완벽할 수 없는 다섯 가지 이유: 글쓰는 프로그래머 :: 소프트웨어 설계가 완벽할 수 없는 다섯 가지 이유 켄트 벡의 테스트주도개발에서는 소프트웨어를 정원관리하듯 개발을 하는 것에 대해 저자의 글에서 다루고 있다.p.276)역자 주: 기존의 소프트웨어 공학에서는 소프트웨어 분야에 건축학의 메타포를 주로 적용해왔다. 건축학의 메타포를 적용하여 우리는 소프..
[Node.js] Add on, Buffer 객체 C++로 넘기기 중국쪽 블로그로 보이는 Dead Horse's Blog를 참고하면 된다.Creating a Proper Buffer in a Node C++ Addon라는 제목의 글도 해당 내용을 담고 있다.Wrapping a C++ Object to a v8 Object in a Node Addon 도 자바스크립트 객체를 C++ 클래스로 바꾸는 유용한 글이다. 알아둘 것1. node::Buffer는 node_buffer.h를 include 하면 된다. (node-v0.x.y.tar.gz의 src/node_buffer.h) - 처음에 Buffer라는 클래스를 사용하길래 어디있지 생각했는데, node.h만 include한다고 되는 것이 아니였다. - 어차피 node.lib를 이용해서 빌드할 것이라면 node_buffer...