Edited at

GitHub Satellite Tokyo 2018 Day 2 参加レポート #GitHubSatelliteTokyo

More than 1 year has passed since last update.


はじめに

昨日の GitHub Satellite Tokyo 2018 Day 1 に引き続き、参加レポートです!


イベント概要

IMG_6949.JPG

タイムテーブル


基調講演:GitHub Enterpriseプロダクトビジョン


  • 登壇者: 公家 尊裕 (GitHub) ジェイソン・ワーナー (GitHub) ウェイン・ジン (GitHub)

  • 日本国内コグニティブ/AIシステム市場


    • 2017年: 274億円

    • 2022年: 2947億円

    • 2017-2022: 60.7% CAGR



  • 2030 年 IT 人材不足 79 万人


    • 海外のメンバーを巻き込んで開発していく必要がある



  • GitHub Enterprise 導入企業


    • Yahoo

    • LINE

    • DeNA

    • DMM

    • など



  • Every company is an software innovation company

  • GitHub の責任


    • データ侵害を防ぐ

    • コンプライアンスに準拠しつつイノベーションを促進させる

    • オープンソースコミュニティへのサポート



  • GitHub の 4 つの投資エリア


    • プラットフォーム


      • 多くのユーザーに愛されるソフトウェア開発プラットフォーム



    • データ


      • 依存関係管理を自動化する企業は、自動化しない企業と比べて、60%も脆弱性のリスクが低くなる



    • エコシステム

    • 開発者


      • ダッシュボード

      • プロファイル

      • エクスペリエンス





IMG_6951.JPG


ゲスト基調講演:DMM.comのGitHub EnterpriseとCircleCI Enterpriseの活用例


  • 登壇者: 唐沢 陽介 (株式会社DMM.comラボ)


    • GHE を中心としたツールの構築・運用利用者への技術支援などを担当

    • 最近は CircleCI のサポート多め


    • karakaram/alt-ime-ahk 作者



  • 今日お話すること


    • GHE と CircleCI をどのように活用するか

    • 導入して 1 年経って思うこと



  • GHE と bitbucket を利用

  • Why GHE?


    • まずは検証のために

    • 噂を聞いたチームが相乗りしてきた

    • プラットフォーム開発チームでも使いたいという話があり、エンタープライズに移行



  • 4サービスが稼働中


    • GitHub Enterprise: 先月 330 名

    • CircleCI: 先月 80 名

    • ZenHub Enterprise: 先月 30 名


      • Issue, Pull Request 管理



    • SideCI オンプレミス: 先月 20 名


      • レビュー支援





  • サービスはすべて AWS 上に構築


    • 開発環境と本番環境とでリージョンを分けている

    • 毎月 30 万円くらいかかっている



  • 運用ルール


    • リポは Public 推奨


      • アカウントなしでも Issue を閲覧できるように





  • おすすめ利用パターン


    • Git のブランチモデル


      • Git Flow

      • GitHub Flow


        • v1.1.0 形式のタグを打つことで本番環境にデプロイ





    • CircleCI: The Good Parts


      • ダウンロードしたファイルはキャッシュする


        • .circleci/config.yml


          • save_cache

          • restore_cache





      • テスト並列化


        • parallelism: 3

        • 3 並列で実行できる



      • Workflow を使った自動テストと静的解析の並列化


        • テストと静的解析を並列実行



      • Machine Executor は非推奨としている


        • ビルドのたびに裏で EC2 インスタンスが起動するので、クラウド版と比べてビルドの開始が遅い



      • すばやくフィードバックループを回す

      • 困ったら GHE で検索する
        jobs ruby filename:config.yml



    • ドキュメント・タスク管理


      • ドキュメントは GitHub Pages で

      • ZenHub Enterprise で進捗を可視化





  • 導入して 1 年


    • 新規サービスでは GHE と Circle CI の採用が進む

    • GHE と CircleCI が共存する世界


      • サーバやユーザの管理が不要で、すぐに CI を始められる



    • .circleci/config.yml の中にアプリケーションの動作要件がまとめられる



  • 困っていること


    • GitHub っぽいソーシャルコーディング感が出ない


      • 扱っている言語、環境、ゴールがチームごとに違う



    • Organization がいっぱいできてしまった


      • プロダクト単位で Organization が作られてしまう

      • 現在 80 個くらいある

      • 他の Organization で何をやっているか目に入らない





IMG_6952.JPG

DMM での GHE 利用サービス

IMG_6955.JPG

ダウンロードしたファイルはキャッシュする


ゲスト基調講演/パネルディスカッション:ソフトウェア開発の変遷と、これから


  • 登壇者: 及川 卓也 (フリーランス技術アドバイザー) 大倉 香織 (株式会社サイバーエージェント) 小林 篤 (株式会社ディー・エヌ・エー) 松野 徳大 (LINE株式会社)

  • 10 年を振り返って


    • GitHub で開発時のコミュニケーションやレビューがしやすくなった

    • リモートワーク時などオフライン作業時に手元でコミットできるようになった

    • GitHub と Slack



    • DeNA: Perl のイメージだと思うが、最近は Ruby, Go を使うケースが多い。一部 Java も

    • サイバー: Java から Go への移行



  • 言語トレンドについて


    • LINE: 採用を意識して言語選択している。 Perl 率を下げている

    • DeNA: 採用を意識して Go を選択している

    • サイバー: 採用を意識して Go を選択


      • リードエンジニアの好みにもよる





  • クラウドの進化

  • AI, 機械学習


    • DeNA: 今力を入れている。ルールベースから機械学習ベースのアルゴリズムに変化している。不適切なコメントを検知するなど

    • NVIDIA がここまで AI 領域に食い込んでくるのは意外だった


      • GPU はグラフィックを処理するのが強いが、 AI の処理に使われている





  • 技術の意思決定について


    • CTO, リードエンジニアとかのポジションが確立され、技術に対する意識が変わってきた



  • DeNA: ITS の領域で日本は非常に遅れている

  • サイバー: RPA の導入。人事システムなど。


    • 今だとスクレイピングとか



  • 過去の xTech のサービスは API を公開していなかったり、Web フレンドリーではない

  • データについて


    • LINE: 広告システムに利用している


      • Hadoop 利用

      • データサイエンティストは Data Labs にて大量採用中





  • 人がプログラムを書くのは、どこまで?いつまで?インフラはどこまで見続けないといけない


    • 将来のコーディングは全く書かなくて良くなる by クリス・ワントラスさん



  • プログラミング必修化について


    • プログラミング必修化の記事に対して、識者が「プログラミングは 10 年後 AI が書くから必要なくなる」と言ってたが、それならそもそも英語学ぶ意味あるの?的な話


      • 自動化される時代が来ても、裏側の仕組みを理解することは大事





  • リモートワークの今後


    • DeNA: Slack を活用


      • 隣にいても Slack でコミュニケーションを取るようにしているから、リモートでも問題ない


        • 細かいニュアンスなどを伝えるときがあるときには face to face





    • LINE: LINE でやり取り


      • ビデオ会議だと細かいニュアンスが落ちるので、対面でやっていることもある


        • VR などの進歩に期待





    • GitHub の 65% の人はリモートワーク



IMG_6958.JPG


GitHubと共に学生を育てる方法


  • 登壇者: 古橋 大地 (青山学院大学)

  • Twitter: @mapconcierge

  • GitHub の地図を作っている

  • GeoJSON



  • GitHubを活用した、赤十字と国連のためのクライシスマッピング

  • 一億総伊能化

  • オープン = 商用利用可能

  • Tesla, Pokemon GO も OpenStreetMap を利用

  • 500 万人が地図データにコミットしている

  • https://github.com/mapbox/mapping

  • タスク管理は Issue

  • Markdown は共有フォーマット

  • Word 禁止令発動!

  • レポート提出は Issue で Markdown

  • 国土地理院の地理院地図を fork できる

  • GitHub Pages で jekyll を利用して Web サイトを作る

  • Git-it からはじめる

  • プレゼン資料は SpeakerDeck に上げる

  • User Profile が履歴書がわり

  • 外(社会)と中(大学)をつなぐ架け橋。それが GitHub

IMG_6960.JPG


SlerがGitHub Enterpriseを使ったら


  • 登壇者: 原口 猛 (株式会社セゾン情報システムズ)

  • GHE 導入編〜SIer でも GHE が使いたい〜


    • モダン開発推進チームが発足

    • 事業部・開発製品・サービス毎にソースコード管理ツールが乱立

    • 全社的なツールの統一を目指す

    • 顧客のソースコードは対象外とした

    • いざ導入


      • very easy!


        • ドキュメントや事例が充実



      • 段階的導入


        • インフルエンサーを選定してまずは使ってもらう



      • GitHub の引力


        • 試したいという声が多数上がった







  • GHE 運用編


    • 2年間運用してトラブル 0 件

    • 運用で必要なのは、モジュールのアップグレードのみ



  • 導入効果編


    • Before


      • ウォーターフォール

      • テスト前に一斉コミット

      • レビューは有識者に教えてもらう場



    • After


      • ウォーターフォール(そのまま)

      • デイリーコミット

      • 相互学習するための場

      • コードをチームで所有し、成長させる場



    • 戻り工数大幅削減

    • コードの共同所有の有用性を体験


      • 有識者からアドバイスを貰う



    • 注意点


      • どんなツールを使う場合も Face to Face は大事

      • 2 回で伝わらなければ F2F

      • レビューコストを書けすぎない


        • ツールを最大限活用







  • まとめ


    • 推進担当として


      • GHE はただのツールではなくプラットフォーム


        • 文化を変えるためのプラットフォーム、豊富なプラクティス



      • 導入ではなく定着がゴール





  • 運用事例


    • 事例1. ペア&モブプロによるシングルブランチ運用


      • master のみを利用。以下画像参照



    • 事例2. 開発以外での利用例(ポータルサイト)


      • GitHub Pages

      • システム構成図は以下画像参照





IMG_6962.JPG

IMG_6963.JPG

事例1. ペア&モブプロによるシングルブランチ運用

IMG_6963.JPG

事例2. 開発以外での利用例(ポータルサイト)


GitHub Marketplaceと、開発生産性を向上させる幾つかのSaaSのご紹介


  • 登壇者: 角 幸一郎 (SideCI株式会社)



  • What is GitHub Marketplace?


    • https://github.com/marketplace

    • GitHub 連携サービスを簡単に購入、導入できる

    • 様々なカテゴリ

    • 購入は GitHub 上で完結。決済も統合


      • 新しくクレカ登録する必要がない

      • 請求書、領収書がまとまる

      • 稟議問題





  • Useful marketplace apps


    • Coveralls


      • Code quality

      • テストカバレッジの可視化


        • 行ごと

        • ファイルごと

        • 時系列

        • など





    • SideCI


      • コードレビューの支援サービス

      • RuboCop や Checkstyle などの解析器を使って、コードレビューを支援

      • GitHub Pull Request と連動



    • CircleCI


      • Continuous integration



    • Dependabot


      • Dependency management

      • Gemfile.lock や package-lock.json を元にライブラリを自動アップデート

      • GitHub Pull Request を自動で生成


        • 新しいライブラリ入れると CI が落ちるなど、事前に検知できる





    • Rollbar


      • Monitoring

      • Slack 通知

      • 例外検知サービス

      • スタックトレースが見られる



    • ZenHub


      • Project Management

      • GitHub Issues をボードで表示

      • プロジェクト管理に必要な機能を包括的に用意

      • ベロシティ計測、リリース可能日予測





  • About Github Marketplace


    • 2017 年 11 月に GitHub Marketplace にローンチ

    • 平均 2000 人が毎月 Marketplace から流入

    • 世界各国から流入

    • Marketplace 経由の売上はローンチ 4 ヶ月で 10 倍に



  • Announcement


    • 本日 2018 年 6 月 13 日より、 SideCI は Sider に製品名を変更します。




感想、その他

社内にツールを普及させようとした時に、「自分も試したい!自分も!」となるサービスは強いですね。今日のセッションで 2 回同じような話だったので、GitHub がいかに個人利用が進んでいて、愛されているかわかる内容でした。 Marketplace は初見だったので、試しになにか作って上げてみると楽しそう。今後どれくらい Marketplace が盛り上がるかは気になります。

早上がりで残りのセッションレポートできませんがすみません。よければ皆さん残りのセッションのレポートを編集リクエストしてください :bow: