技術

Google App EngineのHttpHeaderを調べて見た

name:Host data:xxxx.appspot.com name:Cache-Control data:max-age=0 name:Pragma data:no-cache name:Accept data:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 name:Accept-Language data:ja,en-US;q=0.8,en;q=0.6 name:Accept-Char…

PyCon JP 2012(App Engine Conference 2012)でパネルディスカッションのモデレータしてきました

PyCon JP 2012に参加してきました。初めてパネルディスカッションのモデレータをつとめる事になりドキドキしていたのですが、Google App Engineに詳しいスペシャルなパネラーさんのおかげでなんとか終わりました。 当日どれくらいの人が来てくれるのか不安だ…

テスト駆動JavaScriptの第2章をメモ

Node塾 講義その6に行くのでメモった Node塾で下記の読書会をする。テスト駆動JavaScript作者: Christian Johansen,長尾高弘出版社/メーカー: アスキー・メディアワークス発売日: 2011/11/25メディア: 大型本購入: 19人 クリック: 331回この商品を含むブロ…

Chrome Web Storeに公開しているChrome拡張のレビューコメントを取得する方法

こんな感じで取れた。Review Notifyでも作ろうかな。Reviewをメールで配信してくれたりすると嬉しいだけどないよね? function getReviews(extensionId, callback) { var entities = [{'url' : 'http://chrome.google.com/extensions/permalink?id=' + exten…

Chrome拡張ATND NotifyでGoogleカレンダーに参加予定イベントを追加する機能を入れた話。または、ATNDの予定をiPhoneのカレンダーに入れる方法

ATND Notifyってこれです。 機能追加の話 という事だったので しますた。 という訳でGoogleカレンダーに追加したい人はATND Notifyをインストールしてください。インストールはここから。インストールするとイベントカレンダーにこんなボタンが追加されてま…

Developers Summit 2011 松尾さんのGoogle App Engine発表資料

【18-C-4】Google App Engine - 無限の彼方へView more presentations from Developers Summit.Javaで全部書き直したコードを書こうと思ったけど力尽きた。誰かいい感じで頼む。

Developers Summit 2011のLT大会で発表してきました

【デブサミオフィシャルコミュニティから選出のLT大会2011】にappengine ja nightコミュニティから私が発表させて頂きました。このような機会を与えてくれたみんなに感謝します。 資料 デブサミ2011 LT大会【17-E-7】appengine ja nightView more presenta…

Google App EngineではAdmin権限でリクエストするとCPU使用率と1リクエストあたりの課金額がわかる

Admin権限ありでログインするとHttpヘッダーで下記のようにCPU使用率とかがわかるようになってます。 プログラミング Google App Engine作者: Dan Sanderson,玉川竜司出版社/メーカー: オライリージャパン発売日: 2011/01/24メディア: 大型本購入: 5人 クリ…

ATND Notifyがもっと評価されるべき5つの理由

去年、Chrome extensionでATNDを便利にするATND Notifyを作ったのにblogに書いてなかったので書く。Twitterでは"マジ狩る拡張"とか"数時間で埋まる人気の勉強会だが、ATND Notify(Chrome Extension)入れてる私に死角はなかった"とか"補欠繰り上がり通知で…

Google App EngineのAdmin Consoleを便利にするChrome extensionを作ってます。

インストールするとDataViewerページがこんな感じになります インストールはこちら http://goo.gl/b4aup 何ができるの? GQL実行履歴を保存し再実行できる GQLを自動生成する プロパティ名の下にテキストボックスが出るようになります。そこに値を入力すると…

秀丸でeclipseのnext search(Ctrl+K)を実現する方法

eclipseでよく使うキーボードショートカットにnext search(Ctrl+K)があります。next searchは選択範囲文字列で下候補を検索するという単純な機能ですが、めちゃめちゃ便利でよく使います。ふと、これを秀丸でもやりたいなぁ〜と思ったのでマクロを作ってみま…

Google Developer Day 2010(GDD)とGDD Bootcampにいってきた。

Google Developer Day 2010(GDD)基調講演 Google App Engineは現在1week 55億ページビュー 日本はユーザが多い。appengine ja nightも紹介された appengine ja nightブース appengine ja nightの発表 @shin1ogawaさん(GDDBootcamp) Slim3 ハンズオン資料 S…

appengine ja night #9に行ってきた。 #appengine #ajn9

おしながき 本編 @bufferingsさん:Datastoreのクエリを理解しよう @kazunori_279さん:Next gen queryを斬る! BT(Beer Talk) @cht_007さん:BDレコーダー+スマホ/PC連携サービス『Chan-Toru beta』 @ashigeruさん:近くを探す? @tagomorisさん:SDKを試…

HTML5とGoogle I/O 2010(AppEngine)のリンクめも

Google I/O 2010 - App Engine http://www.youtube.com/view_play_list?p=FBF991DAE0E02FED xhr2-steaming http://www.slideshare.net/KensakuKOMATSU/xhr2-steaming-twitter-with-ipad phvsicSketch http://physicsketch.appspot.com/ Canvasでピクセル操作…

appengine ja night #8に行ってきた。 #appengine #ajn8

今回はサッカーSNSを実際にAppEngineで運用している@najeiraさんをはじめ、ランキング問題をやっつけるために@koherと@kibayosさんがSkip Listをひっさげて来て下さいました。 BeerTalkでは、App Engineで動作するCMSを作成している@shuji_w6eさん、@zetta19…

appengine ja night #7に行ってきた。 #appengine #ajn7

今回は@shin1ogawaさんの尽くしの一日。shin1ogawa ja nightが開催されました。shin1ogawaさんは恐らく日本で一番appengine/javaに詳しいと思われる人です。そんな人のライブコーディングが見れるとあって楽しい一日でした。 また、@kazunori_279さんがUstを…

eclipseにEGitをインストールするメモ

EGit http://download.eclipse.org/egit/updates インストール時に下記のエラーが出た。 session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.provisional.p2.engine.phases.Collect, operand=, action=). No repository fou…

新規に開発するプログラムもテストがなければレガシーシステムである

テストのないレガシーコードにテストを作ることによって、そのシステムの理解が深まったり、動作を記述することによって、変更の影響が即座にわかったりする。変更の影響がわかれば、大胆に実装を変更したりすることが容易にできるようになり、開発の俊敏性…

appengine ja night #6に行ってきた。 #appengine #ajn6

blog書くのめっちゃ遅れた。ちゃんと書きますよ。slim3がリリースされましたね。そのslim3の目玉機能であるGlobalTransactionを荒川さん、ひがさんから解説頂きました。今回はいくつかustream動画があります。これなかった人も動画を見ればいいですよ。 おし…

Google App Engine code labの資料が公開された #appengine

"Google App Engine Java の色々な機能を、実際にコーディングしながら体験してみよう" という主旨のもと、Google App Engine for Java のコードラボをこれまでに3回開催してきました。Java を使った Web アプリケーションの開発経験はあるけれども、App Eng…

appengine ja night #5に行ってきた。 #appengine #ajn5

みなさまお疲れ様でした。今回も楽しかったw。 ajn5ではpythonは松尾さん、javaはひがさん。お二人とも有名なフレームワーク開発者という超豪華メンバーだった。その影響かATNDの申し込みは24時間たたずに定員オーバー、申し込みが軽く100人を超えて定員を1…

Oracleでデータファイルを縮小する際にORA-03297エラーが出た時の対処

下記のコマンドを実行した際にエラーが出る場合がある。 ALTER DATABASE DATAFILE 'データファイル名' RESIZE サイズ[K|M]; ORA-03297: ファイルには、要求したRESIZE値を超える使用中のデータが含まれています。 これは、データファイルを縮小しようとした…

Google App Engineでよくある質問

質問形式でとりあえずApp Engineの情報を整理しようと思います。 サーバの管理コンソールで表示するとログの時刻表示がおかしい? タイムゾーンがPSTで表示されます。ローカルの時刻にするgreasemonkeyなどがあります。 firefox http://userscripts.org/scri…

AppEngineでKind(テーブル)を削除する方法

Google App Engineではデータを削除したい時にサーバのデータに対してDelete文を実行したりDrop Tableしたりということができません。Kindをdrop(KindにあるEntity[レコード]を全件削除)するには現時点では削除するコードをサーバにデプロイしてブラウザか…

AppEngineでsessionを有効にしていると遅くなる

Google App Engineのsession情報はDatastoreを使っているため若干遅い。セッションを使わないアプリならセッションを無効にしておいた方が良い。 appengine-web.xmlにてfalseする ※デフォルト(sessions-enabledの記述がない場合)ではセッションは無効にな…

AppEngineのweb.xmlでxmlのコメントで日本語文字列を使う

文字コードをWindows-31Jにすればok UTF-8は文字化けする

AppEngineのログをダウンロードするgreasemonkeyスクリプト

@pto_developerさんが公開しているGoogle App Engine Log Downloader for Greasemonkeyがなかなかいい感じです。ダウンロードってどうやって?と思ったらテキストボックスに画面のHTMLを解析して1リクエスト1行で出力してくれるようです。

appengine ja night #4に行ってきた。 #appengine #ajn4

今回からappengine java night 改めjava以外の方々にも来て頂きたいとの思いからappengine ja nightという名前にイベント名が変わりました。今年もappengineじゃないと!(ja night)って事でよろしくお願い致します。 今年の第一回目からはやくもpython,php,r…

AppEngineでCounterを実装する(2) #appengine #slim3

前回のエントリーはバグってました。修正版をアップします。 単純なカウンター import java.io.Serializable; import java.util.ConcurrentModificationException; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger…

ConcurrentModificationExceptionになったTransactionオブジェクトはrollbackが必要か?また、そのまま再利用はできるのか? #appengine

ConcurrentModificationExceptionになったTransactionオブジェクトはrollbackは不要 再利用は不可、新規にbeginTransactionが必要。 という訳で上記のエントリーのソースにはトランザクション処理に誤りがありました。 Key key; @Before public void setup()…