2022年11月24日木曜日

【Make formerly Integromat】Twitter でいいねした画像を自動でクラウドストレージに保存する

最近、お絵かきをしたいなと思ってちょこちょこ描いてるのですが、今は昔よりも簡単に上達するための手法や、Twitter の投稿でお手本を見られるので、思っていたよりうまくなった気がしてます(自己満)
まぁまだまだ下手くそなんですけどね。それでも昔のなんかうまく描けないって感じの絵からは脱却できたと思う。


はい。ここまでがまっとうな言い訳なんですが、Twitter でこのひとの絵上手だな、この構図いいな、こんな塗り方もあるのね、といいねした画像がいっぱいあるのですが、参考にしたいなというときにいいねを遡るのは大変なので保存することにしました。
(決して助平心の極みではありません)

では早速シナリオへ

シナリオは 4 つのモジュールだけなので簡単な方です。
まずはじめにトリガーになる Twitter モジュールです。
※Twitter モジュールを使用するので有料プランが必要です。

トリガーは毎時設定で、「List Likes」モジュールで最大5件取得するようにしています。
When to start を過去からにしたら昔のいいねを順次5件ずつ処理されます。
(全件は取得できないです。ページング対応してないからと思われます)


次の Iterator ですが、これは1ツイートに複数の画像がついている場合があるので「Extended entities: Media[]」配列をループさせてます。


次の HTTP モジュールで取得した画像 URL からファイルをダウンロード
最後にダウンロードしたファイルを Dropbox モジュールでアップロードしてます。
アップロード先は好みで変えてください。
(サービスのモジュールがない場合は HTTP モジュールで頑張るか、FTP や SFTP モジュールになると思います)
ファイル名は複数枚画像があった場合に同じファイル名にならないように Iterator からインデックスを取って名前に含めるようにしています。
今回は単純にツイートIDをファイル名に含めるだけにしていますが、Twitter モジュールからツイートの情報が取れるので必要に応じて情報を残すと良いと思います。


実際に運用している Dropbox はこんな感じです。

いいねしておいたら勝手に保存されるので、どんどんいいねしちゃいますね!
ではでは。

2022年11月10日木曜日

git で新規ブランチ作成時の typo を防ぐ

 あまり実用的ではないものの参考までに紹介します。
(というのも最近趣味プログラミングしてなくてネタがない・・)

git でブランチ作成するときに feature って名前をつけることがよくあると思いますが、
これを typo して faeture だったり featrue だったりで push してしまうことがあります。

ただの名前だしまあそんなに気にしなくても。。と思いますが、
ブランチ切替時の入力補完が f や feat とかで止まってしまって1手順増えてしまいます。

たかが1手順とはいえ、体験すると割とストレスだし、開発メンバー全員に影響があることなので実は思っている以上に生産性を下げてしまっている。かもしれません。
(体感です。計測してるわけじゃないです。)

トイルといえるかもしれませんね。
スケールもすると思うので、改善のコスパは良い気がします。

。。少し脱線しましたが、本題へ

commit メッセージの typo チェックはよくあるけど、ブランチ名の typo チェックはあまり聞きません。
ブランチ作成時の hook はなさそうだったので、多くの人が作ってるであろうブランチ作成の alias に手を加える方法にしました。

typo 修正付きブランチ作成 alias

できた alias はこちらです。

[alias]
  cob = "!f(){ echo $1 | sed 's|/| |g' | typos - -w | sed 's| |/|g' | xargs -I% git switch -c %;};f"
  

こうなります。

typo チェックツール

今回使った typo チェックツールは typos です。
他に misspell も使ってみたのですが、feature の typo のいずれのパターンも修正できなかったので typos にしました。

typos は feature_test は分解してチェックしてくれますが、feature/test は分解されなかったので、sed で一度スラッシュを空白に変換してます。
空白にしたのは typos のあとでもとに戻すときに、都合が良いからです。
(_ だともともと _ だったものも / にしてしまう)

ちなみに typos でも faeture は feature になおしてくれますが、featrue はダメでした。
辞書とかあれば改善するかもしれませんが、今回はネタレベルで書いた alias なのでパスします。

最後に

こういったちょっとした手間でもスケールすれば効果は大きくなります。
最近は自称 SRE として改善を生業としてますが、こういったお遊びも役に立つことがあるでしょう。

以上。