-->
./
<!-- フラ&#65533;ュが見れな&#65533;のためにここに何か書&#65533; --> フラ&#65533;ュがインス&#65533;&#65533;ルされて&#65533;&#65533;たいで&#65533;&#65533;&#65533;

2010年03月24日

「自らの利益しか考えず相談者の立場に立たない法律家が多すぎる」と嘆く。

追跡やまがた:過払い金返還バブル 法律家への苦情が急増 /山形(毎日新聞) - Yahoo!ニュース
「電話したら、料金の説明が無いまま契約を迫られた」「過払い金が少ないと分かると相談を打ち切られた」。消費者金融など貸金業者から払い過ぎた利息を取り戻す「過払い金返還」に関し、弁護士や司法書士への苦情が増えている。県消費生活センターには昨年4月から今年2月上旬までに285件の多重債務の相談が寄せられたが、うち19件が法律家への苦情や不満だった。多重債務の解決を目指す法律家や多重債務経験者で作る「山形さくらんぼの会」会長の外塚功弁護士は「自らの利益しか考えず相談者の立場に立たない法律家が多すぎる」と嘆く。【細田元彰】
 「払い過ぎたお金、取り戻しましょう」「過払い金は、あなたのお金です」。過払い金返還の請求を呼びかける法律事務所があふれる。「7社から500万円あった借金がなくなりました!」と事例を紹介する事務所も。
 06年1月、利息制限法の上限(金額により年15〜20%)と出資法の上限(年29・2%)の間の「グレーゾーン金利」を無効とする最高裁判決が出た。これを契機に、払い過ぎた金利の返還を求める人が急増。「過払い金バブル」と呼ばれる一大市場が法律家の間に生まれた。
 日本貸金業協会によると、消費者金融が借り手に返した金額は、過払い分と元本を合わせた総額で06年は5535億円。これが07年8505億円、08年1兆123億円と、最高裁判決以降、年々増えている。同協会企画調査部の吉岡英剛調査係長は「09年度も1兆円を超える勢い。返還額は高止まりしている」と話す。
 東京や大阪の事務所は、大勢の事務員を雇い、広告や大規模相談会で全国の債務者に手を伸ばしている。東京都港区に事務所を置く弁護士(55)は過払い金返還請求について「手間がかからず利益率が高い」と明かす。それまで5人だった事務員を18人に増やし、マニュアルを作って相談を受け付ける。


Powered by ScribeFire.

posted by hirono at 14:34| Comment(0) | TrackBack(0) | 弁護士

PSGMLのススメ-Emacs

PSGMLのススメ - Emacs
PSGMLは極めて強力で,機能も豊富にあるのですが,最大の特徴は『その文書型のDTDをPSGML自身が解釈してその場所に最適な要素名で補完してくれる(若しくは挿入してくれたり,リストアップしてくれる)事』,それによって,『全部の要素の親子関係を自分が憶えていなくても意識せず正しいマークアップをすることが出来る事』にあると云えるのではないかと思います.


Powered by ScribeFire.

PSGMLのススメ - Emacs

PSGMLのススメ - Emacs
PSGMLは極めて強力で,機能も豊富にあるのですが,最大の特徴は『その文書型のDTDをPSGML自身が解釈してその場所に最適な要素名で補完してくれる(若しくは挿入してくれたり,リストアップしてくれる)事』,それによって,『全部の要素の親子関係を自分が憶えていなくても意識せず正しいマークアップをすることが出来る事』にあると云えるのではないかと思います.


Powered by ScribeFire.

posted by hirono at 06:37| Comment(0) | TrackBack(0) | 日記

Emacsスニペットの続きとキャプチャ画像

emacsスニペット_20100324
emacsスニペット_20100324 posted by (C)hirono-hideki


http://hirono-hideki.sblo.jp/article/36634877.htmlの続きです。

 右側がLisp Interactionモードなので、関数の末尾の閉じ括弧の直後にポインタを置き、Ctrl+jで、Emacs-Lisp式を評価できます。これでdivsp4と入力し、これも直後のポインタ位置で、Alt+Spaceを打つことで、略語の式が展開されます。事前にabbrev(静的略語展開)の設定が必要です。

  右のウィンドウがjs2-modeですが、HTMLタグがエラー扱いされ、赤色でハイライトされています。JavaScriptの構文解析をリアルタイムで行ってくれるので、エラーが出ると該当箇所が同じく赤色になります。これは本当に大助かりです。

Powered by ScribeFire.



posted by hirono at 05:51| Comment(0) | TrackBack(0) | Emacs

Emacsでスニペット

アモール・ファティ: Emacsで定型文補完(スニペット)

 最近はviを使うことが多くEmacsをあまり使っていなかったのですが、JavaScriptのコードを書くことが多くなり、リアルタイム構文解析ができるjs2-modeも使えるEmacsをこれまで以上に使おうと考えています。またHTMLでも似たような定型文を書くことが多いので、効率をあげるため、スニペットも活用しようかと思いました。早速、作ってみました。特殊文字のエスケープにはあまり気を遣わなくてよいみたいです。ただprototype.jsでよく使う$$が使えませんでした。¥でエスケープしてもだめでした。一応、実行時に手動で入力するようにしておきました。
 $${}で囲まれた文字列は、Tabキーで移動し、別のものに置き換えて行くことができます。Tab移動を素通りさせれば、括弧内の文字列がそのまま確定していきます。よく見ると説明のコメントの役割も果たしてくれています。

HTMLのスニペット
(snippet-with-abbrev-table 'global-abbrev-table
    ("divsp4" . "<div id=\"$${div_id}\">
\t<span id=\"$${sp1}\" class=\"$${slist}\" style=\"border: 1px #000049 solid;\">$${タイトル1}</span>
\t<span id=\"$${sp2}\" class=\"$${slist}\" style=\"border: 1px #000049 solid;\">$${タイトル2}</span>
\t<span id=\"$${sp3}\" class=\"$${slist}\" style=\"border: 1px #000049 solid;\">$${タイトル3}</span>
\t<span id=\"$${sp4}\" class=\"$${slist}\" style=\"border: 1px #000049 solid;\">$${タイトル4}</span>
</div>\n$."))

返還後
<div id="navi_01">
    <span id="sp1" class="menu01" style="border: 1px #000049 solid;">Linux</span>
    <span id="sp2" class="menu01" style="border: 1px #000049 solid;">emacs</span>
    <span id="sp3" class="menu01" style="border: 1px #000049 solid;">タイトル3</span>
    <span id="sp4" class="menu01" style="border: 1px #000049 solid;">JavaScript</span>
</div>


JavaScript(prototype.js)のスニペット
(snippet-with-abbrev-table 'global-abbrev-table
    ("jsObserve" .                    
    "
$${$$半角に変更}('$${div#parent_node span.mlist}').each(function($${node}){
        Event.observe($${node}, '$${mouseover}', function(){
                Element.setStyle($${node},{\"$${backgroundColor}\" : \"$${pink}\"});
                $($${node}).innerHTML = '$${mouseover状態}';
                });
        Event.observe($${node}, '$${mouseout}', function(){
                Element.setStyle($${node},{\"$${backgroundColor}\" : \"$${#5f9ea0}\"});
                $($${node}).innerHTML = '$${OUT状態}';
                });
    })\n$."))

返還後
$$('div#parent_node span.mlist').each(function(el){
        Event.observe(el, 'mouseover', function(){
                Element.setStyle(el,{"backgroundColor" : "pink"});
                $(el).innerHTML = 'mouseover状態';
                });
        Event.observe(el, 'mouseout', function(){
                Element.setStyle(el,{"backgroundColor" : "#5f9ea0"});
                $(el).innerHTML = 'OUT状態';
                });
    })



Powered by ScribeFire.

posted by hirono at 05:37| Comment(0) | TrackBack(0) | Emacs

rtype.js-prototype.js for Rhino

rtype.js - prototype.js for Rhino — ありえるえりあ
Rhinoブーム到来 だそうです。

Rhino絡みのエントリは初回なので軽く説明しておくと、 Rhino とはJavaによるオープンソースのJavaScript実装です。JavaScriptを単体で実行できる他、Javaアプリケーションに組み込んだりもできます。Mozillaがメンテしています。JDKにもバージョン6から同梱されるようになり、OpenOffice.orgでも利用されているようです。ちなみにRhinoという名前はオライリーのサイ本から付けられたそうです。

話は変わって、何年か前にAjaxが流行り出した頃からJavaScriptライブラリが続々と登場しています。もはやデファクトスタンダードと言っても過言ではないprototype.jsを筆頭に、Dojo、Yahoo! UI、ExtJsなど多様な用途の様々なライブラリが利用できるようになり、JavaScriptによるWeb開発はずいぶん容易になりました。一方で、これらのライブラリはあくまでブラウザ組込みのJavaScript処理系での動作を意図しており、RhinoやSpiderMonkeyなどブラウザ以外での動作を念頭に置いたJavaScriptライブラリは見かけません。

というわけで、prototype.jsをRhinoで動くように改造してみました。名付けてrtype.js。昔の某弾幕系シューティングゲームと名前が似ているのは偶然の一致です。多分。

http://sourceforge.net/projects/rtype/

RhinoだとJavaのクラスライブラリ使えるから外部ライブラリいらないじゃん、とかいう突っ込みはなしの方向でお願いします。もともと実用性はあまり重視していなくて、prototype.jsをRhinoで使えたら面白いかな、という発想をそのまま実行に移しただけなのです。rtype.jsの半分はネタでできています。とは言っても、JavaScriptでオブジェクト指向っぽいプログラミングがやり易くなるとか、それなりのメリットはあると思いますが。

機能的な追加はありません。ブラウザ固有の機能(HTML-DOMアクセスとかAjaxサポートとか)を一方的に削っただけです。作業時間の9割は、UnitTestをRhino上で実行できるようにすることに費やしました。

とりあえず公開しましたが、まだUnitTest全部通ってません。ので、バグあります。α版です。人柱版です。

くれぐれも、クリティカルな用途には使用しないで下さい。


 Ubuntu9.10でも
sudo apt-get install rhino
で簡単にインストールできました。インストールの終わりにメッセージが出て、jsというコマンドで起動できることもわかりました。Fedora8のものはバージョンが古いままなのかもしれません。Fedora8とは違い、方向キーでコマンド履歴をさかのぼることもできました。Ctrl+p、Ctrl+nも使えましたが、Ctrl-rでの履歴の検索はできませんでした。

 prototype.jsではRubyに似たpushなどの配列操作の関数が使えるのですが、rhinoではメソッドが未定義だというエラーが出ていました。prototype.jsのファイルを調べるとinspectメソッドもこのファイル内に定義されていました。load関数でprototype.jsを読み込もうとしたのですが、エラーが出て読み込めず、そこで調べて見つけたのがこのサイトのrtype.jsです。エラーもなく読み込め、pushもinspectも使えました。ありがたいことです。



Powered by ScribeFire.

posted by hirono at 02:41| Comment(0) | TrackBack(0) | JavaScript

2010年03月23日

[テレビ]松本清張ドラマスペシャル〜書道教授

松本清張ドラマスペシャル〜書道教授 - Yahoo!テレビ.Gガイド [テレビ番組表]
# 松本清張ドラマスペシャル〜書道教授
# 書道教室に隠された謎、次々に起こる殺人事件の真犯人とは?最後に待ち受ける結末は?京都を舞台にし、女達に翻弄され破滅への道へ進んでしまう哀れな男の転落の軌跡を描く
# 川上克次は妻とごく普通の夫婦生活を送っている銀行員。だが陰ではホステスの文子を愛人にし、愛欲の蟻地獄から抜け出せずにいた。川上は仕事で行った書道教室の女
# 出演 船越英一郎、杉本彩、荻野目慶子、大場久美子、岡本麗、野川由美子、坂下千里子 春やすこ、くわばたりえ、小原正子、嶋田久作、上杉祥三、大河内浩、手塚理美 的場浩司、賀来千香子
# スタッフ 【原作】松本清張 【脚本】ジェームス三木 【監督】山田大樹

 なかなか見応えのあるドラマでした。

posted by hirono at 23:19| Comment(0) | TrackBack(0) | 日記

再審の意義について、佐藤正信裁判長は初公判で「確定審が誤判であるか、明らかにすること」と説明

「足利事件 誤判原因は解明されたのか」:イザ!
再審公判では、誤判原因を解明できるだけの十分な審理が行われたのか。再審の意義について、佐藤正信裁判長は初公判で「確定審が誤判であるか、明らかにすること」と説明した。

 その上で「模索的な証拠調べは許されないが、誤判が確定することを前提に、必要な証拠調べを行う」と述べた通り、公判では、DNA型鑑定と自白の任意性に絞り、証人尋問など証拠の取り調べが行われた。


posted by hirono at 19:38| Comment(0) | TrackBack(0) | 刑事裁判

「鹿児島で弁護士業務停止 実体ない移転登記を主導」:イザ!

「鹿児島で弁護士業務停止 実体ない移転登記を主導」:イザ!
鹿児島県弁護士会は23日、実体のない移転登記を主導したとして、同会所属の窪田雅信弁護士(60)を19日付で業務停止3カ月の懲戒処分にしたと発表した。

 同会によると、窪田弁護士は平成20年8月、同県内の企業が所有する不動産が銀行から差し押さえられる可能性があるとして、第三者への移転登記を助言。企業側に別の会社との売買予約契約があったとの虚偽書類を作成させ、所有権移転の仮登記をさせたという。


posted by hirono at 19:34| Comment(0) | TrackBack(0) | 弁護士

JavaScriptインタプリタ(Rhino)

JavaScript+Java:Rhinoの導入と基本的な利用法 - page2 - builder by ZDNet Japan

  rhinoというものがあると知り、Fedora8のyumでインストールしたのですが、うまく起動しませんでした。jarファイルにクラスパスを通し、
java org.mozilla.javascript.tools.shell.Main

</span>と実行すればよいとのことですが、バージョンの違いからかパッケージ内のパスが違っているのかもしれません。yumでインストールしたものの、コマンド自体が見あたりませんでした。
js.jarというファイルをlocateコマンドで探し、/usr/share/java/js.jarにあったもので試しました。


 他にOpenOfficeのなかに同名のファイルがあったので次のようにすると、うまく起動して使えました。</span>
java -jar /usr/lib/openoffice.org/program/classes/js.jar

F8H:[~]% java -jar /usr/lib/openoffice.org/program/classes/js.jar
Rhino 1.5 release 4.1 2003 04 21
js> help()

Command                Description
=======                ===========
help()                 Display usage and help messages.
defineClass(className) Define an extension using the Java class
                       named with the string argument.
                       Uses ScriptableObject.defineClass().
load(["foo.js", ...])  Load JavaScript source files named by
                       string arguments.
loadClass(className)   Load a class named by a string argument.
                       The class must be a script compiled to a
                       class file.
print([expr ...])      Evaluate and print expressions.
quit()                 Quit the shell.
version([number])      Get or set the JavaScript version number.

js>


 Rubyのirbのようなものを期待したのですが、コマンドを履歴をさかのぼることも出来ないみたいです。あまり高機能ではないみたいで少し残念ですが、手軽にコードを試したり、動作確認ができそうです。



posted by hirono at 04:54| Comment(0) | TrackBack(0) | JavaScript

文字列テンプレート

prototype.js v1.5.0 の使い方
アプリケーション中での JavaScript コードの量が増えるにつれ、同じタイプのオブジェクトの集合を書式化して表示する機会も増えるのではないでしょうか。

オブジェクトのリストをループで回し、オブジェクトのプロパティに基づいて定型の書式化文字列にあてはめる、というコードは珍しいものではないでしょう。 prototype.js はまさにこのような事例を手助けしてくれる Template クラス を提供しています。

以下の例では、ショッピングカート内の商品を書式化し、複数にわたる HTML 行として列挙するものです。

 参考にさせていただきました。DOM要素の書き換えでは出来るだけコード量を減らしたいと考えていました。タグの生成にも使えそうです。
 こんな感じで試してみました。

ソースコード:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html> <head>
<title>js test</title>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />

  <script  type="text/javascript" src="/home/hirono-hideki-01/f8-git-works/rails_indictment/public/javascripts/prototype.js"></script>

</head>

<body>
<h1>JavaScript</h1>
<script>
function insertTmp(){

    var data = new Object();
    data.items = [ ];
    //putting some sample items in the data
    data.items.push({name: '麻婆豆腐', price: 7000, type: 'href="http://www.google.ne.jp/"'});
    data.items.push({name: '天ぷら', price: 544, type: '\'フランス\''});
    data.items.push({name: '卵焼き', price: 10000, type: '&lt;ロシア&gt;'});

    var itemFormat = new Template(
            'これは #{type}語のページではありません。 ' +
            'よろしければ#{name}料理を#{price}円でお願いします。'
            );
    var formatted = '';

    for(var i=0; i<data.items.length; i++){
        var dataItem = data.items[i];
        formatted += "prototype.jsのバージョン" + Prototype.Version + "で実行。<br />"
+ itemFormat.evaluate(dataItem) + '<br/>\n';
    }

    $('insert').innerHTML=formatted;

}
</script>

<button onclick="insertTmp();">Click</button><br />

<div id='insert'>insert</div>


<hr>
<address></address>
<!-- hhmts start -->
Last modified: Tue Mar 23 01:31:51 JST 2010
<!-- hhmts end -->
</body> </html>


ブラウザの表示:

JavaScript


prototype.jsのバージョン1.6.1で実行。
これは href="http://www.google.ne.jp/"語のページではありません。 よろしければ麻婆豆腐料理を7000円でお願いします。
prototype.jsのバージョン1.6.1で実行。
これは 'フランス'語のページではありません。 よろしければ天ぷら料理を544円でお願いします。
prototype.jsのバージョン1.6.1で実行。
これは <ロシア>語のページではありません。 よろしければ卵焼き料理を10000円でお願いします。

Last modified: Tue Mar 23 01:31:51 JST 2010

posted by hirono at 01:34| Comment(0) | TrackBack(0) | prototype.js

2010年03月22日

js2-modeの設定変更

Emacs で JavaScript を書く
js2-mode は Emacs で JavaScript を書くための major-mode です。 外部の JavaScript 処理系無しに (flymake のように) 文法上のエラーを表示するなど、 かなり意欲的な機能を備えています。

しかしその一方で、js2-mode のデフォルトの挙動はかなり独特です。 ここでは、それらの挙動を他の major-mode とそろえる方法を説明します。

 いろいろと設定変更の方法が書いてありました。

posted by hirono at 22:53| Comment(0) | TrackBack(0) | Emacs

js2-modeでタブ幅を変更

フッ君の日常 : Emacs での JavaScript 開発は js2-mode で決まり!
(add-hook 'js2-mode-hook
          '(lambda ()
             (setq js2-basic-offset 4)))



posted by hirono at 22:44| Comment(0) | TrackBack(0) | Emacs

JavaScript のプロトタイプチェイン

JavaScriptのプロトタイプチェインをちゃんと理解する - builder by ZDNet Japan

プロトタイプ
  コンストラクタを用いることで、複雑な初期化ができると紹介しました。しかし、コンストラクタは処理だけでオブジェクトを組立てるため、作られるオブジェクトの全貌がソースコードから見渡しにくくなってしまいます。そこで、 JavaScriptではもうひとつのオブジェクト初期化方法を用意しています。それが、プロトタイプです。

プロトタイプとはオブジェクトの雛型となるオブジェクトのことで、コンストラクタが呼び出される前にあらかじめプロパティを与えることができます。

プロトタイプの定義方法は簡単で、コンストラクタのprototypeプロパティにオブジェクトを格納しておくだけです。格納されたオブジェクトがそのク ラスのプロトタイプになります。例えばリスト7の例を、プロトタイプを使ってリスト8のように書くことができます。

 試してみました。文法がちょっとややこしいですが、:がハッシュのような役割をしているようです。無名関数もJavaScriptでは当たり前のように使われています。functionはEmacs-Lispのlambdaと似ています。

var ValEntry = function(title, val) {
  this.title = title;
  this.val = val;
};

ValEntry.prototype = {
  name: "Blog",
  showTitle: function() {
    alert(this.title);
  },
  showVal: function() {         // function
    alert(this.val);
  },
  showFull: function() {
    alert(this.title + "\n" + this.val);
  }

};

var test1 = new ValEntry("たいとる", "データ");
test1.showFull();
alert(test1.name);




posted by hirono at 21:34| Comment(0) | TrackBack(0) | JavaScript

JavaScript/EcmaScript interpreter for Emacs

ejacs - Project Hosting on Google Code
設定:
(setq load-path
(cons "/home/(適当なパス)/js-console" load-path))

(autoload 'js-console "js-console" nil t)


 M-x js-console
で起動。


posted by hirono at 19:53| Comment(0) | TrackBack(0) | Emacs

クロージャを利用したトグル・ボタンの例

第3回 変数の宣言とスコープ − @IT
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>トグルボタン</title></head>
<body>

<form id="form1" runat="server">
  <div>
    <input id="btn" type="button" value="無効" />
  </div>
</form>

<script type="text/javascript">

document.getElementById('btn').onclick = setButtonState();

function setButtonState() {
    var flag = false;
    var btn = document.getElementById('btn');

    return function() {
        flag = !flag;
        this.innerText = flag ? "有効" : "無効";
  };
}
</script>

</body>
</html>


 Firefox3.6で、そのままコピペして実行したのですが、動きませんでした。

posted by hirono at 17:30| Comment(0) | TrackBack(0) | JavaScript

JavaScriptラジオボタン値の取得

ラジオボタン値の取得 - JavaScript Market
現在の背景色:
背景色変更: 標準

<script>
function disp(parts){
   f = parts.form;         //ラジオボタンの値を取得
   color = parts.value;    //取得値を変数colorに代入
   document.bgColor = color;  //bgColor()により背景色を変更
   f.infcolor.value = color;  //テキストフォームに取得値を表示
}
</script>

<form>
現在の背景色:<input name="infcolor" value="#ffffff" size="10"/>


背景色変更:
<!--onClick()により選択時にdisp()に引数を渡す-->
<input type="radio" value="#ffffff" checked onClick="disp(this)"/>標準
<input type="radio" value="#c0c0c0" onClick="disp(this)"/>灰
<input type="radio" value="#0000ff" onClick="disp(this)"/>青
<input type="radio" value="#ff0000" onClick="disp(this)"/>赤
</form>

 こういう方法で、ボタンやリンクを使わずに関数の実行ができるのですね。試していませんが、リストボックスでも同じことができるのかもしれません。いろいろ参考にさせていただきました。同じ名前のname属性を入れることでグループ化され、択一の選択状態になるみたいです。このままだと、選択したボタンすべてにチェックがついたままになっていました。

posted by hirono at 04:03| Comment(0) | TrackBack(0) | JavaScript