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.3k
クラウドサービスを活用した開発環境
オープンソースカンファレンス 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.4k
The reason for using reason
mzp
2
3k
ぺろぺろ - Github pull request bot framework -
mzp
2
3.2k
Love💕LivePhotos
mzp
0
1.5k
日本語入力とLisp
mzp
1
3.4k
Amazon EC2 スポットインスタンスを開発環境にする話
mzp
0
1.5k
Rubyistのための型入門
mzp
20
6.1k
Other Decks in Technology
See All in Technology
Lazy Constant - finalフィールドの遅延初期化
skrb
0
110
CDKの魔法を少し解いてみる ― synth・build・diffで覗くIaCの裏側 ―
takahumi27
1
110
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
280
Claude Code 10連ガチャ
uhyo
3
650
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
0
140
プログラミング言語を書く前に日本語を書く── AI 時代に求められる「言葉で考える」力/登壇資料(井田 献一朗)
hacobu
PRO
0
150
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
3
370
Digitization部 紹介資料
sansan33
PRO
1
5.9k
Copilotの精度を上げる!カスタムプロンプト入門.pdf
ismk
10
3.3k
今日から使える AWS Step Functions 小技集 / AWS Step Functions Tips
kinunori
7
650
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
1
560
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
9
2.9k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
It's Worth the Effort
3n
187
28k
Code Review Best Practice
trishagee
72
19k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Automating Front-end Workflow
addyosmani
1371
200k
GitHub's CSS Performance
jonrohan
1032
470k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Designing for Performance
lara
610
69k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Unsuck your backbone
ammeep
671
58k
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