2010年4月26日月曜日

「関数」と「変数」は数関連じゃない時も多いもので。。

プログラミングを覚え始めて、最初に引っかかったことの一つが、「関数」「変数」というものについてでした。

「関数っていったいなんなんだろう?」「変数ってなんじゃ?」と。

これらの用語に「数」という文字が使われていて分かりにくくなっている面があると、
理解できた後で思ったものです。

元々の英語は、
「関数」は単に「function」(=機能)、
「変数」は単に「variable」(=可変物)、
ですから、
「数」に縛られる語感はありません。

日本語を母語とする人で、プログラミングを習得しようとする際、
この用語で引っかかる人は、自分以外にもけっこういそうな気もします。
(もともと「関数」という用語は、
中国の人が、「function」という読みを漢字に当て嵌め、
意味的にも通じる、ということから名づいたようですね。
「ction」=「数」というわけか。。orz)

演算処理は、つきつめれば「0」と「1」という二つの数字による計算になりますから、
コンピューター的には「数」として計算しているのは間違いありませんが、
慣れていない人間にそのように認識しろ、というのは無理ですしね。

今更、「変数」や「関数」という日本語を別名にするのは難しいかもしれませんが、
プログラミング、という素晴らしい道具の入門時に、多くの日本人(中国人も?)がより早く使いこなせるようになるよう、
基本中の基本のこれらの二つの用語が、分かりやすくいつも解説されることを望むばかりです。

解説の丁寧な本をいくつか読んでやっと理解できた、理解の遅いワタクシメからの切なる願いでした。

(以下は、もし「関数」「変数」というのが、少し前の自分のように分からない方にちょっと解説です。あくまで、へっぽこな初学者による解説なので、参考程度にとどめてくださいませ。使ってみたい言語の初心者用解説には、普通ちゃんと書いてあると思います。ネット上にもたくさん情報がころがっております。。

■「変数」というのは、いろいろなものを一時的に入れておける箱のようなものです。
「いろいろなもの」というのは、数(整数や少数や正の数、正と負の数、2進数、8進数、16進数等など)であったり、文字(短いものから、ものすごく長いものまで)であったり、「正しいか間違いか(TRUEかFALSE)」という二者択一判定のための値であったり等など、色々な「値」のことです。
 「値」というとまた「数」を思い浮かべるかもしれませんが、コンピューター君たちには、「文字」なども値として最終的に把握されます。ですので、この場合の「値」も、数のみならず、文字等も含みます。

 ちなみに「=(イコール記号)」を使って、「右の値を左の変数に代入する」というのが一般的だと思います。(難しい言語ではそうでもないかもしれませんが、自分が触っている言語はだいたいそうです。)
 この「=」が、「等価」の意味でなく、「代入」であるというのが、初めてのころに引っかかりやすいところの一つです。

 さらにちなみに、「等価」かどうか比べるには「==」とイコールを二つ重ねるのが一般的です。

 変数には、文字や整数、小数等、色々な型の値を代入できますが、それらの「型」を定義する言語と、最近では定義せずとも使えてしまう言語があります。

■「関数」とは、function=機能、というように、何かの機能をもったミニプログラムとでも言えるものです。
 「何らかの処理」とも言えるでしょう。
 各言語には、便利な機能が「関数」として用意されており、それらを使えば、色々なことができます。
 また、独自に関数を定義することもでき、色々な機能を便利にまとめて、再利用が簡単にできるようになっています。
 詳しくは、それぞれの言語の解説書や、解説文などで。。。

 失礼しました~

skype4.2系で、マイクの不具合。。

skypeで、グループ会話時にマイクがおかしくなる不具合が発生していました。
マイクの問題かと思ったら、ヴァージョン4.2系で同じ不具合があることが、ネット上で多数書き込みあり。

http://www.filehippo.com/jp/download_skype/6359/
このページなどで4.1系がダウンロードできます。

個人的には4.2系の「画面を共有」が非常に便利なので早く4.2系をメインで使いたいところですが、
仕方がないので、仮装環境に4.1系、本番環境に4.2系を入れて使い分けようと思います。

まあ不具合はあったにせよ、skype、ほんと便利だなあ。。(skypeに限らず、ネット電話系全般に言えますが)
無料でネット会議ができるなんて、昔から考えると夢のようス。

2010年4月21日水曜日

ギガサーバーでつくったメールアカウントのメールクライアント設定メモ。

(下記の記事は、「ギガサーバ」と表記していましたが、「ギガサーバー」に関するものでした。誤記、失礼いたしました)

ギガサーバーでメールアカウントを作り、
メーラーで送受信させようとしてなかなか設定がうまくいかず、
やっとうまくいったのでメモです。

自分の場合、POPでSSLオンの設定ということで、

mbsrv.net がpop smtpサーバー名。
SMTPをport 465 に(SSLをオンに)
POPをport 995 に (SSLをオンに)
アカウント名+サーバ名 (account+example.comみたいな)がアカウントID(サーバ名まで必要なのがネックでした。また@でなく+などを入力するのもネックでした。)
パスワードは、アドレス設定時のもの。

初回ログイン時「この接続を信頼しますか?」とか聞かれるので、「はい」。
「継続的に信頼」にしてしまうと楽。
それで問題ない、とFAQに書いてあり。

そんな設定でやっとうまくいきました。
ほかでもうまくいくかは保証の限りではありませんが、一応メモです。

mod_rewrite、しっかり学習したい。

mod_rewriteってかなり便利ですね。
前から意味も良く分からず、wordpress,concrete5でコピペしていましたが、
かなり興味を持ちました。

もとはと言えば、軽量簡単なCMS的代物を作りたくて、「階層を動的なページからどうやって静的なものに変えるのだろう。そういえばmod_rewriteってなんだっけ。。」と思って調べていたのが始まりでした。

正規表現を使って、”スイス製のアーミーナイフ”のように様々なURLの処理ができるとか。

以下、参考になったのでリンクメモ。
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html
http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html

2010年4月15日木曜日

Firefoxの重さを解消

Firefoxが劇遅で困っていたら、ネットでいくつか記事を見つけて実行すると、
体感速度が確実に上がりました。
感動です。これでまたまた元に使える。。

やりかたは、

Firefoxのロケーションバーに「about:config」と入力し、フィルタ欄に「network.dns.disableIPv6」と入力。
値が「false」のところを、ダブルクリックし「true」として再起動。

とそれだけでした。

about:configを入れると、リスク警告が出ますし、実行は自己責任で。

2010年4月13日火曜日

正規表現で[]に囲まれた文字列の置換メモ。

正規表現で、[]に囲まれた文字を置換したかったので、実現メモ。

\[.+\]
.+が一文字以上の文字列にマッチ。
[]は\でエスケープ。

以下、とても参考になったサイト。
http://hodade.adam.ne.jp/seiki/

2010年4月10日土曜日

poファイルだけでなくmoファイルが必要(当り前か・・・)

poEditというエディタを使って、CMSの翻訳をしていた。
ローカルでは翻訳が反映されるのに、サーバ上CMSの文章はどうしても翻訳が反映されないので不思議に思っていると、
poファイルしかアップロードしていなかったことが問題だったと判明。。

バイナリデータのmoファイルを実際は読み込む仕組みだったのですね。
恥ずかしながら、記録を残します。