고2때쯤 socket.io를 배워서 웹으로 한 번 만들어 봐야 겠다고 생각한 컨셉의 게임인데 역시 세상은 넓고 같은 생각을 하는 사람들은 많으며, 보통 그 사람들이 나보다 행동력이 좋다. 지난 겨울방학 때 socket.io 배우려고 시도했었는데 socket.io 플래시 연동이랑 게임 로비까지 만들고 그대로 묻혔다. 겨울방학 때 만들던 게임은 이 컨셉 게임은 아니었고 3:3 탑뷰 대전게임으로 기획했었는데 사실 로비만 만들고 대전 부분은 하나도 안 만들어서 뭘 만들었다고 할 수준은 아니었다.

여튼 내 경험은 제쳐두고 게임 자체만 봤을 때도 아기자기하게 잘 만들었다고 생각한다. 맵 별로 블럭 밀기나 이동하는 플랫폼 등 전형적인 퍼즐 뿐 아니라 공튀기기나 동전 수집 등 플레이어의 인원수로 인터랙션 하는 장치들 디자인이 참신하다. 나오면 마음 맞는 사람들(트롤링 하지 않을 사람들) 모아서 한 번쯤 같이 시도해 보고 싶기는 하다.

원래는 블로그 도메인으로 .dev를 구매하려고 풀리는 것을 기다리고 있었다. 2014년 말에 공개될 예정이라고 알고 있었는데 좀처럼 공개되지 않길래 좀 더 알아보니 구글이 사용 권리를 구매하고 대중 공개를 하지 않고 있었다. # 구글 사내 모토가 Don’t be Evil이라고 알고 있었는데 다 옛날 얘기인 듯하다.

.dev 도메인이 더 끌렸지만, 기다려서 해결될 문제가 아니라고 생각되어 차선책인 .io 도메인을 구입했다. Gandi와 NameCheap 중 어디서 살지 고민하다가 NameCheap이 UI가 좋길래 거기서 구매했다. 구매하는 김에 SSL도 초기 1년 분을 싸게 팔길래 같이 사 보았다.

구매할 때까지는 큰 어려움이 없었는데 구매하고 나서는 이것저것 설정해 줄 게 많은데 처음 해 보는 작업이라 고생했다. 특히 cafe24에서 도메인을 연결하고 싶으면 자기들 네임서버에 등록하는 것을 기본 절차로 제시하고 있는데, cafe24에서 직접 구매한 도메인이 아니면 관리 기능이 많이 부실하고 내가 사용하는 절약형에서는 서브 도메인으로 연결하는 것이 불가능하고 메일 포워딩 등의 추가 기능도 제공하지 않아 다시 NameCheap으로 돌아왔다. 어떻게 해야 되나 고민하던 차에, 고객센터에 문의를 넣으면 해결해 준다는 글을 발견하고 문의를 했더니 반나절만에 처리되어 네임서버는 NameCheap에서 사용하면서 서브도메인 blog.qwaz.io로 cafe24 호스팅에 연결할 수 있었다.

다음 문제는 SSL 인증서를 활성화 하는 단계에서 발생했다. 처음에 인증서 받을 활성화 메일 선택을 잘못 해서 인증서가 PURCHASEERROR 상태로 굳어버린 것이다. 시험 기간이라 바빠서 건드리지 못하고 있다가 오늘 시험이 끝나고 나서 NameCheap 고객센터에 문의를 넣어 보았다. 무려 24시간 실시간 채팅을 할 수 있는 분야별 상담원이 대기하고 있었다(!) 처음에는 영어로 내 상황을 잘 설명하지 못할 것 같다고 걱정했는데 의외로 술술 채팅이 풀리고, 상담원이 활성화할 수 있게 문제를 해결해 주어서 SSL 인증서를 발급 받는데 성공했다. 지금은 cafe24에 인증서 등록해 놓고 적용되기를 기다리고 있는 중이다.

도메인 적용하고 나면 URL이 바뀌니까 구매하고 나서 블로그 공개하려고 검색엔진도 막고 공유도 안 하고 있었다. 그래서 네이버 블로그에서 이사한 뒤로 한동안 블로그에 혼잣말만 쓰고 있었는데 이제는 블로그에 쓴 글도 SNS에 공유할 수 있다! 더불어 URL이 과거의 못생긴 *.cafe24.com에서 예쁜 URL로 바뀌어서 기분이 굉장히 좋다.

#

“게임하는데 이유가 어딨어 그냥 하는거지!” 짤방으로 유명한 원사운드님 블로그를 보다가 흥미로운 글이 있어서 가져왔다. 인터폰에서 버튼을 눌러주면 대문이 열리는데, 여기다 라즈베리파이를 병렬로 연결하고 인터넷을 잡아서 모바일로 원격에서 문을 열 수 있게 하기 위해 삽질한 과정을 담은 포스팅이다.

시간 나면 이런 것도 해보고 싶기는 한데 우선순위가 더 높은 것들이 한참 쌓여 있는데다가, 결과물을 보기까지 들여야 하는 시간이 엄청 많다보니 해보기가 쉽지 않다.

물리 숙제를 끝내고 잠깐 남는 시간에 뭘 할까 하다가 게임이 그닥 끌리지 않아서 시간이 더 지나기 전에 지난주에 쳤던 구글 코드잼 풀이나 써보자 하고 오랜만에 블로그를 켰다가 한참동안 블로그 업데이트에 시간을 썼다.

저번에 언급했다시피 요새 마크다운에 꽂혀서 과제나 게시글 등을 마크다운으로 많이 작성하고 있다. 지금까지는 마크다운 에디터에서 HTML로 뽑은 후 붙여 넣는 식으로 사용하고 있었는데, 이번 기회에 블로그에 마크다운으로 게시글 작성이 가능하게 세팅이나 하자 싶어서 플러그인 검색을 시작했고 Jetpack 플러그인을 사용하기로 결정했다. 다른 플러그인도 있었지만 이 플러그인이 WordPress.com 공식 플러그인이라 호환성이나 업데이트 측면에서 안정적일 것이라 느꼈고, shortcode 등 추가적인 문법 필요 없이 바로 에디터에서 마크다운을 사용할 수 있다는 점이 좋았다.

Jetpack에서 마크다운 외에도 소셜 댓글 및 공유 기능, 사이트 통계 등의 기능을 제공하길래 이 중에서도 마음에 드는 기능들을 골라서 활성화했다. 설치 후 테스트 하면서 기존에 달아 놓았던 Facebook 댓글 플러그인이랑 MathJax 플러그인이 제대로 동작하지 않길래 Jetpack에서 지원하는 기능으로 마이그레이션 했고, 블로그에 코드 삽입용으로 사용하던 Crayon Highlighter랑 마크다운 backtick 코드 태그가 충돌하는 문제를 inline code는 마크다운으로 사용하고, block code는 기존의 하이라이터를 사용하도록 충돌을 해결했다.

지금까지도 종종 생각했던 것이지만 프로그래밍을 안다는 것은 현대 사회에서 정말 엄청난 장점이라 느낀다. 문제가 발생했을 때 기반이 되는 기술들을 대략적이나마 파악하고 있기 때문에 문제의 원인에 대해 훨씬 빠르고 정확한 직관을 가질 수 있고, 자신이 필요로 하는 기능을 ‘직접 만들수 있다’는 사실은 문제 상황에서 취할 수 있는 선택지를 크게 넓혀준다. 이러한 문제 파악 – 가설 설정 – 문제 해결에 이르는 과정은 과학적 방법론과도 방향성이 일치한다.

이러한 맥락에서 나는 소프트웨어 교육을 공교육에 포함시키자는 입장에 대해 크게 찬성한다. 이를 통해 디지털 생태계에 대한 전반적인 지식을 쌓을 수 있으며, 이러한 지식들은 위에서 언급한 문제 상황에 대한 직관을 향상시키는데 큰 도움이 된다. 특히 프로그래밍은 Computational Thinking이라 불리는 사고방법을 익히는데 가장 효과적인 수단이다. 주의해야 할 점은 실제 교육 과정에서 왜 소프트웨어 교육이 필요한지에 대한 이해가 명확해야 한다는 점이다. 필요성에 대한 충분한 이해 없이 교육이 이루어진다면 조악한 앱이나 홈페이지 따위를 따라 만들면서 모든 아이들을 개발자로 양성하는 것이 목표라 오해 받을 수 있다.