본 수업은 웹 애플리케이션 만들기 수업으로 대체 되었습니다. 개편된 수업에서 뵙겠습니다. 본 수업은 2015년 6월 이후에 폐지됩니다. http://opentutorials.org/course/1688
이야기
블로그에 충동적으로 생활코딩 개론이라는 글을 적었다. 이글을 어떤 배경에서 쓴 것인지는 나 자신도 분명하지 않다. 비개발자에게 프로그래밍 하는 법을 알려주고 싶다는 생각을 해오던 터였고, 이것이 이런 글을 쓰게된 배경이 아닐까 싶다. 그렇게 2년이 지났다. 그 동안 생활코딩을 위한 어떠한 노력도 하지 않다가, 어느날 충동적으로 오프라인 수업을 했다.
몇차례 오프라인 수업을 진행 해봤지만, 소모적이라는 생각이 들어서 온라인에서 활동하기로 했다. 스크린캐스트라는 방법을 통해서 컴퓨터 화면을 촬영해서 유튜브로 올렸다. 문제는 프로그래밍이라는 경험이 동영상 한두 개로 전달할 수 있는 규모의 지식이 아니라는 점이다. 그래서 익숙한 블로그에 포스팅을 발행하고 거기에 동영상과 예제를 삽입하는 방법으로 강의를 만들었다. 처음에는 자바스크립트를 통해서 프로그래밍에 대한 본질적인 요소들을 전달하려고 했었다. 이것이 생활코딩의 시작이었다.
문제의 발견
이 계획은 곧 난관에 부딪히고 마는데, 블로그는 최신컨텐츠가 먼저 나오는 컨테이너다. 트위터나 페이스북이나 게시판이나 마찬가지다. 그런데 강의는 먼저 봐야 할 것이 있고, 나중에 봐야할 것이 있다. 그리고 먼저 봐야 할 것일수록 오래된 컨텐츠일 확률이 높기 때문에 오래된 강의를 먼저 보여주는 기능이 필요했다.
문제의 해결
다행히 나는 개발자고, 개발자는 컨텐츠를 담는 그릇인 컨테이너를 만드는 직업인이다. 몸이 근질근질거리기 시작한다. 아드레날린과는 다른 제3의 느낌이다. 경험상 이런 느낌은 거절하기 어렵다. 하는 수 없이 간만에 연습장을 펼치고 컨테이너를 구상하기 시작한다. 핵심은 아래와 같다.
최신글을 아래에 배치하고, 오래된 글을 위에 배치해서 방문자가 오래된 글부터 순차적으로 볼 수 있도록 유도한다.
Start Small
기조를 하나 정했다. Start Small. 나는 어떤 점에서 컨테이너주의자다. 컨텐츠를 만들면 그것을 담아내는 그릇인 컨테이너에 대해서 욕망하게 된다. 처음에는 컨텐츠를 위해서 컨테이너를 만드는 데, 나중에는 컨테이너가 중심이 되고 컨텐츠는 변방으로 밀려난다. 이것은 내가 원하는 방향이 아니다. 지금 내가 컨테이너를 만들기 시작한 것은 '자바스크립트 수업'을 담아낼 그릇이 필요하기 때문이다. 이 최초의 목적을 잊지 않기 위해서는 재빠르게 컨테이너를 만들고 다시 수업에 전념해야 한다. 그러려면 일을 줄여야 한다. 구현과정에서 떠오르는 모든 기능을 기계적으로 유보하고, 기민하게 한 싸이클을 돌고 나면 진짜로 필요한 것들이 드러날 것이다. UI 모델링을 서둘러서 시작해야겠다.