ドキュメントを支える技術 / PHP Conference Fukuoka 2016
by
Ken’ichiro Oyama
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ドキュメントを⽀支える技術 Kenʼ’ichiro Oyama Fusic Co.,Ltd. 2016.5.21 1 PHPカンファレンス福岡2016
Slide 2
Slide 2 text
Who 2 PHPカンファレンス福岡2016
Slide 3
Slide 3 text
k1LoW Kenʼ’ichiro Oyama @k1LoW Fusic Co.,Ltd. エンジニア CakePHP/AWS/さくらVPS GitHub organizations fukuokarb / dotcake / emacs-‐‑‒jp / etc. awspecというAWS⽤用のテストツールを作って います https://github.com/k1LoW/awspec 3 PHPカンファレンス福岡2016
Slide 4
Slide 4 text
ドキュメント? PHP Manual README PHPDoc 今回はそういう技術ドキュメントの話しではあ りません 4 PHPカンファレンス福岡2016
Slide 5
Slide 5 text
ドキュメントを⽀支える技術 概算⾒見見積とか 概算スケジュールとか 定例例報告書とか クライアントと共有するためのドキュメントの 話しをします 5 PHPカンファレンス福岡2016
Slide 6
Slide 6 text
ドキュメントを⽀支える技術 情報を取得して(INPUT) まとめて(COLLECT) 表⽰示(OUTPUT) 紙(PRINT) 6 PHPカンファレンス福岡2016
Slide 7
Slide 7 text
紙(PRINT) 紙が⼤大切切(印刷できないとクライアントとのミ ーティングで使えない。提出できない) 可視化だけじゃ⾜足りない 最低限体裁を整える必要がある 紙は、、、死なないっっ! 7 PHPカンファレンス福岡2016
Slide 8
Slide 8 text
体裁を整えるドキュメントの代表 Word PowerPoint Excel Officeちょっと苦⼿手。。。 なんとかしたい ドキュメントを書きたくない ドキュメントをより効率率率よく作成したい あわよくば⾃自動化したい 8 PHPカンファレンス福岡2016
Slide 9
Slide 9 text
今回はその試⾏行行錯誤を いくつか紹介します 9 PHPカンファレンス福岡2016
Slide 10
Slide 10 text
例例1: サーバの利利⽤用状況レポート 10 PHPカンファレンス福岡2016
Slide 11
Slide 11 text
サーバの利利⽤用状況レポート? 「⽉月次でサーバの利利⽤用状況をレポートとして提 出してほしい」 サーバの利利⽤用状況=メトリクス情報 アクセス数、ロードアベレージ、CPU Usage、 IO、etc、etc AWS上でオートスケールするようなシステム なんですけど。。 11 PHPカンファレンス福岡2016
Slide 12
Slide 12 text
システム構成 12 PHPカンファレンス福岡2016
Slide 13
Slide 13 text
メトリクス情報をグラフで Fluentdで全メトリクス情報をS3に保存 情報を収集する基盤は構築していたが、出⼒力力の 基盤がない。。 かつてはEMR+Excel+PowerPointを駆使して 提出していた ログがMySQLにあれば。。。 ツラみがある。。。 13 PHPカンファレンス福岡2016
Slide 14
Slide 14 text
14 PHPカンファレンス福岡2016
Slide 15
Slide 15 text
Embulk バルクデータローダ(Java製) http://www.embulk.org/ 設定を書くだけで⼤大量量のデータを転送できる システム構築当時はなかった⼀一筋の光 Fluentdで保存したログとの親和性が⾼高い S3のログをMySQLに展開できれば!戦え る!! 15 PHPカンファレンス福岡2016
Slide 16
Slide 16 text
システム構成 16 PHPカンファレンス福岡2016
Slide 17
Slide 17 text
そして、紙 17 PHPカンファレンス福岡2016
Slide 18
Slide 18 text
PHP 18 PHPカンファレンス福岡2016
Slide 19
Slide 19 text
19 古き良良きインラインPHP PHPカンファレンス福岡2016
Slide 20
Slide 20 text
PHP, HTML, CSS, JavaScript いつものようにPHPでMySQLに接続 HTMLとCSSで体裁をととのえる HTMLとCSSは印刷に対して優秀だった!! page-‐‑‒break-‐‑‒*とか グラフはD3.jsで ビルドインサーバで $ php -‐‑‒S localhost:8000 ブラウザで表⽰示したページを印刷 1ファイルで気軽にWebページが作れるPHPの 強み 20 PHPカンファレンス福岡2016
Slide 21
Slide 21 text
システム構成 21 PHPカンファレンス福岡2016
Slide 22
Slide 22 text
22 PHPカンファレンス福岡2016
Slide 23
Slide 23 text
印刷出来ました 23 PHPカンファレンス福岡2016
Slide 24
Slide 24 text
例例2: サーバのインベントリ情報 のレポート 24 PHPカンファレンス福岡2016
Slide 25
Slide 25 text
インベントリ情報 「サーバにイントールされているパッケージの バージョン⼀一覧を提出して欲しい」 現在稼働しているインスタンス数⼗十台 まったく別の時期にまったく別のサービスを 構築している 全部SSHでログインして確認。。。??そして その後まとめるの。。。? ツラみがある。。。 25 PHPカンファレンス福岡2016
Slide 26
Slide 26 text
26 koma PHPカンファレンス福岡2016
Slide 27
Slide 27 text
koma エージェントレスでリモートホストのインベン トリ情報を収集するツール(Ruby製) https://github.com/k1LoW/koma 類似ツール: ohai / facter SSH接続できるならsshをkoma sshに変えるだ けで、リモートホストのインベントリ情報を JSONで取得できる $ koma ssh example.com 27 PHPカンファレンス福岡2016
Slide 28
Slide 28 text
そして、紙 28 PHPカンファレンス福岡2016
Slide 29
Slide 29 text
取得したJSONを表にして印刷 29 PHPカンファレンス福岡2016
Slide 30
Slide 30 text
よろしいならばExcelだ 30 PHPカンファレンス福岡2016
Slide 31
Slide 31 text
PHP 31 PHPカンファレンス福岡2016
Slide 32
Slide 32 text
k1low/xlsx PHPExcelのラッパーライブラリ https://github.com/k1LoW/xlsx テンプレート.xlsxに値を差し込むシンプルスタ イル 32 PHPカンファレンス福岡2016
Slide 33
Slide 33 text
33 値を差し込むだけ PHPカンファレンス福岡2016
Slide 34
Slide 34 text
印刷出来ました 34 PHPカンファレンス福岡2016
Slide 35
Slide 35 text
例例3: 概算スケジュール 35 PHPカンファレンス福岡2016
Slide 36
Slide 36 text
概算スケジュール ガントチャート。。。 ⽅方眼紙Excel。。。 祝⽇日。。。 スケジュールは頭の中にあるんだよ!? あとは体裁だけ。。。 ツラみがある。。。 36 PHPカンファレンス福岡2016
Slide 37
Slide 37 text
そう、紙 37 PHPカンファレンス福岡2016
Slide 38
Slide 38 text
Webサービス化してます 38 PHPカンファレンス福岡2016
Slide 39
Slide 39 text
ti.mefra.me 39 PHPカンファレンス福岡2016
Slide 40
Slide 40 text
ti.mefra.me http://ti.mefra.me CSVからExcel⽅方眼紙スケジュールに⼀一発変換 ⽇日本の祝⽇日対応 / cURLで⽣生成もできる 40 PHPカンファレンス福岡2016
Slide 41
Slide 41 text
印刷出来ました 41 PHPカンファレンス福岡2016
Slide 42
Slide 42 text
まとめ 42 PHPカンファレンス福岡2016
Slide 43
Slide 43 text
ドキュメントを⽀支える技術 1. HTMLとPHP良良い 2. PHP良良い 3. PHPで作ったWebサービス良良い 43 PHPカンファレンス福岡2016
Slide 44
Slide 44 text
ドキュメントを⽀支える技術 紙はなくならなかった。。。 なくならないなら⾃自分たちの⼟土俵に持ち込むし かない PHPにこだわらず、使えるものは使って効率率率化 をしていく ただ、最後の紙へのアプローチはPHPが1番楽 やはりPHPerだった まだまだ多くのドキュメントを⽀支える技術があ りますが。。。時間がないっっ! 44 PHPカンファレンス福岡2016
Slide 45
Slide 45 text
Thank you! Fusicはテクノロジーが 好きなエンジニアを募集しています https://fusic.github.io 45
Slide 46
Slide 46 text
46 PHPカンファレンス福岡2016