タグ

ブックマーク / shin1o.blogspot.com (11)

  • 404 shin1のつぶやき ないわー Not Found

    最近ようやくcoffeescriptにもLESSにも慣れてきました。で、そろそろgruntを活用しようかなと先月くらいから使ってみてますが便利です。 *.less →(コンパイル)→ style.css →(圧縮)→ style.min.css *.coffee →(コンパイル)→ *.js →(連結)→ app.js →(圧縮)→ app.min.js *-test.coffee →(コンパイル)→ *-test.js →(連結)→ tests.js app.min.js, tests.jsを読み込んでqunitでテスト index.htmlではapp.min.jsとstyle.min.cssを読み込む こんなかんじの事を簡単にできます。テストもcoffeescriptで書けて良いです。 現在リリースされている grunt v0.3.9 では coffee, less, sqwishに対

    sinmetal
    sinmetal 2012/09/05
  • #appengine ja night #5( #ajn5 )に参加した

    2/12(金)にappengine ja night #5が開催されました。今回の目玉は以下のみっつ。 Google App Engine Expretの@tmatsuoさんの「AppEngineのアンチパターン」 @higayasuoさんの「Slim3のGlobal Transaction」 slim3のドキュメントを日語訳した@bufferingsさんが京都から参加 途中でスピーカーの方から参加者の皆さんにいくつか質問があって判明した参加者の傾向として、pythonユーザ→2割、appengien ja nightリピーター(ajn4にも参加した方)→8割、という事だった。pythonユーザの方の割合がもっと増えるといいな、という事と、リピーターが思ったより多くて嬉しいなぁ、という感想。あまりappengine慣れしていない方にはサッパリ面白くないんじゃないかな、という内容もかなり多

  • AppEngine用のアプリケーションの自動テストについて(1)

    AppEngine用のアプリケーションのテストの手法について、公式ドキュメントがあまりにも貧弱なためそれを補足する資料を作ろうと思います。 DatastoreはもちろんMail送信やQueueへのTask投入等のテストを行う説明まで何回かに分けて徐々に書いていき、 最終的にはそれらのエントリを清書してWikiにまとめたいと思います。これはその第一回目で、テストのための仕組みの説明と基的なテストの手順について説明します。 文中でApiProxyと書かれているクラスはcom.google.apphosting.api.ApiProxyの事です。 この説明での「AppEngine環境」とは、データストアサービスなどのAppEngineで提供されている各種サービス群を利用するための環境のことをさします。 テストのためにAppEngine環境を起動するには、大きくわけると ApiProxy.set

    sinmetal
    sinmetal 2012/02/21
  • #appengine javaでURLFetchのdeadlineを自動的に設定する

    AppEngine/JavaでのURLFetchサービスのdeadlineは5秒だと思うけど、全てのURLFetch#fetchのdeadlineを自動的に10秒に設定するためのApiProxy.Delegateの実装を作成してみた。 仕組みはとても簡単、 URLFetch#fetchをフックして、サービスへリクエストされるバイト配列からURLFetchRequestに組み立てなおす。組み立てなおしたURLFetchRequestのURLFetchRequest#toBuilder()を使って、新たにURLFetchRequestを作成し、それに対してURLFetchRequest.Builder#setDeadline()する。setDeadline()したオブジェクトをバイト配列に変換し、サービスには何わぬ顔でそのバイト配列を送りつける。gdata-apiを使うときなんかは5秒じゃ済

    sinmetal
    sinmetal 2012/02/16
  • #slim3 1.0.6 のSimpleControllerを使った場合のテスト方法 #appengine

    先日、slim3-1.0.6がリリースされました。たくさん機能追加がありますが、最近の自分的に嬉しい機能のひとつにController内でInputStreamが使えるissue62への対応があります。 Support for Controller#createRequestHandler(): http://code.google.com/p/slim3/issues/detail?id=62 この機能を使用する際のテストケースの書き方の例を書いておこうと思います。あと、ついでにMetaクラスにJson->Model、Model->Jsonを行うユーティリティメソッドが追加されているのでそれも使っています。@takawitterさんの仕事です、ありがとうございます、便利です。 まずはController Httpメソッドとリクエストパラメータによって追加・修正・削除と1件返却、リスト返却

  • #appengine ja night #15( #ajn15 )が開催されました

    5/6(金)にappengine ja night #15が開催されました。人数は数えてませんが今回も女性参加者率が悲しい結果になり、むさい空気の中開催されました。 今回も@drillbitsさんがtogetterにまとめてくれています、ありがとうございます。 AppEngine テスト駆動開発 AppEngine/Pythonでの自動テスト事情の説明でした。まだ全然触っていないけど個人的には1.4.3からPython SDKに導入されたTestbedについておおよそ仕組みがわかってよかったです。Testbedはsetup等で細かく制御できそうなのはメリットでもありデメリットであるかもしれませんね。 でも、結局はアプリ用のF/Wと一緒になっている方が良いので、@tagomorisさんが作ったF/Wをベースにしたテスト支援機能を持つKay-frameworkがヨサゲなんだろな、と。 Gig

  • #appengine ja night #7( #ajn7 )に参加した

    4/23(金)にappengine ja night #7が開催されました。ATNDを見るとshin1ogawa ja nightとか書かれていてこっぱずかしいような嬉しいような…。今回の目玉は以下でした。 ライブコーディングを使って、appengine/javaがいかにテストしやすいか?をお伝えする事前にGoogle Moderatorで議題・質問を募集し、それをネタに会場で議論するイベント開催中は京都のサテライト会場とつなぎ、双方向のやりとりもする@kazunori_279さんがUstしつつ録画してくださっています。 shin1ogawaのライブコーディングQA大会BeerTalk appengineアプリケーションの自動テスト -最新java sdk版-一番伝えたかったことは、通常のWebアプリケーションと比較して、AppEngineアプリケーションはとてもテストがやりやすいという事

  • #appengine ja night 16( #ajn16 )が開催されました

    5/27(金)にappengine ja night #16が開催されました。今回はajn史上最高の女性比率を記録するほど、たくさんの女性に来ていただけまして大変よい雰囲気の中で実施されました。過去の最高記録比400%くらい達成した気がするので、この勢いでいけば次々回あたりには参加者が全員女性という可能性も見えてきました。 今回参加された女性陣の方々で、ちょっとでもappengineやサーバサイドの世界、またはコミュニティそのものに興味が!、とかなんでもいいんで興味を持っていただけた方&楽しんでいただけた方は、是非次回以降も継続しての参加をお願いいたしします。 いつものように@drillbitsさんがtogetterにまとめてくれています、ありがとうございます。 @kazunori_279さんがいつものようにUstream配信して下さり、録画もあります。 @yanzmさん: GWT+UIB

  • closure-libraryをWebStormで使う

    最近closure-libraryの勉強をしているんだけど、WebStormでキレイに補完をしたりする設定方法のメモ。 closure-libraryというよりはWebStormの話だけど、WebStormって全プロジェクトで参照できる共通ライブラリって登録できないのかな?方法を知っている人がいれば教えてください。 以下のようなフォルダ構成を想定。 プロジェクトのルートフォルダ closure-library(ここがclosure-libraryのroot) closure googbincss src(ここに自分のjsとかcssを配置) WebStormで上記のプロジェクトのルートフォルダをOpen DirectoryPreferncesをひらいてProject SettingsセクションのDirectoriesを選択一番右側の領域でproject/closure-library/clo

    closure-libraryをWebStormで使う
  • CoCafeでのGoogle App Engine側の工夫

    年末に @aqubi と CoCAFE というアプリケーションをリリースしました。喫茶店のWiFi状況やらなんやらを共有するiPhone用のアプリケーションです(Android版も作ってます)。 このアプリケーションでは Google Places APIGoogle App Engineを使っていて、Google App Engine側では以下のような工夫をしてます。 Datastore(HRD) 地図のZoomに合わせた範囲検索をEqualityフィルタで実現するため、店の位置情報はGeoHashの先頭4文字,先頭5文字,先頭6文字,先頭7文字...とリストプロパティに保持→前方一致検索を使わずに済むので、別の条件で同時にInequeality Filterを使うこともできる。 利用ユーザ等の統計をとるためのアクセスログ的なデータは、必要な情報を全てKeyに詰め込んでいる→ Data

    sinmetal
    sinmetal 2012/01/15
  • #slim3 のテスト環境で投入したデータを削除せずファイルに保存する #appengine

    AppEngine/Javaで、開発サーバで実行するときのテストデータの初期状態を作っておきたい時、私はよくAppEngine SDKのLocalServiceTestHelperを使ってテスト環境を作成してデータ投入し、そこで作成したファイル(local_db.bin)をwar/WEB-INF/appengine-generatedフォルダにコピーしていました。これと同じことをSlim3のAppEngineTesterを使ってできないかなー?と思って試してみました。 Slim3のAppEngineTester#tearDown()はテスト中に投入されたデータは全部消してしまう(それが便利なわけですが)仕様です。これはtearDown()をオーバーライドして削除処理をしないようにすれば回避できます。 それだけだと良いんですが、環境終了時にApiProxyLocalImpl#stop()を呼

  • 1