POIプロジェクトは、Microsoft OLE 2複合ドキュメント形式に基づいた様々なファイル形式を100%Javaで取り扱うためのAPI群から成り立つプロジェクトです。 Microsoft OLE 2複合ドキュメント形式には、 XLS や DOC といった殆どのMicrosoft Office ファイルが含まれます。 原則として、出来る限り他の(Jakartaなどの)プロジェクトと連携し、この機能を提供していきたいと考えています。例えば:Cocoonにて、我々のプロジェクト由来の generator や serializer がすぐに見つかるかと思います - OpenOffice.org(訳注:Microsoft Office製品と互換性をある程度有するOfficeスイートで、オープンソースとして公開され開発されている、無料のオフィスソフトウェア - Javaを基調としている)と
JavaでRijndael(AES)で暗号化されたデータをPerlで復号化しようと思います。 「暗号方式と秘密鍵だけ聞いておけば簡単にデコードできるっしょ、余裕っしょ」とタカをくくっていたら、思いっきり天罰がくだりました。久しぶりにハマったのであります。 ちゃんと確認しておくべきだった情報 まずは暗号方式と秘密鍵だけでなく、以下の情報をしっかりと確認しておく必要アリでした。 暗号アルゴリズム 秘密鍵 秘密鍵の長さ ブロック暗号化モード IV(Initialization Vector:初期化ベクトル) padding方式 暗号のことちゃんと勉強した事がないので、なんだかよくわからんけど、必要らしい。 せめて事前にここらへんを読んで勉強しておけばよかった。 ぱせらんメモ http://d.hatena.ne.jp/pasela/20100612/crypto DESに代わる次世代暗号「AES
前回は、Perlで書いたのだけど、 Rubyでも書いてみたので載せます。 動的型付け言語と静的型付け言語における多態性 オブジェクト指向では、多態性(ポリモーフィズム)という発想がでてくる。 この多態性を実現する方法を今回は2つ紹介する。 Rubyは動的型付け言語であり、ダックタイピングという手法で、多態性を実現できる。 対して、静的型付け言語であるJavaでは上位の型を作ることで多態性を実現できる(今回はインタフェースを用いてみた)。 ダックタイピング Rubyでのタックタイピングを見てみよう。 human = Human.new dog = Dog.new duck = Duck.new human.touch(dog) human.touch(duck)いま、このようにhumanがtouchすると、おのおのの動物が鳴くソースを書いてみる。 duck(アヒル)はhuman(人間)に触ら
PDF Rendererとは PDF Rendererは、PDFファイルを読み込んでJavaプログラムで描画するための機能を提供するライブラリである。iTextやApache FOPは任意のPDF文書を生成したり、PDFファイルを編集をするための機能は持っていたが、PDF RendererにはそのようなPDF編集機能は用意されていない。 PDF Rendererの利点は、PDF文書の内容をjava.awt.ImageオブジェクトやGraphics2Dオブジェクトに読み込ませて描画できる点にある。これらのオブジェクトはSwingをはじめとするグラフィックライブラリで汎用的に扱うことができる。すなわち、PDF Rendererを利用すればPDFコンテンツをさまざまなGUIアプリケーションに簡単に取り込むことができるということだ。たとえばPDFをSwingアプリケーションの中に描画したり、Jav
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
先週に引き続き,今週もコンポーネントのレイアウトに関する話題です。Java SE 6で新たに導入されたレイアウト・マネージャjavax.siwng.GroupLayoutクラスを紹介します。 GroupLayoutクラスは,もともとNetBeans 5.0で導入されたMatesseというGUIビルダーで使用されていたものです。NetBeansではGUIのデザインを直感的に行うことができ,複雑な配置でも容易に作成できます。 Matisseで導入されたGroupLayoutクラスは次のような特徴を持っています。 レイアウトの自由度が高い コードの自動生成が容易 Java SE 6にGroupLayoutクラスが取り入れられたので,今後は他のGUIビルダーでもGroupLayoutクラスが採用されることが予想されます。 GroupLayoutクラスはツールで使われることが前提かもしれませんが,そ
はじめに 多くのGUIを使ったプログラムでは、ユーザーの操作などに関する処理を「イベント」と呼ばれるものを利用して処理します。イベントというのは、さまざまなプログラムへのアクションに応じて発信される「信号」のようなものだと考えてください。例えば、ユーザーがマウスでボタンをクリックすると、それに対応するイベントが発生する。このイベントに応じて何らかの処理が実行される。そういう仕組みになっているわけです。 GUIのプログラミングでは、このイベント処理が非常に重要となります。Javaに用意されているイベント処理の仕組みについて、ここでしっかりと理解しておきましょう。 対象読者 Javaに興味はある、けれどプログラミング経験がない、という人。 Javaに興味はある、けれど何から手をつければいいかわからない、という人。 Javaに興味はない、でも何でもいいからプログラミングをしたい、という人。 これ
はじめに プログラミングというのは、ある程度の技量がつくまでは、計算したりテキストの処理をしたりといった地味~な作業ばかりするもの、というイメージがあります。が、コマンドラインから数字や文字が出てくるようなプログラムばかり作って、楽しいですか?(筆者は、全然楽しくない!) やっぱり、プログラミングは「作って楽しい」ものでなければやってられません。クロウトならば、どんなものであれ楽しみを見出せるでしょうが、ビギナーのうちは、やっぱり「目に見える」形で動くものでないと楽しさを実感できないでしょう。そう、やっぱりプログラムと言えば「ウインドウ」がないと始まらないのです。そこで、Javaの最も基礎的なところを覚えたところで、「ウインドウ」を使ったプログラムの作り方へと進むことにしましょう。 これまでの記事 Java入門 (1) - まずはここから始めよう Java入門 (2) - 値と制御構文 J
今日はtokyoclj#3なので、前回に引き続きclojureでの平行性実装についてみています。 前回もjavaの実装はチラ見していたのですが、clojure側の実装をみていなかったので、機能の復習もかねて整理しておきます。 clojureはjavaでSTMを実装しています。java.util.concurrent.*が大活躍です。なので、clojure側の実装はあまりみても重要ではないのですが、機能を整理しておきたいのでちゃんと読んでみました。 refというのはSTMで扱うことができるオブジェクトです。STMというのはsoftware transactional memoryのことです。ロックフリーなセマンティクスで、複数の処理をatomicにできる、便利なものです。平行処理がロックフリーであるということは、複数のロックを使用して平行性を高めるとか、難しいアルゴリズムをつかうとかしなくて
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く