今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

jQueryのダイアログをポップアップするとページ先頭に戻ってしまう

ログ表示画面でログのひとつをクリックすると、その詳細をダイアログで表示するようなUIを作った。画面をスクロールして下の方に表示してるログをクリックすると、ダイアログは表示されるんだけど、ページの先頭までスクロール位置が移動してしまって、ダイ…

GAEのローカルサーバが起動しないのはJDKのバグが原因

AndroidとGAEを連携させるアプリを作りはじめようとして、Eclipseで「App Engine Connected Android Project」を生成した。 そうすると、プロジェクトを作るときにGAEでのAPI KeyとProject Numberを求められる。なので、GAEで新規にプロジェクトを作成して、…

XMLのxsi:schemaLocationを変更したときにWhite spaces are required between publicId and systemIdエラーが発生する

SpringMVCでのログ出力にAspectを使いたくてぐぐってみた。このあたりを参考にしつつプログラムを修正。≫open technica: Spring MVCでアスペクト(インターセプター)を実装する ≫テックノート – Aspectjの@Before、@Afterを使ってメソッド前後にログ出力を入…

JSTLで改行でのsplit()ができない問題

JSPの中でオブジェクト内の文字列を取得して、改行コードでsplit()してやろうと思ったら、JSPがコンパイルエラーになって動かない。 <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@taglib prefix="c" uri="http://java.sun.com…

springでJSON配列を受け取る方法

springのControllerでJSON配列を受け取る時は、メソッドのパラメータを配列にするだけで受け取れるようになる。もっとめんどくさいのかと思ったけど、あっさり動作した。 @RequestMapping(value = "/json/hoges", method + RequestMethod.POST, consumes = M…

springでJUnitテストを書くとtomcat起動時にClassNotFoundExceptionが発生する

ちょっとしたアルゴリズムの動作確認のために、JUnitテストを作成したら、tomcat 起動時に ClassNotFoundException が発生するようになってしまった。 WARN : org.springframework.core.type.classreading.AnnotationAttributesReadingVisitor - Failed to c…

Hibernateで更新するときにNonUniqueObjectExceptionが発生

Hibernateでデータを更新しようとしたら、NonUniqueObjectExceptionというのが発生した。 public Hoge update(Hoge hoge) { Session session = sessionFactory.getCurrentSession(); try { Hoge h = (Hoge)session.get(Hoge.class, hoge.getId()); hoge.setS…

SpringでJSON受信時に400エラーが返される問題

ブラウザからajax でJSONを送信したときに、サーバーから400エラーが返されてオブジェクトの追加や更新ができない問題が発生した。 サーバー側ではまったくログが表示されていないけど、ブラウザ側には400エラーが返されている。HTMLの中にはこんなメッセー…

HibernateでSession#update()してもDBに反映されない

Hibernateでエンティティを更新しようとしても、DBに反映されないので困ること20分ほど。 ぐぐててみたら、Session#flush()を呼べと書いてあった。 Session session = sessionFactory.getCurrentSession(); try { session.update(entity); session.flush(); …

warをデプロイしたらFileNotFoundExceptionが発生してWebアプリが起動しない問題

Spring MVC のプロジェクトで、プロジェクト名を右クリックして[Run As]-[maven build]を選択してターゲットで package を指定して実行。 生成された war ファイルを tomcat にデプロイしたら、起動に失敗した。 1 30, 2014 9:11:04 午前 org.apache.catalin…

SpringのEclipseプラグインのインストールでドはまりした

お客様からSpringフレームワークを指定されて、まずは動かしてみないとってことで、Eclipseにプラグインをインストールすることにした。使ってたEclipseはJuno。ここを参考に。。。≫[Java] Eclipse に Spring Tool Suite (STS) をインストールする | tekboyE…

NaNかどうかを判断するにはisNaN()を使う

JavaScriptだと基本的なことなんだろうけど、10分くらい悩んだのでメモ。テキストファイルから位置情報を読み込んでほげほげするプログラムを作ってた。読み込んだ文字列が数値じゃない場合には処理を分ける必要があるので、こんなプログラムを書いた。 func…

Wordpressの動作不良の原因はi-node枯渇だった

数日前にWordpressで記事を書こうと思って、その記事用の画像をアップロードしようとしたら、「一時フォルダが見つかりません」なんてエラーが出てアップロードに失敗した。ぐぐってみてもそれっぽい情報が得られないまま。他の仕事で忙しかったので放置して…

Google Chromeでローカルにファイルを出力するときの罠

大量のJSONファイルを編集する必要があるということで、JSONを扱うのならJavaScriptが簡単なんで、JavaScriptで自動化することにした。JSONファイルを出力する必要があるので、ちょっとぐぐってみたら、Google Chrome だけが FileSystem APIに対応していると…

MacOSXからsshしようとしたけど接続できなかった

net

MBPのターミナルから外部のホストにsshで接続しようとしたらエラーになった。 $ ssh satoshis@example.com:12345 ssh: Could not resolve hostname example.com:12345: nodename nor servname provided, or not knownポート番号をコマンドラインのオプション…

slim3のインクルードしたJSPで文字化けしたときの対処方法

slim3で開発していて、header.jsp と footer.jsp を jsp:include タグでインクルードした。そして、header.jsp と footer.jsp の中に日本語を書いたら文字化けした。 Eclipse上保存しようとした時にISO-8859-1じゃ保存できんからエンコードを選べって言われ…

tripwireが Out of memory エラーで異常終了するときの解決方法

Web

Wordpressのサイトの一部のファイルが改鼠されて何も表示できなくなるという状況が発生した。そのアドホックな対策としてファイルの改鼠を検出するためにtripwireを稼働させることにした。クラウドのサーバーを稼働させ始めたときにも動かそうとしたんだけど…

JavaScript ClientからApp EngineのCloud EndpointsでOauth2認証する方法

試行錯誤してできるようになったので、簡単にまとめる。 基本的にはここに書いてあるとおり。To use a Google Cloud Endpoint, you'll need to use the Google JavaScript client library. The code you need to add to use Endpoints is minimal, consistin…

Android で Google Cloud Endpoint を使う時のデバッグ版とリリース版の Client ID を切り替える方法

先に書いた、Google Maps M2 API for Android では、デバッグ版とリリース版で同一の API key が使えたけ。だけど、Cloud Endpoint の Client ID を設定するところは、複数の SHA1 を書けるようになってないので、別々の Client ID を生成するしかない。 な…

Google Maps V2 の API key はデバッグ版とリリース版の両方に使える

AndroidアプリでGoogle Maps V2 API を使うには、AndroidManifest.xml の中に、API keyを記述する必要がある。 <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" /> デバッグ版とリリース版で API key を使い分けるにはどうすれば簡単にできるのかわからずにぐぐってたら、同一の API key でデバッグ版とリリー</meta-data>…

App Engine のデプロイができなくなったときの解決方法

数日前の話。Google App Engine にGAEアプリをデプロイしたんだけど、90%くらいのところでリトライばかりしてて全然進まなくなった。 しばらく放置したけど状況が変わらないので、スクリプトを中止して、最初からデプロイをやり直してみた。すると、「409 Co…

GCMの実装中のIllegalAccessExceptionに悩まされた件

AndroidでGCMを受け取るためのサービスGCMIntentServiceを実装して試しに動かした時に、IllegalAccessExceptionが発生してた。 java.lang.IllegalAccessException: access to constructor not allowedその少し上を見ると、 Could not find class android.app…

Failed to create secure container smdl2tmp1 でAndroidアプリをインストールできない

新しいAndroidアプリを作って、Android2.2.1の端末で実行しようとしたら、こんなエラーがでて実行できなかった。コンソールのキャプチャ画像。 こちらはLogCatの内容。 Failed to create secure container smdl2tmp1 Failed to create container smdl2tmp1 a…

Google Playのアルファ/ベータテストを使ってみた

Google Play Developer Console でAndroidアプリのアルファ/ベータテストができるようになってたので、使ってみた。To make a great app, it’s important to get feedback from users early and often. Google Play Developer Console lets you test your ap…

Google Analytics のページからコピーしたトラッキングコードがバグってる件

Web

Google Analytics でのアクセス解析を数日ぶり?に見たら、Wordpressで作ってる2つのサイトのアクセス記録がまったく残ってなかったのでびっくりした。実際にアクセスは発生してるわけで、何かが原因でトラッキングできなくなったるらしい。Google Analytics…

Viewを画面の一番下に配置する方法

OK/キャンセルとか保存など、画面の一番下にボタンを配置したい時がある。 そのような場合のレイアウトの書き方。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > // 上の方に配置するViewを書く </linearlayout>

Listに要素を追加しようとしたらUnsupportedOperationExceptionだった

AndroidアプリでListViewに設定するAdapterに新しい要素を追加しようとしたところで例外が発生してた。Listの元をたどると、 List<Hoge> list = Arrays.asList(new Hoge[0]); ってやってた。 その先は確認してないけど、Arrays.asList()でList化したオブジェクトは</hoge>…

コマンドラインからGoogle App Engineにデプロイする方法

EclipseからApp Engine にデプロイしようとしても、エラーが発生してなかなかデプロイできないことがときどきある。 意地になって何度も繰り返しても、なかなかうまくいかなかったので、コマンドラインから実行する方法を調べてみた。画面から操作するのがめ…

Google Cloud Endpoint で JsonMappingException が出る場合の対処方法

entity クラスのフィールドに、独自のクラスを追加してたりすると、クライアント側から取得しようとした時にこの例外が発生する。独自のクラスがサーバーサイドだけで利用しているのであれば、単にクライアント側に送信しないように設定すれば、例外の発生を…

コマンドラインからGoogle App Engine にデプロイする方法

WebアプリをGoogle App Engine にデプロイしようと思って、Eclipseでプロジェクトを右クリックして[Google]-[Appエンジンへデプロイ]をやるけど、何度やってもエラーになってデプロイできなかった。 出まくるエラーはこちら。ログを参照しろって、どこにログ…