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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ken’ichiro Oyama
May 21, 2016
Technology
5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ドキュメントを支える技術 / PHP Conference Fukuoka 2016
ドキュメントを支える技術 PHPカンファレンス福岡2016
Ken’ichiro Oyama
May 21, 2016
More Decks by Ken’ichiro Oyama
See All by Ken’ichiro Oyama
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
2
5.4k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
930
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
750
Flight recorder at the application layer (NOT the FlightRecoder newly added at Go 1.25) / Fukuoka.go #22
k1low
0
160
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
12
6.3k
Parsing HCL/CUE / Fukuoka.go #21
k1low
0
11k
実践 net/http Middleware パターン / Kizuku.go Vol.1
k1low
2
450
Cleanup handling in Go / Go Conference 2024
k1low
7
4.1k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
18
12k
Other Decks in Technology
See All in Technology
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
210
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
500
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
190
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
6
3.8k
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.2k
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
470
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
kamekyame
0
160
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.5k
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
380
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
350
Claude code Orchestra
ozakiomumkj
3
960
Featured
See All Featured
Fireside Chat
paigeccino
42
3.9k
Un-Boring Meetings
codingconduct
0
310
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Are puppies a ranking factor?
jonoalderson
1
3.5k
Building Adaptive Systems
keathley
44
3k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
For a Future-Friendly Web
brad_frost
183
10k
The SEO Collaboration Effect
kristinabergwall1
1
480
Docker and Python
trallard
47
3.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Marketing to machines
jonoalderson
1
5.4k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
190
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