2015年2月13日のブックマーク (4件)

  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

    こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
  • 我々(主語が大きい)は何故MySQLで外部キーを使わないのか

    外部キー便利!!! MackerelではPostgreSQLで外部キーあり そのレコードがあることが保証される 各テーブルのidにアプリケーションレベル(Mackerelの場合Scala)で型付けをするとなお便利 MemberID型、MonitorID型 → idで誤ったテーブルを引くとかがない 日のスキーマ CREATE TABLE `member` ( `id` INTEGER unsigned NOT NULL auto_increment, `earned_item_count` INTEGER unsigned NOT NULL DEFAULT 0, `name` VARCHAR(191) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4; CREATE TABLE `item`

  • Perl のモジュールローダー選定委員会 - tokuhirom's blog

    UNIVERSAL::require$module->require() or die $@ ってかけるのが cool という話ではあるのだが、UNIVERSAL をつかうのに抵抗があるかもしれない。 そして、Module::Load にたいする優位性はとくにないので、最近はあまりつかってない。 Class::Load上記2つにくらべると、機能がおおい。これは Moose から派生したパッケージで、Moose の is_class_loaded 相当の機能もそなえている。 Moose 由来ということで、%INC の中にはいっていなくても、package がすでにつかわれていれば、ファイルをよみにいかないという点がすぐれている。具体的には package Foo; sub bar { } package main; use Class::Load qw/load_class/; load_c

  • おそらくはそれさえも平凡な日々: Test::mysqldのcopy_data_fromでテストが更に捗る話

    少し前ですがTest::mysqld 0.17からは copy_data_fromというオプションが加わっています。 これは、Test::mysqld起動時にコピー元のdataディレクトリを指定できるもので MySQLの起動時間を節約することができます。テスト開始時にDBに大量のデータを 入れておきたい場合に特に有効です。 特にゲームなどの場合は、大量のマスタデータもコードの一部と言えるので、ちゃんと 全部流し込んでからテストを実施したいという要件があるので重宝します。 さて、そのdataディレクトリをどうやって作ればよいかという話になるのですが、 それも、Test::mysqldに事前に作らせてどこかに配置しておけば良いでしょう。 手順としては例えば以下のようになります。 ‘tmp/test_mysqld_data’ をdatadirにしてTest::mysqldを起動 DDLとマスタデ