Liferay 6.0.3リリース

某所でポータルサイトを構築するために試用しているLiferayなんですが、ようやく待ちに待ってた6系のRCがGA版(6.0.3)となりました ;)

ポータルというか、CMSってなかなかどれも帯に短し襷に長しって感じで、しっくりくるものがないんですが…日本語訳が微妙だったり色々問題があったりするんですけどLiferay気に入ってたりします。

日本語訳は6.0.3になって少しましになってる :?: 「札の雲」もチャンと「タグクラウド」になってますね :) あと、ワークフロー等もRCでは外されてたのですが、チャンと入ってますね~でも、使い方が良くわかりません :cry:

Liferayの一番の欠点は日本語での情報が少ないことですかね~日本語の情報があれば教えていただけるとうれしいです。カスタマイズしたいんですけど敷居が高いです :cry:

Liferay Portal 6 Enterprise Intranets
Jonas X. Yuan
1849510385

て、言うか英語でも6の情報は少ないですね :|

導入時に参考にしたCMSの比較資料としては、登録が必要なのと英文ってのがアレなんですが…グラフとかが多いのでOpen Source CMS Market Share Report 2009は役に立つと思います。まぁ、この資料を見るとLiferayって選択にならないかも知れないですけど ;)

TrackBack URL :

findJAR.com…これは便利かも

『jar を見つける – kameidの備忘録』を見て、うんうんワタシも「いっつもわからなくなる・・。」と…うなづいてしまった :)

で、そこで紹介されていた。

が便利そうなので、Mycroft Projectで探してみたらありました。と言うことで早速Firefoxの検索に登録しておきました。

TrackBack URL :

Java Plug-inの△!警告がウザイ件

Java 6u10でJava Plug-inが新しくなってから、少し気にはなっていたんですけど…何がって言うと下の画像にあるようにJWS(Java Web Start)やJava Appletのウィンドウの右上に表示される黄色の△!マークの警告です :|

JWSwarnning

信頼されないアプレットウィンドウが使用されていることを通知するためのセキュリティ警告なのですが…Java 6u10以前のバージョンでは、控えめに表示されていただけなのですが、Java 6u10以降は警告アイコンがウィンドウから飛び出てるわ黄色で目立つわで、表示されるとウザイことこの上ない :roll:

まぁ、Java SE 6 Update 10 リリースノートに以下のように明記されてるわけですが…。

Windows 上での署名されていない Java アプレットウィンドウの変更

Windows では、新しい最上位ウィンドウを開く署名されていないアプレットは以前、そのウィンドウが「Java アプレットウィンドウ」であることを識別するために、ウィンドウのいちばん下にステータスバナーを配置していました。6u10 では、そのバナーが、右上隅に配置された小さい三角形の警告アイコンに置き換えられました。そのアイコンの上にマウスポインタを置くと、「Java アプレットウィンドウ」というメッセージがツールヒントとして表示されます。

でも、セキュリティ警告なので簡単に設定などでは表示をオフできないのが難点です。あたり前なんですけど… :arrow:

結局、このウザッたい警告を消すにはJWSやAppletのJarファイルに署名して信頼できるものにするしかありません :cry:

仕方ないので、『テストのため、オレオレ証明書でjarに署名する方法 – 今日覚えたこと』を参考にして、署名したら確かにウザッたい警告は表示されなくなりました。

う~ん、昔AntのSignJarタスクとかを使って署名したりしてたんだけど…完全に記憶の彼方です。毎回、手作業で署名するのは面倒なので調べて思い出さなきゃ :|

あ、今回某マシンのJREをJava 6u11にアップデートしたのはアプレットの起動が速くなることを期待したためで…アプレットの作りにも依るようですが、ほとんど速くならないものもある一方、ものによっては初期画面がでるまでの時間が約半分に高速化されたケースもありました ;)

警告アイコンは、そのアップデートの副作用です。まぁ、アップデートする前はそんなことすっかり忘れてたんですけど :oops:

Ant第2版 Ant第2版
Steve Holzner 長瀬 嘉秀 テクノロジックアート

Apache Maven 2.0入門 Java・オープンソース・ビルドツール Jakarta Commons クックブック―Javaプロジェクト必須のレシピ集 Effective Java 第2版 (The Java Series) Tomcatハンドブック Java魂―プログラミングを極める匠の技
by G-Tools

追記 2009-02-04 23:50:03
Twitterでhiromasa師匠にJava SE 6 Update 12のリリースノートに以下のような記述があることを教えてもらったので…早速ダウンロードして確認してみました。

信頼できないアプリケーションのトップレベルウィンドウで使用されるセキュリティ警告が、以前のものより目立たないものに改善されました。

ところが…黄色が灰色になっただけ?かと思ったら、マウスがウィンドウに入った瞬間に黄色くなったり、ウィンドウが非アクティブでマウスが上にないと警告自体が消えたり。
目立たなくなったのか、目立つようになったのか、これは改善なのか…。

TrackBack URL :

Microsoft Small Basic v0.2…少し試してみた

もり ひろゆきの日々是勉強の「Microsoft Small Basic v0.2が公開されています。」で知りました :)

A simplified programming language and environment to help teach programming to beginners

と言うことで、シンプルでビギナーでも学習しやすいBASIC環境って感じですね。

ちなみにHello Worldは以下のような感じ ;)

TextWindow.WriteLine("Hello World")

起動してフラクタルのサンプルプログラムを読み込んでみたところです。

SimpleBasic1

実行してみました。あたりまえですが、確かにフラクタルが描かれますね。

SimpleBasic2

次にIntellisenseも以下のような感じでクルクルして面白いですね :)

SimpleBasic3

あと、グラフィックはTurtleで描くようですね~LOGOLOGO チックで個人的には嫌いではないです。言語仕様etc.詳しく見ていないのですが、遊びに使うには十分でしょう ;)

TrackBack URL :

JFreeChart…サンプルコードは有償だったのね

Java Appletでグラフを描くなら、色々な選択肢はあるけどJFreeChartが良いんじゃないかなぁ~昔、訊かれて答えた気がする。その時は自分が絡むなんて一切思わずに ;)

で、ちょっとした改造がしたいと…現状は折れ線グラフと棒グラフの2つのグラフを重ねてるところに、もう1本折れ線グラフを追加したいと。

以下のJFreeChartサンプルデモにあるMultipleAxisDemo1のグラフを1本減らして、1本を棒グラフに変えたようなイメージ。

JFreeChartSample

元もあるので、簡単簡単よく分からないけど…縦軸増やして、データセットを1本分増やして、折れ線のレンダラも増やして…って感じでアッという間にほぼ完了。

しかし、当然なんだけどデフォルトでは凡例が追加した順に表示されるので折れ線、棒、折れ線となって気持ちが悪い :|

でも、凡例の方だけで順番を入れ替えたいんだけど…参考になりそうなページが検索すると見つかるんだけど意図とは少し違う。結局、コッテリした実装になってしまったが…要点だけ晒してみる。

XYPlot plot = chart.getXYPlot();
…
LegendItemCollection legendItems = plot.getLegendItems();
LegendItemCollection setLegendItems = new LegendItemCollection();
 
setLegendItems.add(legendItems.get(0));
setLegendItems.add(legendItems.get(2)); // 2と1を入れ替え
setLegendItems.add(legendItems.get(1));
 
plot.setFixedLegendItems(setLegendItems);

他に良い方法があれば、教えていただけるとうれしいです ;)

しかし、JFreeChartのサンプルデモって充実してるなぁ~ソースみたいなぁ~と思ったら…有償なんですね知りませんでした :oops: このような戦略は嫌いじゃないですし、お世話になってるので積極的に買いたいくらい。

う~ん、個人で買う気までは起こらないんだよなぁ…でも、会社では買いにくい形態なんですよね~ダウンロード販売って :|

TrackBack URL :

JUDE 5.4正式リリース…サポート対象外のサンプル機能が面白い

「JUDE 5.4βリリース」で書いたように5.4での目玉はUML 2.0対応で、Professional、Communityともに5.4正式版がリリースされています ;)

でも、今回一番興味を持ったのは…サポート対象外とのことですが、以下の3つのサンプル機能がリリースされたこと。

  • C++リバースプログラム
    C++のソースコードからJUDEモデルを作成できます。本アプリケーションは、Doxygenというフリーソフトと併せて動作します。事前にDoxygenによってソースコードをパースして作成したXMLファイルを使用して作成します。
  • クラス図・ER図のメトリクス
    JUDEのプロジェクト内のクラス図、クラス、属性、操作やER図、エンティティ、リレーションシップ等の数や平均値を算出するメトリクスをCSV形式で出力します。
  • C#リバースプログラム
    JUDE APIを利用して、C#のソースコードからJUDEモデルを作成するサンプルプログラムです。Doxygenというフリーソフトを利用します。

これらのサンプルが動作するのはProfessional限定なんですよね~そろそろ会社で買ってもらう時期かなぁ :?

DoxygenはC++では愛用しているので、うまく行けばそのままリバースできるかも。でも、C#リバースでDoxygenてのはいただけないなぁ~やはり、標準のXMLコメントに対応してもらわないと :|

結構、CommunityとProfessional間の機能差が広がってきましたね。

JUDEで学ぶシステムデザイン JUDEで学ぶシステムデザイン
株式会社チェンジビジョン


by G-Tools

JUDEの公式ガイドブックもでるんですね ;)

TrackBack URL :

MFC Grid control…使い方メモ

『MFC Grid Control…使い方を忘れてる』と書いておきながら、一切使い方を書いていなかったので自分用メモ。

わけあってeVC++を使ったので、その手順だけど…他でも同じようなモノだろう。さらに言えば、この手順が正しいとも限らない :arrow:

  • MFC Grid controlソースデモプロジェクトに含まれるソース(こちらの方が良さそうです)を入手する(v2.25)
    自分のプロジェクト内にソースを取り込んでしまう。ちなみにGridCtrl_srcフォルダごとコピーしてガッとソースとヘッダーを取り込んじゃう。あと、GridCtrl_srcの中のExperimental Upgradesフォルダは今回は使ってないので無視。
  • ソース取り込んだら、とりあえずコンパイル
    エラーがなければよいけど…たぶん、『MFC Grid Control…使い方を忘れてる』に書いたところでエラーになるので、1行コメントアウト。
  • リソースエディタでグリッドコントロールを貼りたい場所にカスタムコントロールを貼り付ける
    カスタムコントロールのプロパティを開いてクラスにMFCGridCtrlを設定する。
  • カスタムコントロールを貼ったクラスにメンバー変数を追加する
    こんな感じのモノを追加、CGridCtrl m_Grid;可視性はよしなに。
  • 初期化部分に以下のようなコードを書けばグリッドコントロールが表示されてめでたしめでたし
    この例で『MFC Grid Control…使い方を忘れてる』の画面が表示される。
    m_Grid.EnableDragAndDrop(TRUE);
    m_Grid.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0));
 
    m_Grid.SetEditable(TRUE);
    m_Grid.SetRowResize(TRUE);
    m_Grid.SetCallbackFunc(NULL, 0);
    m_Grid.Refresh();
    m_Grid.SetListMode(TRUE);
 
    m_Grid.InsertColumn(_T("連番"));
    m_Grid.InsertColumn(_T("ID"));
    m_Grid.InsertColumn(_T("世代"));
    m_Grid.InsertColumn(_T("ダミー4"));
    m_Grid.InsertColumn(_T("ダミー5"));
    m_Grid.InsertColumn(_T("ダミー6"));
    m_Grid.InsertColumn(_T("ダミー7"));
    m_Grid.SetFixedColumnSelection(FALSE);
    m_Grid.SetFixedRowSelection(TRUE);
    m_Grid.EnableColumnHide();
    m_Grid.AutoSize();
    m_Grid.SetColumnWidth(0, 40);
    m_Grid.SetColumnWidth(1, 150);
    m_Grid.ExpandLastColumn();
    m_Grid.SetCompareFunction(CGridCtrl::pfnCellNumericCompare);
 
    TCHAR buffer[BUFSIZ];
    TCHAR buffer2[BUFSIZ];
    for (int i = 1; i < 30; i++) {
        wsprintf(buffer, _T("%d"), i);
        m_Grid.SetRowCount(i);
        m_Grid.InsertRow(buffer);
        wsprintf(buffer2, _T("日本語テスト(%d)"), i);
        m_Grid.SetItemText(i, 1, buffer2);
        m_Grid.SetItemText(i, 2, buffer);
        m_Grid.SetItemText(i, 3, buffer);
        m_Grid.SetItemText(i, 4, buffer);
        m_Grid.SetItemText(i, 5, buffer);
        m_Grid.SetItemText(i, 6, buffer);
    }
    m_Grid.SetFixedRowCount(1);
    m_Grid.SetFixedColumnCount(2);
 
    m_Grid.ShowWindow(SW_SHOW);

CGridCtrlクラスは機能豊富で、もっと色々なことができます。わたしには、とても使いこなせませんが :|

TrackBack URL :

JDK 6 Update 10正式リリース

Java SE DownloadsからJDK 6 Update 10正式版がダウンロードできるようになってます ;)

『首を長くして待ってるんだけどなぁ…Java SE 6 update10』で書いたように待ちに待っていたので…待ち人来るって感じです :!:

update 10が、ただのマイナーアップデートじゃないと言う日本語で解説されてるPDF文章を再掲しておこうっと…『Mediacast – Introduction of Java SE 6 update10』です。

j6u10

でも、このバージョンに揃えましょうって誰が顧客を説得するんだ :roll:

TrackBack URL :

首を長くして待ってるんだけどなぁ…Java SE 6 update10

いろいろ棚卸し – marsのメモ経由で知った『Mediacast – Introduction of Java SE 6 update10』というPDF文書なんですけど…update 10がただのマイナーアップデートじゃないと言うのがわかりやすく日本語で解説されてます。

ホントupdate 10は、個人的に首を長くして待ってるんですが…正式版はFall 08と言うことで今か今かと待ちわびてるんですけどね。

上のPDF資料、わかりやすい良い資料なんですけど…気になるのがAppletタグの部分。なんで、わざわざ非推奨のタグで新規パラメータを説明するんだろう :?: Appletタグだけかと心配になって、リンク先の「jdk6: Release Notes for the Next-Generation Java™ Plug-In Technology」ページを確認しちゃいました。大丈夫のようですね。

Appletタグは非推奨で、残るはEmbedタグかObjectタグで…できれば一つだけに統一して欲しいところなんですけど…Embedの出自を考えると個人的にはObjectタグを押したいところですね。まぁ、わたしが押してもなんのアレもないわけですけど :arrow:

TrackBack URL :

Anders HejlsbergとGuy Steeleが並列性から言語設計を語る

Channel 9でAnders Hejlsberg and Guy Steele: Concurrency and Language Designと言うことで、C#のAnders HejlsbergとLisp(Scheme)のGuy Steeleが語ってますね ;) 30分越え…ヒアリングの苦手なわたしには辛い :|

気になるのは、要約にある以下の文。斜体部引用。

Today, Guy is working on a mathematical language (domain specific as opposed to general purpose) and runtime, Fortress, that is so concurrent it makes it hard for programmers to even write sequential code!

むむ、Guy Steeleが面白そうなことをやってる :?: って思ったらFortressだった :roll:


Anders Hejlsberg and Guy Steele: Concurrency and Language Design

誰か字幕付けてくれないかなぁ :mrgreen:

TrackBack URL :