タグ

2016年8月2日のブックマーク (10件)

  • Goのアンチパターン

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

  • 既に最強なIntelliJ IDEAを更にパワーアップさせられる10個のプラグイン - Qiita

    紹介するプラグインについて この投稿で紹介するプラグインは何かのツール、言語、フレームワーク、サービスなどとintegrateする類のものは含まず、それ単体で便利に感じられるであろうプラグインに絞って紹介している。 (アルファベット順) A prevent pinned tabs from closing plugin - by momomo.com 固定したタブを閉じられなくするプラグイン。いらないタブを複数閉じようとすると間違って開いておきたいタブまで閉じてしまうことがある。それを防ぐことができるようになる。 AceJump 見えている範囲でカーソルを移動させたい場所にサッと移動させられるようにするプラグイン。慣れるとめちゃくちゃ速い。設定したショートカットで機能を起動すると1文字入力を求められ、入力するとその文字がある場所に飛ぶためのショートカットが画面に表れる(画像参照、これはst

    既に最強なIntelliJ IDEAを更にパワーアップさせられる10個のプラグイン - Qiita
  • GoのパフォーマンスTipsメモ

    パフォーマンス維持のコツをコツコツとメモする リフレクションは最後の手段 パフォーマンスに寄与しない部分でのみ使う。 どこがパフォーマンスに寄与するのかが不透明なうちは使用禁止のほうが良い。 一度使い出すとリフレクションは多用したくなる魔力がある。 メモリ使用量 値は8バイトアライメントに置かれるので基は8バイト長分メモリを専有。 ポインタ変数は64bitCPUで8バイト長 インターフェース型変数は16バイト長〜 (値+型識別) メモリ確保を含む型コンバートは 型キャスト、アサーションに比べると10倍以上遅い。 同じ値なのに「メモリ確保を含む型コンバート」を複数回行う場合は メモリ消費量は増えるが汎用の変数「interface{}」に 値を保存しておいて参照するほうが速度を維持できる。 ゼロメモリアロケーション 高頻度操作におけるメモリアロック1とゼロの間には大きな速度差がある。 可能で

  • iOS向けIPv6なNAT64/DNS64の試験ネットワークをRaspberry Pi 3で作る - pslaboが試したことの記録

    はじめに Raspberry Pi 3 は WiFi と LAN が標準搭載なので、WiFi で試験ネットワークを作るのにはうってつけです。 さて、iOS向けのアプリ審査ではIPv6対応が必須となりましたが、その試験ネットワークを作るための標準的な方法は「MacOSXでNAT64が有効なインターネット共有を作る」という方法です。 しかし Mac1台をNAT64のためにあてがうのはどうにも非効率な気がします。また、そもそも今時の Macbook などは有線LANインタフェースを持っていないので、このためにUSB or Thunderbold LANアダプタを用意せねばなりません。あるいは、PC or MacIPv6 側にぶら下げて挙動を比較する、などというケースもあるかもしれません。また、自分の手元でMac OSXのNAT64を試したのちにインターネット共有をオフにしても WiFi A

    iOS向けIPv6なNAT64/DNS64の試験ネットワークをRaspberry Pi 3で作る - pslaboが試したことの記録
  • Google DeepMindの人工知能(AI)「AlphaGo」を頑張って理解する - Qiita

    つい最近まで、囲碁でのAIとプロ棋士の勝負はまだ10年かかると言われていました。しかし、今年3月にGoogle DeepMindの人工知能(AI)「AlphaGo」は李世乭九段に4勝1敗という歴史的大勝を実現しました。 どうしてもその強さの秘密を知りたい!「TensorFlowチュートリアル - 熟練者のためのディープMNIST」を実行できるレベルのAI初心者なのに、頑張ってAlphaGoを理解しようとする試みに挑戦しました。この記事はそのメモです。 主な参考文献は、下記のとおりです。 Mastering the Game of Go with Deep Neural Networks and Tree Search 囲碁AIAlphaGo” はなぜ強いのか? RocAlphaGo Project Wiki AlphaGo構成 一言で言えば、MCTS+ConvNetです。 MCTS

    Google DeepMindの人工知能(AI)「AlphaGo」を頑張って理解する - Qiita
  • ファイルの先頭から表示するheadコマンドの詳細まとめ【Linuxコマンド集】

    headはファイルの先頭から数行を表示するLinuxコマンドだ。 標準では10行を表示する。 パイプで繋いで別コマンドの結果を表示する際や、ファイルの確認によく使う。 headコマンドの基動作 コマンドの基 headコマンドの基的な使い方は、次のとおりだ。デフォルトでは頭の10行を表示する形になる。 $ head ファイル名 /etc/sensors3.confの先頭から10行を表示するには次のコマンドだ。 $ head /etc/sensors3.conf /etc/sensors3.confの先頭行から10行が表示された。 ファイルの複数指定 ファイル名は複数指定でき、半角空白でつなげることができる。 例えば、/etc/passwdと/etc/groupの両方を出力したい時は次のコマンドだ。 $ head /etc/passwd /etc/group また、ファイル名にワイルドカ

    ファイルの先頭から表示するheadコマンドの詳細まとめ【Linuxコマンド集】
  • Sans Francisco - a toolkit and library for designers

    Optimal Workshop offers a suite of UX tools that help improve your website navigation, define information architecture, understand first-clicks, run surveys and capture qualitative research.

  • SNSでどれくらい拡散(バズ)されているかが確認・検索できるツールまとめ

    TwitterやInstagramでバズが起きているか調べるツール Twitterで特定の話題に対するツイート数が増えたり、Instagramで特定のワードを含んだハッシュタグの数が増えたりしていたら、それはバズの合図です。 ツールを活用し、各種SNSで起きているバズを見逃さないようにしていきましょう。 1.BuzzSUMO(バズスーモ) https://app.buzzsumo.com/discover/trending URL、キーワードをもとにSNS上で拡散しているコンテンツを分析するツールです。テーマにしたい単語を入力しフィルターを設定すれば関連コンテンツを収集し、各SNSでのシェア数を表示してくれます。どのようなコンテンツがSNSで支持されているか傾向を把握するのに役立ちます。 また、拡散するのに影響力のあるインフルエンサーを分析することも可能です。特定のコンテンツをシェアしたユ

    SNSでどれくらい拡散(バズ)されているかが確認・検索できるツールまとめ
  • 画面回転後もコールバックリスナーが途切れないDialogFragmentを作る - Qiita

    これは画面回転等で発生するActivity再生成後もコールバックを保ち続けられるDialogFragmentを出来るだけシンプルに実装できるよう汎用的な抽象ダイアログクラスを作ることを目指して試行錯誤した記事です。 ※かなりオレオレ要素が入っているので最適解ではありません! 前提条件 前提として以下を挙げます。 (a). android.app.DialogはActivity等のコントローラから直接呼び出さない Android2.xまでのDialogを直接呼び出す記述は4.x以降非推奨となっています。 メモリリークしてしまう場合があるのでDialogFragmentを使います。 (b). DialogFragment上で処理を書かない(コールバックさせる) DialogFragmnet上ではユーザーの入力のみを受け付け、その結果を元のコントローラにコールバックしてそこで処理を書くようにしま

    画面回転後もコールバックリスナーが途切れないDialogFragmentを作る - Qiita
  • 走りだしたら止まらないAndroid StudioのGradleビルドを強制的に止める方法 - Qiita

    一度Androidアプリのビルドが走り始めると、■こんな感じの停止ボタン押しても、下の☓ボタンを押しても止まらないですよね?? 下のToolWindowのTerminal開いて以下を打ち込むことで止まるのを確認できたので共有します。(もっと簡単なやり方あったら教えてください)

    走りだしたら止まらないAndroid StudioのGradleビルドを強制的に止める方法 - Qiita