2009年11月1日日曜日

Spring Security で OpenID 認証 Bookmark and Share

OpenID を試してみるのに、openid4java を見つけたのですが、Spring Security 2.0.x が OpenID 対応しているそうなので、こちらでやってみました。

まず、Spring Security が動く状態にするために以下のURLをサンプルとして利用させて頂きました。

  • 第11回 Spring Securityでラクラク! セキュリティ対策 - 今必要な人のための速習 Spring Framework:ITpro



  • ※ プロジェクトの作成ですが、URLの手順ではなく、以下の手順で行いました。
    1. maven で archtype=maven-archtype-webapp でプロジェクトを作成する
    2. 依存関係の追加で spring-security-openid を追加する
    3. 依存関係の追加で spring-security-taglibs を追加する
    4. 依存関係の追加で jstl を追加する
    5. 上記URLの手順で、プロジェクトを完成させる

    次に OpenID化です。

    ライブラリは既に揃っているので、applicationContext-security.xml のみを修正していきます。
    1. <sec:http>  
    2.     <sec:intercept-url pattern="/**" access="ROLE_USER"/>  
    3.     <sec:openid-login />  
    4.   </sec:http>  
    5.   <sec:authentication-provider>  
    6.     <sec:user-service>  
    7.       <sec:user password="notused" name="http://foge.blogspot.com" authorities="ROLE_USER"/> ← これは×  
    8.       <sec:user password="notused" name="http://foge.blogspot.com/" authorities="ROLE_USER"/> ← これは○  
    9.     </sec:user-service>  
    10.   </sec:authentication-provider>  

    blogger の OpenID の場合、最後に "/" 付きになるようで、"/" がないと認証できなくなってしまいます。
    今回はここまで。

    2009年10月28日水曜日

    VMware Server 2.0.2 にアップグレードしたら Web Access からログインできない Bookmark and Share

    VMware Server 2.0.2 にアップグレードしたら、下図のようになり Web Access からログインできなくなった。※VI Clientからはログインできる。



    インストール先のフォルダ下を "##{HTTP_PORT}##" で grep したところ
    installdir/VMware Server/tomcat/webapps/ui/jslib-1.0.128374/modules/com.vmware.webaccess.app_1.0.0/WebAccess.properties がヒットした。

    修正前

    1. new Object({  
    2.    login_url: "http://localhost:##{HTTP_PORT}##/sdk",  
    3.    login_show_webservice_url: "false",  
    4.    login_name: "",  
    5.    login_password: ""  
    6. });  

    修正後
    1. new Object({  
    2.    login_url: "http://localhost:8222/sdk",  
    3.    login_show_webservice_url: "false",  
    4.    login_name: "",  
    5.    login_password: ""  
    6. });  

    VMware 関係のサービスを再起動し、ブラウザを再起動したところ、ログイン可能となった。

    VMware Workstation 7 Bookmark and Share

    いつの間にか、VMware Workstation 7 がリリースされていました。

    Windows7 + Virtual PC + XP Mode の陰で、ひっそりと開発していたのでしょうか、
    自分は、噂も聞いた覚えがありません。

    主な変更点は、Windows 7 対応のようです。

    Windows 7 対応の優れたデスクトップ仮想化製品

    • • Windows の仮想マシンで Windows Aero 3D グラフィックスを使用できる、最初のデスクトップ仮想化製品
    • • 32 ビット版および 64 ビット版の Windows 7 の仮想マシンへのインストールを、物理 PC へのインストールよりも容易に実現する簡易インストール機能
    • • Workstation 7 は、フリップ 3D と連携して動作し、Aero Peek で仮想マシンの状況をライブ表示可能
    • • Windows XP モードよりも優れた Windows XP 環境を実行でき、より優れた 3D グラフィックスの表示や高いパフォーマンス、ユニティ、フォルダ共有、およびドラッグ アンド ドロップ機能の緊密な連携を実現
    • • 32 ビット版および 64 ビット版 のWindows 7 を実行する PC 上で、最高のパフォーマンスを発揮するように最適化


    VMware Workstation 5.x or 6.x からのアップグレードで、99USD(13,779円)です。

    VMware Server 2.0.2 Bookmark and Share

    VMwareの仮想化製品に脆弱性、修正パッチ公開 - ITmedia エンタープライズ

    脆弱性の修正だそうで、VMware Server 2.0.2 が公開されています。

    ダウンロード時にアンケートに答えるのですが、なんかバリデーションチェックが
    おかしい気がします。(全て入力して、赤太字の文句もないのに先に進めない)

    自分はいろいろやっていて、"How many Hosts will have VMware Server 2 installed? 
    (Total Quantity must be between 1-10)"のところで、両方1と入力したら進めたような気がします。

    BDRemocon 0.2 Bookmark and Share

    BDRemocon 0.2 を公開しました。
    変更点は、
    • L1,L2,R1,R2のキー割り当てを MonsterTV HD Ver.3.9.812 のホットキーに合わせました。
    • キーイベント発生時に拡張キーの処理が正しくなかった不具合を修正しました。
    BDRemocon ver0.2

    2009年10月21日水曜日

    Windows Server 2008 R2も同様です。 Bookmark and Share

    Windows7 でシャットダウン時に"Task Host Window"が待機中になるという話。
    ウチでは Windows Server 2008 R2 でも毎回起こるので、結構根の深い問題ではないかと。

    Windows 開発統括部 Blog : シャットダウン時に、Task Host Window が待機中というメッセージがでる場合がある問題

    2009年10月19日月曜日

    CentOS5.3のFTPログイン不可対策 Bookmark and Share

    SELinux が原因らしい

    ほえほえ FedoraCore5のFTPログイン不可

    #状態確認
    getsebool -a | grep ftp_home_dir

    #設定変更
    setsebool -P ftp_home_dir=1

    #状態確認
    getsebool -a | grep ftp_home_dir

    CentOS 5.3 で統合Windows認証 Bookmark and Share

    以前にSolarisでやっていたのをCentOS + WindowsServer2008R2 で再構築してみた。
    Apacheなどはインストール済みの状態からスタート。

    1) WindowsServerでの作業


    1. CentOSをDNSに登録する。(双方とも正引き、逆引きができる状態にしておく)

    2. ActiveDirectory上で、
    ダミーのユーザアカウントを作成する → (1)
    ktpassコマンドで、keytabファイルを作成する
    ktpass.exe -princ HTTP/centos53.ad.local@AD.LOCAL -crypto rc4-hmac-nt -ptype KRB5_NT_SRV_HST -pass パスワード -out 出力先ファイル名

    3. 作成されたファイルを CentOS 上の /etc/httpd/conf/keytab に転送しておく。


    2)CentOS(Webサーバ)での作業


    1. apacheモジュールをインストール
    yum install mod_auth_kerb

    2. /etc/httpd/conf.d/auth_kerb.conf を確認し、LoadModule ... が設定済みであることを確認する。
    LoadModule auth_kerb_module modules/mod_auth_kerb.so

    3. /etc/krb5.conf を編集する。
    1. [logging]  
    2.  default = FILE:/var/log/krb5libs.log  
    3.  kdc = FILE:/var/log/krb5kdc.log  
    4.  admin_server = FILE:/var/log/kadmind.log  
    5.   
    6. [libdefaults]  
    7.  default_realm = AD.LOCAL  
    8.  dns_lookup_realm = false  
    9.  dns_lookup_kdc = false  
    10.  ticket_lifetime = 24h  
    11.  forwardable = yes  
    12.   
    13. [realms]  
    14.  AD.LOCAL = {  
    15.   kdc = ws2008r2.ad.local:88  
    16.  }  
    17.   
    18. [domain_realm]  
    19.  .ad.local = AD.LOCAL  
    20.  ad.local = AD.LOCAL  
    21.   
    22. [appdefaults]  
    23.  pam = {  
    24.    debug = false  
    25.    ticket_lifetime = 36000  
    26.    renew_lifetime = 36000  
    27.    forwardable = true  
    28.    krb4_convert = false  
    29.  }  

    4. /etc/httpd/conf.d/auth_kerb.conf を編集する。
    1. <Location /private>  
    2. #  SSLRequireSSL  
    3.   AuthType Kerberos  
    4.   AuthName "Kerberos Login"  
    5.   KrbServiceName HTTP/centos53.ad.local  
    6.   KrbMethodNegotiate Off  
    7.   KrbMethodK5Passwd On  
    8.   KrbAuthRealms AD.LOCAL  
    9.   Krb5KeyTab /etc/httpd/conf/keytab  
    10.   require valid-user  
    11. </Location>  
    ※ここでは、SPNEGOによるSSOではなく、BASIC認証に設定しています。

    5. apache を再起動する
    service httpd restart

    3)動作確認


    1. クライアントPCから、Webサーバにアクセスしてみる。
    http://centos53.ad.local/private/foge

    2. BASIC認証のダイアログが表示されたら、ADに登録されているユーザ・パスワードを入力する。

    3. 404 Not Found になれば正常に動作している。

    4)統合ウィンドウズ認証に変更する


    1. /etc/httpd/conf.d/auth_kerb.conf を編集する。
    1. <Location /private>  
    2.   .  
    3.   .  
    4.   KrbMethodNegotiate On  
    5.   KrbMethodK5Passwd Off  
    6.   .  
    7.   .  
    8. </Location>  

    2. 3)と同様に動作確認する。→認証ダイアログは表示されないので、ADに参加しているクライアントPCで動作確認すること。

    補足


    ■ CentOS側では、REMOTE_USERで認証されたユーザがわかります。
    ■ 認証失敗したときは、ErrorDocument 401 とかでなんとかなると思います。

    2009年10月15日木曜日

    BDRemoconをAutoHotkeyでカスタマイズする Bookmark and Share

    BDRemoconをAutoHotkeyでカスタマイズしてみます。

    Windows Media Player、iTunes、VLC メディアプレイヤー で、再生・停止・送り・戻し などを
    制御できるようにします。

    1. GroupAdd, MonsterTV, ahk_class TApplication  
    2. GroupAdd, MonsterTV, ahk_class TFormVideo  
    3. GroupAdd, MonsterTV, ahk_class TFormEPG  
    4.   
    5. GroupAdd, WMPlayer, ahk_class WMPlayerApp  
    6. GroupAdd, WMPlayer, ahk_class WMPTransition  
    7. GroupAdd, WMPlayer, ahk_class WMP Skin Host  
    8.   
    9.   
    10. ;;  
    11. ;; Windows Media Player  
    12. ;;  
    13. #IfWinActive ahk_group WMPlayer  
    14.   +^F13::Send ^p                          ; PLAY    : Play and Pause WMP  
    15.   +^F14::Send ^p                          ; PAUSE   : Play and Pause WMP  
    16.    ^F24::Send ^s                          ; STOP    : Stop WMP  
    17.   +^F18::Send ^f                          ; NEXT    : Next Track WMP  
    18.   +^F15::Send ^b                          ; PREV    : Prev Track WMP  
    19.   +^F17::Send +^f                         ; SCAN    : Forward  
    20.   +^F16::Send +^b                         ; SCAN    : Rewind  
    21.    ^F17::Send !{Return}                   ; DISPLAY : FullScreen  
    22.   
    23. ;;  
    24. ;; iTunes  
    25. ;;  
    26. #IfWinActive ahk_class iTunes  
    27.   +^F13::PostMessage 7930917504       ; PLAY  : Play and Pause iTunes  
    28.   +^F14::PostMessage 7930917504       ; PAUSE : Play and Pause iTunes  
    29.    ^F24::PostMessage 7930851968       ; STOP  : Stop iTunes  
    30.   +^F18::PostMessage 7930720896       ; NEXT  : Next Track iTunes  
    31.   +^F15::PostMessage 7930786432       ; PREV  : Prev Track iTunes  
    32.   
    33. ;;  
    34. ;; VLC media player  
    35. ;;  
    36. #IfWinActive VLC ahk_class QWidget  
    37.    ^F22::Send n                           ; START   : Next Title  
    38.   +^F13::Send {Space}                     ; PLAY    : Play and Pause WMP  
    39.   +^F14::Send {Space}                     ; PAUSE   : Play and Pause WMP  
    40.    ^F24::Send s                           ; STOP    : Stop WMP  
    41.   +^F18::Send +n                          ; NEXT    : Next Track WMP  
    42.   +^F15::Send +p                          ; PREV    : Prev Track WMP  
    43.   +^F16::Send !{Left}                     ; SCAN<<  : Slow  
    44.   +^F17::Send !{Right}                    ; SCAN>>  : Fast  
    45.    ^F17::Send {F11}                       ; DISPLAY : FullScreen  
    46.   
    47. #IfWinActive  

    2009年10月6日火曜日

    BDリモコンの電池消耗が早くないか?(その後) Bookmark and Share

    先日の「BDリモコンの電池消耗が早くないか?」の件で、今日の昼頃にbluetoothのリンクが 切れるようになりました。
    2本の電池を入れ替えてみましたが、一時的にしか回復せず・・・

    結局、eneloopで一週間くらいしかもたないということですか。

    Microsoft Bluetooth Notebook Mouse 5000とかは適当にスリープに入っているようで、まだ一度も電池を換えたことはないんですけど。

    もう少し様子を見てみますか。

    2009年10月5日月曜日

    [Flex] locale と DateFormatter Bookmark and Share

    @ITの記事「Amazon S3とAdobe AIRで“クラウドRIA”を作ってみた」を試してみた。
    以前に試して問題のあった「s3e - Project Hosting on Google Code」となにが違うのか確認したかったからだ。
    ちなみにどちらも Amazon S3 の操作には、as3awss3lib を利用している。

    以前の問題というのは、DateFormatter を利用して月や曜日を編集すると日本語表記になってしまうということだ。
    日本語環境なのでそれはそれで正しいのだが、Amazon S3へのHTTPリクエストヘッダなどを編集しようとすると都合が悪い。

    で、@ITからサンプルアプリをダウンロードして試してみる。
    → 問題ない・・・

    いろいろ違いを確認していたら、Flex Builder のプロジェクトのプロパティで、"-locale en_US"となっていた。
    → なるほど・・・

    s3eのときは、以下のようにして対応したのだけれど、javaとかと同様にlocaleを指定できるフォーマッタが必要ではないかね。
    1. mx.formatters.DateBase.dayNamesShort = ['Sun''Mon''Tue''Wed''Thu''Fri''Sat'];  
    2. mx.formatters.DateBase.monthNamesShort = ['Jan''Feb''Mar''Apr''May''Jun''Jul''Aug''Sep''Oct''Nov''Dec'];  

    2009年10月1日木曜日

    [Teiid] ユーザを追加する(LDAP Membership Domain) Bookmark and Share

    今回は、ユーザアカウントをLDAP(Active Directory)と連携してみます。
    細かい手順はFile Membership Domainと同じですので、<teiid-install>/membership-ldap.propertiesと細かい注意点のみです。

    ■<teiid-install>/membership-ldap.properties
     ADのドメイン:ad.local
    1. # Configuration file for LDAP membership domain  
    2.   
    3. activate=true  
    4.   
    5. # The class that implements the LDAP membership   
    6. ldap.AuthDomainClass=com.metamatrix.platform.security.membership.spi.ldap.LDAPMembershipDomain  
    7.   
    8. #Full LDAP URL (mandatory)  
    9. ldapURL=ldap://localhost:389  
    10.   
    11. #Bind account password for group lookup.  
    12. ldapAdmin.password=<administrator's password>  
    13.   
    14. #The attribute(s) that uniquely identifies a user.  
    15. #users.displayName.attribute = uid  
    16. users.displayName.attribute = name  
    17.   
    18. #The search filter(s) to apply to each users root context.  
    19. users.searchFilter=(objectclass=*)  
    20.   
    21. #Specifies the context(s) to use when searching for users.(mandatory)  
    22. users.rootContext=cn=Users,dc=ad,dc=local  
    23.   
    24. #Bind account DN for group lookup.  
    25. ldapAdmin.dn=cn=administrator,cn=Users,dc=ad,dc=local  
    26.   
    27. #Attribute(s) that appears on each user that identifies group membership.  
    28. users.memberOf.attribute=  
    29.   
    30. #The attribute(s) that uniquely identifies a group.  
    31. groups.displayName.attribute=  
    32.   
    33. #How far down the directory tree to search each users root context.  
    34. users.searchScope=SUBTREE_SCOPE  
    35.   
    36. #Specifies the context(s) to use when searching for groups.(mandatory)  
    37. groups.rootContext=cn=Groups,dc=ad,dc=local  
    38.   
    39. # Membership Domain Class Name  
    40. AuthDomainClass=com.metamatrix.platform.security.membership.spi.ldap.LDAPMembershipDomain  
    41.   
    42. #The search filter(s) to apply to each groups root context  
    43. groups.searchFilter=(objectclass=*)  
    44.   
    45. #How far down the directory tree to search each groups root context.  
    46. groups.searchScope=SUBTREE_SCOPE  
    47.   
    48. #Time to wait for LDAP operations to complete.(defaults to unlimited)  
    49. #txnTimeoutInMillis=  
    50.   
    51. #The attribute(s) that contains the members of the group.  
    52. groups.groupMember.attribute=  

    注意点としては、"users.displayName.attribute" が、AD の場合 uid ではダメで、name または cn としてください。

    うまくいかないときは、<teiid-install>/deploy/log4j.xmlを編集するとヒントが出てくるかもしれません。
    自分は、以下のようにしてみました。
    1. <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">  
    2.      <appender-ref ref="FILE"/>  
    3.      <appender-ref ref="CONSOLE"/>  
    4.    </appender>  
    1. <!-- Console Appender -->  
    2.    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">  
    3.       <param name="Target" value="System.out"/>  
    4.       <param name="Threshold" value="INFO"/>  
    5.       <layout class="org.apache.log4j.PatternLayout">  
    6.          <param name="ConversionPattern" value="%d %p [%t] %c - %m%n"/>  
    7.       </layout>  
    8.    </appender>  
    9.    <!-- -->  
    1. <logger name="org.teiid">  
    2.      <!-- level value="WARN" /-->  
    3.      <level value="INFO" />  
    4.    </logger>  

    今日の読書 Bookmark and Share

    これも図書館で借りてきました。
    「失われた町」だけでなく、他の作品を読んでからの方が楽しめると思います。
    でも、「失われた町」と若干整合性がないような・・・
    次は、ハイポジション辺りを掘り下げてくるのかな?

    刻まれない明日
    刻まれない明日
    posted with amazlet at 09.10.01
    三崎 亜記
    祥伝社
    売り上げランキング: 14678
    おすすめ度の平均: 4.0
    4 忘れられない明日
    5 明日の希望は、残る人たちの新しい出会いから生まれる
    3 淡々と仕上げ過ぎた
    5 相変わらずの個性で進む物語♪

    [Teiid] ユーザを追加する(File Membership Domain) Bookmark and Share

    simpleclient/JDBCClient.java では、"admin" というユーザを使用して接続していました。
    この "admin" ユーザは、<teiid-install>/deploy.properties の membership.superUser です。

    常にスーパーユーザを使用するというのは、運用上問題があるので、ユーザの追加を行ってみます。
     まずは、 File Membership Domain というプロパティファイルを使用した方式です。

    1. <teiid-install>/deploy/membership-file.properties を以下のように編集します。
    1. # File Membership Domain Settings (activate, Membership Domain Class Name, Property file for configuration)   
    2. activate=true  

    2. <teiid-install>/deploy/users.properties を作成します。
     プロパティファイル形式で、user=passwordの形式となります。
    john=password1
    paul=password2
     今回は、パスワードは平文です。

    3. <teiid-install>/deploy/groups.properties を作成します。
     プロパティファイル形式で、group=user[,users...]の形式となります。
    group1=john,paul
    group2=paul
     認証に使うだけなら内容は空でよいみたいです。

    4. <teiid-install>/examples/simpleclient/JDBCClient.java を修正して動作確認をします。
    1. return DriverManager.getConnection(url, "john""password1");    
    1. ds.setUser("paul");  
    2. ds.setPassword("password2");  

    次回は、LDAP(Active Directory)との認証統合にチャレンジしてみましょう。

    2009年9月30日水曜日

    [Teiid] exampleを動かしてみる (2) Bookmark and Share

    次に simpleclient を "Server" mode に変更してみます。

    Connecting to Teiid Server - JBoss Community

    1. simpleclient/JDBCClient.java を以下のように修正します。
    1. static Connection getDriverConnection(String vdb) throws Exception {  
    2.   //String url = "jdbc:metamatrix:"+vdb+"@../../deploy.properties";  
    3.   String url = "jdbc:metamatrix:"+vdb+"@mm://localhost:31000";  
    4.   Class.forName("org.teiid.jdbc.TeiidDriver");  
    5.   
    6.   return DriverManager.getConnection(url,"admin""teiid");    
    7. }  
    1. static Connection getDataSourceConnection(String vdb) throws Exception {  
    2.   TeiidDataSource ds = new TeiidDataSource();  
    3.   ds.setDatabaseName(vdb);  
    4.   ds.setUser("admin");  
    5.   ds.setPassword("teiid");  
    6.   //ds.setEmbeddedBootstrapFile("../../deploy.properties");  
    7.   ds.setServerName("localhost");  
    8.   ds.setPortNumber(31000);  
    9.   
    10.   return ds.getConnection();  
    11. }  

    2. JDBCClient.javaを再コンパイルします。
    1. javac -classpath ../../client/teiid-6.2.0-client.jar JDBCClient.java  

    3. Teiid Serverを起動します。
     新しいコマンドプロンプトを起動します。
    1. > cd [Teiid Home]/bin  
    2. > run.bat  
    3. ===============================================================================  
    4.   
    5.   Teiid Bootstrap Environment  
    6.   
    7.   TEIID_HOME: C:\java\teiid-6.2.0  
    8.   
    9.   JAVA: c:\Program Files\java\jdk1.6.0_16\bin\java  
    10.   
    11.   JAVA_OPTS:  -Xms128m -Xmx512m -XX:MaxPermSize=256m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dteiid.home=C:\java\teiid-6.2.0  
    12.   
    13.   CLASSPATH: C:\java\teiid-6.2.0\lib\patches\*;C:\java\teiid-6.2.0\deploy;C:\java\teiid-6.2.0\client\*;C:\java\teiid-6.2.0\lib\*;  
    14.   
    15. ===============================================================================  
    16.   
    17. Teiid Server started on port = 31000 in 3 Secs  

    4. run.batを実行します。
    1. >run.bat admin "select * from groups"  
    前回と同様の結果となれば成功です。

    5. 確認の為、Teiid Serverを停止して、run.batがエラーになることを確認します。
     Teiid Server を起動したコマンドプロンプトで、Ctrl + C を入力して、終了させます。
     run.batを実行します。下記のようなスタックトレースが出力されます。
    1. Executing using the TeiidDriver  
    2. 2009/09/30 10:58:25 org.teiid.jdbc.SocketProfile connect  
    3. 致命的: Could not create connection  
    4. com.metamatrix.common.comm.exception.SingleInstanceCommunicationException: Error establishing socket to host and port: localhost:31000. Reason: Connection refused: connect  
    5.         at com.metamatrix.common.comm.platform.socket.client.SocketServerConnection.selectServerInstance(SocketServerConnection.java:168)  
    6.         at com.metamatrix.common.comm.platform.socket.client.SocketServerConnection$ServerConnectionInvocationHandler.getTarget(SocketServerConnection.java:208)  
    7. ・  
    8. ・  
    9. ・  

    2009年9月29日火曜日

    [Teiid] exampleを動かしてみる (1) Bookmark and Share

    Teiidのexampleを動かしてみましょう。Teiid Runtimeをダウンロードして、任意のフォルダに解凍してください。

    examplesフォルダに、simpleclient, portfolio, dynamicvdb-portfolio の3つがあります。
    まずは simpleclient を動かしてみます。

    コマンドプロンプトを起動して、examples/simpleclient フォルダに移動します。
    readme.txt を軽く読んでみてください。

    真ん中辺りに次のコマンドが記載されています。
     $run.sh admin "select * from groups"

    まずはこの通りに実行してみます。(Windowsなので、run.batを使用します)


    アレッ、エラーになってしまいました。
    Windows版のrun.batには不具合があるようで、次のように編集してください。
    1. rem Second one adds the Teiid client  
    2. set TEIID_PATH=../client/teiid-6.2.0-client.jar  

    1. rem Second one adds the Teiid client  
    2. set TEIID_PATH=../../client/teiid-6.2.0-client.jar  

    では、もう一度実行してみます。

    うまくいったようです。

    このサンプルがなにをしているかというと、仮想データベース"admin"に対して、"select * from groups"というSQL文を実行しています。
    仮想データベース"admin"は、Teiid Runtimeにバンドルされているサンプルで、中身は特にありません。
    中身がないなら "select * from groups" はどういうこと?となるのですが、こちら(リファレンスマニュアル:7.2.1)にあるSystem.GroupsというTeiidのメタデータテーブルを参照しています。

    2009年9月28日月曜日

    [Teiid] Teiid Designer 6.2.0 をインストールする Bookmark and Share

    Teiid の virtual database を GUI から作成・編集する Teiid Designer をインストールしてみます。

    JBossコミュニティのドキュメント:Download & Install - JBoss Community

    1. 事前に以下のものを準備します。
     2. Eclipse を起動し、Teiid Designer をインストールします。
    • メニューから Help -> Software Updates の順に選択します。
    • "Available Software" タブを選択します。
    • "Add Site..." ボタンを押下します。
    • "Add Site"ダイアログが表示されたら、"Archive..."ボタンを押下します。
    • ダウンロードしておいた "teiid_designer_6.2.0.v20090922.zip" を選択し、"OK"を選択します。
    • ツリーに "Teiid Designer Update Site Archive" が現れたら、チェックボックスを選択します。


    • "Install..." ボタンを押下して、インストールを実行します。
    3. Eclipseを再起動したら、Window -> Open Perspective -> (Other) -> Designer を選択して、"Designer Perspective"に切り替えてみましょう。
    • "Model Explorer"などが表示されパースペクティブが切り替われば、インストール終了です。

    Teiid 6.2.0 Release Bookmark and Share

    データソースの仮想化を実現するTeiidの6.2.0がリリースされていました。

    Teiid 6.2.0 Release
    22 Sept 09
    We are pleased to announce the release of Teiid 6.2.0. 6.2 introduces the standalone-server mode, AdminShell for scripted/interative use of Teiid, and the ability to directly import metadata from JDBC and text sources. As usual there are many other feature and bug fixes.

    • 旧バージョンでは Embedded と呼ばれていたものが、Teiid Runtime という名称に代わったようです。[ TEIID-732 ]
    • 今までは、EmbeddedかServerでドライバクラスが別だったのですが、統合されたようです。[ TEIID-701 ]

    BDリモコンの電池消耗が早くないか? Bookmark and Share

    BDリモコンをPCと連携して使用していると電池の減りが早い気がする。

    エネループの充電完了したので、マーキングしておく。

    2009年9月27日日曜日

    VHDブートのはまりどころ? Bookmark and Share

    Windows7 または Windows Server 2008 R2 の新機能であるVHDブートを試してみました。

    参考リンク:

    手順:
    1. 物理マシンに Windows Server 2008 R2 をインストール
    2. Hyper-V の仮想マシンに Windows7 をインストール
    3. sysprep した仮想ディスクをコピー
    4. bcdeditコマンドでブートメニューに VHD を追加する

    はまりどころ:
    • 上記手順の 1 ~ 3 までは何事もなく終了。
    • bcdedit で仮想ディスクを登録していきます。
    bcdedit /copy {current} /d "Windows7 VHD"
    bcdedit /set {new GUID Number} device vhd=[C:]\Windows7.vhd
    bcdedit /set {new GUID Number} osdevice vhd=[C:]\Windows7.vhd

    ここで注意しないといけないのは、VHDのパスを指定するところで、ドライブの[]は省略可能という意味ではなくそのまま入力する必要があるということです。
    でないといつまでも「指定されたデバイスは有効ではありません。」というエラーメッセージと格闘することになります。
    しかし、なんでこんな仕様なんでしょうか。[]必要だったら、自動で付けてくれといいたい。

    2009年9月23日水曜日

    Windows Media Player のウィンドウクラス Bookmark and Share

    メモ
    フルモード
    WMPlayerApp
    スキンモード
    WMP Skin Host
    全画面表示
    WMPTransition

    2009年9月22日火曜日

    GlovePIEの代わりにBDリモコンでPCを操作するアプリ Bookmark and Share

    このBLOGでも、以前にBDリモコンとGlovePIEとの連携ついてご紹介していますが、この度、
    BDRemocon というソフトを作りましたので、公開してみます。

    GlovePIEの問題は、
    • Vistaでスリープから復帰するとCPUを使いまくる
    • タスクトレイから終了すると EAccessViolation とかなる
    です。

    BDRemocon については、下記のリンク先にドキュメントがありますので、
    そちらをご覧ください。
    ※現状のBDRemoconは、GlovePIEなどと比べてとても融通が利きません。
    autohotkeyなどのすばらしいソフトウェアと連携させてご利用ください。

    BDRemocon ver0.1

    2009年9月19日土曜日

    Google ドキュメントの表をコピー&ペーストしたときの不具合 Bookmark and Share

    Firefox(3.5.2) で Google ドキュメントの表をコピー&ペーストすると罫線が描画されない。

    「HTMLを編集」で確認してみると TBODYタグの下に というタグが入っているのが原因らしい。

    ちなみに IE8 では、コピー&ペーストは問題なかったけど、そもそもセルを選択した時に罫線がハイライトしないのね。

    2009年9月18日金曜日

    今日の読書 Bookmark and Share

    守人シリーズに続いてこちらも大変面白いです。
    2冊一気に読んでしまった。
    (3),(4)も読みたいけど、まだ文庫ではないんですよね。
    とりあえず、(2)王獣編で一旦完結しているので、しばらく待ちますか。

    獣の奏者〈1〉闘蛇編 (講談社文庫)
    上橋 菜穂子
    講談社
    売り上げランキング: 245
    おすすめ度の平均: 5.0
    5 目には映らないものを感じる力
    5 「自然」との共生
    5 読み出せば止まらなくなる
    5 面白い!
    5 人が成長する物語

    獣の奏者〈2〉王獣編 (講談社文庫)
    上橋 菜穂子
    講談社
    売り上げランキング: 222
    おすすめ度の平均: 4.5
    5 面白かった!
    5 飛翔
    5 なんで?
    3 ハードルの越え方

    2009年9月17日木曜日

    ノートン インターネット セキュリティ 2010 Bookmark and Share

    今日、ヨドバシで発売されていたので、家PCをアップグレードしてみる。

    ここから体験版をダウンロードして、アップグレード(要再起動)すれば、ライセンスは
    そのまま引き継がれます。
    ※インストール後、LiveUpdateをお忘れなく。

    ちなみにGUIはこんな感じになりました。














    もともとNIS2009でも重くはなかったので、違いはよくわかりません。

    2009年9月15日火曜日

    Oracle Database 11g Release 2 Bookmark and Share

    日本オラクル、Oracle Database 11g R2を発表(ITmedia)

    Oracle 11gR2 リリースだそうで、USのOTNでは linux 版が
    入手可能になっています。

    Oracle Database 11g Release 2

    Oracle Database 11g Release 2
    Standard Edition, Standard Edition One, and Enterprise Edition


    (11.2.0.1.0)

    Download Linux x86 | Disk 1, Disk 2 (2.1 GB) | See All (Including Client, Gateways, Grid Infrastructure, more)
    Download Linux x86-64 | Disk 1, Disk 2 (2.2 GB) | See All (Including Client, Gateways, Grid Infrastructure, more)

    2009年9月13日日曜日

    Hyper-V 検定 Bookmark and Share

    合格しました。

    こちらから受験できます。Hyper-V 検定

    今日の読書 Bookmark and Share

    図書館で借りてきました。

    鼓笛隊の襲来
    鼓笛隊の襲来
    posted with amazlet at 09.09.13
    三崎 亜記
    光文社
    売り上げランキング: 170011

    2009年9月12日土曜日

    Bluetooth stack を TOSHIBA から Windows 標準に変えてみた (2) Bookmark and Share

    昨日、下記のように書いてしまったのですが、
    結果は変わらず・・・
    具体的には、RawInput API でHIDを列挙するアプリを作って、接続・切断時にそのアプリを使ってデバイスを確認しします。Thinkpadではデバイスが増減するのですが、PLANEXでは変化しません。

    改めて確認したところ、Windows標準スタックではうまくいっていることが確認できました。

    下記は、Windows標準スタックで、BDリモコンを接続・切断したときのデバイスマネージャです。
    • 接続しているとき
    • 接続していないとき

    「HID 準拠ゲーム コントローラ」が増減しているのがわかると思います。
    ※一応、細くしておきますが、Bluetoothデバイスはペアリングしたままです。

    ちなみに HID では、Raw Input API でもデバイスの接続・切断を判別できることを確認しました。
    (今回は確認プログラムは割愛しますが、欲しい人いたらコメントいただければ公開します)

    2009年9月11日金曜日

    Bluetooth stack を TOSHIBA から Windows 標準に変えてみた Bookmark and Share

    我が家には2つのBluetoothアダプタがあります。
    • PLANEX BT-MicroEDR2X
    • Thinkpad X60 内臓
    どちらもWindows Vistaですが、PLANEXは添付のToshiba stackを、
    Thinkpad では、Windows標準スタックを使っていました。

    あるアプリを作っていて、Windows標準スタックではデバイスの接続・切断(ペアリングではなくデバイスの電池を抜くとかする)をするとイベントとして検知できるのですが、PLANEX(Toshiba)では、そのイベントが挙がってきません。

    そこで、PLANEXの方もTOSHIBAスタックをアンインストールして、Windows標準スタックに変えてみました。
    (Toshibaスタックをアンインストールするだけですが、Windows標準スタックでBDリモコンのペアリングに失敗したので、デバイスマネージャから一度削除すると認識されました)

    結果は変わらず・・・
    具体的には、RawInput API でHIDを列挙するアプリを作って、接続・切断時にそのアプリを使ってデバイスを確認しします。Thinkpadではデバイスが増減するのですが、PLANEXでは変化しません。

    なので、この辺の挙動はドングルに依存するのかもしれません。

    そもそもは、あるアプリを作っていて切断・接続時の挙動がおかしいのを修正したかったのですが、根本的な問題は他にあるのかもしれません。

    とりあえず、ここまで

    2009年9月10日木曜日

    今日のアップデート Bookmark and Share

    ■Windows Update (Vista x64)
    • Windows Vista for x64-Based Systems 用セキュリティ更新プログラム (KB973768)
    • x64-based Systems 用 Windows メール用迷惑メール フィルタの更新プログラム [2009 年 9 月] (KB905866)
    • Microsoft Silverlight の更新 (KB974331)
    • Windows Vista for x64-based Systems 用 Windows Media フォーマット ランタイム 11 のセキュリティ更新プログラム (KB968816)
    • Windows Vista for x64-Based Systems 用セキュリティ更新プログラム (KB967723)
    • Windows Vista for x64-based Systems 用 Jscript 5.8 のセキュリティ更新プログラム (KB971961)
    • Windows Vista for x64-Based Systems 用セキュリティ更新プログラム (KB970710)
    • 悪意のあるソフトウェアの削除ツール x64 - 2009 年 9 月 (KB890830)

    ■Firefox 3.5.3

    ■iTunes 9.0

    ■Norton Internet Security 2009
    • 16.7.2.11 で Norton IPS と Norton Toolbar が Firefox 3.5 に対応した模様

    今日買った本 Bookmark and Share

    Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)
    Martin Odersky Lex Spoon、Bill Venners
    インプレスジャパン
    売り上げランキング: 1887





    これは買わなかった

    2009年9月3日木曜日

    Windows 7 Enterprise 90-day Trial Bookmark and Share

    表題の通り、「Windows 7 Enterprise 90-day Trial」がTechNet Evaluation Centerからダウンロードできるようになっています。
    (URLはこちら http://technet.microsoft.com/en-us/evalcenter/cc442495.aspx?ITPID=sprblog

    恐らく、TechNet・MSDNの会員以外でもダウンロードできると思います。
    ですから、今までRCしか入手できなかった人たちにとっては、初めてのRTM版ではないかと思います。
    (自分はTechNet会員なのであまり必要はないのですが・・・)

    ダウンロードできるのは、x86/x64 のEnglish, French, German, Japanese, and Spanish版となっています。

    2009年8月29日土曜日

    Eee PC 901-X に Windows7 をインストールする Bookmark and Share

    日本語版RTMを「Eee PC 901-X」にインストールしてみた。

    SSDは、BUFFALO SHD-EP9Mに換装してあるので、BIOSでブートドライブをこちらに変更しておきます。
    後は、特別はことはなくインストールできます。

    これから Windows7化を検討している人へ。
    • Windows7は軽いと言われていますが、やはりEeePCくらいではちょっと厳しい(重い)と思います。
    • インストール前に BIOS を「バージョン 2103 」へ更新しましょう。解像度を変更するときに画面がブラックアウトしてしまいます。

    インストール後、デバイスマネージャを確認すると、ACPIデバイスに?マークがついていますが、
    リカバリDVDのドライバをインストールしたら、?は消えました。
    ただし、このドライバとビデオ・オーディオ辺りの相性の問題か、エラーダイアログが表示されるようになってしまいました。

    上記のようにちょっと重いと思ったので、EeePC + Windows7はここまでで、XPかUbuntuにしようと思っています。

    ちなみに、Windows7ってシャットダウンに時間がかかるような気がします。

    2009年8月12日水曜日

    再:新潟問題 Bookmark and Share

    J-CASTで、選挙ウォッチ2009という特集が始まりました。

    この特集の中に、衆院選立候補予定者がサイドバーに表示されるのですが、
    これに例の「地域自動判定技術」が使われています。

    結果、東京16区に投票する私に表示されるのは、「新潟県」の候補者です。

    2009年8月7日金曜日

    Windows7(RTM)のインストール:日本語化 Bookmark and Share

    Windows7RTMがリリースされたので、インストールしてみます。
    現状、リリースされているのは、英語版なので、Ultimate + LanguagePackで
    日本語化します。

    まずはVMware Server にインストールするので、x86版です。

    サブスクライバダウンロードから、次のメディアを取得します。
    • Windows 7 Ultimate (x86) - DVD (English)
    • Windows 7 Language Pack (x86) - DVD (Multiple Languages)
    ※本日(8/7)時点では、Ultimateは「ダウンロード」からはリンクが無効になっていて、
    「トップ ダウンロード」からダウンロードする必要がありました。

    Windows7(English)をインストールします。
    ※インストール時の言語を日本語にはできませんが、日付・キーボードなどは
    日本語のものを選択できるようになっています。

    コントロールパネル(Control Panel)から"Change display language"を選択します。

    "Region and Language"というダイアログが出てくるので、"Keyboards and Languages"タブを表示します。
    画面中央にある"Install/uninstall languages..."ボタンを押下します。

    "Install display languages"を選択します。
    "Browse computer or network"を選択します。(まだWindows Updateからはできないようです)
    Language PackのDVDを入れなおして、"Browse..."ボタンを押下します。
    DVDの"\langpacks\ja-jp"フォルダを選択します。
    リストに "Japanese(日本語)"が表示されたら、チェックボックスをクリックしてチェックします。

    ライセンスを承認して、"Next"ボタンを押下します。
    インストールが始まります。

    "Select display language" の画面が表示されたら、"日本語"と"Apply display language to welcome screen and system accounts"のチェックを有効にして、"Change display language"ボタンを押下します。

    再起動すると日本語化されています。

    ちなみに、VMware Toolsですが、
    • 1回目(英語版のとき)は失敗しました。
    • しかし、2回目(日本語化後)は成功しました。
    なのでドライバ類自体には問題ないものと思われます。

    2009年8月3日月曜日

    VMware Server2.0.0で使うためにVMware ESXiのインストールCDイメージからVMware Infrastructure Clientを手に入れる - 電気羊の夢を見よう Bookmark and Share

    昨日の続きで、VMware ESXi のメディアから VI Client を抜く方法

    VMware Server2.0.0で使うためにVMware ESXiのインストールCDイメージからVMware Infrastructure Clientを手に入れる - 電気羊の夢を見よう

    VMware Server にバンドルされているものよりも ESXi 3.5 Update4 に
    バンドルされている VI Client の方が若干新しいようです。

    しかし、VMware Server の 仮想マシン Ver.7 の編集はどちらもできないようです。

    2009年8月1日土曜日

    VMware Server 2.0.1 へ VIClient を追加する手順 Bookmark and Share

    VMware Server 2.x から Webベースのユーザインタフェースになっていますが、
    実は、VMware Server 2.0 には VMware Infrastructure Client がバンドルされています。
    しかし、VMware Server 2.0.1 にはバンドルされていません。

    VMware Server 2.0 をインストールし直すとか、ESXi 3(4は×)をインスールするとか
    やり方はありますが、ここでは VMware Server 2.0 のセットアップEXEから VIClient を
    抽出する方法を紹介します。

    1. VMwareのサイトから VMware Server 2.0(122956)をダウンロードします。
    2. ダウンロードしたEXEを実行します。(仮想マシンの中では怒られてしまいますので注意)
    3. インストーラが起動すると、%TEMP%\{AF08C71F-F822-4416-87A9-2BBF5A8A5F12}~setup の中に VMware Server.msi が現れるので、別のディレクトリにコピーします。
      ※太字部分は環境により異なるかもしれません。フォルダの作成日時などから判断してください。
    4. インストーラはキャンセルして終了します。
    5. コピーしたディレクトリで、以下のコマンドを実行します。
      msiexec /a "VMware Server.msi" targetdir=c:\temp\vmware /qn

      ※targetdirには適当なディレクトリを指定してください。
    6. しばらく待つと、c:\temp\vmware にファイルが展開されます。
    7. VMware Server\hostd\docroot\client フォルダに VMware-viclient.exe というファイルができているはずです。
    8. この VMware-viclient.exe を実行すると、VMware Infrastructure Clientがインストールされます。
    9. c:\temp\vmwareに展開されたファイルを削除します。

    参考:

    2009年7月30日木曜日

    神の守り人 Bookmark and Share

    先日、文庫版が書店に並んでいるのを見ました。
    自分は待ちきれず軽装版を図書館で借りてしまいました。
    文庫版でも、軽装版と同様、読み仮名ついてますね。
    文庫版にはなくてもいいと思うのですが。


    神の守り人〈上〉来訪編 (新潮文庫)
    上橋 菜穂子
    新潮社
    売り上げランキング: 42
    おすすめ度の平均: 5.0
    5 大河のようなストーリーが、ゆるやかに広がってゆく

    no image
    上橋 菜穂子
    新潮社
    売り上げランキング: 41
    おすすめ度の平均: 5.0
    5 筆力、展開力、描写力ともに、申し分なし!

    no image
    上橋 菜穂子 チーム北海道
    新潮社
    売り上げランキング: 204

    2009年7月19日日曜日

    Amazon S3でアクセスログを取得する Bookmark and Share

    各所で説明されているのですが、自分用まとめ。


    gem install aws-s3

    1. require 'rubygems'  
    2. require 'aws/s3'  
    3.   
    4. begin  
    5.  ACCESS_KEY_ID     = 'xxx'  
    6.  SECRET_ACCESS_KEY = 'yyy'  
    7.   
    8.  # アクセスログを取得したいbacket  
    9.  CONTENTS_BACKET = 'contents.backet'  
    10.  # アクセスログ出力用backet  
    11.  LOGS_BACKET = 'logs.backet'  
    12.   
    13.  AWS::S3::Base.establish_connection!(  
    14.    :access_key_id     => ACCESS_KEY_ID,  
    15.    :secret_access_key => SECRET_ACCESS_KEY  
    16.  )  
    17.   
    18.  # ログ出力用のbacketがなかったら作成する  
    19.  begin  
    20.    AWS::S3::Bucket.find(LOGS_BACKET)  
    21.  rescue AWS::S3::NoSuchBucket  
    22.    AWS::S3::Bucket.create(LOGS_BACKET)  
    23.  end  
    24.   
    25.  # 現在ログ出力が有効か確認する  
    26.  p AWS::S3::Bucket.logging_enabled_for? CONTENTS_BACKET  
    27.   
    28.  # コンテンツと同じbacketにログを出力する  
    29. #  AWS::S3::Bucket.enable_logging_for(CONTENTS_BACKET)  
    30.   
    31.  # コンテンツと別のbacket(target_backet)にログを出力する  
    32.  AWS::S3::Bucket.enable_logging_for(CONTENTS_BACKET, 'target_bucket' => LOGS_BACKET)  
    33.   
    34.  # ログ出力を停止する  
    35. #  AWS::S3::Bucket.disable_logging_for(CONTENTS_BACKET)  
    36.   
    37.  # 作成されたログの中身を確認する  
    38. #  logs = AWS::S3::Bucket.logs(LOGS_BACKET)  
    39. #  logs.each do |log|  
    40. #    log.lines.each do |line|  
    41. #      p line  
    42. #    end  
    43. #  end  
    44. end  

    混ぜるな危険! Bookmark and Share

    ガリレオ先生(Eclipse 3.5)にFlex Builder プラグインをインストールしました。
    ※既にプラグインが多数(Aptana Studio, RadRails, m2eclipse, egit, subversivenなど)インストールされている。

    1. "Install New Software ..." で、"C:\Program Files\Adobe\Flex Builder 3 Plug-in\com.adobe.flexbuilder.update.site"を指定する。
    2. eclipseのフォルダ(eclipse.exeのあるところ)に、"links"フォルダを作成し、“com.adobe.flexbuilder.feature.core.link”というテキストファイルを作成する。
      see. Getting Flex Builder 3 plugin to survive a new Eclipse Version

    しかし・・・
    Missing requirement: Mssql Plug-in 3.0.214193 (com.adobe.datatools.derived 3.0.214193) requires 'bundle com.ibm.icu [3.4.0,4.0.0)' but it could not be found
    とか
    Missing requirement: Flex Debug Plug-in for Eclipse 3.2 3.0.214193 (com.adobe.flexbuilder.debug.e32 3.0.214193) requires 'bundle org.eclipse.debug.ui [3.2.0,3.3.0)' but it could not be found
    とか
    The artifact file for osgi.bundle,com.adobe.extflashplayer,3.0.214193 was not found.

    となってどれもうまくいかない。

    そこで、eclipseをアーカイブから解凍しなおして、2を再度実行、ワークスペースも新しく作り直したら
    あっさり動いた。

    結論:
     まぜるな危険!!

    2009年7月11日土曜日

    heroku スタートアップメモ Bookmark and Share

    1. >gem install heroku  
    2. Successfully installed rest-client-1.0.3  
    3. Successfully installed heroku-1.0  
    4. 2 gems installed  
    5. Installing ri documentation for rest-client-1.0.3...  
    6. Installing ri documentation for heroku-1.0...  
    7. Installing RDoc documentation for rest-client-1.0.3...  
    8. Installing RDoc documentation for heroku-1.0...  


    1. >heroku create  
    2. Enter your Heroku credentials.  
    3. Email:  
    4. Password:  
    5. Uploading ssh public key {Home Directory}/.ssh/id_rsa.pub  
    6. Created http://freezing-day-xx.heroku.com/ | git@heroku.com:freezing-day-xx.git  

    2009年7月9日木曜日

    「どこどこJP」って使えてるの? Bookmark and Share

    どこどこJP

    IPアドレスから、「市区町村単位まで位置認識が可能」とのことですが、
    東京23区内に在住している私がアクセスすると、「新潟」という返答が・・・

    まあ、モバイルとかIPアドレスの動的割り当てとか考えたら、なかなか難しいとか
    思うのですが、 Bフレッツ + ぷらら でほぼ常時接続でこの結果ですか・・・

    いや、別に使わなければいいのですが、J-CASTニュース
    「コアラのマーチの天気予報」で、いつも"新潟"の天気をお知らせ頂いているので。

    ※せめて間違っている場合を考えて、"変更"くらいできるようになっていて欲しい。

    2009年6月26日金曜日

    IIS7でCGIを動かす Bookmark and Share

    某所で「できねぇ」ってことだったのでメモ。
    ※ OSはVistaです。

    はじめに
    1. コントロールパネルの「プログラムと機能」から「Windowsの機能の有効化または無効化」を選択します。
    2. 「Internet Information Services」→「World Wide Web サービス」→「アプリケーション開発機能」→「CGI」にチェックが入っていることを確認します。

    1. アプリケーションはIISマネージャに登録されているものとします。
    2. 例として ruby の CGI を登録してみます。
    3. IISマネージャを開き、左側の「接続」ツリーからアプリケーションを選択します。
    4. 中央のペインに、下図の画面が表示されます。
    5. 「ハンドラマッピング」をダブルクリックします。
    6. 右側の「操作」ウィンドウの「モジュールマップの追加」をクリックします。
    7. 下図のように入力して、OKボタンを押下します。
    8. 「このISAPI拡張機能を有効にしますか?・・・」というダイアログが表示されるので、「はい」を選択します。
    9. 以上で、xxx.rb なファイルがCGIとして動作するようになります。