株式会社Aimingにいきます +ソーシャル就活について思ったこと

node/webosocketによるオンラインゲームの実装を考える / オンメモリ、KVS、RDBMS、圧縮プロトコル、そのゲームデザイン + 就活の話 - mizchi log という記事を書きまして、一応ソーシャル就活っぽいことをしたからには報告する義務があると思いまして、ここ…

ゼロからRails入門するよ〜

Railsは「命名規約によって、DSLから機能を動的に生成するもの」でいいのかな? 某記事で声がかかった企業のうち、面談行ってるのが3社で、そのうち2社がRailsつかってるので、前々から興味あったし手を出すことにした。勉強するならよそでやれ(棒)なんて話…

テストフレームワークmochaとファイル監視watchrで自動テスト

npm install mocha -g npm install shouldmochaの--watchオプションが期待通り動けば問題ないんだけど、ホットリロード動いてないのでファイル監視はwatchrでやらせることにした。 guardでもよかったんだけど、guardは皆決まりきったサンプル動かしてる人達…

node/webosocketによるオンラインゲームの実装を考える / オンメモリ、KVS、RDBMS、圧縮プロトコル、そのゲームデザイン + 就活の話

派手で見栄えがする大規模なプロダクトを作ろう!っていうことで、一人でフルスタックなネトゲを作っている。大きなプログラムを書いても破綻しないようにテスト書きまくってテストファーストを心がけたり、Travis-CIによる継続的インテグレーションで頑張っ…

非同期メソッドを書きやすく拡張されたIcedCoffeeScript が登場

IcedCoffeeScriptIcedCoffeeScriptなんてのができていた。(フォーク元は最新のv1.2.0) 非同期関連を書きやすくしたもの。その意味ではtame.jsなどとコンセプトは同じ。 生成されるコードはIcedCoffeeScript -> CoffeeScript 使い方 公式サンプルより search …

続・gl.enchant.js を触ってみた

TPSカメラっぽいができた。拡大縮小・回転に対応した。 http://mizchi.github.com/3dcam.html ソース https://github.com/mizchi/mizchi.github.comとりあえず9leapに置いても良かったけど、あそこにはなんとなく動くものを置いたほうがいいのかと思った正直…

gl.enchant.jsを試しみた印象

canvas2dをネイティブでゴリゴリ書いちゃうので今までenchant.js使う機会なかったのだけど、gl.enchant.jsは便利そうだったのでenchant.jsにも慣れようと思い使ってみた。 参考にしたのはgl.enchant.js 入門 – ざっくりと作る流れをまとめてみました!! | TM …

sinon.jsのuseFakeTimersを使った時間制御とvowsを使う際の書き方

js

nodeで時間依存なテストコードを書きたい場合、偽のタイマーを使って時間制御する サンプル読んで本当にそんなことができんのかい、と疑問だったので、最小コードだけで挙動だけ確認したメモいれる npm install sinon 偽のタイマーを使う >sinon = require("…

買った

テスト駆動JavaScript作者: Christian Johansen,長尾高弘出版社/メーカー: アスキー・メディアワークス発売日: 2011/11/25メディア: 大型本購入: 19人 クリック: 331回この商品を含むブログを見るエンディミオン〈上〉 (ハヤカワ文庫SF)作者: ダンシモンズ,D…

サーバーサイドJSのための、JSONで復元できるモデルクラス *追記あり*

ほとんど自分のためのメモ。 サーバサイドJSを使っているとクライアントにwebsocket経由で渡したりmongodbやnstoreで永続化する際にピュアなJSONとしてデータを宣言しなおす必要があって面倒。じゃあModelクラス自身が読み込み/書き出しできると嬉しいのでは…

coffee-script v1.2.0で--watch と --joinが併用できるようになった

複数ファイルにまたがって自動ビルドしつつ1つのファイルにまとめることができます http://jashkenas.github.com/coffee-script/#changelog --watch は指定したファイルを監視し、自動的にjsにコンパイルする --join はファイルを指定した順番で連結 --outpu…

AdobeがHTML5に敗れる決定的な理由

学生にとって魅力がない。Webの開発側にいる人間でFlash死ね!HTML5最高!と言っている人は正直どうかと思う。 - 村上福之の誠にデジタルな話 昔はFlashが正義だった。Flashコンテンツがこそがインターネットの魅力的なコンテンツであり、そのためには「海賊…

node v0.6.3 で npmが標準モジュールとなり、OS別インストーラもできたよーって話

内容はタイトル。以上。詳細は以下より。 Node v0.6.3 | Node.jsnpmはRubyにおけるrubygems, PythonにおけるPYPIのようなもの。 標準でnpmコマンド入るようになったので、インストール後 npm install -g coffee-script すればcoffee-script使えるようになる…

MacBook Air にいれてるアプリ 11/20

旧・Macの手書き説明書 - FC2 BLOG パスワード認証 読んでたら書きたくなった。環境構築厨として。アプリのリンクやスクショ貼るのめんどかったので、ぐぐってください。ターミナルでできることはターミナルでやる派なので、最近はアプリ減りました。 Dock表…

Homebrewでnode v0.6.1いれるとセグフォったので戻した

僕は面倒くさがりなのでnodeをMacのhomebrewで管理してるのですが... 日課のようなコマンド sudo brew update sudo brew install nodeこの node , require するとセグフォします。 https://github.com/isaacs/npm/issues/1725 Issac : Reinstall node from s…

Canvasで巨大な画像をアニメーションする際はImageに埋め込んで保存しておく

概要 canvas画面外にあるものはレンダリングしない コストが高い画像を生成したならimg.src = canva.toDataURL()で突っ込んどく encahnt.jsやeasel.jsのコードを読んでいたら似たような仕組みがあったので参考にした。 (enchant.js、call,applyを多用してい…

ちょっとした永続化にnStoreを使ってみる

nodeのシンプルな KVS。 DBMを立ち上げる必要がないJSONベースのKVSが欲しかった。インスコ npm install nstore試す。相変わらずcoffeescript。./test.dbで起動 mizchi-mba:mzi%[~] coffee coffee> nstore = require('nstore') { initialize: [Function: ini…

ネトゲのこれからいじるところ

作ってみると自分自身が面白くなってしまったので、とりあえず作り込むとします。 名前とコンセプトを明確に シナリオ含めた演出を明確にする必要 リファクタリング デバッグのためにアドホックになってしまったコードを整理 ゲームデザインをしっかり定めて…

Canvas/WebSocketなネトゲの、ざっくりとしたロジック解説

Canvas/WebSocketでディアブロクローンなネトゲを作ってみた - mizchi logの解説ちゃんと勉強して実装したわけじゃないけど、つくってみたい!と思った人が一通り実装できる程度の解説をする。 ゲームプログラミングとウェブプログラミングの初歩を知ってる…

Canvas/WebSocketでディアブロクローンなネトゲを作ってみた

できたよー! 遊び方 次のURLから、twitterアカウントでログインする。 http://w-mtlab.com:4444/ 対応(確認)ブラウザはGoogleChrome Firefox4.0以上。 同時に10人ログイン程度まではテスト済。それより増えるとわからん。 矢印キー or WASD 移動 数字キーで…

JSのプロトタイプの扱いについて思うこと

Twitterで垂れ流したのを適当にまとめる。JSでライブラリ作るときは組み込み型のプロトタイプに触れないことがマナーになってるっぽい雰囲気あるけど、デファクトなライブラリがあったら明示して使っていいと思うんだけどなーってprototype.jsの死骸を眺めつ…

買った

PFU Happy Hacking Keyboard Lite2 for Mac 英語配列 USBキーボード Mac専用モデル ホワイト PD-KB200MA出版社/メーカー: PFU発売日: 2007/01/24メディア: Personal Computers購入: 8人 クリック: 77回この商品を含むブログ (7件) を見るハイペリオン〈下〉 …

不思議なダンジョン風マップ自動生成

参考にしたのはここ http://racanhack.sourceforge.jp/rhdoc/index.html 方針 上記の説明だけ読んでコード参考にしなかったので全然違う実装になった。大きな空部屋を作って、部屋のクラスごとに担当する領域を持っておく。再帰構造で次の部屋の参照をもっと…

CoffeeScriptの文法拡張して非同期でネストが深くならないようにしてみた

コールバックごりごり書いてるとネストが深くなって嫌だね〜 ということで深くならない用な記法を追加するプリプロセッサをでっち上げる、というテスト。CoffeeScript自体がJSの文法を拡張するものだから、自分で追加してもいいじゃん、ということでソースを…

プログラミングの学習に写経ってあんま意味ないんじゃないかなぁ

写経で身につけるプログラミングの基本 | Social Change! って記事が話題になってて 自分はあまり意味が無い、と常々思っていた。以下その理由。 写経が効果的なのは一行で実行できるものだけ プログラミングで、最初に覚えるべき概念は、四則演算、条件分岐…

最近読んだSF 10/31

決定版 2001年宇宙の旅 (ハヤカワ文庫SF)作者: アーサー・C.クラーク,Arthur C. Clark,伊藤典夫出版社/メーカー: 早川書房発売日: 1993/02/01メディア: 文庫購入: 9人 クリック: 140回この商品を含むブログ (185件) を見る宇宙のランデヴー (ハヤカワ文庫 SF…

node/websocket とknockout.jsでRSSリーダー作ってみた

風邪引いてるっぽくて頭痛と吐き気がひどいのですが、昨日作ったコード置いておきます GitHub - mizchi-sandbox/node-rss-reader: LDRっぽいRSSリーダーhttp://w-mtlab.com:2000 にサンプルを置いておきます これは僕(mizchi)の未読です (共通の未読管理フラ…

websocket用に欲しいプラギン

ウェブソケット使ったコードはスパゲティ化しがち だからこんな風に定義できると嬉しいと思った # server wsns = require("wsns") myns = new wsns.Wsns('/wsns.js') myns.def 'myns_func', pre:(arg)-> emit fname:$(arg).text() server:(data)-> fs.readFi…

Node用MeCabバインディング あと非同期版つくろうとして失敗した話

似非原さんの自分で記事を読むのもだるくなってきたので、コンピューターに記事を読ませることにした。 - 蟲!虫!蟲! - #!/usr/bin/bugrammer を読んでて、スクレイピングならnodejsが楽だしnodeでmecab使う手段あったっけーと思いながら調べてたら、あっ…

「輪るピングドラム」の親と子の関係 あるいは親を選べない呪縛について

主人公父の某サリン事件を彷彿とさせるエピソードから、「綺麗なものしか愛せない父親」から身体改造されるゆりの話をうけて、一部思うところがあった。あくまで24話(25だっけ?)のうち15話、盛り上げてる真っ最中なので、全然思い違いをしているかもしれな…