Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dynalystにおける動的な画像生成

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Kurochan Kurochan
March 21, 2017

 Dynalystにおける動的な画像生成

Avatar for Kurochan

Kurochan

March 21, 2017
Tweet

More Decks by Kurochan

Other Decks in Programming

Transcript

  1. 黒崎 優太 @kuro_m88 • 株式会社サイバーエージェント ◦ AdTech Studio / Dynalyst

    エンジニア • 新卒2年目 • Scala, AWS, 自宅サーバ 査読に参加しました 今日書き終えました
  2. Scalaを始めたきっかけ • 配属されたチームがScalaしか使ってなかった ◦ 社歴 = Scala歴 • 聞いたことはあったかもしれない…? •

    Go言語も2010年くらいに力説された事があった ◦ こんなに流行るならやっとけばよかった • 今覚えるならScalaかGoかRust
  3. Scalaをやってみて • 書いて実際に使ってみないと良い書き方がわからない ◦ 既存のコード、チームのレビュー環境のおかげ • 並行、並列処理が書きやすい • よく言われるデメリット的な物はあまり感じない or

    工夫次第 or 慣れ ◦ 例: コンパイル遅い、検索しにくい ◦ スペック低めの環境で開発つらいのはどうにかしたい ◦ ハマるのはだいたいJavaっぽい箇所 • モックをすぐ作って動かす!みたいな用途には向いてなさそう
  4. • 100+ sbt subprojects • 400K+ lines • 18K+ builds

    (50 builds / day) • Running on AWS (US, JP)
  5. Scalaで画像合成 • ほぼJavaの標準クラスライブラリを利用 ◦ javax.imageio ▪ ImageIO • 画像の入出力 /

    圧縮フォーマット変換 ◦ java.awt ▪ image.BufferedImage • 画像をメモリに展開して操作するバッファ ▪ Graphics2D • 画像の操作
  6. Scalaで画像合成 • 便利なライブラリ ◦ rkalla/imgscalr ▪ 画像のリサイズに利用 ◦ sksamuel/scrimage ▪

    画像の操作がひととおり用意されている(今回は自作) 画像フィルタもある