월간 보관물: 2014 1월

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

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

저의 웹 개발 환경 경험은 ASP.NET 75%, Java 15%, 기타 10% 정도 될 것 같습니다.

2014년 1월 26일 기준 상위 5개 웹 서버 개발 플랫폼에 대한 차트를 보면 눈에 띄는 3가지가 있습니다.

  1. PHP의 넘사벽 점유율
  2. 그 뒤를 따르는 ASP.NET의 높은 점유율
  3. Java로 개발된 사이트의 높은 트래픽

계속 읽기

Internet Explorer 11에서의 ASP.NET 응용프로그램 쿠키 문제

Internet Explorer 11에서 ASP.NET 응용프로그램의 쿠키를 사용하지 못하는 현상이 많이 발생한다고 합니다. 저희 팀에서 관리하는 사내 관리 프로그램에서도 동일한 문제가 발생했습니다. 사이트에 로그인을 하면 세션키가 쿠키가 아닌 URL에 포함되어 리다이렉트되었습니다. 이것은 ASP.NET이 클라이언트가 쿠키를 사용할 수 있는 환경이 아니라고 판단했을 때의 현상이죠. 원인은 ASP.NET이 Internet Explorer 11의 User-Agent를 웹 브라우저로 인식하지 못하기 때문입니다. ASP.NET이 Internet Explorer 11과 몇몇 모바일 브라우저의 User-Agent를 인식하지 못하는(못했던) 것은 알려져 있는 문제입니다.

http://blogs.msdn.com/b/cjacks/archive/2013/07/02/troubleshooting-and-fixing-session-cookie-problems-in-ie11.aspx

제가 조사한 해결책은 아래 두 가지입니다.

1. .NET Framework 업데이트 설치 – http://support.microsoft.com/kb/2836939
2. 명시적으로 쿠키를 지원하지 않는 환경에서도 쿠키 사용을 강제하도록 설정 – http://botsikas.blogspot.kr/2013/09/ie11-and-aspnet-session-cookies.html

회사에서의 문제는 내부에서만 사용되는 사이트라 2번 방법을 사용해 간단히 해결했습니다.

동적 Linq 연산 #2 – Where

지난 포스트에 이어…

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

계속 읽기

동적 Linq 연산 #1 – OrderBy

배경

최근에 codeproject.com에서 정렬 키 속성 이름을 입려받아 동적으로 시퀀스에 OrderBy 연산을 적용하는 방법에 대한 포스트를 접했습니다. 데이터를 보여주고 분석하는 프로그램에서 동적으로 속성을 입력받는 상황은 흔히 발생합니다. 실제로 몇 주 전에 팀 동료로부터 서비스 프로그램에서 외부 컴포넌트에서 입력받는 값에 따라 지정된 속성으로 데이터를 필터링하는 방법에 대한 문의를 받은 적이 있습니다. 두 개의 포스트를 통해 이러한 상황에서 사용할 수 있는 정렬과 필터링 연산에 대해 정리해 봅니다.

계속 읽기

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

목록

JavaScript

  1. koa.js – ES6 generator 기반 Node.js 웹 응용프로그램 프레임워크
  2. Grunt Devtools – Grunt를 위한 Chrome 개발 도구 확장
  3. node-webkit – Chromium과 Node.js 기반의 데스크탑 응용프로그램 개발 도구
  4. Breeze – JavaScript 데이터 접근 프레임워크
  5. Knockout.js Lesson – KnockoutJS 동영상 강의 시리즈
  6. A comparison of the two-way binding in AngularJS, EmberJS and KnockoutJS – Angular, Ember, Knockout의 two-way 바인딩에 대한 비교
  7. Node.js Tools for Visual Studio – Visual Studio의 Node.js 개발 도구
  8. Warming up with Ember.js – Code School의 Ember.js 강좌
  9. Edge.js – 단일 프로세스 내에서의 Node.js 코드와 .NET 코드 조합

.NET Framework

  1. C# for System Programming – Microsoft에서 높은 성능과 생산성을 목표로 준비중인 C# 기반의 새로운 언어
  2. .NET Fiddle – C#과 Visual Basic 용 fiddle 서비스
  3. JNBridge – 공유 메모리와 TCP 기반 Java와 .NET의 interop 솔루션
  4. C#을 싫어하는 이유, C#을 좋아하는 이유 – C#을 싫어하고 좋아하는 이유에 대한 질문과 답변들
  5. MVC interview questions with answers – ASP.NET MVC 취업 인터뷰 예상 질답 모음
  6. Entity Framework 5 vs. NHibernate 3.3 with Oracle 11g – Oracle 사용에 있어서의 Entity Framework과 NHibernate 비교
  7. one true error – 응용프로그램 오류 관리 서비스

기타

  1. ‘성당과 시장’ 번역서 무료 배포
  2. Visual Studio Online “Monaco” – 웹에서 실행되는 클라우드 Visual Studio의 첫 모습
  3. bento – 각종 웹 기술 학습 정보를 정리해 제공하는 사이트

계속 읽기

Angular, Ember, Knockout 양방향(two-way) 바인딩 비교 + Knockout 비동기 렌더링 해법

Two-way Binding in MVVM Frameworks

JSConf 2013에서 발표된 대표적인 웹 클라이언트용 MVVM(Model-View-ViewModel) 프레임워크인 Angular, Ember, Knockout의 양방향(two-way) 바인딩에 대한 비교 발표입니다. 요즘 많이 주목받는 SPA(Single-Page Application)에 빠질 수 없는 것이 MVVM 또는 MVW(Model-View-Whatever) 프레임워크이죠. 20분 정도의 길지 않은 발표이지만 발표자 Marius Gundersen의 깊은 고민의 흔적이 느껴지며 각 프레임워크별 양방향 바인딩의 장단점을 쉽고 간결하게 설명합니다. 컨퍼런스 성격 답게 슬라이드는 impress.js를 사용해 웹에서 직접 실습 가능하도록 멋지게 만들어 졌습니다.

계속 읽기