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
ドキュメントを支える技術 / PHP Conference Fukuoka 2016
Search
Ken’ichiro Oyama
May 21, 2016
Technology
3
4.7k
ドキュメントを支える技術 / PHP Conference Fukuoka 2016
ドキュメントを支える技術 PHPカンファレンス福岡2016
Ken’ichiro Oyama
May 21, 2016
Tweet
Share
More Decks by Ken’ichiro Oyama
See All by Ken’ichiro Oyama
実践 net/http Middleware パターン / Kizuku.go Vol.1
k1low
1
180
Cleanup handling in Go / Go Conference 2024
k1low
6
3.1k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
17
8.5k
Command-line interface tool design / PHPerKaigi 2024
k1low
8
2.8k
gostyle IS NOT Go Style / Fukuoka.go#19 Reboot
k1low
1
220
Parsing case study in Go / Go Conference mini 2023 Winter IN KYOTO
k1low
2
1.3k
APIシナリオテストツールとしてのrunn / 4 API testing tools
k1low
3
1.4k
The future of tbls and "Documentation as Code" / phpconfuk 2023
k1low
4
5.8k
net/http/httptest.Server のアプローチをテスト戦略に活用する / Go Conference 2023
k1low
9
2.9k
Other Decks in Technology
See All in Technology
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
270
Lexical Analysis
shigashiyama
1
150
Platform Engineering for Software Developers and Architects
syntasso
1
510
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.6k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
3
490
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
120
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
660
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
Featured
See All Featured
RailsConf 2023
tenderlove
29
900
Being A Developer After 40
akosma
86
590k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Ruby is Unlike a Banana
tanoku
97
11k
Music & Morning Musume
bryan
46
6.2k
It's Worth the Effort
3n
183
27k
Scaling GitHub
holman
458
140k
The Pragmatic Product Professional
lauravandoore
31
6.3k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
4 Signs Your Business is Dying
shpigford
180
21k
Transcript
ドキュメントを⽀支える技術 Kenʼ’ichiro Oyama Fusic Co.,Ltd. 2016.5.21 1 PHPカンファレンス福岡2016
Who 2 PHPカンファレンス福岡2016
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
ドキュメント? PHP Manual README PHPDoc 今回はそういう技術ドキュメントの話しではあ
りません 4 PHPカンファレンス福岡2016
ドキュメントを⽀支える技術 概算⾒見見積とか 概算スケジュールとか 定例例報告書とか クライアントと共有するためのドキュメントの 話しをします
5 PHPカンファレンス福岡2016
ドキュメントを⽀支える技術 情報を取得して(INPUT) まとめて(COLLECT) 表⽰示(OUTPUT) 紙(PRINT) 6
PHPカンファレンス福岡2016
紙(PRINT) 紙が⼤大切切(印刷できないとクライアントとのミ ーティングで使えない。提出できない) 可視化だけじゃ⾜足りない 最低限体裁を整える必要がある 紙は、、、死なないっっ!
7 PHPカンファレンス福岡2016
体裁を整えるドキュメントの代表 Word PowerPoint Excel Officeちょっと苦⼿手。。。
なんとかしたい ドキュメントを書きたくない ドキュメントをより効率率率よく作成したい あわよくば⾃自動化したい 8 PHPカンファレンス福岡2016
今回はその試⾏行行錯誤を いくつか紹介します 9 PHPカンファレンス福岡2016
例例1: サーバの利利⽤用状況レポート 10 PHPカンファレンス福岡2016
サーバの利利⽤用状況レポート? 「⽉月次でサーバの利利⽤用状況をレポートとして提 出してほしい」 サーバの利利⽤用状況=メトリクス情報 アクセス数、ロードアベレージ、CPU Usage、 IO、etc、etc
AWS上でオートスケールするようなシステム なんですけど。。 11 PHPカンファレンス福岡2016
システム構成 12 PHPカンファレンス福岡2016
メトリクス情報をグラフで Fluentdで全メトリクス情報をS3に保存 情報を収集する基盤は構築していたが、出⼒力力の 基盤がない。。 かつてはEMR+Excel+PowerPointを駆使して 提出していた
ログがMySQLにあれば。。。 ツラみがある。。。 13 PHPカンファレンス福岡2016
14 PHPカンファレンス福岡2016
Embulk バルクデータローダ(Java製) http://www.embulk.org/ 設定を書くだけで⼤大量量のデータを転送できる システム構築当時はなかった⼀一筋の光
Fluentdで保存したログとの親和性が⾼高い S3のログをMySQLに展開できれば!戦え る!! 15 PHPカンファレンス福岡2016
システム構成 16 PHPカンファレンス福岡2016
そして、紙 17 PHPカンファレンス福岡2016
PHP 18 PHPカンファレンス福岡2016
19 古き良良きインラインPHP PHPカンファレンス福岡2016
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 PHPカンファレンス福岡2016
22 PHPカンファレンス福岡2016
印刷出来ました 23 PHPカンファレンス福岡2016
例例2: サーバのインベントリ情報 のレポート 24 PHPカンファレンス福岡2016
インベントリ情報 「サーバにイントールされているパッケージの バージョン⼀一覧を提出して欲しい」 現在稼働しているインスタンス数⼗十台 まったく別の時期にまったく別のサービスを 構築している
全部SSHでログインして確認。。。??そして その後まとめるの。。。? ツラみがある。。。 25 PHPカンファレンス福岡2016
26 koma PHPカンファレンス福岡2016
koma エージェントレスでリモートホストのインベン トリ情報を収集するツール(Ruby製) https://github.com/k1LoW/koma 類似ツール: ohai /
facter SSH接続できるならsshをkoma sshに変えるだ けで、リモートホストのインベントリ情報を JSONで取得できる $ koma ssh example.com 27 PHPカンファレンス福岡2016
そして、紙 28 PHPカンファレンス福岡2016
取得したJSONを表にして印刷 29 PHPカンファレンス福岡2016
よろしいならばExcelだ 30 PHPカンファレンス福岡2016
PHP 31 PHPカンファレンス福岡2016
k1low/xlsx PHPExcelのラッパーライブラリ https://github.com/k1LoW/xlsx テンプレート.xlsxに値を差し込むシンプルスタ イル 32
PHPカンファレンス福岡2016
33 値を差し込むだけ PHPカンファレンス福岡2016
印刷出来ました 34 PHPカンファレンス福岡2016
例例3: 概算スケジュール 35 PHPカンファレンス福岡2016
概算スケジュール ガントチャート。。。 ⽅方眼紙Excel。。。 祝⽇日。。。 スケジュールは頭の中にあるんだよ!?
あとは体裁だけ。。。 ツラみがある。。。 36 PHPカンファレンス福岡2016
そう、紙 37 PHPカンファレンス福岡2016
Webサービス化してます 38 PHPカンファレンス福岡2016
ti.mefra.me 39 PHPカンファレンス福岡2016
ti.mefra.me http://ti.mefra.me CSVからExcel⽅方眼紙スケジュールに⼀一発変換 ⽇日本の祝⽇日対応 / cURLで⽣生成もできる 40
PHPカンファレンス福岡2016
印刷出来ました 41 PHPカンファレンス福岡2016
まとめ 42 PHPカンファレンス福岡2016
ドキュメントを⽀支える技術 1. HTMLとPHP良良い 2. PHP良良い 3. PHPで作ったWebサービス良良い 43 PHPカンファレンス福岡2016
ドキュメントを⽀支える技術 紙はなくならなかった。。。 なくならないなら⾃自分たちの⼟土俵に持ち込むし かない PHPにこだわらず、使えるものは使って効率率率化 をしていく
ただ、最後の紙へのアプローチはPHPが1番楽 やはりPHPerだった まだまだ多くのドキュメントを⽀支える技術があ りますが。。。時間がないっっ! 44 PHPカンファレンス福岡2016
Thank you! Fusicはテクノロジーが 好きなエンジニアを募集しています https://fusic.github.io 45
46 PHPカンファレンス福岡2016