horino のアーカイブ

【Aipo】新規に作成したユーザーでログインできなかったとき

2014年10月15日

デバッグ中などにAipoで新しくユーザーを作成し、ログインしようとしたら「セッションがタイムアウトしました。」などのエラー画面がでる、もしくは招待のメールからフォームに飛ぼうとしてやはりエラー画面が出る、たまにそんなことが起こります。 原因にはおそらくいくつかパターンがあるので一概には言えませんが、今回遭遇したのは「すでに別ユーザーでログインしていた場合」でした。 同一ブラウザからのセッションが残っている状態で別ユーザーでのログインをしようとしたので怒られたのだと
続きを読む

Aipoでログインユーザーが管理者権限を持つかをしらべる

2014年9月29日

Aipoにおいて、java側でログインユーザーが管理者かどうかを、 ``` ALEipUtils.isAdmin(rundata) ``` もしくは ``` ALEipUtils.isAdmin(userId) ``` で知ることが出来ます。 たいていのメソッドでrundataが参照できると思うので、前者のほうが便利かと思います。
続きを読む

wicketのValidatorでエラー文言をカスタマイズする。

2014年9月24日

wicketにはもともと用意されたvalidatorがいくつかありますが、デフォルトだとどれもエラー文言が直訳っぽくていまいちです。 そこで文言のカスタマイズですが、javaでいくら探しても見つかりません。 wicketのvalidatorの文言は、そのValidatorにひもづくhtmlファイルと同じ場所に、同名の.propertiesファイルを作ることで指定します(hoge.htmlなら、hoge.propertiesを作る)。これはValidatorに限ったこと
続きを読む

Aipoでデータベースを新規に作る方法

2014年8月22日

テストデータがごちゃごちゃしてきて、まっさらなデータベースで作業したいというときは、データベースを新規に作ってしまうと楽です。 まず、Aipoプロジェクトのsql/postgres/org001.sqlのSQL文をすべてコピーしておきます。 次に、PpgAdminを起動し、localhost:5432に新しいデータベースを作成します(org002とか)。 そして新しく作ったデータベースに対し、先ほどコピーしたSQL文を実行します。これでまっさらなデータベ
続きを読む

Aipoでファイルをアップロードできる端末かを判断する

2014年8月15日

iPhone4などはファイルをアップロードすることができません。 そのため、その端末がファイルのアップロードを行えるかを判断して、「ファイル追加」ボタンの有無を切り替える必要があります。 Aipoにはその判断を勝手に行ってくれるメソッドがあるので、これを使います。 ``` ALEipUtils.isFileUploadable(rundata) ``` trueならアップロードできる端末、falseならできない端末、ということです。 もちろん
続きを読む

Eclipse LunaのPleiades All in Oneで標準搭載された便利な検索プラグイン「Glance」

2014年8月14日

java8への対応が目玉のEclipse Lunaですが、Pleiades All in Oneでは地味に便利なGlanceという検索プラグインが標準搭載されました。 普通にCtrl+Fで検索ダイアログが開くのは変わらないのですが、Ctrl+Alt+FでGlanceの検索窓がウィンドウ下部に出現します。 なにかと邪魔でイラッとする検索ダイアログと違い、省スペースなのでちょっとした検索には便利です。
続きを読む

Eclipse/javaで手っ取り早く例外を発生させる方法

2014年8月14日

Eclipseでjavaを扱っていて、例外処理がうまく動作しているかを確認するとき、手っ取り早く例外を発生させる方法です。 例外を発生させたい処理の周辺にブレークポイントを置き、処理を止めます。 次に、ソースのどこでもいいので ``` throw new Exception(); ``` と記述します(保存はしない)。 そしてこの記述を選択し右クリック→「インスペクション」を実行すれば、Exceptionがthrowされます。 用が済んだらCtrl
続きを読む

リポジトリに「CR LF」の改行コードがあるかを調べるコマンド

2014年8月13日

リポジトリで「CR LF」の改行コードが用いられている箇所を洗い出してくれるコマンド ``` git grep --cached -I $'\r' ```
続きを読む

GlobalMacros.vmを修正したらTomcat再起動

2014年8月7日

テンプレートファイルの記述を簡潔にするためのmacroをまとめたGrobalMacrosですが、ただmvn installしただけでは反映されないので、Tomcatを再起動してやる必要があります。 通常のvmファイルはmvn installだけで適応されるので忘れがちです。
続きを読む

Aipoでユーザーをキーワード検索するときに見るべきカラム

2014年8月6日

Aipoでキーワードに適合するユーザー一覧をデータベースから取得するとき、TurbineUserテーブルに検索をかけます。 そのとき、Aipoでは主に次のカラムに対してキーワードを検索しています。 * firstName * lastName * firstNameKana * lastNameKana * email * turbineUserGroupRole * outTelephone * cellularPhone
続きを読む

Eclipseでデバッグ中に、ブレークポイント以外で中断してしまう時

2014年8月4日

Eclipseでデバッグをしていると、ブレークポイントでないところで中断し、いちいち「再開(F8)」しなければならないことがあります。 特に、なにか例外が発生した時に止まってしまう場合は、環境によるものだったりするのでできれば無視してほしい……。 そんなとき、Eclipseの「設定」ウィンドウを開くと「java」>「デバッグ」の中に「中断の設定」という項目があります。 ここで「キャッチされない例外で実行を中断」のチェックを外しておくと上記の問題は解決しま
続きを読む

Javaで数値の四捨五入/切り捨て/切り上げを行う

2014年7月23日

Javaで数値の四捨五入/切り捨て/切り上げを行うには、BigDecimalを用います。 ↓四捨五入の例 BigDecimal bd = new BigDecimal(3.14d); BigDecimal value = bd.setScale(0,BigDecimal.ROUND_HALF_UP); system.out.println(value .doubleValue()); setScale()の第一引数が0なら小数点第一位を、1なら小数点第二
続きを読む

文字列の空文字チェック

2014年7月18日

String クラスのvalueがあったとして、 if(value == null || value.equals("")){ //hoge } と書いてもいいですが、 if(StringUtils.isEmpty(value)){ //hoge } がシンプルで便利です。 ただし、間違えて if(value.isEmpty){ /hoge } と書かないように気を付けないと、valueがnullだった
続きを読む

Eclipseで一時的に任意のエディタでファイルを開く

2014年7月16日

例えばPropertiesファイルをEclipseで開こうとした時、デフォルトのエディタがLimyプロパティー・エディターなどになっていれば次のように表示されます。 LOGIN_USERNAME=ユーザー名: ですが、実際のプロパティファイルはUTF-8がエスケープされた形で記述されており、本来のエスケープされた形式が見たいときは、別のエディタでファイルを開く必要があります。そこで、ファイルを開くときに「右クリック→アプリケーションから開く」で任意のエディタを選ぶこと
続きを読む

EclipseでのGAE(Google App Engine)環境構築

2014年6月27日

GAEに限らず、なんらかのソフトウェアをEclipseにインストールする方法です。   まず、そのソフトウェアを提供するサイトへと飛び、インストール用のURLを入手します。 GAEの場合はhttp://dl.google.com/eclipse/plugin/4.3 となります(Eclipseのバージョンが4.3の場合)。   つぎに、Eclipseを起動します。そして、EclipseのソフトウェアインストールはなぜかHelpの中にあるので、
続きを読む

環境変数の設定の適応

2014年6月25日

環境変数の%JAVA_HOME%を変更しようとしたのですが、PCを再起動するまで適応されずにはまってしまいました。 変更しただけですぐ適応されるパターンもありますが、基本的には再起動をしておいたほうが無難なようです。
続きを読む

リストでfor文をまわしてリストの要素を削除したいとき……

2014年6月23日

リストでfor文をまわしてリストの要素を削除したいとき、例えば List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e") for(String value
続きを読む

Eclipseで自動整形

2014年6月13日

Eclipseで作業している時に「Ctrl」 + 「Shift」 + 「f」を押すとコードを自動整形してくれます。 また、プロジェクトのプロパティから「java エディター」→「保管アクション」とクリックし、「ソースコードのフォーマット」にチェックを付けておけば、同じことを保存するたびにやってくれます。
続きを読む

文字列を連結するときはStringBufferをつかうべき

2014年6月11日

javaで文字列を連結するとき、Stringを+=でつなぐ方法と、StringBufferでappendしていく方法とがあります。 String text=""; text += "hoge"; text += "moge" StringBuffer text = new StringBuffer(); text.append("hoge"); text.append("moge") どちらも同じように連結することはできますが、連結する回数が多くなるとStringBuf
続きを読む

正規表現で日本語を抽出する

2014年6月6日

日本語を抽出する正規表現 [亜-熙ぁ-んァ-ヶ]   ちなみに…… ひらがなを抽出する正規表現 [ぁ-ん] カタカナを抽出する正規表現 [ァ-ヶ] 漢字を抽出する正規表現 [亜-熙]  
続きを読む