タグ

ブックマーク / qiita.com/awakia (2)

  • GoのChannelを使いこなせるようになるための手引 - Qiita

    Go使いたくなる理由の一つに、マルチスレッドプログラミング的なものを高速な言語で安全に実装したいというのがある。Goにおいてそれを支えるのが、自前で実装した軽量スレッドといえるgoルーチンと、mutexなどのロックの代わりに使えるChannelという概念だ。 実際に実装するときに、Goルーチンは難しくないが、Channelを使うのは割と知識と経験が必要なのでここでは、Channelについてすこし詳しく書いてみる。 Message Passing まずは理論から。 Goのチャネルなどのロックを使わない方法の並行処理はMessage Passingと呼ばれている。 以下の英語Wikipediaにあるように数学的な理論にもなっているしっかりした枠組み。 ErlangのActor Modelなどもこの仲間。GoのチャネルとActor Modelは、実は、同等の概念で表現方法が違うだけらしい。 (

    GoのChannelを使いこなせるようになるための手引 - Qiita
    taro-maru
    taro-maru 2017/04/19
  • .zshrc.localのススメ - Qiita

    すごく環境依存なコードを.zshrcに書かなければならないことってありますよね。 そういう時は、.zshrcに直接書くのではなく、例えば、.zshrc.localというファイルを作り、 # 今使っているマシンでのみ有効にしたい設定を書く ## 例1:heroku toolbeltを有効にするためのパス export PATH="/usr/local/heroku/bin:$PATH" ## 例2:Treasure Dataのtdコマンドを使うためのAPI_KEYの設定 export TREASURE_DATA_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    .zshrc.localのススメ - Qiita
  • 1