タグ

2017年12月22日のブックマーク (9件)

  • わかりやすい画像のdiffを求めて - Qiita

    どうも。フロントエンドエンジニアの @Quramy です。 さて、前回、1日10万枚の画像を検証するためにやったことで書いているとおり、reg-suitという画像に特化した回帰テストツールをメンテしています。 画像回帰テストという文脈において、差分の可視化方法はとても重要なファクターです。なぜなら、画像(=スナップショット)に差分が発生したからといって、それすなわち棄却、というわけではなく、その差分の内容を判断して、意図せぬ変更であれば棄却、意図した変更であればexpectedを更新する必要があります。すなわち、ワークフローに目視による差分のレビューが発生するのです。 そこで、少しだけ異なる2枚の画像について差分を効果的に可視化する、というテーマに向き合ってみました。 主にC++OpenCVでの実装ですが、これらの知識が無くとも読めるよう、コードやAPIへの言及を少なくして、中間画像で説

    わかりやすい画像のdiffを求めて - Qiita
  • Vimで挿入モードに入ったり出たりした時にIMEをコントロールする - Qiita

    この記事はVim2 Advent Calendar 2017の19日の記事(代打)です。 この記事ではmacOS High Sierraでvimの挿入モードに入ったり、挿入モードから出た時にIMEの状態を自動で切り替える方法を説明します。 私はATOKを使っていますが、標準の日本語入力Google IMEを使っていても少しの修正で使えると思います。 挙動としては、挿入モードを抜けた時にIMEの状態を記憶して、挿入モードに入ったときに復元する感じです。 まず最初に、環境設定>キーボード>入力ソースでお好みの英語の入力用ソースを追加します。私の場合はU.S.を追加しました。 結果として入力ソースは以下の画像のようになります。 そして、macOSのIMEをcliで切り替えたりできる、swim を入れます。 IMEを切り替えながら swim list --current を使って、日語と英語

    Vimで挿入モードに入ったり出たりした時にIMEをコントロールする - Qiita
  • Vim optionの設定/参照方法いろいろ - Qiita

    この記事は Vim Advent Calendar 2017、22日目の記事です。 Vimには様々なoptionがありますが、 記事ではoptionの設定/参照方法についてご紹介していきます。 optionの種類毎の設定方法 optionにはいくつかの種類があります。 切替(boolean) 数値 文字列 対象のオプションが何に該当するかは:h 'option_name'で確認できます。 以下ではそれぞれの設定方法について記載していきます。 切替(boolean) number, wrap, equalalwaysなどが該当します。 切替オプションの場合には:set option_nameという形でオンに変更できます。

    Vim optionの設定/参照方法いろいろ - Qiita
    tmsanrinsha
    tmsanrinsha 2017/12/22
    OptionSet: オプションが設定された後に発火するイベント
  • 長文日記

    長文日記
  • ctag, gtagsで超捗るコードリーディング - Qiita

    vimmerのみなさん初めまして。 vimアドベントカレンダー20日目です。 今回はvimでコードリーディングするのに必須であろうツール、ctagsとgtagsについて設定例も交えながら紹介しようと思います。 色々と導入に手こずった結果、今の自分の環境に沿う形になります。 補足(2019/09/26) 今であればLSPを導入して、そちらで定義と参照へのジャンプをするのをお勧めします。 https://qiita.com/coil_msp123/items/29de76b035dd28af77a9 お詫び maclinuxの両方でインストールできるようにしたかったのですが、メインマシンのlinux(debian)の方で再現しようとして再インストールしたらgtagsが動かなくなりました...orz助けて(調査します) 仮想環境でのdebianでの再インストール、および新規のubuntuでのイ

    ctag, gtagsで超捗るコードリーディング - Qiita
  • Goでテストを書く(テストの実装パターン集) - Qiita

    Goでテストを書くお話です。 基的なところから、応用的なテストの書き方(パターン?)をまとめておくことにしました。 ポイントを先に列挙します: テストのエラーメッセージは丁寧に書こう テーブルテストを活用してパターンを整理しながら網羅しよう t.Runをつかって大きなテストを分割しよう t.Helperをつかってテストエラーの箇所をわかりやすくしよう テスト用のデータは testdata ディレクトリに置こう Setup/Teardownをうまく書いてテストの見通しをよくしよう 等 では、見ていきましょう。

    Goでテストを書く(テストの実装パターン集) - Qiita
  • 40行以内で正規表現エンジンを構築 | POSTD

    最終目標は、最小限のコードで正規表現ユースケースの大部分をカバーできるくらい十分堅牢な構文を提供することです。 1文字と一致させる まずはじめに、1文字のパターンと1文字で構成される文字列を引数に取り、一致するかしないかを示すブール値を返す関数を作成してみます。1文字のパターンである . はワイルドカードとされ、任意の文字リテラルと一致します。 下記のようなかんじです matchOne('a', 'a') -> true matchOne('.', 'z') -> true matchOne('', 'h') -> true matchOne('a', 'b') -> false matchOne('p', '') -> false function matchOne(pattern, text) { if (!pattern) return true // 任意テキストが空パターンと一致

    40行以内で正規表現エンジンを構築 | POSTD
  • Bing検索の裏側―BitFunnelのアルゴリズム - Hatena Developer Blog

    はてなアプリケーションエンジニアの id:takuya-a です。 この記事では、Microsoft の検索エンジン Bing で採用された BitFunnel アルゴリズムを紹介します。 昨年のエンジニアアドベントカレンダーでは、文字列検索のアルゴリズム全般について紹介しました(文字列アルゴリズムの学びかた - Hatena Developer Blog)。今年はそのなかでも、インデックス(索引)を使った全文検索アルゴリズムについてのお話になります。 この記事の前半は全文検索の入門にもなっていますので、検索技術になじみがない方にも楽しんでいただけるのではないでしょうか。 逆に、「そんなのもう知ってるよ!」という方は、題である「BitFunnel アルゴリズムの詳細」から目を通していただければと思います。 この記事は、はてなエンジニア Advent Calendar 2017の21日目の

    Bing検索の裏側―BitFunnelのアルゴリズム - Hatena Developer Blog
  • Mackerel で仕事のがんばり具合を見える化する - ポクポク

    この記事は Mackerel Advent Calendar 2017 の21日目の記事です。 前日は id:heleeen さんの ハムスターのために監視導入したら人間のための監視もしたほうが良さそうなことがわかりました でした。湿度が上がってよかったですね。 突然ですが僕の今日の仕事の様子です。 10:05 ぐらいから仕事を始めてますね。そこから 10:40 ぐらいまで Chrome で GHE 上のレビューをしてました。10:50 分ぐらいまでの空白時間はたぶんトイレでしょう。そこから Emacs と iTerm2 をばりばり触ってるのでコードを書いていた気がします。12:30 ぐらいに一段落して、ブラウザでの動作確認やレビュー依頼を書いています。13~14:00 が昼休みなのですが、勤勉極まりない僕は 13:10 ほどまで仕事をしていたようです。午後は溜まっていたレビューを片付けて

    Mackerel で仕事のがんばり具合を見える化する - ポクポク