프로그래밍 리소스 브리핑 – 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 – 각종 웹 기술 학습 정보를 정리해 제공하는 사이트

JavaScript

koa.js

비동기 코드 작성에 ES6 generator를 사용하는 라이브러리들이 곧 쏟아질 것이라 예상했지만 제 생각보다 훨씬 빠르게 등장한 Node.js 웹 프레임워크입니다. Node.js 프로그래머들이 콜백 지옥을 벗어날 때가 빠르게 다가오고 있네요. koa.js를 사용하려면 Node.js 버전 0.11.9 이상에서 --harmony 플래그를 사용해야합니다.

다음은 generator를 이용한 koa.js 예제입니다.

var koa = require('koa');
var Q = require('q');
var request = Q.denodeify(require('request'));
var app = module.exports = koa();

app.use(function *(){
    var response = yield getHttpRequest('https://twitter.com/shijucv');
    this.body = response.body;
});

function *getHttpRequest(url) {
    var resultParams = yield request(url);
    return resultParams[0];
}

app.listen(3000);
console.log('listening on port 3000');

http://koajs.com/
http://weblogs.asp.net/shijuvarghese/archive/2014/01/06/koa-js-next-generation-web-framework-for-building-node-js-apps-without-callback-hell.aspx – 소개
http://wiki.ecmascript.org/doku.php?id=harmony:generators – ES6 generator 위키
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators – MDN iterator와 generator 설명
Javascript의 미래, 그리고 C#의 현재 – 비동기 프로그래밍

Grunt Devtools

Grunt 작업 실행을 도와주는 Chrome 개발자 도구와 Brackets를 위한 확장입니다. GUI 도구로 Grunt 사용성을 높이고 하나의 윈도우로 여러 프로젝트의 작업을 처리할 수 있습니다.

https://github.com/vladikoff/grunt-devtools
https://chrome.google.com/webstore/detail/grunt-devtools/fbiodiodggnlakggeeckkjccjhhjndnb – Chrome Web Store

node-webkit

Chromium과 Node.js 기반의 데스크탑 응용프로그램 개발 도구입니다. Linux, OSX, Windows를 지원합니다. 다양한 Node.js 모듈과 WebGL 등 웹 클라이언트 기술이 시너지를 만들어 낼 수 있습니다.

https://github.com/rogerwang/node-webkit
https://github.com/rogerwang/node-webkit/wiki/List-of-apps-and-companies-using-node-webkit – 개발된 응용프로그램 목록
http://net.tutsplus.com/tutorials/javascript-ajax/introduction-to-html5-desktop-apps-with-node-webkit – 개발 방법 소개

Breeze

Breeze는 편리한 JavaScript 데이터 접근 프레임워크입니다. Linq와 유사한 쿼리 작성, 클라이언트 캐싱, promise 기반 비동기 입출력을 지원하며 AngularJS, KnockoutJS 같은 MVW 프레임워크와 잘 동작합니다. Node.js는 아직 MongoDB만 지원하지만 점차 확대 지원될 계획을 가지고 있습니다. 다양한 예제와 온라인 학습 페이지가 제공되어 접근하기 어렵지 않습니다.

http://www.breezejs.com/
http://learn.breezejs.com/ – 온라인 학습

Knockout.js Lesson

웹 클라이언트 용 JavaScript MVVM 프레임워크인 KnockoutJS 동영상 강의 시리즈입니다. KnockoutJS는 WPF에서 시작된 Model-View-ViewModel 디자인 패턴을 웹 응용프로그램 개발에 적용시킨 선구자 역할을 한 프레임워크입니다. 각 레슨은 5분에서 10분 내외로 되어있습니다. 현재 연재의 마지막 레슨인 시리즈 요약만이 남겨져 있는 상태입니다.

http://tech.pro/tutorial/1562/knockoutjs-lesson-1-introduction

A comparison of the two-way binding in AngularJS, EmberJS and KnockoutJS

대표적 웹 클라이언트 MVW 프레임워크인 Angular, Ember, Knockout의 two-way 바인딩에 대한 비교를 다룬 프레젠테이션입니다. 내용이 이해하기 쉽고 간결해서 좋네요. 컨퍼런스 성격 답게 슬라이드는 impress.js를 사용해 웹에서 직접 실습 가능하도록 멋지게 만들어 졌습니다.

http://2013.jsconf.eu/speakers/marius-gundersen-a-comparison-of-the-twoway-binding-in-angularjs-emberjs-and-knockoutjs.html
https://justhackem.wordpress.com/2014/01/02/angular-ember-knockout-two-way-binding/
 – 프레젠테이션 요약과 KnockoutJS 비동기 렌더링 팁

Node.js Tools for Visual Studio

IDE의 제왕(?) Visual Studio에서 Node.js 프로그램을 개발할 수 있게 해주는 도구입니다. Node.js의 높은 위상을 보여주는 또 하나의 사례라고 생각됩니다. 코드 편집은 물론 intellisense, npm, 로컬 및 원격(Windows Azure 포함) 디버깅을 지원합니다. 아직까지는 알파 버전이고 안타깝지만 현재 Visual Studio Express에서는 사용할 수 없습니다.

https://nodejstools.codeplex.com/
http://www.hanselman.com/blog/IntroducingNodejsToolsForVisualStudio.aspx – Scott Hanselman의 Node.js Tools 소개

Warming up with Ember.js

Code SchoolEmber.js 강좌가 열렸습니다. Ember.js는 InfoWorld가 선정한 2014년 최고의 기술에 포함되기도 한(… 네, 저도 저 자리에 Angular가 들어갈 줄 알았습니다…) JavaScript로 만들어진 웹 클라이언트 MV* 프레임워크입니다.

http://ember.codeschool.com/

Edge.js

Edge.js는 하나의 프로세스에서 Node.js와 .NET 코드가 실행되도록 해주는 Node.js 패키지입니다. Edge.js를 사용하면 Node.js 코드에서 .NET 코드를 실행할 수도, .NET 코드에서 Node.js 코드를 실행할 수도 있게됩니다. 현재 .NET 언어는 C#, F# 그리고 IronPython을 지원합니다. 앞으로 Mono를 통해 Linux에서도 구동되는 모습도 가능하지 않을까 기대해 봅니다.

// server.js
var edge = require('edge');

var helloWorld = edge.func('async (input) => { return ".NET Welcomes " + input.ToString(); }');

helloWorld('JavaScript', function (error, result) {
    if (error) throw error;
    console.log(result);
});
> node server.js
.NET welcomes JavaScript

http://tjanczuk.github.io/edge/

.NET Framework

C# for System Programming

Microsoft에서 수년간 C# 기반의 시스템 프로그래밍을 위한 새로운 언어를 준비중라고 합니다. 내년 중에는 실제 코드를 볼 수 있을 듯 하네요. 정말 성능과 생산성 두 마리 토끼를 모두 잡을 수 있을런지 궁금합니다.

2013 Language Quadrants

http://joeduffyblog.com/2013/12/27/csharp-for-systems-programming/

.NET Fiddle

.NET 프로그래밍 언어용 fiddle 서비스입니다. Visual Studio에서 임시 프로젝트 만들고 지우기에 지친 ENTech Solutions의 개발자들이 http://jsfiddle.net의 영향을 받아 만들었다고 합니다. 현재 언어는 C#과 Visual Basic을 사용할 수 있고 아직은 극소수의 패키지뿐이지만 얼마전부터 NuGet 지원이 시작되었습니다.

http://dotnetfiddle.net/
https://justhackem.wordpress.com/2013/11/25/net-fiddle/ – 간단 리뷰

JNBridge

공유 메모리와 TCP 기반 Java와 .NET의 interop 솔루션입니다. JNBridge를 사용하면 두 플랫폼간 상호운용성을 기반한 다양한 작업을 할 수 있습니다. 예를 들어, HBase 맵리듀스를 처리하는 .NET Linq 제공자를 만들 수 있습니다.

http://www.jnbridge.com/

C#을 싫어하는 이유, C#을 좋아하는 이유

.NET 프로그래밍 언어의 수장 격인 C#을 싫어하는, 또 좋아하는 이유에 대한 Quora에서 수집된 답변들입니다. 다양한 이유들이 있는데 개인적으로 가장 재미있는 답변은 싫어하는 이유 중 ‘Java를 넘어선 가장 정교한 관리 언어지만 Microsoft 기술이라서’입니다. 참고로 페이스북에서 어떤 분들이 Visual Studio가 비싸서 아쉽다는 의견을 주셨는데, C#을 즐기기에는 무료 도구인 Visual Studio Express도 충분하다는 생각입니다.

http://www.quora.com/Computer-Programming/Why-do-some-people-hate-C – C#을 싫어하는 이유
http://www.quora.com/Microsoft/Why-do-you-love-C – C#을 좋아하는 이유

MVC interview questions with answers

ASP.NET MVC 취업 인터뷰 예상 질답 모음입니다. 취업이 목적이 아니라도 알아두면 무척이나 유익한 내용들입니다.

http://www.codeproject.com/Articles/556995/MVC-interview-questions-with-answers

Entity Framework 5 vs. NHibernate 3.3 with Oracle 11g

Oracle 사용에 있어서의 .NET의 대표적 ORM 프레임워크인 Entity Framework 5와 NHibernate 3.3에 대한 비교 자료입니다. 결론은 주저 없이 NHibernate입니다. Entity Framework가 너무 MS SQL Server 친화적일까요? 각 프레임워크의 최신 버전인 Entity Framework 6과 NHibernate 4.0(현재는 alpha)라면 결과가 어떻게 달라질까요? 여유가 되면 해보고 싶네요.

http://www.codeproject.com/Articles/690090/Entity-Framework-5-vs-NHibernate-3-3-with-Oracle-1

one true error

.NET 응용프로그램의 오류 관리 클라우드 서비스입니다. 간단한 설정으로 응용프로그램의 오류를 기록하고 분석하거나 알림을 받을 수 있습니다. 설정은 매우 간단한데, 예를 들어 ASP.NET 응용프로그램의 경우 아래와 같은 짧은 코드로 모든 설정이 완료됩니다.

OneTrue.Configuration.CatchAspNetExceptions();
OneTrue.Configuration.AddSubmitter(
    new ReportToOneTrueError("yourAppKey", "sharedSecret")
);

ASP.NET 이외에도 WCF, WPF 등 몇 가지 플랫폼을 지원합니다. 가벼운 무료 정책도 제공하니 학습 목적이나 스타트업에서 시험해 보기에도 좋을 것 같습니다.

http://onetrueerror.com/

기타

‘성당과 시장’ 번역서 무료 배포

‘성당과 시장’ 번역서가 한빛미디어 홈페이지에서 회원가입이나 로그인 없이 무료로 내려받을 수 있게되었습니다.

http://www.hanb.co.kr/ebook/look.html?isbn=9788968486562
http://catb.org/esr/writings/cathedral-bazaar/
 – 원저자(에릭 레이먼드)의 홈페이지

Visual Studio Online “Monaco”

웹 에서 구동되는 클라우드 버전 Visual Studio의 첫 모습입니다. 웹 브라우저만 있으면 ASP.NET 또는 Node.js 프로젝트를 어디서나 편집하고 빌드하고 배포할 수 있습니다. 현재 Windows Azure에 배포된 프로젝트만을 대상으로하고 Team Foundation Service에서 바로 연결할 수는 없습니다. 아직은 코드 편집, 빌드 및 배포, 형상 제어 등 제한적인 핵심 기능만을 포함하지만 곧 Visual Studio 이름에 걸맞는 환경이 제공될 것이라 예상해 봅니다.

참고로 기존 클라우드 IDE는 Cloud9, Koding, Nitrous, Codenvy, 구름 등이 있습니다.

http://www.visualstudio.com/en-us/products/visual-studio-online-overview-vs – Visual Studio Online 개요
http://channel9.msdn.com/Series/Visual-Studio-Online-Monaco – Channel 9 시리즈

bento

웹 개발에 사용되는 기술에 대한 학습 자료를 분류별로 정리해 제공하는 사이트입니다. HTML은 물론 Git, Node.js, Angular, d3, Mongo, Lightswitch 등 내용이 광범위합니다. 대체적으로 숙련자 보다는 각 분야의 초보자에게 적합한 정보를 다룹니다.

http://www.bentobox.io/

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중