본문 바로가기

Programming

log4net MS Enterprise library (EntLib)를 사용하기 싫어서, log4net을 쓰려고 열심히 찾아보고 테스트해 보았는데 지속적으로 Exception 이 발생하는 현상이 발생하였습니다. 확인 결과, 예상치 못한 포인트에서 문제를 일으켰는데... 원인은 .Net 4.5 였습니다. 공식적으로 log4net은 4.0까지 지원합니다. 4.5에서도 실행은 할 수 있으나 이러한 내용 때문에 .config 파일의 아래 설정에 의해서 실행할 수 없게 됩니다. Test 때는 위의 설정을 빼서 실행되는 것을 확인했으나, 불안요소라서 제품에 적용할 수는 없겠네요. 검토 결과 어떤 logger가 가장 우수하냐는 건 개발자들 사이에서 진부한 논쟁거리인 것 같습니다. EntLib는 MS의 지원이 가장 큰 무기인데 상대.. 더보기
BOM issue (65279 '') XmlSerializer를 이용해서 개체를 저장하는 방식을 자주 사용하는데, 갑자기 desirialize를 위한 parsing이 제대로 되지 않는 issue를 접하게 되었습니다. 파일이 손상되었는 지, 다른 logic이 변경되었는 지를 열심히 확인하였지만... 그런 건 없었구요. (내 반나절... ㅜㅠ) 문제의 원인은 UTF8로 encoding한 xml파일의 앞쪽에 BOM(Byte Order Mark)가 포함되어 있는 것이 었습니다. Paser에서 ' 더보기
문서변환 BYOD (bring your own device) 시대가 되다보니 mobility security 는 꽤 이슈가 됩니다. 문서를 열람하는 경우, 보편적으로 그 content의 security level과는 무관하게 mobile로 제공하려는 요구하는 것 같습니다. 당최 secret 문서를 mobile로 제공하겠다는 발상 자체을 이해하고 싶지는 않지만... 그러다보니 모든 문서는 동일한 level의 보안 절차를 거쳐서 user에게 제공하는데, 일반적으로 office, hwp 등의 문서는 pdf내지는 image로 제공하고 이 또한 download 방식이 아닌 streaming 방식으로 제공 하는 것으로 알고 있습니다. 개발자들은 문서의 유출을 (옆에서 카메라 들고 촬영하면 그만인 것을...) 막기 위해서, .. 더보기
Oracle Stored Procedure for .Net System.Data.OracleClient is Obsolete 예전 책이나 강좌에서 소개한 OracleClient assembly는 더 이상 사용하지 않는 게 나을 듯 합니다. http://msdn.microsoft.com/en-us/library/System.Data.OracleClient(v=vs.110).aspx Oracle에서 제공하는 Oracle Data Provider for .Net이 현재 가장 권장되는 방법입니다. http://www.oracle.com/technetwork/topics/dotnet/index-085163.html 이를 통해서 Stored procedure를 수행하는 방법을 정리해 봅니다. 설치 NuGet을 통해서 다운 받습니다. Install이 완료되면 해당 proje.. 더보기
[NuGet] ImageResizer Upload한 Image의 format을 변경하거나, resize, drop 등의 가공을 할 수 있는 손쉬운 방법은 어떤게 있을까? ImageResizer라는 open source가 이를 잘 지원하는 것으로 보입니다. NuGet install PM> Install-Package ImageResizer.MvcWebConfig PM> Install-Package ImageResizer.Plugins.DiskCache PM> Install-Package ImageResizer.Plugins.PrettyGifs Sample code Instance 생성 없이 대상 파일, 변환 파일, Resize Settings를 전달하는 것으로 간단하게 사용이 가능합니다. 간단한 기능을 제공하는 Free version은 GPL.. 더보기
ASP.NET vNext ASP.NET vNext가 Windows10과 함께 공개될 것 같습니다. (그러니까 내년이네요...) 개인적으로 눈에 띄는 것을 살펴보면 MVC 6라는 단일 프레임워크로 MVC, Web API, Web Pages가 합쳐졌고,IIS가 아닌 환경에서도 호스팅이 되고,DI(Dependency Injection)이 내장되었고,가벼워졌고,하위 호환은 되지 않습니다.(MS가 6 version의 하위호환을 버리다니!!) taeyo site에서 MVC5 한글 번역서를 출간할 예정인데... Referenceshttp://www.asp.net/vnext/overview/aspnet-vnext/getting-started-with-aspnet-vnext-and-visual-studiohttp://taeyo.net/Colum.. 더보기
Tech days 2014 Korea 후기. Tech days 2014 Korea 잘 다녀왔습니다.모든 MS 개발자들이 다 모인 듯 엄청난 인파 속에서 어렵게 등록하고 참석할 수 있었습니다.관심사와는 별개인 Track 3에 참석했는데, 이 또한 유익한 시간이었습니다. Keynote – 사티아 나델라 (MS CEO)개발자 출신의 CEO로서 MS의 개발자에 대한 철학을 느낄 수 있는 기조 연설이었습니다. MS는 개발자가 더 나은 서비스를 제공할 수 있는 기반 platform으로써 역할을 핵심 가치로 생각하며, 사람의 생활을 바꿀 수 있는 힘은 개발자에게 있다는 메시지를 전달하였습니다. 지금은 폴리글랏 프로그래밍 시대 – 임백준근래의 인기 있는 언어의 특징을 살펴 보면, Functional 언어, Meta-programming, Concurrency-p.. 더보기
tech.days 2014 참석 예정 tech.days 2014에 참석하게 되었습니다.client가 약한 저로서는 track2가 매우 기대되네요. 일시: 2014.09.24장소: 삼성역 그랜드 인터컨티넨탈 http://www.microsoft.com/ko-kr/techdayskorea2014/default.aspx 더보기
dynamic 형식의 활용 Visual c# 2010에서 새롭게 소개한 dynamic 형식에 대한 활용을 검토해 보았습니다. 대부분의 예제 (msdn을 포함)에서는 COM Interop을 다루고 있는데요, 사실 이것만으로도 충분히 매력적이기는 합니다만... 진행 중인 Asp.Net MVC project의 ViewModel에 dynamic 형식을 적용해 보았습니다. client 요청에 대해 정형화된 하나의 ViewModel로 값을 반환하도록 설계하였습니다. (list, detail) 그리고 이를 GeneralViewModel 이라고 명명합니다. public class GeneralViewModel : BaseViewModel { public GeneralViewModel() { } public GeneralViewModel(int .. 더보기
프로그래머로 산다는 것 쟁쟁한 개발자들의 경험적인 이야기를 들을 수 있습니다.기술적인 얘기가 포함되지만, 메인은 아닙니다.이제 7년차 프로그래머이지만, 많은 공감을 할 수 있었고, 또 느끼고 배울 수 있었습니다. 개인적으로 이 책을 읽고 나서 몇 가지 각오를 다지게 됩니다. 1. 사회성이 중요하다.> 오지랖이 넓다는 얘기를 아내에게 종종 들으니, 꽤 괜찮다고 자평해 봅니다. :) 2. Blog를 운영하라.> 이 블로그가 책에서 얘기하는 그런 블로그이고 싶습니다. 3. 만들고 싶은 프로그램을 만들어라.> 최근에 아이 작명을 위해서 만든 게 있었고, 번역에 관련한 solution에 대한 계획을 갖고 있습니다. > 나아가 GitHub에도 발 담그려고 고민중입니다. 4. 강의를 하라.> 사내 세미나는 몇 번 해 봤는데, 정말 꼭 해보.. 더보기