Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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.9k
ドキュメントを支える技術 / 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
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
2
1.9k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
500
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
470
Flight recorder at the application layer (NOT the FlightRecoder newly added at Go 1.25) / Fukuoka.go #22
k1low
0
110
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
10
5.9k
Parsing HCL/CUE / Fukuoka.go #21
k1low
0
9.8k
実践 net/http Middleware パターン / Kizuku.go Vol.1
k1low
2
380
Cleanup handling in Go / Go Conference 2024
k1low
7
4k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
18
12k
Other Decks in Technology
See All in Technology
打 造 A I 驅 動 的 G i t H u b ⾃ 動 化 ⼯ 作 流 程
appleboy
0
360
AWS re:Invent 2025~初参加の成果と学び~
kubomasataka
0
140
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
370
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
13
13k
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
430
【U/day Tokyo 2025】Cygames流 最新スマートフォンゲームの技術設計 〜『Shadowverse: Worlds Beyond』におけるアーキテクチャ再設計の挑戦~
cygames
PRO
2
790
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
17
6.7k
ウェルネス SaaS × AI、1,000万ユーザーを支える 業界特化 AI プロダクト開発への道のり
hacomono
PRO
0
160
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
170
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
170
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
240
SREには開発組織全体で向き合う
koh_naga
0
380
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
75
A better future with KSS
kneath
240
18k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandezseo
1
1.3k
Into the Great Unknown - MozCon
thekraken
40
2.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
How to Ace a Technical Interview
jacobian
281
24k
Mobile First: as difficult as doing things right
swwweet
225
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
The browser strikes back
jonoalderson
0
59
Scaling GitHub
holman
464
140k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Building Applications with DynamoDB
mza
96
6.8k
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