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