エンタープライズギークス (Enterprise Geeks)

企業システムの企画・開発に携わる技術者集団のブログです。開発言語やフレームワークなどアプリケーション開発に関する各種情報を発信しています。ウルシステムズのエンジニア有志が運営しています。

2014-04-01から1ヶ月間の記事一覧

Java8 Stream APIの基本(3) - ストリーム生成

ストリームの生成方法についてまとめる。 ストリームを作成するAPIはコレクションなどの既存のクラスのいくつかに追加されており、Streamのstaticメソッドにもストリームを生成する手段が提供されている。 また、Streamの要素走査の中心的な役割である Split…

Struts1の脆弱性問題の対処方法

Apache Struts 1の脆弱性問題の対処方法を紹介する。 この問題は、4月24日に株式会社ラックによって以下のように報告された。 http://www.lac.co.jp/security/alert/2014/04/24_alert_01.html ServletFilterによる対処では、multipart/form-dataに対応できな…

Functionインタフェースに定義されている関数の合成を試してみた

Java8のFunctionインターフェースに提供されている関数の合成を試してみた。提供されている関数はcomposeとandThenの2つである。 関数の合成の処理はとても簡単だ。Java8のFunctionインターフェースの実装を見ると、処理はたった2行で実装されている。nullチ…

GWTの拡張(1) - ウェイティングパネル

GWT

GWT(Google Web Toolkit)でWaitingPanel(ウエイティングパネル)を作成する方法を紹介する。 GWTは、サーバ通信にGWT-RPC(GWTリモート・プロシージャ・コール)を使用している。GWT-RPCではAjaxを利用して非同期通信を行うため、リクエストをサーバへ送信…

Java8 Stream APIの基本(2) - 中間操作の種類と並列処理、副作用

Java 8 Stream API の中間操作の種類・並列処理・それらの注意点についてまとめておく。 プリミティブ型のStream 中間操作のメソッドを見ると、mapの他に、mapToInt,mapToLong, mapToDoubleのような、プリミティブ型への変換を行うメソッドがある。 また、 S…

Java8 Stream APIを使ったピタゴラス数生成処理

先日の記事では、Stream APIの基本的な仕組みを書いた。今回はサンプルコードとして、ピタゴラス数を生成する処理をStreamで書いてみる。 ピタゴラス数とは、三平方の定理でおなじみの a * a + b * b = c * c を満たす自然数の組のことだ。 最初のピタゴラス…

ラムダ式のオブジェクトは再利用される場合がある

Java8で導入されたlambda。このlambdaのオブジェクトがどの単位でインスタンス化されるかが気になったので試してみた。 というのも、lambdaのオブジェクト生成はJavaVM側の制御に任されているため、どのような単位でオブジェクトが生成されるのか純粋に興味…

Java8 Stream APIの基本(1) - 代表的な中間操作

Java8で新たに提供されたStream APIの基本をまとめておく。 (今回は並列処理機能については割愛する。) 概要 Stream API はJava8から追加されたAPIであり、高機能な繰り返し処理を記述できる。同じくJava8から追加されたラムダ式の使用を前提としている。 …

Java8関連のリンク

Java8関連のリンクを整理してみる。[まとまった情報がある公式サイト]http://docs.oracle.com/javase/8/[What's New in JDK 8]http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html[Java8チュートリアル]http://docs.oracle.com/javase/…