ブランチ戦略の話してきた

知り合いの会社にお邪魔してgithubおじさん業してきました。以前github導入しようとしてブランチで詰んだみたいな話してたのでブランチ戦略の話してきました。

うちのチームでやってるブランチ戦略の話したけど、サービスの種類によっては堅すぎるので適度に崩したりすると良いと思います。

発表資料

雑感

  • エレベータ2基あると便利
  • オフィスオシャレだと捗りそう
  • masterブランチ1本運用、頑張ってリリースするみたいな感じがあって人間らしさがある
    • とはいえ弊社もまだ人間らしさある
  • 他の会社の話とか聞けるとめっちゃ楽しいので機会があったら今後も話したりしたい

#scalive で海未ちゃんのステマをしてきた

Scalive # 1.414 @ 西麻布ベース - connpass

という勉強会の体を装った肉会で海未ちゃんについて話してきました。とりあえず生ハムとかピザ食べながらビール飲んでダラダラやる最高にクールな勉強会で良かったです。開催、場所を提供してくださった皆様ありがとうございました。

発表資料

会場の様子

f:id:takashabe:20150124234432j:plain

f:id:takashabe:20150124234437j:plain

f:id:takashabe:20150124234441j:plain

f:id:takashabe:20150124234447j:plain

JAWS DAYS 2013 DAY 2 に行ってきた #jawsdays

JAWS DAYS 2013 | 2013/3/15(金)~16日(土)東京ビッグサイトで開催! 2日目に参戦してきたログです。

まとめやustはこちら


ここでは感想的な何かを書いておきます。

Opsの人多い

セッションはOps、Dev系にカテゴリ分けされており、Devが2セッションのみで他は全てOps系というOps色強い感じでした。
ただ実際にはOpsな人でもコード書いてたりしてOps≒Devといった感じの人が多かったように思います。Opsな人はDevのことを知る必要があるし、逆もまた然り。

Devのアーキテクチャの話

Devのセッションは以下の2つがあり、どちらもAWS上でシステムを作る場合の設計指針とかそんな感じでした。


それぞれ特性が異なるアプリケーションでしたが、キューを挟んでスケーラビリティを向上させるアプローチが共通していて興味深かったですね。
SQSは一貫性が保証されていないのでそこをどうするのって話。

  • TDではSQSを使わずにRDS上にキューを実装(コードは以下github)。懇親会でお話を伺ったらAWSに閉じないようトランザクションがあるRDBMSであれば使えるpluggableな形にする意図もあったとのこと。
  • ソシャゲの方ではそもそもRDBMSを使わない方針であったため、SQSを使用してアプリケーション側でキュー処理に楽観的ロックを実装して対応。
    • ちなみに僕はこのソシャゲの会社の中の人なんですが、設計指針とか詳細にあるので弊社社員にこそ見て貰いたい内容でした

まとめ

  • Devの人もインフラに興味持ちましょう
  • スケール出来る部分とそうでない部分の設計をやりましょう
  • AWSカルタかわいい

以上、小学生並みの感想でした。
とても充実した1日でした。運営、スピーカーのみなさまありがとうございました。

第2回 Androidテスト祭りにいってきた。 #atecfes2

第2回 Androidテスト祭り : ATND
に行ってきたのでメモ書きや感想などを書いておきます。


まとめ記事、Togetterはこちら
第2回 Androidテスト祭り に参加してきた #atecfes2 - Shinya’s Daily Report
2012/04/28 第2回 Androidテスト祭り #atecfes2 - Togetter

招待講演「Androidのセキュリティと品質保証の問題について」

  • 谷口 岳 様 (タオソフトウェア株式会社 代表取締役)

Androidセキュリティ本のタオソフトウェアさんのお話。

Android Security  安全なアプリケーションを作成するために

Android Security  安全なアプリケーションを作成するために


資料は以下URLの2012/4/27 第2回テスト祭りからダウンロード可能。
Android Security - 安全なアプリケーションを作成するために

  • アプリ内の著作権データについて
    • データはすべて簡単に抜き取れる
      • PCと接続してAPK抽出
        • APKは実はzipファイルなので、拡張子を変えると構成ファイルを取り出せる
      • Android上でアプリによるリソース吸出し
        • 参考アプリ: tPackageExplorer
        • アプリケーションのリソース情報を認識可能
    • ソースコード解析について
      • Javaなので解析簡単、ツールも出まわってるし
        • アプリ内のPasswordとかを保存してるとすぐに抜き取られる
        • root化必要なし
        • Proguardで難読化(ただの時間稼ぎだけど)
    • まとめ
      • データの抜き取りは簡単に出来る
        • アプリ内にセキュアなファイルはおいておかない
        • サーバからデータを取得など
  • 利用者の個人データなど
    • 原因→わざと流出させることはない。バグやAndroidに対する知識不足が大きい
    • Androidのセキュリティモデルを理解する必要がある
  • Androidのセキュリティ構造
    • 署名
      • 自己署名で、アプリが同一作者のものかどうかの判断に使用
    • ファイルパーミッション
      • Linuxのそれと同じ
      • ファイルの場所によって必要な権限が異なる
      • アプリケーションデータディレクトリのものはroot取らない限り見れない
      • SDカード内のデータは権限なしで読み取り可能
    • Intent使用時の注意
      • ActivityManagerログにActivityに送られたインテントの内容が出てくる
        • ID, パスワードなど書いていた場合は出てくるので注意
        • Android 2.3で隠蔽されるようになった
      • インテントのデータは他アプリで取得可能なもの
        • 他の方法でデータは渡そう
        • インテントデータの暗号化(ただし、あまり良くない方法)

ユーザとベンダで生討論!みんなでつくる「受入れテストガイドライン」

  • ユーザサイド : 株式会社電通プラットフォームビジネス局開発部 様
  • ベンダサイド : 生路 茂太 松木 晋祐(Androidテスト部)
  • こういう勉強会ってユーザサイドの話があまり出てこないよね
    • 無茶をいってユーザサイドの方々に来てもらいました
  • エンジニアとのパートナーシップ構築の一例
    • カヤックブログ
    • ブログがあると技術力やアプリの動作イメージなどが分かりやすい→依頼しやすい
  • アプリの魅力性について
    • こんな感じのが欲しいんだけど→言語化しづらい
    • ふわっとした部分の話って実はアプリが面白くなるかどうかでとても重要なのでは
    • 魅力性を定義
      • ゆか体操の技と点数のようなイメージ
      • 発注側と開発側での意識の齟齬も少なくなる
      • フランスで芸術が優れているのは批評家が多くいるため
        • 批評という形で芸術の魅力が定義されている

CI導入ライブ-jenkins ci server

  • Android Hacks 著者の1人
  • Jenkins のコミッター

Android Hacks ―プロが教えるテクニック & ツール

Android Hacks ―プロが教えるテクニック & ツール

  • Androidが通常アプリよりもCIが重要な理由
    • 製品のライフサイクルが早い。機種が多い
    • OSアップグレードが18ヶ月ごと→これはメーカーに課せられた義務
    • Google Playの評価は最新のものが上になる
  • JenkinsでAndroidを使うためのポイント
    • JenkinsにAndroid SDKを入れるには
      • エミュレータプラグインを入れると自動で入る
      • コマンドで入れることも可能

>| android update sdk -u

    • Antがないプロジェクトを実行するには
      • コマンドで生成できる

>| android update project

Android Bazaar and Conference 2012 Spring に行って来ました

ABC2012で参加したセッションのメモや感想をつらつらと

イベントの内容や講演資料は公式に上がってたりします
http://www.android-group.jp/conference/abc2012s/

  • 変貌するWebの世界 -- クラウドとクラウド・デバイスのインパクト(日本Androidの会 会長/丸山 不二夫)
    • 制御信号について
      • PCに比べてスマホはデータ量に対する制御信号比率が高い
      • これはFast Dormancyというバッテリ消耗を抑える仕組みがあるため
      • コネクションをすぐに解放してIdle状態を保とうとする
      • iOS4.1に比べるとAndroid2.3の方が制御信号多いんだけどAndroid 4.0でだいぶ改善された
    • Webについて
      • 現在はネイティブアプリ主流だけどWebにシフトしていくだろう
      • HTML5がキーとなる
      • 現状のHTTPのトラフィックはヘッダーのオーバヘッドが大きい
      • WebSocketはオーバヘッドを極力低減している。WebSocketつかいましょう


総務省の基調講演は途中で抜けてあまり聴いてないので割愛

  • スマートフォン時代における新たな広告収益戦略(グーグル株式会社 オンラインパートナーシップグループ/坂本達夫)
    • DLされているアプリについて
      • DLしたことある人→無料:96%, 有料:48%
      • DLしたアプリの数→無料:27.7本, 有料:4.8本
      • 有料アプリのみをターゲットにした時点で半数以上のユーザには触ってもらえない
    • 収益モデルについて
      • 有料アプリ(DL時)、アプリ内課金、広告
      • 有料、無料+広告といったアプローチもよくある
    • 広告モデルのポイント
      • 広告を入れる前提のUI設計
      • ユーザの操作を阻害しない
      • アプリ作ってから広告を後付けすると評価下がるし大変
    • Permissionについて
      • Permission自体はJavaの機能
      • Permissionだけでは同意したことにならない
    • 同意確認について
      • 個別的選択オプトイン
      • アプリ使用中に該当機能を使用するときに同意確認
    • 端末IDについて
      • 端末IDは不要、収集するべきではない
      • 端末IDは偽装可能
      • アプリ内でローカルなIDを使用して識別する
  • 「ADB(Android Debug Bridge) そのしくみから応用まで」(京都マイクロコンピュータ株式会社/小林哲之)
    • adbの構成について
      • adb client: adbコマンド
      • adbd: target device側のdaemon
      • adb server: clientとadbdを中継するproxy的な役割
    • adb serverについて
      • clientとadbd間にコネクションをはる
      • USB/TCPどちらも可能 → clientでは通信経路を考える必要なし
    • Android 4.0のadbについて
      • 4.0からはtarget device上でadb clientを使えるようになった
      • Android端末でAndroid端末のdebugとか
  • 検証、SEAndroid(Android セキュリティ部/矢倉大夢)
    • SELinuxについて
      • カーネルレイヤでパーミッションを操作
      • rootに対してもアクセス制限可能
      • 他のプロセスへの干渉を抑制出来る
      • hogehogeの脆弱性をついて他プロセスにアクセス、などに効果的
    • SEAndroidについて
      • ベースはSELinux
      • アプリによる権限昇格防止、データ漏洩の防止
      • コンテキストによってデータを保護
      • /system/bin以下はどのユーザも書き込めない
      • root取られても大丈夫、そもそも脆弱性つきにくいからroot取りづらい
      • アプリから他アプリへの干渉を避けれる
      • ただしコンテキストはきちんと設定する必要あり(デフォルトでも堅牢)

初めてABCに参加したけど技術的なセッションの他にマネタイズなどの
ビジネス系なセッションが多かったのが印象的だった。
もちろんコアなセッションもあって人気なものは5分前満席って状態も。
実は一番聴きたかったセッションが満席で入れなかったりしてアレだった。

別件があったので最後まで居れなかったのだけど知識不足を感じるにはとても満足で良かった。
もし次があればもっと技術寄りなやつとかUIなんかを中心に回ってみたい。