log

日記です

Java

拡張forとforEach

書き比べ! import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) throws Exception { // StringのListを用意 List<String> strings = Arrays.asList("str1", "str2", "str3"); // java 1.7 とかの書き方 f</string>…

java8でOptionをたくさん扱うには?

optionがたくさんあるときって、どういう風にやってるのかな? scalaだとfor式、haskellだとdoとかが答えなのかなと思い。 java8は・・・とりあえずflatMapのネスト? // flatMap Optional<Integer> maybeA = Optional.of(1); Optional<Integer> maybeB = Optional.of(2); Opti</integer></integer>…

java 8でzipしてmapするにはどうしたらいいんや

わからん、要素数が同じっていうことを前提の場合はiterator回す? もう自分でそういうデータを作っておく?List>なやーつを。 List<String> xs = Arrays.asList("list_x1", "list_x2", "list_x3", "list_x4", "list_x5"); List<String> ys = Arrays.asList("list_y1", "list</string></string>…

Javaで複合ソート 〜 Commons Collections使ってみた 〜

The Java Tips! きっとお仕事に役立つと思います。 Beanのリストを複合ソートする方法。 一番簡単かつスマートは、以下の方法じゃないかと行き着きました。 ★出力結果 千葉 23 おおうらさん 千葉 23 ひがさん 千葉 23 ひがしおんなさん 千葉 23 ひがしさん …

BeanのソートはCommons BeanUtils使えば一行でいける

http://d.hatena.ne.jp/ariteku/20120523/p1 に関連。 ということはあれだ BeanComparatorを使えば // List<HogeBean> beans = Hoge.findAll(); Collections.sort(beans, new BeanComparator("key")); の一発でいけるわけだ。 使わない場合は // List<HogeBean> beans = Hoge.fin</hogebean></hogebean>…

うん、違うよ!

思ったけどそれ、Commons BeanUtils使ったほうがいいんじゃね? BeanUtils#getProperty(obj, "name"); 的な。 そうすればどのBeanでも型(クラス)にとらわれずに値取得できるやん…。 うむ、無知だった。 書きなおそうかと思ったけど、このKeyがなければこのKe…

にゃー

if(obj instanceof HogeHoge) { sysout("aa"); } ひっさびさにJava書いたら楽しいっすね! Beanのリストをソートするクラス書いた。 void TakuanUtils#sort(List<OyaBean> beans>);comparatorさんを実装して。Beanの項目1,項目2、項目3でソートする感じ。 ズバリ</oyabean>…

プログラミングがお上手ですね!

ほうほう、ぷろじぇくつのコード見ているとすごく勉強になる! オブジェクト指向(Abstract methodとInterfaceとポリモーフィズム)を上手く使ってんなー!と。 うほほーい オレもJavaの話にまざりたーい! せんぱーい!したい! 要件 10個ぐらいあるbeanか…

さむい

java.lang.OutOfMemoryError Eclipseの設定で、パーマネント領域の最大メモリ量を増やすとすごい動作安定するよねッ! なんでデフォルトの設定で増やしていないのか不思議だよねッ プラグインとか入れまくったら足りなくなるらしいよッ JVMのメモリ管理の仕…

ケツから舐めるイテレーションを試したよ

忙しくなる⇛何もできなくなる⇛なぜか何かしたくなる パーフェクトJavaは手元に持っておきたい本だ。 いつもは拡張for使ってListとかを展開しているんだけど、訳あってお尻からイテレーションしたくなった。 JavaではListIteratorってのを使うらしい。 普通の…

Springがトランザクション管理の問題点を解決してくれるっぽい

Java EEな図 3つのDAOの処理が成功して、ひとつのトランザクションが成功する場合、Service層でトランザクションの管理をする必要がある、という話。 Spring Frameworkを使っていない場合 複数DAOがあるとき、トランザクション管理に困ってるんすよねー こ…

当たり前のことを当たり前にやる

非機能要件もちゃんと! ぶっちゃけ穴だらけだなー まさかのEL式はエスケープ処理してくれないんだな ${title} とか書いたらXSS発生する <s:property value="<script>alert("うへへ");</script>" /> はOK JavaScriptとか書きだすために使うならescapeJavaScript="false" にすればおkかな? 昔(ってかつい最近)</s:property>…

macってsvn標準装備なのか

すご、標準装備なんだ! svnadmin create /Users/takuan/svn終わり。 Eclipseでfile:///Users/takuan/svnを指定すればおk。

Eclipse 3.7にHibernate Toolsインストールした

メニューの[新規ソフトウェアのインストール]で、 http://download.jboss.org/jbosstools/updates/development/indigo/を入力してHibernate Toolsでフィルタをかけて、ヒットしたものの一つをインストール。 公式ダウンロードサイト http://www.jboss.org/to…

楽天ブックス検索APIの結果をパースする

ライブラリ入手先 JSON in Java http://json.org/java/ コピーして動かすが良いさ… 取得すべきJSONデータはめんどい(サンプルなので)リテラルで持ってます。 JSON文字列を取り込んで、JSONObjectというオブジェクトを生成するみたいです。 JSONObjectに対…

Singletonが少しわかったので書いとく

Hibernateを使うときに、SessionFactoryをSingletonにする方法。 せっかくサンプル書いたので載せとく、これ実行して確信が持てた。 ポイントは extendsはメモリの延長、親のインスタンスは一つ 同じ親を継承した、別々の子クラスの親クラスが持つ属性のイン…

JPA

EclipseLink そういうJPA系のORマッパーがあるみたい

メソッド名とポリモーフィズム

Java、オブジェクト指向の基本的なことを考える機会があったのでメモメモ メソッド名のつけ方 クラス名は名詞、メソッド名は動詞 主語はクラス名にかかる。 クラス名 class Takuan メソッド名 say(); 使うとき takuan.say(); ドット(.)で繋げたとき自然にな…

自分の頭で考える

ほぇぇぇ 考えたらGoogle先生に頼ってばかりで、最近自分の頭で考えるこっとって少なくなってきているような気がする… fizzbuzzがかけない、なんてホラーなことにならないように気をつけよう… public class fizzbuzz { public static void main(String[] arg…

世界のなべあつ

びびった、意外と難しかった。 文字列比較や、正規表現を使わずにやってみた public class nabeatu { public static void main(String[] args) { for (int i = 1; i < 340; i++) { System.out.print(i); if (isAho(i) == true) { System.out.print(" aho"); …

Javaのお勉強

もっとパーフェクトJava読まないとダメだ、卒業はまだまだだ。 疑問に思うことの答えが、パーフェクトJavaには書かれている。 Interfaceの話とか、もろに書かれていた。

abstractとinterface

interfaceとabstract あれ?同じじゃね?と風呂場で思ったので調べてみた。 interface 動きを制限、インターフェースに定義したメソッド以外は実装できない ポリモーフィズムを適用(寧ろ強制?)するために使う 型になるよ! abstract 子供が必要、親子関係…

JasperReports+iReportすげー

帳票系やるときはこれがベストかもとか思った。 GUIで帳票のテンプレートを作り、Javaで内容を埋め込んでPDF出力 テンプレートをGUIで作成できるのが胸熱。 コードでレイアウト作るのは、完成イメージを見えないのでだるい。 視覚的にテンプレート作った後に…

DTO,ValueObject,POJO,Bean

違いってなんだろう 自分の認識は DTO ん?データ転送用オブジェクト? ValueObject 一度データを詰めたら普遍にする POJO 何も継承していない、ふつーのクラス。データを詰めることに特化しているわけではないけど、一応関連はあるかと Bean getter,setter…

mbaにtomat6いれた

MacPortsで入れようと思ったら、入らない。 うんこ。 commons-fileuploadがないよー的な事を言っているが、めんどくさくなったので直で入れる。 http://tomcat.apache.org/download-60.cgi からバイナリ版をとってくる 置き場所に悩んだが、 /usr/local/tomc…

mbaのEclipseにtomcat plugin入れたー

http://www.eclipsetotale.com/tomcatPlugin.html からtomct pluginの最新版をダウンロードして、Eclipseのpluginに入れる。 自分の場合だと、/Application/eclipseにインストールしているので、 mv ~/Download/com.sysdeo.eclipse.tomcat_3.3.0 /Applicatio…

Struts2.2.3ではまった

あっさ! Struts2.2.3を動かすだけで息切れしてしまった。 Struts2さん、バージョンによってファイル名とか細かい仕様とか変わっているのかな? 頼みますよー自分みたいな情弱さんは一日かけて迷いました。 何とかエラーを追っかけて、妄想(こうだろう、と…

シャローコピーとディープコピー

Javaで、配列をコピーしたい場合の方法は4つ arraycopyメソッド cloneメソッド copyOfメソッド(よく知らない、java6以降) ループでまわして(イテレーションして)コピー 配列とかをループでまわして捜査することを、イテレーションっていうみたい(多分) P…

クラス図の可視性を表す記号の意味

可視性可視性(visibility)には次のいずれかの記号を使用する。 可視性を表すUMLの記号 記号 Javaの修飾子 意味 ---------------------------------------- + public すべてのクラスからアクセス可能 # protected サブクラスまたは同一パッケージのクラスから…