1.8K Views
August 02, 25
スライド概要
2025-08-02 ゆるOPS部 で発表したスライドです。
小さく始めて大きく変わる! 業務改善を加速させる パワフルな道具たち ゆるOPS部 #1 2025-08-02 @nabe_yu_jp
自己紹介 @nabe_yu_jp C#/pwsh/PostgreSQL/AWS 岡山県内のSIerに勤務。BtoB SaaSを作っています。 要件定義から設計、実装まで何でもやります。 メイン担当はバックエンドとインフラ。 おもしろ社内ツール作りと業務改善も。 趣味:おでかけ🚢🛫🚄
https://yuruops.connpass.com/event/360010/
業務改善に対する想い
● 単純作業、繰り返し作業は最優先で自動化する ● できた時間で新たな価値を提供する ● 困りごとを拾って地道によりよくする ● 他の部署と連携しながら業務のやり方を見直す ● タスクの目的と依存関係を意識する ● 考え方や技術の引き出しを増やす ● いざというときに瞬発力を発揮する
1 面倒なことを減らす|効率化 2 新しい価値を生み出す|創出 3 自分のスキルアップ|研鑽
多くの業務は3つに分解できる 入力 処理 複雑なものは分解してシンプルに考える それぞれに適した道具を選ぶ 出力
具体的に分解すると 処理 入力 ● ● ● ● CSVファイル データベース WebAPI Excel ● ● ● ● 数値計算 文字列加工 型の変換 ファイル結合/分解 出力 ● ● ● ● ● CSVファイル データベース WebAPI Excel 画面
たかが道具、されど道具 ● 技術やツールはあくまでも「手段」 ● 何を解決したいかゴールや目的が重要 【しかし】 ● 道具が上手くフィットすればスピードアップ ● 壊れにくく拡張しやすい仕組みを実現できる
私の道具選び指針 ● 無料 ● 1人で小さくスタートできる(学習コスト低い) ● Windows対応 ● CLIで使える ● スタンドアロン(クラウドサービスでない) ● 生成AIと相性がよい
3つのパワフルな道具たち
PowerShell DuckDB CLI Alpine.js
道具の全体像 入力 処理 出力 PowerShell DuckDB CLI Alpine.js
PowerShellとは ● クロスプラットフォーム対応の高機能シェル ● オブジェクトベースで処理が直感的 ● バッチ・定型作業の自動化に最適 ● CLIツールを繋ぐグルーコードとして ● VSCodeを使うと補完が効いて書きやすい
実は何でもできるPowerShell ● フォルダ作成、ファイル移動など基本的な操作 ● Windows設定のコントロール ● CSV/JSONの読み書き ● WebAPIへのリクエスト ● パイプライン+コマンドレットで自由自在
DuckDBとは ● OLAP(オンライン分散処理)分析に特化した OSSデータベース ● 数百万件の集計も高速(Excelより速い) ● CSVなどを直接読み込みできる、S3接続もOK ● ざっくり→手元で動く小さくてパワフルなDB
DuckDBのここが好き! ● シングルバイナリを置くだけ(複雑な設定不要) ● SQLが書ければOK ○ 何個もプログラミング言語を覚えたり分析 ツールのUIを覚えたりしなくてよい ○ つまり生成AIと相性がいい
お気に入りの使い方 CSV DuckDB SQL $ cat query.sql | duckdb CSV JSON
DuckDB CLIの活用例 ● 日付ごとのCSVファイルを1つに結合する ● サーバのアクセスログを特定条件で抽出する ● 時間帯と曜日ごとにアクセスをカウントする ● CSVを画面表示用JSONに整形する
Alpine.jsとは ● 軽量JavaScriptフレームワーク ● CDN読み込みだけですぐ使える ● Vue.jsっぽい構文 ● x-dataやx-show など直感的な属性ベースで UI制御
ちょっとした画面をHTMLで作る ● DuckDBで作ったJSONを可視化したい ● WebAPIから取得したデータを参照したい ● フロントエンドのツールを揃えるのは大変 ● とりあえずHTML1枚で作ってみる ● Webサーバなどに置くだけでOK
画面作りでよく使う組み合わせ ● 構造と動き ○ HTML ○ Alpine.js 生成AIにもとになるJSONを渡して HTMLファイルを出力させる ● モダン ● シンプル ● OOUI ● 見た目 ○ Tailwind CSS(CDN版) ○ Basecoat(Tailwindベースのコンポーネントライブラリ)
ドキュメンテーションを 支える道具たち
持続可能な改善にはドキュメントも必要 ● 継続してメンテナンスするためにはドキュメント を残したい ● データの流れやシステム構成など ● 形式的なものより実際に役に立つものがほしい ● 生成AIが力を発揮できる形式で書く
データフローダイアグラム(DFD) ● データの流れと処理の関係を図式化する手法 ● 「誰が何を使って何をするか」を明確にできる ● 要件整理や現状分析に適した構造図 ● 複雑な業務フローを抽象化・共有するのに有効 『データフローダイアグラム いにしえの技術がもたらすシステム設計の可能性』 https://www.amazon.co.jp/dp/4798189332
C4モデル ● ソフトウェアの構造を4階層で表す可視化モデル ● 全部詰め込みがちな構成図を秩序を保って書く ● コンテキスト→コンテナ→コンポーネント→コー ドの順に分解 『開発者とアーキテクトのためのコミュニケーションガイド ―パターンで学ぶ情報伝達術』 https://www.amazon.co.jp/dp/4814401051
diagrams.net(draw.io) ● 無料で使える高機能な作図ツール ○ Web/デスクトップ対応 ● DFD、UML、C4、BPMNなど幅広く対応 ● 編集可能なSVG/PNGとして保存できる ● 実体はXMLなので最近は生成AIも扱えるとか
Mermaid.js ● テキストベースの作図ツール ● Git管理しやすい ● シーケンス図、クラス図をよく使う ● JavaScriptで画像化できるので扱いやすい ● 生成AIはとても得意
Docsify ● Markdownだけで静的ドキュメントサイトを構 築できるツール(ビルド不要) ● サイト内検索やMermaid描画なども可能 ● draw.ioやMermaid.jsで書いた図を Markdownに埋め込んでDocsifyでサイト化
まとめ
● PowerShell ● DuckDB CLI ● Alpine.js ● データフローダイアグラム ● C4モデル ● diagrams.net(draw.io) ● Mermaid.js ● Docsify
道具を使いこなす。 小さく始めて大きく変わる。 楽して、たのしく働く。