タグ

ブックマーク / qiita.com/Jxck_ (4)

  • Go のクロスコンパイル環境構築 - Qiita

    Go でクロスコンパイル Go の特徴であるクロスコンパイルの便利さと、その方法はよく語られますが、意外に「そのための準備工程」が知られてない気がしたので、ここで再度クロスコンパイル自体の便利さと、クロスコンパイル方法、そしてその準備方法を書いておきます。 クロスコンパイルの旨味 Go は、 1 つのソースコードから様々な OS 向けのバイナリを生成するクロスコンパイルをサポートしています。しかも、対象の OS が無いとビルドできないわけではなく、例えば MacWindows 用、 Linux 用、 Plan9 用のバイナリを一気に生成するといったことができます。 しかも、 32bit マシンで 64bit 用のバイナリを生成することもできます。 "Write Once Run Anywhere" でお馴染みの Java との違いは、 Java の場合は Class ファイルという形

    Go のクロスコンパイル環境構築 - Qiita
    manaten
    manaten 2018/01/18
  • ES7.decorator で契約プログラミング(design by contract) - Qiita

    D言語の契約プログラミングサポートに触発された。 http://www.kmonos.net/alang/d/dbc.html http://www.kmonos.net/alang/d/class.html#invariants Dで実際どこまでできるかはあまりわかってないが、現実的にはこんな感じだろうか。 // $ babel-node --optional es7.decorators index.js class Counter { constructor(initial = 0) { this.current = initial; } @contract up(i) { this.current += i; return this.current; } } function contract(tar, name, desc) { // 事前条件 function before(i

    ES7.decorator で契約プログラミング(design by contract) - Qiita
    manaten
    manaten 2017/06/14
  • graphite, grafana, sitespeed.io, diamond で継続 Web パフォーマンスモニタリング - Qiita

    graphite, grafana, sitespeed.io, diamond で継続 Web パフォーマンスモニタリングgraphitegrafanadiamondperformancesitespeed.io Web のパフォーマンス継続モニタリング環境 intro Web の健康状態を把握するためには、きちんとしたモニタリング環境を整える必要がある。 正しくメトリクスが測定できていないと、正しくボトルネックの把握ができないし、チューニングの副作用も正しく把握できない、アプリの変更の影響もわからないし、負荷対策もできない。 単にパフォーマンスチューニングだけのためではない。が、パフォーマンスチューニングには必須、という関係。 そして、メトリクスは一回適当に取っただけでは正確とは言えず、やっぱり定期的な取得が必要になる。 この辺のノウハウは、サーバサイドではかなり成熟している。 しかし

    graphite, grafana, sitespeed.io, diamond で継続 Web パフォーマンスモニタリング - Qiita
    manaten
    manaten 2015/05/27
  • 小さく始める isomorphic module pattern - Qiita

    せっかく window や node/io の標準モジュールに依存していないロジックであれば、 ブラウザでも node/io で動くようにしておくと色々嬉しい。が軽視されている感がある。 俗に isomorphic な JavaScript と呼ばれている。 それを npm と bower で公開するのであれば、問題はモジュールシステムだ。 最小の isomorphic module pattern 一番シンプルで負荷の少ない方法。 まず、ライブラリを以下のように書く。 // lib.js function Lib() { // 変数は外に出さない } Lib.prototype.foo = function(){ return "foo"; }; this.Lib = Lib; // point

    小さく始める isomorphic module pattern - Qiita
    manaten
    manaten 2015/02/08
  • 1