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.2k
Amazon EC2 スポットインスタンスを開発環境にする話
mzp
0
1.5k
Rubyistのための型入門
mzp
20
5.9k
Other Decks in Technology
See All in Technology
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
230
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
2
220
CysharpのOSS群から見るModern C#の現在地
neuecc
1
3.1k
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
350
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
0
980
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.3k
AGIについてChatGPTに聞いてみた
blueb
0
130
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
570
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Featured
See All Featured
What's new in Ruby 2.0
geeforr
343
31k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Bash Introduction
62gerente
608
210k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for Performance
lara
604
68k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Language of Interfaces
destraynor
154
24k
Happy Clients
brianwarren
98
6.7k
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