こんにちは、ピリカ開発チームの九鬼です。
Firestoreについて、ドキュメントに有効期限を付けつつ、フィールドが特定値を持つドキュメントのみ取得できるようにしたいことがあります。
セキュリティルールと複合クエリを使って実現できたので、その方法をまとめました。
続きを読むこんにちは、ピリカ開発チームの九鬼です。
Firestoreについて、ドキュメントに有効期限を付けつつ、フィールドが特定値を持つドキュメントのみ取得できるようにしたいことがあります。
セキュリティルールと複合クエリを使って実現できたので、その方法をまとめました。
続きを読むこんにちは。 ピリカ開発部の伊藤です。
ピリカではほとんどのサービスでGCPやAWSが発行するHTTPS証明書を使っていますが、見える化ページと呼ばれる、自治体や企業など、一定の範囲内でのごみ拾い活動を集約しているサービスで使っているワイルドカード証明書はLet's Encryptで発行しています。
Let's Encryptで証明書発行するためのクライアントとしては標準のcertbotの他にもいろいろなものがあります。 個人的に、legoを気に入って使っています。お気に入りポイントはこんな感じです。
コマンドとしてずっと使っていて、このコマンドを内部的に使用する形で証明書を自動更新をするCloud Runを作ろうとしていたのですが、改めてリファレンスを読んでいたところライブラリとしても運用できることがわかりました。
今回はlegoライブラリでLet's Encryptクライアントを書いてみたので、使い方を紹介します。
続きを読むこんにちは、ピリカの豊川です。 入社してそろそろ半年が経ちますので、以前から書こうと思ってたブログ記事を書いてみます。
これは、Macのデフォルトのプロンプトでターミナル操作した時のスクショです。特に難しいことはしてませんが、なんとなく何をやってるのかわかりにくく思いませんか?
いくつか問題点を上げてみます。
pwd
する必要がある一方で、私の普段使ってるターミナルはこんな感じです。
~
で略記するなど、冗長的な表現は防いでいる)ls
の表示が色分けされていて分かりやすい(青:ディレクトリ、白:ファイル、赤:実行ファイル)ちなみにRosetta2を使うときは、物理的に別アプリ(普段はiTerm2、Rosetta2は純正Terminal.app)と使い分け、さらには色も分けることでヒューマンエラーを防いでいます。
技術的に難しいことはしてませんし、ググったらやり方はすぐ出てくるような内容ですので、ここでは敢えて具体的な設定方法については解説しません。
フロントエンド開発にはユーザー視点でUXに向き合うことが欠かせませんが、まずは自分の身の回りで、自分自身がユーザーとして使うものを使いやすくカスタマイズすることは、意識付けの良いきっかけになると思っています。
皆さんもこだわりポイントや自慢したいところがありましたら、ぜひお聞かせいただけると嬉しいです。
こんにちは、ピリカの伊藤です。
先日、iOSアプリを審査に出したところ「iPadOSで起動時に通信エラーで進めない」とリジェクトされました。 これまでこのようなリジェクトを受けたことはなく、特にサーバーも問題なく動作していました。
では、なぜ審査落ちになったのでしょう。審査落ちのメッセージに添付されていたスクリーンショットを確認したところ、通信インジケーターが出ていませんでした。通常、ここにはWi-FiやCellularのアイコンが表示されているはずです。
一応この点について指摘してみましたが「このデバイスは正しくインターネットに接続している。詳しくは教えられない。」という回答があったのみでした。
Wi-FiやCellularの表示がなくても接続できる状況ってあるか…?いや、そういえばEthernetがありました。
実はiOS 9.3以降で、Lightning to USB3 Camera Adapterを使い、そこにUSB-Ethernetアダプタを繋ぐことでEthernet、つまり有線LANに繋ぐことができるようになっています。もちろん、USB-Cポートを備えたiPad Proであれば、直接USB-CにUSB-CのEthernetアダプタをつなぐこともできます。
LightningポートにEthernetを挿せるように環境を整えました。Ethernetアダプタをポートに接続すると、設定アプリにEthernetの項目が増えます。
この状態にすることで、問題を再現できました。
このアプリは通信前にFBNetworkReachabilityライブラリでインターネットの疎通をチェックしていますが、このライブラリはCellular接続でない場合はIPアドレスを検出する動作をしていましたが、これがEthernetの環境ではうまく動作していませんでした。
GitHubの最新のコードではこの問題は解消されていましたが、このバージョンはCocoaPodsにリリースされていません。
GitHubを直接参照する形で更新することもできましたが、ライブラリがObjective-Cで記述されていること、現在のアプリはiOS12以降対応になっている等を鑑みて、NWPathMonitorに置き換えて対応することにしました。
今後、通信の疎通にはEthernet接続もあるというのを考慮に入れるようにしたほうが良いと思いました。