일반

선언적 코드를 사용한 ASP.NET Web API 데이터 검사

May 9, 2015 Blog

일반적으로 선언적(declarative) 코드는 명령형 코드에 비헤 가독성이 높고 테스트하기 쉬우며 코드의 양도 더 적습니다. System.ComponentModel.DataAnnotations 네임스페이스는 데이터를 검사하는 ValidationAttribute 하위 특성(attributes) 집합을 제공하며 이 특성들을 사용하면 데이터의 유효성을...

선언적 코드를 사용한 ASP.NET Web API 데이터 검사

May 9, 2015 Blog

일반적으로 선언적(declarative) 코드는 명령형 코드에 비헤 가독성이 높고 테스트하기 쉬우며 코드의 양도 더 적습니다. System.ComponentModel.DataAnnotations 네임스페이스는 데이터를 검사하는 ValidationAttribute 하위 특성(attributes) 집합을 제공하며 이 특성들을 사용하면 데이터의 유효성을...

Xamarin.iOS 제한된 제네릭 지원

February 28, 2015 Code

시작하기 어쩌다보니 당찮게도 모바일 서비스 스타트업에 CTO(라고 쓰고 ‘기술 잡부’라고 읽는다) 타이틀로 합류한지 몇 달 되었습니다. 그런데 함정은 제가 합류 당시 모바일 개발 경험이 전혀 없었다는 것입니다. 모바일...

JavaScript의 privileged 메서드가 끔찍한 이유

June 27, 2014 Blog

예제 코드가 약간의 오해의 소지를 가지고 있어 조금 수정했습니다. – 2014년 6월 29일 - 요즘 가장 뜨거운 관심을 받고있는 프로그래밍 언어인 JavaScript는 정보 보호(또는 은닉, information hiding)를 언어...

ASP.NET Identity 사용자 모델 확장

April 29, 2014 Blog

5/15/2014 추가 Microsoft ASP.NET Identity EntityFramework 패키지가 2.0.1 버전으로 업데이트 되었습니다. IdentityUser 클래스에 이메일 주소가 포함되었고 UserValidator 클래스를 사용해 이메일 주소 중복 여부를 검사할 수 있습니다. 사용자 모델...

ASP.NET에서 JSON 정적 컨텐트 노출

April 25, 2014 Blog

현재 ASP.NET 웹 응용프로그램은 기본적으로 확장자가 json인 파일에 대한 MIME 맵이 설정되어있지 않습니다. 그래서 브라우저에서 JSON 정적 컨텐트에 접근하려하면 404.3 상태가 반환됩니다. HTTP Error 404.3 - Not Found The...

TPL 소개 세미나 슬라이드 및 데모 코드

March 19, 2014 Blog

Introduction to TPL 지난 주 회사 팀에서 발표한 TPL(Task Parallel Library) 소개 세미나 자료입니다. Future 디자인 패턴, Thread와 Task의 차이, 비동기(IAsyncResult) Task, PLINQ(Parallel LINQ) 등을 간략히 설명합니다. 슬라이드 원본...

Thrift# – 특성 기반 .NET Thrift 클라이언트 라이브러리

March 9, 2014 Blog

개요 Apache Thrift는 Facebook에서 개발되어 Apache에서 오픈 소스화된 통신 프레임워크로 다양한 프로그래밍 언어로 개발된 구성요소 사이의 인터페이스를 제공하는 역할을 합니다. 며칠 전 회사 팀에서 Thrift를 위한 .NET 클라이언트 라이브러리인 Thrift#에...

플래그 데이터와 이진 연산

March 9, 2014 Blog

개요 얼마 전 Justin Yoo님의 논리 연산자와 이진 연산자의 차이에 대한 블로그 포스트가 그 분의 의도와는 다르게 페이스북 ‘생활코딩’ 그룹에 콜로세움(?)을 세운 사건이 있었습니다. 저는 포함되지 않아서 아쉬운...

웹 서버 개발 플랫폼의 역할과 위치

January 27, 2014 Blog

w3techs.com은 웹 기술에 대한 조사 결과를 공유하는 사이트입니다. 이곳에서 웹 서버 개발 플랫폼의 시장 위치에 대한 보고서를 읽고 ASP.NET 개발자 입장에서 느낀점을 정리합니다. 저의 웹 개발 환경 경험은 ASP.NET...

동적 Linq 연산 #2 – Where

January 20, 2014 Blog

지난 포스트에 이어… 지난 포스트에서 런타임에 동적으로 결정되는 속성 이름을 사용한 시퀀스 정렬과 CreateDelegate 메서드를 사용한 최적화 방법에 대해 살펴봤습니다. 정렬 작업과 더불어 Linq에서 가장 많이 사용되는 연산은...

프로그래밍 리소스 브리핑 – 2014 #1

January 8, 2014 Blog

목록 JavaScript koa.js – ES6 generator 기반 Node.js 웹 응용프로그램 프레임워크 Grunt Devtools – Grunt를 위한 Chrome 개발 도구 확장 node-webkit - Chromium과 Node.js 기반의 데스크탑 응용프로그램 개발 도구...

가볍고 편리한 개발 도구 Brackets

December 14, 2013 Blog

Brackets 얼마 전 정말 별 상관없는 내용에 대해 구글링하다가 우연히 MIT 라이선스의 다중 플랫폼(Linux, OS X, Windows) 지원 웹 개발 도구 Brackets(brackets.io)를 알게 되었습니다. 최근 이래 저래 자주...

Sublime Text에서의 Grunt 빌드

November 18, 2013 Blog

개발 도구로 Sublime Text를 사용한다면 빌드 시스템을 작성해서 코드를 빌드 할 수 있습니다. Grunt를 사용하여 Node.js 응용프로그램을 개발할 때에도 Sublime Text에 빌드 시스템을 등록하면 편리합니다. 이 포스트는 Sublime Text...

AngularJS 초보자의 삽질 2(failed to proxy…)

October 28, 2013 Blog

공식 튜토리얼을 따라하며 재밌게 AngularJS를 배우고 있습니다. 3단계 예제에서 보여준 뷰 계층만을 위한 데이터 바인딩은 WPF와 Silverlight에서 많이 봐왔지만 KnockoutJS는 지원하지 않는 멋진 기능입니다. End-to-end 테스트 역시 저로서는 처음...

Knockout과 Mocha를 사용한 TDD기반 웹 개발

October 21, 2013 Blog

개요 국내에서도 다소 늦었지만 TDD가 주목 받고 있습니다. UI를 포함하는 프로그램의 경우 Coded UI Test 등의 기술이 발전되고 있지만 MVVM 디자인 패턴을 적용할 경우 UI의 많은 부분을 전통적...