タグ

2015年6月22日のブックマーク (10件)

  • シンプルで移行しやすいデータベースシャーディング - クックパッド開発者ブログ

    技術部の小野(taiki45)です。クックパッドではこれまで様々なデータベースの負荷対策を行ってきましたが、シャーディングは行われていませんでした。しかし先日クックパッドの認可サーバーが利用している MySQL サーバーの負荷分散のためにクックパッドで初めてのシャーディングを行ったので、Rails アプリケーションでのシャーディングの事例のひとつとしてその際の手法をご紹介したいとおもいます。 構成 Before データベースは1マスター、1ホットスタンバイ、バッチ用の1リードレプリカで構成されています。Read オペレーションのほとんどはキャッシュ層に逃しています。 After データベースの各ロールにつきそれぞれ1台ずつマシンが増えています。 シャーディングが必要になった背景 認可サーバーのアクセストークンの作成・削除時の Write オペレーションが急増し、レコード数自体も急増していて

    シンプルで移行しやすいデータベースシャーディング - クックパッド開発者ブログ
  • Facebook、静的解析ツールInferをオープンソース化

    12のソフトウェア・アーキテクチャの落とし穴とその避け方 成功するソフトウェアアーキテクチャを開発するのはシンプルだが、簡単ではない。QARを理解し、QARを最大限に満たすトレードオフを理解し、実行するには、洞察力と経験が必要であり、その多くはアーキテクチャ自体の実験を繰り返すことで集めなければならない。プロセス自体は単純だが、考慮すべきトレードオフはしばしば難しく、簡単な答えはめったにない。

    Facebook、静的解析ツールInferをオープンソース化
  • UnityのシリアライズのルールとInstantiateと実行中のコンパイル - n-yoda's blog

    Serializeのルールを理解するとInstantiateや実行中のコンパイルに役に立ちますという話。 目次 シリアライズのルール 共有データはScriptableObjectで 非Serializableな変数の対応 適切なシリアライズ設定は適切なInstantiateを可能にする 適切なシリアライズ設定は実行中コンパイルを可能にする 実行中コンパイルの問題:Coroutineが破棄される等 シリアライズのルール UnityEngine.Objectの派生クラスは、シリアライズして.prefabや.assetの形式で保存することができ、その際には以下の条件を満たすメンバ変数(フィールド)のみがシリアライズされます。派生クラスは、MonoBehaviour・UIBehaviour・ScriptableObject等を継承して作ることが出来ます。 SerializedField属性が設定さ

    UnityのシリアライズのルールとInstantiateと実行中のコンパイル - n-yoda's blog
  • 自動メモリ管理 - Unity マニュアル

    オブジェクト、文字列、配列が作成されるとき、それを格納するのに必要なメモリは ヒープ と呼ばれる中央集約的なプールから割り当てられます。アイテムが使用されなくなると、それに使用されていたメモリを何か別のもののために確保することができます。以前は、適切な関数コールを通じて明示的にヒープメモリブロックを割り当てたり解放することは、通常はプログラマ自身の責任でした。最近では Mono エンジンのようなランタイムシステムがメモリ管理を自動化しています。自動メモリ管理では、明示的に割り当て/リリースするよりコーディングの労力が大幅に削減され、かつメモリリーク (メモリを割り当て、使用しなくなってもリリースされない状況) の潜在的な可能性を著しく下げます。 値型と参照型 関数が呼び出されると、引数の値はその特定の呼び出しのために予約されたメモリエリアにコピーされます。数バイトを占有するデータ型は速やか

    自動メモリ管理 - Unity マニュアル
  • Unityでマルチスレッド(前半)

    http://unitygems.com/threads/ November 2, 2012 はじめに ゲームでマルチスレッドを活用することに興味がある場合、この記事が役立つようにしたい。スレッドは比較的複雑なトピックだがマスターすることでマルチプロセッサのあるハードウェアや、プロセッシングを管理可能な単位に分割するのが大変な場合に大きなメリットが生じるものだ。 スレッドが実際に役立つケースをあげると: A* のようにレベルマップの多くのデータを処理する必要があるアルゴリズム メッシュ変形など大量の点データを扱う処理 サーバへの長時間のアップロード QRコード認識のような画像処理 スレッドとはプログラムの他のスレッドと同時に実行されるプロセスだ。マルチプロセッサ搭載のマシンでは完全に同時実行の場合があるが、そうなるかはスレッドの数がプロセッシングコアの数より多いかによって決まる。 Unit

  • Post Position 【Unity】 スレッドを使う

    Unityでスレッドを使ってみるテスト。 アプリやゲームを作っているとほぼ100%ぶつかる問題、重たい同期処理(ブロッキング処理)。 1フレームに掛かる処理が重たいと画面が引きつったように見えたり、入力の反応が無くなったりと 何かとデメリットばかりである。 世に出ている軽快なアプリはそれらを無くすためにおそらく様々な努力がなされている。 その1つとして、同期処理の非同期化はまず欠かせない。 というわけでUnityで非同期処理をしたくなったら、まず2つの手段がある。 コルーチンとスレッドだ。 この2つは同じようで実は全然違う。 各々の特徴を簡潔にまとめてみた。 コルーチン ・メインスレッドで処理される →なのでyieldで分けて処理を分散しても、その1つ1つの処理自体が重いと全体に影響する ・IEnumerator型の戻り値のメソッドである必要がある ・UnityAPIが使える スレッド

  • Resources.Load performance/caching | Unity Community

  • 【順次復旧中】ニトリネットショップ障害 6/17から週をまたいで対応

    リンク ネットショップ担当者フォーラム 閉鎖状態の「ニトリネット」が6/23にサイト運営を再開、不具合の主因はCPU不足 | ネットショップ担当者フォーラム 6月17日から自社ECサイト「ニトリネット」の運営が止まっていたニトリは6月23日、午前10時にリニューアルサイトを公開した。 リンク www.nitori-net.jp 【ニトリ】公式通販 家具・インテリア通販のニトリネット ニトリ公式通販 家具・インテリア通販のニトリネット オンライン・ショップ。お、ねだん以上。ニトリの公式通販サイトです。収納・ベッド・ソファなどの家具、寝具・カーテン・ラグなどのインテリアを販売。7,000円以上お買い上げで送料無料!店舗共通のメンバーズカードでポイントもたまります。

    【順次復旧中】ニトリネットショップ障害 6/17から週をまたいで対応
  • C#におけるヒープVSスタック問題、あるいはUnityにおけるスクリプト高速化。 - Radium Software

    個人的にC#はグルー言語であるという認識が強くて、パフォーマンスを意識したプログラミングの経験が無い。しかしUnityのスクリプトをC#で書いていると、そこを意識しなくてはならないケースに出くわすことがある。 最近あったのは、テンポラリな配列のアロケーションが大きなオーバーヘッドを生み出しているという状況だった。これは結局、配列の使用をやめてstructのメンバー変数にパックするよう変更したところ、パフォーマンスは著しく改善された。言い換えれば、テンポラリオブジェクトの所在をヒープ上からスタック上へと移すことによってオーバーヘッドが解消された、という格好だ。 問題となっていたのは、まあざっくりとこんな感じの、ゲームステートを保持するクラスだった。 public class State { byte[] cells = new byte[16]; public State() {} publ

    C#におけるヒープVSスタック問題、あるいはUnityにおけるスクリプト高速化。 - Radium Software
  • UnityをC#で超入門してみる #2 ゲームオブジェクトの章 - Qiita

    UnityをC#で超入門してみる #1 Unity入門の章 http://qiita.com/hiroyuki_hon/items/0718a50e6569b6c5037a の続きです。 目次 超入門#2 ゲームオブジェクトの章 カメラ・移動・変形・削除・色・やりとり 継承関係 Object → GameObject Object → Component  → Behaviour カメラ カメラを調整しよう カメラでターゲットを追ってみよう ゲームオブジェクトの情報を取得しよう スクリプトの有効、無効を設定してみよう ゲームオブジェクトのタグをチェックしよう Find()でゲームオブジェクトを取得しよう スクリプトでコンポーネントを追加しよう スクリプトからプリミティブオブジェクトを生成しよう 違うプリミティブオブジェクトを表示してみよう スクリプトでオブジェクトのtransformを取得

    UnityをC#で超入門してみる #2 ゲームオブジェクトの章 - Qiita