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.2k
クラウドサービスを活用した開発環境
オープンソースカンファレンス 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
14k
アイマスハッカソン 2017-ライブの感動を再現する
mzp
1
2.3k
The reason for using reason
mzp
2
2.9k
ぺろぺろ - Github pull request bot framework -
mzp
2
3.1k
Love💕LivePhotos
mzp
0
1.4k
日本語入力とLisp
mzp
1
3.3k
Amazon EC2 スポットインスタンスを開発環境にする話
mzp
0
1.5k
Rubyistのための型入門
mzp
20
6k
Other Decks in Technology
See All in Technology
クラウド食堂とは?
hiyanger
0
120
フォーイット_エンジニア向け会社紹介資料_Forit_Company_Profile.pdf
forit_tech
1
1.7k
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
12
4.4k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
200
AIエージェント開発のノウハウと課題
pharma_x_tech
8
4.4k
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
150
実は強い 非ViTな画像認識モデル
tattaka
3
1.4k
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.4k
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
320
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
A Tale of Four Properties
chriscoyier
158
23k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
It's Worth the Effort
3n
184
28k
What's in a price? How to price your products and services
michaelherold
244
12k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Thoughts on Productivity
jonyablonski
69
4.5k
Being A Developer After 40
akosma
89
590k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
Navigating Team Friction
lara
183
15k
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