風柳メモ

ソフトウェア・プログラミング関連の覚書が中心

2011-01-01から1年間の記事一覧

11月1日

この一年で書いた記事の少なさ(41件)に軽くショックを受けたり受けなかったり。 いや、ココログの方はさらに少ない訳だけれども…もはや手がURLを忘れかけているレベル。

GAE-Cronをバージョンアップしました(version 0.02a)

GAE-Cronの最新版については、こちらをご覧ください(2014年04月20日現在)。 furyutei/GAE-Cron · GitHub GAE-Cron:Python 2.7 runtime版を公開(version 0.0.3) - 風柳メモ GAE-Cronのバージョンアップの前に:Google App Engineの設定変更のススメ GAEが…

JavaScriptでプロパティの継承が出来るクラスっぽいものを実装する試み

同じような/より良い実装は星の数ほどあると思うけれども、個人的な覚書を兼ねて。 クラス(関数)作成用関数 var makeClass=(function(){ var origin_constructor=null; var name_to_class={}; var change_toString=function(target,name){ var _toString=ta…

Jコミのビューワーでルーペ機能が復活しないかな?

【 3:PDF化にまた難関 】 <中略> 作者がPDF化を希望しない場合、読者には素直にPDF版を諦めていただく。 広告主が作品に興味を示さなかった場合と、作者が広告枠の金額に納得しなかった場合も、PDF化は不可能。 という感じになるかと思いま…

Jコミと私

所信表明的なものはあまり得意でないのですが 朴さんよりコメントを頂いたこともあり、ちょうどよいので書いておこうと思います。 「Jコミのビューア画面で自動ページングさせるスクリプト」公開の経緯 Jコミがこういった対策をとっているのは、あなたが公開…

Google Chromeのbackground_pageで一定長以上の文字列を扱うとクラッシュすることがある

Google Chromeで、拡張機能の再読み込みや(ブラウザの)再起動を繰り返していたら、突然特定の拡張機能がクラッシュするようになり、以降は当該拡張機能は再読み込みやChromeの再起動を実施(タスクマネージャにて、いったんchromeがすべてなくなっているのは…

GreasemonkeyスクリプトのURLについてのメモ

先程、Firefox 4.0.1をインストールし、Greasemonkey 0.9.5を入れたときに初めて気がついたのでメモ書き。 これまでGreasemonkeyスクリプトのリンクを示す際、ブラウザのキャッシュの関係で新しい版がインストールされない場合があるので、URLを http://〜/f…

Jコミのビューア画面で自動ページングさせるスクリプトを更新(多分最後)

【追記】 Jコミ側の迅速な対応により、正常には動作しなくなった模様です。 jQuery.event.add(window,"load",function(){setInterval(function(){$("body > *").each(function(index){if($(this).attr("id")!= "book_view"){$(this).hide();this.parentNode.…

Jコミのビューア画面で自動ページングさせるスクリプトを見開き対応

Jコミのビューア画面で自動ページングさせるスクリプト ユーザサイドスクリプト:j-comi_autopager.user.js Jコミのビューア画面で自動ページングさせるスクリプト 今朝方更新したばかりですが、その後、隠しオプションの var ENABLE_TWO_PAGE_SPREAD = true…

Jコミ関係のスクリプト更新

Jコミ用のスクリプト2点を更新しました。 ユーザサイドスクリプト(Greasemonkey(Firefox)、SeaHorse(Sleipnir)、Google Chrome拡張機能、Opera ユーザ JavaScript)としてお使いの方は、必要に応じてインストールしなおして下さい。 Jコミのビューア画面で…

cronを使わずにmentionに反応するbotを作ってみる(EasyBotter+さくらレンタルサーバ)

背景 Twitterで、順次「返信または@関連を受信」(mention受信)した場合などにも、メール通知が来る機能が追加されている*1。メール通知 が告知なく機能追加されていた件 - Togetterまとめとか見ると随分嫌がられているみたいだが、これはデフォルトで有効に…

GAE/Goの開発環境をFedora 12上に構築したので覚書

Google App Engineで、Python、Javaに続いてGoのランタイム環境が提供された、とのこと。 よく解らないながら、とりあえず開発環境だけでも整えておくかぁ、と思ったところ、今のところSDKはLinuxまたはMac OSでしか提供されていない模様。 とりあえず、手元…

さくらのレンタルサーバでメール受信時にスクリプトを起動させる設定メモ

先程の記事で書いたように、GAEでFreeの受信メール数が制限されて厳しくなるため、個人的に使用しているさくらのレンタルサーバを使って さくら側でメールを受信 メールを解析して、内容をGAE側にHTTP POSTで送信 のような処理をすることを見越し、とりあえ…

Google App Engine/Python等で日本語のメールを扱いやすくするモジュール

GAE/Pythonで、素直にこのドキュメントの記述に従ってメール受信処理を書こうとすると、特に日本語等の取り扱いで文字化けに悩まされてしまうようです。そこで、もうちょっとだけましに取り扱えるようなモジュールを書いてみました。 すっかり忘れていたGoog…

新規に作成したGAE-CronがGAE-Cron Clubに登録出来ない件の暫定対策

Google App Engine側の仕様変更が原因で、GAE-Cron用のアプリを新規に作成した場合、GAE-Cron Clubに登録出来なくなっていました。 関連:yamaさんのコメント 暫定対策 GAE-Cron version 0.02中に含まれる、gaecron.pyの1314行目で app_id = os.environ.get(…

GAEで使用するDjangoのバージョンを指定しているつもりなのに警告が出る(続き)

【追記】 このコメントにより、ひとまず解決した。 appengine_config.py というファイルを作り、そのファイルに下記の 1 行を入れてみてはいかがでしょうか。少なくとも SDK 1.5.0 の prerelease では警告は消えています。 webapp_django_version = '0.96' …

GAEでappidに余分な"s~"がついてしまう現象

このコメントの原因を調査している過程で、Google App Engineのappidを取得する際に注意しないといけない点に気がついたので、メモ書き。 現象と対策 appidを取得するためには、GAE/Pythonだと import os appid=os.environ.get('APPLICATION_ID','') # もし…

GAEでremote_apiを使う場合の覚書

要約 remote_apiを使えばGoogle App EngineのDatastoreをローカルのコマンドプロンプトから操作出来るように出来る。 ただし、大量のエントリを扱う場合いろいろ制約あり。また、Quotaは普通に消費される。 経緯 この記事がらみで、じゃあGAE/Pythonのremote…

GAEのログ(Logs)のCPU Time関連の値等の見方

Google App Engineのログ(Logs)画面、特に所要時間関連はいつも適当に流していたので、きちんとした意味を把握しようとGoogle グループで質問してみた。 該当ディスカッション:Google グループ ログは例えば 2011-05-07 20:42:53.656 (アクセスPATH) 200 49…

GAEのmemcacheでlist等を読み書きすると予想外にコストがかかる

Google App Engine/Pythonのmemcacheはtupleやdictやobject、それらのlistなんかも読み書き出来るので手軽なのだが、単純なstringなんかを読み書きする場合と比較すると、思ったよりもコストがかかるようなので、覚書。 テスト from google.appengine.api im…

GAEのDatastoreのエントリ削除していたらOver Quotaになった…

いつの間にかこれのDatastoreのエントリのサイズが380MB程になってquota limitに陥り(それにしても、Datastore Statisticsで見る限り、全てのデータを合わせても400MBしかないのに、なぜquota limitになるのだろう?Free Quotaでも1GBのはず…)、こちらがう…

GAEのデプロイ後の反映に時間がかかっている?

Google App Engine Blog: App Engine 1.5.0 Release の影響なのかどうかわからないのだけれど、2011/05/11にGoogle App Engine/Pythonのアプリをいじっていたところ、デプロイが完了してから、実際に当該バージョンが反映されるまで、時間がかかっている気が…

GAEで使用するDjangoのバージョンを指定しているつもりなのに警告が出る

【追記】 下記件はひとまず解決済→GAEで使用するDjangoのバージョンを指定しているつもりなのに警告が出る(続き) - 風柳メモ。 いつからか、ログ上に You are using the default Django version (0.96). The default Django version will change in an App E…

Jコミで著作者をGoogle/Amazonで検索するリンクをつけるスクリプト

Jコミのトップページやタイトル一覧、各作品ページ( http://www.j-comi.jp/book/comic/* 、http://www.j-comi.jp/book/detail/* )の著作者名のところに、当該著作者をGoogle/Amazonで検索するためのリンクを付けるスクリプトです。 著作者名のところがGoog…

Jコミの新着案内をつぶやくbotを試作

少し前からこっそりつぶやいています。 Jコミ新着案内(非公式) 2011/04/29から新着公開監視開始 2011/05/05からPDF化監視開始 動機など Jコミの新着を知る方法は 赤松健 (@KenAkamatsu) | Twitter*1 (株)Jコミックテラスの中の人 Jコミのお知らせ Jコミの…

AutoPagerize等のSITEINFO(XPath)記述時の注意

AutoPagerizeにおいて、次ページのURLは、SITEINFOのnextLinkに記述されたXPath式(xpathExpression)を用いて、 document.evaluate( xpathExpression, contextNode, namespaceResolver, resultType, result ).singleNodeValue の結果返される要素から取得され…

document.createElementを変数に代入して使用する場合のブラウザ毎の振る舞いの違い

常識なのかも知れないけれど……覚え書きとして。 var c=document.createElement; としたとき、 /*【1】*/ var link=c('a'); と /*【2】*/ var link=c.call(document,'a'); のどちらの呼び出し方を受け付けるか、という話。 javascript:(function(c,n,e){try{c…

Jコミのビューア画面で自動ページングさせるスクリプトをAnciaで動作させる

Jコミのビューア画面で自動ページングさせるスクリプト更新 - 風柳メモをAnciaで動作させる手順です。 j-comi_AutoPager_ForAncia.jsをダウンロードし、Anciaをインストールしたフォルダ下のscriptフォルダに保存する。 Anciaのメニューから、『ツール(T)』→…

Jコミのビューア画面で自動ページングさせるスクリプト更新

Jコミの専用ビューア(アルヌール)更新(大画面化/高速化)に伴い、Jコミのビューア画面で自動ページングさせるブックマークレット - 風柳メモのスクリプトを更新しました。 ユーザサイドスクリプト(Greasemonkey、SeaHorse、Google Chrome、Opera) j-comi…

Google画像検索AutoPagerを更新(version 0.0.5)

Google画像検索のページ構成がいつの間にか変わっていたのに2011/4/17になってようやく気がついたので、これに併せてGIS_AutoPagerを更新しておきました。 Google Chrome用・Google画像検索AutoPager https://chrome.google.com/extensions/detail/imblafkbe…