タグ

ブックマーク / qiita.com (87)

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

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

    わかりやすい画像のdiffを求めて - Qiita
    restartr
    restartr 2017/12/23
  • MySQL InnoDBの領域管理 - Qiita

    武蔵野Advent Calendar 2017の20日目の記事です。品川から参加しています。 今日はMySQL InnoDBの領域管理について勉強し、いくつか動作例を見ながらInnoDBに対する理解を深めていきたいと思います。アプリケーション開発者やデータベース管理者の方にとって明日からすぐに使えるノウハウとまではいきませんが、いつか何かの役に立てば幸いです。 まとめ InnoDBにはテーブルスペース、セグメント、エクステント、ページというデータの管理単位があるよ エクステント単位で空き領域が管理されているよ。だけどそれを知ったところであまり役には立たないよ 昇順INSERTが得意でランダムINSERTが苦手なのはよく知られているけれど、実は降順INSERTが得意だよ テーブルスペース、セグメント、エクステント、ページ InnoDBのデータが格納されるファイルのことをテーブルスペースと呼び

    MySQL InnoDBの領域管理 - Qiita
    restartr
    restartr 2017/12/21
  • 機械学習案件を納品するのは、そんなに簡単な話じゃないから気をつけて - Qiita

    はじめに 昨日のTwitterで書いたこちらが非常に反響を呼びました。 半年間かけたデータ解析の仕事が全くうまくいかなかった 今回の失敗は契約書に納品物を明記していなかったこと 機械学習の依頼は学習済みモデルのファイルを納品しただけでは、先方は検収できず、結果支払いを受けられない この教訓をひとりでも多くの人に知ってもらいたい — キカガク代表 吉崎亮介 (@yoshizaki_kkgk) 2017年11月20日 そうなんですよね。 全く先方が悪いわけでもなく、私自身が「機械学習のお仕事=解析」だと思いこんでいたことが失敗の始まり。 結局のところ、機械学習系のプロダクトを依頼されて、学習済みモデルを作成して即納品とはいかず、検証結果を示されないと検収できないよとなってしまうので、結局アプリケーション側まで組み込まないと納得感はないんですよね。 この検証とは、訓練データと検証データを分けた時

    機械学習案件を納品するのは、そんなに簡単な話じゃないから気をつけて - Qiita
    restartr
    restartr 2017/11/21
    現状こういう受託案件をうまくやりきるのは難しそう。お客さんと研究開発として取り組めたら理想なのかな。
  • 絵文字を支える技術の紹介 - Qiita

    絵文字を扱う上で知っておくと良いかもしれないことをまとめてみました。 Ruiさんの記事を見て、「EmojiはSurrogate Pair以外にも、色々とおもしろい技術があるんですよ〜」思って書いてみました。 なお、書いた人はAndroidの人間なので、特に表記していない場合は主にAndroid上での動作のことを書いてます。 またQiita初めてなので読みにくい部分等がありましてもご容赦ください。 サロゲートペア(Surrogate Pairs) このエントリーを書くきっかけにもなったサロゲートペア。なぜこれが導入されたかの経緯は、Ruiさんのブログエントリーに譲るとして、技術的な解説をします。 サロゲートペアは、U+0000..U+FFFFに収まりきらなかった範囲のUnicodeコードポイント(U+10000..U+10FFFF)を、なんとか16bitでエンコードしようとして導入されました

    絵文字を支える技術の紹介 - Qiita
  • step by stepで始めるKarma - Qiita

    Karmaを使うことでフロントエンドの単体テストを楽しくかつ機能的に行うことができます。 ステップを通して少しづつ理解できるように執筆しました。 また、最後に重要だろうと思われる補足内容を記載しました。 Karmaの導入に一役買えれば幸いです。 テスト全体の流れについては以前書いた記事フロントエンドにテストを導入を参照してください。 Karmaとは ブラウザ上で 単体テストを実行するためのテストランナーです。 テストを実行するだけでなくファイルの変更監視や結果のレポートを出力してくれたりと単体テストに必要な機能が一通りそろっています。 特定のフレームワームに依存しておらず汎用的に使えるツールで、プラグインを使った機能の拡張が強力です。 前提 Nodejs,npm,chromeが導入済みであること 流れ Karmaは4つの大きな機能(プラグイン)が存在します。 Step 3 〜 Step 6

    step by stepで始めるKarma - Qiita
  • 【2018年版】React NativeでiOSアプリを作ってストアでリリースしてみた - Qiita

    はじめに React Nativeでの開発が全体的にどんな感じか掴みたかったので、小さなアプリを開発し、App Storeでリリースしてみました。 プロジェクト作成からストアでのリリースまでの間、開発中に出てきたテーマを振り返ってみます。(React Nativeの概要や特徴の解説については、他の方の記事をご覧ください。) 今回の一連の開発を通して、現段階ではネイティブ側(Xcode)を触らないといけない場面がちらほらあるということが分かりました。 ※記事執筆時点のReact Nativeのバージョンは0.43です ※2020年に別のアプリを作った記事を投稿しました【2020年版】 React NativeでiOSアプリを作ってストアでリリースしてみた - Qiita ※筆者はiOSアプリの開発経験者です(Swift, Objective-C) ご注意 記事の執筆時点に対して、最新のRe

    【2018年版】React NativeでiOSアプリを作ってストアでリリースしてみた - Qiita
    restartr
    restartr 2017/04/21
  • Docker multi stage buildで変わるDockerfileの常識 - Qiita

    Dockerイメージのサイズを1バイトでも削りたい皆さんに朗報です。 もうすぐリリースされるDocker 17.05でmulti stage buildという機能が導入される予定です。 こいつはこれまでのDockerfileの常識を覆す革新的な機能なのです。 Docker 17.05は稿執筆時点では2017/05/03リリース予定となっており、現在はRC版が出てるので、気になる新機能を一足早くで試してみた。(2017/05/07追記:最終的に2017/05/04に正式リリースされました) とりあえずこの新しいシンタックスのDockerfileを見てほしい。 FROM golang:alpine AS build-env ADD . /work WORKDIR /work RUN go build -o hello main.go FROM busybox COPY --from=buil

    Docker multi stage buildで変わるDockerfileの常識 - Qiita
  • react-railsを使ってReactのTutorialをやってみる - Qiita

    はじめに react-railsという、ReactをAsset Pipelineに乗せて使えるようにしてくれるruby gemsがある。 この記事では、これを使用してReactの公式tutorialを進めていく。 公式のtutorialではサーバ側はすでに実装済みとして進んでいる。 今回はせっかくなのでtutorialを進める中でサーバ側も実装していくことにする。 ちなみに使ってみた個人的な感想としては、RailsのAsset Pipelineに乗せるならすごく順当かなー、という感じ。 browserifyを使いたい。bowerもオワコンと呼ばれてしまう。そんなこの時代。 Asset Pipelineは捨てたい感じがあるけど、既存のアプリケーションを徐々にReactコンポーネント化していく、みたいな時には良いと思う。 方針 きまぐれで、必要そうなところはReactの説明する。けど英訳とかは

    react-railsを使ってReactのTutorialをやってみる - Qiita
  • 【デザイナー向け】これからAndroidのデザインをする人へ - Qiita

    はじめに 自己紹介 私は日Androidが上陸したAndroid 1.6の時代(2009年頃)からAndroidの開発者としてAndroid7系になった今も(執筆時2017年)Androidエンジニアを続けています。 Android歴史をずっと側で見守り続けた私がエンジニア目線で思っている事を述べるので、これからAndroidのデザインをするデザイナーに見て頂きたいです。 ※ この記事の内容は一個人の意見で所属先は一切関係ありません 一番言いたいこと まず、普段iPhoneを使っているデザイナーは最新もしくは1つ前のOSが入ったAndroid端末をメイン端末とまではいかなくても2台持ちにして常用して下さい。 ハッキリ言ってこれが全てです!! 良さ気なUIのアプリを一通り入れて数十分触るだけでは全く意味がありません。 Androidの良さは通知やIntentと呼ばれるアプリ間の密な連携

    【デザイナー向け】これからAndroidのデザインをする人へ - Qiita
  • コミットは作業ログではない! - Qiita

    いきなりだけど、こんなコミット、よく見ない? (例1とする) 見た瞬間に腕まくりして修正依頼と理由を書き出したくなっちゃう感じ! これが良くない理由を、持論だけど挙げてみるよ このコミットについて コミットは作業単位でするものではない プルリクエスト(以下 PR)をレビューする側に立って考えるとよくわかるのだけど、 PRレビューをする人が欲しているのは(= masterブランチが欲している、チームが欲していると言っても良い)作業者の作業ログではない。 レビューする人にとって、そのPR作成者が「どれくらいの時間をかけた」とか「休日もコミットを重ねてた」とか 「何ファイルも直さなくちゃあならなくて大変だった」とか「いつどこでブランチを切り換えて自分の出したPRを見てくれていた」とか、 そんなことはぶっちゃけ全く興味がないんだ。 欲しいのは「生成物と成果」であって、それを「どの様な作業工程」で作

    コミットは作業ログではない! - Qiita
    restartr
    restartr 2017/02/22
    気持ちはわかる。けど、PRで簡潔に箇条書きしてもらうだけでレビューコストは十分に下げられる。
  • Keyboard Layout Analyzerを使ったキー配列12種類の比較 - Qiita

    下記リンク内の使用頻度とは最大で1%程度の誤差がある。 Letter frequency - Wikipedia English Letter Frequency Counts おもなスコア 総合スコア 指の移動距離(33%)、特定の指の使用頻度(33%)、交互打鍵率(34%)から算出される。 高いほど良い。 Distance 指が移動した距離。 単位はメートル。 短いほど良い。 Consecutive Finger Use Dvorakなら 'LS' や 'UI' 、QWERTY配列なら 'FG' などの同じ指を使った連続入力の回数。 おそらく最も重要なスコア。 少ないほど良い。 Consecutive Hand and Thumb Use 同じ側の手を使った連続入力の回数。 少ないほど交互打鍵率が高い。 ただし親指は別のパートとして計算される。 Home Row Usage 親指のホー

    Keyboard Layout Analyzerを使ったキー配列12種類の比較 - Qiita
    restartr
    restartr 2017/02/21
    これ参考にErgoDoxの色々な配列をためしてみたい
  • Go 1.8のpluginパッケージを試してみる - Qiita

    はじめに 来年2月に正式リリース予定のGo 1.8にて、新たにpluginパッケージが仲間入りします。これはGoでプラグインの仕組みを実現するものです。 プラグインはGoで作成されたシェアードライブラリー(.so)ファイルであり、中身はmainパッケージでエクスポートされた(=名前が大文字で始まる)変数と関数で構成されます。 このプラグインの実装を12月1日に公開されたGo 1.8 beta 1で試してみた時はLinuxmacOSのみが対応していましたが、12月16日に公開されたGo 1.8 beta 2からはLinuxのみ対応となっています。(macOSGo 1.9で対応予定) ここではプラグインのコーディングの仕方をざっくりと紹介させて頂きます。詳細については公式ベータサイトのpluginパッケージのドキュメントをご覧ください。 ファイル目線でのコーディングの流れ ファイル目線での

    Go 1.8のpluginパッケージを試してみる - Qiita
  • 趣味用に安く深層学習PCを作った - Qiita

    趣味でディープラーニングで遊ぶためのPCを作ったので、メモ。 前提 趣味ならクラウドでいいじゃん、と思われるかもしれないが、AWSGPUインスタンスだと1時間に100円くらい取られる。GAN系の画像の生成とかやりたい時は、様々なパターンを試してみて、いいものができるか試行錯誤するので、結構使う。 AWS止め忘れて過大な請求くるのも怖い。あくまで趣味の範囲なので、のびのびと遊べるローカル環境の構築を行った。 もともと使ってたPCは、 Intel Core i7 4770 メモリ8G GTX 750Ti に、Ubuntu入れて使っていた。色々できないので、ディープラーニング専用機を構築しようと決意。 GPU まずはGPU趣味用とは言え、GPUをケチるとやりたいことができない。特にメモリサイズは重要。モデルの読み込みに支障が出たり、学習時のバッチサイズに影響が出てくる。 2016/1/30現

    趣味用に安く深層学習PCを作った - Qiita
    restartr
    restartr 2017/01/31
  • Goでビルドが遅くなってきたらやってること - Qiita

    自分のプロジェクトでビルドの速度低下が問題になりつつあったので、原因になっていそうなライブラリを事前にビルドして、$GOPATH/pkgにアーカイブをインストールしたら、ビルドが速くなったので大変ありがたかったというお話です。 やること go build に -i を付けてビルドする。ただそれだけです。 そこそこのコード量があるgithub.com/aws/aws-sdk-goを利用する自前のコードがあったので、こちらで試してみます。 まずはフルビルドしてみる まずは -a 付けてフルビルドすると、どれくらいかかるか見てみます。 $ time go build -a ./main.go go build -a ./main.go 28.13s user 4.30s system 223% cpu 14.517 total

    Goでビルドが遅くなってきたらやってること - Qiita
  • Linux Kernel 3.0以降について調べてみた - Qiita

    長いので太字で要点 絞るためにGPU、仮想関係は省いてます。 NWが長くなったので分割 http://qiita.com/bringer1092/items/b6cd96a7f7db7121e8a7 I/Oが長くなったので分割 http://qiita.com/bringer1092/items/4a62ec6ab62b896ab611 ハードウェアサポート 4.6 USB 3.1 SuperSpeedPlus (10 Gbps) support USB3.1のサポート SuperSpeedPlus (10 Gbps)サポート 4.12 USB Type-C support USB Type-Cのサポート Type-Cについて調べるとUSB PD(最大100Wの電力)規格、映像出力用に対応 セキュリティ周り 何を載せるか粒度が人によって大きく異るが 3.11 New O_TMPFILE o

    Linux Kernel 3.0以降について調べてみた - Qiita
  • Go 1.8 の HTTP Server Graceful Shutdown を試す - Qiita

    Go 1.8 で net/http パッケージに Server.Shutdown メソッドが追加されます。 シグネチャはこちら: srv := &http.Server{Addr: ":8080"} // サーバはブロックするので別の goroutine で実行する go func() { if err := srv.ListenAndServe(); err != nil { log.Print(err) } }() // シグナルを待つ sigCh := make(chan os.Signal, 1) signal.Notify(sigCh, syscall.SIGTERM) <-sigCh // シグナルを受け取ったらShutdown ctx, _ := context.WithTimeout(context.Background(), 5*time.Second) if err :

    Go 1.8 の HTTP Server Graceful Shutdown を試す - Qiita
  • printf入門 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    printf入門 - Qiita
    restartr
    restartr 2016/12/22
    と思ったら消えてる
  • マイクロサービス時代に捧ぐ、Railsでの中規模APIサーバ開発のための技術構成 - Qiita

    初めまして、qsona (tw) と申します。Ruby on Rails Advent Calendar 2016 6日目の記事になります。 Rails歴は10ヶ月で、もちろんAdvent Calendarへの参戦も初です。 全体的に生意気な内容と思いますが、 じゃんじゃんマサカリ投げてください お手柔らかにお願いします。 はじめに 環境 JSONを返すAPIで、データベースはRDBを想定してます。 あんまり関係ないですが一応、Rails5 (api mode) + MySQLを想定しています。 マイクロサービスとしてのバックエンドに使う技術スタックの必要な要件 マイクロサービスの良いところは、サービスごとに合った別々の技術が使えるということです。 とはいえ、一般的な組織であれば、学習コストの面などから、ファーストチョイスとなる言語があり、普通の要件に対してはその言語を使う、ということにな

    マイクロサービス時代に捧ぐ、Railsでの中規模APIサーバ開発のための技術構成 - Qiita
    restartr
    restartr 2016/12/08
    マイクロサービスのことはいったん忘れてもよさそうです
  • フリーランスになって、嫌な思い出 - Qiita

    まあ、「フリーランスエンジニア」という、名称はカッコイイですが、 実情は使い捨ての派遣エンジニアです。 もっと言い方を悪くすれば、フリーターです。 数年フリーランスで働いていれば、嫌なことや嬉しいこともあるので、 今日は先に嫌なことを書きます。 嫌な事その1「人間として扱われなかった」 とある大手ベンチャー企業に某C社の紹介でSESで働くことになりました。 まあ、よくある労働時間精算の準委任委託請負業務で、業務の指示は 常駐先の上司から指示を受けるが、納品物を保障しない形式です。 面接の時に、「そこまで早くコードは書けないし、Githubも苦手です。」と 嘘偽り無く申し出ました。 案の定、GitのCommit時に謎のエラーで手間取ってしまったり、ソースコードを 書くのが若者に比べて遅かったりして、その分を取り戻そうと、早く来て、遅く まで作業をしていました。 特に、その作業を指示した上司

    フリーランスになって、嫌な思い出 - Qiita
    restartr
    restartr 2016/12/04
    うーむ、、、依頼主が商談時点で見極められなかっただけともとれるが…
  • ニューラルかな漢字変換 - Qiita

    3行まとめ Recurrent Neural Networkによるかな漢字変換をTensorFlowを使って実装しました。 既存手法のN-gramと比べて高い精度(文正解率2.7ポイント向上・予測変換3.8ポイント向上)を実現しました。 RNNの特性により離れた単語の共起関係と低頻度語の扱いが改善されました。 かな漢字変換とN-gramモデルの限界 パソコンやスマートフォンで日語を入力するためのかな漢字変換には、同音異義語や単語区切りに曖昧さがあります。この問題に対処するため、現在は大規模な訓練データに基づく統計的言語モデルが主流になりました。その中でも代表的な単語のN-gramモデル1では、連続する単語列の頻度を使って言語モデルを構成し、変換候補の確率が高いほど順位が高いと考えます。 しかし、N-gramモデルには離れた単語の共起関係を考慮できないという問題点(マルコフ性)と、低頻度語

    ニューラルかな漢字変換 - Qiita