jQuery Mobile

やっとお試しする機会ができたので、ちょっと感想を。

HTMLとして定義のない属性を記述する必要があるので、これはこれように別途ページを作成する必要があるのが残念。まぁ、1ソースマルチユースはやっぱり難しそうね。

framework でここまでできてると作るのが簡単でいいんだけどちょっと変わったことやろうとおもうと難しいですね、やっぱり。フレームワークとしてはそれは正しいんだけどなぁ。

モバイル系のフレームワークも雨後の竹の子状態だけど、同じように独自属性が必要なら、最終的には jQuery Mobile に落ち着きそう。

Struts1.2.x で複数のパスを ActionServlet に割り当てる。

できないっぽい。

WARNING - The framework will not operate correctly if you define more than one element for the controller servlet.

マニュアルには書かれてる。

でもできるんじゃないかと思って幾つか設定を試してみる。

まずは単純に url-pattern を複数書いてみる。


action
*.do
/foo/*

ダメ。後ろの url-pattern が有効になる。

サーブレットそのものを複数書いてみる。


action
org.apache.struts.action.ActionServlet
・・・


foo
org.apache.struts.action.ActionServlet
・・・


action
*.do


foo
/foo/*

これもダメ。あとの設定が有効になってる。

こまった。

遅延制約

普段、データベースでの外部制約は殆ど設定せず、アプリケーション側で整合性をとるようにしてるんだけど、ちょっと外部制約をつけないと我慢できない人とお仕事することになって色々調べてたら遅延外部制約というものがあるらしい。

via 遅延制約 - オラクル・Oracleをマスターするための基本と仕組み

JBoss AS 7

Javaアプリケーションサーバの評価をするのに JBoss AS7 をインストールして何も考えずにスタンドアローンで起動したらエラーになった。7.0.0 の時は起こらなかったのに。。。



$ $JBOSS_HOME/bin/standalone.sh
=========================================================================

JBoss Bootstrap Environment

JBOSS_HOME: /opt/jboss7

JAVA: /opt/java/jdk/bin/java

JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

09:31:15,697 情報 [org.jboss.modules] JBoss Modules version 1.0.2.GA
09:31:16,205 INFO [org.jboss.msc] JBoss MSC version 1.0.1.GA
09:31:16,265 INFO [org.jboss.as] JBoss AS 7.0.2.Final "Arc" starting
09:31:16,613 ERROR [stderr] Exception in thread "Controller Boot Thread" java.lang.RuntimeException: org.jboss.as.controller.persistence.ConfigurationPersistenceException: Failed to parse configuration
09:31:16,615 ERROR [stderr] at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:89)
09:31:16,621 ERROR [stderr] at java.lang.Thread.run(Thread.java:722)
09:31:16,622 ERROR [stderr] Caused by: org.jboss.as.controller.persistence.ConfigurationPersistenceException: Failed to parse configuration
09:31:16,623 ERROR [stderr] at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:115)
09:31:16,627 ERROR [stderr] at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:104)
09:31:16,628 ERROR [stderr] at org.jboss.as.server.ServerService.boot(ServerService.java:195)
09:31:16,629 ERROR [stderr] at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:83)
09:31:16,630 ERROR [stderr] ... 1 more
09:31:16,633 ERROR [stderr] Caused by: java.lang.RuntimeException: Unable to determine a default name based on the local host name
09:31:16,634 ERROR [stderr] at org.jboss.as.controller.parsing.CommonXml.getDefaultName(CommonXml.java:184)
09:31:16,634 ERROR [stderr] at org.jboss.as.controller.parsing.StandaloneXml.readServerElement(StandaloneXml.java:137)
09:31:16,635 ERROR [stderr] at org.jboss.as.controller.parsing.StandaloneXml.readElement(StandaloneXml.java:91)
09:31:16,636 ERROR [stderr] at org.jboss.as.controller.parsing.StandaloneXml.readElement(StandaloneXml.java:79)
09:31:16,637 ERROR [stderr] at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:100)
09:31:16,638 ERROR [stderr] at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:59)
09:31:16,639 ERROR [stderr] at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:107)
09:31:16,646 ERROR [stderr] ... 4 more
09:31:16,646 ERROR [stderr] Caused by: java.net.UnknownHostException: nonce1: nonce1
09:31:16,647 ERROR [stderr] at java.net.InetAddress.getLocalHost(InetAddress.java:1438)
09:31:16,648 ERROR [stderr] at org.jboss.as.controller.parsing.CommonXml.getDefaultName(CommonXml.java:182)
09:31:16,649 ERROR [stderr] ... 10 more
09:31:16,651 ERROR [stderr] Caused by: java.net.UnknownHostException: nonce1
09:31:16,655 ERROR [stderr] at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
09:31:16,656 ERROR [stderr] at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:866)
09:31:16,657 ERROR [stderr] at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1258)
09:31:16,658 ERROR [stderr] at java.net.InetAddress.getLocalHost(InetAddress.java:1434)
09:31:16,661 ERROR [stderr] ... 11 more
^C09:31:32,404 INFO [org.jboss.as] JBoss AS 7.0.2.Final "Arc" stopped in 18ms


どうもホスト名を取得しにいってるみたいなんだけど、それがとれなくて怒られてるっぽい。
ググったら以下のサイトに出くわしたので、記載の通りに以下の XML ファイルの定義のところに name="standalone" 属性を追加


$ vi $JBOSS_HOME/standalone/configuration/standalone.xml

via Jboss AS7.01 final parse error?

lv がない。。。

CentOS 6 になったら lv がパッケージからなくなってる。。。

でも、less より lv の方が便利なのでやっぱり使いたい。ということで、以下の方法でインストール。

依存モジュールを yum でインストールし、Fedora 6 で提供されているパッケージの RPM を持ってきて、インストール。

$ wget http://archives.fedoraproject.org/pub/archive/fedora/linux/core/6/x86_64/os/Fedora/RPMS/lv-4.51-8.1.x86_64.rpm
$ sudo yum install -y compat-libtermcap.x86_64
$ sudo rpm -ivh lv-4.51-8.1.x86_64.rpm

他にも ソースから RPM を自分で作る方法もあるけど、ちょっとそこまでは。。

CSR ファイルで鍵の bit 長が何かを確認する。

こんな感じ

openssl req -text -in example.com.csr | head

出力例


Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=US, ST=NewYork, L=5 th Avenu, O=Example, Ltd., OU=Example Dpt., CN=*.example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:b2:3a:02:ad:c0:4d:d5:25:ef:d4:f7:02:51:c7:
a1:2b:12:32:bd:66:38:8f:6d:e9:2e:be:d9:b1:4a:

Nginx のインストール

CentOS 5.6 に tarball からインストールする。

$ wget http://nginx.org/download/nginx-1.0.9.tar.gz
$ tar zxvf nginx-1.0.9.tar.gz
$ cd nginx-1.0.9
$ ./configure --prefix=/usr/local/nginx-1.0.9 --with-http_ssl_module
$ make
$ sudo make install
$ sudo cp -p /usr/local/nginx-1.0.2/conf/nginx.conf /usr/local/nginx-1.0.9/conf/nginx.conf
$ sudo ln -s /usr/local/nginx-1.0.9 /usr/local/nginx

via CentOS - Installing Nginx from source

でも、最近やっと yum のリポジトリができてるので、新規にインストールする場合はその方がよいと思います。

via http://nginx.org/en/download.html

Windows に Subversion のサーバを作る。

個人のファイル管理用に Windows で Subversionリポジトリを作成する。

要件は以下の通り。

  • プロトコルはsvn
  • ネットワーク通信ありで
  • Windows 起動時にサービス起動

VisualSVN から Windows 用の Apache Subversion command line tools をダウンロードする。

展開して適当なフォルダにおき、以下のコマンドをコマンドプロンプトで実行

sc create svnserver binPath= "\svnserve.exe --service -r "

VMWare のイメージをコピーした場合にすること。

備忘録

  • VMWare をシャットダウンして、設定から MAC アドレスを確認
  • /etc/sysconfig/network-script/ifcfg-eth0 の MAC アドレスを正しい値に変更
  • /etc/sysconfig/network のホスト名を変更
  • /etc/udev/rules.d/70-persistent-net.rules を正しいないように修正

delicious api

昔、自分のために del.icio.us のタグを編集するアプリを作って完全放置状態だったんだけど、del.icio.us が売却されたので、ちょっと見直していたところ、どうも API の挙動が変わってるみたい。

具体的にはすべてのタグを取得したいんだけど、TOP 50 しかとれない。。。
ググってたらこんなやりとりが

All Tags not available

しばらく待つしかないようです。

rvm のインストール

rvm をみてインストール。 モードはシングルユーザで。

取りあえず、インストール

$ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

インストール後のメッセージに従って、~/.profile の末尾に以下を追記

-s "/Users/izuno/.rvm/scripts/rvm" && source "/Users/izuno/.rvm/scripts/rvm" # This loads RVM into a shell session.

依存するライブラリをインストール。

$ rvm pkg install readline
$ rvm pkg install iconv
$ rvm pkg install zlib
$ rvm pkg install openssl

インストール可能なリストを見て、必要なバージョンをインストール。
システムでインストールされているのが 1.8.7 系なのでそれは system を使うとして、1.9 系をインストール。

$ rvm list known
$ rvm install 1.9.2