261

IT系のカンファレンスに参加した話などを書いています

nuconに参加してきました。

2・4(火) nuconに参加してきました。

以前からCaCooを使用していたこともあってどんな話がきけるのか楽しみでした。

nucon

参加したprogram

  • 開発者が語るヌーラボAPI
  • Cacooを支える技術
  • 職人任せにしないインフラ構築
  • いまどきのリアルタイムコラボレーションツールの作り方

全体的な印象としてそれほど技術で真新しいというか、先進的なことを しているわけではない模様。 CacooでStateパターンとコマンドパターン使って オブジェクトを制御している話はですよねーという感じだし。 新しい技術使えばいいってわけじゃないから、この辺のバランス感覚というか 例えば、インフラ整備のツールにchefではないツールを選んだ理由が 社員がpython得意だからとか、会社で向いてる方向が揃っているのは 会社の風通しがいいということなんだろうか。

Cacooの共同作業や、GUI系のツール作っているところで頭を 抱えるのがテストどうしようかってことだと思うので質問してみたけど 回答は手作業とのことだった。 それであれだけ安定して動いているんだから そもそも安定するシステムを構築する技術に長けてるってことなんでしょう。

Commandパターンはそういえばあったなそんなのと思い出すことができてデザインパターンやり直そうと思たし、共同作業の実現のノウハウを聞けて良かったです。参加したかいがありました。

以下、余談

質問してみた

いまどきのリアルタイムコラボレーションツールの作り方にて

Q テストはどうやっているのか

A 手作業(セレニウムなどを検討している)

Q テスト部隊がいる?

A No

Q.さすがにコマンドは自動でテストしてるでしょ?

A No

参加登録してみた

nuconの開催メールを受け取ってするぐに参加の申し込みを したのにも関わらず前日に確認したら登録されていなくて焦った。 当日行ってみたら普通に参加できてなんのための参加登録だったのか。。

以下、備忘録的なメモ

↓の資料を見ればわかることでもある。

NUCON 資料を公開しました! | Nulab 日本語ブログ

program

  • 開発者が語るヌーラボAPI

  • Cacooを支える技術

  • 職人任せにしないインフラ構築

  • いまどきのリアルタイムコラボレーションツールの作り方

全体的に同じ話を聞くことが多かった。 リハーサルやってないのかな?

開発者が語るヌーラボAPI

  • 3つのサービス
  • backlog 2008 リリース
  • cacoo 2009 リリース
  • typetalk 2014 リリース

それぞれのサービスで使用できるAPIについて説明 知らない用語が多い

  • backlog
    • WevDAV
  • Cacoo
    • APIのみのSDKもリリースしている。
  • TypeTalk
    • 一番新しいからangra.jsとか使ってるらしい
    • メッセージの投稿・削除が可能
    • bot作ってbacklogと合わせてって使い方を想像しているらしい
    • 公式アプリよりいいもの作ってみろとの煽り(w
  • 今後→開発者のサポートを強化
    • ウェブサイトの整備
    • APIドキュメントの整備
    • 入門Doc, sampleアプリ、オンラインコミュニティの作成
    • Githubにnulabのソースあるからみてねー nulab github

Cacooを支える技術

ミドルウェアの話半分、アーキテクチャの話半分

  • ミドルウェア

  • アーキテクチャ

    • オブジェクトの状態
      • stateパターンで管理
      • ex)
        • Normal
        • Selected Normal
        • Line end
        • Line start
    • ユーザのデータ
      • commandパターンで管理
        • add
        • translate
        • delete
        • etc..etc
    • 共同編集
      • 後述
  • 今Cacooを作るなら

    • canvas, css3
    • JSONオブジェクト
    • socket.ioでサーバーサイドpush
    • HTML5にしたときの課題
      • 画像の拡縮に対応するためSVGが必要
      • 当たり判定が面倒
      • 再描画範囲を限定する処理が必要
  • 今後
    • ローカルアプリとの連携
    • GPU対応してモバイルで使えるようにする
    • 1部HTML5に対応していく

職人任せにしないインフラ構築

つまり、ツールを使って冪等性をあげようという話。

いまどきのリアルタイムコラボレーションツールの作り方

  • backlog ポーリングの監視
  • Cacoo
    • コマンドでスタック
    • 競合したら失敗を返して自分のコマンドを削除
    • 相手のコマンドを実行。問題なければ自分のコマンドを実行する。
    • 問題ないかの判定は以下
      • 同一オブジェクトはダメ
      • シートがあるか
      • プロパティ単位で監視
  • TypeTalk
    • イベントのバケツリレーになっていて 作る側が楽を出来るようになっている

    • node.js, redisによるキャッシュとストリーミングサーバで云々

質問してみた

  • Q テストはどうやっているのか
    1. 手作業
    2. レニウムなどを検討している
    1. テスト部隊がいる?
    1. No
  • Q.さすがにコマンドは自動でテストしてるでしょ?
    1. No