月別アーカイブ: 5月 2013

javaのオブジェクト型(Integer)を==比較すると危険!

java

javaにはオブジェクト型とプリミティブ型の変数があります。
オブジェクト型で==を使うと予期せぬ動きをする場合があります。

数値を比較する場合は、プリミティブ型は==を使って、
オブジェクト型はequalsを使うようにしましょう。

今回はどのような落とし穴があるのかについて紹介します。
続きを読む

Ajaxのjsonp・callbackの仕組みについて解説します。

ajax

こんにちわ!Ajaxを始めて最初にぶつかる壁は、jsonとjsonpの理解ではないでしょうか?

Ajaxで外部APIを実行したい場合は、とりあえずjsonpを使えば動きます。しかし何故動くのかについては、jsonpのcallbackについて正しい理解が無いと、AjaxとAPIの連携の仕組みまでは分かりません。
今回はjsonpcallbackについて紹介します。
続きを読む

javaでHTMLタグをサニタイジングしてみる

java

XSSなどの攻撃を防ぐ方法として、HTMLタグの無害化(サニタイジング)があります。

javaのサニタイジング事情ですが、最近のjavaフレームワークでは、サニタイジングを自動でしてくれるものもあります。
フレームワークで制御されていたら、ついつい自分で考えることがなくなります。
今回は自前でサニタイジングする方法を紹介します。
続きを読む

springのDB接続方法を解説

spring

KVSが流行っている昨今でもWebアプリとDBは切っても切れない縁ですね。今回はspringのDB接続方法を紹介します。

仕事でspringを使っている方も多いと思います。
スクラッチ(新規)でspringフレームワークを使って構築せずに、会社で用意されたプロジェクトを使って開発していると、どうしてもDB接続部分などのコアな部分が疎遠になりがちです。
いざスクラッチ(新規)で構築しようと思ったら・・・あれ?なんてことにも。。

今回は、springフレームワークのDB(MySQL)接続のみを解説します。
今からspringフレームワークを使ってプロジェクト構築を予定している方は是非参考にしていただけると幸いです。
続きを読む

タイムゾーン(GMT/JST)を指定して時刻を取得する方法

java

日本とアメリカではどれくらい時差があるのでしょうか。
日本の時刻は、JST(世界標準+9時間)です。
アメリカ(太平洋標準時)の時刻は、PST(世界標準-7時間)です。

日本とアメリカの時差は16時間となります。
今回は、他国の時刻を取得する方法(タイムゾーンを指定して時刻を取得する方法)を紹介していきます。
続きを読む

実は怖いjavaリフレクションの話

java

javaリフレクションとは何か

前にクラス内のメンバ変数名を全て取得する方法を紹介しました。
こちらで紹介した方法もjavaリフレクションを使っています

javaリフレクションは非常に便利です。
しかし、javaクラス設計の思想に反することも出来るという怖い一面もあります。
今回は、怖い一面にフォーカスしていきます。
続きを読む