#daiizメモ

Scrapboxに夢中

google app engine

【GAE/Python 解決済】GAEでPILをimportするのに躓いて一日悩んだ話

昨日からずっと悩んでいたこれ が解決した.結局のところプログラムの書き方が間違っていたということではなくて,どこのPIL(Python Image Library; Pillow)を呼び出すかという一点で詰まっていたらしい.まずは結論を書く. Google App Engine でも普通に…

【GAE/Python 解決済】IOError: cannot identify image file ...

Google App Engine(Python)のローカル開発環境で,Base64エンコードされたJPEGファイルをPIL(Python Image Library)にロードしようとしている. IOError: cannot identify image file というエラーが出て進めない.ぐぐったらcStringIOあるいはBytesIOを…

【GAE/Python 解決済】ImportError: No module named PIL._imaging

Pythonで画像処理するライブラリ PIL (Pillow) を入れて,ローカルで動かそうとしているところ.Macでローカルサーバを立ち上げたところ表題のエラーがでた. from PIL import Image の箇所でこけてる. Pillow は以下のようにインストール済み $ pip instal…

【GAE/Python】URLセーフキー/id を用いてCloud Datastore のアイテムを取得する

前回の記事の続きの勢いでメモ. URL セーフキーを用いる場合 Screenshotというデータモデルが定義されているとする.関数getを使う. e_key = 'ahFkZXZ-c3Znc2NyZWVuc2hvdHIXCxIKU2NyZWVuc2hvdBiAgICAgMCvCQw' entities = Screenshot.get(keys=[e_key]) # =…

【GAE/Python】Google App EngineのデータストアでのURLセーフキー, id, エンティティの種類

Google App Engine のデータストア(Cloud Datastore)に保存されるアイテム(エンティティ)には,「エンティティの種類」と「id」が与えられている. 例えば,ユーザー情報を管理するデータモデルを from google.appengine.ext import db class User (db.M…

GAEウェブアプリでのユーザーログイン維持期間を伸ばす

Google App Engine(GAE)で動かしているウェブアプリは,ユーザーさんにGoogleアカウントでログインしてもらうことができる. こうすることで,新たに情報を要求してユーザー登録してもらう必要が無く,ユーザー側もGoogle DriveやGmailを使うためにログイ…

Google App Engine/Python, Google Cloud Storage で特定のユーザーのみに画像を返す

Google App Engine / Python と Google Cloud Storage を使って,HTTP/GETでリクエストをもらったときに,特定のユーザーだけにコンテンツを返却する仕掛けを作る. 「特定のユーザー」であるかどうかはGoogleアカウントでログイン中のユーザーのGmailアドレ…

【日記】KotlinをGAEで動かす準備をした

今日の朝〜昼までかけて,大学の研究用のデモで使う開発環境を整えた. IntelliJ ✕ Google App Engine ✕(Java + Kotlin) というような,ずっと試したかった組み合わせ.初めて使うものも多いけど頑張ろう. デプロイはしないプロジェクトになりそうだが,…

SVG Screenshot のウェブアプリを公開しました

SVG形式でウェブページのスクリーンショットを撮るChrome拡張機能「SVG Screenshot」をより便利に使うためのウェブアプリを Google App Engine で公開しました.SVG Screenshotのコンセプトについては以下の記事をご覧ください. この記事では ウェブアプリ…

久しぶりの Google App Engine

メモです.久しぶりにGoogle App Engine(GAE)のプロジェクトを新しく作った.デベロッパーコンソールのUIがだいぶ変わっていて戸惑った.課金設定について勘違いしていた(変更されたけれど追いついていなかった?)ことがあったのでメモ. これまでは,黒…

griddles.js をアップデートしました(stable-package-B1)

カードUIを自動生成するJavaScriptフレームワーク「griddles.js」*1のstable-package-B1 をリリースしました。 今回のバージョンアップにより以下の機能が追加されました。*2 1回あたりのカード読み込みの制限 ストリーム本数の上限値の設定 カードの幅を広…

Google App Engine で課金を有効にしてみた

App EngineのいろいろなAPIに触れてみようと思い、課金を試みました。 そのときの手順をまとめました。 課金の有効化の設定 Developer Console を開く 「プロジェクト」ページで課金を有効にしたいプロジェクトを選択する 画面が切り替わるので、左サイドメ…

Google App Engineでウェブページをホスティングしてみた

先日、ウェブページを公開する機会があった。 利用するホスティングサービスは、無料でも利用できる、 以下の2つで検討した。 Google Drive 以前に使ったことがあるので、とても簡単にできることは知っていた URLが格好悪くなってしまうのが残念 Google App…