본문 바로가기

Programing

(403)
Community.CsharpSqlite 사용하기 버그1. 시간타입 문제 DEFAULT가 걸려있는 컬럼에 데이터를 넣으면 2012-12-30 로 들어가는 이상한 현상이 있었다. LINQ를 쓸때의 문제인가 생각했는데 SQLiteClient를 직접사용할 때도 동일한 현상이 발생했다. http://code.google.com/p/csharp-sqlite/ 의 Download에서 zip 파일을 받으면 아래와 같이 여러 디렉토리로 나뉘어 있다. 이중 필수는 Community.CsharpSqlite 디렉토리의 프로젝트에서 만들어지는 Community.CsharpSqlite.dll 파일이다.하지만 이 라이브러리는 SQLite를 저차원으로 구현해 놓은 것이라 바로 사용하기는 어렵다. 위에 녹색박스가 있는데 Community.CsharpSqlite.SQLiteClien..
.NET DLL 이나 어셈블리(assembly)에서 public key 구하기 .NET DLL 이나 어셈블리(assembly)에서 public key 구하기 sn.exe 에 -T 옵션을 붙여 실행하면 구할 수 있다.> C:\WINNT\Microsoft.NET\Framework\v3.5>sn -T EdmGen.exe ref. How to find public key token for a .NET DLL or assembly
Microsoft SQL Server Compact C#으로 임베디드 DB를 알아보던중 SQL Server Compact와 SQLite를 후보에 두었다.현재 나와 있는 버전은 4.0.하지만 내가 사용하고 있는 개발도구 VS2008 SP1에서는 3.5버전 밖에 Server Explore에서 지원을 하지 못한다.4.0은 VS2012에서 지원이 된다고 한다. 라이브러리 다운 - SQL Server Compact Edition 대문 - 현재 4.0버전을 받을 수 있다. - Microsoft SQL Server Compact 3.5 Service Pack 2 for Windows Desktop - SSCERuntime-ENU.exe MSDN - SQL Server Compact 4.0 and Visual Studio :: Visual Studio 2012 - SQ..
SQLite for .NET SQLite는 모바일 장치 - 특히 스마트 장치가 나오면서 유명해진 것 같다.안드로이드나 아이폰 등에서는 기본적으로 SQLite의 사용을 할 수 있는 라이브러리가 OS에서 지원을 한다.사실 SQLite는 리차드 힙(Richard Hipp) 박사에 의해 2000년 8월에 SQLite 1.0이 나왔다. 다양한 플랫폼과 다양한 언어로 포팅이 되어 있어 인기가 있는 오픈소스프로젝트라는 것의 예이다. .NET을 위한 위한 래퍼들도 존재를 하는데,MyBatis에서 지원하는 것은 두 가지이다. - SQLite3 Finisar : SQLite.NET (2006-11-25 23:46 이후로 업데이트 중지) -> ADO.NET 2.0 Provider for SQLite (마지막 업데이트 2010-12-10) VS2008 ..
[WPF] 이벤트(Event) 시기 EventTrigger의 경우 RoutedEvent 속성에 이벤트가 발생할 상황을 적을 수 있다.버튼일 경우 Button.Load : 버튼이 로딩시 Button.Click : 버튼이 클릭시
[WPF] 변환(Transform)의 종류 총 5개의 종류의 Transform이 있다.Rotate TransformScale TransformSkew TransformTranslate TransformMatrix Transform 클래스별로 계층화하면 아래와 같다. (출처: WPF 2D Transformations :: CodeGuru) 동시에 여러개의 변환을 할 필요가 있을 경우에는 TransformGroup으로 묶으면 된다. 위의 그림에도 나와 있지만 MatrixTransform은 단독으로만 쓸 수 있다. ref. Transformation in WPF 2011.05
Debug.Assert를 이용한 로깅 Debug.Assert는 원래 Release 모드에서는 더 이상 동작하지 않는다. Release 모드를 위해서는 Trace.Assert가 있기 때문이다. 하지만 configuration 파일을 이용해서 프로퍼티를 수정하면 Release 모드일 경우에도 동작하게 할 수 있다고 Debug.Assert Method (Boolean, String)에 쓰여 있다.
LINQ 예제 문자열 붙이기 Aggregate와 StringBuilder를 같이 쓰면 성능도 보장하면서 표현도 괜찮아진다. string[] someData = ...string concatedString = someData.Aggregate(new StringBuilder(), (sb, data) => sb.Append(data)).ToString(); 데이터 필터 where 조건에서 걸러내면 된다. &&로 결합하면 이상하게 되니 연달아 쓰길 권장한다. // 0x00 값을 제외하기, 가져올 때는 string 타입으로 가져왔다.byte[] someData = ...var filtered = from byte b in someData where b != 0x00 select Char.ConvertFromUtf32(b);