C# 7

잘 만났다! Xamarin.Android과 Genymotion

Xamarin.Android를 설치하면 기본으로 GNote라는 안드로이드 에뮬레이터라는 것이 사용되는데, 겸손하게도 실행시킬 때, 엄청 느리니 각오하라는 메세지가 띄울 정도이며, 실제 엄청나게 굼뜹니다. 그래서 보통 실제 안드로이드 기기를 연결해서 디버깅을 하지요. 안드로이드 개발자 정경호씨와 이야기 하던 중, 지니모션(Geny motion)이란 안드로이드 에뮬레이터가 있는데 겁나게 빠르다며 입에 침이 마르게 칭찬을 하는 것이었습니다. 그래서 써보니, 우왕ㅋ굳ㅋ! 여러분도 써 보세요! Genymotion 사용하기 아래 링크에 방문하셔서 Genymotion을 다운로드 받아 설치하십시오. http://www.genymotion.com/ 다운로드 받는 과정에서 사용자 등록(Registration)을 하게 되구..

Xamarin 2014.01.23

윈도우8: 초성검색 확장메서드 by 모다(홍준모)

초성검색 윈도우8 스토어앱 개발에 사용할 수 있는 모다(홍준모)님의 한글초성검색 라이브러리를 소개합니다. 모다님께서 페북 윈도우8 관심그룹 등에서 공개하신지는 수개월 흘렀습니다만, 막상 쓸려고 하면 google등에서 검색이 잡히지 않아, 검색 결과에 좀 잡히라고 이렇게 포스트를 쓰고 있습니다. string의 확장 메서드로 KEqual, KContains를 지원해서, 개발자들이 손쉽게 초성 검색을 활용할 수 있게 합니다. string keyword = "ㅇㄱㅂ"; List words = GetWords(); var exactMatchs = words.Where(c=>c.KEqual(keyword)); var containingMatchs = words.Where(c=>c.KContains(keyword))..

Metro/Windows 8 2013.01.17

C# : LinqToXml 편리한 확장메서드(Extension Method) 만들기

상황 LinqToXml을 쓰다보면, 엘리먼트나 어트리뷰트가 없는 경우에 대해 null 체크를 귀찮을 정도로 많이 해줘야 안전한 코드가 된다는 것에는 동의하실 겁니다. 예를 들면 이런 코드죠. var q = from c in xDocument.Descendants("appGroup") select new AppGroup() { Id = c.Attribute("id") == null ? "" : c.Attribute("id").Value, Name = c.Element("name") == null ? "" : c.Element("name").Value, Children = GetApps(c), }; Element나 Attribute가 존재하지 않을 때는 string.Empty를 반환하는 메서드가 있으면 얼마..

Metro/Windows 8 2012.08.30

실버라이트 : 커스텀컨트롤 제작 시 템플릿 파츠 코드스니펫

실버라이트뿐만 아니라 WPF, 윈도우폰 등에서 광범위하게 사용될 수 있죠. 평소 귀찮은 반복작업들은 거의 코드스니펫 만들어 사용하는 편인데, 유독 커스텀 컨트롤 작업만큼은 무식하게 한 땀 한 땀 하고 있는 저였습니다. 이젠 만들 때가 된 것 같아서 하나 만들어 보았습니다. Download tp.snippet 제일 중요한 다운로드. 다들 아시겠지만 %USERPROFILE%\Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets 여기에 복사하시면 됩니다. Short Cut(숏컷) tp Preview 배경노란부분 두 군데만 작성하시면 되는 거예요. Completed 일부 코드는 주석에 따라 적당한 위치로 이동이동! 참~ 쉽죠? 특정 코드스니..

Silverlight/Tips 2011.12.22

키넥트 :: 32비트 드라이버 설치여부 알아내기 (C#)

public bool HasKinectDriverForWin32() { string query = "SELECT * FROM Win32_PnPSignedDriver where DeviceName like 'Kinect%'"; ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); ManagementObjectCollection mc = searcher.Get(); if (mc == null || mc.Count == 0) { return false; } return true; } 어째 좀 불안한 방법인가요? 64비트 드라이버인 경우는 어떻게 확인하는 지 아시는 분 저 좀 가르쳐 주세요.

C# :: 실행 중인 Office 2010이 32비트 버전인지 64비트 버전인지 알아내기

/// /// 오피스의 비트를 반환합니다. (현재 오피스 2010만 지원) /// /// 비트를 반환합니다. 정보를 얻을 수 없을 때는 0을 반환 public static int GetBitness() { string registryKey = "Software\\Microsoft\\Office\\14.0\\Outlook"; RegistryKey officeKey = Registry.LocalMachine.OpenSubKey(registryKey); if (officeKey != null) { string bitness = (string)officeKey.GetValue("Bitness"); switch (bitness) { case "x86": return 32; case "x64": return 64;..

In the Hood 2011.09.19

LINQ 사용 시 동적으로 where 문을 작성하고 싶을 때

구글링을 열심히 한 결과, stackoverflow.com에서 답을 찾았네요. PredicateBuilder 클래스를 활용하라는 답이 가장 호응이 좋았는데요. 아래 O'Reilly에서 나온 C# 3.0 IN A NUTSHELL 사이트의 어떤 페이지로 이끌더군요. 원문은 그곳을 참조하시면 됩니다. Dynamically Composing Expression Predicates 자신의 프로젝트에 아래와 같이 PredicateBuilder 클래스를 추가하고, using System; using System.Linq; using System.Linq.Expressions; using System.Collections.Generic; public static class PredicateBuilder { public..

Silverlight/Tips 2009.11.17