2018/7/1 重要なお知らせ JSONIC はリポジトリを GitHub に移動させるとともに、今後機能強化が行われることがないメンテナンスモードに移行します。Java 新バージョンで動作できなくなった場合への対応は要望があれば考えますが、可能であれば、機能、パフォーマンス共に優れた jackson への移行をおすすめいたします。 JSONICとは JSONICは、Java用のシンプルかつ高機能なJSONエンコーダー/デコーダーライブラリです。 Java用のJSONライブラリはすでに多数存在しますが、JSONICはRFC 7159に従った正式なJSON形式でのデコード/エンコードを行いながらも、プログラミング言語に依存する情報をJSON内に含めることなくPOJO(Plain Old Java Object)と自然な変換を行える点に特徴があります。 使い方も非常に簡単です。 import
Welcome to Eastwood Charts! Eastwood Charts is an independent and open source implementation of the Google Chart API. Eastwood Charts implements most of the features from Google Charts, and adds a few of its own (such as trendline overlay, 3D effects for bar charts, and optional(!) deployment via applets). Eastwood Charts uses JFreeChart to render the charts, and is aimed at web developers that wa
JavaやCなど構造化プログラミングやオブジェクト指向などは、if文や case文(switch文)は値を持ちません。関数型言語ではそれ自体が値を持ち、なれるとこれが結構便利です。 Javaでもif式は3項演算子で同じようなことができますが、case式っぽいことも書けるのに気がつきました。 3項演算子を並べただけですが、case式っぽく見えます。 class CaseExpPpoku { public static void main(String[] args) { char nengou = args[0].charAt(0); System.out.println( nengou == 'H' ? "平成": nengou == 'S' ? "昭和": nengou == 'T' ? "大正": nengou == 'M' ? "明治": "??"); } } C:>java Cas
S2Flex2 を使用してJava側(サーバー側)で圧縮しFlex2側(クライアント側)で 展開する方法です データはプレインテキストで数メガバイトだと仮定します データはプレインテキストで内部に改ページコードが存在すると仮定します 1)サーバーからクライアントへ返却されるDTOにByteArray型の変数を定義 Flex2側 import flash.utils.ByteArray; [RemoteClass(alias="....dto.ResponseDto")] public class ResponseDto { public var pages:ByteArray; } Java側 import org.seasar.flex2.core.format.amf3.type.ByteArray; public class ResponseDto { private ByteA
OVal is an extensible object validation framework for Java 5 or later. Annotations (@NotNull) or XML configuration files can be used to express class constraints. OVal can optionally use AspectJ to enforce automatic validation (DbC) How to use: https://sebthom.github.io/oval/USERGUIDE.html OVal releases are available via the the Bintray JCenter Maven repository https://bintray.com/bintray/jcenter?
これは便利そうなAppenderである。 よく使うApeenderは ・RollingFileAppdender ・DailyRollingFileAppdender の2つである。 RollingFileAppdenderは指定サイズを越えたらローテートしてくれて、バックアップを指定数だけ持ってくれるから、10MByteのログを5世代管理でログ出力しようとかって使える DailyRollingFileAppdenderは指定時間毎にローテートが可能。月、時間、午前・午後、分毎といった感じでローテートが可能。 でも、こいつの問題はファイル数の指定ができないから、ログを出し続けるとディスク容量が凄い事になってしまいます。 そこで、便利なのがExternallyRolledFileAppdender これはRollingFileAppenderのサブクラスになるのだが、外部から信号を送る事でそ
Firefoxを中心としたコンピューティングライフを送っているユーザならば、可能な限りその他の作業もブラウザ上だけで済ませたいところだろう。実際そうした要望をかなえるための機能拡張としては、ブックマーク管理用のdel.icio.us、IRCチャット用のChatzilla、RSSフィードリーダ用のSageなどが存在している。そしてJabberインスタントメッセージ(IM)のユーザであれば、SamePlace機能拡張を利用すればいい。このIMクライアントにはJabber用の基本機能はもとより、その他各種の便利な独自機能が装備されているのである。 SamePlaceをインストールするには、ダウンロードページにアクセスして各自の必要とするバージョンのSamePlace Suiteインストール用リンクをクリックするだけだが、その後はブラウザを再起動する必要がある。SamePlace機能拡張を使用する
Java2 SE 5.0から、基本型とラップクラスの相互変換を自動的にやってくれるようになりました。 つまり Integer a = 5; System.out.println(a * 10); などとすると Integer a = Integer.valueOf(5); System.out.println(a.intValue() * 10); のように変換してくれます。 そうすると、通常ラップクラスを使う場面は、ジェネリクスでの型指定とObjectへのキャストだけになります。 ところで Integer a = 5; Integer b = 5; System.out.println(a == b); はどうなるかというと、これはtrueになります。 ところが Integer a = 130; Integer b = 130; System.out.println(a == b); の
最近スケーラビリティが花盛りですね。 一昔前からLAMPによるアーキテクチャが基本セットで展開されていました。大企業的思想では、「そんなおもちゃみたいなセットでミッションクリティカルは乗り越えられないのだ!」とか言われ、一部では無視すらされてきたわけですが、最近になってやっと先人のノウハウが少しずつ世に出てきて、古い世代の人達も「そんなに安くてスケールさせながら使えると言うのなら…」と重い腰を上げ始めました。 ミッションクリティカルをLAMPスタックだけで網羅的にやるのはさすがに用途が違いすぎてチャレンジになってしまいますが、その中でもアクセスの膨大な大規模サイトを安定的に動かす…といった要件には有効で、ニーズもあることがやっと理解されてきたように思います。 最近ではmixiや、Livedoorの中の人が何かの講演会や雑誌でノウハウの発表をしていたり、Flickrの中の人も"Buildin
metaas : Java library for manipulating ActionScript source code Aboutmetaas provides Java applications with a 'Document Object Model' for ActionScript 3 code. Its primary function is generating code, but it allows existing .as source files to be loaded, and simple modifications to be made. Note, metaas does not actually generate Flash movies or ActionScript bytecode. You will still need the Flash
自社の社員だったら、教育すればいいだけなんだけど、他社の人だったらきっついわーって人。大規模プロジェクトでかき集められた人員がこんなんだったらげんなりします。 javac でコンパイルできない IDE に頼りすぎ。いざというときに使い物にならない。こういう人は「そもそも論」がなってないことが多い。 IDE を知らない 上の逆。テキストエディタでこつこつ作る。そのほうがいいものができると確信してやってるわけでもないやつが多い。そういうやつはもちろん生産性が低い。 Entity クラスでもないのに public フィールドを使う カプセル化がわかってないことが多い。Entity クラスだけに限定して public フィールドを使ってたりするのは確信犯(?)だったりするので、別にいいけど。 static メソッドと static フィールドがやたら多い そもそも OOP がわかってないことが多い
先週はNew I/Oを紹介しました。今週からは実際に使ってみましょう。 ここで使用するサンプルは「ファイルのコピー」を行います。ストリームを使用したものが1種類とNew I/Oを使用したものが3種類,合計4種類のサンプルになります。 サンプルのダウンロードfilecopy.zip filecopy.zipにはソースコードとJDK 5.0 update 6でコンパイルしたクラスファイルが含まれています。 使い方はすべて同一で,引数にコピー元のファイルとコピー先のファイルを指定します。例えば,ストリーム版サンプルでsource.txtをdestination.txtにコピーする場合は次のようになります いろいろなサイズのファイルをコピーしてみると,コピー速度の違いを感覚的に理解できるはずです。 とはいうものの,どの程度違うか具体的な数字がないとわからないですね。そこで,テストを行うためのCop
今月で今やってる仕事の契約が切れるので,ここで培ったノウハウなどをメモしておこうと思う。 しかし,今後この手の開発系の仕事ができるとは限らないってのが悲しいところ。 プロジェクトポータルまわり とりあえず,Subversion(SCM), Trac(ITS/Wiki), Hudson(CI)は必須。この3セットがないプロジェクトなんてうんこ。 とにかくTrac-Subversionの連携が強力なので,Subversion以外のSCMは無視していい。HudsonはCIつうよりプロジェクトダッシュボードとして使うのが吉(数あるプラグインを有効利用しよう)。 marsのメモ - Trac marsのメモ - MacroBazaar - The Trac Project marsのメモ - 角谷HTML化計画(2006-04-25) marsのメモ - trac-post-commit-hookが
Voruta is a data access framework for embedding SQL statements in Java methods using custom javadoc tags and dynamic code generation at runtime. QDox is used to parse metadata and CGLib to generate implementation at runtime. Data Access Classes and Metadata Data Access Classes are JAVA interfaces, interface method declaration and custom java doc tags are used to generate Data Access Object. Genera
その正体はわかったよ。正体わかった瞬間からだが震えたよ。まじで。 まずは、羽生さんのこのエントリを見て欲しい。 http://d.hatena.ne.jp/habuakihiro/20070922#1190464426 その後によしおりのこの有名なエントリも復習して欲しい。 http://d.hatena.ne.jp/jYoshiori/20070826/1188150596 もうさぁ、変わってないよねぇ。昔からのこの構図。歴史は繰り返すっていうの。 あからさまにいうとさぁ。賢いスーツな奴らと、頭の固くてあわれで保守的なおやじの歴史だよ。 最初は、EJBだよ。EJB。これからは、ビジネスコンポーネントが流通して、もうプログラミングはいらなくなる。コンポーネントの組み合わせを考えるだけでOKみたいな。最初にね、キャッチーな言葉とともに、あらたなテクノロジーを広めようとするのは、賢いスーツな奴
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く