🍃このブログは移転しました。
3秒後、自動的に移動します・・・。

CAOS 2015 Summerいってきたメモ #caos2015

CAOS 2015 Summer - 開発効率のツール開発とオープンソース活動 : ATND

懇親会前に退散したので聞けたのは、

  • LT:Introduction to WebP
  • Android端末の動作検証:STFオープンソース公開
  • リアルタイム通信基盤:duck
  • デザイン作業効率化:ImageHayabusa

以上、4セッションでした。

一部始終はそのうちYouTubeに上がるそうなので、そちらもぜひー。

LT:Introduction to WebP

実はタイトルは間違いで、

github.com

の紹介でした。

pngやjpgなどの画像を、噂のwebpに変換してくれるGUIツールだそうな。
ImageAlphaみたいなD&Dで使えるUIでした。

っても・・。

Can I use... WebP image format

そんなwebpさんですが、対応環境が少なすぎるので、
個人的にはまだ手を出さなくてもいいかなーという感じで見てます。

Appleさまーー

Android端末の動作検証:STFオープンソース公開

github.com

モバイルの何が辛いって検証すべき相手が多すぎてそれが辛い。
Android、お前のことだ!そんなに人生長くない!

ごもっともですねー。
そこでSTF!SmartphoneTestFarm!

STFなら

Androidの実機を用意して、STFをインストールしたマシンにつないでおけば、

  • PCからブラウザを動かしたり(iOSシミュレータみたいな)
  • HWのボタン押したことにできたり(電源ボタン探すのも大変)
  • apkをD&Dでそのままインストールできたり
  • ローカルのサーバーをフォワーディングして見れたり
  • adbとかシェルコマンド打てたり
  • 他にもいろいろ(https://github.com/openstf/stf#features)

実機側で必要なのは、USBデバッグを有効にするだけ!
つなぐとダイアログでなんか聞かれたりするらしいけどOKするだけ!

とまぁ、ADBでなんやかんやできる端末を、一挙に操れるツールっぽいですね。
棚とかUSBハブとかの情報まで共有されてるので、一見の価値あり・・?w

思うところ

気軽に画面キャプチャ撮ったりできる裏では、(おそらく他のことするにも)
非公開なAPIを色々使ってるらしく、作るの大変やったんやろうなーと・・。
現状、音は拾えないが、将来的にはできるようにしたいとのこと。

CA社では、170端末がコレにつながってて動いてるらしい。
商用サービスにするかどうかはお答えできませんだそうですw

それなりに実機が用意できてないと機能せんので、個人よりはやっぱ会社が嬉しい気がしつつ、
ある程度の規模を超えると検証機もリソースも間に合ってそうな気がしてうーむ。

ハッシュタグとか追うと質疑応答も色々わかります。

ハッシュタグ #caos2015


質問拾ってもらえた!

リアルタイム通信基盤:duck

リアルタイムのメッセージングプラットフォームを作ったという話。

  • 10ms latency
  • 1M+ concurrent users

を目指したそうな。

  • サーバーはLinux系に対応
  • クライアントはgo/Nodejs/ブラウザ、各種ネイティブに対応
  • websocket/mqttで
  • json/MessagePackをやりとりする

(↑ここスライド早くてうろ覚え)

まだ社内でしか使ってない(2タイトルだけ)けど、これから増える予定で、
今のところ2000ユーザーの同時接続と、12億msg/月って実績だそうな。

そのうちOSSとして公開されるそうなので、続報を待ちましょう!
昔こういう記事があったけど、コレかね?

第66回 リアルタイムメッセージ共有を実現する社内SaaS基盤:サイバーエージェントを支える技術者たち|gihyo.jp … 技術評論社

デザイン作業効率化:ImageHayabusa

Hayabusa

OSS化はまだ未定らしいです。
なのに既に小綺麗なサイトが用意されてるあたり、CA社の愛を感じますw

デザイナーが作った元画像(PSD)を、使う人(エンジニアとか)が拡大・縮小したり減色したりフォーマットを変換したりとまぁアレコレしてたのを、
URLにパラメータつけてリクエストするだけでOK!にするプロジェクトだそうな。

たとえば、

  • /img1.width-200.optpng-3.pngquant().png ってリクエストすると
  • width: 200pxのoptpng/pngquant済のpngが返ってくる!

という具合。

PSDを置くだけで特定のレイヤーを画像として抜けたり、そのうちスプライトも作れるようにしたいとのこと。

仕組みは最初のリクエストで画像を作ってキャッシュしておいて、
以降はそのキャッシュ返すようになってるそうな。
事前にキャッシュを作るAPIもあるそうです。

URLをパースして必要なモジュールを判断し、
中ではpngquantやらOptPNGやらImageMagickかけてRedisにキャッシュ・・って感じ。

ユニークなリクエストは、URLだけじゃなくて、URL x UA x Acceptヘッダまで見て判別してるらしく、なるほどなーと。

キャッシュ壊したい時どうしてんのかな?

おわりに

やー、やっぱCA社のモバイル界隈での存在感と成果物はすごいですねー。
ありがとうございました!