投稿

2月, 2013の投稿を表示しています

cloudなIDEでGAEのdployまで可能な。DevTable触ってみた。

イメージ
2013/03/05追記
これって治る予定ありますか?と訪ねてみたところ。

We've added the issue to our priority bug fix list
と返答来ました!期待して待ってます!great!
Google App Engine Blog: Deploying App Engine apps with DevTable
によると、GAEへのデプロイが可能なクラウドIDEがあるとか

■ DevTable http://try.devtable.com/

なんか凄そうなので試してみる。
自分が試してみた感じ
カーソルの位置がずれるバグがある…リリースデプロイですこし苦戦とりあえずハローワールド2バイト文字、表示がずれたり、カーソルがずれたりでかなり残念なことにChrome(バージョン 25.0.1364.99)だとカーソルの表示ずれ。Safari(バージョン 6.0.2 (7536.26.17))だとうまく動作した。ただし、日本語は「ああいあいうあいうえ」みたいな残念なことにとりあえずHello worldデプロってみた。https://mogepython.appspot.com/ とはいえ、関数のジャンプや入力のサポートが充実していて、動作もそこそこ軽く。
テスト、デプロイまでが比較的カンタンなので何かに使ってみたい!。
git等とも連動しているし、共同開発のチャット等にはだいぶ未来を感じました。
登録終わった後の画面。とりあえず、Google App Engine作ってみよう!Google App Engineとの連携許可許可!名前とURLの設定で、これがIDEのメイン画面。ビルド待ちrelease Deplyの際にGAEの管理画面からversion -> mimic ->1 へ変更 とりあえずハローワールド
https://mogepython.appspot.com/
ChromeBook等からここにアクセスすれば、開発もできちゃうよね!Great!って感じでしょうか。

GAEで静的ファイルが表示できない。

■ 問題 GAEで静的なファイルが表示されない。pngとかそういうの。 ■ 環境 GAEでGoという環境。 release: "1.7.4"timestamp: 1352314290api_versions: ['go1'] 我ながらどうしてこういうことで詰まってしまったのか… ■ 事象 GAEを適当に動かしていたら静的ファイルが表示できない!という現象に遭遇。
しかし、ログを見ても INFO 2013-02-27 05:14:47,565 dev_appserver.py:3103] "GET /add.png HTTP/1.1" 200 - 正常系の200…
■ 解決 参考にさせて頂きました。 http://jutememo.blogspot.jp/2008/09/google-app-engine.html ただし、 `- url: /.* ’ の記述よりも前に記述すること。 ルーティングとかをきちんと理解していないからこういうことをしてしまう…

[予習その2] YouTube API Tech Talk・コードラボ

その1:http://muzigram.muzigen.net/2013/02/youtube-api-tech-talk.html
続き■ Lesson 3: Requesting the YouTube User Id and List of Uploads https://docs.google.com/document/d/1QLF1Nrg8xBCOfZrC8yVICKi53OWwY4FPky7iZdk9NdI/pub#h.odszgbq0my2j valid な OAuth 2 access tokenを手に入れたのでYoutubeから2つ程、情報を取得してみよう。というお話。 認証を通過すると以下の関数が実行される。 function loadAPIClientInterfaces() { gapi.client.load('youtube', 'v3', function() { gapi.client.load('youtubeAnalytics', 'v1', function() { // Once both the client interfaces are loaded, use the Data API to request information // about the authenticated user's channel. getUserChannel(); }); }); } youtubeとyoutubeAnalytics両方のAPIをロードgapi.client.loadのcallbackでgapi.client.loadしてる。getUserChannelを実行
function getUserChannel() { // https://developers.google.com/youtube/v3/docs/channels/list var request = gapi.client.youtube.channels.list({ // mine: true indicates that we want to …

[予習するよ!] YouTube API Tech Talk・コードラボ

予習するよ!
2013/02/21に

YouTube API Tech Talk ・コードラボ
に行くことになったので予習。
英語の勉強も兼ねてる。
上記ブログの
https://docs.google.com/document/d/1QLF1Nrg8xBCOfZrC8yVICKi53OWwY4FPky7iZdk9NdI/pub を軽く見てみる!

■ Lesson 1: Base HTML javascriptとかAPI使う前に基本的なHTML構造が必要だ!
それがこいつだ!
■ Lesson 2: Authentication with OAuth 2 Oauth2な認証をするよ!
http://io12-youtube-codelab.appspot.com/static/lesson2/index.html
をみてみると8行目に

<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=onJSClientLoad"></script> という記述がある。
index.jsの方をみてみると

window.onJSClientLoad = function() { gapi.auth.init(function() { window.setTimeout(checkAuth, 1); }); }; となっていて、checkAuthが走るようになっている。
認証の結果によってpre-auth要素とpost-auth要素を消したり表示したり。
認証が通っていない際には#login-linkにclick時に動作する

$('#login-link').click(function() { gapi.auth.authorize({ client_id: OAUTH2_CLIENT_ID, scope: OAUTH2_SCOPES, immediate: false }, handleAuthResult); }); を加えている。

■補足
htt…

android-junit-reportでテスト結果をxmlファイルで出力

イメージ
既にいろいろな所で紹介されている感もありますが…

■ 概要 AndroidのUnitTestの結果をxmlにて出力する。
■ 使用lib ソースコード
https://github.com/jsankey/android-junit-report

jarならこちら
https://github.com/jsankey/android-junit-report/downloads
■ 使い方 ■ TestProjectのlibsにjarを設置。

■ TestProjectのmanifestの一部を変更
<!-- android:name="android.test.InstrumentationTestRunner" --> <instrumentation android:name="com.zutubi.android.junitreport.JUnitReportTestRunner" android:targetPackage="{テストされるプロジェクト}" />
■ Eclipseから実行する場合はRun Configurationsで下記
(Instrumentation runner)を変更
■ 結果の取得方法 結果はxmlとして出力されますが、そのファイルは実行したAndroid端末の内部に存在しています。なので、下記のコマンド等を用いて、ファイルを取り出します。 adb pull /data/data/{テストされる側のpackage}/files/junit-report.xml

[go] hello go world

_人人人人人人人人_
> 突然のgo lang <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
■ 環境 2013/02/08 . 使用OS Mac OS X 10.7.5
sw_vers -productVersion 10.7.5 go version go version go1.0.3 ■ installhomebrew使うよ
brew install go でうまいことやってくれます。
■ ready どっか適当な場所で
mkdir hello cd hello touch hello.go ■ code package main import fmt "fmt" func main() { fmt.Printf("Hello world") } ■ run go run hello.go ■ result Hello world ■ tips import fmt is http://golang.org/pkg/fmt/

robotiumで無理矢理にWebViewのテスト

イメージ
■ WebViewが含まれたアプリのテストrobotiumを用いて簡単なシナリオテストを作りたい。
しかしWebViewを直接操作、となるとなかなかうまく行かない。
そこで下記の方法を用いて、無理矢理にテストシナリオを書いてみた。 ■ 主に使用するmethod //スクリーン上のfloat x,y 点をタッチする solo.clickOnScreen(x,y); //ログ上に指定のStringが出てくるまで待機 solo.waitForLogMessage(""); //指定ミリ秒待機 solo.sleep(int); ■ 開発者向けオプションを使用し、座標を把握 現在のタップデータをオーバーレイ表示するをチェックすると
タッチした座標が表示できる。
テストの時に利用するリンクの位置を予め調査してメモ
■ 注意点 下記のpermissionを「テストされる側」の AndroidManifest.xmlに付け加えること。
<uses-permission android:name="android.permission.READ_LOGS"/> あとは、画面上のリンクの座標をクリック。
ページが更新されるまで待つ、
次の動作を行う。

を繰り返すだけ。
■ sample code String webLoadFinishLogString= "ロード完了時に出力するログ" private void linkClickAndWaitResult(float x,float y){ solo.clickOnScreen(x,y); solo.waitForLogMessage(webLoadFinishLogString); } こんな感じのmethodを用意して、クリックしたら遷移を待つ。みたいな体にすると簡単な遷移テストが可能になります。

[Android]UnitTest +Robotium + Library jars

イメージ
■ 事象Robotiumを試そうと既存のプロジェクトに対するテストプロジェクト を作成。

その後、Exampleを元にテストをしようとしたのだけれど

java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
とか、警告を受け、動作しない事象に遭遇。

■ 補足robotiumは簡単かつ強力なブラックボックステストがかけちゃうツール(意訳)
アクティビティをまたいだテストや
スクリーンショットの撮影等、
そこそこ便利な機能が揃っています
■ 対処1 BuildPath上で必要となるlibraryのExport
で、動かず。
かなり試行錯誤した挙句
BuildPathのOrder&Exportで順番を何気なく動かしてみる
すると、動いたり、動かなかったりする事象が発生。
■対処2 原点に戻って、libsにrobotiumのjarを設置。
すると動作。
どうやら、libs以外にjarをおいた場合の挙動がすこぶる怪しい。
また、Eclipse上では動作を確認できたけど、IntelliJ IDEA12の ほうでは未だ

java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation が発生中。引き続き調査中。
Eclipseの方は

classpathによって
com.android.ide.eclipse.adt.ANDROID_FRAMEWORKという名前の
Android Dependenciesが定義されている(libs内のJarが半自動的にAndroid Dependenciesに含まれていく)

ココらへんの処理をIntelliJでうまく補完できれば、動作するはずなんだけれども…