The Frontend Engineer

폴리글랏 프로그래밍

폴리글랏 프로그래밍 책 표지

Polyglot Programming: 여러가지 언어(Programming Languages)를 조합하여 프로그래밍 하는 행위

프로그래밍 언어의 흥망성쇄(라이프사이클)를 통해 현대 프로그래밍 언어의 패러다임 변화. 좀 더 구체적으론 Java 언어의 보수적 판단, 정체된 상황에 대한 이야기와 C#, Scala 를 위시한 새로운 언어로의 패러다임 변화에 대한 이야기.

그 외에 여러가지 프로그래밍 언어들의 역사와 뒷이야기들, 그리고 Closure, Lambda, Generic, Mixin 등의 개념들에 대한 설명이 주를 이루고 있다.

무엇보다 Java 언어의 지나온 길이 Java 를 주 언어로 다루고 있던 우리 회사의 상황과 묘하게 닮아있는 점이 흥미로웠다.

Bootstrap with ember-cli

ember-cli 는 Ember.js 를 활용해서 SPA를 만들려고 할 때 필요한 것들 — dependency management, merge, minify, simple server, directory structure — 을 제공하는 도구다. 전신이던 ember-app-kit 시절에는 blueprint 성격으로 회자가 되었는데, command line 도구 형태로 바뀌면서 이젠 대세로 자리잡은 듯하다.

ember-cli 는 외부 package 관리는 bower, resource 관리는 broccoli (node 계열의 asset pipeline) 를 활용하고 있는데 이 환경에서 Bootstrap(+glyphicons) 을 추가하고자 한다면 아래와 같이 하면 된다.

command line:

$ bower install --save bootstrap

Brocfile.js:

var EmberApp = require('ember-cli/lib/broccoli/ember-app'),
    mergeTrees = require('broccoli-merge-trees'),
    pickFiles = require('broccoli-static-compiler');

var app = new EmberApp();
app.import('vendor/bootstrap/dist/js/bootstrap.js');
app.import('vendor/bootstrap/dist/css/bootstrap.css');
var bootstrapFonts = pickFiles('vendor/bootstrap/dist/fonts/', {
    srcDir: '/',
    destDir: '/fonts/'
});

module.exports = mergeTrees([app.toTree(), bootstrapFonts]);

Fluent 2014, “Keynote With Yehuda Katz and Tom Dale”

http://www.youtube.com/watch?v=jScLjUlLTLI

Ember.js 만든 아저씨들의 “Framework”을 바라 보는 관점에 대한 영상. 재미있는 주제와 내용인데 반해 발표 준비가 완벽하지 않았던 것 같다. Angular / Ember 에 대한 구체 사례 빼고, 이야기 하고자 하는 주요 관점만 잘 정리했어 발표했으면 더 좋았을 텐데 :)

http://googletesting.blogspot.kr/2014/07/testing-on-toilet-dont-put-logic-in.html

whereas production code describes a general strategy for computing outputs given inputs, tests are concrete examples of input/output pairs

and

When tests do need their own logic, such logic should often be moved out of the test bodies and into utilities and helper functions.

지저분한 테스트 코드는 쉽게 버려지더라구요.

codeschool: Warming Up With Ember.js

ember.js 에 대해서 살짝 알고 있는 상태여서 그런지 큰 어려움 없이 진행할 수 있었다.

생소함으로 인해 살짝 난해하게 생각될 수 있는 ember.js의 여러가지 구성요소와 개념들에 대해서 차근차근 잘 설명해준다. 각 챕터들의 구성이나 순서 그리고 설명 듣고, 따라해보고, 연습문제 풀어보는 싸이클은 꽤 잘 설계된 것 같다.

최근 ember 진영에선 ember-cli 를 통해서 클래스 단위로 파일들을 나누어 작성하는 방식(es6-module)이 기본이 된 듯 하지만, 이 과정에선 한개의 파일에 다 때려넣다보니 후반부엔 정신이 혼미해지는 감이 있다. 온라인 코스에 IDE를 기대하는 건 무리긴하지만…

ember.js 에 관심이 있다면, 그리고 강사의 귀척만 좀 참아낼 수 있다면(…) 인터넷상의 어떤 ember.js 입문 자료보다도 고퀄인 듯 하다. 유료니까 당연한가? ㅎㅎ

https://www.codeschool.com/courses/warming-up-with-ember-js

+) 그 강사가 바로 사장님 …