Macでビデオ会議(画面共有)中に手元のiPhoneの画面を共有する方法

こんにちは、ピリカの冨田です。

今日は、Macの画面に、手元のiPhoneの画面をリアルタイムで表示する方法をご紹介します。

PCでビデオ会議中に、相手にiPhoneの画面共有をしたいことはありませんか?

例えば、アプリの操作方法を相手にリアルタイムでお伝えしたい時などです。

この方法を使えば、ビデオ会議などで、Macから自分の画面を共有している時に、手元のiPhoneの画面を共有することができます。

f:id:kahi0223:20220210182747p:plain
手元のiPhoneの画面をMacの画面に表示する

続きを読む

Mac(M1 CPU)で、互換性のあるpyenv+pipenvの環境を作る

こんにちは、ピリカ開発チームの九鬼です。

SNSピリカやタカノメのサービスでは、バックエンドで度々Pythonを使用しています。その中でいくつかPythonスクリプトがあり、バージョンが3.7系列や3.9系列などが含まれます。

しかしながら、Mac(M1 CPU)からarm64ベースのアーキテクチャになったこともあり、一部Pythonバージョンや一部ライブラリがインストールできないことが多々あります。

そこで、複数のPythonバージョンで仮想環境を切り分けられるよう、pyenv + pipenvの環境を整えました。

続きを読む

GAE/Pythonでサービスアカウントキーファイルを使わないようにした

こんにちは。ピリカ開発チームの伊藤です。

GCPの各種サーバーレスサービスにアクセスするには、認証情報が必要となります。App EngineやCloud Functions上で動作している場合は、GCPの各種ライブラリを使っていれば特に何もしなくても認証が通った状態となり、FirestoreやCloud Storageなどを扱うことができるようになっています。

しかし、ローカルでの動作確認を行う場合など、GCP外で動く場合には認証情報を渡す必要があります。 これまで、ローカルでの認証のためには「サービスアカウントキー」というJSONファイルを取得することが多かったのですが、サービスアカウントキーファイルが漏洩した場合に検知が難しいなどの問題があり、最近は非推奨となっています。

では具体的にどのようにすれば良いのかというと、あまりまとまった情報がありませんでした。

今回は、GAE/Pythonをメインに運用しているピリカでとったサービスアカウントキー排除の手法をご紹介します。

続きを読む

Androidアプリ Realmでモデルパラメータを追加するとき、過去バージョン全てに渡ってパラメータ有無を考慮する必要があった話

こんにちは、ピリカ開発チームの九鬼です。

SNSピリカのAndroidアプリについて、段階公開していたv5.4.13, v5.4.14リリースで起動クラッシュが発生する問題がありました。v5.4.13でRealmのバージョンアップおよびRealm操作周りの役割分離を行っており、そのなかでのマイグレーション処理の不備が原因でした。本稿ではその経緯を共有いたします。

続きを読む

GoogleAppEngineでCloud SchedulerからのHTTPリクエストのみを受け付ける

こんにちは、ピリカの開発の冨田です。

ピリカのごみ拾いSNS「ピリカ」は、Google Cloud Platformを利用しています。

その中で、定期実行させたい処理を、Cloud Scheduler→AppEngineで行っています。

Cloud SchedulerからApp Engineに対してHTTPリクエストを送るのですが、その際にApp Engine側ではCloud Schedulerからのリクエストのみを受け取るようにしました。

f:id:kahi0223:20211203122844p:plain
Cloud SchedulerからApp EngineにHTTPリクエストを送る

続きを読む

文字列とリストの`is`の謎: Pythonのインターン(Intering)・文字列インターン(String Intering)

こんにちは、ピリカ開発チームの冨田です。

Pythonにはインターン(Intern, Intering)という仕組みがあります。

ここでは、インターンとは何か、Pythonインターンが利用されるのはどの様な場合か、文字列がインターンされる条件は何かなど、Pythonインターンについて書いています。

続きを読む

GeoPandasをGoogle App Engine(GAE)上で動かすためには、libspatialindexを事前ビルドする必要がある

※ 2021年4月時点での検証内容であり、ライブラリ側の更新により解消済みの可能性があります。

GAE上でGeoPandasを動かすには、libspatialindexをDebian系x64 OS上でビルドして依存関係に含めておく必要があります。本記事ではその方法を共有します。

続きを読む