kagamihogeの日記

kagamihogeの日記です。

2013-01-01から1年間の記事一覧

JPAからフェッチサイズを変更したかった

JPAだけで完結するのはさすがにムリがあったのでこういうタイトルにした。が、JPAプロバイダ固有のAPIのレベルではフェッチサイズを変更する効果を確認できた。JDBCのsetFetchSize変更時の動きをstatspackで見てみる - kagamihogeの日記ではJDBCを直接使用し…

JPAからJDBCのバッチ更新を使う

JDBCのaddBatchとexecuteBatchの頻度変更時の動きをstatspackで見てみる - kagamihogeの日記は、JDBCを直接使用していた。が、JPAから同じことをするにはどういう設定などをすればよいのか。それをやってみて、ついでに実行速度の違いも計測する。実際には、…

はてなダイアリーからはてなブログへ移行した

とまぁそういうわけで、はてなダイアリーからはてなブログへ移行することにした。なので、インポートの手順を残しておく。 やったこと まず、新しいブログを作成する。インポートは、作成済みのはてなブログと移行元のはてなダイアリーを選択することで行う…

はてな エンジニアブロガー祭り に行ってきた

「はてな エンジニアブロガー祭り」を12月14日に開催! 豪華ゲストスピーカーが登壇します(ピザとビールもお楽しみに) - Hatena Developer Blogに行ってきました。twitterのハッシュタグは Twitter / Search - #エンジニアブロガー祭り とか。エンジニアブ…

JDBCのaddBatchとexecuteBatchの頻度変更時の動きをstatspackで見てみる

JDBCのsetFetchSize変更時の動きをstatspackで見てみる - kagamihogeのblogに引き続いてstatspackの学習を続ける。昔書いたJDBC経由で100万件取得・追加してみた - kagamihogeのblogでは、JDBCのjava.sql.Statement#addBatch(String sql)とjava.sql.Prepared…

JDBCのsetFetchSize変更時の動きをstatspackで見てみる

昔書いたJDBC経由で100万件取得・追加してみた - kagamihogeのblogでは、JDBCのjava.sql.Statement#setFetchSize(int rows)を変更するとSELECT文の実行速度が改善できる可能性があることを調べた。ここでは、なぜ速度が改善されるかを考える。やることとして…

Java Advent Calendar 2013 5日目 - Java 8 Stream APIを学ぶ

Java Advent Calendar 2013 5日目向けのエントリーです。前日は日本人のためのDate and Time API Tips - Programming Studioこの企画は、クリスマスとかいうリア充爆破祭を迎えるにあたりJava等技術ネタでブログなどでエントリーを書くことで高まっていこう…

JJUG ナイトセミナ 「Java EE 特集」に行ってきた

JJUG ナイトセミナ 「Java EE 特集」 - 日本Javaユーザーグループ | Doorkeeper で聞いてきたことのメモとか、感想とかです。 なお、アノテーションやプロダクトが正確な名称になってないところもありますが、推敲がめんどくなったんでそのままにしてあり、…

CSVファイルを元にUPDATEする

下記のように主キーと値からなるテーブルがあるとする。 ID VALUE 1 value1 2 value2 3 value3 上記のテーブルを、下記のようなCSVファイルを入力として更新していくプログラムを考える。 1,update_value1 2,update_value2 3,update_value3 環境 DB CentOS-6…

Java SE 8: Lambda Quick Startを適当に訳した

Java SE 8: Lambda Quick StartJDK 8のLambda式勉強する素材なんか無いもんかね、と適当に検索したらコレがひっかかった。なのでテキトーに訳してみた。 Overview 目的 このチュートリアルは、Java Platform Standard Edition 8 (Java SE 8)に含まれる新機能…

EclipseでSQL発行するEclipse Data Source ExplorerとSQL Scrapbook

EclipseからSQL発行できるViewが存在している。SQL Developerとか使っちゃうんでほとんど使うことないんだけどメモ書き程度に使い方を書いておく。 環境 DB CentOS-6.4-x86_64 Oracle Database Express Edition 11g Release 2 Java Java SE Development Kit …

JDK 8のLambdaをEclipseで学ぶ

そろそろJDK 8のLambdaをちょっとは勉強しなくてはと思いつつ、Eclipseとかが無いと何も出来ない程度には惰弱なJavaプログラマ勢なので、環境を作って勉強できるように試みた。 やること Trying Out Lambda Expressions in the Eclipse IDEという「Eclipse I…

ループでinsertよりinsert selectが早い理由をstatspackで見てみる

ループでinsertを回数分だけ発行するより、insert into ... select ... の方が早い。後者はselect出来るものしか使えないので、比較対象としてはちょっと違うかもしれないけれども。逆に言えばselect出来るようにしてしまえばいいので、例えばファイル取り込…

statspack練習にコミット間隔有無で比較

statspackさわる - kagamihogeの日記でstatspackを自分の環境で手軽に試せるようになった。なので、練習がてら分かりやすくハッキリと差が出るレポートを取得して眺めてみる。やることは、10万回insertを実行するJavaのプログラムを2種類用意する。1つは、1…

Oracle SQL Developer 4.0 EA3のインストールにハマッた

SQL Developer 4.0 Downloads でOracle SQL Developer 4.0 EA3がダウンロード可能になっている。前バージョンの時(Oracle SQL Developer 4.0のインストールとややハマッた時のメモ - kagamihogeの日記)と同じくハマったので対応方法を残しておく。 環境 Wi…

OracleのPIVOTによる行列変換

PivotとUnPivotはOracle11gR1の新機能で、select文での行列変換を容易に行うことができます。 図でイメージするOracle DatabaseのSQL全集 第8回 PivotとUnPivot より抜粋 環境 Oracle Database Express Edition 11g Release 2をCentOS 6.4 x86_64上で動作 Or…

GlassFish 3 + Arquillian

Arquillian · Write Real TestsGlassFish 3でArquillianを動かす。Arquillianを使用したJUnitで、CDIでEJB入れてJPAでアクセスするのが動くところまでやる。Arquillianの動作モードは、embeded,remote,manageの三種類がある。embededがお手軽なんだけど、こ…

リモートのlinuxでjvisualvm実行してローカルのwindowsで操作する

別にjvisualvm限定というわけではないのだけど、たまたま自分のニーズがそれだっただけです。何がしたいかは下記とかを参照。 (省略)遠隔地にあるUNIX/Linuxマシン上でXクライアント(=アプリケーション)を動作させ、その結果を手元にあるWindowsマシン…

Oracleのクラスタを範囲スキャン代わりにする

Oracleのクラスタさわってみる - kagamihogeのblogの続き。Oracleのクラスタの使用例で良く見かけるのは、2つ以上のテーブルを結びつける多重クラスタが多い。ただし、別に1つのクラスタに1つのクラスタ化表しか入れなくても問題は無い。このとき受けられる…

Oracleのクラスタさわってみる

Oracle Database管理者ガイド11g リリース2 (11.2) - クラスタの概要クラスタとは、joinするデータをあらかじめ連続した領域に置いておくことでディスクI/Oを減らしjoinの高速化を図れる、というもの。クラスタリングとかと概念は似てるけど、機能的には別モ…

GlassFish 4でArquillianうごかす

環境 Java SE Development Kit 7u40 Eclipse Kepler(4.3.1) SR1 IDE for Java EE Developers GlassFish Server Open Source Edition 4.0 GlassFish Tools for Kepler やったこと Mavenプロジェクトの作成 archetypeでwebapp-javaee7を選んでプロジェクトを作…

GlassFish 4のWebSocket + html5 canvasで共有ホワイトボード

引き続きGlassFish 4で遊ぶため、WebSocketでお絵かきチャット的なアレを作る。 環境 Java SE Development Kit 7u40 Eclipse Kepler(4.3.1) SR1 IDE for Java EE Developers GlassFish Server Open Source Edition 4.0 GlassFish Tools for Kepler やったこ…

GlassFish4でOracle11gXEのJDBC接続をつくる

GlassFishの管理コンソールを使用してOracleデータベースへの接続をつくりJPAで接続テスする。 環境 Java SE Development Kit 7u40 Eclipse Kepler(4.3.1) SR1 IDE for Java EE Developers GlassFish Server Open Source Edition 4.0 GlassFish Tools for Ke…

GlassFish 4さわる

EclipseからGlassFishを起動して、ServletとEJBが動くとこまでやる。 環境 Java SE Development Kit 7u40 Eclipse Kepler(4.3.1) SR1 IDE for Java EE Developers GlassFish Server Open Source Edition 4.0 GlassFish Tools for Kepler やったこと Eclipse…

Oracle SQL Developer 4.0の新機能

SQL Developer 4.0 New Featuresというわけで、上記のNew Featuresをテキトーに日本語訳&試せる機能については試す。下記の、引用ブロックの上半分はSQL Developer 4.0 New Featuresをそのまま引用したもの。下半分は俺による非公式日本語訳です。おかしな…

WildFly 8でWicket 6を動かしてCDIした

Apache Wicket - Welcome to Apache WicketとりあえずWicket良く知らないので新しめバージョンの6でも動かしてみるか、という気分になった。あと、トップページにCDIうんぬんとありjavaeeとの連携もカンタンに出来るんですかね? ということでそっちもやって…

WildFly 8.0.0.Alpha4でOracle 11g XEのデータソースを追加する

管理コンソールを使用してデータソースの定義を行う手順。 環境 Java SE Development Kit 7u40 Eclipse Kepler(4.3) IDE for Java EE Developers JBoss AS Tools(Kepler) 4.1.0.Final WildFly 8.0.0.Alpha4 Oracle Database Express Edition 11g Release 2を…

Oracle SQL Developer 4.0のインストールとややハマッた時のメモ

Oracle SQL DeveloperでSQL Developer 4.0 Early Adopter 2 is now available.というわけで、Oracle SQL Developer 4.0がダウンロード可能になっている。新機能はSQL Developer 4.0 New Featuresのような感じ。それらを試したいところだが、インストールに若…

statspackさわる

とりあえず、stats$ナントカ表とかTop 5 Timed Eventsとかのレポートを見れるようになるところまで。なお、STATSPACK 設定手順 を見ながらやりました。 環境 Oracle Database Express Edition 11g Release 2をCentOS 6.4 x86_64上で動作 手順 インストール S…

SELECTをアスタリスクと列指定したときの速度差

SQLアンチパターン18章 インプリシットカラム(暗黙の列)では、SELECT,INSERT,UPDATEするときは、*(アスタリスク)を使わず、必要な列のみを列挙したほうが良い、といったことが書かれている。その理由については色々書かれているが、このエントリでは実行…