tag: Java  1/1

スポンサーサイト

[Java]Play Framework 2をちょっと触った感想

久しぶりにプログラミング絡みの話。仕事でJavaのWebアプリケーションフレームワーク「Play Framework」使うことになるかも?…と下調べをしたのだけれど、結局使わなそうなので、触った感想とかをまとめとく。あくまでちょっと触った程度なのと、最近の他のフレームワークに詳しいわけでもないのでその辺ご了承くださいm(__)m一応簡単にPlay Frameworkの解説。PlayはRuby on Rails (RoR) とかの思想に基づくJava(とScala)用のWeb...

[Java]JSFのフラッシュ記憶は二度動く?(未解決)

時代遅れの知識をアップデートしようと、ちまちまとJSF+EJB+JPAという凄く標準仕様な構成でアプリ作成中。なんか変(?)な挙動と遭遇したのでメモ。JSF では、2.0からフラッシュ記憶という仕組みが使えるようになっているとのこと。ページ移動後に一度だけ値を参照できるということで、CakePHPで言う $session->flash() みたいなリダイレクト先で結果メッセージの表示ができる仕組み・・・という風に理解。さっそくそれを使っ...

[Java]MyBatisを使ってみた3(3.0.2)

続き2。WikipediaのMyBatisのページ訳してたら、前々回の記事の勘違いに気づいたので訂正。公式ドキュメントによると、XMLファイルを用いずインタフェースを作成してそこにアノテーションで同じようにマッピングを記述していくことも出来るようで、どうもそれを強化していこうとしているような雰囲気を感じる。(この次のSQLの実行の部分が、キャストが不要になったり、namespaceをコードで指定できたりと改善されている。)インタ...

[Java]MyBatisを使ってみた2(3.0.2)

前回の続き。年末に会社辞めてしまったので(--;、忘れないうちにその後実際に使ってて気づいたこととか吐き出しておくよ~。nullが入るパラメータの書き方主にinsertやらupdateやらで遭遇。nullが入るパラメータで単純に前回のように NAME = #{name} とか書くと、nullのときに型が判んねえぞゴルァ!!とエラーになる。ので、そういう場合はこんな風に記述する。<update id="update" parameterType="foo.model.Member"> UPDAT...

[Java]MyBatisを使ってみた(3.0.2)

しばらく前からiBatis・・・じゃなくて今はMyBatis、の使い方を調べてた。が、日本語の情報があんまり無い感じだったので、ちょっと簡単に書いてみる。(iBatis2の情報はいっぱいあるけど微妙に異なる。iBatis3は同じっぽい?がそもそも情報自体が少ない。)基本的には英語の公式ドキュメントでカバーできそう。以下、そこから抜き出しただけだけのものも含む。大まかにしか読めてないので、間違って解釈してたらすいません(--;ま...

[Java]CSVライブラリの比較

タイトルどおり、お仕事の環境がやっとまともにライブラリを使えるようになってきたので、CSVを処理するライブラリを調べてみた。ググると似たような事をしてる人は結構居るけど、いまいち判断が付かなかったので、自分でまとめた内容を書いておく。以下、公開時期が古いっぽい順に上から列挙。名称最終リリースライセンス機能その他CSVTokenizer & CSVLineVer 1.01(1999/4/14)記載なし?1行分のCSVを分解/出力。国産S2Csv0.0...

JUnitでprivateのメソッドを楽に(?)テストするソース(続き)

先日こっそりと過去の記事を追記した際にソースを読み返してみたら、いろいろと不足点に気づいた。需要があるかどうかは知らないが、一応改良版を晒してみる。・hiddenaccessor-0.2.zip (javadocはこちら)<変更点>・総称型を使うように変更。・オブジェクトだけを渡すコンストラクタを追加。後、使いやすいようにパッケージとかドキュメントとかをちゃんとしてjarにもまとめてみました。(いないと思うけど)もし honeplus.jp ...

Maven2で生成したMANIFEST.MFにPCのアカウント名が入る

引き続きMaven2を使用中。ビルドしたjarのMANIFEST.MFを確認してたら、こんな風になってた。Manifest-Version: 1.0Archiver-Version: Plexus ArchiverCreated-By: Apache MavenBuilt-By: アカウント名Build-Jdk: 1.6.0_07あー、会社ならともかく、家のPCはアカウント名=本名なので、勝手に設定されると困ります。というか、気づかなかったら実名公開とか、何という罠(--;というわけで Built-By を変更する方法を調査。3つ発見。1つ...

Maven2導入中

最近よく見かけるMavenって何だろう?と思って調べてみた。・TECHSCORE - Mavenなるほど、Antみたいなビルドツール・・・ではなくて、もっとプロジェクト管理のためにルール作りしたものということか?ビルドもできるけどそれだけではなく、依存関係やらの管理や配置までも含めたプロジェクト全体のためのツールと。普段自分がAntで行っている、ビルドやJavadoc、配布物の作成についても、決まったソース構成になっていれば、標準...

JavaMailでの文字化け対策

JavaMail久しぶりに触ったら忘れ欠けてたのでメモ。日本語のメールで幅広い人を対象にするなら、文字コードは ISO-2022-JP。UTF-7とかUTF-8とかもあるけど、どこかしらか読めないってクレームが来ると思って間違いない。Shift_JISやWindows-31Jとかも同様。まぁ、ISO-2022-JPやUTF-8と違って、あえてこいつら使うことは無いと思うけど・・・。次に、よく問題になる機種依存文字(①とか)について。ISO-2022-JPには無い文字なので、...

JUnitでprivateのメソッドを楽に(?)テストするソース

JUnit でどうにか private なんかのメソッドをテストできないもんかなぁ・・・と思って調べたら、リフレクションを駆使することで手間はかかるもののできることが判った。こんな感じ。try { Method method = Foo.class.getDeclaredMethod("convert", String.class); method.setAccessible(true); assertEquals("output-string", method.invoke(new Foo(), "input-string"));} catch (InvocationTargetException e) { t...

StringとStringBuilderによる文字列置換の速度差

文字列をあるパターンに従い、単純に(正規表現などを使わない)置換するような処理。以下、Java 6 の環境での結果。とっさに書きがちな String を使ったコード。String result = s;for (Map.Entry<String, String> m : mapping.entrySet()) { result = result.replace(m.getKey(), m.getValue());}return result;StringBuilder (または StringBuffer)を使ったコード。StringBuilder b = new StringBuilder(s);for (Map.En...

Runtime#exec で日本語が渡せない(未解決)

Webアプリから Runtime#exec で namazu を呼び出すような対応を実施。ところが、テスト用にこっちで準備した環境ではうまくいくものの、もらった評価用の環境では、日本語がうまく通らない。環境はいずれも Solaris8 で、jdkは1.3.1_23という骨董品。どうも実際に動いている環境では、Webコンテナの起動時に環境変数 LANG が指定されておらず、英語な状態になっていた模様。Namazu で日本語を扱うには LANG=ja が必要らしいので、...

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。