Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クラウドサービスを活用した開発環境
Search
mzp
May 23, 2015
Technology
1
3.1k
クラウドサービスを活用した開発環境
オープンソースカンファレンス Nagoya 2015での発表資料です。
http://mzp.hatenablog.com/entry/2015/05/23/184645
mzp
May 23, 2015
Tweet
Share
More Decks by mzp
See All by mzp
アイドルとして勤務する -理論と実践- / Work as cute idol. - theory & practice - #imas_hack
mzp
2
18k
日本語入力の落とし穴
mzp
4
13k
アイマスハッカソン 2017-ライブの感動を再現する
mzp
1
2.1k
The reason for using reason
mzp
2
2.7k
ぺろぺろ - Github pull request bot framework -
mzp
2
2.9k
Love💕LivePhotos
mzp
0
1.3k
日本語入力とLisp
mzp
1
3.1k
Amazon EC2 スポットインスタンスを開発環境にする話
mzp
0
1.4k
Rubyistのための型入門
mzp
20
5.8k
Other Decks in Technology
See All in Technology
Uniting Rust Servers and Clients through OpenAPI
ahl
0
430
書を捨てよ、現場へ出よう
nwiizo
11
8.7k
サイボウズのQAエンジニア育成
cybozuinsideout
PRO
3
550
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
2
4.9k
スプリント内で試験を完了させるには?アジャイル・スクラム開発に参加したQAエンジニアの悩みと対策
cybozuinsideout
PRO
1
110
AWS IAM の結果整合性を避けるためセッションポリシーを用いてポリシーの動作確認を行う、を解説する
yukihirochiba
0
370
滑空スポーツ講習会2023 航空安全講習会 第4回 日常整備に役立ちそうな雑情報 / JSA Safety Seminar 2023 glider maintenance
jsaseminar
0
100
GitHub Actions Runner Controller
takesection
0
110
10年モノのレガシーPHPアプリケーションを移植しきるまでの泥臭くも長い軌跡 / legacy-php-app-migration
toshimaru
0
690
How to Build a Strong Engineering Culture
alperhankendi
0
120
OpenStack再入門「アーキテクチャ編」
kajinamit
0
240
本気でプロダクトに向き合うCTOになるために必要な事 (技育祭2024春)
mosa_siru
32
11k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
199
23k
The World Runs on Bad Software
bkeepers
PRO
60
6.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
242
12k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2k
Keith and Marios Guide to Fast Websites
keithpitt
407
22k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
Stop Working from a Prison Cell
hatefulcrawdad
265
19k
Mobile First: as difficult as doing things right
swwweet
215
8.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
56
13k
For a Future-Friendly Web
brad_frost
170
8.8k
Building Flexible Design Systems
yeseniaperezcruz
317
37k
Into the Great Unknown - MozCon
thekraken
10
810
Transcript
クラウドサービスを活用した 開発環境 mzp / ocaml-nagoya 1 2015-05-23 ΦʔϓϯιʔεΧϯϑΝϨϯεNagoya 2015
アジェンダ • 転職したら開発環境が社内サーバ中心からクラウド サービス中心へと大きく変化した • どう変化したかについて話します • 紹介するサービスは主にGithub, Slack, Qiita:teamな
どです 2
自己紹介 • Twitter: @mzp • 所属: ocaml-nagoya • 関数型言語OCamlの勉強会(最近、活動してない…) •
今日は開発環境の話をします 3
OSS活動 4 • メンテナンス コントリビュート 公開 • AquaSKK • rubocop
• autodoc • MsgPack • FlicksKK • AsakusaSatellite • rubotyプラグイン などなど
経歴 • 社内SE → スタートアップ 5
今日の話 • どのような環境で開発をしているか • その前に、いくつか質問させてください 6
Q. 業務として開発にか かわっていますか? 7
Q. どのような分野ですか? (組込/Web/ゲーム/その他) 8
Q. クラウドサービス使っ ていますか? 9
前職の開発環境 • コミュニケーションは口頭、もしくはメール • Excelで作られたスケジュール表や課題管理表 • 開発に必要な各種サーバは社内にある • (余談)スーツ着用 10
どう変化したか • 「ソフトウェアを作る」という作業自体は変わっていない • ただし、その開発に使うツールなどは大きく変化した 11 社内サーバ クラウドサービス OSS 前職
現職
注意事項 • 個人の意見であり、所属する企業・団体の意見を代表す るものではありません。 • 特定の企業、製品を推奨する、もしくは批難する意図も ありません。 • 今回の発表は開発者視点で解説したものとなります。 実
際に導入するにあたっては、それ以外にも様々な視点か ら検討する必要がありますが、今回は省略しています。 12
ソースコード管理 13
社内サーバを利用した場合 • バージョン管理: Subversion • 課題管理: Redmine / Trac /
Excel • (余談: Microsoft VSSを使ってるプロジェクトもあった) 14
社内サーバを利用した場合 主な運用方法 • 全員がtrunkにコミットする • 一人づつ別のブランチにコミットする ⇒ コードレビューがやりにくい 15
Github ソースコード管理サービス • Gitレポジトリのホスティング • Wiki • 課題管理 16
Gitの特徴 • 分散バージョン管理 • ブランチの作成、マージが高速 • コマンドが豊富 17
プルリクエスト • Githubの特徴の1つ • 「とあるブランチから、別のブランチへのマージを依頼 するための仕組み」 • ちょっとわかりにくいので例で見ていきましょう 18
1. 不具合がでた ある日、対応しないといけない不具合が発生しました 19
2. がんばって直す がんばりましょう 20
3. プルリクエストを作る 1.今回作業用のブランチを作る 2.修正内容をコミットする 3.Githubにpushする 4.Github上でプルリクエストを作成する 21
プルリクエストの例 22 タイトル 内容説明 変更内容(diff) コメントできる
4. レビューを受ける • 他の人にレビューしてもらう • 問題なければmasterブランチにマージされる 23
プルリクエストの利点 • 作業の単位が明確になる • 必ずレビューがはさまる • レビュー支援機能が充実している • (他のサービスと連携しやすい) 24
OSSでのGithubの利用 1.バグを踏む 2.がんばって直す 3.レポジトリをコピーする(forkする) 4.プルリクエストを作成する 5.レビューを受ける ⇒ マージされる / 拒否される
25
プルリクエストの利点(2) • コミット権がなくてもバージョン管理できる • 普段と同じ作業でOSSに参加できる • publicレポジトリなら無料で利用可能 26
類似サービス クラウド • Bitbucket • Gitlab.com 社内サーバ • Github Enterprise
• Githubクローンたち(Gitlab, Gitbucket, ...) 27
コミュニケーション 28
社内サーバを利用した場合 • メール: 簡単なコミュニケーションには使いづらい • 電話: 複数人では会話できない ⇒ 「標準化されている」のは大きな利点 ⇒
置き換えるのは無理なので補完するサービスの紹介 29
コミュニケーション チャットツール 30
Slack 31
それ以外の機能 • 1対1でメッセージを送りあうこともできる • 絵文字も使える • iPhoneアプリもあるので様々な環境で使える • IRC Gatewayもある
32
IRC gateway 33
メールと比較した利点 • 短い文書でも気軽に送信できる • 多数の人に同時にメッセージを送れる • あとから検索できる • 各メッセージにリンクを貼れる 34
類似サービス クラウドサービス • HipChat • ChatWorks • idobata 社内サーバ •Let’s
Chat •AsakusaSatellite 35
コミュニケーション ビデオ会議 36
Google Hangout 37
特徴 • ブラウザだけで参加できる • URLを共有さえすれば誰でも参加できる • 特定の人しか参加できない設定も可能 • (バッテリーの消費が激しい) 38
使い方の例 1.出社したので GoogleHangout を使って朝会をする 2.朝会がおわったので作業をはじめます。質問はSlackで する 3.今日は打ち合せの日です。 再びHangoutで打ち合せを する (社内用Hangoutとは別)
39
別解: Sqwiggle 40
文書管理 41
対象とする文書の種類 • TODO • 日報 • ノウハウ • 議事録 •
外部から受けとった文書(APIドキュメントなど) 42
社内サーバを利用した場合 • Excelで作る • 作ったのは共有フォルダに置いたり、LotusNotesに置 いたり。 43
文書管理 TODO 44
Trello カードを作り、リスト間を動かしてく 45
リストの例 • やるかどうか検討する • やることに決めた • やっている • 連絡まち •
レビュー待ち • 完了 46
ホワイトボード + ポストイットの イメージ 47
文書管理 日報、ノウハウ 48
Qiita • プレインテキストだけで記 述できる(Markdown) • 記事にタグ付けや全文検 索ができる • デスクトップアプリもある •
ITエンジニア向けに特化 49
Qiita:team • Qiitaの特徴をほぼそのまま供える • 特定のメンバーしか閲覧、投稿できない • 文書テンプレートを設定できる 50
Qiita:teamの例 日報 51
Qiita:teamの例 ノウハウ 52
その他の特徴 • 今後の展望、ビジョン • 開発環境の構築手順 • 飲み会の出欠 • などなど 53
類似サービス Esa.io (\( ⁰⊖⁰)/) 54
文書管理 議事録、受け入れ文書 55
GoogleDrive • 文書、スプレッドシート、プレゼンテーションが作れる • 設定によって他の人と共有可能 • 複数人で同時編集可能 56
GoogleDriveでの管理方法 議事録 • 一部はQiita:teamに書かれる • 他社と共有する場合や、全員で同時に編集する場合 はGoogleDrive 受け入れ文書 • そのままGoogleDriveにアップロードする
57
その他 58
複数のサービスを利用する問題点 • 更新通知の方法が統一されていない • 操作方法が統一されていない • 連携していない ⇒ 中間をつなぐ仕組みが必要。 59
bot • チャット上で動く自動応答プログラム • 定期処理をしたり、特定の語句に反応して処理をしたり • フレームワークがいくつかあり、簡単に作れる 60
botの例 • 各サービスの更新通知 • 認証付きURLからの内容引用 • 今日の当番の確認 • CIとGithubを組合せたデプロイ •
各種リマインダ 61
その他紹介していないサービス • CircleCI: CIサービス • Bugsnag: エラー管理サービス • Mixpanel: ユーザの動向調査
62
まとめ • 各種サービスを活用することで、ソフトウェア開発を効 率化できる • Github/Slack/Qiita:teamあたりが便利 63
さらに先に 64
AWS スポットインスタンス • ローカルではなくクラウド上で開発環境を構築する • Amazonのインフラをオークション形式で借りる • 0.01ドル/Hくらい • バッテリー消費が少ない!!
• ネットワーク速度も速い!!! 65
VRターミナル • 顔の向き等をトラッキングす るヘッドマウントディスプレイ • ざっくり言うと仮想世界に入り こめる 66
VRターミナル 67