ドキュメントを支える技術 / PHP Conference Fukuoka 2016

ドキュメントを支える技術 / PHP Conference Fukuoka 2016

ドキュメントを支える技術 PHPカンファレンス福岡2016

69b93af68320a590f607c296e8edff73?s=128

Ken’ichiro Oyama

May 21, 2016
Tweet

Transcript

  1. ドキュメントを⽀支える技術 Kenʼ’ichiro  Oyama Fusic  Co.,Ltd. 2016.5.21 1 PHPカンファレンス福岡2016  

  2. Who 2 PHPカンファレンス福岡2016  

  3. 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  
  4. ドキュメント?   PHP  Manual   README   PHPDoc   今回はそういう技術ドキュメントの話しではあ

    りません 4 PHPカンファレンス福岡2016  
  5. ドキュメントを⽀支える技術   概算⾒見見積とか   概算スケジュールとか   定例例報告書とか   クライアントと共有するためのドキュメントの 話しをします

    5 PHPカンファレンス福岡2016  
  6. ドキュメントを⽀支える技術   情報を取得して(INPUT)   まとめて(COLLECT)   表⽰示(OUTPUT)   紙(PRINT) 6

    PHPカンファレンス福岡2016  
  7. 紙(PRINT)   紙が⼤大切切(印刷できないとクライアントとのミ ーティングで使えない。提出できない)   可視化だけじゃ⾜足りない   最低限体裁を整える必要がある   紙は、、、死なないっっ!

    7 PHPカンファレンス福岡2016  
  8. 体裁を整えるドキュメントの代表   Word   PowerPoint   Excel   Officeちょっと苦⼿手。。。  

    なんとかしたい   ドキュメントを書きたくない   ドキュメントをより効率率率よく作成したい   あわよくば⾃自動化したい 8 PHPカンファレンス福岡2016  
  9. 今回はその試⾏行行錯誤を いくつか紹介します 9 PHPカンファレンス福岡2016  

  10. 例例1:  サーバの利利⽤用状況レポート 10 PHPカンファレンス福岡2016  

  11. サーバの利利⽤用状況レポート?   「⽉月次でサーバの利利⽤用状況をレポートとして提 出してほしい」   サーバの利利⽤用状況=メトリクス情報   アクセス数、ロードアベレージ、CPU  Usage、 IO、etc、etc

      AWS上でオートスケールするようなシステム なんですけど。。 11 PHPカンファレンス福岡2016  
  12. システム構成 12 PHPカンファレンス福岡2016  

  13. メトリクス情報をグラフで   Fluentdで全メトリクス情報をS3に保存   情報を収集する基盤は構築していたが、出⼒力力の 基盤がない。。   かつてはEMR+Excel+PowerPointを駆使して 提出していた  

    ログがMySQLにあれば。。。   ツラみがある。。。 13 PHPカンファレンス福岡2016  
  14. 14 PHPカンファレンス福岡2016  

  15. Embulk   バルクデータローダ(Java製)   http://www.embulk.org/   設定を書くだけで⼤大量量のデータを転送できる   システム構築当時はなかった⼀一筋の光  

    Fluentdで保存したログとの親和性が⾼高い   S3のログをMySQLに展開できれば!戦え る!! 15 PHPカンファレンス福岡2016  
  16. システム構成 16 PHPカンファレンス福岡2016  

  17. そして、紙 17 PHPカンファレンス福岡2016  

  18. PHP 18 PHPカンファレンス福岡2016  

  19. 19 古き良良きインラインPHP PHPカンファレンス福岡2016  

  20. PHP,  HTML,  CSS,  JavaScript   いつものようにPHPでMySQLに接続   HTMLとCSSで体裁をととのえる   HTMLとCSSは印刷に対して優秀だった!!

      page-‐‑‒break-‐‑‒*とか   グラフはD3.jsで   ビルドインサーバで  $  php  -‐‑‒S  localhost:8000   ブラウザで表⽰示したページを印刷   1ファイルで気軽にWebページが作れるPHPの 強み 20 PHPカンファレンス福岡2016  
  21. システム構成 21 PHPカンファレンス福岡2016  

  22. 22 PHPカンファレンス福岡2016  

  23. 印刷出来ました 23 PHPカンファレンス福岡2016  

  24. 例例2:  サーバのインベントリ情報 のレポート 24 PHPカンファレンス福岡2016  

  25. インベントリ情報   「サーバにイントールされているパッケージの バージョン⼀一覧を提出して欲しい」   現在稼働しているインスタンス数⼗十台   まったく別の時期にまったく別のサービスを 構築している  

    全部SSHでログインして確認。。。??そして その後まとめるの。。。?   ツラみがある。。。 25 PHPカンファレンス福岡2016  
  26. 26 koma PHPカンファレンス福岡2016  

  27. koma   エージェントレスでリモートホストのインベン トリ情報を収集するツール(Ruby製)   https://github.com/k1LoW/koma   類似ツール:  ohai  /

     facter   SSH接続できるならsshをkoma  sshに変えるだ けで、リモートホストのインベントリ情報を JSONで取得できる   $  koma  ssh  example.com 27 PHPカンファレンス福岡2016  
  28. そして、紙 28 PHPカンファレンス福岡2016  

  29. 取得したJSONを表にして印刷 29 PHPカンファレンス福岡2016  

  30. よろしいならばExcelだ 30 PHPカンファレンス福岡2016  

  31. PHP 31 PHPカンファレンス福岡2016  

  32. k1low/xlsx   PHPExcelのラッパーライブラリ   https://github.com/k1LoW/xlsx   テンプレート.xlsxに値を差し込むシンプルスタ イル   32

    PHPカンファレンス福岡2016  
  33. 33 値を差し込むだけ PHPカンファレンス福岡2016  

  34. 印刷出来ました 34 PHPカンファレンス福岡2016  

  35. 例例3:  概算スケジュール 35 PHPカンファレンス福岡2016  

  36. 概算スケジュール   ガントチャート。。。   ⽅方眼紙Excel。。。   祝⽇日。。。   スケジュールは頭の中にあるんだよ!?  

    あとは体裁だけ。。。   ツラみがある。。。 36 PHPカンファレンス福岡2016  
  37. そう、紙 37 PHPカンファレンス福岡2016  

  38. Webサービス化してます 38 PHPカンファレンス福岡2016  

  39. ti.mefra.me 39 PHPカンファレンス福岡2016  

  40. ti.mefra.me   http://ti.mefra.me   CSVからExcel⽅方眼紙スケジュールに⼀一発変換   ⽇日本の祝⽇日対応  /  cURLで⽣生成もできる 40

    PHPカンファレンス福岡2016  
  41. 印刷出来ました 41 PHPカンファレンス福岡2016  

  42. まとめ 42 PHPカンファレンス福岡2016  

  43. ドキュメントを⽀支える技術 1. HTMLとPHP良良い 2. PHP良良い 3. PHPで作ったWebサービス良良い 43 PHPカンファレンス福岡2016  

  44. ドキュメントを⽀支える技術   紙はなくならなかった。。。   なくならないなら⾃自分たちの⼟土俵に持ち込むし かない   PHPにこだわらず、使えるものは使って効率率率化 をしていく  

    ただ、最後の紙へのアプローチはPHPが1番楽   やはりPHPerだった   まだまだ多くのドキュメントを⽀支える技術があ りますが。。。時間がないっっ! 44 PHPカンファレンス福岡2016  
  45. Thank  you!  Fusicはテクノロジーが  好きなエンジニアを募集しています  https://fusic.github.io 45

  46. 46 PHPカンファレンス福岡2016