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

デバッグビルド.apkを作成する

ant を用意する プロジェクトフォルダで以下のコマンドを実行する android update project -p ./ と、「build.xml」と「local.properties」というファイルが作成されるはず その後以下のコマンドを実行する ant debug と、bin/***.apk というファイルができ…

タイムアウトさせるとどうなるか実験

GAS

こんなコードで実験すると function doGet(param) { for( var i=0; ; ++i ) { } var app = HtmlService.createTemplateFromFile("index").evaluate(); app.setSandboxMode(HtmlService.SandboxMode.NATIVE); return app; } こんな画面が表示されました。一方…

x64版XPにOffice2010をインスコできない

不遇のOSですなぁ、64bit版のXPって。可哀そうに。 でも、fcwinというツールを使えばあまりに簡単にインスコできたので手順をメモ書きしておく。 まずOfficeにインスコする際に必要となるライブラリを先にインスコする http://www.microsoft.com/ja-jp/downl…

演算子あれこれ

記号なのでググってもなかなか見つからないのよね・・ // 単なる配列 list = [1,2,3] // 空配列 emptyList = [] // 空Map emptyMap = [:] // エルビス演算子(と言われているみたい) newList = [] ?: list // => [1,2,3] newList = null ?: list // => [1,2,3…

listObjects APIの解説

こちらの仕様書 を読めばわかるのだが、一応サンプルを元に備忘録も兼ねてまとめておこうと思う。 リクエストのパラメータ Bucket バケット名 Delimiter 区切り文字で、ディレクトリ毎に一覧取得したい場合は"/"を指定する EncodingType 通常指定する必要は…

バケット内のアイテム一覧を取得する2

ではもうちょっと複雑なことをしてみよう。S3に以下のような構成でファイルをアップしたとする。 dir1 file1-1.txt file1-2.txt dir2 file2-1.txt file2-2.txt file2-3.txt file1.txt file2.txt こないだ紹介した方法 だと、これら全部を取得することになる…

バケットにテキストをアップロードする

次は、単純なアップロードのサンプル。文字列データをアップロードする。ファイルをアップロードしたようなカンジ。前回のサンプルを実行することでほとんど準備は整っているのだが、一点だけ追加しないといけない設定があるので先にその説明を。前回はバケ…

バケット内のアイテム一覧を取得する

では、htmlだけでどこまでできるのか確かめてみましょう。まずは一番簡単なサンプルとして、あるバケット内のアイテム一覧を表示してみます。これでも結構大変なんで手順の概略だけ先に箇条書きにしておきます。 バケットを作成する バケットにAPIでアクセス…

S3のAWSマネジメントコンソールはウンコ

何がウンコかって、S3を使用できるIAMユーザ全員にListAllMyBuckets権限を付与しないといけないところだ。バケット一覧が見えるようにしとかないとIAMユーザがS3を使えないという困った仕様がある。お客さんのサイトを用意した際に、IAMユーザのパスワードを…

お客さんへファイル共有

でっかいファイルをS3にアップして、お客さんにURL伝えてDLしてもらう、というシチュエーションでは以下の手順によりそこそこセキュリティも考慮されていてお客さんも負担無くファイルを受け取れる。 管理者ユーザでお客さん用のIAMユーザ、バケットフォルダ…

期間を指定した限定公開

バケットポリシーに以下の設定を追加すれば、 アクセス元IPアドレスを限定して https接続のみの 指定した期間だけ public/ のファイルにアクセスできるようになる。 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "…

Permissionの設定について

世間的にはAWSのサービスを利用するのが大流行りなようなので、私も最近よく利用している。(おいAmazon、ちゃんと税金払えよ) 中でもS3は単なる静的Webページを公開するだけならローコスト&ハイパフォーマンスなサービスで超便利。サーバの監視が全くと言っ…

ファイルの読み書き

さらに今更ながらjavaだとどうやるのか。java7 だとかなり楽になったんですね。(もはやjava8だと言うのにw String contents = "...適当な文字列..."; // 一気に全書き込み&全読み込み Files.write( Paths.get("ms932.txt"), contents.getBytes("MS932") );…

文字コード

今更だけどなんかちょっと曖昧に理解してたのでまとめ。 私はWindows使いなので、SJISとUTF8といったりきたりすることが頻繁にあるので、それだけに絞ってまとめてみた。 utf8.txt と cp932.txt というファイルを作成しておく(中身はそれぞれファイル名と同…

google.script.run の罠3

GAS

戻り値Dateオブジェクトだとエラーになっちゃいます。たぶんこれ、内部的にはJSONでデータをやりとりしてるので、JSONであらわせないオブジェクトはダメなんだと予想。なので、formatDate 関数で文字列化する必要があります。

ダイアログボタンのenable/disable制御

特に説明を要しないのでコードだけ $(".ui-dialog-buttonpane button:contains('登録')")).button("disable"); // 押せないようにする $(".ui-dialog-buttonpane button:contains('登録')")).button("enable"); // 押せるようにする 参考URL) http://stackov…

google.script.run の罠2

GAS

皆さん知ってましたか、GASで作ったhtml内では console.dir が使えないんです。独自のconsoleが定義されてるようです。 for( var p in console ) { console.log(p); } // debug // error // log // info // warn なので、こんな風にするとキレイに出力されま…

google.script.run の罠

GAS

いやー、これは嵌った。2時間嵌った。 何に嵌ったかと言うと、戻り値が思い通り返ってこないんです。 client側から呼ばれるAPI /* * 単に、キーが数値となるオブジェクトを返すだけ */ function api() { return {"1":"data1"}; } client側でこれを呼んでデー…

スプレッドシートの最終行について

GAS

何らかの値が入力されている最後の行はgetLastRow関数で取得できる もちろんまっさらなスプレッドシートだと 0 が返る getMaxRows関数は現在のスプレッドシートの記入できる行数を返す(まだ何も書き込まれていない行があっても) ただし、getLastRow()+1行目…

正規表現

いっつもわからんようになるので備忘録。 String text = "content://media/external/video/media/10"; Pattern p = Pattern.compile("^content://.*/(\\d+)$"); Matcher m = p.matcher(text); if( m.find() ) { String matchAll = m.group(0); // => content…

スキーマを知らないテーブルのダンプ

Cursor c = db.rawQuery("SELECT * FROM ...", null); Log.d("行数", ""+c.getCount()); Log.d("列数", ""+c.getColumnCount()); if(!c.moveToFirst()) return; for(int col=0; col