最近のトラックバック

2019年5月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

« 2012年3月 | トップページ | 2012年5月 »

2012年4月

Schluessel Ver. 0.4.0をリリースしました

Schluessel Ver. 0.4.0をリリースしました。

以下のサイトでダウンロードできます。
http://schluessel.sourceforge.jp/

変更点も上記のサイトに記述しています。

URIをサポートしました

抽象化されたURIをサポートしました。
URIのパースと各種属性の取得ができます。

ロケールをサポートしました

ロケールをサポートしました。

(current-locale)  ; 現在のロケールをみる
(define j (locale ja JP))  ; ja_JP(日本語、日本)のロケールを作成する
(current-locale j)  ; ロケールをセットする

(locale-country j)   ; 国コードをみる
(locale-language j)  ; 言語コードをみる
(locale-variant j)  ; 詳細情報を見る
(locale-iso3-country j)  ; ISO3国コードをみる
(locale-iso3-language j)  ; ISO3言語コードをみる

(define dt (current-date))  ; 現在時刻
(define j (locale ja JP JP))  ; 日本語、日本、日本ロケール(和暦表示のため)
(print-date "GGGG yyyy.MM.dd" dt)  ; 現在時刻 "西暦 2012.04.22"
(print-date "GGGG yy.MM.dd" dt j)  ; 現在時刻 "平成 24.04.22"
(parse-date "yyyy/MM/dd" "2012/04/22")  ; 時刻のパース
(parse-date "GGGG yy.MM.dd" "平成 24.04.22" j)  ; 時刻のパース(和暦)

JNDIネーミングサービスのアクセスをサポートしました

JNDIネーミングサービスのアクセスをサポートしました。
JNDIネーミングサービスへのバインド・参照ができます。
以下の例はファイルシステムJNDIにDBデータソースをバインドする例です。
動作にはJNDIライブラリをOracleのサイトからダウンロードする必要があります。
WebアプリケーションであればTomcatのserver.xmlに記述されたデータソースを参照することもできると思います。

; JNDIプロパティ
(define prop
  '((initial-context-factory . "com.sun.jndi.fscontext.RefFSContextFactory")
    (provider-url . "file:パス名")))

; MySQLのデータソース
(define dts (new com.mysql.jdbc.jdbc2.optional.MysqlDataSource))

(bind-jndi "datasource" dts prop)  ; JNDIへのバインド
(lookup-datasource "datasource" prop)  ; JNDIからのデータソース参照
(unbind-jndi "datasource" prop)  ; JNDIのアンバインド

LDAPをサポートしました

LDAPサーバにアクセスする機能をサポートしました。
以下のようにしてアクセスします。
1. LDAPサーバへの接続

(define ldap-connection
  (bind-ldap-service
     "hostname"  ; ホスト名
     "cn=Manager,dc=example,dc=com"  ; dc
     "secret"))  ; パスワード
2. LDAPからのデータ取得
(select-ldap-service
  ldap-connection  ; バインドしたLDAP接続
  "ou=User,dc=example,dc=com"  ; 検索するdn
  '(or (= "cn" "User*")
       (= "sn" "aaa*"))  ; 検索条件
  'subtree)  ; object, 1level, subtreeが指定可能
3. LDAPへのデータ登録
(insert-ldap-service!
  ldap-connection  ; バインドしたLDAP接続
  "cn=User0001,ou=User,dc=example,dc=com"
  '(("cn" "User0001")
    ("sn" "aaaaa")
    ("objectclass" "top" "person" "organizationalPerson")))
4. LDAPのデータ変更
(update-ldap-service!
  ldap-connection  ; バインドしたLDAP接続
  "cn=User0001,ou=User,dc=example,dc=com"
  '((replace "sn" "bbbb")
    (add     "description" "A description")
    (remove "mail")))
5. LDAPからのデータ削除
(delete-ldap-service!
  ldap-connection  ; バインドしたLDAP接続
  "cn=User0001,ou=User,dc=example,dc=com")

オブジェクトのファイルへのインポート・エクスポートをサポートしました

シリアライズ可能なオブジェクトを整理しました。
また、シリアライズ可能なオブジェクトのファイルへのインポート・エクスポートをサポートしました。
シリアライズ可能なオブジェクトであればオブジェクトをそのままファイルに保存することができます。

メッセージダイジェスト、ファイル・オブジェクトの署名機能を追加しました

メッセージダイジェスト、ファイル・オブジェクトの署名機能を追加しました。
メッセージダイジェストの方式はMD5、SHAが可能です。
関連して、公開鍵・秘密鍵の対を生成する機能も追加しました。

gzip形式の入出力をサポートしました

gzip形式の入出力をサポートしました。
入出力にはR6RS-likeの(gzip-file-input-port), (gzip-file-output-port)が使用できます。

zipファイルの読み込み機能を作成しました

zipファイルの読み込み機能を作成しました。
zipファイルのエントリの読み出し、ファイルの抽出・オープンが可能です。

GroupLayout, null layoutをサポートしました

新たにレイアウトマネージャとして

  • GroupLayout
  • レイアウトマネージャの指定なし(nullのレイアウト)

をサポートしました。
nullのレイアウトマネージャは任意の位置にコンポーネントを配置できますが、画面のリサイズやプラットフォームごとの見た目の互換性が保たれなくなるなどの問題があるので使用しないことが望ましいです。

フルスクリーンモード・スクリーンショットの取得が可能になりました

フルスクリーンモード・スクリーンショットの取得が可能になりました。
スクリーンショットの取得は以下のようにして実行します。
(現リリース-Ver.0.3.2では動作しません)

(define im (capture-screen 100 100 200 200))  ; スクリーンショットの取得
(define wf (make-window-frame 300 300 0 0 1 1))
(draw-image wf im 0.2 0.8)  ; 画像の描画

トレイアイコンに格納するアプリケーションが記述できるようになりました

トレイアイコンに格納するアプリケーションが記述できるようになりました。
次のソースはトレイアイコンのアプリケーションの記述です。
(リリースVer. 0.3.2では動作しません)

; トレイアイコンの定義
(define icon
  (make-tray-icon
    "example.png"
    "test"
    `(("sub"  ;メニュー階層
        (("A" ,(lambda (e) (display "a")))
         ("b" ,(lambda (e) (display "b")))))
      ("Exit" ,(lambda (e) (exit))))
    (lambda (e) (display "icon")) ;アクション
    `(;マウスアクション
      :entered ,(lambda (e) (display "entered"))
      :exited  ,(lambda (e) (display "exited")))))

; システムトレイに追加
(add-system-tray! icon)

; メッセージの表示
(display-tray-icon-message icon "test" "test message" 'info)

パーティション容量・ファイル権限の変更ができるようになりました

パーティションの容量とファイル権限の変更ができるようになりました。
パーティション容量は全容量・空き容量・使用可能容量が取得可能です。
ファイル権限の変更は所属するユーザまたは全ユーザの設定が可能です。
例)
(chmod 'u+w "file") → 所属するユーザに書き込みを与える: chmod u+w file
(chmod 75 "file") → chmod 755 fileと同じ

« 2012年3月 | トップページ | 2012年5月 »