ChaichanPapa-World !

燈明日記(2008/06

◆ インデックス

◆ 2008年6月

2008-06-30 願いによって生まれてきた・・・・・・願生

『開祖さまに倣いて』より引用です。

「願って」生まれてきた心境になれたとき、人生の苦しみ、悲しみが、解決すべき問題から、仏さまの慈悲の導きに変わったのです。

う〜ん、わかるんだけど、納得できない自分が心の隅にいる・・・。

2008-06-30 遅延評価とは

「Yコンビネータ」、「ラムダ式」や「カリー化」は、さっぱりわからないけど、「遅延評価」は使えそう。


遅延評価サンプル
var myif = function(_cond, _then, _else){
  return _cond() ? _then() : _else();
};
var fact = function(n){
  return myif(function(){ return n <= 1 },
              function(){ return 1 },
              function(){ return n * fact(n-1) });
}
fact(10);
http://blog.livedoor.jp/dankogai/archives/50996734.html

要は、遅延評価とは、目的の機能を関数(クロージャ)で包み、必要になるまで、処理をしないことかな。

で、遅延評価って一体何がいいの?

ふつうの、先行評価型言語では、条件分岐というのは特別な構文で、関数ではない。理由は今まで見て来た通り。片っ端から評価してたらヤバい場合があるからだ。

ところが、遅延評価型言語では、条件分岐すらただの関数として実現できる。

http://blog.livedoor.jp/dankogai/archives/50996734.html

2008-06-29 「布薩の日」とは?

一年後に「布薩の日」がわかりました。


某教会では、月の1日と15日のことを「布薩の日」と言います。

私は、1年ぐらい前に法座で質問をしました。

『布薩の日ってなんですか? なんで月2回あるのですか?』

その時は、『昔からそうなんです』的な答えで、はぐらかされてしまいました。


で、今日、ママの付き合いで久々に教会の法座に座らせていただきました。

法座が終わったあと、隣に座った、とあるおばぁちゃんと久しくお話をする機会があり、そこで一年前に質問した

答えのメモを頂きました。


そのおばぁちゃんは、一年前の質問を、その時にわからなかったので、ご自分で調べていたのでした。

私自身は、そのことをすっかり忘れていたのですが、そのメモを渡されて鮮明に思い出しました。

こんな些細な質問を丁寧に調べてくれて、しかも一年後の突然の回答、感動いたしました。ありがとう!


布薩メモ

比丘たちが半月ごとに行われる布薩という集会。

仏陀または長老比丘に対して懺悔を行った。

係の比丘が戒律を一つ一つ読み上げていくうちに、

もしその箇条にふれる罪を犯したという自覚を気づいたら、

即座に自らを申し出て内心のひそかなる罪をすべてさらけだし、

指導者のさばきを待つのでした。

つまり、半月毎なので1日と15日に行い、そして、懺悔を行う日なのです。

また、これは某教会の行事でなく、仏教の行事だったのですね。

2008-06-29 JScriptとVBScript

JScriptとVBScriptは、両方ともマイクロソフトのスクリプト言語です。

VBScriptは、主にWINDOWS制御でDOSのバッチファイルで出来ないところに使います。

JScriptは、実はIEでJavaScriptといっているものとイコールです。


VBScriptは、当初、IEでJavaScriptのように使っていましたが、今はほとんど使われていないようです。

JScriptは、逆にIEだけでなく、実は、VBScriptの代わりにWINDOWS制御でも使えます。

また、WSHオブジェクトを利用すると、IISでCGIとしてJScriptが使えるのです。


つまり、サーバーサイドでCGIとしてPerlでなくJScriptが使えるのです。

しかし、JScriptは、CGIとしては、Perlより全然使い辛いですけどね。

また、サーバーサイドでASPとしては、通常VBScriptを使いますが、JScriptでもOKのようです。


あと、JScript.NETという文法的にはMS案のJavaScript2.0相当の言語もあります。(ちなみに、他の案は、ActionScript2.0になっている)

しかし、これはスクリプト言語でなくコンパイラ言語のようです。

JScript.NETは、.NETのクラスライブラリを使えるらしいのですがWINDOWS-APIは使えないそうです(詳しくは知らない)。


私が思うには、EXCEL等のVBAに代わりJScriptが使えたらなぁと思います。

そうなれば、JavaScript(JScript)でクライアントOS・ブラウザ・サーバサイドと全制覇ができるのです。

ゲイツ会長の引退と一緒にVB系言語にも引退してもらって、JavaScriptに統一して頂けるとプログラマとしては嬉しいなと思う次第です。

2008-06-28 ビルゲイツのヤクシェービング

まず、ヤクシェービング(yak shaving)とは、以下を参照のこと。

とにかく、何かやろうとすると、ドミノ式に次から次ぎえとやらなくてはいけなくなること・・・かな。




で、ゲイツ会長が『Windowsの使い難さはどうにかなりませんか』とマイクロソフトに苦情したそうな。

会長、WINDOWSならいつもこんな感じです!


複雑なWINDOWSでなく、単純なUNIXが20年前に天下を取っていたら、プログラマはどれだけ幸せだったんだろうかと思う時がある・・・。

2008-06-28 プレセンのコツ

2008-06-27 プログラマ歴を晒してみる

なんとプログラマ歴28年、あと12年は、がんばるぞ!

東芝府中工場で一緒に働いた祥雲さん、森昭さん、森政さん、林さん、貝森さん、松井さん、仲さん、小林さん、田口、海老ちゃん、久保ちゃん、関口くん、お元気ですか?

たぶん、祥雲さん、森昭さん、森政さん、林さんは、退職で、あとのみんなは、大幹部だな。

ちなみに、私は、一作業員です。

東芝・リコー時代は、いくらでも仕事があり、リストラなんて関係なかったけど、今は、いつリストラされるかの時代になってしまいましたね。今は世の中住み辛い。

東芝・リコー時代の一ヶ月の残業が200Hの世界、なつかしいです。

2008-06-27 コマンドプロンプトでファイル拡張子の関連付けを変更する

たまに、何かをインストールすると、それまで使っていたファイルの関連付けが変わってしまうことがあります。

エクスプローラからGUIで直すことも出来ますが、コマンドプロンプトからも簡単に直せます。


手順としては、assocコマンドで拡張子を定義し、それをftypeコマンドで実行ファイルと関連つけます。

以下は、拡張子「.mytext」をメモ帳に関連付けをしています。

C:\>assoc .mytext=mytextfile
.mytext=mytextfile

C:\>ftype mytextfile=notepad.exe %1
mytextfile=notepad.exe %1
http://www.atmarkit.co.jp/fwin2k/win2ktips/841ftypes/ftypes.html

ちなみに、エクスプローラからGUIで直すのは、以下を参照。

2008-06-26 Pythonをざーっと勉強してみました

昨日、Pythonが解からなかったので、リベンジと思い、以下のページで、Pythonをざーっと勉強してみました。

Pythonは、ブロックとタプルが解かると見えてくる。

しかし、PL-7、C、Java、VB.NET、Perlでのブロックで来た私には、Pythonのブロック(インデント)は、どうしてもなじめない、美しく思えない。やはりRuby派かな。


でも、Perlとくらべれば、RubyもPythonも、解かりやすいコードが書けるような気がした。

とにかく、Perlは、解かりにくいコードがいくらでも書けるので、半年後に苦労するんだよね。

2008-06-26 Googleを支える技術

私はGoogleには、日頃から以下の2つの疑問がありました。

  1. どのようにして、世界中のウェブページを瞬時に検索し、しかもキャッシュもあり、ランク付けまでされているのか?
  2. どのようにして、40〜50万台あるというWEBサーバーを、あたかも一台にクラスタすることができるのか?

この本は、この2つの疑問に答えてくれます。


また、Rubyのまつもと氏は、本書を読む意義を、紹介文で以下のように述べています。

Googleの内側を知ったからといってなにがうれしいのか、と感じる人もいるかもしれません。

Googleはすでにそこにあるのだから、それをただ利用すればよい、というのも一つの考え方でしょう。

しかし、Googleのしてきたことは、コンピューティングの未来の先取りです。

さほど遠くない将来、Googleの中にいない私たちにもその未来が届くでしょう。

そう、未来が届く前に知っておくと、なにかといいかも!

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)

2008-06-25 PythonかRubyか

GoogleはPythonがメインだという(C++やJavaもあるが・・・)。

なので、ちょっとPythonの勉強をしてみました。ついでにRubyも一緒に。

以下のサイトのページで、PerlとPythonとRubyの所を読みました。

Perlは大体理解ができるので、それを元にPythonとRubyのソースを読みました。

で結局、Pythonはよくわからなかったです。

しかし、Rubyは良くわかった・・・って、実は、5年ぐらい前に一度勉強していたのでした。

ということで、私は、Ruby派だな。


でもとにかく、今はPythonやRubyでなく、早くPerlをマスターしないと・・・。

2008-06-25 SQLServerでのテーブル主キーには、インデックス作成が必要か?

データ容量が多くなるテーブルには、通常、アクセスを早くするためにインデックスを作成します。

では、SQLServerでのテーブル主キーに対して、インデックスを作成する必要があるのでしょうか?


答え、SQLServerでのテーブル主キーには、すでにインデックスが作成されてる。

2008-06-24 今日は宿直の日

あのー、今日は、月一度の某教会の宿直日(一種のボランティア)で、これから行ってきます。

すこし、昨日言っていた、興味や情熱が出てきました。

おって、このブログに書いてきますね!

では、某教会へ行って参ります。

2008-06-23 ブログが書けるということ

ブログが書けるということは、何かに興味や情熱があって、それについて書けるわけです。

逆に何も興味や情熱がなくなったら、当然、ブログが書けなくなるわけです。


なぜか、書けなくなってきたみたいです……。

2008-06-22 SQLServerのWhere条件で全角と半角で同じになる!

SQLServer2000と2005で確認したのですが、半角「,」と全角「,」や半角「0」と全角「0」等が、全角半角関係なしに同じにヒットする。

コレ、SQLServer2000と2005でのデフォルトの設定みたいで、これを区別するには、以下のように「COLLATE句」を指定します。

Select *

From tblTest

Where name = 'テスト1' COLLATE Japanese_CS_AS_KS_WS


CI

大文字、小文字を区別しない。全角アルファベットの大文字、小文字も区別しない

CS

大文字、小文字を区別する。全角アルファベットの大文字、小文字も区別する

AI

アクセント、濁音、破裂音を区別しない。

AS

アクセント、濁音、破裂音を区別する。

KS

ひらがなとカタカナを区別する。半角でも区別する

WS

文字幅を区別する。つまり全角、半角を区別する。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9303&forum=7

そういえば、csvをEXCELに読み込ませると、やはり全角のゼロが半角のゼロに自動変換するね。

余計なことするなって言いたいよ・・・。

2008-06-22 なかなか気持ちが晴れなくて・・・

昨日パパが、気晴らしにカラオケに行こうというので行きました。

あまり気がすすまなかった私でしたが、二時間があっという間でした。

誘ってくれたパパの気持ちは、とても嬉しかった。

でも何かスッキリ出来ない・・・(ーー;)

今は何をしても気持ちが晴れることは無いのかも・・・

何をしても疲れてしまう私、調子が悪いから仕方ないかなぁ・・・と思いながら

どんどん月日が流れてしまうだけ・・・このままでいいとは思わないけど

今はどうにもならないよ〜(+_+)

2008-06-21 PageRankアルゴリズムは「民主主義」

『ウェブ進化論』より引用です。

権威ある学者の言説を重視すべきだとか、一流の新聞社や出版社のお墨付きがついた解説が価値が高いとか、そういったこれまでの常識をグーグルはすべて消し去り、「世界中に散在し日に日に増殖する無数のウェブサイトが、ある知についてどう評価するか」というたった一つの基準で、グーグルはすべての知を再編成しようとする。

ウェブサイト相互に張り巡らされるリンクの関係を分析する仕組みが、グーグルの生命線たるページランク・アルゴリズムなのである。

リンクという民意だけに依存して知を再編成するから「民主主義」、そしてこの「民主主義」も「インターネットの意志」の一つだと、彼らは信奉しているのだ。

http://d.hatena.ne.jp/asin/4480062858/chaichaworld-22

私のサイトは、ブックマークは少ないけど、グーグル経由のアクセスがめちゃくちゃ多い、少しは役にたっているのかな・・・。

2008-06-21 「warnings」と「-w」は、どう違う?

前にfbisさんに教えて頂いた「warnings」が、「-w」とどう違うのか、頭のスミにあったのですが、以下で氷解しました。

理由は2つ

  1. -wは.plには有効でも.pmには有効ではない
  2. no warnings 'whatever';できない
http://blog.livedoor.jp/dankogai/archives/51068305.html

とのことでした。


ところで、2000年頃にPerlをやり始めた時に、「とほほのWWW入門」と「KENTさんのCGIソース」がお手本でした。

本は、先日ご紹介した深沢千尋氏の『すP』でした。


実は、この頃はリファレンスを知らなくても、結構、掲示板やカウンタのプログラムが書けました。

しかし、今はそのレベルでは、「とほほでK.NTなコード」と言われるらしい・・・。

2008-06-20 共有フォルダのパスがわからない!

WINDOWS系でフォルダを共有の設定にして、時間が経ち、共有を解除しないといけない状況になる場合が結構あります。

でもその時は、もう共有フォルダの実パスを忘れていて、わからなくなっているのです。

共有フォルダ名で検索しても、遅いし、また、フォルダ名が共有フォルダ名と別にしていると検索でヒットしません。

このような時は、以下の手順で簡単に共有フォルダの実パスを知ることが出来ます。

  1. 「コンパネ(コントロールパネル)」をクリック
  2. 「管理ツール」をクリック
  3. 「コンピュータの管理」をクリック
  4. 「共有フォルダ」をクリック
  5. 「共有」をクリック

すると共有フォルダの実パス(共有パス)が表示されます。

2008-06-20 心コロコロ・・・

今日は、またまた肩と首の痛みが酷く気持ちも下り坂・・・(;_;)

横になろうと思ったけど日記を書いたら少しは気持ちが晴れるかなと思った。

何をどう書けばいいのか整理出来ないけど、やっぱり体が元気でないと気持ちも元気になれないんだ・・・と思う。

ある人から、体が健康じゃないからウツにもなるんだよ・・・と言われて・・・ああ、そうなんだ・・・と納得できた私。

確かに元気な時は気持ちも前向きになれたから、くよくよ考える事も無かったような気がする・・・

元気じゃないと外に出る気持ちもなくなって、面倒にさえ感じてしまう・・・

実家や妹の家も近いのに、そこにさえなかなか行かれない私・・・(-_-;)

気持ちを切り替えようと友達とランチに行って、その時は楽しいのに家に帰って来ると、ド〜ッと疲れちゃう私・・・もうどうしたらいいの!!!(>_<)

私は今の自分が大嫌い!(-_-メ)どうしてこんなになっちゃったの・・・(+_+)

私には明るい未来は無いの???元気な私はもう戻って来ないの???

あ〜また心が戦ってしまった・・・でもこれが今日の本当の私だから仕方ない・・・

明日はどんな私になるんだろう・・・

2008-06-19 ネットは凄い!

ネットでは、その道で超有名な先生達からメッセージを頂ける・・・凄い!

結城浩氏をはじめ、飯田史彦氏、他にも英語系の先生とかWEB系の先生から・・・。


そして昨日が梅田望夫氏で、今日はなんと『すP』の深沢千尋氏からコメントを頂きました!

いや〜、幸せ幸せ!

2008-06-19 『すぐわかるオブジェクト指向Perl』

『すぐわるPerl』で有名な深沢先生の新刊『すぐわかるオブジェクト指向Perl』です。

まだ、読んでいませんが、読むのが楽しみです。


8年前にC言語からPerlをやり始めた時に、C言語と似ているようで全然違うPerlに途方に暮れていました。

その時に現れた『すぐわるPerl』は、まさに、渡りに船を見つけたような感動を今も覚えています。


『文字コード超研究』も凄い大作で解かり易かったけど、たぶんこの本も、解かり易くフレンドリィな語り口調で親しみやすくオブジェクト指向Perlがマスターできるのでしょう!

もう、買うしかないですね!!

すぐわかる オブジェクト指向 Perl

すぐわかる オブジェクト指向 Perl

2008-06-19 真理によって救われる・・・・・・信仰

『開祖さまに倣いて』より引用です。

仏さまは、お慈悲によって私たちに難題をもたらしてくださいます。

それは、法の認識を深めさせるためのお慈悲であり、幸せな心境に導くためなのです。

私が真理に沿っていけば、救いという果報は仏さまが出してくださるのです。

それが、根こそぎ救われる法華経の真理の世界です。

そこに「信仰」があるのです。

なんだ、難問は、仏さまのお慈悲だったのか・・・。

どうやら、私は、仏さまに気に入られているみたいだ。

とにかく、真理に沿っていけば、よさそうだなぁ、よしよし。

2008-06-18 つかれたなぁパート2

今日も、リアル世界の方が、バタバタして、疲れた。朝からフル回転状態だった。


話は変わって、『ウェブ進化論』の梅田先生から『はてなスター』をもらったよ!!

梅田先生が私のブログを見てくれたんだよ! 凄い!

これだから、ネット世界は凄いよね!


ということで、今日は、もう寝ます。おやすみなさい・・・。

2008-06-18 自分を認める!

私は、まだ45歳ですが三年前に突然酷い耳鳴りがするようになり、その後うつ病になってしまいました。

当時に比べたら、だいぶ良くなっているものの常に調子が悪い日々が続いています。

私は整体治療やサプリメントを飲んだりしていますが、それでもこの状態ということは何も手当てをしていなかったら、更に酷いことになっていたでしょう・・・(^_^;)

そう思うと私はまだまだいい方かも!もっと辛い人も沢山いるだろうし、加齢と共に体調が崩れるのも当たり前のことかな・・・と思うと気持ちが楽になる(^○^)

私はいつも、どうして元気になれないのか!とかいつまで続くのだろう・・・と心が戦ってしまい、それで自分自身を追い込んで辛くなるみたい・・・これからは心が戦わないように努力して今のありのままの自分を認めたいと思う・・・

私は今まで沢山辛いことを味わってきたけど良く頑張ってきた!!!

心身共に病んでも仕方ない・・・だから今は自分を癒してあげよう!

2008-06-17 つかれたなぁ・・・

今日は、リアル世界の方が、いつになく忙しかったので・・・疲れた・・・。


プログラマは開発する時、仕様書に忠実に作るより、使うお客様の身になって考えて作るべきだな。

当然、仕様書の方も随時提案して、それにあわせて変更追加していく。

仕様書通り忠実に作るのはラクだけど、誰も使ってくれないシステムになってしまうよ。たぶん。


実はコレ、まさに実感した日でした・・・。

お客様の視点に立った、システムを!

2008-06-17 『ウェブ時代をゆく』

そうそう、今日、『ウェブ時代をゆく』を読み終えた。

感想は追って書くね。

とりあえず、一言でいえば、『ウェブ進化論』と同様、この本に出会えて幸せでした。

これからの人生に影響が出ると思う、たぶん。

とにかく、いろいろ示唆の富んでいて、いろいろ考えさせられた。


ウェブ時代をゆく ─いかに働き、いかに学ぶか (ちくま新書 687)

ウェブ時代をゆく ─いかに働き、いかに学ぶか (ちくま新書 687)

2008-06-16 ウェブ進化論より引用05

三大潮流と三大法則とは

『ウェブ進化論』より引用です。

三大潮流
  • インターネット
  • チープ革命(昔すごく高かったものが、急激に安くなってきたことによる革命?)
  • オープンソース
三大法則
  • 神の視点からの世界理解
  • ネット上に作った人間の分身がカネを稼いでくれる新しい経済圏
  • 消えて失われていったはずの価値の集積
http://d.hatena.ne.jp/asin/4480062858/chaichaworld-22

三大法則は、法則って感じではないと思うのですが、でもなんとなく、わかります・・・。

2008-06-16 一切のお手配・・・・・・方便

『開祖さまに倣いて』より引用です。

そのとき、その場、その人にふさわしいく真実へ導いてくれる縁、それが「方便」です。

人生に起こることすべてが方便であるとすれば、それをすべて生かそうと努力することが、仏さまの願いの通りに生きることであり、真理へつながる道なのです。

本当に仏さまの願いを理解したとき、目の前にあった問題を超えていくことができるのです。

なんとなく、わかります・・・。

2008-06-16 配列オブジェクトのメソッドとプロパティ

以下の引用は、spliceを調べていて見つけました。

配列オブジェクトのメソッドとプロパティです。

lengthプロパティ以外は、すべてメソッドです。

良くまとまっているので、引用しときます。

・toString 文字列に変換

arrayObj.toString();

戻り値:要素を「 , (カンマ)」で区切られた文字列

配列の各要素をカンマを区切り文字として文字列にして返します

例)

arr = ["aaa" , "bbb" , "ccc"];
str = arr.toString();
document.write(str);// aaa,bbb,ccc が出力される
・concat 配列の連結

arrayObj.concat(arrayObj2);

第一引数:配列

戻り値:結合後の配列

配列と配列を結合します。

例)

array1 = ["aaa" , "bbb" , "ccc"];
array2 = ["ddd" , "eee" , "fff"];
array3 = array1.concat(array2);
str = array3.toString();
document.write(str);
// aaa,bbb,ccc,ddd,eee,fff が出力される
・join 配列要素を区切り文字で連結

arrayObj.join(csv);

第一引数:区切り文字

戻り値:要素を区切り文字で連結した文字列

配列の各要素を区切り文字で連結して、文字列オブジェクトとして返します。

toStringメソッドに似ています。

例)

arr = ["aaa" , "bbb" , "ccc"];
str = arr.join("/");
document.write(str);// aaa/bbb/ccc が出力される
・slice 要素を抜き出す

arrayObj.slice(start [, end]);

第一引数:抜き出す開始位置

第二引数:終了位置(省略すると終わりの要素まで。負の数だと末から数えた位置)

戻り値:抜き出した配列

配列の指定された要素から、最後までもしくは指定された要素までを抜き出して返します。

例)

arr1 = ["aaa" , "bbb" , "ccc" , "ddd" , "eee" , "fff"];
arr2 = arr1.slice(2 , 4);
// arr2 は ["ccc" , "ddd"]
arr3 = arr1.slice(2 , -1);
// arr3 は ["ccc" , "ddd" , "eee"]
・splice 配列要素の置換

arrayObj.splice(elemNo , len [, str [, str2 [, str3]);

第一引数:置換を開始する要素番号

第二引数:置換する要素数

第三引数:置換させる値(省略すると削除される)

戻り値:置換される前の値(配列)

配列の指定された要素を置換します。が、少しややこしいので例で説明します。

例)

arr1 = ["aaa" , "bbb" , "ccc" , "ddd" , "eee" , "fff"];
arr2 = arr1.splice(2 , 3);
// arr1 は ["aaa" , "bbb" , "fff"]
// arr2 は [ "ccc" , "ddd" , "eee"]

arr1 = ["aaa" , "bbb" , "ccc" , "ddd" , "eee" , "fff"];
arr2 = arr1.splice(2 , 3 , "000");
// arr1 は ["aaa" , "bbb" , "000" , "fff"]
// arr2 は [ "ccc" , "ddd" , "eee"]

arr1 = ["aaa" , "bbb" , "ccc" , "ddd" , "eee" , "fff"];
arr2 = arr1.splice(2 , 3 , "000" , "111" , "222");
// arr1 は ["aaa" , "bbb" , "000" , "111" , "222" , "fff"]
// arr2 は [ "ccc" , "ddd" , "eee"]
・length 要素数の参照・設定

arrayObj.length;

配列の要素数を参照・設定できます。

もともと、JavaScriptの配列は自由に拡張できるので、設定は使わないかもしれませんが・・・。

例)

arr = ["aaa" , "bbb" , "ccc"];
document.write(arr.length);
// 3 が出力される
arr[5] = "eee";
document.write(arr.length);
// 6 が出力される
arr.length = 10;
document.write(arr.length);
// 10 が出力される
・pop 最後の要素を取得

arrayObj.pop();

配列の最後の要素の値を返します。

例)

arr = ["aaa" , "bbb" , "ccc"];
document.write(arr.pop());
// ccc が出力される
・push 配列の末尾に要素を追加

arrayObj.push(data);

第一引数:追加する値

戻り値:追加後の要素数

配列の末尾に、新たに要素を追加します。

例)

arr = ["aaa" , "bbb" , "ccc"];
ele = arr.push("eee");
// ele は4。arr は["aaa" , "bbb" , "ccc" , "eee"]
・reverse 要素順序を逆にする

arrayObj.reverse()

配列の要素の順番を完全に逆にします。

例)

arr = ["aaa" , "bbb" , "ccc"];
arr.reverse();
// arr は["ccc" , "bbb" , "aaa"] になる
・sort 配列の要素を順番に並び替える

arrayObj.sort(func)

第一引数:並び替えの処理をする関数。戻り値が正なら昇順。負なら降順。

省略すると文字コード順。

戻り値:並び替えたあとの配列

例)

array1 = [1 , 33 , 222 , 1111];
function func(a , b){
return a - b;
}
document.write(array1.sort());
// 1,1111,222,33 が出力される
document.write("<BR>");
document.write(array1.sort(func));
// 1,33,222,1111 が出力される
・shift 配列の先頭の要素を削除する

arrayObj.shift()

配列の先頭の要素を削除します。

例)

arr = ["aaa" , "bbb" , "ccc"];
arr.shift();
// arr は ["bbb" , "ccc"]になる
・unshift 配列の先頭に新たに要素を追加

arrayObj.unshift(data [, data2 [, data3)

第一引数:追加する値

第二引数:追加する値(以後省略可)

戻り値:不明

配列の先頭に要素を新たに追加します。

追加する要素は複数指定できます。

例)

arr = ["aaa" , "bbb" , "ccc"];
arr.unshift("000" , "111");
// arr は ["000" , "111" , "aaa" , "bbb" , "ccc"]
http://fstyle.ddo.jp/archives/2005/08/javascript_3.html

クセのある置換のspliceメソッドは要チェックですね。

あと、以下はPerlでもお馴染みの関数で、JavaScriptではメソッドになっていますね。

2008-06-15 ブラウザブックマークとソーシャルブックマーク

まず、ご自分のPCを「こちら側」とします。

「こちら側」からインターネットを経由して、いろいろなサービスしてくれる、いろいろなプロバイダを「あちら側」とします。


IEのブラウザブックマークとは、「お気に入り」のことです。

これは、WEBページ単位にそのURLを登録します。

そしてこれは、「こちら側」つまり、自分だけのブックマークです。


一方、ソーシャルブックマークとは、「あちら側」にブックマークをするものです。

ブラウザブックマークとの違いはいろいろありますが、私が認識しているのは、以下の通りです。

ということで、私も、遅ればせながら、ソーシャルブックマークをやっていこうかなと思う今日この頃です。

2008-06-15 Mathオブジェクトのmaxメソッドで、配列最大値を求める!

ネットで検索すると大体、『Math.max()は、2つの数値を比較して大きいほうを返す』との説明になっています。

しかし、実際は、2つ以上のリストでも大丈夫です。

var biggest = Math.max(10, 11, 12, 9, 13, 8);
alert(biggest); // 13が表示される

また、他関数を自関数のようにしてしまうapply関数で、その第二引数には、他関数の引数を配列形式で渡します。

この2つの性質を利用すると、配列内の最大値を、apply関数で簡単に取得することが出来ます。


apply関数の第二引数へ、maxメソッドの引数すべてを配列形式で渡します。

var aaa = [10, 11, 12, 9, 13, 8];
var biggest = Math.max.apply(null, aaa);
alert(biggest); // 13が表示される

ちなみに、apply関数の第一引数にnullを設定するとグローバルオブジェクト(IEであればwindowオブジェクト)のthisと同等になる。

2008-06-14 ウェブ進化論より引用04

ウェブ進化論より引用です。

日本もそろそろインターネットの「開放性」を否定するのではなく前提とし、「巨大混沌」における「善」の部分、「清」の部分、可能性を直視する時期に来ているのではないか。

http://d.hatena.ne.jp/asin/4480062858/chaichaworld-22

私も同感です。

確かに今は、情報漏洩やウィルス感染の「悪」の部分、「濁」の部分に過敏になり過ぎて、「閉鎖性」になってしまっている。

2008-06-14 仏の慈悲を知る・・・・・・本願

『開祖さまに倣いて』より引用です。

すべての出来事は、自分本来の仏性を輝かせるために必要で、まわりは自分が仏になるための、有り難い「縁」ばかりなのです。

それがなければ、自分の仏性を輝かせることができない、大切なのは「はからい」なのです。

すべてを仏さまの慈悲だと信じることです。

仏さまのお慈悲を信じることによってこそ、仏さまの本願を受けとめることができるようになるのです。


ちなみに、「仏さまの本願」とは法華経如来壽量品で以下のように述べられています。

毎に自ら是の念を作す 何を以ってか衆生をして 無上道に入り 速やかに仏身を成就することを得せしめんと

つまり、どうしたら早く仏と同じ心境にさせることができるのか・・・。

その願いをかなえることが、「仏さまの本願」なのです。


ということで、すべての出来事は、自分を成長させる(仏と同じ心境になる)大切なおはからいと受け止めて頑張れば、いいみたいですね!

たしかに、最近、そう思えるよ・・・なぜだろ〜

2008-06-14 JavaScriptでのthisとapplyの関係とは

JavaScriptのthisは、自分自身のオブジェクトを参照するキーワードです。

JavaScriptのオブジェクトは、誤解を恐れず言ってしまうとすべて関数です。

(グローバルオブジェクト(大きな関数)や配列(メソッドの無い関数)もある意味関数ととらえられる)


一方、applyですが、一般的には、「当てる」とか「適応する」という意味です。

また、すべての関数は、仕様的にthisとapplyを持っています。


で、apply関数は、他関数が保持しているapply関数にthisを第一引数にしてコールし、他関数をあたかも自オブジェクトに当ててしまうものなのです。


つまり、JavaScriptでのthisとapplyの関係とは、他関数オブジェクトが保持しているapplyメソッドの引数にthisをセットしてコールすると、自関数オブジェクトになってしまう関係かな。

言葉だと、わかり辛いのでサンプルを見てください。

function aContructor() {
    this.aVal1 = 1;
    this.aVal2 = 2;
    this.aFun1 = function() {alert(this.aVal1);}
    this.aFun2 = function() {alert(this.aVal2);}
}
function bContructor() {
    aContructor.apply(this);
    this.bVal = 3;
    this.bFun = function() {alert(this.bVal);}
}
var x = new bContructor();
alert("------------------");
alert(x.aVal1);
alert("------------------");
alert(x.aVal2);
alert("------------------");
alert(x.bVal);
alert("------------------");
x.aFun1();
x.aFun2();
x.bFun();

そう、上記サンプルは、オブジェクト指向的には bContructorがaContructorを継承していますね。

ちなみに、今回はapply関数の第二引数は有りませんが、有る時は、他関数のすべての引数を配列形式にして渡します。

これに関しては、以下のリンク先を参照願います。


尚、本コンテンツは以下を大変参考にさせていただきました。



2008-06-13 Perlでの複数行のコメント

Perlでの複数行のコメントの解説が以下のページにありました。

=for comment

ここに書かれたものは完全に無視される

=cut

http://perl.g.hatena.ne.jp/bosh/20060409/p4
サンプル
use strict;
use warnings;

my $str = "aaaaaa";
=for comment
$str = "bbbbbbb";
$str .= "bbbbbbb";
=cut
print $str , "\n"; # aaaaaa が出力される。

2008-06-13 グーグル『Gears』って何

グーグル『Gears』とは、ブラウザに拡張機能として、SQLiteのDBオブジェクトを作り、JavaScriptからデータをSQLする環境を付与するという技術。

すると、WEBアプリケーションが、あたかもオフラインでも動けるらしい。

これでまた、JavaScriptのステージが広がるね。

JavaScriptを早くマスターしないと!

2008-06-13 グーグル『Android』って何

グーグル『Android(アンドロイド)』は、携帯端末のOS。

携帯端末には、当然、携帯電話も含みます。

そして、そのOSはリナックスがベースらしい。


と言うことで、無料で『Android』(無償ソフト)提供される。

  1. オープンソース故に、世界中のプログラマーがアンドロイド向けソフトの開発に参加できる
  2. 世界中の携帯電話メーカーは、アンドロイドを自社端末に無料で組込み販売できる
  3. つまり、従来のようなOS使用に関するライセンス料が一切不要になる
  4. Gメール・Googleカレンダー・Googleアース・YouTube動画・そして全てのWEBページを正確に閲覧できる新型アンドロイドブラウザーを全ての携帯ユーザーが自由に利用できる
http://www.matsuaz.com/MacFan/2007/11/07/1194427050245.html

また、リナックスベースなので、電話が掛かってきても、音楽がそのまま聞ける(マルチタスク・マルチスレッド)ようです(実は、どっかのページで読んだのですが、そのページが見つからない)。

逆にいうと、iPhoneは、電話と音楽、同時にはダメなのかな?




2008-06-12 ウェブ進化論より引用03

ウェブ進化論より引用です。

放っておけば消えて失われていってしまうはずの価値、つまりわずかなお金やわずかな時間の断片といった無に近いものを、無限大に限りなく近い対象から、ゼロに限りなく近いコストで集積できたら何が起こるのか。

ここに、インターネットの可能性の本質がある。

http://d.hatena.ne.jp/asin/4480062858/chaichaworld-22

実は、昨日の引用とよく似ているのですが、やはり、これが超ポイントですね。

2008-06-12 JavaScriptの等値演算子『==』と同値演算子『===』

『==』等値演算子は、型に関係なく値が等しいかを見る。

『===』同値演算子は、型も値も等しいかを見る。

オブジェクトの場合は、中身は同じでも参照値が違えば、false。

var aaa = {a : "x", b: "y"};
var bbb = {a : "x", b: "y"};
var ccc = aaa;

alert('{a : "x", b: "y"}の比較(中身は同じで別々の参照値の比較)');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");   // false 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// false 

alert('{a : "x", b: "y"}の比較(中身は同じで同一の参照値の比較)');
aaa == ccc ? alert("aaa == ccc は、ture") : alert("aaa == ccc は、false");   // ture
aaa === ccc ? alert("aaa === ccc は、ture") : alert("aaa === ccc は、false");// ture 

aaa = "123";
bbb = "123";
alert('"123"の比較(文字列の比較)');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");   // ture 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// ture 

aaa = "123";
bbb = 123;
alert('"123"と123の比較(文字列と数値の比較)');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");   // ture 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// false 

aaa = "123";
bbb = new String("123");
alert('文字列とオブジェクトの比較');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");   // ture 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// false 

aaa = null;
bbb = undefined;
alert('nullとundefinedの比較');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");  // ture 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// false 

2008-06-11 ウェブ進化論より引用02

ウェブ進化論より引用です。

インターネットの真の意味は、不特定多数無限大の人々とのつながりを持つためのコストがほぼゼロになったということである。

http://d.hatena.ne.jp/asin/4480062858/chaichaworld-22

わかってはいるのだけれど、実はわかっていない自分。

なんとか、コレを将来(定年後)の糧にできないものか・・・。

2008-06-11 心を開く・・・・・・開示悟入

『開祖さまに倣いて』より引用です。

私たちは人さまの悩みを聞かせて頂くときに、ややもすると、その人の心の内を聞く前に悩みの原因が見えてしまうことがあります。

するとすぐにでも悩みを解決してあげたくて、「こうしたら」「ああしたら」と、それまでの経験をもとに、その原因を取り除くためのアドバイスをしてしまいます。

それは相手を思う気持ちであり、また、常識的には正しいことかもしれません。

けれども、いくら正しいこと、変えるべくことであっても、それを先に持ち出してしまうと、相手の心を開くことはできません。

いま目の前にいる人の心を開くには、相手の思いをそのまま共感していくことです。

自分の思いを本当に受け入れてもらったと思えたとき、人の心は開くものです。

すると、今度はどんな言葉も受け入れてくれるようになるのです。

『相手の思いをそのまま共感していくこと』わかりました。

2008-06-11 関数への引数の『値渡し』と『参照渡し』

関数へ引数を渡す時に、値を渡す『値渡し』と参照を渡す『参照渡し』があります。

VBは、関数側の引数の型指定で『値渡し』か『参照渡し』かが決まります。

C言語は、仕様的に『値渡し』のみで、『参照渡し』にしたいときは、ポインターを値渡しにします。

Perlは、仕様的に『参照渡し』のみで、『値渡し』風にするには、参照の中身をワークに移して処理します。

では、JavaScriptは、どうなっているのでしょうか?


JavaScriptは、変数の型によって『値渡し』か『参照渡し』かが決まります。

基本型(数値、論理値、文字列)は『値渡し』で、オブジェクト型は『参照渡し』になります。

// 文字列型の場合(基本型)
var xxx = "ABC";     // 値が代入される

if (xxx == "ABC") {  // 値で比較される
    alert(xxx);      // ABCと表示
    yyy(xxx);        // 値渡し
    alert(xxx);      // ABCと表示
}

function yyy (xxx) { // 値渡し
   xxx = "XYZ";
}

// オブジェクト型(配列)の場合
var aaa = ["ABC"];   // 参照が代入される
var ccc = aaa;

if (aaa == ccc) {    // 参照で比較される
    alert(aaa[0]);   // ABCと表示
    bbb(aaa);        // 参照渡し
    alert(aaa[0]);   // XYZと表示
}

function bbb (aaa) { // 参照渡し
   aaa[0] = "XYZ";
}

2008-06-10 Perlでforeach文をかますとレキシカルスコープが変

以下のように $wk1 と $wk2 は同じレキシカルスコープなのに、$wk2 だけがサブルーチンxxxで『Use of uninitialized value』エラーになるのです。

どうも foreach文 をかますと $wk2 のレキシカルスコープが切れてしまう感じなのです。

これ、バグなのかな、それとも仕様かな・・・。

ちなみに、レキシカル「my $wk2;」をグローバル「our $wk2」にすれば、エラーになりません。

use strict;
use warnings;

my $wk1 = "AAA";
my $wk2;
my @result = ("aaa");

foreach $wk2 (@result) {
    &xxx();
}

sub xxx {
    print $wk1, ' In $wk1', "\n";
    print $wk2, ' In $wk2', "\n";
}
実行結果
C:\Documents and Settings\test>test01.pl
AAA In $wk1
Use of uninitialized value in print at C:\Documents and Settings\test\test01.pl
 line 14.
 In $wk2

2008-06-10 ウェブ進化論より引用01

ウェブ進化論より引用です。

世界政府ってものが仮にあるとして、そこで開発しなければならないはずのシステムは全部グーグルで作ろう。

それが、グーグル開発陣のミッションなんだよね。

http://d.hatena.ne.jp/asin/4480062858/chaichaworld-22

これ、逆の論理で言えば、遠回しにグーグルが世界政府って言っていないか?

確かに今、グーグルが無くなったら大変なことになるね。


しばらく、ウェブ進化論より引用シリーズが続くかもです!

2008-06-09 ウェブ進化論(本当の大変化はこれから始まる)

遅ればせながら、読みました!

この本は、Web系プログラマの人もちろん、特にMS系プログラマの人には必読だと思います。


私は特に「こちら側」と「あちら側」の話が面白かったです。

「こちら側」代表は某Mで、「あちら側」の代表はGoogleです。

「あちら側」でGoogleは、30万台のリナックスクラスタシステムでWEB検索を席巻しました。

最近のMacもリナックスで動いているらしい・・・。

本当にリナックスの時代が来たのかもしれない。某Mさんサヨウナラ・・・。


で、この「ウェブ進化論」、とにかく、いろいろ示唆に富んでいて、読んでいて感動の連続です。

まだ読んでいない人は、幸せです。

なぜって、これから、こんなに面白い本を読める機会が残っているのですから・・・。

ウェブ進化論 本当の大変化はこれから始まる (ちくま新書)

ウェブ進化論 本当の大変化はこれから始まる (ちくま新書)

2008-06-08 5月分更新

ブログ5月分をサイトコンテンツへ反映更新しました。

2008-06-08 男子バレー16年ぶり北京五輪へ!!!

私には特に趣味と言えるものが無いのですが、バレーボールを見るのが大好きなんです!!!

今回は、男女共に北京オリンピックの出場をかけた大試合!!!

試合が始まるとテレビの前にくぎ付け状態!パパや子供たちが声を掛けてくると・・・

これだけは見せて!!!と家族を突き放す!今だけは譲らない!と必死な私!

日本に点が入ると、よしよし!と声をあげガッツポーズ(^o^)丿!!!相手に点を取られると、も〜なんだよ〜とガックリ(ーー;)接戦になると心臓が”ドキドキ”(゚o゚)

この一週間そんな夜を過ごしてきました・・・

そして感動したのは北京に王手がかかったオーストラリアとの一戦!!!

監督も選手も王手がかかった一戦だけに精神的な重圧があって、とても苦しい戦いだったでしょう・・・

選手でもない私でさえ体に力が入り、気づくと手を”グッ”と握りしめて、”どうか勝ちますように!!!”と真剣に祈っていました。

そして勝利が決まった瞬間、監督が床に額を着けひざま付く姿を見た時、何か胸に込み上げてきて

思わず涙が溢れていました・・・

昨日は北京出場が決まる決定戦!!!日本より格上のアルゼンチン戦!!!

1セット目を取られた時、やっぱり格上だから今日はもしかして・・・嫌な予感が・・・(-_-;)

でも2、3セットを取り、今日はいけそう(^o^)丿と思った!でも4セット目、また嫌な予感が・・・

そんなに簡単にはいかないなぁ・・・一喜一憂しているとパパがパソコンで検索し結果がわかってしまった!

私はパソコンに飛びつき画面を見た!そこには”男子バレー16年ぶり北京五輪出場決定”と書かれていた!

一瞬ボーっとした後、すごい!勝ったんだ!と嬉しさでいっぱいに!!!(^o^)丿

その後は安心して試合を見ることができました。そして勝利の瞬間だけはしっかり見たい!!!

5セット目、接戦の末、最後に決めたのはキャプテン荻野選手!監督は床にうつ伏せに大の字になり、選手達は涙を流しながら抱き合って喜びをかみしめていました!!!

その感動の姿に私もまた涙・・・

監督、選手の皆さん、北京オリンピック出場本当におめでとうございます!!!(^○^)

皆さんの頑張っている姿を見ていると、私も勇気が湧いてくるんです!けして諦めない心の強さ!!!

上手く表現出来ませんが、心から感動!感動!感動!するんです!!!

この感動を力に前を向いて生きて行こう!!!(^o^)丿

沢山の感動をありがとう(^○^)バレーボール大好き!!!(^o^)丿

2008-06-08 JavaScriptでの null と undefined について

予約語である null は、「値がない」「オブジェクトがない」を意味する特別な値のキーワードです。

グローバル変数である undefined は、undefined値(宣言されたが初期化されていない状態)が格納されている。


尚、nullはキーワードなのでnull自体へ代入はできませんが、undefinedは変数なのでundefined自体へ代入ができます。

何かをundefinedに代入した後、元のundefined値にしたい場合は、以下のように行います。

undefined = void 0;

2008-06-08 JavaScriptでの文字列比較の大文字と小文字について

JavaScriptの文字列比較では、大文字と小文字での同じ文字を別物と扱います。

var ans;
var aaa = "xxx";
var aAa = "xxx";
aaa == aAa ? ans = "一致" : ans = "不一致";
alert(ans); // 一致

aAa = "xXx";
aaa == aAa ? ans = "一致" : ans = "不一致";
alert(ans); // 不一致("xxx"と"xXx"は、別物)

2008-06-08 JavaScriptでの文字列は、オブジェクトか?

JavaScriptでの文字列は、基本型で、参照でなく値として処理します。

しかし、文字列は、Stringオブジェクト同じようにプロパティやメソッドが使用できます。

では、文字列は、オブジェクトなのでしょうか・・・。


文字列をtypeofをするとちゃんと string で objectでないのです。

あたかもStringオブジェクトに見えるのは、JavaScriptがオブジェクトコンテキストのとき、文字列をStringオブジェクトにラッピングするのです。

このようなオブジェクトをラッパーオブジェクトといいます。

したがって、JavaScriptでの文字列は、オブジェクト(object)でなく、あくまでも文字列(string)なのです。

    var aaa = "0123456789";
    alert("0123456789".length); // 10表示(あたかもStringオブジェクトになる)
    alert("0123456789".substr(5, 5)); // 56789を表示
    alert(typeof("0123456789"));// string と表示される

    alert(aaa.length);          // 10表示 と表示される
    alert(aaa.substr(5, 5));    // 56789を表示
    alert(typeof(aaa));         // 同じくstring と表示される

    aaa = new String("0123456789");
    alert(aaa.length);          // 10表示 と表示される
    alert(aaa.substr(5, 5));    // 56789を表示
    alert(typeof(aaa));         // object と表示される

2008-06-07 自分を大切にしよう!

今日はパパと二人でお墓参りにいきました!晴れていたので有り難かったです(^○^)

お墓の前でお経を揚げていると、心地よい風が吹いてきて気持ちが良かった〜

今日は、いつになく穏やかな気持ちなんです(^O^)お墓参りに行ったからかな???

毎日こんな気持ちで過ごせたら幸せなんだけど・・・そうもいかないか(^_^;)

ところで私、気付いた事があるんですが、私は慢性の体調不良で、どうしてこんなに

体調が悪いのだろう・・・とず〜っと悩んできました。その原因がわかったんです!!!

自分の体調を無視して、あれもこれも一気にやりたい・・・やってしまうんです・・・

そう、せっかち!休みながらが出来ない!思った事はやってしまわないと気が済まない!

その結末は・・・寝込んでしまう、この繰り返し・・・そして、どうしてこんなに具合が

悪いのだろう(>_<)と悩む・・・そう自分のせいなんです!!!(^_^;)

これじゃあ体も可哀想だよね(-_-;)これからは体の声を聞きながら、体を大切に使わせて

いただくように努力しますね!

でも性格ってなかなか変えられないんだよなぁ・・・う〜っ、もう寝込みたくない(-_-;)

2008-06-07 JavaScriptでの文字列の型とは

JavaScriptのデータ型は、数値、論理値、文字列、オブジェクトの4種類があります。

数値と論理値は、基本型と呼ばれています。

オブジェクトは、参照型と呼ばれています。

基本型は、代入、引数引渡し、比較、すべて値で行います。

参照型は、代入、引数引渡し、比較、すべて参照で行います。


では、文字列は、基本型でしょうか、それとも参照型でしょうか?

たぶん、C言語系の人は参照型、Perl系の人は基本型だと思うのでしょう…。


答えは、基本型です。


文字列は、代入、引数引渡し、比較、すべて値で行います。

ただし、JavaScriptでは、文字列の中身自体が変更できない仕様なので、厳密には基本型なのか参照型なのかわかりません。

とにかく、振る舞いとしては基本型で、特に比較は参照でなく値で行うのは確かです。

// 文字列型の場合
var xxx = "ABC";     // 値が代入される

if (xxx == "ABC") {  // 値で比較される
    alert(xxx);      // ABCと表示
    yyy(xxx);        // 値渡し
    alert(xxx);      // ABCと表示
}

function yyy (xxx) { // 値渡し
   xxx = "XYZ";
}

// オブジェクト型(配列)の場合
var aaa = ["ABC"];   // 参照が代入される
var ccc = aaa;

if (aaa == ccc) {    // 参照で比較される
    alert(aaa[0]);   // ABCと表示
    bbb(aaa);        // 参照渡し
    alert(aaa[0]);   // XYZと表示
}

function bbb (aaa) { // 参照渡し
   aaa[0] = "XYZ";
}

2008-06-06 JavaScript 第5版

第3版を買ったのが2001年ぐらいで、最近、さすがに第3版だと古いなぁ思えることが多くなってきて・・・。

ついに第5版を買ってしまいました。

第5版を半分読み終った時に、先日ご紹介した『JavaScriptマスターブック』を読み始めてしまって・・・。

とにかく、第5版は、訳本としては、すごく読みやすいです。

第5版でわからないときは、図が豊富な『JavaScriptマスターブック』を読み合わせると吉です。

JavaScript 第5版

JavaScript 第5版

2008-06-06 もうWindowsには戻らないと思う

ここ5年ぐらいは、WINDOWSのVB.NETがメインで、ここ1年は、ActivePerlもやりました。

ここ5年より前は、13年ぐらいずーっとUNIXでC言語でした。


そろそろ、UNIX・・・(今だとLinuxかな)に戻りたい今日この頃です。

2008-06-06 JavaScriptでの大括弧の使い方

JavaScriptで大括弧の使い方は概ね以下の3通りがあります。

  1. 配列のインデックスまたはオブジェクトのプロパティを囲む(xxx[0] 等)。
  2. 正規表現の文字クラス([a-z]は[abcdefghijklmnopqrstuvwxyz]を表す等)。
  3. 配列リテラル(以下のサンプル参照) 。
var xxx = ["AAA", "BBB", "CCC"];// 配列リテラル
document.write(xxx[0], "<br>"); // ABC表示
document.write(xxx[1], "<br>"); // BBB表示
document.write(xxx[2]);         // CCC表示

2008-06-06 今日は起きられて良かった〜(^o^)丿

久しぶりにいいお天気で気持いいなぁ〜(^○^) 朝、起きられてチョー嬉しい!!!

ホントは当たり前のことかもしれないけど、私にとっては当たり前ではないんです!!!

三男の体育祭の日から五日目・・・やっと回復の兆しが見えてきたみたい(^_^;)

昨日までは、ホント苦しかった・・・いつかは回復するとわかっていても寝ていることが辛かった・・・

私はホントに心も身体も弱いんだ・・・と思い知らされた(-_-;)

自分の事を、わかっているようでも、なかなかコントロール出来ないものですね(~_~;)

でも子供のために無理をすることもある・・・母親だからね・・・

これからは、自分の身体と上手に付き合っていけるように努力していこう(~o~)

2008-06-05 JavaScriptでの中括弧の使い方

JavaScriptでの中括弧の使い方は概ね以下の3通りがあります。

  1. function文やtry/catch/finally文のブロック(ブロックを明示する中括弧)
  2. 正規表現の繰り返し文字(/Go{2,4}gle/ --> Google, Gooogle, Goooogleにマッチ)
  3. オブジェクトリテラル(以下のサンプル参照)
var xxx = {aaa: "ABC", 10: "ten"};
document.write(xxx["aaa"], "<br>"); // ABC表示
document.write(xxx["10"], "<br>");  // ten表示
document.write(xxx.aaa, "<br>");    // ABC表示
document.write(xxx[10], "<br>");    // ten表示
//document.write(xxx[aaa], "<br>");   // Error: missing ) after argument list
//document.write(xxx.10, "<br>");     // Error: a is not defined

2008-06-05 iPhone ソフトバンク年内発売

機種は9日の発表が予想される「3G iPhone」の見通し

図:携帯電話の通信規格の変遷

上記の図をクリックしてみてください。

本来、iPhoneは日本では使えないのですが、ついに日本で使える3GにiPhoneも対応するらしい。


なぜiPhoneは日本で使えないの?

2008-06-05 一日に1,317万1,039PV(アクセス)のブログがギネス世界記録

上地雄輔のブログがギネス世界記録に認定

1日平均アクセス数は500〜600万PVがあるという。

しかも、モバイル(携帯)からのアクセスが約6割もあるという。

2008-06-05 自分が許せない・・・

先日の三男の体育祭の日、私は久しぶりに一日外にいました。

子供の競技を見ながら、いつもお世話になっているお母さん方に挨拶に回り、結構忙しい一日でした。

家に帰ったのは三時半頃だったと思いますが、急いで夕飯を作りました。

ホントは、一休みしたいところでしたが、いつも、腹へった〜と帰って来る三男のためにがんばりました!

その日、頑張った私は、お風呂に入る気力もなくなり、そのまま寝込んでしまいました・・・

翌朝は、起き上がることができずに、パパと子供達を布団の中から見送りました・・・またこれか(-_-;)

今までにも何度も同じことを繰り返し、こうなる事は予測していましたが、やっぱり自己嫌悪・・・

も〜ホントに自分で自分が許せなくなるんです!!!!!!今の自分が受け入れられない(>_<)

いつまでこんな日が続くのだろう・・・と苦しみながら今日で三日が経ちました。

元気な人が羨ましい・・・こんな私にも元気な時があったんです!どうしても今の自分が嫌でたまらない!!!

こんな私に、文句もいわずにいてくれるパパと子供達には、本当に申し訳ない気持ちでいっぱいです。

みんな我慢してるんだろう・・・と思うと辛いです(>_<)

本当は感謝の気持ちを書きたかった・・・でも今の私には謝ることしか出来ない、ホントにゴメンね・・・

2008-06-04 Google人気JavaScriptライブラリ配布開始

Google人気JavaScriptライブラリ配布開始、ネット全体でキャッシュ効果

これも、Google企業理念『増殖する地球上の膨大な情報をすべて整理し尽くす』の一環なのでしょう!

Googleさん頑張ってください。某Mさんに引導を・・・。

2008-06-04 パパのたわごと

三男マチャが一等賞になったこと、私が書きたかったのですが、ママに先越されてしまいました。

なので、ちょっとたわごとを・・・。


今、私のサイトは、一日3〜4万のアクセスがあります。(はてなカウンタだと1万ちょい)

仮に、1アクセスで1円もらえるシステムがあったら、月に約100万の収入になるのですが・・・。

現実は、あまくないですね。


本サイトのアマゾンの本の売り上げは半年で約5万で、紹介料が約1500円です。

そう、半年で1500円です。悲しい・・・。

2008-06-04 まちゃ復活?

一昨日、三男まちゃの体育祭がありました。

まちゃは、今年の初め頃から成長痛の痛みがあり、膝をかばったために下半身全体に痛みが広がり、このままでは歩くこと

も出来なくなるかもしれない・・・と言われていました。

当然、頑張っていたバスケもできず、体育の授業すらままならない状態の中、整体治療に通いました。

なんとか良くなって欲しい!!!と祈りながら四ヶ月・・・体育祭の日が近づいていました。練習も始まっているはず・・

まちゃはどうしているだろう・・・何の競技ができるのだろう・・・と心配でまちゃに聞いてみてビックリ!なんと、なんと100メートルを走ると言うのです!!!

まちゃは負けず嫌いなので、全力疾走することはわかっていました。 

確かに治療のお蔭さまで、だいぶ痛みも治まってきてはいましたが、全力疾走したらどうなってしまうの・・・

私は、せっかく良くなってきたのに、またボロボロになっちゃう(>_<)と思いましたが、もう本人が決めてしまったのでどうすることもできずに体育祭当日になってしまいました。

100メートル走が始まり四組目の5コースにまちゃが立っていました。無事を祈るしかない!!!と思いました。

レースがはじまると、まちゃはやっぱり全力疾走!なんと一位でした。その後もクラス対抗全員リレーで、二回も走り今日はボロボロで帰ってくる・・・と覚悟していました。ところが、ところが、帰ってくるなり、今日友達と打ち上げする

から、これから出かける!と言ったので、脚は痛くないの?大丈夫なの?と聞くと、痛くないと言うのです!!!!

あんなに走っても何ともないなんて、これは奇跡だ!!!と嬉しくなりました(^o^)丿

そして翌日も、何事も無かったかのように朝練に出かけて行きました!!!

まだ完治した訳ではないので油断は出来ませんが、確実に良くなっているのは確かです!!!

整体の先生のゴットハンドに感謝・感謝・感謝します(^○^)

2008-06-03 すべてを生かす・・・・・・自覚

お釈迦さまは、自分を何度も殺そうとした提婆達多(だいばだった)を憎まず、逆によき友(善智識)とおしゃっていました。

これは、自分にとって、いやな人、いやなことが、実は自分を成長させていただけるチャンスなのだという教えなのです。


このように人生は、いいことも、いくないことも、すべて自分を生かすことだと自覚ができれば、すでにもう幸せなのです。

2008-06-03 5月分の燈明日記ブログを燈明日記ページにしました。

2008-06-03 ページ全体のどこでも選択を禁止する(パート2)

昨日、以下のページがCSSで選択を禁止しているらしいと書きましたが、今日、調べてみました。

結論から言うと、以下の4つの条件が揃うと、JavaScriptなしに、選択を禁止することができるみたいです。

  1. ブラウザがIE6であること(他のバージョンではテストしていない)。
  2. ドキュメントタイプがあること(XHTML1.0 Transitional)
  3. base要素があること(href属性の内容は、なんでもいい)
  4. スタイルで、positionをrelativeにし、widthは多めのピクセルにする。
サンプル
<!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" xml:lang="ja" lang="ja">
<head>
<base href="xxxxhttp://gihyo.jp/" />
<style>
#wrapper {
    position: relative;
    width: 1000px;
}
</style>
</haed>
<body>
<div id="wrapper">
<p>aaaaaaaaaaaaaa</p>
<p>bbbbbbbbbbbbbb</p>
</div>
</body>
</html>

上記4つの条件が一つでも崩れると、選択ができるようになります。

ちなみに、firefoxでは、4つの条件でも選択ができます。


とにかく、ドキュメントタイプとbase要素がスタイルに悪影響を及ぼしている感じかな・・・。

2008-06-02 ページ全体のどこでも選択を禁止する(コピー&ペースト禁止)

普通、以下のようにbody要素のonselectstart属性に"return false"をすると、文字の選択ができなくなります。

<html>
<body onselectstart="return false">
<p>文字をマウスでリバース選択ができない</p>
</body>
</html>

しかし、以下のページは、CSSで選択できないようにしているみたいなのですが、よくわかりません。

しかし、こういう仕掛けを入れているサイトは、はっきいってむかつきます。

2008-06-01 効率的な JavaScript

今、見つけました。

よさそうなので、後日、熟読してみます。

とりあえず、今日はもう寝ます。おやすみなさい。

2008-06-01 人として出会えてよかった・・・

今日の『ママのつぶやき』でもすでに書かれていますが、やはり、今日が次男(高3)の部活(バスケ)最後の日になりました。

ということは、接戦の末、負けてしまったとのことでした。


試合後、退部する全3年生一人一人へコーチからメッセージを頂きました。

次男はコーチから以下のメッセージを頂きました。

『・・・お前とは、人として出会えてよかった・・・』

と、言われたそうです。


次男は、コーチと部員との関係でなく、『人として出会えてよかった・・・』言われたことに凄く感動をしていました。

コーチは、仕事の忙しい中、時間を割いて練習を見に来てくれるのですが、次男はそれをよくわかっていて、いつもコーチへ感謝の気持ちを伝えていたとのことです。


私も親として、この話を聞いた時、すごく嬉しくなりました。

2008-06-01 すべてが奇跡

最近、思うんです。


2年前、父が亡くなって、家を相続し、今、家族5人で暮らしています。

家そのものは相続で頂きましたが、自分の働きでこの家に住み、家族5人を養っている。

そして、約30年間、プログラマとして働いてきました。


このへぼプログラマが、家付きで家族5人を養っていけるかな、と思った瞬間に急に不安になりました。

なぜかというと、私の実力に見合っていないぁと思い、急に不安になったのです。


しかし、法華経を勉強している私としては、すべては、仏さまのおはからいの中で、生かされていると教わっています。

なので、すべてが奇跡によって、今があるのだなぁ、と思った瞬間、不安が消滅しました。


自分の我で暮らそうとしているのではなく、仏さまのおはからいの中で生かされて、そして、家族5人がここにいる。

すべてが奇跡の中で生かされている・・・。


そう、地球があるのも奇跡、地球に生まれたのも奇跡、約30年間プログラマでいられたのも奇跡、家族5人で暮らしていけるのも奇跡・・・。

これからも、この奇跡に、日々感謝して、生きていきたいと思います。

2008-06-01 JavaScriptカウンタのカウント数は、実際の3分の1?

はてなカウンタは、JavaScript経由でサーバーのCGIを起動してカウントしています(たぶん)。

そして、私のほぼ全てのページには、はてなカウンタを入れています。


また、グーグルアナリティクスも、JavaScript経由のカウンタです(たぶん)。

そして、グーグルアナリティクスは、ほぼこの燈明日記(はてなダイアリー)に入れています。


はてなページビューは、多分、WWWサーバーでカウントしたログのものだと思います。

また、私のサイトは、90%がインフォシークに置いています。ここのカウント数もWWWサーバーでカウントしたものです。


で、一日のアバウトなカウント数なのですが、大体以下の通りです。

ご覧の通り、JavaScript経由アクセス数は、WWWサーバーログのアクセス数の3分の1になってしまうみたいです。

WWWサーバーのログは、正確なアクセス数に近いはずなので、JavaScriptカウンタでは、3分の2も取りこぼししてしまうのですね。

JavaScriptカウンタは、カウンタ数に関しては、あまり意味が無いのかもしれません。


と言おうか、最近は、アクセス数そのもが意味がなくなってきているのかもしれません。

RSS購読数とかソーシャルブックマーク数とかが、従来のアクセス数に代わり、人気の尺度になってきているのですね。


しかし、私は、そういう人気の尺度のとらわれず、我が道を行きたいと思います。

みなさま、今後もよろしくお願いいたします。

2008-06-01 やっ君ガンバレ!!!

今日は次男のバスケの試合なんです。今、もう試合が始まっています!

本当は応援に行きたかったのですが、お母さんが来る時いつも負けるから来ないで欲しい・・・と言われてしまいました。

確かに私が応援に行った時は負けてるんです(~_~;)母としては、最後の試合になるかもしれないから観たい!!!

でも、やっ君のために我慢して、陰ながら勝つことを祈っています!!!悔いのない試合をして欲しい!!!

やっ君ガンバレ〜(^o^)丿