タグ

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

  • 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
  • コードレビューの際に気をつけること - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? コードレビューをする際と、してもらう際に気をつけるべきだと思っているをまとめておきます。 レビュイーとして大切なこと コードレビューをお願いする前に レビュアーが高いパフォーマンスを発揮するためには、レビューを受ける人の心構えと事前の打ち合わせが実は最も大切です。 特に大きめの変更のコードレビューをお願いする前にすると良いこととしては、 まず、レビュアーを確保する そのレビュアーと大まかな設計の合意をとる という方針でやっていくのが良いです。 レビューしていても、根をひっくり返すような指摘はしにくいですし、したとしても、それなら1から

    コードレビューの際に気をつけること - Qiita
  • GitでMerge CommitをRevertする方法 - Qiita

    何個もCommitがあるような一つのPull Requestを全てRevertしたいようなときに使えます。 そもそもRevertとは あるコミットを打ち消すような、全く逆のコミットを作ることです。 追加した部分を削除して、削除した部分を追加して、変更した部分を変更前の状態にするコミットを作成します。 取り消したいコミットがあるのだけれど、既にリモートにコミットしてしまって、git reset, git rebase -i, git reflogなどを使っての取り消しが不可能なときに使います。 通常のRevert 普通のcommitなら、revertは

    GitでMerge CommitをRevertする方法 - Qiita
  • ABテストのための有意性検定 - Qiita

    こんにちは、awakiaです。今回のアドベントカレンダー、結構、機械学習ガチなメンツが揃ったみたいなので、俺も対抗してやる!!とも思ったのですが、研究を離れて2年が経とうとしているので、真っ向勝負とか今更無理なことに気づきました...w なので、開発者の皆も知っておくと便利なデータサイエンスの話をすることにします。 ABテストと検定の必要性 Webサービスを運営していると、見た目の問題だけでも結構悩みます。ボタンの色や文言などの小さなところから、トップページに盛り込む内容をどうするかまで、いろいろです。 今回、「ABテスト」と呼ぶものは、画面に占める大きさ等にかかわらず、パターンAとパターンBを作って、そのどちらがいいかを判断するための実験と定義することにします。 なお、ABテストの呼び名には結構流派があるので別の名前で聞いたことがあるかもしれません。例えば、Googleのマット・カッツ先

    ABテストのための有意性検定 - Qiita
  • 1