モノラルログ

マツオ ( @matsuoshi / monaural.net ) のざっくりしたブログです

gitの差分をhtml形式で出力してくれる diff2html

gitの差分を、htmlページに埋め込む必要がありました。

できれば、見栄えのいいかんじ、GitHub 風に出力したく、そんなことができるツールを探していたところ、diff2html というライブラリに遭遇。

github.com

見た目はこんな感じ。GitHub風で見やすい。

f:id:matsuoshi:20220201165746p:plain

つかいかた

使い方はとてもかんたんで、まずは npm install しまして

npm install -g diff2html-cli

あとはコマンドラインにて

git diff [ブランチ1] [ブランチ2] | diff2html -i stdin

とか

diff -u file1.txt file2.txt | diff2html -i stdin

とかすればよいです。差分がhtml形式で出力されます。

横並びにしたければ --style side オプションをつけてください。 その際の見た目はこんなかんじ

f:id:matsuoshi:20220201165935p:plain

とりあえず試したければ

ブラウザから使えるものもこちらのサイトにあり

diff2html.xyz

Demoページでサクッと試すこともできます

読んだ「成功する要求仕様 失敗する要求仕様」

「成功する要求仕様 失敗する要求仕様」アラン・M・デービス

読んだ。いわゆる要件定義・要求定義に関する本。帯に「デマルコ絶賛!」とあり、表紙の感じからも「ピープルウェア」など一連のシリーズものの扱いなのかも。2006年初版ということでけっこう古いんだけれども、自分は最近知った。

原題は “Just Enough Requirements Management” ー ちょうど十分な、要求マネジメント。「ちょうど、十分な」というところがミソっぽい。

雑感 (雑な感想)

いや、良くまとまってるなーと思った。この本では、要求を「導き出し」、「トリアージし」、「仕様化」、という流れからの「変更を管理せよ」となっている。

問題解決やビジネス成功のために大事なことは、

  1. ユーザー視点を理解する
  2. 時間やリソースに都合のつく問題にのみ、対処する
  3. 齟齬の無いよう、自分たちが理解した内容を記録する
  4. ニーズの変化に対応する、柔軟であり続ける

これらがそれぞれ、「要求の導き出し」「トリアージ」「仕様化」「変更管理」にあたるという形。

構成もわかりやすい。第1章が「はじめに」、2〜5章が前述の「導き出し」〜「変更管理」、6章が「まとめ」なんだけど、わずか7ページの「まとめ」が特に簡潔にまとまってる。一部抜粋。

「もし、自分のほうが顧客よりも要求をよく知っていると思い込んでいるのなら、あなたは解決者ではなく、問題の一部なのである。」
「もっと機能を追加しよう!という意見が通った場合、提供は遅れるものである。そんなに多くの機能は実装できない!という意見が通った場合、製品の競争力は低くなるものである。」 「顧客は、自分が抱える問題を解決したがっている。コンピュータの記法を学びたがっているわけではない。」

細かいテクニックよりも、考え方の面について勉強になるのだけど、内容は観念的ではなくデータ・グラフをもとにした具体的な記述も多い。もう少し読み込みたい。


Add to Trello の代わりになる、Trello用ブックマークレットを作った

愛用していた Trello用の Chrome拡張 "Add to Trello" が、しばらく前から使えなくなってしもうた

ので、自分でブックマークレットを作った話です

やりたいこと

現在ブラウザで開いているページを、サクッとTrelloにカードとして追加したい。

  • あとで読む
  • 開いた issue のページを ToDo としてカード化する

などの目的で使います。

Add to Trello

chrome.google.com

今までは、こちら Chrome拡張を愛用していました。ですが、最近使おうとすると

"Invalid return_url. Wildcard ("*") allowed origins are no longer supported. Contact the developer. See https://community.developer.atlassian.com/t/52093"

というエラーが出るようになってしまいました。

GitHub には issue も出ているようではありますが……

github.com

しばらく復旧の見込みなさそうで。

Trello 公式のブックマークレットを使う

そう、公式のブックマークレットがあった

trello.com

実際こちらで、ほぼ同じことができるのでした。2クリックで、現在開いているページを Trello のカードとして保存できます。

目立った違いは、開いていたページのURLが、カードの description じゃなくて attachment として保存されること、くらい?

description として保存したい

これでほぼ解決ではあったのですが、やっぱり以前と同様、URL を description に保存して欲しかった。

ので、ちょっとブックマークレットを編集しました。こんな感じです

javascript:(function(w){w.open(`https://trello.com/ja/add-card?name=${encodeURIComponent(document.title)}&desc=${encodeURIComponent(w.location.href)}&mode=popup`,'add-trello-card',`width=500,height=600,left=${w.screenX+(w.outerWidth-500)/2},top=${w.screenY+(w.outerHeight-740)/2}`)})(window)

これで、ブックマークレットをクリックすると「ページタイトルがカードのタイトルに、URLが descriptionに」という状態でカードが作られます

以上

無料でデータ通信できる(らしい) donedone に加入した

いわゆる格安SIM (MVNO), ビッグローブが新しく立ち上げた "donedone" に加入した

www.donedone.jp

特徴的なのは、0円で低速 128kbps を50GB使える、という「エントリープラン」があること。さっそく申し込んでみました。 (なお申込み多数につき、これを書いている2021年7月9日時点ではエントリープランの新規受付は一時停止中らしい)

k-tai.watch.impress.co.jp

2日後に SIMカード到着。早い。

ふつうにスマホに挿して、APN は biglobe のものを設定すれば使えました。特に迷うところなし。

これで低速だけど、無料で月50GBのデータ通信をゲット。にわかには信じがたい。

肝心の使い心地は、ごめんぜんぜん外に出てないのでまだわからん。128kbps だと、テキストのやりとりくらいが主なんだろうなあ。

昔 OCN モバイル ONE を使っていたことはあって、それが低速制限時は 200kbpsでした。その場合でも、Twitter 的なテキストのやりとりなら問題なし。インスタやラジオ再生は、ちょっと待てば使えなくもない。Googleマップはしんどい。動画は最初からあきらめ。くらいの感触でした。128kbpsはそれ以下になるわけで、まあだいぶ割り切りはいりそう。ないよりはいいけど、みたいな。

楽天モバイルと組み合わせて毎月0円運用できるのか

そういえば、楽天モバイルはデータ1GBまでなら毎月無料、通話も無料だった。

これに donedone を追加すれば、通話も通信も毎月無料で運用可能ってことになるのか。まあ初期費用系はかかるけど、すごい時代だな。若干やりすぎ感もある。というか、こういう無料サービス系の持続性ってどうなんだろう、というのは気がかりではありますね。donedone の場合、今後は使いたいときに高速通信が使えるようなオプションチケットを販売していくそうです。適度にそういうの使いつつ、長くサービスが続くといいけど、まあ楽しみながら当面試していきます。