こんにちは。 キャスレーコンサルティング SI(システム・インテグレーション)部の満石です。

今回は、バイトコードを操作することでEnumの挙動を変える方法を簡単な例で紹介します。

予めお断りしておきますが、バイトコードを操作してEnumを書き換えることは基本的におすすめできません。
なぜなら、ソースコードから読み解けるものとは違う挙動をさせることになり、特に保守の観点でリスクが大きいからです。

しかし、大量のコード定義用のEnumが存在しているけれど、それをリリース無しで書き換える必要があるような
特殊な条件の場合に有効な手段になることもあります。 (続きを読む…)


みなさん、こんにちは!
キャスレーコンサルティング、システムデザイン部の石井です。

はじめに

Javaで開発を行なうに当たり、様々なフレームワークを使用する機会があると思います。
私自身、今まで主にseasar2での開発経験のみのため、
他のフレームワークには、どのような特徴があるのかと疑問に思い調べ初めました。

そんな中で、特に興味を持った「Apache Wicket」(以降Wicketと表現します。)について、
実際に開発環境を作成しましたので、ご紹介します。 (続きを読む…)


こんにちは。 キャスレーコンサルティング SI(システム・インテグレーション)部の満石です。

今年の7月にJava SE 9のリリースが迫っていますが、ちょっとここでJava SE 8の新機能を思い出してみましょう。

Lambda式、Stream API、Date and Time API。

これらは、有名なので実際に使ってみたことがある人は多いと思います。

でも、インタフェースにデフォルト実装とstaticメソッドが書けるようになった、というのは忘れている人や
知っていても使い所が分からないという人は多いのではないでしょうか?

今回は、そんなインタフェースのデフォルト実装とstaticメソッドについて、コード定義Enum用インタフェースの作成を
通して実用的な例を紹介したいと思います。 (続きを読む…)


こんにちは。
キャスレーコンサルティング SI(システム・インテグレーション)部の北見です。

Java9については、来年リリースが予定されています。
Java8の新機能の中で目玉機能の一つであった、「java.util.stream」へ新しくメソッドが追加予定となっております。
今回は、新しく追加予定のメソッドについて、試してみたいと思います。 (続きを読む…)


MyBatisを使ってみよう その2

Posted on 10月 19, 2016

こんにちは。
キャスレーコンサルティングSI(システム・インテグレーション)部の西川です。

前回に引き続きMyBatisを使ってDBアクセスするプログラムをご紹介していきたいと思います。
前回の記事で構築した環境がある前提で進めてまいりますので構築手順などは前回の記事を参照くださいませ。
(前回の記事はコチラ

今回は以下のテーマでMyBatisを動かしてみたいと思います。
・Mapping機能を使用してDB検索結果をエンティティクラス(Java)の構造に沿って格納されるようにする
・自動生成されたMapperのInsert/Update/Deleteを使ってみる
・動的SQLを使って複数行のInsertができるようにする

それでは早速始めていきましょう。 (続きを読む…)


MyBatisを使ってみよう

Posted on 06月 15, 2016

こんにちは。
キャスレーコンサルティングSI(システム・インテグレーション)部の西川です。

すでに沢山の解説サイトがあるなかでいまさら・・・とか言われそうですが、
今回はJavaのO/RMapperフレームワークであるMyBatisを使ってDBにアクセスしてみたいと思います。

DB関連の学習ってテーブル用意して・・・データ用意して・・・といった若干面倒な準備が必要なので
既存のDBなどを使って簡単に動かす方法ないかなと思ったことはありませんか?

既にMyBatisの使い方を解説されているサイトはたくさんありますが、
今回は以下のテーマでMyBatisを動かしてみたいと思います。

  • MyBatisが動くEclipseプロジェクトを時間をかけずに作る
  • サンプルや既存のDB環境をそのまま流用する

MyBatisの真価はマッピング機能や動的SQL、SpringFrameworkなどといったDIコンテナとの連携で発揮される
とは思いますが、まずは入門編ということでご了承ください。 (続きを読む…)


jOOXでjQueryライクにXML操作

Posted on 04月 20, 2016

こんにちは、キャスレーコンサルティングのSD(システム・デザイン)部ヤマナです。

今回はjOOXというjavaのライブラリを紹介させて頂きます。
jQueryライクなAPIでXMLの読取り/書込みが可能です。

今回は以下の操作についてjOOXのサンプルソースをご紹介します。

  • ファイル読取
  • Webからの読取
  • ゼロから作成
  • 既存XMLの変更

ファイル読取

まずは読取りの例から。

(続きを読む…)


[JavaFX] FXMLの使い方

Posted on 11月 25, 2015

こんにちは。SI部の吉原です。

以前、Swingに取って代わりJAVA標準GUIとなったJavaFX 2.0について記事を書きました。
前回はSwingとJavaFXの違いを見るために、JavaFXプログラミングによる画面描画の記事でしたので
今回はJavaFXの一番の目玉とも言えるFXMLについて書こうと思います。

FXMLとは

まず始めにFXMLについて簡単に説明します。
FXMLはJavaFXに用意されているXMLベースのGUI記述言語です。
「言語」と言っても、XMLベースのマークアップ言語ですので、Javaコードより記述は非常に簡単で分かり易くなっています。

利用するコンテナやコントロールの内容をXMLベースで記述するだけでGUIがデザインでき、
FXMLで定義した情報をJava側にて読み込むコードを記述するだけで画面描画が可能となります。
要するにプログラム内でシーン(Scene)グラフを構築するのではなく、FXMLファイル内で構築できるのです。

FXMLを使用すれば、あらゆるユーザー・インタフェースを作成できますが、FXMLは、大規模で複雑なシーン・グラフ、フォーム、データ・エントリまたは複雑なアニメーションが備わったユーザー・インタフェースを作成する際に特に役立ちます。
また、FXMLにスクリプトを含めることで動的なレイアウト作成も可能となっているのです。 (続きを読む…)


前回、Java8のラムダ式について記事(【初心者向け】今更聞けない?Java8のラムダ式について知ろう!
を書きました金巻です。
今回も引き続きJava8の新機能についてご紹介したいと思います。

Java 8では新たに導入される機能で特に注目を浴びている「Stream API」というものがあります。
こちらについて今回はご紹介いたします。

Stream APIについて

Stream APIはJava8で導入された機能の中で特に注目されている機能で、配列やCollectionなどの集合体を扱う為のもので、値の集計やデータを使った処理などが出来る便利なAPIです。

Streamの種類としては幾つかのインタフェースが用意されています。
よく使われるものとしては以下のものがあります。

インタフェース 概要
Stream<t> 要素がTのインスタンスのStream
IntStream 要素がintの値のStream
LongStream 要素がlongの値のStream
DoubleStream 要素がdoubleの値のStream

プリミティブ型にはそれに応じたStreamインタフェースが用意されています。
JavaはStringをプリミティブ型ではないとしているのでStringStreamはありません。

昔はAとBの処理を同時に実行するには2台のPCにそれぞれの処理を振り分けて実行することで
時間の短縮をしていました。これは分散処理と言われています。
これは1つのPCに1つのCPUしかなかったからでした。 (続きを読む…)


こんにちは、キャスレーコンサルティングSI部の清水です。

プロジェクト内に一人ぐらいは物凄いコーディングが早い方がいるものですが、そのような方は決まってショートカットキーの達人だったりします。
今回はすでにご存じのものが多いかもしれませんが、私が独断でEclipseで使えると思うショートカットを10個挙げてみました。
ショートカットキーはおぼえるというより、身に浸み込ますようなものです。
日ごろから積極的に使用し、ショートカットキーマスターを目指しましょう。

補完機能を利用する [Ctrl + Space]

変数名やメソッド名、クラス名等を途中まで入力し「Ctrl + space」を押すと、それ以降のキーワードを検索しを補完してくれます。

(続きを読む…)



  • Profile
    キャスレーコンサルティングの技術ブログです。
    当社エンジニアが技術面でのTips、技術系イベント等についてご紹介いたします。
  • CSV社長ブログ
  • チーム・キャスレーブログ