2021-11-01から1ヶ月間の記事一覧

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

こんにちは、ピリカ開発チームの冨田です。 Pythonにはインターン(Intern, Intering)という仕組みがあります。 ここでは、インターンとは何か、Pythonでインターンが利用されるのはどの様な場合か、文字列がインターンされる条件は何かなど、Pythonのインタ…

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

※ 2021年4月時点での検証内容であり、ライブラリ側の更新により解消済みの可能性があります。 GAE上でGeoPandasを動かすには、libspatialindexをDebian系x64 OS上でビルドして依存関係に含めておく必要があります。本記事ではその方法を共有します。

Cloud NDBのredisキャッシュでredis-namespaceを使うとキャッシュキーのコリジョンを起こすことがある件

こんにちは、ピリカ開発チームの九鬼です。 SNSピリカのサービスでは、データ永続化用にCloud NDBを使用しています。また、データ取得のスループットを高めるためCloud Memorystore for Redisを利用しています。 SNSピリカ データベース周り概念図 そこで、…

pythonの真偽値と条件分岐

こんにちは、ピリカの冨田です。 pythonで、Noneかどうか、空文字列かどうか、空配列かどうか、空辞書かどうかの判定とその時の処理の書き分けで迷いがちの冨田です。 それらを正しく書き分けるためには、何がNoneで何がTrue/Falseで、それらがどうやってやi…