訳が分からん

jQuery programmingではまっています

cssで以下に定義

.this_screen {
  background-color: red;
}

そして htmlで以下の記述

<html>
<head>
<title>***</title>
<body>
<p id="p1">This is P1</p>
</body>
</html>

さらにjQueryで以下のように記述

<script type="text/javascript"> 
 $("#p1").addClass("this_screen"); 
</script>

ところがこれが作動しないことがある何故だかさっぱり不明です 仕方なく以下のようにしたところ作動したのです

<script type="text/javascript">
  $("#p1").css("background-color", "red");
</script>

まったく訳が分からない・・・・

純粋世界という幻想

昨日は山口循環器研究会にお招き頂き、講演をしました この研究会には 15年ぐらい前にもお招きされ、講演したのです

TRIに関して重要な論文を書かれた分山先生に座長をして頂きました そして、その後の情報交換会で、山口大学の先生と運命的な遭遇をしました 彼は、やはり独学で C#を使って、OFDIの 3D画像構築をプログラムされているのでした

実はそのプログラムの動いているところを今年の Singapore Liveで見ました 素晴らしいですよ そのような先生とお会いでき、何だかようやく同志に巡りあった気分です これから何か迷った時、すぐにコンタクトするつもりです

それにしてもプログラミングというのは、仮想世界ですが、とても純粋です 全て自己責任であり、誰のため、と非難することはできません 実世界とは全く異なりますよね 実世界が嫌になった時、この仮想世界で思索をすることにより、身も心も清めた気分になります

今、東京に向かう新幹線の中です 6:00AM発ののぞみで移動中ですが、この中での仮想世界思索により、ついに解決しました

ツールは html + jQuery (Javascript + cssなのですが、html中の<li></li>要素 これは’d’というクラス指定しているのですが、その値により色分けする、というプログラムを書きました こんな感じです

$(".d").each(function() {
			if ($(this).html() == 'Negative') $(this).removeClass('d').addClass('red');
		});

実に簡単ですが、この命令文の意味するところは深いですよ

昨日は朝からずっと忙しく

昨日は朝から 東京女子医大の葵会館という講堂で、Harmonzation By Doing Think Tank East 2013という会が開催されました。場所は新宿なので、僕は前日夜から新宿に入り、JAL City Hotelというホテルに宿泊し、 7:30AMより Morning Conferenceを行い、HBD会議に参加しました。登録が事前に200名以上あり、たくさんの方々が参加されました。参加者には当然のことながら、米国食品医薬品局(FDA)より6名ぐらい、厚生労働省からも参加され、また独立行政法人 医薬品医療機器総合機構(PMDA)からも 30名ぐらいが参加し、その他日米の関係者が参加されました。
僕はHBDの最初から関わっている、という理由でしょうが、はじめに Keynote Speechを行わされ、またその後も discussantや講演、あるいは moderatorとしてほとんど釘づけ状態でした 朝から晩まで英語の奔流の中で迷走していました。
まあ、それでもよくぞここまで来たな、という感想です。当日は何人かの思いがけずの出会いがあったりして、やはりこのような会に参加するのは大変でこそあれ、良いことも沢山ある、というのが正直な気持ちです。
昨夜、会が 17:30に終了し、すぐに鎌倉に戻り、待ち望んでいた自転車の回収を行い、自宅からその自転車で病院に戻り、19:30から3時間みっちり、CVIT発表の予行演習というかチェックを行いました。
皆の発表のレベルがとても向上していることに満足です。いくつかの発表は単なる発表にとどまらず、すぐにでも英文論文になりそうです。鎌倉も遅々としてはいますが、着実に進化していますね。
今日はこれから神戸に入り、土曜日まで神戸にはりつきです。
ところで、密かに小さい胸を悩ましていた問題、さっきヒットしました。
ここです。同じ悩みを抱えている人が世界の中に他にもおられることを知って嬉しく思います。

そうかそうすれば

今、

、鎌倉ライブのプログラム作成用サイトをプログラムしています。目標は、Web Browserを用いて自由にセッションを目で見てスライドやズーム作成しながら配置し、最終的には開始時刻・終了時刻などがデータベースに格納される、というサイトです

要するに、非常にフレキシブルでinteractiveなサイト作成を目指しています。これが実現できれば、僕のプログラム作成能力が飛躍的に高まった証拠となります。

現段階で相当なレベルまで出来上がっていますが、データをまずは JSON形式で保持しようかと思っています。そして、画面テータとデータベースのやりとりは JSONで Ajax通信を行えばいいかな? と漠然と考えています。

そこで問題となったのが、どのように Browserで静的変数を保持したらばよいのか? ということでした。もちろん、Server側に保持すれば簡単です。あるいは Cookieに書き込んでも良いでしょう。でも、できればそのように汚したくは無く、あくまでもメモリー上で、そのセッション完結という形で保持したいと思っていました。

そして、Googleで Javascript, jQuery, 静的変数で検索してようやくこれならば というものにヒットしました それがこのページです

ここの

どうも関数内で定義したローカル変数を関数内関数で扱う仕組みのことを言うようだ。で、関数内関数は呼び出し元の関数とはスコープが違うから、元の変数を使っても独立した値を保持できる、と。

    function newCounter() {
    var i = 0;
    return function() { // anonymous function
    i = i + 1;
    return i;
    }
    }
     
    c1 = newCounter();
    alert(c1()); // 1
    alert(c1()); // 2
    alert(c1()); // 3

ある関数型がクロージャか、関数定義か、メソッドかは、呼び出し元が関数なのか変数なのかインスタンスなのかで決まるっぽい?

という記述を試みたところ、確かに静的変数として実現できました。これは使えます。感謝感謝です。

アップロード完了

今 RAP and BEATという国際共同研究者主導型臨床試験を企画中です。このためのプロトコルたたき台も作成しました。世界中の研究者が参加しますので、それを討議する場が必要です。

このため、プロトコル討議用の掲示板を作成し、ようやくアップロードしました。入り口では共通のパスワードでプロテクトされていますので、一般からは閲覧不可能ですし、検索エンジンにもひっかかりません。

ここの仕組みを作るのに相当苦労しました。というのも、掲示板そのものは既に公開されているものを足掛かりに改変して利用させて頂いたのですが、枠組みを壊すとプログラムが走らなくなるし、かといって色々な部分を変えないとこの目的には使用できないので、大枠を壊さずにプロテクトページとすることに腐心したのです。

最初はセッションを用いずに jQueryのみを用いて行おう、と苦労したのですが、どう考えても不可能なので、jQuery + Javascript + PHP ($_SESSION)を用いてようやく目指すものができました。

昨日より札幌

昨日より札幌に入っています 昨日朝 札幌には雪が降りましたが、流石にこの季節 街に積もっていた雪は溶けています 昨日はあまり元気が無く、早々と寝たのですが、01:00AMには覚醒し、それからずっとプログラム書いていました

Web上のプログラムで、TRI Maniac Confenceなどの登録サイトです。相当に securityに気を使いながら書いています。いわゆる Zendや、CakePHPなどのPHP Frameworkは使用せずに、最初からコーディングしています どうもFrameworkの中のいろいろな取り決めが嫌いで、Frameworkには馴染めません もっとも、jQueryは違います、これはFrameworkというより Javascript Libraryと言うべきかも知れませんが、これは随分と使っています

あれ程なかなか転化できなかった PDO (PHP Data Object)の世界ですが、今ではすっかり馴染んで使用しています 何しろ PDOを用いれば、SQL Injection攻撃を完璧に跳ね返すことができるので、とても貴重です 今回も MySQL Databaseとの間で SQL文を用いてデータのやり取りが何回も何回もあるのですが、その全てで PDOを用いています。これは僕にしてみれば相当な進歩です

以前PDOに馴染めなかったのは、SQL文のデバッグがしづらかったからです

  print_r($pdo->errorInfo());
  exit;

とすることにより、エラーが起きているかどうかは分かるのですが、SQL文の何処にエラーがあるのか、それがなかなかわかりづらかったので敬遠していました しかし、ローカルで立ち上げたデータベースに対して phpMyAdminを用いて SQL文を発行して、デバッグする方法を思いついたので、この壁も乗り越えることができました

という訳で今は PDOを使いまくっています