Java

sessionを有効にするとspin-upは遅くなるか?

計測していなかったので改めて計測してみました。 尚、ここで「有効にする」というのは、appengine-web.xmlのsessions-enabledをtrueにする事を指し、最初のリクエストでsessionのAPIを触らないケースを想定しています(Sessionを使用すれば当然影響はありま…

dev_appserverを外部プロセスとして起動する方法と殺す方法

Kotanの実行環境としては3パターンを想定しています。 - プロダクション環境(Java Web Startで実行) - ローカルサーバ環境(Java Web StartまたはJavaアプリケーション) - 組込AppEngine環境(Javaアプリケーション) どれも、サーバとはHttpでデータを…

Datastoreのデータを表示・編集したい

GoogleAppEngineで開発をしている時にDatastoreのデータを直接扱いたい場合、管理コンソールを使えばだいたいの事は可能です。ですが、Keyの編集やBlobデータのアップロードなど細かい事は出来ませんし、ウェブのインターフェイス故に限界もあります。また、…

単体テストで ImagesService#applyTransform を使う方法

slim3ではGAEの環境に依存するような単体テストもかなり簡単に行う事ができます。例えば、Bigtableへのアクセスはテストの実行毎にリセットされる、グローバルトランザクションに対応など至れりつくせりです。ところが、画像を加工してサムネイルを作る時な…

メソッドの型パラメータを指定する時によく忘れること

thisをよく忘れるのでメモ。 private <T> T foo() { // なんか処理 return (T) obj; } 変数に代入するような場合は、型推論が効くので簡単。 String str = foo(); Date date = foo(); これをメソッドでつなげたりするとウマく推論できなくなる。 // コンパイル</t>…

Genericsの話 ー 問題編 ー

最近は色々と忙しくブログを書く時間がないです。だいぶ空いてしまいました。 さて、とりあえずネタを投下だけして調査は後日・・・なわけですが、以下のコードがコンパイル通りません。 public class Test { public static interface If<E> { } public static<K extends If<V>,</k></e>…

JavaFesta2009参加

来場者は300人くらいですかね。盛況のようですが、金曜日となると会社が認めてくれないと参加できないので悲しい思いをしている人も多数。 軽く参加したセッションの内容と感想です。

札幌Javaコミュニティ第14回勉強会

札幌Javaコミュニティの勉強会も去年の9月からはじめた為、ちょうど1年になりました。12回よりも開催が多いわけで月に1回以上のペースで開催しています。色々と問題もありますが、なにはともあれ継続した開催をするという事は達成できたわけで、今後も続…

Java並行処理プログラミングの復刊交渉が開始されたようです

何度かプッシュしている良書「Java並行処理プログラミング」ですが、復刊のリクエストが200票を超えた事もあり、復刊の交渉が開始された模様です。交渉材料にもなると思いますので、投票をしていない方は是非、1票お願いします。 「Java並行処理プログラミン…

WEB DB PRESS vol52

ちょいと遅れて入手、まあ北海道だから仕方なし。 今号は良いコードを書く為のJavaの習慣とvimの記事がメインで、とりあえずJavaの方を読んだので感想とツッコミ。 結論から言えば、「新人さんに贈る」と表紙で煽ってますが「文法レベルの理解から先に進みた…

finalをつけたらパフォーマンスが落ちたでござるの巻

山岳信仰の盛んだった日本では山奥の開発現場など、まだまだfinal信仰が盛んなわけですが、先ほどのコードにfinalを付けてみました。 public static void main(String[] args) { final int NUM = 31; long start = System.currentTimeMillis(); for (int i =…

Java5とJava6のパフォーマンス

前々から言われていることですが、Java6はJava5に比べて爆速なわけです。 札幌Javaコミュニティの勉強会でEffective Javaを使っているんですが、検証で少し調べていたら思った以上の数字が出たのでメモ。 検証に試用したコードはこれだけです。 public stati…

HttpComponents - Client の使い方メモ

昔はCommons http clientとか言われてましたが、HttpComponentsという形でCommonsから独立し、サーバ作ったりとかClient以外のことも色々できるようになったライブラリです。 http://hc.apache.org/

Androidで学ぶ並列処理とGUI

Docomo製Android端末の発売日が発表されました。来月の札幌JavaコミュニティもAndroidイベントということもあり、チュートリアルを作成したりしています。ちょっとスレッド周りではまった事もあり、簡単な時計アプリケーションの作り方から、Androidのスレッ…

OSC北海道と札幌Javaコミュニティ勉強会のお知らせ

北海道には梅雨がないと言われますがこの時期には雨が多く気圧は低い蝦夷梅雨という時期です。それでも他の地域に比べれば湿度がないため、ずっと過ごしやすいのですが。そんな蝦夷梅雨も終わりに近づき、本日は晴天で心地よい風も吹く北海道だなぁという日…

S4パフォーマンス向上作戦

最低限の実装は行ったので次はパフォーマンスを実用レベルにするが目標です。今日はパフォーマンスを上げるために幾つかテストしてみたのでそれを書いてみようと思います。 パフォーマンスアップの方針としては、画像を分割して変更のあったパーツのみを配信…

スクリーンショットのストリーミング

最近は勉強会ブームでustを使ったストリーミング配信もよく行われています。ところが、ustの問題点として細かい文字が壊滅的に読めずスライド等はともかくコーディングのデモを見せることは困難です。コーディングのデモを配信しようとしたならば、800x600以…

NetBeansによるMaven2チュートリアル

ソフトウェア開発ではビルド、テスト、アーカイブの作成、ドキュメントの生成、デプロイなど様々な繰り返して行う作業が存在します。それらの作業の1つ1つは単純かも知れません。ですが、作業の順番を間違えたり、一部の作業をミスしたりすると大きな損失…

java-ja札幌できました!?

土曜日の件ですがjava-jaの勉強会(第2回TDD会)をustでみていました。 ペアプロ+TDDで実際にプログラミングすることがメインと聞いていたのでustではあまり期待はしていなかったのですが、観てみるとt_wada氏のセッションが予想以上に長くて非常に楽しめま…

NetBeansによるテキスト入力処理

第3回目のエントリーではSwingを使ったGUIアプリケーションにボタンを追加してラベルの内容を変える事を学びました。NetBeansでは、ラベルの情報はプロパティとして管理され、ボタンへのアクションはダブルクリックで追加できたのです。あまりプログラムを…

「write once, run everywhere」という幻想

ただ、ちょっと引っかかったのは、僕たちは、「write once, run everywhere」に到達したのかという点です。僕自身は、まだ、この言葉が意味しているところに到達していないと思っています。また、実は、「write once, run everywhere」は、目指すべき方向で…

NetBeansで作るボタンの処理

NetBeansを使ったJava入門の3回目です。 昨日のエントリーでは、NetBeansを使って簡単なGUIアプリケーションを作成してみました。とはいえ、メッセージを表示するウィンドウを表示しただけでイマイチ面白味に欠けます。今回はボタンを使って少しだけ動きを…

NetBeansではじめてのGUIアプリケーション

NetBeansを使って学ぶちょっと視点の違うJava入門の第2回です。前回のエントリーでは、NetBeansのインストールと簡単なプログラムを作成してみました。これはいわゆるHello Worldプログラムと呼ばれる、どんなプログラミング言語でも最初に学ぶ儀式のような…

static変数の同期化しての利用

SimpleDateFormat をメソッド内で毎回生成するのと static 変数として同期化して利用するのはどちらが早いのか。 http://d.hatena.ne.jp/r_ikeda/20090529/threadlocal というエントリーがあったので自分も試してみました。

静的ファイルはTomcatに処理させない

TeedaなどJavaEEでウェブアプリを構築する場合、バックエンドのTomcatやGlassfishにApacheから転送すると思います。しかし、CSSなど静的なファイルまでTomcatに処理させるのはムダなので、これらはApacheで処理を終わらせるような設定を行いましょう。 Proxy…

Dwの中にJVMというディレクトリがあるんだが・・・

C:\Program Files\Adobe\Adobe Dreamweaver CS4\JVM\bin>java.exe -version java version "1.3.1_02" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02) Java HotSpot(TM) Client VM (build 1.3.1_02-b02, mixed mode) 1.3・・・だと…

札幌Javaコミュニティ第10回勉強会のお知らせ

6月20日(土)にオープンソースカンファレンスが札幌で開催されます。札幌Javaコミュニティとしてはコミュニティの基盤が脆弱なところもあり、今回のオープンソースカンファレンスで何かを行う予定はありません。 このオープンソースカンファレンスでは櫻…

NetBeansではじめてのJavaプログラム

近々、主にウェブ制作者方面を対象としてプログラミング入門的な勉強会も開催しようかなと企んでいる事もあり、全くのプログラミング経験のない人向けにNetBeansを使ったプログラミング入門記事を書いてみようと思います。そんな前提なので、一般的な入門記…

札幌Javaコミュニティ第9回勉強会

月1のJava勉強会でした。午前中はNetBeansを使ったSwingの話、午後はEffective Javaの読書会です。 参加者は合計で10名!このくらいで安定して開催していければいいですね。

Java開発者の読むDjangoの設計思想

Djangoのサイトには「Djangoの設計思想」というドキュメントがあります。どんなフレームワークでもそうですが、設計思想を理解し、その流れをつかむ事で正しい利用への最短ルートです。もし、自分の思想にあわないならば問題です。可能であれば、そのフレー…