ブックマーク / mizchi.hatenadiary.org (9)

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

    派手で見栄えがする大規模なプロダクトを作ろう!っていうことで、一人でフルスタックなネトゲを作っている。大きなプログラムを書いても破綻しないようにテスト書きまくってテストファーストを心がけたり、Travis-CIによる継続的インテグレーションで頑張ったり。 というわけで作っているのはMMORPGなんだけど、ここで実装するのはまあ平均的なMMORPGを想像してもらいたい。自分がやろうとしているのは、モダンなOSSとさくらの安いVPSで、独学の学生一人でもフルスタックなネトゲみたいなのが組める、ということの実証。 なんでそんなことをしているかって言うと、一応就活中で、見栄えがするアプリ提出できるとおいしいなーっていう下心。 *追記* ここでは https://github.com/mizchi/wanderer のことを言ってるんだけど大規模リファクタリング中なのでここで言ってることは半分ぐらい

    node/webosocketによるオンラインゲームの実装を考える / オンメモリ、KVS、RDBMS、圧縮プロトコル、そのゲームデザイン + 就活の話 - mizchi log
  • プログラミングはそれ自体が目的であっていい - mizchi log

    これ読んで思ったこと。 プログラミングを勉強したい人が勉強する前にすべきこと - もとまか日記 http://d.hatena.ne.jp/moto_maka/20130512/1368308092 僕がプログラミングをはじめたとき、何を思ってプログラミングをはじめたか思い出してみようとしたけど、よく思い出せなかった。 ただ漠然と感じていたのは、プログラミングは個人が現実的にこの世界に直接手を加えることができる手段の1つであり、それをやらないのは勿体無い、といったことだったと思う。たぶん。 というわけで、最初にやったのはFirefoxのユーザースクリプトを書くことだったし、それはそれでよい経験だった。なんとなくゲームとかウェブアプリとか作りてーなー、と思って色んなライブラリを動かすだけ動かして満足した。プログラミング覚えて初めて最初の一年で10以上の言語のHelloWorldだけやったと思

    プログラミングはそれ自体が目的であっていい - mizchi log
  • Web系新卒っていうかゲーム開発者一年目が去年読んだ技術書 & ライブラリ - mizchi log

    カタ氏(@hotchemi)が意識高い記事書いてたので、自分もまとめてみる。 文系学部生がSIerに入社してから読んだメモ - ギークに憧れて http://hotchemi.hateblo.jp/entry/2013/04/01/000844 自分Web系っていうかHTML5+Unity+AS3 のゲームガッツリ系+Webもやるって感じなので、最近の自己認識としてWebっていうよりはゲームプログラマな気がしている。 JSが多いのはHTML5ゲーム技術調査とかしてたからです。 書籍 7つの言語 7つの世界 作者: Bruce A. Tate,まつもとゆきひろ,田和勝出版社/メーカー: オーム社発売日: 2011/07/23メディア: 単行(ソフトカバー)購入: 9人 クリック: 230回この商品を含むブログ (65件) を見る一部情報が古いが、ClojureやIoについて書かれた貴重

    Web系新卒っていうかゲーム開発者一年目が去年読んだ技術書 & ライブラリ - mizchi log
  • 大規模JSでのBackbone.js/CoffeeScript について考えてみた - mizchi log

    これ読んでたらr7kamura君にJSのMVCどうするの的な話きかれてたのを思い出したので、自分がBackboneを使う時のパターンをr7kamura君の記事をベースに書きなおしてみた。 > サバクラ両方で動く JavaScript の大規模開発を行うために ― Gist https://gist.github.com/1362110 > client-side javascript - ✘╹◡╹✘ http://r7kamura.hatenablog.com/entry/2012/10/18/023629 以下の様なコードを書いた。かなり冗長だが、複雑なアプリだとこれぐらいの冗長性は必要になる。 (なお概念を伝えるための解説用コードなのでそのままじゃ動かない) Backbone.Model # 名前空間の初期化 App = {} App.View = {} App.Model = {}

    大規模JSでのBackbone.js/CoffeeScript について考えてみた - mizchi log
  • PythonでWebアプリ開発入門のススメ Flask/MongoDB - mizchi log

    TwitBlogin! http://twitblogin.com/ とか作ったことだし、そこそこ開発環境整って、今なら思いつく限りのサービスはさっくり実装できそうだったのでPython初心者向けに書いておく。 少しでもPythonユーザが増えれば幸い。 対象は Python の基的な構文程度はわかるけど、具体的に何から手をつけていいかわからない人 目次 Apache/WSGI/MongoDBの環境構築 flask [ Sinatra風ウェブアプリケーションフレームワーク] pymongo [ MongoDBラッパー ] werkzeug [Web Application デバッガ] jinja2 [ HTMLテンプレートビルダー ] pyquery [ jQuery風HTMLパーサ ] nose [ TDD ] 細かいライブラリの使い方とかPython体の言語仕様とかは適当にぐぐって

    PythonでWebアプリ開発入門のススメ Flask/MongoDB - mizchi log
  • socket.ioとenchant.jsでネトゲ作り始めた - mizchi log

    某所に提出するように昔作ったもののコア部分を詰めて作ったんだけど、興が乗ったので今日そのまま作りこんでみた。 同時にログインして相手に近づいて殴ったらHPバーが減って死ぬ。死ぬと4秒でリポップする。 まだマップを実装したりモンスターを徘徊させたりしてない。実質一日で作ったものなので現状この程度。 ガワはenchant.jsで書いた。はじめてまともにつかってみたが、意外と複雑な構成に耐える印象。とくにアニメーション部分はavatar.enchant.jsの仕組みにほぼ乗っかっているのだが、サーバーサイドでステートを決定してクライアントで受け取っている。こんなこと自分以外はやっていないと思う。 一応Githubに置いた。グワーッと作りたかったので、まだテストコードを書いていない。 mizchi/node-mmo https://github.com/mizchi/node-mmo git cl

    socket.ioとenchant.jsでネトゲ作り始めた - mizchi log
  • 死んで覚える本当のGitの使い方 - mizchi log

    注意: バズってますが、これははてなダイアリーからはてなブログの自動マイグレーションに失敗してたものを復旧させたもので、書かれたのは2012年です。 - 最近流行っているGit初心者向け記事は、「僕らが当に知りたかったこと」が欠けているようにしか思えません。 そこで、当のGitの使い方を僕が皆さんに伝授しようと思いました。 なにはともかく使ってみよう 前提として、皆様のお手元にはすでにGitがインストールされているものとします。 今回はエディタとしてDungeonCrawl StoneSoupを使います。 Downloads « Dungeon Crawl Stone Soup http://crawl.develz.org/wordpress/downloads Dungeon Crwal Stone Soup は今一番ホットなオープンソースのローグライクです。風来のシレンやトルネコ

    死んで覚える本当のGitの使い方 - mizchi log
  • 大規模JSプロジェクトのための、モダンなjavascript/coffee-script の学習用資料まとめ - mizchi log

    A社coffee-scriptエヴァンジェリストのmizchiです。今日は昨今の大規模JSの需要の高まりに応えるべく、お前が知ってる資料をまとめろとのお達しが下ったので、社内wiki面倒だしここに載せてますん。 前提 大規模JSをモジュール化する為にcoffee-scriptのシンタックスシュガーでOOPのパラダイムを持ち込む coffee-scriptの煩雑なコンパイル作業を避けるために、Rails/Nodeではアセットパイプラインを使って動的にコンパイルと圧縮を行う JSプロジェクトを部分的にnode化してTDDでサイクルを回す coffee-scriptに関しては、基的には家チュートリアルと The Little Book on CoffeeScript を読めばいい coffee-script チュートリアル 家チュートリアル CoffeeScript little book

    大規模JSプロジェクトのための、モダンなjavascript/coffee-script の学習用資料まとめ - mizchi log
  • クライアントサイドMVCについて喋った - mizchi log

    月曜日のclient-side templating 勉強会 http://atnd.org/events/28189 で喋った内容をうろ覚えに書き出す。 クライアントMVCが求められるようになった背景 AJAXの流行 PushStateの流行の兆し メディア系のゲームで使えるAPIの充実 今まではページ遷移の度にJSのオブジェクトを破棄していた。 => シングルページでリッチなコンテンツが作れるようになり、JSのやることが増えた PushStateとは 遷移なしにURLを書き換える技術HTML5 History APITwitter, Github, Facebook URLを書き換えるだけなのでコンテンツ(DOM)の操作はアプリ製作者に一任されている。 大規模なHTML書き換えに、クライアントサイドテンプレーティングが重要になってきた。 PushStateのライブラリ defun

    クライアントサイドMVCについて喋った - mizchi log
  • 1