yasui0906のブックマーク (106)

  • ドラゴンクエストXは「世界は一つ」を実現するためにどのようなサーバ構成にしているのか?

    スクウェア・エニックスの人気RPG「ドラゴンクエスト」シリーズの最新作「ドラゴンクエストX(ドラクエ10)」はシリーズ初のオンライン作品となりましたが、その舞台裏は一体どうなっていたのか。ゲームの世界観を支えるサーバシステムがどのように構成されているのかということや、ドラゴンクエストⅩならではの仕組みや機能から開発の苦労話まで、株式会社スクウェア・エニックス開発部プログラマ森山朋輝さんが語っています。 タイトル | CEDEC 2012 | Computer Entertaintment Developers Conference http://cedec.cesa.or.jp/2012/program/NW/C12_P0040.html 森山朋輝: 皆様、日はお集まり頂きどうもありがとうございます。このセッションを担当させて頂きます、株式会社スクウェア・エニックス開発部所属の森山朋輝と

    ドラゴンクエストXは「世界は一つ」を実現するためにどのようなサーバ構成にしているのか?
    yasui0906
    yasui0906 2012/08/24
  • GitHubへpull requestする際のベストプラクティス - hnwの日記

    みなさん、Git使ってますか?僕はまだメインのVCSがSubversionなのもあって、なかなか慣れません。せっかくGitを使っているのに、ちょっと不便なSubversionくらいの位置づけです。でも、同じような理解度の人って多いんじゃないでしょうか。 一方で、最近はGitHub管理のオープンソースプロジェクトが増えてきました。バグレポートを送るにしてもpull request*1が前提のような空気があり、Git初心者には少し敷居が高い印象があります。 そんな僕も先日初pull requestをしてみたんですが、色々な失敗の積み重ねで残念なpull requestになってしまいました。その反省を元に、稿ではpull requestする際のベストプラクティスを紹介します。これは「Git Workflow」をベースにコマンド例などを加筆したものです。 概要 pull requestする際は、

    GitHubへpull requestする際のベストプラクティス - hnwの日記
  • ログからは見えてこない高負荷サイトのボトルネック : DSAS開発者の部屋

    ちょうど1年前に「高負荷サイトのボトルネックを見つけるには」という記事を掲載していますが、この手のトラブルシューティングって結構大変で悩ましいですよね。はじめまして、新入りの@pandax381です。 ログからは見えてこないもの 「サイトの応答が遅い」という問題が発生した場合、その原因はどこにあるでしょうか。 Webアプリケーションの処理に時間が掛かっている DBサーバに投げたクエリーの応答が遅い サーバの処理能力を超えている などなど、いくつもの可能性があります。通常、上に挙げているような問題は、アプリケーションやサーバのログを調査することで、原因を突き止めることができます。 一方で、こういったログの調査だけでは、その原因にたどり着くことができなかったり、相当な苦労が伴うケースもあります。 あるサイトのある日の出来事 つい先日のことですが、KLabの運営している某ソーシャルゲームにて、サ

    ログからは見えてこない高負荷サイトのボトルネック : DSAS開発者の部屋
    yasui0906
    yasui0906 2012/07/09
    サーバのログにもスイッチのログにもエラーは出ていて、メールでも通知が来ていたのに、完全に見落としていてアタフタしたことは反省しつつ、グラフでもSYNの再送カウンタをみれると嬉しいよね的な話題でする。
  • [スマホ&タブ2011冬]11の「やめたこと」で実現した1000万ダウンロード突破

    NHN Japan スマートフォンゲーム制作室 室長の馬場一明氏。「自分はいつも焼肉屋に行くとべ過ぎてしまう。自分のべる量も分からないのに、他人の作業量が分かるわけがないので、作業量の見積もりは不要」とのユーモアあふれる例えに会場は笑いにつつまれるシーンも 12月14日、スマホ関連総合カンファレンス「スマートフォン&タブレット2011 冬」(ベルサール八重洲)の「ゲーム開発」セッションでは、NHN Japan スマートフォンゲーム制作室 室長の馬場一明氏が登壇した。『ダーツ』や『フォトジグソー』など、直感的に遊べるアプリ「TEIBAN GAME」をいかにクオリティーを維持しながら、短期間で多数開発し、ヒットに結び付けたか。その舞台裏と独自の組織論を披露した。 これまでPCオンラインゲームを手がけてきた馬場氏が、スマホゲームアプリの開発を命じられたのは、東日大震災直後の今年3月。出され

    [スマホ&タブ2011冬]11の「やめたこと」で実現した1000万ダウンロード突破
    yasui0906
    yasui0906 2011/12/16
  • Ikeda Yosuke Weblog - 意味怖話を作ってみた

    意味が分かるとぞっとする話。結構好きなので、自分でも作ってみました。お楽しみください。 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 浮気をしたのが彼女にばれて2週間。ずっと連絡がなかった彼女がやっと部屋にあげてくれた。でもお互い気まずくて一言も口をきけないまま時間だけが過ぎていく。僕はその空気に耐えられなくなってトイレに逃げ込んだ。ふと脇を見るとトイレットペーパーの端にペンで「真美より」と書いてあった。なんだろう。どきどきしながら紙を引き出すと、そこに彼女からのメッセージが書き込まれていた。メッセージは何行にもわたっていた。僕は紙を1行ずつ引っ張り出しながら噛みしめるように読んでいった。 /////////////////// 真美より あなたは私を裏切った それは事実 でももうすべてリセットしていいと思うの あなたと過ごした宝物のような日々 それが私にとって大切だ

    yasui0906
    yasui0906 2011/12/15
  • 株式会社ディー・エヌ・エーに入社しました - (ひ)メモ

    12月1日付けで株式会社ディー・エヌ・エーに入りました。 入社して1週間が経ち、少しずつ環境にも慣れてきたところで、優秀な仲間たちと楽しく充実した日々を送っています。 自分の仕事はこれまで通り、コードも書ける(書きたい)インフラエンジニアです。 まだ把握しきれていませんが、想像していた以上のトラフィック、サーバー台数のスケールで、これほど大きなシステムに関われることに興奮して鼻血が出そうな毎日です。 特に前職では人数が少なかったせいもあり、エンジニアリング以外のこともいろいろとやりました(おかげでいろいろと経験できてよかったです)が、ディー・エヌ・エーではエンジニアリングに集中し、自分のこれまでの経験と知識と勘を活かし早期にバリューを出せるように努力しつつ、優秀な仲間たちと切磋琢磨し、より自分の腕に磨きをかけていきたいと思っている所存です。 また、ブログや勉強会等しばらくおやすみしていまし

    株式会社ディー・エヌ・エーに入社しました - (ひ)メモ
    yasui0906
    yasui0906 2011/12/09
  • Gree Fast Processor: PHPを3倍(くらい)速く | GREE Engineering

    ごあいさつエントリだけというのもなんなので、引き続きfujimotoです。実質上1つめのような気がするこのエントリでは、PHPが3倍くらい(少なくとも2倍くらいは...)速くなるGree Fast Processorというのを先月作ってみたのでご紹介です。 すぐわかるまとめ Gree Fast Processorというのを使ってみると、シンプルなsymfonyのプロジェクト(xav.ccで試しました)でも2倍弱、結構複雑なアプリケーションだと7倍くらい速くなったりします。いくつかの制約がありますが、パフォーマンスに飢えているかたはお試しください。 こちらはなんかすごい速くなっている感じのグラフ(一番上が速くなった版のRequests per Second、赤が通常版のRequests per Second): これはさすがにbest caseすぎる気がしますが、普通にやっても2倍弱くらいは

    Gree Fast Processor: PHPを3倍(くらい)速く | GREE Engineering
    yasui0906
    yasui0906 2010/05/20
  • inotify + makuosan でいい感じのリアルタイムミラーリング InotifyAndMakuosan - mizzy.org - Trac

    ファイルのミラーリングツールとしては rsync が最も使われていると思いますが、差分チェックの負荷が大きく、できればつかうのやめたいなー、と思っていたところ、Software Design 2009年8月号 に lsyncd というツールが載っていて、お、これはと思って見てみたのですが、仕組みとしては inotify + rsync なので、結局は rsync を裏で呼び出していて、差分チェックの呪縛からは逃れられません。 inotify でファイルの更新イベント受け取ってるんだから、さらに rsync で差分チェックする必要はないじゃん、と思うわけですが、なんらかの理由でイベントが受け取れない可能性もあるため、二重チェックした方が安全なんでしょうね。 でもやっぱり余分な負荷はかけたくない、ってことで思いついたのが、inotify で更新イベントを検知したファイルを、makuosan の

    yasui0906
    yasui0906 2009/08/10
  • 1Uラックマウント可能なサーバを自作する - marqs blog

    はてなでは以前から自社製サーバを使用しているのですが、今年の春に、新たに自社製1Uハーフサーバを開発しました。 最近、タワー型だとメーカー製でもかなり安価なサーバがあるのですが、データセンターでの運用を考えると1ラックへの集積度が問題になってくるので、必然的にラックマウント可能なサーバが求められます。1Uサーバの中で価格対性能比のよいものを探すと、まだまだはてな的に使いやすいサーバが少ないので、今回このような1Uラックマウント可能なサーバを自社開発しました。 さてこのサーバの特徴としては、 ケーブル類がフロントアクセス 組み立て簡単 いけてるインフラアルバイトのid:hxmasakiが組み立てると15分 1ラックに60台以上搭載可能 もちろん、電源容量との兼ね合いもあります ディスクのホットスワップが可能 低消費電力 お値段据え置き 以前の自社製サーバとほぼ同価格 といったところがあげられ

    1Uラックマウント可能なサーバを自作する - marqs blog
    yasui0906
    yasui0906 2009/06/22
    うつくしい!
  • 【ハウツー】Cアプリを高速化せよ! - 正式リリースされたgoogle-perftoolsを試す (1) google-perftoolsとは | エンタープライズ | マイコミジャーナル

    google-perftoolsはGoogleによって提供されている、C/C++アプリケーションのパフォーマンスを改善するための開発ツールキットである。2005年3月に初めて公開され、およそ4年を経て7日に正式版がリリースされた。The BSD Licenseの下で提供されており、LinuxをはじめとしてFreeBSD、Mac OS X、Solaris 10、Windows XPなど、各種プラットフォームでの動作が確認されている(ただし、Linux以外については一部機能を除く)。 google-perftoolsには次に挙げる4つのツールが含まれている。 高速メモリアロケータTCMalloc ヒープチェッカー ヒーププロファイラ CPUプロファイラ TCMalloc(Thread-Caching Malloc)は通常のmallocよりも高速なメモリ割り当てを実現するライブラリであり、テスト

    yasui0906
    yasui0906 2009/06/17
  • Gitを使いこなすための20のコマンド | OSDN Magazine

    LinuxカーネルやRuby on RailsPerlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。記事では、Gitを使いこなすために覚えるべき20個のGitコマンドを紹介する。 LinuxカーネルやRuby on RailsPerlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。記事では、Gitを使いこなすために覚えるべき20個のGitコマンドを紹介する。 なお、Gitの基的な考え方や使い方については分散バージョン管理システムGit入門でも紹介しているので、そちらも参照してほしい。

    Gitを使いこなすための20のコマンド | OSDN Magazine
  • Ruby/groonga 0.0.2リリース - 2009-06-05 - ククログ

    最新のgroongaに対応したRuby/groonga 0.0.2がリリースされました。 Ruby/groonga 0.0.2ではよりAPIが使いやすくなっています。 メソッドの個別化 groongaはgrn_objで抽象化されていて、ハッシュテーブルでも転置インデックスカラムでもgrn_obj_search()で検索できます。Ruby/groongaでもそれを踏襲してGroonga::Object#searchだけを定義して使いまわしていました。しかし、0.0.2ではGroonga::Hash#serachやGroonga::IndexColumn#searchなど、それぞれのオブジェクト毎に定義するようにしました。 こうすることにより以下のような挙動になるため、使いやすいAPIになりました。 grn_obj_search()に対応していないオブジェクト(例えばGroonga::Arra

    Ruby/groonga 0.0.2リリース - 2009-06-05 - ククログ
    yasui0906
    yasui0906 2009/06/15
  • Interop Tokyo 2009のクラウドコンでグランプリいただきました!! - (ひ)メモ

    \(^o^)/\(^o^)/ スライドもあがってますのでどうぞ! http://syuki.skr.jp/files/dhatena/20090611/kumofs.pdf http://syuki.skr.jp/files/dhatena/20090611/kumofs-mov.mov 他のチームの方の発表もどれも興味深く、あっという間の3時間でした。 クラウドコンは来年もあるかもとういうことなので、腕に自身がある方は来年参加してみるといいと思います!

    Interop Tokyo 2009のクラウドコンでグランプリいただきました!! - (ひ)メモ
    yasui0906
    yasui0906 2009/06/15
    おめでとうございます!
  • まくおさんバージョンアップのお知らせ(Ver1.2.0) : DSAS開発者の部屋

    まくおさんをバージョンアップしましたのでお知らせします。 主な変更点は以下のとおりです。 【Ver1.1.3→Ver1.2.0】 応答速度と安定性の向上 エラーログに"[error]"という文字列を追加 メンバがタイムアウトしたときの状況を詳細に出力するようにした msync --statusで、実行中のコマンドを表示するようにした msyncを複数同時実行したときに挙動がおかしくなる不具合を修正 ファイルクローズに失敗したときに異常終了する不具合を修正 msyncにdeleteオプションを指定したときの結果表示がおかしくなる不具合を修正 その他細かい不具合を修正 【ダウンロード】 ダウンロードページ makuosan-1.2.0.tar.gz 【注意】 Ver1.2系とVer1.1系はプロトコルに互換性がありませんので、 バージョンアップは全サーバに対して実施して下さい。 「ところで、ま

    まくおさんバージョンアップのお知らせ(Ver1.2.0) : DSAS開発者の部屋
    yasui0906
    yasui0906 2009/06/01
    なにかおかしな動きしたら教えてもらえるとうれしいですm(__)m
  • Web+DB press Vol.50にkey-valueストアの記事を書きました! - グニャラくんのグニャグニャ備忘録@はてな

    いまさらながら告知ですが、WEB+DB press Vol.50にて、key-valueストア入門という記事を執筆させていただきました。やっほーい!皆さんも、Software Design 2009年5月号が売り切れたくらいのイキオイで、100冊くらい買うといいと思います。 WEB+DB PRESS Vol.50 作者: 杉山貴章,羽生章洋,川口耕介,青木靖,鶴岡直也,長野雅広,森田創,伊藤直也,武者晶紀,ミック,高林哲,栗原傑享,米林正明,小飼弾,角田直行,橋正徳,はまちや2,久末隆裕,Junio C Hamano,グニャラくん,やまだあきら,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2009/04/24メディア: 大型購入: 24人 クリック: 235回この商品を含むブログ (95件) を見る ま、執筆中は毎日「死にたい、あー死にたい」とつぶやいていたの

    Web+DB press Vol.50にkey-valueストアの記事を書きました! - グニャラくんのグニャグニャ備忘録@はてな
    yasui0906
    yasui0906 2009/05/30
  • memcached で SERVER_ERROR out of memory storing object というエラー

    ちょっと前にエントリにも書いた業務アプリですが、セッション管理に repcached を使っています。repcached とは memcached にデータのレプリケーション機能を追加実装したもので KLab 株式会社が開発したソフトウェアです。レプリケーションの機能により可用性は飛躍的に向上しているかわりに、まぁぶっちゃけ速度はかなり犠牲になっています。※ベンチマークをとったわけではないけど負荷テストで体感できるくらい違う。 さて、今回のアプリケーションサーバの構成としては、Oracle RAC + memcached でオラクルでも快適なセッション管理を! で書いたような以下の構成になっています。 memcached のメモリには 1GB を割り当てていたのですが、ちょっとメモリが少なかったようです。運用し始めて数日後にセッションが保持されない不具合にみまわれました。随所に warn

    yasui0906
    yasui0906 2009/02/09
  • DSAS開発者の部屋:MAKUOSANバージョンアップのお知らせ(Ver1.1.2)

    MAKUOSAN をバージョンアップしましたのでお知らせします。 主な変更点は以下のとおりです。 【Ver1.1.1→Ver1.1.2】 シャットダウンメッセージを送出しない不具合を修正 Ver1.1.1には、makuosanの終了通知が送出されないという不具合がありました。そのため、makuosanを終了しても、しばらくの間メンバーリストに残ってしまうという問題がありましたが、これを修正しました。 【Ver1.0.1→Ver1.1.1】 msyncコマンドに--deleteオプションを追加 送信元に存在しないファイルを転送先で消すことができるようになりました。 転送速度が向上 ファイル転送速度が約1.5倍(当社比)になりました。 1対1での速度はまだscpにかないませんが、今後も随時改善していきます。 エラーレポートを詳細に表示 転送先で発生したエラーなどを詳細に表示するようにしました。

    DSAS開発者の部屋:MAKUOSANバージョンアップのお知らせ(Ver1.1.2)
    yasui0906
    yasui0906 2008/12/24
    --deleteできるようになりました
  • mixiや楽天の「中の人」、インフラエンジニアを語る

    パソナテックは2008年12月6日、「インフラエンジニア討論会2008 ~インフラエンジニア進化論~」を開催した。楽天の和田修一氏、スカイホビットの越川康則氏、ミクシィの長野雅広氏、モトローラの石原篤氏、paperboy&co.の宮下剛輔氏、計5人の「インフラエンジニア(サーバやネットワークなどの設計・管理・運用を担当する技術者全般を指す)」が登壇し、自らの業務や興味関心、インフラエンジニアとして働くことのやりがいなどを語った。 個人のスキルに「依存した」運用の可能性 前半は各自のトークセッションとして、自らの業務、キャリア、興味関心などを5人がそれぞれ講演した。 和田氏は現在「開発部 国際開発室」に所属しており、アプリケーション開発も若干行っているものの、メインは台湾版「楽天市場」の設計・構築・運用の業務を行っている。大学時代は経済学部で、技術を学んだのは就職後。「大学時代はバンドに明け

    mixiや楽天の「中の人」、インフラエンジニアを語る
    yasui0906
    yasui0906 2008/12/09
  • OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん

    OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr

    OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん
    yasui0906
    yasui0906 2008/12/04
  • Ajax IME: Web-based Japanese Input Method

    Webベースの日本語入力サービスです。海外からでもブラウザさえあれば日語を入力す ることができます。 特別なソフトは必要ありません。 使い方 お使いのコンピュータの日本語入力を切りかえて直接入力にします。 Alt-o (Ctrl-9) で Ajax IMEモードに変更します。(ボタンで切り替えるかえることもできます) 適当な文をローマ字で入力します。 spaceを押して漢字に変換します。続けて押すことで候補選択を行います。 returnを押す、もしくは次の入力を開始することで入力を確定します。 F9で強制的にカタカナに、F8で強制的にアルファベットに変換します。 再度 Alt-o (Ctrl-9)で直接入力に戻ります 海外旅行先や留学先, 海外のネットカフェなど日本語入力環境が 無いパソコンからご使用ください。 Firefox と Internet Explorer で動作確認をしていま

    yasui0906
    yasui0906 2008/12/03