@kyanny's blog

我々の目的は何かと聞かれて、私はたった一つの言葉で答えることができる。勝利。それだけだ - ウィンストン・チャーチル

AppleScript

Alfred から iTerm2 を操作するカスタムスクリプトAppleScript で書かれている。iTerm2 のドキュメントと照らし合わせながら読んだら、初めて AppleScript が理解できた。これまで何度か目にする機会があったが、文法や仕組みを知らなかったので、まるで知らない国の言葉のようにさっぱり理解できなかった。 end xxx がちょっと古めかしい感じだけど、これはこれでとても読みやすい。

理解できなかったことが理解できたときの感動を久しぶりに味わえて嬉しかった反面、意味がわからないと感じていた頃の感覚をおれはもう失ってしまったのだと思うと、ちょっと寂しい気もする。

Alfred Workflow が削除できないときは Finder から削除する

テスト用に作った Alfred Workflow が不要になったので削除しようと思ったら、エラーで削除できなかった。

f:id:a666666:20210305020220p:plain

Forum に似たような質問があったので読んでみると、 Finder から削除すれば良いとのことだった。

f:id:a666666:20210305020328p:plainf:id:a666666:20210305020342p:plainf:id:a666666:20210305020358p:plain

Open in Finder のあと「内包しているフォルダで表示」するのがポイント。 Workflow のフォルダ名は UUID っぽい文字列がついていて Finder から区別しづらいが、この方法だと誤爆せずに済む。

say コマンドで英単語を読み上げる Alfred Workflow

Alfred Workflow を作ってみた。

github.com

Alfred から Terminal で任意のコマンドを実行できるし、 iTerm2 に変更もできるが、 iTerm2 で新しいタブを開いてコマンドを実行するので、不要なタブが残ってしまう。コマンド終了を待ってからタブを閉じるのはちょっと難しそうだったのでどうしたものかと思ったが、 Workflow の Terminal Commands と Run Script の違いについての話題を見つけて、 Run Script ならこの問題を回避できそうだったので Workflow を作ってみた次第。

Workflow はどういうものか全く解ってなかったが、要は Automator のようなもので、新規作成のためのテンプレートがいろいろ用意されているので、適当に選んだものをいじっているうちに雰囲気で作れた。

PagerDuty の API リファレンスがよくできている

https://developer.pagerduty.com/api-reference/

ブラウザ上で各種パラメータを変えながらリクエストを発行できる。試行錯誤しやすくて便利。結果の表示形式も pretty print JSON やネストされた Object を開閉できるやつ(Chrome console みたいな感じ)などから選べて使い勝手が良い。

自分の API キーを使うこともできる。画面左上の "Test API Token" のところに自分の API キーを入れれば良い。 API キーの発行方法は Generating API Keys 参照。自分の API キーを使うと所属してる組織のデータにアクセスできるのでいろいろ試しやすい。

f:id:a666666:20210305014832p:plain

自動コード生成も意外に便利だった。自分で API を書く場合、仕様も使い方も頭に入っているのでわざわざ OpenAPI のようなドキュメントからコード生成するメリットがピンとこなかったが、 API のユーザーの立場だと、動作するコードをワンクリックで手に入れられるのは便利だ。それを出発点にして開発し始めると、 boilerplate なコードを書く手間と時間が節約できる。

このページ、 OpenAPI (Swagger UI) には見えないし、 Postman の UI ともちょっと違う。 Postman の OEM っぽい気もするけど、もし自前で作ってるとしたら相当しっかり作ってあるなあと思う。