タグ

ブックマーク / golang.rdy.jp (5)

  • Goでスケールする実装を書く

    スケールする実装を書くためのガイド スケールするために 並列度とアムダールの法則 べき等参照透過性 Lock-FreeとWait-Free アトミックアクセス ロックの局所化 並列度とアムダールの法則 時間単位の場合は繰り返し処理のトータル時間に対し、 並列処理を妨げない処理時間の割合を「並列度」という。 (コードプロファイルを使って求める場合もあるが、 比較的単純なコードでないと計算が複雑になりやすい。) p 並列度 n 並列数 性能比 1/((1-p)+p/n) p=0.9のとき4倍の性能を得るにはn=6が必要。 n=5で4倍の性能を得るにはp=0.938が必要。 n=無限大とすると、性能比は以下の式におちつく。 理論上の性能向上限界 = 1/(1-p) 並列度90%の処理をどれだけ多数コアに分散しても理論上10倍処理効率が限界。 並列度95%の処理をどれだけ多数コアに分散しても理論上

  • Goのアンチパターン

    Go書いててなんとなく見えてきた Goでやっちゃいけないパターン WAF導入してらくらくWebアプリ WAF自体が現在群雄割拠状態。 WAF毎にハンドラインターフェースが違うので既存コードつなぐにはラッパーが必要。 どのWAFもLL言語に比べるとまだまだフィーチャーの網羅範囲が狭い。 なのでもちろんLL言語ほど楽には書けないことが多い。 リフレクション使いまくりでトータル性能はLL言語並みに遅いのもある。 Go1.7のcontextパッケージの導入で標準のHTTPハンドラが復権する可能性があり更に荒れる予想。 追記: 楽できるのを期待してWAFを導入するの「やっちゃいけない」とまでは言い過ぎだったかもしれないけれど例のsqlでPrepareを正しく使えていないで性能出なかった件とか、当面WAFを使うなら自分で概ね中身を理解して使う覚悟が必要。 構造体メソッドにロジックを詰め込む Goの思想

    TokyoIncidents
    TokyoIncidents 2016/08/01
    ここで引用されてたのこんな内容だったのか http://aial.shiroyagi.co.jp/2016/07/golang-api-server-developing/
  • gomobileをちょっとだけ便利にする

  • gomobileでiOSアプリをビルドする手順まとめ

    gomobileでiOSアプリをビルドする手順まとめ By nobonobo September 21, 2015 iOSアプリをgomobile経由でビルドできるようになったので手順をまとめました。 必要な環境 iOS9.0のデバイス(iOS9.1はNGでした) OS-X Yosemite以降(El-Capitan OK) あらかじめやっておく作業 XCode7のインストール コード署名用証明書の作成(Developer Program非加入の場合の手順) Xcode7を起動してPreferencesを開く。 Accounts項目に自分のアカウントがあることを確認して、無ければ追加します。 自分のアカウントの「View Details…」をクリックして「Sigining Identities」一覧を表示。 「iOS Development」の「Create」ボタンをクリックします。(ボタ

    gomobileでiOSアプリをビルドする手順まとめ
  • HowToMakeThePiano

    お前誰よ おわり モチベーション 一般の ピアノアプリ 子供が大好き 子供が遊ぶ 謎機能起動 戻す 子供が遊ぶ 広告起動 戻す 子供が遊ぶ ソーシャル 機能起動 戻す イライラ! イライラ! もっと シンプルな ピアノが 欲しい〜! とか考えてたら Go Challenge 7 というイベントが! しかもお題がピアノモバイルアプリ! これは是非とも 参加しなくては! というわけで gomobileで ピアノの作り方 アジェンダ 音に関する物理 ピアノの仕組み デジタルオーディオ用語 gomobileでアプリを作る 以上の構成です 今日はGoのカンファレンスに 来ておきながら、 Goの成分少なめです。 まずは一緒に高校物理の復習をしましょう。 Dive into Physics ▼ 音の原理を学ぼう! 音ってなに? 音波に乗って伝搬するもの ですね 音波ってなに? 空気の気圧の疎密波 縦波の

  • 1