概要 本記事では、逆ジオコーディングの高速化と精度向上のための手法を解説します。 既存実装はGCSへの都度リクエストにより遅延(0.2~0.3秒)が発生していましたが、新実装ではデータ構造を圧縮し、メモリ上で処理可能にしました。 geocellを用いたTrie構…
こんにちは、ピリカ開発チームの九鬼です。 ごみ検出モデルをエッジAIで動かすにあたり、Jetson Orin Nano開発者キットでいくつかセットアップしました。その中でトラブルのあったポイントがいくつかあったので、その内容とセットアップ方法を共有いたします…
こんにちは、ピリカ開発チームの九鬼です。 昨年秋、Firestoreのバックアップのプレビュー版が提供され始めました。費用・管理面で日々のバックアップで利点があったため、導入した話を共有いたします。
概要 こんにちは、SNSピリカ開発チームの冨田です。 今年の1月にAPIサーバをPython3に移行するプロジェクトを完遂しました。 本プロジェクトは、SNSピリカ開発チームのメンバーはもちろん、それ以外のメンバー、業務委託で一時的に関わってくださった方々、…
こんにちは、ピリカ開発チームの九鬼です。 AppSheetを使うと、スプレッドシートをデータベース代わりにしたアプリをノーコードで作成できます。AppSheetでは画像を表示することもできるのですが、設定すればGoogle Cloud Storage(GCS)上にある画像も参照す…
こんにちは。 ピリカ開発チームの伊藤です。 ピリカでは6月1日より、ピリカサポーターズクラブを開始しました。 まだご覧になっていない方はこちらをご覧ください。 corp.pirika.org ピリカサポーターズクラブをはじめるにあたって新しいシステムを構築しま…
こんにちは、ピリカ開発チームの九鬼です。 2022年にGCPでCloud Batchのプレビューがリリースされ、2023年4月には東京リージョンがサポートされました。ピリカではタカノメでごみ検出処理をCloud Runで行ってきましたが、この度Cloud Batchに移行しました。…
SSH接続・CUI操作のLinux(Debian)にgoogle-drive-ocamlfuseをつかってGoogleDriveをマウントする方法
こんにちは、ピリカ開発チームの九鬼です。 ピリカでは撮影したごみの画像に対してアノテーションし、その結果を基に解析・研究を進めることがあります。 その中でGCP上の自社サービスと連携できるアノテーションツールが必要になり、CVATをGKEに構築しまし…
Looker Studio(旧Data Studio)では、BigQueryを使ってGISデータを可視化することができます。本記事では、そのためのセットアップ方法について紹介します。
GISデータをGoogle Mapで可視化するにあたって、Reactと連携しながら使いたいことがあります。 一方で、Google MapのMaps JavaScript APIでオーバーレイは命令的に実行する必要があり、差分表示などもケアしようとするとそれなりのコードを書く必要がでてき…
こんにちは。 ピリカ開発チームの伊藤です。 Cloud Buildでは、リポジトリの更新以外にCloud Pub/Subへのメッセージをトリガーにしてビルドを開始することができます。 今回、複数プロジェクト間でPub/Subトリガーをサブスクライブする設定をしてみましたの…
10/05(水)〜10/07(金)に開催されたAndroidアプリ開発者のためのカンファレンス DroidKaigi 2022 にオフライン参加させていただきました。
こんにちは、ピリカ開発チームの九鬼です。 Google Cloud Platform(GCP)サービスをPythonなどから触るとき、grpcioライブラリがついて回ります。grpcioはc++で組まれている関係で、CPUアーキテクチャなどの環境によってビルドできたりビルドできなかったりが…
こんにちはピリカの冨田です。 今回は、BigQueryの出力結果をAppScriptを使って定期的にGoogleスプレッドシートに保存する方法です。
こんにちは。 ピリカ開発チームの九鬼です。 以前、Google DriveからGoogle Cloud Storageにファイルをコピーする方法[^1]を本ブログで紹介しました。当該記事はNode.js向けの内容だったのですが、Python向けに対応できたのでその方法を紹介いたします。
こんにちは、ピリカ開発チームの九鬼です。 Firebaseを使ったサービスに関して、サービスによっては複数bucketを使いたい場合があります。デフォルトだと単一bucketしかセキュリティルールを割り当てられないのですが、.firebasercおよびfirebase.jsonの設定…
こんにちは、ピリカ開発チームの九鬼です。 弊社が提供しているタカノメサービスについて、GCP Workflowsを用いることで調査結果の出力フローを自動化することができました。本稿では、構築したワークフローの概要を紹介いたします。
こんにちは、ピリカ開発チームの九鬼です。 弊社が開発しているタカノメ自動車版では、クラウド上にて撮影動画中のごみを検知しています(下図例)。 本機能を安定化するにあたり、開発環境において試行錯誤した経緯を共有いたします。
こんにちは、開発チームの冨田です。 今日はSign in with Appleにおける、サーバー側でのリフレッシュトークンの取得と、トークンの無効化処理について書きます。 これは2022年6月から適応される新しいガイドラインにて、アカウント削除機能に対する要件が新…
こんにちは、ピリカ開発チームの九鬼です。 モバイル端末管理ツールの一種であるMicrosoft Intuneから、iPhoneにアプリ専用の設定値を配信することがありました。備忘録として、Intune側での設定方法とiOSアプリでの読み出し方を記載します。
こんにちは、ピリカ開発の冨田です。 今日はJetBrainsがオープンソースとして配布しているフォントJetBrainsMonoをVisualStudioCode(VSCode)で利用する方法を書きます。
こんにちは、ピリカ開発チームの九鬼です。 Firestoreについて、ドキュメントに有効期限を付けつつ、フィールドが特定値を持つドキュメントのみ取得できるようにしたいことがあります。 セキュリティルールと複合クエリを使って実現できたので、その方法をま…
こんにちは。 ピリカ開発部の伊藤です。 ピリカではほとんどのサービスでGCPやAWSが発行するHTTPS証明書を使っていますが、見える化ページと呼ばれる、自治体や企業など、一定の範囲内でのごみ拾い活動を集約しているサービスで使っているワイルドカード証明…
こんにちは、ピリカの豊川です。 入社してそろそろ半年が経ちますので、以前から書こうと思ってたブログ記事を書いてみます。 これは、Macのデフォルトのプロンプトでターミナル操作した時のスクショです。特に難しいことはしてませんが、なんとなく何をやっ…
pythonからスプレッドシートを触るとき、gspread/gspread_dataframeなどのライブラリを利用することができます。 これらライブラリについて内部実装を見ながら、どのような使い方をするかまとめました。
こんにちは。ピリカ開発部の冨田です。 ピリカではPythonパッケージの管理にPipenvを利用しています。 今回は、Pipenvで環境構築を行うときに、よく使用するコマンドをまとめました。 公式ドキュメント
こんにちは、ピリカ開発チームの九鬼です。 最近、新規のiOSアプリをxcode13を使って開発しました。Xcode 13でbitriseのCIビルドについて設定方法が見つからなかったので、備忘録として展開します。
こんにちは、ピリカの伊藤です。 先日、iOSアプリを審査に出したところ「iPadOSで起動時に通信エラーで進めない」とリジェクトされました。 これまでこのようなリジェクトを受けたことはなく、特にサーバーも問題なく動作していました。 では、なぜ審査落ち…
こんにちは、ピリカの冨田です。 今日は、Macの画面に、手元のiPhoneの画面をリアルタイムで表示する方法をご紹介します。 PCでビデオ会議中に、相手にiPhoneの画面共有をしたいことはありませんか? 例えば、アプリの操作方法を相手にリアルタイムでお伝え…