タグ

2017年6月16日のブックマーク (15件)

  • Spark MLlibの実装を読み解いてみる | DevelopersIO

    こんにちは、小澤です。 今回は、Sparkの機械学習ライブラリであるMLlibがどのように実装されているのかを見てみましょう。 MLlibには、mllibパッケージとmlパッケージの2つがあります。 mlのほうが新しいパッケージとなりますので、こちらに含まれるものを見ていくことにしましょう。 はじめに 今回は、Apache Sparkのソースコードを多数掲載しています。 これらのライセンスに関しては省略していますが、すべてApache License 2.0となっています。 Apache Sparkのライセンス表記に関しては、LICENSEをご覧ください。 また、今回は個々の処理の細かい実装を追っていくことを目的とするわけではなく、Pipelienを利用したMLlibの処理の流れとしてどのようになっているのかを見ていくことを目的としています。 そのため、すべてのソースの解説をするわけではあ

    Spark MLlibの実装を読み解いてみる | DevelopersIO
  • AWS・GCPのNVMeディスクの性能比較 | CyberAgent Developers Blog

    技術部の柘植です。今回は技術部サービスリライアビリティグループで1ヶ月間インターン生として参加してくれた漆田さんの記事になります。 はじめに はじめまして。技術部サービスリライアビリティグループ(以下SRG)の漆田と申します。SRGは大きく4つのチームに分かれており、その中のWIGというチームに、インターン生として1ヶ月間お世話になりました。 唐突に話が変わりますが、ちょうど私がインターンに来た頃に、AWSがNVMeストレージを備えたI3というインスタンスをリリースしました。このようにNVMeを提供するクラウドサービスが増えてくると、各社のディスクの性能やその特徴を基に適切なものを選択したい、という希望がわいてきます。 これに伴い、AWSGCP、プライベートクラウドの3通りでNVMeストレージの性能を比較することにしました。今回の記事ではその検証結果を報告します。 NVMeって?

    AWS・GCPのNVMeディスクの性能比較 | CyberAgent Developers Blog
  • TDD of Infrastructure as Code on CircleCI 2.0

    概要Docker + Ansible + ServerSpec + CircleCI 2.0でTDDなCIビルドを行う話です。 今僕が在籍している企業では、プロビジョニング周りはAWS OpsWorksで管理されており、Chefのカスタマイズレシピが適用されて、ポンっと環境が構築されます。 個人的にはChefとItamaeの運用はしたことがありますが、OpsWorksを除けばAnsibleの方がStar数も多く活発に使われていそうなのと、どうせならDockerとServerSpecを使ってポータブルなテスト環境を作ってみよう、それをCircleCI2.0で効率的に回そう、と思い立って、やってみました。 ディレクトリ構成. ├── Dockerfile ├── README.md ├── ansible │ ├── ansible.cfg │ ├── ci.yml │ ├── circlec

    TDD of Infrastructure as Code on CircleCI 2.0
  • 能動学習で効率的に教師データを作るツールをGoで書いた - yasuhisa's blog

    みなさん、教師データ作ってますか?! 機械学習のツールも多くなり、データがあれば簡単に機械学習で問題を解ける環境が整ってきました。しかし、データ作成は重要ながらも未だに大変な作業です。最近、私もいくつかのドメインで教師データを作る機会があったので、能動学習を使ってコマンドラインから簡単に教師データ作成(アノテーション)ができるツールを作ってみました。 今回は能動学習で教師データを作る意義と、作ったツールの使い方について簡単に書きます。 問題設定 能動学習を使って教師データを効率的にアノテーション go-active-learningを試してみる ダウンロード/インストール 能動学習でアノテーション おまけ: Go言語を使って得られた効用/感想 問題設定 例があったほうが説明しやすいので、問題設定を先に。 あなたはエンジニアが集まるSlackチャンネルに、最近人気の技術エントリを定期的に投稿

    能動学習で効率的に教師データを作るツールをGoで書いた - yasuhisa's blog
  • Rails Developers Meetup で綺麗なテストコードの書き方について発表した - おもしろwebサービス開発日記

    昨日のRails Developers Meetupで綺麗なテストコードの書き方について発表してきました。 Rails Developers Meetup #1(東京会場) - connpass 資料はこちら 余談 もともと数年前くらいから、テストコードの書き方についてまとめたいなーと思っていたのですがなかなかキッカケがなくて手を付けられていませんでした。今回のミートアップ駆動で一通り形にするところまでいけて今とてもスッキリした気持ちです 😇 もっと多くの人にテストコードの書き方を意識してもらいたいので、また機会があればどこかで喋りたいですね。 昨日発表した内容はGitHubリポジトリにまとめたものの一部です。綺麗なテストコードの書き方について詳しく知りたい方は下記のリンクからどうぞ。 willnet/rspec-style-guide お願い 今回まとめた内容はあくまで僕が考えるテスト

    Rails Developers Meetup で綺麗なテストコードの書き方について発表した - おもしろwebサービス開発日記
  • dockerコンテナ自動テストツール dgossを使ってみた - Qiita

    はじめに gossのラッパーでdockerコンテナを自動テストできるdgossというツールを見つけたので使ってみた gossとは golang製のserverspecのようなもの テスト定義はYAMLで記述 実行環境はバイナリファイル1つを配置するだけ goss add/goss autoaddコマンドである程度はテスト定義YAMLを自動生成できる dgossとは 前述のとおりgossのラッパー gossと同様のYAMLdockerコンテナをテストできる 今回の目的 dgossの使い方を確認すること 今回のゴール nginxdockerイメージを作成 そのイメージをdgossを使ってテストできることを確認 使用する環境 Mac OS X Yosemite Docker for Mac 17.03.1 テスト対象のdockerイメージ作成 ※今回のテーマではない部分なので読み飛ばしてオケ

    dockerコンテナ自動テストツール dgossを使ってみた - Qiita
  • 公証人に認証された電子署名済みの電磁的記録を検証する - Qiita

    はじめに 経緯 私個人が作成・電子署名したPDF形式の電子文書を、公証役場の公証人に認証してもらい、認証済みの文書一式を受け取りました。ただ、この文書は当に私が作成したものなのか、また当に公証人が認証したものなのか、検証する方法が一見して分からなかったので、検証方法を調査しました。なお、私は士業ではありません。 筆者の環境 Acrobat Reader DC Cygwin openssl 1.0.2k xmlsec1 1.2.24 Windows 10 Pro 64ビット 作成者の署名の検証 証明書と署名の検証 PDFは、個人番号カード(マイナンバーカード)に入っている署名用電子証明書により電子署名されたものです。この証明書の発行者は地方公共団体情報システム機構の公的個人認証サービス署名用認証局であり、これはルートCAです。すなわち、発行者の証明書は自己署名証明書となります。 発行者の

    公証人に認証された電子署名済みの電磁的記録を検証する - Qiita
  • コード化された UI テストをさまざまなブラウザで - Qiita

    ゴール Web アプリをテスト さまざまなブラウザで テストコードは共有したい 環境: Visual Studio 2017 前半:コード化された UI テスト 公式ページ UI オートメーションを使用してコードをテストする https://msdn.microsoft.com/ja-jp/library/dd286726.aspx 1. テストを追加 コード化された UI テスト プロジェクト を追加する 2つ目以降の CodedUITest を追加するには プロジェクトを右クリック > 追加 > コード化された UI テスト トラブルシューティング: コード化された UI テストが無い Visual Studio のメニューに コード化された UI テスト が無い 次のコンポーネントのインストールが必要 Visual Studio Installer > Visual Studio E

    コード化された UI テストをさまざまなブラウザで - Qiita
  • pixivを常時HTTPS化するまでの道のり(前編) - pixiv inside

    ピクシブ株式会社で開発基盤チームとして働いている @catatsuy です。主にpixiv技術的な改善をしていますが、広告チームも兼任しているので広告周りの開発もしています。 今回pixivの常時HTTPS化を担当したのでやったことを紹介します。 pixivをHTTPS化した理由 現在のインターネット全体の流れとして常時HTTPS化が進んでいます。エドワード・スノーデン - Wikipediaが暴露したNSAの事件発覚や 公衆無線LANの利用拡大により、通信経路上でユーザーの個人情報を保護することがインターネット全体として非常に重要になってきました。Googleが行っている調査によると、HTTPSページの閲覧時間はウェブ全体の利用時間の3分の2にも及びます。 それだけではありません。ブラウザに新しく追加されるAPIや機能(HTTP2/WebRTC/ServiceWorkerなど)はHTT

    pixivを常時HTTPS化するまでの道のり(前編) - pixiv inside
  • メルカリのデータサイエンスチームと分析エコシステムのはなし | メルカリエンジニアリング

    ※各プロダクト名の頭の”Google”は省略しています ※もちろん実際にはGoogle社のツール以外にも様々な分析用プロダクトが使われています 各ツールの詳細についてはWeb上の良質な情報がたくさんあるので、説明はそちらに譲るとして、ここではそれぞれの簡単な特徴とメルカリでの活用の仕方について主に述べていきます。 ◆ 1.BigQuery “弊社分析の中核的存在” 利用シーン: データの集計 どんなツールか Google BigQuery SQLの超速いやつ どんな大きなデータでも、複雑なクエリでも、高速で結果を返してくれる頼れるアニキ メルカリの分析での使い方 速いは正義 メルカリは多くのユーザを抱えているため、そのログデータも非常に巨大です。 そのため、通常のSQLでは計算に時間がかかりすぎるということが多々発生します。 BigQueryは とにかく「高速」の一言。なのでトライアンドエ

    メルカリのデータサイエンスチームと分析エコシステムのはなし | メルカリエンジニアリング
  • ZABBIX: NWのI/F情報をローレベルディスカバリ機能でうまい具合に料理する - Qiita

    問題 Zabbixのローレベルディスカバリ(LLD)は便利ですよね。 けど、ネットワーク機器に対してテンプレートをそのまま利用すると、 上記のように、アイテム数が多くなって(1つのインターフェース毎に8アイテム)大変です。 当にモニタリングしたいI/Fは、数ポートしかないのに… かと言って、DiscoveryのFilterでいちいち、I/F情報を羅列するのも面倒。 そんな悩みありませんか? やりたいこと モニタリングしたいI/Fって、通常であればコンフィグでDescriptionの記載をしているでしょう(下記のように)。だったら、Description記載=(イコール)モニタリング対象にすれば良い!! つまり、MIBの"ifAlias"の情報に、特定の文字"##"が含まれていれば、モニタリング対象のI/Fであると決めることで、アイテム数を最小限に抑えることができます。 これで、もし数十台

    ZABBIX: NWのI/F情報をローレベルディスカバリ機能でうまい具合に料理する - Qiita
  • 第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp

    第458回ではUbuntuにおけるDockerのインストール方法を紹介しました。ところでDockerと同じコンテナ技術を利用したソフトウェアとして「LXD」が存在します。このLXDとDockerは排他的な存在ではなく、用途にあわせて組み合わせて使うと便利なツールです。そこで今回はLXDで作った仮想環境上でDockerコンテナを動かす方法を紹介します。 LXDの上でDockerを使う Dockerと同様にカーネルのコンテナ技術を利用したソフトウェアのひとつにLXDが存在します。Dockerがひとつのコンテナでひとつのアプリケーションを動かす「アプリケーションコンテナ」としての利用をメインに据えているのに対して、LXDは軽量な仮想マシンのように使える「システムコンテナ」としての使い方を提案していることがもっとも大きな違いです[1]⁠。 両者の具体的な違いを見ていきましょう。ちなみに個々の環境や

    第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp
  • ソシャゲ開発経験から学んだゲームに Redis を使う際の Tips

    近年の KVS では割と Redis が覇権を取っていることもあり(当社比), 社内の多くのプロジェクトで Redis を使用するようになりました. ということでノウハウ的なのも溜まってきたのでまとめたいと思います. (大量のユーザーデータを扱うソシャゲにしか当てはまらない部分もあるかと思います) 単純にパフォーマンスを RDB < Redis と思い込んでとりあえずでキャッシュしない 「Redis は速い」と言われますが, インデックスをちゃんと貼った RDB のクエリも そこまで遅いわけではありません. 結局通信コストの方が遥かに大きいので内部の 取得時間差はトータルで考えると多くの場合誤差です. 特に RDB の主キーのみで取得できるようなデータを Redis にキャッシュすることに メリットはありません. キャッシュするコードを書くコストの方が高くつきます. キャッシュするのは R

    ソシャゲ開発経験から学んだゲームに Redis を使う際の Tips
  • WebAPI でファイルをアップロードする方法アレコレ - Qiita

    WebAPI を開発していると、ファイルを扱いたい場面に出くわすこともあると思います。 ただ、いざ WebAPI にファイルアップロードの仕組みを入れようとすると、いまいちしっくり来る方法がわからず、悩んだりするのではないでしょうか。 今回は実サービスの例を踏まえつつ、どのような方法が使われていて、何がベストプラクティスなのかを検討しようと思います。 ファイルの送信方法 モダンな RESTful WebAPI では、だいたい JSON でデータがやりとりされていると思いますが、この中にファイルの概念を入れようとすると、特に Input(ファイル送信)のやり方に悩むのではないかと思います。 世の中の WebAPI をざっと見てみると、ファイル送信については主に「multipart/form-data」と「Base64 エンコード」のどちらかが使われていることがわかります。 では、それぞれの特

    WebAPI でファイルをアップロードする方法アレコレ - Qiita
  • [実験] 静的コード解析ツールはどの程度バグや脆弱性を検出できるのか? ~ SonarQube編 - Qiita

    静的コード解析ツールはバグや脆弱性をどの程度検出できるのでしょうか? 前回、FindBugsでバグだらけのWebアプリケーションを解析してみましたが、今回はSonarQubeで解析してみました。 検証内容 バグだらけのWebアプリケーション(EasyBuggy 1.3.3)が、現在実装済みのバグや脆弱性は以下の80種類です。 障害 デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) ネットワークソケットリーク データベースコネクションリーク ファイルディスクリプタリーク スレッドリーク 文字化け 整数オーバーフロー 丸め誤差 打ち切り誤差 情報落ち 脆弱性 XSS (クロスサイトスクリプティング) SQLインジェクション LDAPインジェク

    [実験] 静的コード解析ツールはどの程度バグや脆弱性を検出できるのか? ~ SonarQube編 - Qiita