Apple の証明書IDが変わってビルドが失敗するようになっていた
先日、Apple の証明書を更新したところ、CI で実行していたビルドが失敗するようになりました。証明書とか provisioning profile をマシン上で更新するのに失敗したのかなと思ったのですが、そうでも無さそうで、しばらく悩んでいました。
notion-blog で rate limited が発生する
先日のアップデートから短時間での多量のリクエストが rate limited となるようになった様子。少し挙動をみた感じだと、数分待てば解消する感じ。
notion の API アップデートにともなう notion-blog の修正
Notion の API がアップデートされたようですが、いくつか API 仕様が変更されているようで、notion-blog にも影響が出ています。対策の備忘録です。
Mac で強制終了できないフリーズした Unity を強制終了させる
Unity がフリーズすること良くありますよね?そんなとき、再起動させたいのですが Unity がスムーズに終了してくれないことがあります。PC を再起動させようにも Unity が邪魔をして、あげく PC を強制終了させたこともあります。
Choco60 の右キーボードの左下を enter にする
先日、Choco60 というキーボードを組み立てました。
HHKB (Happy Hacking Keyboard) とほぼ同じ配列であり、かつ左右に分割されているという、控えめに言って最高なキーボードです。もう 10 年以上 HHKB Pro を使用していたので、なんの違和感もなく使用することができました。互換 CherryMX ピンク軸にしたので静電容量無接点方式とは違いますし、キートップの傾斜も違いますが、配列が同じということに比べたら些末な問題です。
now(vercel) で private key を secrets に登録する
now(vercel) で secrets を登録するには、コンソールから now secret add KEY VALUE
すればよいですが、公開鍵を登録しようとすると次の画像の様になり登録できません。
Choco60 ビルドログ
Choco60 を組み立てたので、そのビルドログを残しておきます。初自作キーボード。
Choco60 パーツ選定とか費用感など
HHKB Pro (Happy Hacking Keyboard Professional2) 代替の分割キーボードを求めて、Choco60 を組み立たので、その過程を記録します。
初めてやったので、備忘録のようなものです。
NextJS で Firebase にデプロイする
next.js で実装したアプリケーションを、Firebase にのせたいという場合、Cloud Functions, Hosting を使って実現できます。next.js 公式リポジトリの examples にもあるので、そのとおりにすれば良いでしょう。今回は、後から Firebase を使用するように切り替える場合の作業ログを残します。
HHKB を分割したい
HHKB をそのまま左右に分割したキーボードが欲しい。慢性的に左手首の腱鞘炎があって、時折キーを叩くのが厳しくなります。
厳しいときは、右手だけでやっている状態です。
あるリポジトリの変更を別リポジトリに git で適用する
2つのとても似ているリポジトリがあって(ライブラリにしろとか、submodule にすれば?というのは置いておいて)、片方の差分をもう片方に適用したい。端的に言うと、cherry-pick を別リポジトリに対してやりたいわけなんだけれども普通はできない。
ブログを Notion + NextJS + Now の構成にした
このブログを、Notion をソースとしてベースに NextJS で構築する Notion Blog(https://github.com/ijjk/notion-blog) の構成に移行しました。
IPA の再署名処理
いろいろな事情で、iOS 用アプリの再署名 (resign) をしないといけないケースが発生することがあります。開発とパブリッシャが違うとか。数年前とは少し変わっている様子だったので、基本的な処理をまとめます。
Sinatra で streaming を使用した際にちゃんとコネクションを閉じる
Sinatra で StreamingSinatra で WebSocket のような stream の簡便な実装を書くことができます.簡易なチャットシステムや,流れてくるログ拾ってきてブラウザで眺めるなどの用途に使えそうです.get '/', provides: 'text/event-stream' do
stream :keep_open do |conn|
conn << 'なにがしかの処理'
sleep 1
end
end
rails の delegate で,移譲先のオブジェクトが nil になる場合の対応
delegate互いに関連を持つ User
, Profile
があるとして,ある User
を主体として Profile#job
を得るには user.profile.job
とする必要があります.ですが,単に user.job
とアクセスしたいと思うこともあるでしょう.class User < ActiveRecord::Base
belongs_to :profile
def job
profile.try(:job)
end
endということで, User#job
メソッドを定義しました.しかし,この場合は,次のように移譲を用いることで解決することができます.class User < ActiveRecord::Base
belongs_to :profile
delegate :job, to: :profile
end