Java

Java Day Tokyo 2015に行ってきた

最近またJavaを勉強し始めたし、ちょうどいいタイミングで開催されていたので、参加させていただきました。Java Day Tokyo 2015自分が聴きに行ったセッションは以下。 Java SE 8: Lambdas and Streams API Date and Time API and other technologies of Java…

Iteratorの中で要素を削除するということ

Javaの場合 import java.util.ArrayList; import java.util.List; class Hoge { public static void main(String []args) { List<Integer> samples = new ArrayList<Integer>(); samples.add(0); samples.add(1); samples.add(2); samples.add(3); samples.add(4); samples.add</integer></integer>…

プログラミングお勉強きろく

プログラミングお勉強きろく 面白いので読んでる。どんどん学習していってるのが分かるので楽しい。 自分もこれくらいたくさんアウトプット出せるようになりたいなー。 ソースコードのインデントがスペース4文字にしてくれるとより読みやすくなっていいんだ…

GAE/J でアクセスカウンターを作った

Google App Engine でカウンターを作ってみた(再) - すぎゃーんメモの続き。というか変更。 以前にPython版で作ったGoogle App Engine上で動くアクセスカウンターを、Javaで作り直してみた。 http://gae-counter.appspot.com/ 基本的な作りは同じで、 Google…

第二回チキチキ 日本ペアプログラミングの会java-ja支部会(仮)

めも。 第二回チキチキ日本ペアプログラミングの回java-ja支部会 @dwango会場提供のドワンゴ様に感謝。1. id:t-wadaさんによる講演 第一回のまとめ たのしかったですよ 前回のKPT 撮影が入ってよかった 自由に発言してどんどん訊ける雰囲気が良かった 今回も…

GAE/J 開発サーバー上でのローカルData Viewer

Python版GAEなら、開発サーバー上でも http://localhost:8080/_ah/admin/ でローカル環境用のDashboardを見ることができて便利なんだけど、どうやらJava版にはそれがないらしい(むしろあるのなら教えて下さい)。 せめてData Viewer的なものはローカル環境に…

GAE/JのDatastore Low-level APIを使ってみた その2

GAE/JのDatastore Low-level APIを使ってみた - すぎゃーんメモの続き。 せっかく親子関係の扱いができるのでTransactionを使用してみた。あとEntityを生で使うのがちょっとアレだと思ったので簡単なラップクラスを作ってみた。…けど、微妙。 LowLevelAPISer…

GAE/JのDatastore Low-level APIを使ってみた

ドキュメントを読みつつ、すごく簡単なサンプルを書いてみた。 http://code.google.com/intl/en/appengine/docs/java/javadoc/com/google/appengine/api/datastore/package-summary.html web.xml

Google App Engine でファイルをアップロードする方法 比較

Java版 GAE/J でファイルをアップロードする方法を学ぶ - すぎゃーんメモ の続き。 どうやらJava版でcommons-fileuploadを使ってファイルアップロードをする場合はgetItemIteratorから取り出すのが良いようだ。そうすればFileItemFactoryは必要ない。 import…

GAE/J でファイルをアップロードする方法を学ぶ

Google App Engine(Java版)でファイルをアップロードするためにはどうすればいいのか?を色々試しながら勉強してみる。 まず、最もシンプルにこんなHTMLとサーブレットを書いてみる。 <html> <head></head> <body> <form action="upload" method="post" enctype="multipart/form-data"> <input type="file" name="data"></td> <input type="submit"></td> </form> </body> </html> package hoge.fuga…

GAE/J でancestorによるフィルタリングはできない?

今作っているGAE Counterでは、CounterとAccessRecordで親子関係を作っていて*1、あるCounterの子として作られたAccessRecordを取得するのに、ancestorによるフィルタリングを使ったQueryを用いている。 AccessRecord.all().ancestor(counter) で、同じこと…

GAE/J でDataStoreのよくわからない挙動に遭遇

encodeしたStringをキーにしたデータモデルを作って、そのキーで引き当てて取得したデータを参照しようとしたらUserが何故かnullになっていた。 @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Hoge { @PrimaryKey @Persistent…

Google App Engine のDataStoreからUserでフィルタリングしてデータを取得する方法

com.google.appengin.api.users.Userをプロパティに持つデータモデルから、それがログイン中のユーザーと一致するものだけを取得しようとする場合。 Python版では、 from google.appengine.api import users results = Hoge.all().filter('user = ', users.g…

MacのEclipseで自動生成されるJavadocのauthorを変更する

Eclipseの機能でJavadocを生成した場合、@authorには自動的にシステムのログインユーザーが使われるらしい。 これを変更する場合はeclipse.iniに以下の行を追加する。 -Duser.name=<変更したい名前>JavaDocの@authorで補完される名前を変更したい:おぼえが…

第十二回java-jaに行ってみた

第十二回 第1回チキチキ そろそろ Swing の実力をおまえらにみせてやんよ(仮)に行ってきたので、メモ。 間違っていることなんかも多々あるかもしれないけどメモ書きを敢えてそのまま載せる。 2008/11/21 第12回java-ja SwingとWindows FormとSWT 太一(id:t…

StringBuilderの初期化 続き

StringBuilderの初期化 - すぎゃーんメモについて、id:todogzmさんコメントありがとうございました。 AbstractStringクラスというのはググっても見当たらないですが、とにかくchar[]を内部で持っているものだと解釈していいんですかね? 新しいインスタンス…

StringBuilderの初期化

StringBuilderを使いまわすために一度中身を空文字列に変えたい、というとき StringBuilder sb = new StringBuilder(); という毎回新しいインスタンスを作成する方法、 sb.delete(0, sb.length() - 1); という同じインスタンスの中で中身を全削除する方法、 …

JavaでRSSフィードを取得する

import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Iterator; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.com…

Jakartaさん、お世話になります

org.apache.commons.codec.binary.Base64 Base64のエンコーディングをするときに使う。 org.apache.commons.lang.time.DateFormatUtils ISO-8601の形式で日付・時刻を表したいときに使う。 eclipseでライブラリを追加する場合はプロジェクトのプロパティから…

static initializer 静的初期化子

こんなものがあることを初めて知った。 http://www.itarchitect.jp/technology_and_programming/-/27074-5.html なるほど、確かにstaticメンバ変数の初期化したいときはこうするものか。 しかしこれが実行されるタイミングってのは「クラスがクラス・ローダ…

はてなのAtomAPIをJavaから叩く

はてなウェブサービス とにかくコレを使ってみたくて。 しかし分からないことだらけ。 WSSE認証という言葉すら初めて聞いた。 とりあえず参考は yohei-y:weblog: Java からはてなフォトライフAtomAPIを使う Black Duck Open Hub Code Search これは・・・id:Yos…

集合知プログラミング 2章 似ている製品

前回までは「評者」に対し「アイテム」と、その「評価点」を元に「評者同士の類似度」の計算と、それを用いた「未評価のアイテムの推薦」をやってきた。 これに対し、評者とアイテムを逆にすることで違う視点からの計算ができる。 つまり、「アイテム」に対…

命名に悩む

あまりにも変数名がイケてなさすぎる気がしたので、変更を検討してみる。 Iteratorとかってどういう名前を付けるもんなんだろうか。 こういうときこそオープンソースの世界を覗くべきだな。

集合知プログラミング 2章 アイテムを推薦する

評価の類似度という尺度ができれば、それを元に評者を相対的にランキングしたり、自分が未評価なものを推薦してもらうこともできる。 ランキングはただ全員との類似度を調べてソートするだけなので省略。 推薦は、それぞれの評者の「アイテムの評価」×「その…

集合知プログラミング 2章 ピアソン相関

ユークリッド距離の他に類似度を決定する手法としてピアソン相関係数が紹介されている。 これはデータが正規化されていない場合にその偏りをある程度補正してくれることになるようだ。 ピアソン相関係数は以下の式から求められる。 PearsonCalculator.java p…

postgreSQLのJDBC

JDKのバージョンによって使い分けるらしい。 http://jdbc.postgresql.org/download.html JDK 1.1 - JDBC 1. Note that with the 8.0 release JDBC 1 support has been removed, so look to update your JDK when you update your server. JDK 1.2, 1.3 - JDB…

面接

継承も参照も分かっていない自分に、がっくり。 イメージを作って、頭の中に描くんだ。

引数なしコンストラクタを禁止する

コンストラクタの引数指定 - すぎゃーんメモ とりあえず、引数なしコンストラクタはprivateではなく、例外にしてみる。 public class Hoge { private String str; public Hoge() { throw new IllegalArgumentException(); } public Hoge(String str) { this.…

finalとかstaticとか

クラス内だけで使う定数ってどうするんだろう? よくある定数定義って、 public final static String HOGE="hoge"; というものだと思うけど、自らのクラス内でしか使わないものなら private final static String HOGE="hoge"; でいいのかな。 (そもそも"sta…

コンストラクタの引数指定

コンストラクタに必ずある引数を入れるようにさせようと、デフォルトのコンストラクタをprivateにして、引数つきのコンストラクタを定義。 そうすると、Singletonとは違ってprivateにされたデフォルトコンストラクタは呼び出されることはないのでeclipseが警…