2011-07-31

今月は毎日、ブログを更新してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
今月は、とりあえず毎日ブログを更新しようと思ってみて、なんとか毎日ブログを更新することが出来ました。

とりあえず一月続けてみて、
毎日続けている人はすごいなぁ
とつくづく思いました。

毎日となると時間がない日があることを踏まえて
書くことのストックをしておかないと続かないです。
多いときで5個ぐらいストックしてみました。

続けてみて、
いずれやろうと思ってほったらかしていたことをやれた
ことが良かった点です。
記事にするために、もうちょっとで終わるのに
という状態のものがいくつかあったのですが、それを片付けることが出来ました。

一方、ブログ書くことに時間を取られて
まだ始めたばかりのことに対して時間をあんまり割り当てることができない感じでした。

毎日続けるためには、記事を書くためのネタ作りの仕組みが必要だなぁと思いました。
あまり人が見ていない情報をウォッチしていて、それをわかりやすく加工して提供する

みたいなフローを作っておくと良い感じです。
技術ネタで書くには、毎日相当いろいろいじってないとネタがすぐ尽きてしまいます。

とりあえず私の場合、このペースを維持するのはかなりしんどいので
普通のペースに戻ることにします。
前よりかは更新の頻度はあがるような気はします。

ちなみにアクセス数は、日に170ぐらいに一応あがっているようです。


2011-07-30

rubyでAndroidアプリが作れるRhodesをインストールしてみる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rubyでAndroidアプリが作れるRhodesというものがあると知り試しにインストールしてみました。
Rhodesは同じソースでAndroidアプリだけでなくiOSアプリも作れるそうです。
http://rhomobile.com/products/rhodes/

インストール方法は以下のような感じです。

以下が済んでいることが前提です。
・JDKインストール済み
・rubyインストール済み
ちなみにこの手順はWindows環境で試しました。他の環境でも同じようにできるとは思います。
・Android-SDKインストール済み
C:\android-sdk
にインストールしています。
そしてAndroid3.0系はインストールしないようにします。
・Android-NDKインストール済み
C:\android-ndk
にインストールしています。
android-ndk-r5bをインストールします。

rhodesのインストールは
gem install rhodes
でOKです。

インストール後にrhodesの設定をします。
コマンドプロンプトで
rhodes-setup
を実行。
いろいろ聞かれますが、以下以外は空白でOKです。
-----------------------
We will ask you a few questions below about your dev environment.

JDK path (required) (C:/Program Files/Java/jdk1.6.0_24):
Android SDK path (blank to skip) (): C:/android-sdk
Android NDK path (blank to skip) (): C:/android-ndk
-----------------------

これでOKです。

これで以下で紹介されているものを試します。
http://www.kouboum.co.jp/rhodes/02_make_rhodes_application.html
ファイルの文字コードはUTF-8で保存しましょう。

rake run:android
したときに、
Error!!! Wrong Android API version
みたいなエラーが出て実効できなかったときは、
rhodesが対応していないandorid-sdkのバージョンが入っていることが原因の模様です。
現在、3.1はサポートされていないようです。
なので面倒なので3系は削除しておきます。
(インストールしておいても設定でなんとかなるのかもしれませんが・・・)

上記のエラーの他に
Can't detect NDK toolchain path (corrupted NDK installation?)
みたいなエラーが出たときは
対応していないandorid-ndkのバージョンが入っていることが原因の可能性があります。
android-ndk-r5b
ならダイジョブのようです。

rhodesでどこまでできるのかわからないですが、rubyでandroidアプリが作れるということでたまにいじってみようかなぁとか思っています。



2011-07-29

暑くて寝苦しい夜はATEX エアコンマット「SOYO(そよ)」がキニナルのです

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
暑く寝苦しい日が続きますね。
今年はクーラーとか使うのはちょっとためらわれます。

しかし暑いのです。
というわけで
ATEX エアコンマット「SOYO(そよ)」
がキニナルのです。



これを敷いて寝るとマットに風が送られて朝までサラッとした布団で眠れるようです。
涼しくなるというよりも、じめっと寝苦しくならないという感じのようです。

気持ちよく眠れることが目的なので涼しくなくてもいいのかなとか思います。

ジェル状マットみたいのも売っているようですが、最初はよいけど時間がたつと体温であったまっていまいちみたいなことを聞きます。

シングルならば上半身だけなんとかなればよいと思うのでハーフで十分そうですね。
お値段もお手頃ですしね。

うちではダブルを使っているので、普通サイズでないとダメそうなのですが、普通サイズは少々お高めなのですよねぇ・・・

2011-07-28

windows環境にrubyをインストール。ついでにexerbもインストール

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
windows環境にrubyをインストールする手順です。

http://rubyinstaller.org/downloads
からRubyInstallerを取得します。
ここでは
rubyinstaller-1.9.2-p290.exe
をダウンロードしたと仮定して話を進めます。

rubyinstaller-1.9.2-p290.exeをダブルクリックします。
インストール場所をc:\rubyにして、PATHを通すとかは全部とりあえずチェックします。
rubyはこれで完了です。

このままだとgemでインストールするときにmakeされるようなものは、うまくインストールできません。

なのでgemでいろいろインストールするときに困らないようにするために
http://rubyinstaller.org/downloads
からDevelopment Kitもダウンロードしてインストールします。 c:\ruby\DevKit というディレクトリを作成します。
ここでは
DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe
をダウンロードしたと仮定します。

c:\ruby\DevKit
に
DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe
を配置してダブルクリックしてファイルを解凍します。

コマンドプロンプトで
ファイルを配置したディレクトリに移動してから
cd c:\ruby\DevKit
以下を実行
ruby dk.rb init

これで
config.ymlが作成されるので内容を確認します。
rubyがインストールされている
- C:/Ruby
が記載されていることが確認できればOKです。

そしてもう一度コマンドプロンプトで
ruby dk.rb install
を実行すればOKです。

あんまり使うことなさそうですが、いざというときに
便利そうな気がするrubyスクリプトをexe化するツールexerbもインストールしておきます。
http://exerb.sourceforge.jp/
からファイルを取得します。
ここでは
exerb-5.3.0.zip
をダウンロードしたと仮定します。

exerb-5.3.0.zipを解凍して
作成されたディレクトリの中の
bin/post-setup.rb
の6行目を
if /mswin32|mingw32/ =~ RUBY_PLATFORM
のように変更します。
これはWindows環境にRubyInstallerでRubyをインストールした場合、
exerbのbatファイルがうまく作成されないので修正をしています。

そして
setup.rb
をダブルクリックして実行すればインストール終了です。





2011-07-27

Androidアプリに自前のアイコンを設定する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
まだ
Hello Android!
も試していないのですが
アプリのアイコンを自前のものに変更する方法です。

独自アプリのアイコンはPNGで作成してサイズは
72×72
48×48
36×36
の三種類用意すると良いようです。
サイズは上記の感じですが、ぎちぎちに絵を描いてはいけないようです。

(追記2011-11-09:Android Marketに出すならば512×512もあった方がよいです)


詳しくは、以下が参考になります。
http://blog.asial.co.jp/693

で作ったアイコンですが、icon.pngという名前で以下のフォルダにそれぞれ置くとよいようです。
res/drawable-hdpi
 72×72のもの
res/drawable-mdpi
 48×48のもの
res/drawable-ldpi
 36×36のもの

drawable-*dpiが存在しない場合は作っておけばOKです。

以下のサイトを参考にさせていただきました。

さてHello Android!をやってみなくては!





2011-07-26

sshとapacheの認証でActiveDirectoryと連携する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
CentOSの環境でsshでログインする際に
Windows環境のドメインネットワークがあって、
そこのパスワードを利用してログインできるようにする方法です。

よくあるのはLDAPでの連携のようなのですが、なんかLDAP側でもなんかしなくてはいけない気配です。
なのでケルベロス認証の方で連携を行います。

ActiveDirectoryの構築に関しては特に説明はなしです。

rootユーザで実行します。
su

pam_krb5をインストール
yum -y install pam_krb5

連携する設定
authconfig-tui
---------------------
ユーザ情報:
認証:
「MD5 パスワードを使用」にチェック
「シャドウパスワードを使用」にチェック
「Kerberos 5 を使用」にチェック
「次」
レルム:MY_DOMAIN ← 利用するWindowsドメイン名
KDC:pdc.xxx.jp:88 ← プライマリードメインサーバ
管理サーバ:pdc.xxx.jp:749 ←プライマリードメインサーバ
DNS を使用してレルムのホストを解決する:チェック
DNS を使用してレルム用の KDC を見付ける:チェック
「OK」
---------------------

authconfig-tuiで設定を行うと以下のファイルに設定内容が反映されます。
/etc/krb5.conf
/etc/pam.d/system-auth

CentOS上にWindowsドメインネットワーク上のユーザと同名のユーザを作成
パスワードの設定は不要です。
useradd -m user1

とりあえずローカルホストに接続して連携できているかを確認
ssh localhost -l user1


接続がうまくいかない時などはdebug情報を出すには
/etc/pam.d/system-auth
を編集して以下のようにdebugを追加すると
---------------------------
auth sufficient pam_ldap.so use_first_pass debug
---------------------------
/var/log/secure
に出力されます。


ついでにapacheでも連携する方法です。
mod_auth_kerbを利用します。

apacheインストールの説明は別途検索してください。
また上記のsshの設定が済んでいることが前提です。

mod_auth_kerbをインストール
yum -y install mod_auth_kerb

設定
vi /etc/httpd/conf.d/auth_kerb.conf
以下のような感じで設定
-----------------------------
<location /test_krb_auth>
AuthType Kerberos
AuthName "Kerberos Login"
KrbAuthRealms MY_DOMAIN ← 利用するWindowsドメイン。sshで指定したのと同じ
KrbVerifyKDC Off
KrbMethodNegotiate Off
require valid-user
</Location>
-----------------------------

これでREMOTE_USERに
username@my_domain
のようにrealm付きでセットされるようになります。

ちなみにmod_auth_kerbのversionが5.4以上ならば
KrbLocalUserMapping On
とすることで上記の@以降のrealmが除去される模様です。

2011-07-25

本を開いたままにするのにFlipKlipというのがよさげ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

本を開いたままにするのにFlipKlipというのがよさげでキニナルのです。



FlipKlipは、使わない時はコンパクトにできて、いざ使うときは厚めの本でもしっかりおさえてくれそうな感じがよさげです。

私は、本をおさえるのにブックストッパーを使っています。

こちらもよい商品なのですが、ある程度広さがあるところで使う感じです。
ちょっと場所がない感じの場所で本をちょっと立てて使う時は、ちょっと使いにくいです。
ちょっとちょっとです。

FlipKlipでは本を立てて場所が狭めの場所でもいけそうな気がします。
本の下で実際に立てて使う人もいるようです。

とりあえずお店で見つけて、いじってみてから買おうかなぁと思っています。

それまでは、ちょっと考えてみた以下の代用品で過ごしてみようと思います。




















ズボンとかを下げるハンガーです。
とりあえずしっかりおさえてくれます。
厚めの本はちょっと無理っぽいです。

そのうち、ちゃんとFlipKlipを買おうかなぁとか思ってみました。

2011-07-24

ガンタンクの代わりにテオ・ヤンセン

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
ガンタンクのガンプラを買おうか悩んでいました。



でも、テオ・ヤンセンのミニ・リノセロスが出ると知ったので、こっちを買うことしたのです。

すでにテオ・ヤンセンのミニ・ビーストは持っており、その動きのステキさがお気に入りなのです。

なのでガンタンクはお預けです。

2011-07-23

バトンを自作してみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
うちのチビッ子が、どこでおぼえたのかバトンが欲しいといいだしました。

でも小学生ぐらいから使える長さのバトンしか見つからず、チビッ子には長すぎるのです。

というわけで自作してみました。





















材料は、
・つっぱり棒(30cm)
・お湯で暖めるとやわらかくなる樹脂的なもの×2
 (「おゆまる」というものだったかなぁ・・・)
・家に転がっていたナット×数個
だけです。

ナット以外は、すべて100円ショップで買ったのでトータル\315です。

作り方は、書くほどのことでもないですが、
お湯で樹脂を柔らかくして、ナットと一緒につっぱり棒の先端に樹脂をくっつけて、お好みの形に樹脂を整えて冷えて固まればできあがります。

とりあえずチビッ子は、満足したようです。










2011-07-22

他のブログの内容をインポートしたら、なぜかアクセス数がごっそと減った

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
このブログに他のブログをインポートして統合をした次の日から、なぜかアクセス数がごそっと減っていました。

インポートした直後になぜかエラーが出て新規投稿も出来なくなっていました。
(1日ぐらいでダイジョブにはなっていましたが・・・)

そんなわけわからない状況の中、アイコン変えたり、メールアドレス追加したりとか余計なこともいろいろやっていました。

で、気づいたらアクセス数が激減です。
さすがにおかしいと思って調べてみたら、いつの間にか限定公開になっていたせいでした。

変更したつもりはないのですけどねぇ・・・

2011-07-21

rubyでcsvを作る時にカラムをダブルクォートでくくったり、くくらなかったり

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rubyでcsvファイルを作る時に1.8系の場合fastercsvが便利です。
1.9ではfastercsvは本体に取り込まれてcsvとなっていたような気がします。


そんなcsv作成の際ですが、たまに文字列カラムはダブルクォートでくくって数値カラムはくくらないとかして欲しいとか言われることがたま~~にあります。


そのための方法です。

irbで実行した例です。
>> require 'fastercsv'
=> true
#デフォルト動作確認
>> FasterCSV.open("ooooo","w") do |csv|
?> csv << ["abc","",123,nil,"456"]
≶> end
=> <#FasterCSV io_type:File io_path:"ooooo" lineno:1 col_sep:"," 
row_sep:"\n" quote_char:"\"">
<< File.read("ooooo")
=> "abc,"",123,,456\n"
#空白文字列が""となっていますね

#全項をダブルクォートでくくります
>> FasterCSV.open("ooooo","w",:force_quotes=>true) do |csv|
?< csv << ["abc","",123,nil,"456"]
>> end
=> <#FasterCSV io_type:File io_path:"ooooo" lineno:1 col_sep:"," 
row_sep:"\n" quote_char:"\"">
>> File.read("ooooo")
=> ""abc","","123","","456"\n"
#くくられました

#全項をシングルクォートでくくります
>> FasterCSV.open("ooooo","w",:quote_char=>"'",:force_quotes=&
>true) do |csv|
?> csv << ["abc","",123,nil,"456"]
>> end
=> <#FasterCSV io_type:File io_path:"ooooo" lineno:1 col_sep:"," 
row_sep:"\n" quote_char:"'">
>> File.read("ooooo")
=> "'abc','','123','','456'\n"
#くくられました

#項目によってダブルクォートでくくったり、くくらなかったり
#自分でくくる項目を明示します。
#quote_charでシングルクォートを指定しないとダブルクォートがいけてないこ
とになります
>> FasterCSV.open("ooooo","w",:quote_char=>"'") do |csv|
?> csv << ['"abc"','""',123,nil,'"456"']
>> end
=> <#FasterCSV io_type:File io_path:"ooooo" lineno:1 col_sep:"," 
row_sep:"\n" quote_char:"'">
>>  File.read("ooooo")
=> ""abc","",123,,"456"\n"
#くくったり、くくられなかったりしました

なんか他に方法があるような気がしないわけでもないです。



      
      

2011-07-20

Androidをつかいはじめてみての感想

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Androidを使い始めて、ちょっとたってみたので簡単な感想です。

個人的に一番ありがたいのが、wifi接続でいろいろできることです。
普通の携帯だとなんとなく通信料がもったいないのでWEBページとかを見ることはありませんでした。

うちには無線環境があるのでwifi接続のときは遠慮なくいろいろ見ています。
外で使うときは、やっぱり通信料を気にしてそれほど積極的には使っていません。
と言っても携帯に比べたら、面白がって使っていますが、アプリダウンロードとかはちょっと遠慮してしまいます。

wifiをつかって遠慮なくいろいろ見れるので、いままで夜にPCで一気にやっていたことを合間でちょっとこなすことができるようになりました。これがありがたいです。

タブレットは家族で利用して、スマホは個人で利用する感じになると思うのでメールなども遠慮なく確認できます。
タブレットだと子どもが何をするかわからないので、メールとか設定できません。

あとはスマホに限った話ではないのかもしれませんが、普段利用しているネットサービスが使いやすいのはやっぱり便利です。
Googleカレンダーとか普通に利用できるのはやっぱり便利です。

私はテザリングを利用できることを待っていましたが、きっとほとんどテザリングは使うことはないだろうなぁということがわかった気がします。

なかなか楽しいAndroid生活です。


2011-07-19

おしゃれメガネ「コンセプトY」がキニナル

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
コンセプトYとは、なんかこだわった感じでいい感じのメガネです。
http://www.concept-y.com/

なかなかキニナルのです。

お値段は3万を超えるぐらいのようで、ちょっとお高めです。

私は


で紹介されていて興味を持ったわけですが、最近テレビなどでも紹介されているようです。

いずれ買ってみたいなぁと思ったわけです。

2011-07-18

WebからWake On LANするツールwakeme(ワケメ)を公開してみました

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
とりあえずはじめてのソース公開(たいしたものではないですが・・・)です。
なのでgithubに登録をしてみました。

windows環境でTortoiseGitを使う場合、以下が非常に参考になりました。
http://jutememo.blogspot.com/2010/07/windows-github-msysgit-tortoisegit.html

msysgitでssh-keyを作成してgithubに登録した後にTortoiseGitでいろいろやろうとして
git pushするときにうまくいかなかったのですが、
TortoiseGitの設定ダイアログを開き、「Network」の「SSH client」にmsysgit付属のssh.exeを指定する。
を見て利用できるようになりました。

で公開したものはWebからWake On LANのマジックパケットを送るツールであるwakeme(ワケメ)です。
https://github.com/vivahiraj/wakeme







webサーバと同一セグメントにあるPCに対してマジックパケットを送ります。
PCがマジックパケットで起動する設定になっていれば起動するはずです。

別のセグメントのPCには、ルータで別セグメントにブロードキャストするようにしてしまえば(やらない方がよいとは思いますが)、試していませんが起動するかもしれません。

利用するにはWebサーバ側でBASIC認証などの認証を行いREMOTE_USERが環境変数に設定されるようになる必要があります。REMOTE_USERで渡された値がデータベースのusersに登録してあると利用が可能になります。

ログインに成功すると起動するPCの管理と起動、起動確認のPING送信を行うことができます。

/adminで管理者画面になり、ユーザの登録が可能です。

基本的に起動できるのは同一セグメントだけなので、あまり使えないかもしれませんが、この夏の節電のお供に少しでも役に立つことがあるとうれしいです。

Ruby 1.8.7,Rails 2.3.11の環境で作成しています。






2011-07-17

他でこっそり細々とやってたブログを統合しました

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

他でこっそり細々やっていたブログをこのブログに統合してみました。

こちらのブログでは、技術的なことを中心にして
統合したのは、私がキニナルものとかのメモとして利用したりしていました。

でも
今月、毎日ブログを書こうとしたことで技術以外のことも結構書いてきて分ける意味なくなってきたし、
月末に向けてのネタ切れ対策にもなるし、
2つ管理しているのもめんどくさいし
ということで統合しました。

というわけでよろしくお願いします。

2011-07-16

microSDカードをメモリースティックとして利用できるのですね

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
最近とくに意味はないのですが、
microSDカードやメモリースティックマイクロとかってやたら小さいなぁ~~
これだったらPCとかで利用するときは
microSDカードをメモリースティックとして読み込んだり
その逆をやったりとかできそうな気がする。
とふと思ったわけです。

というわけで、
このような変換をするアダプターがあるのかなぁ
と調べてみたら以下のようなものがありました。


microSDを2枚さしてメモリースティックDUOに化かすことができるようです。

どんなことに使うのかなぁと思ったら、PSPで利用する人が多い感じです。

を見るとメモリーカード市場では、SDカードが6割ぐらいで1位で、メモリースティックが1割ぐらいで2位という感じのようです。
ソニーさんも自社でSDカードの販売をすでに行っているようですね。

どうやらSDカードが出回っているけど、たまにメモリースティックしか使えないものがあるから、なんとかしたいというニーズに答えるもののようですね。
そういうわけかどうかわかりませんが、メモリースティックマイクロをSDカードに化かすアダプターは見つからなかったわけです。

ちょっと調べただけでした。

2011-07-15

Androidはじめました

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
ちょっと前にスマホは冬も出るまで待とうとか言ってみましたが、ラッキーなことにしばらくお仕事でAndroid端末をお借りすることができるようになりました。

で、とりあえずはじめて入れてみたアプリをさらしてみます。

アストロファイルマネージャ
ファイルマネージャです

ウェザーニュースタッチ
お天気です

ジョルテ
スケジューラです

モバイルGoogleマップ
地図です

ワペディア:モバイルウィキ
wikipediaです

andronavi
アプリ探しです

CamScanner -スキャン・PDF作成
カメラでスキャナです

Google Chrome to Phone
ChromeからURLを送りつけます

ConnectBot
SSHです

NetFront Life Documents
オフィスドキュメント閲覧です。

ファイル同期です。

Evernote
メモ同期です。

FxCamera
おしゃれカメラです。
RSSリーダです。

PINGです。

QRコード読取です。

ラジオです。

PCを遠隔でいじります。

着信音を作ります。

Rubyスクリプト実行です。

つぶやきます。

ユーストです。

無線の電波状況を見ます。

画面メモです。

いざという時です。

乗換案内です。

名言です。

シェルです。

懐中電灯になります。

手書きメモです。

TED Air

ステキトークです。






これからいろいろいじってみようと思います。
































2011-07-14

GUIエディタつきでpukiwikiをインストールする手順

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
wikiではpukiwikiがお手軽に設置できるのでお気に入りです。
でもwiki記法をちゃんと覚えていないのでGUIエディタも使えるようにしています。

以下が私がpukiwikiをインストールするときの手順です。

(1)pukiwiki取得
cd /usr/local/src
wget http://iij.dl.sourceforge.jp/pukiwiki/12957/pukiwiki-1.4.7_notb_utf8.tar.gz
tar xvzf pukiwiki-1.4.7_notb_utf8.tar.gz

(2)FCKeditor取得と配置
wget http://sourceforge.net/projects/fckeditor/files/FCKeditor/2.6.6/FCKeditor_2.6.6.tar.gz/download
tar xvzf FCKeditor_2.6.6.tar.gz
mv fckeditor/ pukiwiki-1.4.7_notb_utf8/skin/

(3)guieditor取得と配置
wget 'http://w3fj.te.kyusan-u.ac.jp/miwiki/index.php?plugin=attach&refer=%CA%AA%C3%D6&openfile=guiedit164.zip' -O guiedit164.zip
unzip guiedit164.zip
cp -r guiedit164/* pukiwiki-1.4.7_notb_utf8

(4)pukiwiki設定
cd pukiwiki-1.4.7_notb_utf8
基本設定
vi pukiwiki.ini.php
以下を変更(適当に読み替える)
-----------------------------
$page_title = 'wiki title';
$modifier = 'modifier';
$modifierlink = 'http://xxxxx.jp/wiki';
$adminpass = '{x-php-md5}' . md5('adminpass');
define('PKWK_ALLOW_JAVASCRIPT', 1);
$pkwk_dtd = PKWK_DTD_XHTML_1_0_TRANSITIONAL;
$fixed_heading_anchor = 1;
$fixed_heading_anchor_edit = 1;
-----------------------------

(5)guiedit関連設定
vi skin/pukiwiki.skin.php
以下を追加
-----------------------------
<?php _navigator('edit') ?> |
<?php echo '<a href="' . $script . '?cmd=guiedit&page=' . $r_page . '">' .
$lang['guiedit'] . '</a>' ?> |
-----------------------------
更に以下を追加
-----------------------------
$_IMAGE['skin']['edit'] = 'edit.png';
$_IMAGE['skin']['guiedit'] = 'edit.png';
-----------------------------
更に以下を追加
-----------------------------
<?php _toolbar('edit') ?>
<?php _toolbar('guiedit') ?>
-----------------------------

vi ja.lng.php
以下を追加
-----------------------------
$_LANG['skin']['edit'] = '編集';
$_LANG['skin']['guiedit'] = '編集(GUI)';
-----------------------------

vi lib/convert_html.php
以下を追加
-----------------------------
$anchor = ' &aname(' . $id . ',super,full){' . $_symbol_anchor . '};';
$anchor .= " &guiedit(#$id,paraedit,nolabel);";
-----------------------------

vi lib/html.php:
以下を追加
-----------------------------
$_LINK['edit'] = "$script?cmd=edit&page=$r_page";
$_LINK['guiedit'] = "$script?cmd=guiedit&page=$r_page";
-----------------------------

(6)ファイルの配置
cd ..
mv pukiwiki-1.4.7_notb_utf8 /var/www/html/wiki
chown -R apache:apache /var/www/html/wiki





2011-07-13

フタクビヒマワリがさきました

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
家でミニヒマワリを育てています。

そのうち一つが頭に二つ花が咲きました。
フタクビヒマワリです。



珍しいヒマワリが咲いたもんだ!
と思っていたら、フタクビドコロジャナイヒマワリを見つけました。















こちらはミニヒマワリではなく普通のヒマワリです。

ヒマワリって花は一つしか咲かないと思っていたのですが、そうでもないものなのですね。





2011-07-12

rubyで全角混じりの文字列から部分文字列を取得する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rubyで全角が混じっている文字列から部分文字列を取得する方法です。

日本語をきっちり使えるようにして
一文字ずつ区切って配列にして、部分配列を取得して
それを文字列に戻しています。

なんか他に方法があるような気がします。

以下はirbで試した感じです。
>> $KCODE = 'UTF-8'
=> "UTF-8"
>> a = "ああああaaaa"
=> "ああああaaaa"
>> a.split(//)[0..5].to_s
=> "ああああaa"
>> a.split(//)[0..2].to_s
=> "あああ"
>>  a.split(//)[0..15].to_s
=> "ああああaaaa"
>> a.split(//)[3..4].to_s
=> "あa"




2011-07-11

ガンタンクを買おうかどうか悩み中

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
去年、20年ぶりにガンプラを作ってみました。

作ってみたのはグフです。

ザクとは違うのです。

作ってみて最近のガンプラはスゴい!
と思いました。やたらいろんなところが動くし無駄に内部構造が凝っていたりして
作っていてかなり楽しかったのです。

その後、アッシマーも作ってみたのですが、グフに比べたら物足りない感じです。


どうやらMGシリーズというのがかなり凝っていて作るならMGシリーズだなぁと思ってみたりしたわけです。

ですが、そうそうしょっちゅうガンプラばっかり作るわけにもいかないお父さんなのです。
というわけで次作るなら何にしようと選ぶ楽しみをずっとやっていました。

その結果、作る楽しみが相当高そうなガンタンクにしようかなぁと思っています。
そんな動きまでするのか!という感じにほれてしまいました。


後は、いつ買おうかなぁとか思っているのですが、お父さんだけ買うわけにも行かない気配で、買うならば子どもにも

とか買ってやらないといかんかなぁとか思ったりしてもいるのです。

そして意味もなく買い与えるのもどうかと思ったりしているので、なかなか買えずにさていつどんな感じで買おうかと悩み中な今日この頃なのでした。

2011-07-10

メール共有・問い合わせ管理システム『osTicket』のインストール手順

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
メール共有・問い合わせ管理システム『osTicket』をインストールしてみました。

その手順です。

osTicketの機能などに関しては、
http://www.d-ip.jp/ot/
をご覧ください。

利用シーンとしては以下のような感じを想定です。
メーリングリスト:test_ml@xxxxx.jp
のメールを管理します。
メーリングリスト:test_ml@xxxxx.jp
のメンバに
mail_get_user@xxxxx.jp
が含まれており、このユーザでメーリを取得します。
osTicketのログインの際には、
staff1
というユーザでログインすることにします。


apacheおよびmysqlがインストール済みであることが前提の手順です。

su -

(1)php関連のインストール
以下が入っていないようならばインストールする
yum -y install php-mysql
yum -y install php php-imap
yum -y install php-mbstring
yum -y install php-mcrypt

そしてphp.iniを編集
vi /etc/php.ini
; Dynamic Extensions ;
この項目を探して以下を追加
----------------------------
extension=mbstring.so
----------------------------

apacheを再起動します。
/etc/init.d/httpd restart

(2)osTicket用のDB作成
専用のDBとアクセスするためのユーザを作成します。
mysql -u root
mysql> create database ost charset='utf8';
mysql> GRANT ALL ON ost.* TO ost@localhost IDENTIFIED BY 'ost';

(3)osTicketインストール
ソースを取得します。
cd /usr/local/src
wget http://demo.d-ip.jp/pub/osticket_1.6.0_ja_advance_20101027.tar.gz
tar xvzf osticket_1.6.0_ja_advance_20101027.tar.gz

cp osticket/upload/include/ost-config.sample.php osticket/upload/include/ost-config.php
chmod 777 osticket/upload/include/ost-config.php
mkdir osticket/upload/attach
chown -R apache:apache osticket

cp -pr osticket/upload /var/www/html/osticket

webから以下にアクセス
http://X.X.X.X/osticket
以下のように設定していく
Step 1:
osTicket web path and title
HelpDesk Title:テストサイト
System email
Default Email:mail_get_user@xxxxx.jp
Admin user
Username:administrator
Password:*****
Email:admin@xxxxx.jp
Database
MySQL Table Prefix:ost_
MySQL Hostname:localhost
MySQL Database:ost
MySQL Username:ost
MySQL Password:ost

Congratulations osTicket basic installation completed!
となることを確認する

確認後、再度ターミナルで以下を実行
cd /var/www/html/osticket
chmod 644 include/ost-config.php
rm -rf setup

テーブルの定義を拡張する
mysql -u root ost
alter table ost_ticket_message modify created datetime not null;
alter table ost_ticket_message modify message longtext not null;
alter table ost_ticket_message modify message_ngram longtext;
alter table ost_ticket modify created datetime not null,modify updated datetime;
alter table ost_ticket modify subject varchar(255) default '[no subject]' not null;

完了後、以下にアクセス
http://X.X.X.X/osticket/scp/admin.php
ログインは、
ユーザー名: administrator
パスワード: ***(設定したもの)

各種設定の実施
・メール設定-メールアドレス
noreply@xxxxx.jpを削除
Support を修正
  メールアドレス:test_ml@xxxxx.jp
  From名:テストML
  自動応答無効:このメールの自動応答を無効にしますにチェック
  ユーザ名:mail_get_user@xxxxx.jp
  パスワード:mail_get_user@xxxxx.jpのメールサーバのパスワード
  状態:有効にチェック
  ホスト:mail.xxxxxx.jp(メールサーバ)
  ポート:110
  取り込み頻度:1
  メール削除:取り込んだメールをサーバから削除にチェック
 osTicket Alerts を修正
  メールアドレス:admin@xxxxx.jp
・部門
 Billingを削除
 Supportを修正
  Dept Name:ML読み込み軍団
  部門署名:ML読み込み軍団
・ヘルプトピック
 Billingを削除
 Supportを修正
  ヘルプトピック:テストML
  自動応答:このトピックの為に自動応答を無効にします。にチェック
・設定-設定
 ヘルプデスクステータス:オンライン
 規定のページサイズ:50
 スタッフ最大ログイン:10 ログインタイムアウト:10
 クライアント最大ログイン:10
 自動cronを有効:スタッフのアクティビティによるcronの呼出を有効にする にチェック
 日付フォーマット:Y/m/d
 日付 & 時刻フォーマット:Y/m/d g:i a
 日 日付 & 時刻フォーマット:Y/m/d g:i a
 自動ロック時間: 0
 インバウンドメール:POP/IMAPメール取込 有効 にチェック
           クォーテーションを取り除いて返信 (以下のタグに依存) のチェックを外す
 既定のアラート通知メールアドレス:既定のシステムメールアドレスを使用(上記)
 全文検索機能:有効
・設定-添付ファイル
 添付ファイル許可:添付ファイル許可 にチェック
 添付ファイルメール:メールの添付ファイル承認にチェック
 オンライン添付ファイル:オンライン添付ファイルアップロード許可にチェック
 添付ファイルフォルダ:/var/www/html/osticket/attach
 承認ファイルタイプ:.*
・メール設定-メールアドレス
 alert@nxxxxx.jpを削除
・メール設定-テンプレート
 osTicket 既定テンプレート修正
   チケット応答/返信
   メッセージ本文:%nameさま
           
           %response
・スタッフ-ユーザーグループ
 Managersを削除
 Staffを修正
  グループ名:ML取り込み軍団メンバ
  チケット編集可能:はい
  チケット終了可能:はい
  チケット委任可能:はい
  応答テンプレートの管理可能:はい
・スタッフ-新規ユーザ追加
 必要なユーザ登録を行う(以下は例)
  ユーザ名:staff1
  部門:ML取り込み軍団
  ユーザグループ:ML取り込み軍団メンバ
  名前 (名,姓):STAFF1
  メールアドレス:staff1@xxxxx.jp
  パスワード:パスワード
  強制パスワード変更:次回ログイン時にパスワードの変更が必要 チェックをはずす
  

2011-07-09

Google Developer Dayに参加のための挑戦するかどうか悩み中

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
11/1にGoogleの開発者のためのイベントである。
Google Developer Dayが開催されるようです。

参加のためにはDevQuizというクイズを解く必要があるのです。

去年のGoogle Developer Dayでも同じようにDevQuizを解くことが参加条件でした。
そして解いて無事に参加させていただくことができました。

去年の傾向を見る限り、全部とかなくても参加は出来そうでした。
一番むずかしそうな問題の一番簡単なレベルまで解いておけば去年の場合は
参加できるような感じでした。

クイズの内容は、結構手ごわいので後で時間があるときにクイズをやろうと思うと
結構時間的に厳しいと思うので問題が発表されたら、とりあえず取り掛かった方がよいです。

で今年のGoogle Developer Dayに参加するかどうかですが、私は悩み中です。
クイズ解くこと自体は面白いしためになるのでよいのですが、やっぱりそれなりに時間が取られます。

今年はそれだけの時間を取れるかなぁという感じったので
正直、今年はいかないつもりでいました。

でも今年5月のGoogle IOで発表された
Android Open Accessory
というものが気になっており、これに関する話とかがあるのならば行ってみようかなぁと悩み始めてみました。

さてどうしよう。

2011-07-08

gemでインストールしたもののRdocを読む

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
gemでインストールしたものの使い方の情報が欲しいなぁと思ってgoogleさんに頼ることが多いのですが、
そういえばgemでインストールするときにRdocもインストールされているなぁと、ふと思ってみました。

でも、どうやって見るかよくわからなかったのでgoogleさんに頼ってみました。
gem server
とするとインストールされているものRdocをブラウザで見ることができるようになります。
デフォルトでは8808ポートを使うようです。


2011-07-07

「プログラマが知るべき97のこと」を読んだのです

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

これを読みました。

で気になった部分のメモです。



・問題解決のための指示、ヘルプテキストなどは、問題が起きているまさにその箇所に表示されないと意味がありません。ユーザの視野が狭くなっているので、ヘルプメニューよりもツールチップの方が有用なのです。

・ユーザが求めているものを正しく知るには、言葉を聞くよりも、彼らの行動を観察するのがいいのです。彼らの求めるものを頭で考えて1日過ごすより、わずか1時間でも観察した方が得るものは多いのです。

・コードの整形処理をビルドプロセスに含めてしまう。

・モジュールをチェックインする際には、必ずチェックアウトする時よりも美しくする

・他人よりまず自分を疑う

・コードレビューの目的は、ただコードの誤りを修正するだけではありません。重要なのは、チーム全員に同じ知識を共有させること、またコーディングにおいて全員が守るべきガイドラインを確立することです。

・カプセルかとは結局のところ、インターフェースを狭くするということである。

・書くのに苦労したコードは、読むのにも苦労する

・入念に計画された訓練では得意なことに取り組むのではない。自分を鍛え、少なくともまだ得意でないことに取り組むのである。楽しいとは限らない。

・コードに何かテキストを入力する時は--コメントであれ、あるいはログ、ダイアログ、テストデータであれ--常に「これがもし公になったとして問題にならないか」と自問せよ。

・自分が知らない仕事、自分の直接関わっていない仕事をしている人を尊重するということが大事です。

・APIを提供するときは、API自身のテストだけでなく、必ずそのAPIを利用するコードのユニットテストも書く

・プロはただ、がむしゃらに働けばいいというものではありません。プロの仕事には、入念な準備と効率化のための努力、そして日々の反省と絶え間ない変化が必要なのです。

・優秀なプログラマはプログラミング言語を巧みに操るだけでなく、自然言語も非常にうまく使うことができます。

・ソフトウェア見積もりの主目的は、プロジェクトの結果を予言することではない。見積もりを行うのは、プロジェクトのターゲットがコントロールによって達成可能な程度に現実的なものかどうかを判断するためである

・正しい使い方を簡単に、誤った使い方を困難に

・他人の書いたコードを読むのが辛いのは、他人が書いたコードがひどいからではなく、思考や問題解決の方法が自分と違っているからです。しかし他人の書いたコードを読むことは自分の成長につながるのです。

・プログラミングにおける「再利用」を重視する人は多いですが、いつ、何を、どのように再利用すべきかがわからなければ、良い結果になりません。それをわかるためには、問題領域について、またアルゴリズムとデータ構造について、十分な知識が必要なのです。

・いつも「このコードは生涯、自分がサポートし続けなくてはならない」と思ってコードを書く。

・コードを見る人のためにテストを書く

・良いテストはドキュメントのようなはたらきをします。テスト対象となるコードについて知るのに役立つのです。「このコードはどう動くのか」を教えてくれるのが良いテストです。

・プロジェクトが始まったらコードネームを決めましょう。

・プログラマが持っておくべきスキルをあえて3つあげるとすれば、(1)コードを読むスキル、(2)テストをするスキル、(3)デバッグをするスキル、だと考えます。

2011-07-06

Railsで全角だけ入力できるようにするvalidate

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
railsさんで全角しか入力できないようにするためのvalidateです。

こんな感じです。
validates_format_of :zendake, :with=> /^[^ -~。-゜]*$/,:message => "全角で入力してください。"
全角しか入力できないというよりも、半角はダメって感じです。

なんで上記で半角をあらわせるかは
http://ash.jp/code/codetbl1.htm
をみるとわかります。

2011/07/23追記
試した環境は
ruby 1.8.7
rails 2.3.11
です。
ruby 1.9では半角カタカナがガードできないとコメントをいただきました。


2011-07-05

スマホは冬モデルまでまとうかなぁとか思ってみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
今、docomoの携帯を使っています。
docomoのスマートフォンでテザリングできる機種が増えたら機種変を検討しようと思っていたら、
予想以上に早く多くのテザリング対応機種が出た夏モデルなわけでした。

Androidをいじるならば、いろんなセンサやらなんやらいっぱいついていて
それをいじるアプリが作れたらいいなぁとか思っているので、機能はいっぱいついているのがイイ!
と思っているわけです。

となると今回のdocomoの夏モデルを見ると
MEDIAS WP
がよさげな感じです。
amadanaコラボモデルが存在するのも注目です。

これを第一候補に考えていて、実際に触ってみたのですが
なんかフィーリング的に合わないと思ってしまいました。
大きさとエッジの形とかがなんか私とはあわない感じがしてしまったのです。

でついでに他の候補も触ってみると
スペック的には
GARAXY SⅡ
は、すばらしく触ってみた感じもサクサクだし
大きさも気持ち大きいかなぐらいな感じで悪くないです。
でもフェリカもしくはNFCがついていてもらいたいなぁと思ったわけです。
正直、普段は携帯でフェリカも使っていないですが
Android2.3ならばNFCのAPIとかあるようなので、ちょっといじってみたいと思ったのです。

そして
Xperia acro
ですが、こちらはテザリングができなので今回は対象外と思ってみました。

なんか今回の夏モデル決して悪くないのですが
もう少し!って感じを持ってしまったのです。
なので冬モデルまで待つことにしてみました。
冬モデルは相当いいんでないかい!と期待しています。

大きさも、せめてiPhoneぐらいが一番持ちやすい感じがするので
あまり大きいサイズにならないでもらいたいなぁとか思ってみました。

スマホは延期したのでタブレットを、この夏に買おうかなぁと現在は悩み中です。
今は、acerのICONIA TAB A500がお値段安めで気になっています。
でもお安めなだけ、どこかいまいちなところがあるのかしら?と評判追跡中です。


本当は
GARAXY TABの10.1インチモデル
が一番気になっているのですが、まだ日本発売がないので・・・
wifi接続だけできればよいのでdocomoから3Gつきでしか発売されなかったらどうしよう・・・
とか心配をちょっとしてしまいます。

MOTOROLA XOOMも悪くないのかなぁ・・・とか思ったりしています。


今月、東芝のAndroidタブレットも出る感じなので今月ゆっくり考えてみようと思っています。

5月のGoogle IOでAndroid Open Accessoryというものが発表されて、いじってみたいのでそろそろAndoroiを・・・
と思っている今日この頃でした。

駄文でした。

2011-07-04

pythonでUNIXタイムスタンプを求める

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
pythonさんでUNIXタイムスタンプを求める方法です。

UNIXタイムスタンプとは1970年1月1日からの通算秒数のことです。
なので私はUNIX通算秒と覚えていました。
UNIXタイムスタンプという言い方は最近知ったかもしれないです。

以下では現在時刻をUNIXタイムスタンプに変換しています。
import datetime
import time

ts = time.mktime(datetime.datetime.now().utctimetuple())
print ts

2011-07-03

WBS「トレたま」で放送された商品をAmazonで検索してみた(201106放送分)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
WBSのコーナーの「トレたま」で放送された商品をAmazonで検索してみました。
トレたまのページのフォーマットが変わっていたので、ちょっと調べるのに時間がかかってしまいました。

糖尿病ケータイでチェック (放送:6月30日)
 見つかりませんでした

おしゃれな空気清浄機 (放送:6月29日)
 見つかりませんでした

貝殻抗菌シューズ (放送:6月28日)
 見つかりませんでした

加熱式お弁当箱 (放送:6月27日)
 見つかりませんでした

目元メークが楽々 (放送:6月24日)
 amazonにありました
 つけまミラー ブラック
 つけまミラー ピンク
 つけまミラー ホワイト

節電でも快適な眠りを (放送:6月23日)
 amazonにありました
 【送料無料】フランスベッド 冷却・温熱機能付敷パット【冷暖四季パッド】オールシーズン使えるウォーターサイクル 品番:35762100(シングル)
 フランスベッド 1年中快適睡眠♪ 冷却 ・ 温熱 機能 付き 敷き パッド 『 冷暖 四季 パッド 』 ウォーター サイクル シングル サイズ ( 約97×195cm )
 フランスベッド 冷却・温熱機能付きパッド「冷暖四季パッド」

“未知の”番号でもブロック (放送:6月22日)
 見つかりませんでした

地震に強い水槽 (放送:6月21日)
 見つかりませんでした

手軽で本格結婚式ビデオ (放送:6月20日)
 見つかりませんでした

香りを出す印刷! (放送:6月17日)
 amazonにありました
 キヤノンアロマインク20cc遮蔽ガラス瓶入り6色set
 ブラザーアロマインク20cc遮蔽ガラス瓶入り4i色set
 キヤノン用アロマインクカートリッジ(香るインク)
 アロマインクブラザー徳用100cc4色
 アロマインクキヤノン徳用100cc6色
 アロマインク50型エプソン互換カートリッジ
 アロマインク321.320型キヤノン5色互換カートリッジ

鍛える筋肉を狙い撃ち! (放送:6月16日)
 見つかりませんでした

白癬菌いる?いない? (放送:6月15日)
 見つかりませんでした

緑茶マッチ! (放送:6月14日)
 見つかりませんでした

光と音で決済! (放送:6月13日)
 amazonにありました
 電子マネー Ejacket 仮面ライダー新1号

変身するタブレット端末 (放送:6月10日)
 amazonにありました
 ASUS Eee Pad Transformer TF 101 10.1型LED マルチタッチスクリーン ブラウン TF101-1B173A
 ASUS Eee Pad Transformer TF101 10.1型ワイド TFTカラータッチスクリーン ブラウン TF101-1B173A

「透ける」ブーツ (放送:6月9日)
 見つかりませんでした

うずまき傘 (放送:6月8日)
 見つかりませんでした

空飛ぶ球体 (放送:6月7日)
 見つかりませんでした

150キロも大丈夫! (放送:6月6日)
 見つかりませんでした

転ばない電動三輪車 (放送:6月3日)
 見つかりませんでした

指輪でメモリー (放送:6月2日)
 見つかりませんでした

止まらない扇風機 (放送:6月1日)
 amazonにありました
 【バッテリー駆動時動作時間:約4時間(強)/約5時間(中)/約6時間(弱)】 フォースメディア 充電池内蔵リビングファン ホワイト FM-BF16D

WBS「トレたま」で放送された商品をAmazonで検索してみた(201106放送分)


WBSのコーナーの「トレたま」で放送された商品をAmazonで検索してみました。

糖尿病ケータイでチェック (放送:6月30日)
 見つかりませんでした

おしゃれな空気清浄機 (放送:6月29日)
 見つかりませんでした

貝殻抗菌シューズ (放送:6月28日)
 見つかりませんでした

加熱式お弁当箱 (放送:6月27日)
 見つかりませんでした

目元メークが楽々 (放送:6月24日)
 amazonにありました
 つけまミラー ブラック
 つけまミラー ピンク
 つけまミラー ホワイト

節電でも快適な眠りを (放送:6月23日)
 amazonにありました
 【送料無料】フランスベッド 冷却・温熱機能付敷パット【冷暖四季パッド】オールシーズン使えるウォーターサイクル 品番:35762100(シングル)
 フランスベッド 1年中快適睡眠♪ 冷却 ・ 温熱 機能 付き 敷き パッド 『 冷暖 四季 パッド 』 ウォーター サイクル シングル サイズ ( 約97×195cm )
 フランスベッド 冷却・温熱機能付きパッド「冷暖四季パッド」

“未知の”番号でもブロック (放送:6月22日)
 見つかりませんでした

地震に強い水槽 (放送:6月21日)
 見つかりませんでした

手軽で本格結婚式ビデオ (放送:6月20日)
 見つかりませんでした

香りを出す印刷! (放送:6月17日)
 amazonにありました
 キヤノンアロマインク20cc遮蔽ガラス瓶入り6色set
 ブラザーアロマインク20cc遮蔽ガラス瓶入り4i色set
 キヤノン用アロマインクカートリッジ(香るインク)
 アロマインクブラザー徳用100cc4色
 アロマインクキヤノン徳用100cc6色
 アロマインク50型エプソン互換カートリッジ
 アロマインク321.320型キヤノン5色互換カートリッジ

鍛える筋肉を狙い撃ち! (放送:6月16日)
 見つかりませんでした

白癬菌いる?いない? (放送:6月15日)
 見つかりませんでした

緑茶マッチ! (放送:6月14日)
 見つかりませんでした

光と音で決済! (放送:6月13日)
 amazonにありました
 電子マネー Ejacket 仮面ライダー新1号

変身するタブレット端末 (放送:6月10日)
 amazonにありました
 ASUS Eee Pad Transformer TF 101 10.1型LED マルチタッチスクリーン ブラウン TF101-1B173A
 ASUS Eee Pad Transformer TF101 10.1型ワイド TFTカラータッチスクリーン ブラウン TF101-1B173A

「透ける」ブーツ (放送:6月9日)
 見つかりませんでした

うずまき傘 (放送:6月8日)
 見つかりませんでした

空飛ぶ球体 (放送:6月7日)
 見つかりませんでした

150キロも大丈夫! (放送:6月6日)
 見つかりませんでした

転ばない電動三輪車 (放送:6月3日)
 見つかりませんでした

指輪でメモリー (放送:6月2日)
 見つかりませんでした

止まらない扇風機 (放送:6月1日)
 amazonにありました
 【バッテリー駆動時動作時間:約4時間(強)/約5時間(中)/約6時間(弱)】 フォースメディア 充電池内蔵リビングファン ホワイト FM-BF16D


仮面ライダーのケースが一番気になってみたのです。

2011-07-02

rubyで帳票

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
※この情報はpreview2の場合の情報です。新しいバージョンでは互換性がありません。新しいバージョンに関しては、rubyで帳票を作るのに便利そうなThinReportsがバージョンアップしていたを参照してください。



rubyで帳票を作りたいなぁと思って調べると
Prawn
というを使って頑張ってPDFを作成する感じと
JasperReport
というもの用意して、連携して使う感じが見つかります。

できれば帳票のデザインは、別の人がやってプログラムではデータをはめ込むだけにしたいわけです。
Prawn
ではデザインの分離はできなそうです。
JasperReport
では、デザインの分離はできそうですが環境を用意するのがちょっとめんどくさそうです。

で他のを調べていたら
ThinkReports
というのがありました。
デザインをちゃんと分離できます。

利用するには以下の3つが必要なようです。
・ThinReports Editor:帳票デザインツール
・ThinReports Generator for Ruby:帳票作成環境
・PXDoc:帳票印刷ツール
印刷に専用ツールが必要なのがちょっと微妙な気がしないわけでもないですが、将来的にはpdfに対応するようです。

インストール方法は、
http://osc.matsukei.net/projects/thinreports/wiki/Installation_Guide
を見ればよいのですが、それぞれ以下のような感じです。

・ThinReports Editorのインストール
Windows環境で作業を行う
http://osc.matsukei.net/projects/thinreports-editor/files
から最新版をダウンロードしてインストールする。

・ThinReports Generator for Rubyのインストール
linux環境で実行する
su -
gem install thinreports-generator --pre

・PXDoc
Windows環境で作業を行う
http://www.pxdoc.com/download.htm
よりバージョン1.18.21をダウンロードしてインストールする

で使い方です。

まずは帳票のデザインをします。
http://osc.matsukei.net/projects/thinreports/wiki/Getting_Started
こちらを見ればなんとなく使い方がわかります。
データを当てはめるところにしっかり名前をつけておけばよい感じです。
以下のような感じのを作ってみました。

デザインしたものにデータをはめ込むのは以下のような感じです。
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

require 'rubygems'
require 'thinreports'

#デザインしたファイルを置いたディレクトリ
ThinReports::Generator.config.layouts_dir = '/home/ohoho/uhuhu'

#デザインしたファイル名を指定
report = ThinReports::Generator.new_report :test_test

report.new_page do |page|
  page[:aaa].value = 'おらおら'
  list = page.list(:test_list)
  data = [['コード1','おなまえ1','バルバル'],
          ['コード22','おなまえ12','バルバルバル'],
          ['コード22333','おなまえ12345','バルバルバル場るバルバル'],
          ['コード2233344455555','おなまえ1234567890','バルバルバル場るバルバルバリバリバリバリ'],
          ['コード2233344455555667788','おなまえ1234567890なまえ~~~~','バルバルバル場るバルバルバリバリバリバリバロバロバロ'],
         ]
  data.each do |d|
    list.new_row do |row|
      row[:code].value = d[0]
      row[:name].value = d[1]
      row[:valval].value = d[2]
    end
  end
end

report.new_page do |page|
  page[:aaa].value = 'オラオラオラオラオラオラオラオラオラオラオラオラオロオラオラオラオラオラオラオラオラララララララララララララ'
  list = page.list(:test_list)
  for i in 0..50
    list.new_row do |row|
      row[:code].value = 'code' + i.to_s
      row[:name].value = 'name' + i.to_s
      row[:valval].value = 'valval' + i.to_s
    end
  end
end

File.open('test_out.pxd', 'w') do |f|
   f.puts report.generate(:pxdoc)
end

puts 'Done'

この結果できたのが以下のような帳票になります。



なかなかよさげな気配です。


2011-07-01

今月は毎日ブログを更新してみよう月間にしてみようと思ってみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
ふと昨日、
7月は毎日ブログを更新してみようかな
とか思ってみました。

小さな変化が人生を変える。30日単位の人生ハック
に影響を受けたりしています。

とりあえず以下のことがわかればよしとしてみます。
・どれくらい大変なのか?
 文章書くのが得意でないので、何日目ぐらいできつくなるかが気になるところ。
・アクセス数は増えるのか?
 今は日に130ぐらいの模様。30日程度かつ、それほど立派なことを書くでもないのでそんなに増えないと思うけど気になるところ。

途中でくじけるかもしれませんが、とりあえず今月やってみることにしてみます。