어느 팀에서 1년간 Node.js 로 작업을 하고나서 다시 python으로 돌아 갔다는 을 보고나서는 그럴 수 있다고 생각했다. nodejs에서 사용하는 Javascript는 기존의 Javascript와 설계 방식이 다르다. 모든 곳에서 비동기적인 상황을 고려해야한다. 정확히는 I/O가 일어나는 함수의 경우에서 비동기적인 처리를 고려해야한다.


Nodejs는 구글의 자바스크립트 엔진인 V8이 JIT 컴파일러를 도입하면서 괜찮은 성능을 제공하였기 때문에 가능한 프레임웍이었다. 그리고, 최대한 동기적인 작업을 설계에서 배제시켰고, 그에 따라 nodejs 생태계는 비동기 철학에 맞춰 확장이 되었다.


처음 nodejs가 나왔을 때 비동기적인 설계를 편하게 구현할 수 있는 자바스크립트의 문법적 기능으로는 closure 밖에는 없었던 것 같다. 지금은 co-routine을 구현하기 위한 generator가 들어가고, Promise가 들어가면서 지금과는 다른 설계방식이 앞으로는 유행하지 않을까 한다.


Nodejs는 javascript라는 것이 특징이 아니다. javascript가 클라이언트에서 사용되다가 비로소 서버에서도 사용되는 것에 열광할 일이 아니라는 것이다. 마이크로소프트의 ASP가 VB만이 아닌 Javascript로도 제공됐었다는 사실을 아시려나 모르겠다. npm 마저도 특징이 아니다. 요샌 다 패키지 매니저는 기본이지 않은가. Nodejs의 매력은 "비동기적인 설계를 강제"한 것에 있다. 만약, python이든, java든 php든 심지어 C++이라할지라도 비동기적인 함수로만 패키지의 생태계가 만들어진다면, 아마 열광할 요소가 있을 것이다. 그러나 전통강자가 있으니 아마 쉽지는 않을 것이다.



저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

링크를 누른뒤 백버튼을 눌렀을 때, 그 위치로 돌아가는 것이 일반적인 사용성인데, 보고 있는 페이지가 ajax로 scroll 혹은 pagination이 구현되어 있을 때, 현재 보고 있는 위치를 기억하는 문제가 있다. 9년전 idtail . com 만들 때도 고민 많이 했던 부분이었는데, 지금의 페이스북도 답이 크게 없나보다. 스크롤 중에 내용을 보려고 클릭하는 것은 뭔가 안심이 안돼.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

요즘 수영 중에 가장 재밌는 영법은 접영이다. 허리를 굽혔다 폈다하는 방식으로 물을 쳐내는데, 그 느낌을 수영한지 거의 3년만에 알게 되다니 늦어도 한참 늦었다. 접영의 길을 봤다고나 해야할까. 접영은 지금까지 오기에 몇 번의 자세 교정이 이루어졌다, 돌이켜 보건데, 팔을 꺼내어 물에 입수시키는 동작을 교정할 때도 그랬고, 물 안에서 팔로 8자를 그리며 쳐내는 동작도 재미를 느꼈던 것도 재미있었으며, 마지막으로 허리 기술을 알고나니 이제야 접영이 이런건가 싶다. 다른 고급반 사람들은 이걸 진작 알고 있었단 말야? 훔.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

스티브 잡스(2015), 대체 이 영화가 뭘 얘기하려는 것인지 모르겠다. 스티브는 카리스마가 있었으며, 가족과 관계가 나빴지만 어찌됐든 iMac 발표전에 해결되었다. 그가 고집불통이었다는 사실을 말하고 싶은 건가? 늘어 놓은 것은 많지만 무엇하나 잘 풀어 나가지 못한 느낌. 배우는 X-men, 매그니토의 젊었을 때를 연기한 독일 출신 배우더구만. 상대 여배우는 갈라드리엘 마님 역의 케이트 블란쳇.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

한강의 소년이 온다를 다 끝내고 집어 든 것은 김중혁의 악기들의 도서관, 첫 몇페이지에서 사람을 끌어 들이는 맛이 있다.


소년이 온다는 5월이 되기 전에 읽어야겠기에 속도를 낸다고 냈지만, 그 무게감이 하도 커서, 쉽게 손에 잡히진 않았었다. 찾아도 찾아도 끝없이 쏟아지는 1980년의 그날의 이야기들, 아마 죽기전까지도 그치지 않고 관심은 계속 갈 것 같다.


악기들의 도서관은 팟캐스트를 통해 작가의 목소리는 너무 많이 들어왔는데, 그에 대한 예의가 없었나 싶어서 선택한 책. 이 책 또한 5월 중엔 다 읽지 못할 것이 뻔하지만(장담(!)하건데), 그나마 내려 놓은 손을 다시 집는데는 그 수고로움이 덜하지 않을까? 일단 가방에 넣고 다니는 책으로 가까이 해야겠다.

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

세상에 가장 좋은 그림 하나를 알아요.


성시경의 눈물편지의 가사.


물론 의미는 다르지만, 호소다 마모루의 시간을 달리는 소녀에 비슷한 장면이 나온다. 그림하나를 보기 위해 미래에서 온 소년 치아키.

그림을 복원하는 박물관 직원인 이모.

그 조카인 소녀 마코토와 치아키의 이야기.



멀리서, 그림이 있던 곳을 보고 있는 치아키와 박물관 직원인 이모가 조카를 만나러 가는 장면이 겹쳐 보인다.



미래에서 그림을 보러 왔지만, 볼 수 없는 상황.



복원 중인 그림을 보여주는 이모.



그 그림.



극 중에서 이모는 마코토의 시간여행을 장난스럽게 이야기 하지만, 사실 이모가 어렸을 때, 시간 여행자를 만난 적이 있기 때문이다. 이모의 시간을 여행하는 이야기는 영화 "시간을 달리는 소녀"에 나온다.


단지 하나의 프레이즈만으로 성시경 노래를 들을 때면, 이 애니메이션에 대한 감동과 그냥 들여다 보아도 좋은 그림에 대한 생각으로 상념에 빠지게 된다.

시간 여행을 잠시라도 할 수 있으면 좋으련.









저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

의식의 확장.


1인 회사가 가능한 이유를 잘 생각해보면, 두 가지에 근거한다.


1. 사회의 분업화

2. 단순 노동의 자동화


분업화된 사회는 일을 공정으로 나누고, 각 공정에 전문가 혹은 숙련공을 만들어냈기 때문이다. 하나의 조직에서 분업화가 이루어진 이후에는 아웃소싱이라는 방법을 통해 외부에서 전문적인 기능을 제공하는 방향으로 진화하였다. 1인 회사의 필수 요소는 하나의 회사를 지원하기 위한 외부 회사가 존재하기 때문이다.

기계에 의한 단순노동의 자동화는 한 사람이 처리해야하는 일을 필수적인 부분에 집중할 수 있게 했다. 자동화의 최전방에 있는 온라인서비스가 있기 때문에 가능해졌다. 이런 사회적인 현상은 비가역적이다. 웬만해서는 다시 원래의 불편한 사회로 돌아가지 않을 것이다.


1인회사를 만든다는 것은 내 전문기술에 대한 자부심에서 시작하는 것이며, 둘 이상의 커뮤니케이션 비용에서 오는 위험을 최대한 감수하고, 초기 이익을 최대한 재투자를 하는데 부담없이 하려는 것이다. 이런 1인 회사의 한계점은 내가 할 수 있는 전문영역에서의 만족할만한 품질에 대해서는 누군가에게 의존할 수 없는 지점에 있다. 말 그대로 내가 둘이었으면 하는 마음이 드는 때가 그 한계라는 것이다. 내가 할 수 있는 세무 대리를 지원해주는 회사, 디자인을 지원하는 회사, 온라인 마케팅 등등 모든 전문영역은 내가 할 일을 제외한 나머지 회사들의 지원에서 가능한 것이고, 그렇게 다 외부로 떼어냈을 때, 남는 것은 나만 할 수 있는 영역에 대한 한계를 실감하는 것이다.


나와 같은 지능을 갖는 누군가를 또 만든다는 것은 어려운 일이다. 하지만, 내가 하는 지적인 판단의 일부를 복제하는 일은 이제 조금씩 가능해질 것이다. 그런 것이 가능한 영역을 도와주는 어시스턴트 프로그램을 쉽게 구할 수 있을 것이며, 사람들의 우려처럼 직업이 바로 없어진다거나 새로운 직업이 바로 등장하지는 않을 것이다. 엑셀과 이메일이 회사에서 일하는 방식을 바꾸는데도 사회가 수용하는데 10년은 더 걸렸다. 그 동안 직업군은 천천히 변했고, 사람들의 기술은 천천이 이관되어 갔다. 어떤 산업군은 빨리 도입될 것이며, 어떤 산업군은 느릴것이다. 지능의 확장을 도입하는 것은 어떤 식으로든 이루어질 것이며, 그것은 지금의 우리가 사용하는 기술과 크게 다르지 않은 방식으로 시작한다.


지적인 판단을 도와주는 확장이 일어나는 순간이 그 시작이된다.

기대반, 우려반.

놀라운 시점을 살고 있다.





저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

통합환경(IDE)을 볼 때마다, Turbo C가 생각난다. 내가 기억하기로 고등학교 때 버전 2.0으로 처음 접했다. 이 툴은 최소한의 통합환경을 제공했는데, 그 통합이라는 것은, 에디터, 컴파일러, 링커, 디버거였다. 말그대로 각 프로그램을 필요할 때마다 실행했어야했던 것을, 메뉴에서 선택하는 것만으로 하나로 묶어줬으니, 생산성이 얼마나 높아졌겠는가? 그 처음을 기억하건데, 사실 어리둥절했다. 배움에도 순서라는 것이 있고, 빌드에도 순서가 있다. 그리고 그런 것들은 어느정도 1차원적으로 되어 있는데, 이 IDE는 메뉴라는 익숙한 것에 그 것들을 2차원적으로 나열을 해 놓았으니, 한꺼번에 여러 개념에 동시에 노출되는 것에서 오는 당혹감이 있었으리라. 그리고 정규적인 C 언어를 배운 것이 아닌 상황에서 디버깅같은 것은 고급 과정이었으므로, 한동안 몰라서 사용을 못했던 것 같다.


IDE가 주는 정보의 양에 대해 생각해 보건데, 지금 나오는 모든 개발툴로서의 IDE들은 그 메뉴에 너무너무 많은 것이 노출되어 있다. 그래서 처음 어떤 새로운 언어에 특정 IDE를 접하는 순간, 그것이 일로서 주어진 것이 아니라면, 몇번 보다가 접는 것이 대부분 취하는 행동아닐까? 일로써 사용해야했다면, 그 때부터 호기심은 100% 왕성해져서 그 많은 기능을 이것저것 살펴보며, 상당한 정보량을 머리 주억거리며 습득하게 된다. 욕도하고, 감탄도하고 몰랐던 개념을 익히기도하고 행복하(?)고 화도나는(!) 그런 시기가 프로젝트 기간 동안 지나게 된다.


IDE는 자체로는 전혀 교육적이지 않다. 메뉴의 순서도 친절하지 않으며, 그 어느 누군가의 학습곡선에 맞춰있는것 같지도 않다. 스스로 교육하며 커다란 프로젝트도 마무리 할 수 있는 IDE가 있을 수 있을까? 사실 어떤 프로젝트에 들어가는 개념들은 그 사용되는 상황이 전혀 순차적이지 않으며, 일관성이 없다. 개인의 능력에 따라 IDE를 사용하게 되는 것이다. 늦게 시작하는 모든 개발자들에게 건배!




저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

페이스북도, Line messenger도, 발표를 계속 해대는 Chat api.

선도 개발 그룹에서 Chat bot에 대한 관심이 계속 올라가고 있는 즈음, 내 작업도 빨라져야겠다는 생각이 든다.

그러나 현실은 여기저기 손을 빌려달라한다.

Show me the money!

저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

더는 늦어지지 말자고, 공유기 새로 업그레이드 함. 802.11ac 는 대략 3,4년전에 시작했던거 같은데, 

별 무리 없이 쓰다가, 집안의 모바일 접속이 동시에 사용하는 경우가 많아지면서, 현저하게 느려지는 현상(?)이 발생.

사실, USB 3.0 기반의 NAS 장비가 필요 하기도 해서, 802.11ac + USB 3.0 외장하드 지원하는 모델로 새로 구매함.


저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

+ Recent posts