最新 追記

会長@腹部日記


2011-12-02 [長年日記] この日を編集

_ 良作iPhoneアプリがいろいろ出てきた

なめこ

  • 子供達のお気に入り、んふんふ。

きのこの山

  • 次男はまだ一本も、きのこを狩れません。保育園児にはちょっと操作が難しいか。

What's on Air

  • 結構ネットラジオ好きです。

ZOHO invoice

  • iPhoneだけでもPDFエクスポートできるので便利。領収書・請求書等を気軽に管理したい人向けです。
    • 日本の会社じゃなかったのね・・・

Tags: iPhone

2011-12-09 [長年日記] この日を編集

_ iOSでクロノトリガーとは嬉しい限りですねスクウェア・エニックスさん・・・

スーパーファミコン当時定価は1万を超えていて高い買い物でしたが、充分元を取れたくらいプレイしていました。

操作性が微妙ぽいので、もう少し様子見。あっそういえばボーナスだった・・・

さて以下もどうしたものか

以下も欲しい欲しいと言いながら結局買ってない今日この頃。

Tags: iPhone

2011-12-10 [長年日記] この日を編集

_ 保育園の発表会に行ってきました

長男は今年で最後です。逆に次男は今年が初めての発表会です。毎日毎日家ではいろいろ独り言のように練習していた成果を見せるときがやってまいりました。

私の両親も連れ添っていざ発表会です。

保育園に到着

∑( ̄Д ̄;)親御さん達は外で並んでる・・・

昨年は廊下に親御さんがあふれていたので当然といえば当然の措置。寒空の中開園までしばし待ち。

そしてやっと発表会が始まりました

おっと、年長さんが入ってきたぞ。出し物の紹介か~

Σ(`д`ノ)ノいきなり長男が登場です。家では黙っているなんてなかなか憎い演出です。

IMG_3647

長男の出番

まずは、劇のナレータでした。なんて渋い役。時々忘れていましたが、これもご愛敬。

IMG_3694

二回目の出し物は歌でした。恥ずかしがらずに歌う子供を親ばか全開で見つめる親御さん達。保育園での最後の発表会、上手にやりとげてパパはうれしかったです。

IMG_3760

次男の出番

こやつは調子にのるんじゃなかろうかと思っていましたが、結果的に大当たりでした。

IMG_3679

時々会場を沸かせることを言うのですが、途中で歌と関係ないことを叫んだり、会場が失笑に包まれておりました。

IMG_3716

緊張することもなく、一所懸命歌って踊っていたのですけどね。長男は緊張しぃなので実に対照的です。

IMG_3725IMG_3744

私の両親はというと・・・

父親は土曜も基本的に仕事のため、こういった行事は初めてです。私のときでさえ来てなかったんではなかろうかというぐらいです。

まぁまぁ顔を真っ赤にして喜んでおります。連れてきて良かったです。

そしてお昼は近場のきときと寿司有沢店へ

大変おいしゅうございました。

アルバイトさん態度悪かったので直してくださいね。おしゃべりはお客さんの見えないところで。さすがにトイレの前でくっちゃべってないように。。。

Tags: family

2011-12-14 [長年日記] この日を編集

_ 今月の衝動買い

クリスマス?プレゼント?子供向けに買わないとね・・・今日は自分のものをぽちぽちぽちり。

iPhoneケース

一目惚れです。amazonで在庫あったので購入しました。

B005PJMWB6

あと小さい懐中電灯

これ明るいです。早朝の犬の散歩に向けて、購入しました。 B004D2A02O

今月予定されている買い物

とうとう来ましたよ!ジョジョリオン!

9784088703114

Tags: amazon

2011-12-16 [長年日記] この日を編集

_ なぜか

apacheが落ちていたので復旧。ついでにログを確認。botからのアクセスが多いなぁ。。ログが埋まるのも何なので頻度が多いやつをはじいてしまおう。


2011-12-17 [長年日記] この日を編集

_ 初!長男が一人で雪だるまを作るの巻

富山市内は雪のちらつく中、長男と犬をつれて散歩に出かけました。

途中で長男がえっちらおっちらと、あぜ道の雪を使い雪だるまを作り始めました。

雪が足りずにふてくされた場面もありましたが

雪が足りませんでした

一人で完成させていました。

初めて一人で作った雪だるま

問題はその後です

「ぱぱー、おうちに持って帰る。パパもっていって。僕、犬のリード持つから。」

えっ・・・(  ̄ ̄∇ ̄ ̄; )

母親に見せたくて、そして次男に自慢したいようです。

では、父の威厳を見せつけるために、試しに持ってみます。うっ、そこそこ重いし何より持ちづらい・・・

途中なんどか休憩しながら、1kmほど歩きまして無事輸送任務完了です。

長男が人生始めて一人で作った雪だるまを一キロ歩いて持って帰ってきた証拠

今夜も寒いので、明日も健在であることでしょう。うれしそうな長男の顔を見られてパパは満足ですよ、ほほほ(腰痛い)

Tags: family

2011-12-19 [長年日記] この日を編集

_ Windows環境で torquebox + JRuby + #tDiary を動作させる - #advent11rb

Ruby Advent Calendar jp: 2011 の19日目の記事です。18日目の昨日は @sakairyota さんのRubyのnilはおともだちでした。

本日のエントリは Windows環境で torquebox + JRuby + tDiaryを動作させる です。

まずは、それぞれについて軽く説明。

torquebox TorqueBox provides an enterprise-grade environment that not only provides complete Ruby-on-Rails and Rack compatibility, but also goes beyond the functionality offered in traditional Rails/Rack environments.
JRuby RubyインタプリタのJavaによる実装
tDiary tDiaryはWeb日記(いわゆるブログ)を実現するオープンソースソフトウェアです。ブログサービスをレンタルするのではなく、自分でWeb日記を運用する人のためのツールです。

tDiaryは @tdtds さん、 @hsbt さん、 @fdiary さんをはじめとして開発が盛んに行われています。この日記も当然tDiaryです。rack対応が非公式ながら着々と進んでおります。torqueboxはrackもサポートしているので、当然、tDiaryも動くはずです。ここで、本記事のレア度を増すために、Windowsで実施してみます。

準備します

環境は Windows7 Professional(64bit)です。

torquebox + JRuby

つい最近、2.0.0 beta版が公開されています。

解凍すると、JRuby1.6.5も含まれています。

環境変数の設定

Javaは用意されているものとします。

set JAVA_HOME=環境にあわせて
set JBOSS_HOME=C:\App\torquebox-2.0.0.beta1\jboss
set JRUBY_HOME=C:\App\torquebox-2.0.0.beta1\jruby
set PATH=%JRUBY_HOME%\bin;%PATH%
tDiary

Windows環境ではありますが、gitbash等を使って、tDiaryの最新ソースを取得します。

> git clone https://github.com/tdiary/tdiary-core.git
ディレクトリ構成
torquebox-2.0.0.beta1 <=> torquebox-current とジャンクションを作成。
C:\App\torquebox-current\jboss
                        \jruby
                        \share
                        \tdiary-core # git clone したtDiaryソース
                        RakeFile
とりあえず公式ドキュメントを・・・

torqueboxのドキュメントを流し読み。

よくわからんなーと思っていたところ、SlideShareにチュートリアルのようなものを発見。

Rakefileには以下を書けとのこと。tdiary-core\Rakefileの冒頭に追加しました。

require 'torquebox-rake-support'

rakeを実行してみようとすると、tDiaryのRakefileに bundle installせよ、と怒られたのでbundle install。*1

> jruby.exe -S bundle install

その後

> jruby.exe -S rake -T
rake clean                           # Remove any temporary products.
rake clobber                         # Remove any generated file.
rake rdoc                            # generate rdoc files
rake spec                            # Run the code in spec
rake spec:acceptance                 # Run the code examples in spec/accept...
rake spec:acceptance:cgi             # Run the code examples in spec/accept...
rake spec:acceptance:secure          # Run the code examples in spec/accept...
rake spec:core                       # Run the code examples in spec/core
rake spec:plugin                     # Run the code examples in spec/plugin
rake spec:report                     # Displayed code coverage with SimpleCov
rake test                            # Run tests
rake torquebox:archive               # Create a nice self-contained applica...
rake torquebox:check                 # Check your installation of the Torqu...
rake torquebox:deploy[context_path]  # Deploy the app in the current directory
rake torquebox:deploy:archive        # Create (if needed) and deploy as app...
rake torquebox:freeze                # Freeze application gems
rake torquebox:launchd:check         # Check if TorqueBox is installed as a...
rake torquebox:launchd:install       # Install TorqueBox as an launchd daemon
rake torquebox:launchd:restart       # Restart TorqueBox when running as an...
rake torquebox:launchd:start         # Start TorqueBox when running as a la...
rake torquebox:launchd:stop          # Stop TorqueBox when running as an la...
rake torquebox:run                   # Run TorqueBox server
rake torquebox:undeploy              # Undeploy the app in the current dire...
rake torquebox:upstart:check         # Check if TorqueBox is installed as a...
rake torquebox:upstart:install       # Install TorqueBox as an upstart service
rake torquebox:upstart:restart       # Restart TorqueBox when running as an...
rake torquebox:upstart:start         # Start TorqueBox when running as an u...
rake torquebox:upstart:stop          # Stop TorqueBox when running as an up...

torqueboxのtaskが出てきました。先のSlideShareの中身に従うと次は・・・

> jruby.exe -S rake torquebox:deploy
TorqueBox installation appears OK
TorqueBox Server OK: C:/App/torquebox-current/jboss/standalone
Deployed: tdiary-core-knob.yml
    into: C:/App/torquebox-current/jboss/standalone/deployments

実行してみると、%JBOSS_HOME%\standalone\deployment に tdiary-nob.xmlが生成されています。

今回は以下です。

C:\App\torquebox-current\jboss\standalone\deployments\tdiary-core-knob.yml

Ruby1.9で動作させたいため、tdiary-core-knob.yml に以下を追記。

ruby:
  version: 1.9

では起動してみます。

> jruby.exe -S rake torquebox:run
TorqueBox installation appears OK
TorqueBox Server OK: C:/App/torquebox-current/jboss/standalone
Calling "C:\App\torquebox-current\jboss\bin\standalone.conf.bat"
===============================================================================

 JBoss Bootstrap Environment

 JBOSS_HOME: C:\App\torquebox-current\jboss

 JAVA: C:\App\JDK_7_u1_x64\bin\java

 JAVA_OPTS: -Dprogram.name=standalone.bat -Xms64M -Xmx512M -XX:MaxPermSize=256M -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dorg.jboss.resolver.warning=true -Djboss.modules.system.pkgs=org.jboss.byteman -server

===============================================================================
(snip)
22:33:08,101 INFO  [org.torquebox.core.runtime] (MSC service thread 1-4) Created ruby runtime (ruby_version: RUBY1_8, compile_mode: JIT, context: global) in 3.12s
22:33:08,115 INFO  [org.jboss.as] (Controller Boot Thread) JBoss AS 7.1.0.Beta1 "Tesla" started in 5135ms - Started 152 of 221 services (68 services are passive or on-demand)
22:33:08,119 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) Starting deployment of "tdiary-core-knob.yml"
22:33:08,458 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."tdiary-c
ore-knob.yml".CONFIGURE_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."tdiary-core-knob.yml".CONFIGURE_MOD
ULE: Failed to process phase CONFIGURE_MODULE of deployment "tdiary-core-knob.yml"
       at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) [jboss-as-server-7.1.0.Beta1.jar:]
       at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:]
       at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:]
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.7.0_01]
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.7.0_01]
       at java.lang.Thread.run(Thread.java:722) [:1.7.0_01]
Caused by: org.jruby.exceptions.RaiseException: (SyntaxError) /C:/App/torquebox-current/tdiary-core/misc/filter/plugin/ja/antispamservice.rb:7: invalid multibyte char (UTF-8)

あらっ、失敗。tDiaryのソース中にマルチバイト文字が含まれていると syntax errorになってしまっています。ログの途中に現れてる RUBY1_8という文字列からして、どうみても1.8で解釈されている様子・・・ymlファイルにruby:versionを指定してもダメみたいです。

めぼしい情報も見当たりませんでした。とりあえず今回は、tDiary動作に影響を及ぼさないと考えられる、マルチバイト文字が含まれるソースを削除していくという荒技に出ました。削ったファイルの量を見ると、どう見ても動作に影響を与えそうに思ってきました。。。大丈夫か、これ・・・

tdiary-core\spec\*
           \test\*
           \plugin\ja\*
           \misc\filster\plugin\ja
           \misc\style\emptdiary\*
           \misc\plugin\ja\*
                        a.rb
                        append-css.rb
                        calendar3.rb
                        counter.b
                        disp_referer.rb
                        draft.rb
                        dropdown_calendar.rb
                        image.rb
                        kw.rb
                        random_google.rb
                        recent_comment3.rb
                        speed_comment.rb

すると、あからさまに大事そうなファイルでエラーに。

Caused by: org.jruby.exceptions.RaiseException: (SyntaxError) /C:/App/torquebox-current/tdiary-core/plugin/00default.rb:944: invalid multibyte char (UTF-8)

944行目はここです。とりあえず英語にしてごまかそう。。

  @conf['comment_description'] = "ツッコミ・コメントがあればどうぞ! URIは1つまで入力可能です。"
  
  if @sp_path.inject(false){|r, dir| r || FileTest.exist?("#{dir}/hide-mail-field.rb") }
  	if @conf['sp.selected']
  		@conf['sp.selected'].concat("hide-mail-field.rb\n")
  	else
  		@conf['sp.selected'] = "hide-mail-field.rb\n"
  	end
  	@conf['spamfilter.bad_mail_patts'] = "@"
  	@conf['comment_description'].concat("spam対策でE-mail欄は隠してあります。もしE-mail欄が見えていても、何も入力しないで下さい。")

次は、もっと大事そうなファイルでエラーになりました。ここは先人達の知恵と涙の結晶っぽいところです。

Caused by: org.jruby.exceptions.RaiseException: (SyntaxError) /C:/App/torquebox-current/tdiary-core/tdiary/io/pstore.rb:103: invalid multibyte char (UTF-8)

こんなところに全角スペースが。

 	elsif /^[  <]/u !~ lines[0]
 		@subtitle = lines.shift.chomp
 	end

ところが、tDiaryでは標準の記法において全角スペースは重要になります。削除するわけにもいかないので、下記のように対処してみました。

 ZENKAKU_SPACE=[227, 128, 128].pack("C*")
 (snip)
 	elsif /^[#{ZENKAKU_SPACE} <]/u !~ lines[0]
 		@subtitle = lines.shift.chomp
 	end

tdiary-core/tdiary/tdiary_style.rbへも、同様の処置を施しました。そろそろ何やってるかわからなくなってきたのですが、もう一度挑戦。

> jruby.exe -S rake torquebox:run
(snip)
22:52:41,616 INFO  [org.torquebox.core.runtime.SharedRubyRuntimePool] (MSC service thread 1-1) Starting web runtime pool asynchronously
22:52:41,618 INFO  [org.torquebox.core.runtime] (Thread-95) Creating ruby runtime (ruby_version: RUBY1_9, compile_mode: JIT, app: tdiary-core, context: web)
22:52:41,689 INFO  [org.jboss.as.messaging] (MSC service thread 1-6) JBAS011601: Bound messaging object to jndi name java:/queues/torquebox/tdiary-core/tasks/torquebox_backgroundable
22:52:41,846 INFO  [org.jboss.web] (MSC service thread 1-3) registering web context:
22:52:41,900 INFO  [org.jboss.as.server.controller] (DeploymentScanner-threads - 2) Deployed "tdiary-core-knob.yml"
22:52:42,764 INFO  [org.torquebox.core.runtime] (Thread-95) Initialize? true
22:52:42,764 INFO  [org.torquebox.core.runtime] (Thread-95) Initializer=org.torquebox.web.rack.RackRuntimeInitializer@1a3513b5
22:52:43,114 INFO  [org.torquebox.core.runtime.BundlerAwareRuntimeInitializer] (Thread-95) Setting up Bundler
22:52:44,729 INFO  [org.torquebox.core.runtime] (Thread-95) Created ruby runtime (ruby_version: RUBY1_9, compile_mode: JIT, app: tdiary-core, context: web) in 3.11s

苦労のかいがあり、起動したようです。

ではおそるおそるブラウザからアクセス・・・

no_tdiary_conf

さぁ、tdiary.confがjbossの画面に登場し、やっとtDiaryらしくなってまいりました。

tdiary.confを用意するのを忘れていました。とりあえず日本語のtdiary.confは使えなさそうな気配がするため、英語版のtdiary.conf.sample_enをtdiary.confとして用意します。

うごきました!

default_top

追記してみます

success_append

おっけーおっけー

次はツッコミ

その名の通り、ツッコミを確認するまでがtDiaryの動作確認です。

tukkomi

おっけーおっけー

では肝心の日本語を追記してみます。

期待していませんが・・・

ja_status_500

JavaVMのStackTraceが出て、ダメでしたorz

マルチバイト文字がらみの現象を解決せずに進んできたためと考えられます。今回はここで体力切れです。

その他

rake torquebox:runを実行したコンソールでは、SAFEレベル未サポートとの警告が出ていました。

11:52:13,611 ERROR [stderr] (http--127.0.0.1-8080-1) vfs:/D:/Application/torquebox-2.0.0.beta1/tdiary-core/tdiary/core_ext.rb:81 warning: SAFE levels are not supported in JRuby

まとめ

  • tDiaryもなんとかtorqueboxで動く
    • tDiaryのrack対応のおかげ
  • 日本語関連が全くうまくいかない原因は・・・torquebox側に何かあるんじゃないかと推測
    • rake torquebox:runを行うと、invalid multibyte-char(UTF-8)がなんで発生してしまうのか??
    • ちなみに、jruby-rackではちゃんとtDiaryは動作する。JRubyの問題とも思えない。。
こんな感じで。。。
jruby -S rackup
2011-12-19 23:09:50] INFO  WEBrick 1.3.1
2011-12-19 23:09:50] INFO  ruby 1.8.7 (2011-10-25) [java]
2011-12-19 23:09:50] INFO  WEBrick::HTTPServer#start: pid=5572 port=9292

なんとか動いたので、オチがついてよかったです。実は書いている以上のデバッグをやったりしたので、退屈な職業プログラマには勉強になりました。

次回20日目は @sasata299 さんです。このエントリよりもきっとタメになるエントリになることでしょう!

*1 ActiveRuby等だとこの段階のnokogiriインストールで失敗してしまう。。。

本日のツッコミ(全1件) [ツッコミを入れる]

_ sugamasao [マルチバイト文字周りのエラーは、jrubyを起動する時に --1.9 を付けるとRuby1.9相当で動くと思うので、..]


2011-12-25 [長年日記] この日を編集

_ 2011クリスマスにやってきたもの (1) - 子供ばーじょん

さて昨年は柴犬がやってきて大変だったクリスマスですが、もう一年経ってしまいました。恐ろしいほど時の流れは速いものです。また、家におもちゃ*1が増えてしまいましたでございますのすし。

長男用

B000MXHHFG B00272MFSE B0054XP21A

次男用

B0046XR68G B0002U3MG2 B000WZ9NII

共通

B0002U3IFM

トイザらスオリジナルのミニカー用コース。要は、トミカハイパーレスキュー欲求をそらすための安物です。

こっちがほしいのは

パパもママもわかってるんやで、と。。

B004KKX7SS

なんか

amazonのほうがトイザらス店頭より安いじゃないか・・・・orz 出遅れたのがそもそも失敗・・・orz

Tags: family

*1 何年後にはゴミになるのかorz


2011-12-26 [長年日記] この日を編集

_ 2011クリスマスにやってきたもの (2) - 大人ばーじょん

何度も書いていますが、昨年は柴犬がやってきました

今年はです。

春先からいろいろ妻を中心に動いておりまして、以下の写真で示すような感じに進んで参りました。


Created with Admarket's flickrSLiDR.

現在は広くなったリビングで、柴犬が走り回って捕まえられないというデメリットに苦戦しながら、広々した空間や新しい家具に満喫しております。後は机と椅子が届くのを待つのみ( ・ ∀・)ノ

Tags: family

2011-12-31 [長年日記] この日を編集

_ 大晦日に発熱orz

掃除や犬の散歩をしてるとどうも倦怠感が。。。食事前に検温すると、38.0℃・・・・

2011年のまとめとか書こうと思っていましたが、一人さみしく就寝します(つД`)

みなさまヨイオトシヲ(・∀・)ノ〜☆

Tags: まぬけ