new takyam();

Qiitaぽい話はQiitaに書いていくことにする気がする http://qiita.com/takyam

あけおめでとうございます

新年あけましておめでとうございます。
今年はなにか作りたいと思います。
代表作的なのが欲しいなーという気がしております。

幸子見ながらそんな事を考えました。

旧年中大変お世話になりました皆々様にとって良い年でありますように。

そして何より自分と家族が幸せな1年になると良いなーと思っております。

koaとsocket.ioの連携

最近話題のkoaっていうNodeのWAFがございまして、触ってみたかったので触ってみたはなしです。
ちょっと試すつもりがドはまりんぐ。

koaについては以下の記事をご参照ください。

koa入門 - from scratch

Express - ごめんなさい、koajsに浮気しちゃいました - Qiita [キータ]

かずぽんブログ • 新しいWebフレームワーク Koa について

ECMAScript6から使える Generator(yield) を使う事でイケてる感じにしたExpressみたいな感じです。
実際Expressよりなうくて良い感じに書けるんですが、何せドキュメント少なくてしょんぼりんぐ。

Socket.IOと組み合わせたドキュメントが(ググり力低いために)見つからず、
モニョモニョドハマりしながら適当に書いてみました。

takyam-git/koa-chat · GitHub

たぶんポイントは app.callback() を渡すポイント。

var koa = require('koa'), app = koa();
app.use(route.get('/', function*() { this.body = 'hello world'; }));

//appの定義が終わったあとにcallbackしないとちゃんと動かないよ。たぶん。
var server = require('http').Server(app.callback())
  , io = require('socket.io').listen(server);
io.sockets.on('connection', function (socket) { /* something */ });
server.listen(3000);

socket.ioとかexpressみたいなやつと連携するときには、
app.callback() 使うのが正解っぽいんですが、これが早過ぎるとアカンぽくて、
app.use()が諸々終わった後に渡してあげないと何故か動かんかったです。

ソースまで追っかけてないのであれですが。

詳しくはレポジトリみてくだしぃ。

koaの感想

まず、ググるときに、kaoってtypoしまくったので若干イラッってしたよ!
"koa"とかkoajsとかしようね。
koaだけだとコアって日本語もマッチしちゃうからあんだかなーだよ!

それはさておき、たぶんかなり革新的でありながら、
特に出来る事が代わったわけでもない現状だと趣味要素が強く、
んだけど1年後にはExpress捨てられてkoa一色になってる気がする、
そんな感じのフレームワークでございました。

ただ、現状ではドキュメント(および周辺のブログ記事とか)や、
関連ライブラリ類がまだ少ないので、先走りたい人は楽しいと思いますが、
初心者ならExpress使っとくのが無難だと思います。

といいつつ自分はSocketStreamフェチなので、
SocketStreamにもGeneratorとか取り入れられるといいなーと思ってますっ!

ハッピーバースデーオレ

というわけで本日29歳になりました。

あと1年で30歳ですね。
そりゃ健康診断で肝脂肪要注意って言われるわけだ。しょうがない。うんしょうがない。

30歳ってすごいオッサンだと思ってたけど、意外とオッサンじゃないが、
決して若者では無い感じで、何だかイメージと違いますね。まだ30歳じゃないけど。
と思ってるのは自分だけで、実際に若い子からみたらすごいオッサンなのかもしれないですね。

30歳に向けた目標を掲げるとすれば、
今年転職した今の会社で技術を吸収したいなぁと思うですね。

今のところ自分自身が扱う技術に大きな変化があったわけでは無いですが、
周りで使われてる技術は、「へー!」とか「ほー!」とかなるものもたくさんあるので、
幸いにして刺激的な毎日は過ごせております。

使う技術自身に大きな変化は無いものの、その勘所がこれまでとは全然違って、
己の未熟さを思い知らされる毎日でもあったりします。

とはいえ、技術者なので、技術があれば基本的には何とでもなるという印象で、
技術力って大事だな、磨いててよかったな、これからも磨いていこう、
と、じんわりと感じたりしております。

意識高めて行こうぜ!とは死んでもなりたく無いので、
何かそういうのっていうよりは、焦ってる、ってのが正しいですね。

昔と較べて突っ込みきれてない、っていうのともちょっと違うなー、
何ていうんだろ、昔ほど驚きが無いというか。

自分の想像が及ばない範囲が少しずつ小さくなっていっているのは感じるわけで、
「アレ使えばいいじゃん」「こうすればいいじゃん」って思いがちになってるというか。

守りに入ってるつもりが無くても無意識に学習コストよりも、
既知の技術で解決しようとしちゃうというか。

それが良いとか悪いとかじゃなくて、
自分が新しい事にチャレンジしなくなってるんじゃないの?
っていう不安というか焦燥感というか。

何だかそういうのが強くなってはきてますね。

どうこうするつもりも無いですが、
この辺の焦燥感と上手く付き合っていける1年になるといいなぁと思いました(小並感

ところで小並感って「小学生並みの感想」って意味だったんですね。
テレビのキャプチャ見てしった。
いい単語だと思います。
意味を知らなくても意味が伝わるって素晴らしいインターフェース。なんつって。

Dartでチャットを作ってみた

Dartの習作として、サーバーサイドとクライアントサイトの両方をDartで書いたチャットを作ってみた。

takyam-git / dart-chat-example
https://github.com/takyam-git/dart-chat-example

JSにもコンパイルしてないのでDartiumでしか動かないよ。

全部で100行程度しか書いてないからアレだけど、 感想としては微妙だなーって感じでした。

型がわかりにくいというか何というか。

何かもうちょっとカッチリキッチリしてればいいんだけど、 微妙にゆるふわな感じでJSに寄せてるから微妙感が出てた。

いっそのことJSへのコンパイルを忘れた方が幸せなんじゃないかなぁとか思ったけど、 そしたらそしたらで、誰も使わなくなるだろうし、うん、微妙!

TypeScriptとかのほうがそのへん割り切ってる(JS寄りにしてる気がする)ので良さそうな気がした。

まぁ、JSなんてCoffeeで充分な気がするけどね!