徒然なるままに、日ぐらしP/Cに向ひて――
メインメニュー
ブログカレンダー
2013年 3月
« 2月   4月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  
WordPress カテゴリ一覧
WordPress 検索


富士カメラ5

Kestrel とは、チョウゲンボウのことです。ハトくらいの小さな猛禽類、つまりワシの仲間で、ハヤブサに似ています。
チョウゲンボウにはホバリングという特技があります。よく農地の上空で空中に停止している姿が見られます。小さいけれどカッコイイ、そして最近は都会でも繁殖している頼もしいタカです。
このサイトのURLは、そんなチョウゲンボウから名前を借りました。

2013年3月29日(金曜日)

桜もこの週末で終わりかな。地元の桜祭りは来週なのに

カテゴリー: - flyman @ 21時52分50秒

さて、2012年度が終わった。来週からは新年度が始まる。
年度の変わり目は異動の時期でもある。flymanも、久しぶりかつドラスティックな異動となった。まあ、機会があれば、その話題も……

また靴を買った。別に靴フェチというわけではないのだが。

いつもの Timberland。5416Rだ。
履きやすそうだったので、スニーカー代わりに、と思ったのだが、今日さっそく会社に履いていってしまった。

2013年3月26日(火曜日)

剛力彩芽

カテゴリー: - flyman @ 23時22分10秒

フジの月9ドラマ、「ビブリア古書堂の事件手帖」が終わった。最終回は史上最低の視聴率だったそうだ。
だが、flyman は面白く見られた。鎌倉の古本屋を舞台とした謎解きドラマだが、起きる事件の規模は小さい。剛力彩芽演じる本屋の主人、栞子さんの微笑んだ顔がいい。こぢんまり感がほんのり楽しいドラマだった。最初は「え?AKIRA?」と思ったが、案外悪くなかった。でも、一番良かったのは初回、かな。


2013年3月23日(土曜日)

花の時期になった

カテゴリー: - flyman @ 22時59分57秒
惨劇の痕。襲ったのは誰だろう。
この時期だけの、ツクシスパを作ってみた。袴を取るのが大変なんだよねぇ。

色々と腹の立つことばかりの今日この頃。
キレる寸前で、何とか毎日をやり過ごしている状態だ。状況が好転してくれないと、精神的に保たなくなりそう。若い頃ならケツまくって終わりなんだけど。


2013年3月16日(土曜日)

もう春の陽気

カテゴリー: - flyman @ 23時31分02秒

残っている冬鳥はツグミ、コガモくらいか。

河津桜だろうか、ピンクに咲き誇っていた。

上空をハヤブサが舞っていた。

以前にも少し触れた、台湾製の暗号解読版B-CASカードに対策する"毒電波"が発信されたらしい。が、翌日にはカード側がファームウェア・アップデートで対応してしまった。
放送局側が講じた対策は一日で破られた。対策信号の発信がカード側ファームウェアのブラッシュアップに一役買ってしまった形だ。
それでもやらないよりはマシといったところか。無料放送を暗号化してしまった暴挙のツケは重い。


2013年3月15日(金曜日)

Ruby、DBI、OCI8、ODBC、Oracle …… さっぱり

カテゴリー: - flyman @ 22時30分17秒

2月5日のエントリーで、ruby で Oracle接続するテストスクリプトを書いた。
あれはちゃんと動いた。ところが、

require “rubygems”
require “dbi”

begin
 conn = DBI.connect("DBI:ODBC:MyOracle”,"ユーザー名”,"パスワード")
 rows = conn.select_all("select * from MyDB")
 rows.each do |row|
  処理
 end
ensure
 conn.disconnect if conn
end

これは動かない。select_all が機能しないのだ。

 rows = conn.execute("select * from MyDB")
 rows.each do |row|
  処理
 end
 rows.finish

これは大丈夫。
よく分からない。
select_one、execute は動作するが、select_all は動作しない。でも、flymanは select_all が使いたい!
結局、
 conn = DBI.connect("DBI:ODBC:MyOracle”,"ユーザー名”,"パスワード")

 conn = DBI.connect("DBI:OCI8:MyOracle”,"ユーザー名”,"パスワード")
にすることで、select_all が使えるようになった。
結果オーライということで、これ以上の深入りはやめにした。どうせ理解できないだろうし。


2013年3月14日(木曜日)

渋谷駅

カテゴリー: - flyman @ 21時55分52秒

いよいよ東横線の渋谷駅が地下に移転する。

flymanはもう長いこと東横線渋谷駅には行っていないが、高校時代の一時期、渋谷は通学経路だった。もう40年も前の話だ。
当時の渋谷駅には楽しい思い出が色々ある。友達と何時間も東横線渋谷駅を徘徊したり(理由はヒミツ)、東横線では何人かの女子高生と友達にもなった。朝の渋谷駅で女子中生から突然ラブレターを貰ったこともある。
美人の多い電車、それがflymanの東横線の印象だ。
迷子になりそうな乗り換え経路が整理されるのは良いことだが、ちょっと寂しくもあるね。


2013年3月6日(水曜日)

ajaxで、フォーカスを失ったときに処理をさせる

カテゴリー: - flyman @ 21時23分53秒

さらに、test01プロジェクトを書き換える。

app/views/welcome/index.html.erb はそのまま使う。
<%= text_field_tag :field1, :id => “field1″ %><BR/>
<%= text_field_tag :field2, :id => “field2″ %><BR/>
<div id="hint”></div>

app/assets/javascripts/application.js の内容を書き換える。

$(document).ready(function(){
 $("#field1″).blur(function(){
  if($(this).val().length>0){
   $.ajax({
    url: ‘/welcome/ajaxSample’,
    type: ‘POST’,
    datatype: ’script’,
    timeout: 1000,
    data: $(this),
    error: function(){alert(’Server Error on ajax’)},
   });
  };
 });
});

“blur” は、フォーカスを失ったとき、つまり field1 からカーソルが外へ出たときに実行される。

app/controllers/welcome_controller.rb に、"ajaxSample"アクションを追加する。

class WelcomeController < ApplicationController
 略
 def ajaxSample
  @value = Time.now
 end
end

新たに、app/views/welcome/ajaxSample.js.erb を作る。内容は以前のindex.js.erbとほぼ一緒だ。
$('#hint').html("<%= @value %>")

最後に、app/config/routes.rb に、
match "welcome/ajaxSample"
を追加しておく。

「:id => “field1″」な text_field_tag からフォーカスが別のフィールドやボタンに移ると、application.jsの「url: ‘/welcome/ajaxSample’」で指定されたアクションが実行され、ajaxSample.js.erbテンプレートにより、「<div id="hint”></div>」の値が書き換えられる。

実行するアクション(例では welcome_controllerのajaxSample)にロジックを書けば、入力値のチェックができる。これこそflymanがやりたかった事なのだ。
例えば、取引先コードを入れたら、取引先マスタを検索して取引先名称を表示する、とか。処理に時間が掛かるときは、timeoutの値を大きくすると良い。
前回のmouseoverなど、他のファンクションと組み合わせても良いだろう。


2013年3月5日(火曜日)

Rails3 でajax、マウスの動きを検知する

カテゴリー: - flyman @ 22時08分12秒
お茶の水駅
東京駅

前回は ”:remote => true” を付けるだけでajaxなアプリになったよ、って話だった。
でも、やりたいことはソレじゃない。
ということで、前回のtest01プロジェクトを書き換える。

app/views/welcome/index.html.erb の内容を消去し、以下に入れ替える。

<%= text_field_tag :field1, :id => “field1″ %><BR/>
<%= text_field_tag :field2, :id => “field2″ %><BR/>
<div id="hint”></div>

入力項目2個と、ajaxで書き換えるエリア “hint” を指定している。

app/assets/javascripts/application.js に以下を追記する。

$(document).ready(function(){
 $("#field1″).mouseover(function(){
  $(’#hint’).html("Field1のバルーンヘルプ")
 });
 $("#field1″).mouseout(function(){
  $(’#hint’).html("")
 });
 $("#field2″).mouseover(function(){
  $(’#hint’).html("Field2のバルーンヘルプ")
 });
 $("#field2″).mouseout(function(){
  $(’#hint’).html("")
 });
});

“field1″ の mouseover 時に、"hint” エリアに文言を表示
“field1″ の mouseout 時に、"hint” エリアを消す
“field2″ の mouseover 時に、"hint” エリアに文言を表示
“field2″ の mouseout 時に、"hint” エリアを消す
という処理をしている。これで、view側の text_field_tag にマウスが乗ったかどうかを監視してくれる。

app/views/welcome/index.js.erb は不要だ。welcome/index アクションの中身も不要。

$(document).ready は、view画面表示が完了してからjavascriptを有効にするおまじないらしい。Javascriptをhtml内に書いているときには意味があるが、今回はファイルを分離しているので不要かも知れない。

入力欄にマウスを乗せると、ヒントが表示される。Windowsアプリでよくやる、バルーンヘルプ的な。

でも、本当にやりたいのはコレでもないんだよなぁ。
やっぱり、ajaxもjavascriptもさ?っぱり分からない。Rails3.2 + jQuery とかの解説書、ないかなぁ。


2013年3月2日(土曜日)

一日中、目がかゆい、鼻が詰まる

カテゴリー: - flyman @ 18時29分42秒

雨上がりの朝、久しぶりにウォーキングに出た。
が、予想に反して花粉は飛んでいたようで、目鼻が酷いことに。

すでにツバメが来ているようだ。
==============================================

ちょっとajaxの検討をしている。Ruby on Railsのソフトで、画面全体の更新なしで一部だけ書き換えたいのだが……

単純なajaxは次のようにして実現できる。

まず、railsのプロジェクトを作る。
# rails new test01 -O
テストプロジェクトなので、"-O"を付けてActiveRecordは利用しない設定にしている。

gemfileに、次のようにjsランタイムを追加する。
gem ‘therubyracer’
追加したら、cd test01のあと、
# bundle install
しておく。

コントローラーを生成する。
# rails generate controller welcome index

config/routes.rbの
# root :to => ‘welcome#index’
行頭の"#"を取ってアンコメントする
さらに、public/index.html を削除しておく。

app/views/welcome/index.html.erb の内容をすべて消去し、以下を記入する。

<%= link_to “更新”, {:action => “index"}, :remote => true %>
<div id="value”></div>

1行目は、"更新"ボタン。リンク先URLは"index"、つまり再表示になる。
:remote => true だけで、ajax (jQuery)対応になる。
2行目は、ajaxデータ表示用エリアのマークだ。

あらたに、app/views/welcome/index.js.erb を作り、以下を記入する。
$(’#value’).html(”<%= @value %>")

app/controllers/welcome_controller.rb の中で @value に値をセットすれば、それが表示されるようになる。
こんな感じだ。
def index
@value = Time.now
end

リンクをクリックするとページの書き換えなしに日時が書き換わるはずだ。
――でも、勿論やりたいことはこんな事じゃない。先は長い。


32 queries. 0.033 sec.
Powered by WordPress Module based on WordPress ME & WordPress

ヘッドライン
テーマ選択

(4 テーマ)