2017年1月26日のブックマーク (2件)

  • Go の Generator を channel と closure で速度比較(または Go でのアトミック処理イディオム) - Block Rockin’ Codes

    追記 この記事は元々 Go のイディオムとして、いわゆるジェネレータの実装がどうできるのかを軽い気持ちで書いただけで、速いから「Closure を使いましょう」などと一言も言ってなかったのですが、一方が channel であったため原子性についての言及がいくつかありました。 自分としては、ローカルのちょっとしたツール(shell の代わりくらい) の中で使ってただけなので、並行性には言及するつもりがそもそも無かったのですが、自分もそうした前提を書いていなかったのにも原因があります。 例えばこの記事が「グローバルシーケンス」の実装例として参考にされ Web アプリにでもコピペされて、バグの原因になったりでもしたらマズイので大幅に追記します。 (正直ロックを使った排他制御はあまり得意では無いですが。。) Intro 無限に連番を生成するロジックをジェネレータとして組むときに、 Go の場合は二

    bluevinyl
    bluevinyl 2017/01/26
    generator
  • Javascript - 勝手に再接続してくれるWebSocketライブラリ「reconnecting-websocket」 - Lambdaカクテル

    艦これブラウザもどきを作成していて、通信をプロキシソフトでキャプチャした後にクライアントにWebSocketで転送してAngularJSとBootstrapを利用して表示させているのだけれど、プロキシソフトの欠陥なのか不明だが接続が頻繁に途切れる。その度に自動更新ができなくなってページをリロードさせなければならなくて不便だったので手動で再接続させる処理を実装していたのだが、先日そういうライブラリが既に存在していた事を知るのであった。 joewalnes/reconnecting-websocket · GitHub 使い方はものすごく簡単で、ws = new WebSocket('ws://....');となっているところをws = new ReconnectingWebSocket('ws://....');と置換するだけで動作する。シンプル。 bower.jsonがあるのでbowerで

    Javascript - 勝手に再接続してくれるWebSocketライブラリ「reconnecting-websocket」 - Lambdaカクテル