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

## はじめに

昨日の [GitHub Satellite Tokyo 2018 Day 1](https://qiita.com/tanabee/items/deef8621b90f83bf4b09) に引き続き、参加レポートです！

## イベント概要

- 公式サイト: https://githubsatellite.com/
- ライブ配信: https://githubsatellite.com/live-stream/
- YouTube チャンネル: https://www.youtube.com/channel/UC7c3Kb6jYCRj4JOHHZTxKsQ
- GitHub 公式ブログ: https://blog.github.com/jp/
- ハッシュタグ: #GitHubSatelliteTokyo

![IMG_6949.JPG](https://qiita-image-store.s3.amazonaws.com/0/19698/ad9dba33-2a20-d2f7-b3aa-25d1e27013d1.jpeg)
タイムテーブル

## 基調講演：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](https://qiita-image-store.s3.amazonaws.com/0/19698/0d1c1970-7f53-aa50-9ddd-56bb069a8a73.jpeg)


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

- 登壇者: 唐沢 陽介 (株式会社DMM.comラボ)
    - GHE を中心としたツールの構築・運用利用者への技術支援などを担当
    - 最近は CircleCI のサポート多め
    - [karakaram/alt-ime-ahk](https://github.com/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](https://qiita-image-store.s3.amazonaws.com/0/19698/0a2658e0-bb84-3da6-fecc-143fde84f720.jpeg)
DMM での GHE 利用サービス

![IMG_6955.JPG](https://qiita-image-store.s3.amazonaws.com/0/19698/09e9c353-b37f-35b3-5150-5fec8e30feca.jpeg)
ダウンロードしたファイルはキャッシュする

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

- 登壇者: 及川 卓也 (フリーランス技術アドバイザー) 大倉 香織 (株式会社サイバーエージェント) 小林 篤 (株式会社ディー・エヌ・エー) 松野 徳大 (LINE株式会社)
- 10 年を振り返って
    - GitHub で開発時のコミュニケーションやレビューがしやすくなった
    - リモートワーク時などオフライン作業時に手元でコミットできるようになった
    - GitHub と Slack
        - GitHub 編集 > Slack 通知
        - ボットの開発積極的に行っている
            - ando-san > https://fullswing.dena.com/ando-san/
    - 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](https://qiita-image-store.s3.amazonaws.com/0/19698/ce303a9c-0034-e8f5-9a48-3b290ab4c69c.jpeg)

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

- 登壇者: 古橋 大地 (青山学院大学)
- Twitter: [@mapconcierge](https://twitter.com/mapconcierge)
- GitHub　の地図を作っている
- GeoJSON
    - GitHub Gist に GeoJSON 形式で貼ると GithHub で表示される
    - https://help.github.com/articles/mapping-geojson-files-on-github/
    - この背景地図は Google Map ではなく OpenStreetMap
- [GitHubを活用した、赤十字と国連のためのクライシスマッピング](https://blog.github.com/jp/2017-11-15-mapping-crises-for-the-american-red-cross-and-the-un-with-github/)
- 一億総伊能化
- オープン = 商用利用可能
- Tesla, Pokemon GO も OpenStreetMap を利用
- 500 万人が地図データにコミットしている
- https://github.com/mapbox/mapping
- タスク管理は Issue
- Markdown は共有フォーマット
- Word 禁止令発動！
- レポート提出は Issue で Markdown
- 国土地理院の地理院地図を fork できる
- GitHub Pages で [jekyll](https://jekyllrb-ja.github.io/) を利用して Web サイトを作る
- Git-it からはじめる
- プレゼン資料は SpeakerDeck に上げる
- User Profile が履歴書がわり
- 外（社会）と中（大学）をつなぐ架け橋。それが GitHub

![IMG_6960.JPG](https://qiita-image-store.s3.amazonaws.com/0/19698/83b10d9a-efb1-c6b7-e92d-a53e524767b6.jpeg)

## 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](https://qiita-image-store.s3.amazonaws.com/0/19698/2ccf8a2a-992f-50e2-1a80-78c0da096c8f.jpeg)

![IMG_6963.JPG](https://qiita-image-store.s3.amazonaws.com/0/19698/19681032-e665-77fc-9f2f-bdc64d8b2fa3.jpeg)
事例1. ペア＆モブプロによるシングルブランチ運用

![IMG_6963.JPG](https://qiita-image-store.s3.amazonaws.com/0/19698/46ec4c30-1c1a-3136-5916-6f2f6f77366f.jpeg)
事例2. 開発以外での利用例（ポータルサイト）

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

- 登壇者: 角 幸一郎 (SideCI株式会社)
    - GitHub @sumyapp 
    - SideCI CEO
- 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: