Apple の証明書IDが変わってビルドが失敗するようになっていた
先日、Apple の証明書を更新したところ、CI で実行していたビルドが失敗するようになりました。証明書とか provisioning profile をマシン上で更新するのに失敗したのかなと思ったのですが、そうでも無さそうで、しばらく悩んでいました。
Mac で強制終了できないフリーズした Unity を強制終了させる
Unity がフリーズすること良くありますよね?そんなとき、再起動させたいのですが Unity がスムーズに終了してくれないことがあります。PC を再起動させようにも Unity が邪魔をして、あげく PC を強制終了させたこともあります。
now(vercel) で private key を secrets に登録する
now(vercel) で secrets を登録するには、コンソールから now secret add KEY VALUE
すればよいですが、公開鍵を登録しようとすると次の画像の様になり登録できません。
NextJS で Firebase にデプロイする
next.js で実装したアプリケーションを、Firebase にのせたいという場合、Cloud Functions, Hosting を使って実現できます。next.js 公式リポジトリの examples にもあるので、そのとおりにすれば良いでしょう。今回は、後から Firebase を使用するように切り替える場合の作業ログを残します。
あるリポジトリの変更を別リポジトリに git で適用する
2つのとても似ているリポジトリがあって(ライブラリにしろとか、submodule にすれば?というのは置いておいて)、片方の差分をもう片方に適用したい。端的に言うと、cherry-pick を別リポジトリに対してやりたいわけなんだけれども普通はできない。
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
ActiveRecord の serialize を使う
ActiveRecord::Base .serializerails でオブジェクトをそのまま DB に保存したい場合, serialize が使える場合があります.class User < ActiveRecord::Base
serialize :group_ids
end
simple_form で binary 型フィールドの file_field を使う
simple_formsimple_form は,煩雑になりがちなフォームの記述をシンプルにしてくれます.heartcombo/simple_form- form_for @user do |f|
%li
name:
= f.text_field :name
%li
email:
= f.email_field :mail_address
%li
password:
= f.password_field :password通常,このように記述するところを,次のように書くことができます.- form_for @user do |f|
= f.input :name
= f.input :mail_address
= f.input :password全部,input で済ませることができます.
rails でファイルをアップロードする際の挙動
経緯前回,画像ファイルをアップロードして DB に保存する記事を書きました.実際にファイルはどうやって DB に保存されるのかについて補足します.
rails で画像ファイルを DB に保存する
rails で画像を保存するrails 画像を扱うには,https://github.com/thoughtbot/paperclip や https://github.com/carrierwaveuploader/carrierwave といった便利な画像アップローダの gem がありますが,ちょっとしたアイコンやアバター,ロゴ,バナー画像などの類で,加工も必要ないような場合には DB にバイナリで突っ込んでおくくらいが手軽で良さそうです.
Middleman の記事更新を Travis-CI でする
Middleman 静的ファイルのデプロイこのサイトは Middleman + github.io でできていて,デプロイ時には middleman build && middleman deploy
とします.これはそんなに面倒じゃないんですが,↓の記事に倣って自動化させてみました.Middleman で作った web サイトを Travis + GitHub pages でお手軽に運用する - tricknotesのぼうけんのしょ
GitHub で open になっている PR をチェックする
API を叩く複数の GitHub リポジトリの PR をチェックするのが割りと面倒なので,日時バッチで通知するようにしている.
rake notes で,spec, js, coffee, scss, haml, slim のファイルも対象にする
Rails で rake note
を打った時に、ruby のファイルしか検出してくれないので、js(coffee) や css(scss), html(slim, haml) も検出するようにした。