월간 보관물: 2013 12월

JavaScript의 미래, 그리고 C#의 현재 – 비동기 프로그래밍

Promise

얼마전 JavaScript의 promise 구현에 대한 멋진 글을 읽었습니다. 마음 같아서는 당장이라도 한국어로 번역해 널리 퍼뜨리고 싶을 정도로 내용이 알차고 이해하기 쉽게 쓰여진 글이었지만 제 허접한 영어 실력이 허락하지 않았습니다. 다행스럽게도 이미 뛰어나신 분들이 번역 작업에 착수한 것으로 알고있습니다. 곧 많은 국내 프로그래머들에게 제공되겠죠.

많은 내용 중에도 개인적으로 유독 눈길이 가는 부분이 있었는데 바로 ‘Bonus round: Promises and Generators’ 섹션이었습니다. 현재 ES6(ECMAScript 6 Specification)에 포함되기 위해 실험단계에 있는 generator라는 기능이 소개되는데, 새로운 키워드인 yield를 사용해 함수의 코드 진행을 제어하는 기법입니다. 이 기능을 이용해 비동기 코드를 마치 동기식 프로그램처럼 작성할 수 있습니다. 많은 분들이 이 멋진 기능에 눈길이 가셨을텐데요, 저 역시 마찬가지입니다. 하지만 저같은 경우는 눈길이 갔던 이유가 하나 더 있습니다. 바로 C#이 가진 기능과 너무도 닮아있었기 때문입니다.

계속 읽기

Advertisements

Entity Framework Code First 데이터베이스 삭제

Entity Framework Code First를 사용해 ASP.NET 개발을 하는 과정 중 데이터베이스를 완전히 삭제하고 새로 생성하고 싶을 때가 있습니다. 이때 App_Data 폴더의 파일을 삭제하는 것만으로는 충분하지 않습니다. 이렇게만 하면 Entity Framework Code First가 데이터베이스를 다시 생성하지 못합니다. 데이터베이스 서버에서 관련된 정보를 깨끗하게 삭제해야 합니다. Visual Studio에서 이 작업을 처리할 수 있습니다.

계속 읽기

C# 발전 과정 세미나 슬라이드 및 데모 코드

최고의 프로그래밍 언어가 무엇이냐는 물음에 답은 못하겠지만, C#이 가장 현대적으로 발전된 언어 중 하나라는 의견에 전적으로 동의합니다. C#은 급변하는 소프트웨어 환경의 요구에 발빠르게 대응해 왔습니다. 특히 Linq는 프로그래밍 언어가 데이터를 다루는 새로운 패러다임을 제시했으며 최근 버전에 포함된 await 키워드는 제가 다뤄본 그 어떤 언어보다 비동기 프로그래밍 과제를 멋지게 풀어냅니다.

계속 읽기

가볍고 편리한 개발 도구 Brackets

Brackets

얼마 전 정말 별 상관없는 내용에 대해 구글링하다가 우연히 MIT 라이선스의 다중 플랫폼(Linux, OS X, Windows) 지원 웹 개발 도구 Brackets(brackets.io)를 알게 되었습니다. 최근 이래 저래 자주 사용하게 된 Node.js를 다루는 데에도 아주 편리해 보여서 바로 설치해 사용해 보고 짧은 사용 경험을 정리해 봤습니다.

Brackets

계속 읽기

Parallels 호스트 MongoDB를 localhost로 접속

저는 개인 개발 장비로 MacBook Pro를 2년 정도 사용하고 있습니다. Node.js와 Java 개발을 하거나 MongoDB, RabbitMQ, Storm, Redis등의 도구를 설치하고 사용하기에 OS X는 만족스러운 환경을 제공해줍니다. 물론 Windows에서도 가능하지만 개인적인 경험으로는 OS X가 환경 구축하기에 조금 더 수월했던 것 같습니다.

하지만 전 오랜 시간을 Visual Studio의 노예로 살아왔고 여전히 .NET 프로그래밍을 즐깁니다. 다행히도 Parallels가 있기에 전력 소모가 심하긴 하지만 MacBook에서도 Visual Studio를 사용하기에 큰 불편함은 없습니다.

계속 읽기