JDK 7u65/8u11以降にはバイトコード検証の不具合 JDK-8051012 があり、Groovyなどの処理系に影響があるという記事を書きましたが、最近リリースされたJDK 7u72/8u25で修正されたようです。 JDK-8051012 への対応状況を以下にまとめました。○は動く、×は動かないという意味です。 7u60 ○ 7u65 × 7u67 × 7u71 × (Java™ SE Development Kit 7 Update 71 Bug Fixes) 7u72 ○ (Java™ SE Development Kit 7 Update 72 Bug Fixes) 8u5 ○ 8u11 × 8u20 × 8u25 ○ (Java™ SE Development Kit 8 Update 25 Bug Fixes) なお、×が付いているバージョンでもJVM引数に-noverif
Oracle JDK 8 & Groovy2.2をAmazon EC2(Amazon Linux AMI)にインストールする 今回は基本的な環境構築、EC2(Amazon Linux AMI)にOracle JDK 8とGroovyの最新バージョンを導入する際の実践メモです。ライセンス周りの進め方で既存エントリと若干異なる手法でのご紹介です。 目次 Amazon EC2(Linux)を起動 OpenJDKをアンインストール(1.7.0) Oracle JDKをインストール(1.8.0) Groovyをインストール(2.2.2) GroovyスクリプトをEC2サーバ上で実行 Amazon EC2(Linux)を起動 今回の検証用にEC2(Amazon Linuxベース)を1台用意します。2014年03月度版のものが最新なのでそれをチョイス。後の設定はよしなにな感じでひとまず用意します。 用意
最近、ちょっと身の回りでコマンドライン引数の処理が話題に挙がりまして、ちょっとJava系でどんなのが使えるのか調べてみました。 ちなみに、もともと話が出たのはJavaでしたが、このエントリでは加えてGroovyとScalaも書きたいと思います。 実行するコマンドのお題は、以下とします。 指定されたメッセージを、指定された回数表示するコマンドLoopEchoを実装する 「-m」オプション(ロングオプション「--message」)で表示するメッセージを指定し、必須項目とする 「-c」オプション(ロングオプション「--count」)で表示回数を指定し、任意項目とする(デフォルト値:3) Java/args4j このエントリを書く元になった仕事の上では(残念ながら自分が実装するわけではないので)、Commons CLIになったのですが、今回はこちらを使用したいと思います。 args4j : Jav
結論 Java8のOptionalは超すっきり扱えるよ、そう、Groovyならね。 Optionalって何? Java 8で導入される新規クラスの一つ、java.util.Optionalは、メソッドの実行結果で成功する場合と失敗する場合があるときに、その返り値で成功と失敗を表現するためのものです。 Opitonalは単一要素を保持するコンテナ型。成功した場合は返り値をコンテナで保持させたものを返す。(成功時の返り値をラッピングする) 「失敗」は固定のシングルトン(Optional.empty())として扱う まあ、それだけの話といえばそれだけなのですが、効果は、 失敗のある可能性のあるメソッドと無いメソッドをコメントではなくプログラムの一部として明示し、両者の違いをコーディング上も区別する 失敗のある可能性のあるメソッドと無い混在・混同することのないようにコンパイル時チェックをできるよう
Connect to any JVM Using SSH, telnet or web, you can connect to a JVM running CRaSH and execute commands. Powerful commands Monitor or use virtual machine resources: CRaSH comes out of the box with a set of commands for JMX, database access, threads, memory usage, ... Create your shell In a few lines of code, you can embed CRaSH and expose your services via a powerful command line interface. The h
なにこれ KVM開発エンジニアらが立ち上げたベンチャーCloudius、クラウド向けOS「OSv」を発表 | OSDN Magazineで紹介されていたので興味を持って弄ってみた。 KVM/Xen専用のOSで、アプリケーションとしてJavaアプリケーションが動くという事のようだ。 基本的にはJava製のWebアプリを想定しているのだろう。 ライセンスはBSDライセンス。 Ubuntuでのビルド方法 sudo apt-get install openjdk-7-jdk sudo apt-get install autotools-dev libltdl-dev libtool autoconf autopoint sudo apt-get install libboost-all-dev genromfs zfs-fuse autoconf ant git clone https://git
今日は朝早くから、西新宿でJJUG CCC 2013 Springに参加してきました。(まとめ) 久々の1日の勉強会で楽しかったです。あと都庁を間近かで見れてよかった。 ブログ書くまでが勉強会、という基本を新ためて学んだので、書きます。 基調講演-1 Javaのこれからを考える #ccc_k1 変容することが確実なこれからのシステム開発、それに耐え得る「サステイナブルSI」を考える。 途中から入りました(すみません)ので半端なメモです。 資料: http://www.slideshare.net/yusuke/java-jjug-ccc-2013-spring サービス全体がJavaだけで完結することはないが、 Javaはプラットフォーム、Javaはオープン、Javaはエコシステム、である、という特長は活きる。 Javaの未来もその変化に追随変化していく Java9(Cloud, Mult
プログラミング言語Javaに対して、Project Coinで提案されていた エルビス演算子(Elvis operator)?:についてメモ*1。Groovy 1.5では同演算子が採用されており、GroovyからJavaへのフィードバック提案となっている。 二項演算子の一種。左オペランドが非nullならば左オペランドの値を、左オペランドがnullならば右オペランドを評価して返す(短絡評価)。機能的にはC#のnull合体演算子(null-coalescing operator)??や、gccでのGNU C拡張 “条件演算子 ?: で第2項を省略” と等価。 FEATURE SUMMARY: The ?: binary "Elvis" operator results in the value of the left-hand-side if it is not null, avoiding
前回は、CassandraのThriftサンプルを意味はあまり考えずにGroovyに書き直したものでしたが、今回はちょっと意味の理解も踏まえて書いてみることにしました。 まずは、キースペースとカラムファミリの用意。 [default@unknown] create keyspace Room; 7b6e7ec9-d6ef-3d5e-9e54-53784a03e59b [default@unknown] use Room; Authenticated to keyspace: Room [default@Room] create column family Users ... with key_validation_class = 'UTF8Type' ... and comparator = 'UTF8Type' ... and default_validation_class = 'UT
Cassandraを勉強しているのはいいのですが、世の中でCassandraを使っている方々のデータアクセス方法が、CQLと普通のアクセス方法のどちらがメジャーなのか、よくわからない今日この頃です。 とりあえず、両方とも進めてみるわけですが(笑)。 というわけで、JavaクライアントからCQLを実行する簡単なプログラムを書いてみました。 いわゆる「Hello World」レベルのもののはずなのに、めっちゃ苦労しましたけど…。 なお、今回はCQL3を対象とします。 まず、cqlshでキースペースとテーブルを作成します。 cqlsh> CREATE KEYSPACE cqldemo ... WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; cqlsh> USE cqldemo; cqlsh:cqld
よく訓練されたアップル信者、都元です。前回は、Springのコードを見ながらDIについて学びました。DIを使うと、「オブジェクトの生成と初期化」という宣言的な記述に親和性の高い情報と、「オブジェクトの利用」という手続き的な記述に親和性の高い情報を分離できることが確認出来ました。 Springはbean(Springの管理下にあるインスタンス)の生成と初期化に関する情報(Configuration metadataと呼びます)をXMLで受け取ります。XMLの一例は前回示した通りですが、このConfiguration metadataは色々な記述方法があります。 p及びcネームスペースの使用によるSpringの設定 XMLの閉じタグが目障りだ、という人がいるようです。では、こんなのはいかがでしょうか。 <?xml version="1.0" encoding="UTF-8"?> <beans
前回 (id:fits:20130224) のファイル処理と同様の処理を RxJava を使って実装してみました。 今回作成したソースは http://github.com/fits/try_samples/tree/master/blog/20130310/ Groovy で実装 まずは Groovy で実装してみました。 Groovy 2.1.1 前回の C# と同様、Observable.create を使ってファイルの内容を 1行毎に PUSH する Observable を作成しています。 rxjava-groovy を使えば create や subscribe 等のメソッドに Groovy のクロージャを渡す事ができるようになります。 *1 また、ログ出力を無効化するために slf4j-nop を @Grab で指定しています。 readline_file.groovy @G
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く