FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ブログ引っ越し

http://rewtheblow.hatenablog.com/

こちらのブログに引っ越ししました。
タイトル、コンセプトなど何も変わっていません。

続きを読む>>

Refinement for existing application GUI by JavaFX (halfway...)

* original Japanese entry is here.
This entry is Dec 17th of JavaFX Advent Calendar 2012.

I am busy because of business and PBL activity at graduate school so cannot write blog entries...
Advent calendar is in fasion this season, and I am in charge of development by JavaFX at PBL so I'd like to write an entry of Java FX.

JavaFX is a GUI librady for Desktop application and I have a lot of desktop application dev experience.
For the first time, developed Windows native application by VC++, by Java, Eclipse plugin development (SWT!), generally JSP + Servlet were major.
So I use SWT not Swing when I develop little things, I familiar it on Eclipse.

I worry about Swing will be maintenanse mode because I am a desktop programmer if it is Swing not SWT.
I began to implement by JavaFX at PBL activity when I worry Swing.
We are developing "Application framework for JavaFX" now and will make it public with documents when we graduate next spring.

So I deal another program in this entry.
I developed "Attending confirmation application" for my company internal events, using emoloyee ID card including Felica card and card reader.
I implemented mostly all code at cafe or home, not business.

The system is that this application is booted on a PC, connected Felica card reader by USB connection,
and touch emoloyee ID card to the reader and logged employee information.
I developed this program as CUI program by C language and move it on command prompt at first (here is the source code).

CUI is not cool though I was busy and it is unavoidable, however, I decided to convert it from C to Java with Swing GUI in order to improve visual aspects.
Device driver of card reader is DLL and it moves on Windows Native so I use JNA on invoking it from Java.
And developled Java version (Here is the source code).

Actual use case.
PCplusReader.jpg


Image of the screen.
FelicaNumberJ.jpg

This application is so useful that I can uses it attending confirmation at regular comnany internal event for engineers and handson seminar.
Another worker asked me to provide it for a certain event, and it counted over 100 attendee.

So I use it as above but there was comments that Swing GUI was not cool, I began to consider modification for only screen function because I know JavaFX and can it in order to make the application looks more cool.

We can develop rich GUI applocation by JavaFX because can use CSS on JavaFX.
Morever, desktop application like this is suitable.
It is just suitable next generation techmology we shoud use!

...so I planed to modify again and again but I was busy I said above...
I began to do when I write this entry.

And modified screen is here (shadings does't relate to JavaFX...)
It became so cool!
FelicaNumberJavaFX_.jpg

And I'd like to say "Here is the source code", however, I modified only GUI function and card reading function has not integrated yet to my regrettable...
I'd like to see feedback from atendees at company internal event after completion of the modification in near future.

Like this, in my opition, JavaFX may become just "Messiah" to refine non-cool GUI of existing desktop application
We have used Swing for long time so reactivating existing properties by modern GUI is significant

続きを読む>>

JavaFXによる既存アプリケーションGUIのリファイン(志半ば・・)

今回の投稿は、JavaFX Advent Calendar 2012 の12/17の回のエントリーになる。

最近は業務と、大学院のPBL活動で忙しすぎて、結局あまりブログも書けずじまい・・・
それではあんまりなので、このシーズンはやはり Advent Calender が流行っているので、PBL活動で触れている JavaFX で何か書けたらなぁ、と執筆を希望した。

JavaFXはデスクトップアプリケーション向けのGUIライブラリだが、そもそも私はデスクトップアプリの開発経験が長い方である。
VC++でWindowsネイティブなデスクトップアプリを開発したことに始まり、Javaでも普通はJSP + Servletの開発から入るのが定石のところ、Eclipseのプラグイン開発(SWT!)から入るという、ある意味亜流を通ってきたのである。
Swingすらあまり触らず、ちょっとしたデスクトップアプリを開発するときは、Eclipseで慣れたSWTを使っていた。

SWTはともかく、Swingがメンテナンスモードになってしまうとは、デスクトップJava派の私としては気になるところ。
そうした関心を持っていたタイミングで、PBL活動でJavaFXに触れる事になった。
デスクトップトップアプリケーション向けのフレームワークの開発をやっているが、修了間際にはドキュメント等を揃えて公開する予定。

なので本エントリーの題材としては他のものを扱う。
業務とは少し異なるが、社内でイベントや説明会などを開催する際に、フェリカ内蔵の社員証を利用して簡単に出欠を取りたいとの要望から「参加確認アプリケーション」を個人的に開発した。
まあ、仕事中に全くコーディングしていないかというとそうではないが、大半は帰路でのカフェか、自宅で開発。

システム構成としては、PC1台で当該アプリケーションを動作させ、そのPCにUSB接続でFelicaのカードリーダーを接続し、リーダーに社員証をかざすことで社員証の情報を記録する、といった処理をする。
当初、これはC言語でCUI版として開発し、コマンドプロンプトで動作させていた(ソースコードはこちら)。

急ぎで開発したので仕方なかったものの、その後、CUIではあんまりということでJavaに移植し、SwingのGUIをつけることで見た目の改善を図った。
カードリーダーのドライバはDLLのため、WIndowsネイティブで動作しているので、Javaからの呼び出しはJNAを使用。
そうしてJava版を開発(ソースコードはこちら)。

実際の利用場面はこんな感じ。
PCplusReader.jpg


画面のイメージはこんな感じ。
FelicaNumberJ.jpg

これはなかなかのヒット作アプリで、社内で定期的に開いている技術コミュニティイベントやハンズオンセミナーの開催時に、参加確認の記録を取るのに大いに活躍している。
他の人から使わせて欲しいとの依頼を受けたイベントでは、100名以上の参加者の参加確認に使われたりもした。

そんな形で運用しているものの、やはりSwingのGUIがちょっとイケてないとの指摘もあり、せっかく今現在、JavaFXに触れているので、それを使ってちょっとは見た目の良い画面にするか!ということで、画面表示の機能だけの改修を検討していた。

JavaFXはCSSを利用して色々と装飾ができるので、リッチなGUIを作ることができる。
しかもこのように、通常、デスクトップで動作するアプリケーションにて利用する。
まさにこのアプリケーションで使うべき、次世代GUIライブラリ!

・・・ということで、やろうやろうと計画はしていたものの、上記のようになかなか時間がとれず・・・
このエントリーの執筆を機に、ちょっと手がけてみた。

で、開発した画面がこちら(アドレスのぼかしはJavaFXとは関係なし・・)。
ずいぶん見栄え良くカッコよくなった!
FelicaNumberJavaFX_.jpg

で、ソースコードはこちら・・・と言いたいところだが、残念ながらまだGUI機能のみを開発しただけで、肝心のカードリーダー機能とのつなぎができておらず・・・
近いうちに改修を完了して、社内イベントでの参加者の反応でも見てみたい。

このように、既存のデスクトップアプリケーションのさえないGUIをリファインするには、まさにJavaFXは救世主となりえるのでは。
Swingは使われて長いので、その既存資産をこうして現代のGUIで復活させることには意味があると思う。

続きを読む>>

Hadoopの基礎の基礎

Hadoopファーストガイドを読みつつ、Hadoopの基礎の基礎を学び始めた。
クックパッド社で実際に構築運用をした著者の、かなり平易な語り口による記述。
1~2章に、その基礎の基礎がまとまっているので、マインドマップでまとめてみた。
ここでは、それをテキストに構造的に展開したものをメモしておく。

===================================================
Hadoopファーストガイド
    Google生まれ
        Google-Hadoopの対応
            MapReduce
                Hadoop MapReduce
            BigTable
                HBase
            GFS
                HDFS
    処理の特徴
        書き込みは1回
            更新はせず、削除と追加
        読み込みは高速
        大きなデータを扱う
            128MB以上が基本
        MPIとの比較
            データローカティ
                ネットワーク越しのアクセスが起きにくい設計
            耐障害性の考慮
                HWが壊れても切り離して処理続行
    構成
        HDFS
            ネームノード
            データノード
        Hadoop MapReduce
            ジョブトラッカー
            タスクトラッカー
    処理の流れ
        Mapフェーズ(k-Vで値を受ける)
            不要なデータを取り除く
            値の形式を変換
        Shuffleフェーズ
            同じkeyのデータを同じReducerに渡す
        Reduceフェーズ
            データの集計
    動作モード
        スタンドアロンモード
        疑似分散モード
        完全分散モード
    モジュール構成
        JDK
        Hadoop
===================================================

第3章の、実際にインストールしたり動かしたりするオペレーションは丁寧に記述してあり、つまづくところも少ない。
まずはスタンドアロンモードで動かすパートがあり、CentOS上にJDKとHadoopをインストールして、スタンドアロンモードで動作させてみた。
ここまでなら、ものの1時間でできてしまう(※注 サーバは Amazon EC2を利用)。

JavaFX +NetBeans環境におけるJenkinsの活用 #jenkinsstudy

10/19は、NTTデータで開催された第六回Jenkins勉強会に参加してきた。
しかも参加者としてだけでなく、発表者としてライトニングトークをしてきた。

大学院で現在、JavaFXのフレームワーク Creamyを開発しているが、そこでJenkinsを活用しようと奮闘したので、そうした情報が少しでも他の人に役立てばと、コミュニティに貢献したい思いでの登壇である。


スライドはこちら

他のセッションもレポートしたいところだが、発表を控えてあまり集中できていなかったので今回は省略w
Togetterはこちら

Creator of Jenkins, Cloudbeesの川口さん(右)とのツーショット。
jenkinskawaguchijpg.jpg

続きを読む>>

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。