Automatorアプリケーションでシェルスクリプト+リソースを配りたい

Dev

macOS用のツールアプリケーションをインストールする方法がシェルスクリプトだった。ITエンジニア向けだったら良いんですけど、そうでない人が対象だったのでさすがにGUIが必要で、Automatorで手軽にできないかと思って調べてみました。 実行したいシェルス…

GCFをデプロイするGCPプロジェクトのセットアップ

毎回やって毎回引っかかってる気がするのでメモ。本当はTerraformとか使った方が良いんだろうけど。 とりあえず最低限必要なもの、 前提 TypeScript で GCF を作って cloudbuild.yaml を読ませてデプロイする

Firestoreのフィールドにどうしても.を使いたい

Dev

Firebaseのフィールド、例えばマップのキーにメールアドレスを使いたいパターンはよくあると思う。例えばこういうの。 permissions: { "iseebi@example.com": "read", "admin@example.com": "admin" } で、これをクエリしようとすると permissions.iseebi@ex…

Firebase Hostingでサイト全体をリダイレクトさせる

Dev

サイト全体をリダイレクトさせたいということがあると思う。例えば、wwwでメインサイトをホストしているけど、Apexドメインにアクセスしたときもwwwにリダイレクトさせたい、とかの場合だ。他にもちょっと複雑なリダイレクトさせたりもしたいということもあ…

Google Cloud SDK (gcloud) コマンドの設定切り替え

gcloudで取り扱うプロジェクトの切り替え方法。プロジェクト作るたびに調べてる気がするので。

9年もののiOSアプリのプロダクト改善を1年ちょいやったのでまとめる

Etc

昨年の頭に転職して、ピリカという会社にお世話になっている*2。科学技術の力で環境問題を解決するという目標を元に、ごみ拾いSNS ピリカや、ITに関わらず様々な技術を使った調査プロジェクトなどのプロダクト/プロジェクトを推進している会社だ。

日産のインテリジェントルームミラーが汚れて見えない時

毎年恒例の旅行に来てるのだけど、ちょっと普段と異なる状況で困ったということがあったのでメモを兼ねて。 最近の日産車である程度のグレードになると「インテリジェントルームミラー」なるものがついている。車のルームミラーがカメラになっていて、後部座…

NotificationCenter.addObserver(forName:object:queue:using:) にインスタンスメソッドを渡すとリークする

これまで、NotificationCenterのaddObserverはSwiftでもaddObserver(_:selector:name:object:)で書いていたのだけど、ふと「あー@objc書きたくないな〜」と思った。 そこで単純にaddObserver(forName:object:queue:using:)に置き換えたのだけど、これでリー…

車中泊用のベッドを買い換えた

先日の車中泊装備紹介エントリで書いていたエアーベッドだが、気持ち足下が短くて、もう少し長いものに買い換えたいと思っていた。 しかし、セレナの3列目を片方倒した場合、もう片方と壁の間にできるスペースの幅は65cm程度、シングルサイズのエアーベッド…

ジャパンキャンピングカーショー2020を見てきた

車中泊をはじめてから、キャンピングカーについての情報を見ることがかなり増えた。当然ながら車を乗り換えることは全然考えていないのだけど、将来的にキャンピングカーをベースに生活できないかなという考えも少し頭をよぎることがあったり、単純に憧れる…

セレナe-POWERで行ってきた、2019年の車中泊旅の記録

*1 セレナe-POWER 車中泊ブログ3回目。今回は行ってきた車中泊旅を紹介。 といっても、特に10月11月はひどくて毎週どこかに車中泊に行っていて全部挙げるときりがない。2ヶ月で「常にどこかで車中泊してる人」みたいなイメージが会社内でできあがったくらい…

セレナe-POWERでの車中泊スタイルが固まってきたのでまとめ (2) 装備品

いろんな情報を集めながら何度か車中泊旅をしてきたところ、自分のスタイルが固まりつつあるのでこのあたりで一度まとめてみようと思う連載、今回は車中泊に使っているグッズについてのまとめ。

セレナe-POWERでの車中泊スタイルが固まってきたのでまとめ (1) 車自体について

2018年の年末、セレナe-POWERを買った。カーシェアだと時間に自由が利かないのに不満があったのと、いつかは車中泊旅をしてみたいと思っていたこと、家庭の事情や転職のタイミングが揃ってエイヤ!と購入に至った。 いろんな情報を集めながら何度か車中泊旅…

GAE/Python の 2.7(gen1) から 3.7(gen2) への移行作業メモ

趣味で作った GAE/Python Python 2.7 のサービスを Python 3.7 に移行したときにやったことのまとめです。

Universal LinksのApp ID PrefixがTeam IDでない場合がある

iOSのUniversal Linksを設定していたが、シミュレータでは正しく挙動するものの実機では一切動かないということが起こった。 apple-site-association には、[Team ID].[Bundle ID] の形式でapplinksを記載していた App Search API Validation Tool では Erro…

GoogleドライブのファイルをGoogle Cloud Storageへコピーする

Google Cloud APIの中には、gs://[bucket]/[path]の形式になっているCloud StorageのURLを与えることができるものがある。今回はGoogleドライブに入っているファイルをCloud Storageにコピーしてgs://のURLとして使えるようにしたかった。 streamをうまく使…

シェルで長いコマンドが動いた場合、コマンド終了時に音を鳴らす

ターミナルで作業中、たまに意図せず時間のかかるコマンドを叩いてしまうことがあります。例えば、curlでダウンロード仕掛けたは良いけどファイルサイズが大きかったり、無意識にcarthage update叩いてしまった場合などです。 そうなると、終わるまでちょっ…

今回はプッシュ通知の本 / #技術書典 7にサークル参加します

サークル 伊勢的新常識は2019/09/22(Sun)開催の技術書典7に参加します。スペースはい13Cです。 今回は、これまでのプッシュ通知基板開発の経験を凝縮した1冊をお届けします。

ライブのチケットをAirtableで管理してみたらわりと良かった

Etc

ここ数年は決まった声優さんだけではなく、様々なアーティストのライブに行くことが多くなってきた。ロックバンドのライブは封入先行、オフィシャルHP先行、プレイガイド先行など、予約するタイミングが複数あって、予約先もアーティスト公式/ぴあ/e+だけで…

Twitterアプリ経由認証を簡単実装できる軽量ライブラリSimpleTwitterAuthenticationを作りました

仕事でTwitter認証をサポートしたアプリを開発していますが、その認証処理に使われていたライブラリがとても古く、あっちこっち警告出しまくっていたので入れ替えることになりました。 いろいろ考えた結果、小さなライブラリを新しく起こしました。SimpleTwi…

Dark Modeに対応したTransporterPad v2.1.0をリリースしました

iOS/Androidアプリを簡単かつ複数の端末にインストールできるMacアプリ、TransporterPadを久しぶりにアップデートしました。 今回は再びはやかわさんにご協力いただき、ダークモードに対応させました。 ダウンロードはこちらから そもそもTransporterPadとは…

macOSアプリに埋め込む実行バイナリのNotarization/Hardened Runtime対応は署名すればOK

昨日の記事で、アプリはHardened Runtime対応されたものの、リソースとして埋め込まれる実行ファイルがHardened Runtimeに対応していない状態だったためNotarizationに失敗していました。 実は、Hardened Runtimeへの対応はアプリのビルド時ではなく、コード…

Visual Studio App CenterでmacOSアプリのNotarizationに対応しようとした

macOS Catalinaから、macOSアプリはAppleによる公証(Notarization)が必須化されます。Notarizationのプロセスではアプリのバイナリを一度Appleに送って、マルウェアなどのチェックを受けます。雰囲気は以下のページがわかりやすいです。 applech2.com さて、…

フレッツ光のIPoEがやたらと遅かったけどプロバイダのせいだった

Etc

マンションに標準でインターネットがついている物件を渡り歩いてきたけど、昨年引っ越したときについにインターネット付き物件でなくなってしまったので自前でフレッツ光ネクストを契約した。 その際に、友人から PPPoE で接続していると遅い!IPoE 接続にす…

Apple Developer Programが2/27から2ファクタ認証必須になる件

日本時間の2/14の朝、Apple から一つのメールが届いた。 ベッドの中で寝ぼけながら読んでいて、一気に眠気が吹っ飛んだ。2/27 より2ファクタ認証が必須になるという内容が書かれていた。これは大きな問題になるぞ…!と思ってツイートした。 おいおい、Apple …

うつ病から回復したので経過を記録しておく

Etc

2017年8月頃から2018年11月頃まで、うつ病の治療をしていた。 インターネットで検索したときに、病気で通い始めた後治ったところまで書かれている記事があまり見つからず、どんどんきつい薬になっていったり自暴自棄になったり、薬ソムリエと化しているもの…

Windows Mobile 向けアプリカタログ Giraffe 終了のお知らせ

Etc

Windows Mobile 向けアプリカタログ Giraffe は 2019年1月8日23時をもってサービスを終了します。 終了の理由は色々ありますが、Windows Mobile 6.5 のメインストリームサポートが終了*1してから6年も経過し、アプリの登録も2014年を最後に止まっているため…

NissanConnect インターネット情報チャンネルの実験ついでに、さわやかの待ち時間情報をしゃべらせる

日産のオプションナビで現在のモデルでスタンダード・プレミアムのナビを選択して新車を購入すると、NissanConnect という通信サービスがついてくる。10年無料でソフトバンクの通信モジュールをつかった通信サービスが使えるらしい。 で、ちょっと調べてみた…

毎日のお弁当注文FAXをTwilioで自動化する

Dev

僕の通っているオフィスでは社内の有志メンバーを募って仕出し弁当を注文していました。 毎朝10時ちょっと前までにFAXで注文しておけば、お昼休みまでにオフィスに届けてくれるという仕組みでした。 しかも、オフィスの前にやってくる弁当屋さんよりも、ちょ…

音楽ファイルを必要なものだけフィルタしてコピーする

僕の iTunes ライブラリには10年以上ためこんだ音楽が入っているが、例えばカラオケトラックやドラマCDなどは普段聴かないので除外している。 iTunes ではこれをスマートプレイリストで実現しているが、今回はこれをファイルベースでやる必要が出てきた(聴く…