2009年5月27日水曜日

ゼロの使い魔って

もう16巻まで出てたのかよ…。

まだ13巻までしか読んでないよ…。






さっそく14巻を買ってきますたww

危険物取扱者

タイトルに書いてある試験を申し込みに行きました。
乙種の5類と6類です。
ちなみに昨日が7/11(土)の試験の申し込み締め切り日でした。
その時の逸話を完結に紹介しましょう。


15:00 起床

受験料の振込みを郵便局でするのだが、郵便局は16:00までしかやっていない。

急いで準備して、自転車で出発。

15:30 郵便局到着

ところが人がいっぱいで並ぶ。

15:50 振込み終了

15:55頃 電車に乗る(受験票を試験センターまで持っていくため)

電車が遅延。

試験センターは17:00までしかやってない。

16:40頃 試験センターの最寄駅に到着

以前危険物の試験を受けに試験センターに行ったことがあったので、記憶を頼りに歩いていく。

16:45 試験センターに到着

16:50 申し込み終了


つまり、以下の条件があったら7/11の試験は受けられなかったわけだ。
・朝(もはや午後だけど)起きるのがもう少し遅い。
・とっさに自転車で行くことを思いつかず徒歩で行く。
・郵便局の人がもうちょっと多い。
・電車の遅延がもうちょっと長引く。
・以前試験センターに行ったことがない。




なんだろう、この無駄な考察と無力感は…。
みんなはこうならないよう、きちんと余裕を持って受験票を郵送しようね!

バイト

プログラマのバイトしたい。
でもスキルがなさすぎる。
とりあえずオープン系のソフトウェアを作れるよう頑張ろう…。

今の各言語(とその他)の状況
C→忘れて来てる
C#→基本の構文ぐらいはできる
C++→ちょっとかじっただけ
Java→一応簡単なプログラムぐらいは作れる
Ruby→ちょっとかじっただけ
PHP→一応簡単なプログラムぐらいは作れる
Perl→何それ美味しいの?
HTML→W3C?何それ美味しいの?
CSS→やっつけ仕事なら

習熟度順に並べてみた
Java <= PHP < C# < C < CSS = HTML < Ruby = C++ < Perl
まあそもそも一番出来てるやつでさえできてないんだが、、

2009年5月24日日曜日

Make: Tokyoと電子工作

報告と、簡単なPICマイコンの説明的なものを書いておきます。

Make: Tokyo Meeting 03行ってきました。
LEDクロックがとてもKOOLでした。

で、何も買わないのもちょっとあれだったので、何故か小型のブレッドボード(青色,360円)を買ってみた。

そのブレッドボードを使って、簡単なPICマイコンの回路を作ってみました。
いつもの通り、スイッチ(見にくいけど右側の緑色のやつ)を押すとLEDが点灯するってだけです。
右上の図が点灯前、右の図が点灯後のものです。


とりあえず簡単に解説…。
PICマイコン(以下PIC)とは、内部に自由にプログラムを保存することができるデバイスです。
そして、(電流の)入力と出力を簡単に制御できるので、初心者でもすぐに使うことが出来るようになります。(たぶん
今回はPICの中でもメジャーな、16F84Aを使いました。
16ピンICのタイプのやつです(写真で言うと真ん中のやつ)。
まあ、何はともあれとりあえずピン配置を見てみましょう。
16F84Aのピン配置は以下の通りです。

1 :RA2
2 :RA3
3 :RA4/T0CKI
4 :MCLR
5 :VSS
6 :RB0/INT
7 :RB1
8 :RB2
9 :RB3
10:RB4
11:RB5
12:RB6
13:RB7
14:VDD
15:OSC2/CLKOUT
16:OSC1/CLKIN
17:RA0
18:RA1
(データシートより)

複数あるものは、プログラムの設定によってどちらかを選びます。

さて、ではそれぞれのピンの説明を軽くします。

・VDD、VSS
これらは特に問題ないと思います。
VDDには2.0V~6.0V、VSSには0Vを入れます。

・RA0~RA3、RB0~RB7
これらはそれぞれ4ビット、8ビットの入出力ポートです。
入力にするか出力にするかはプログラムで選べます。

MCLR
これはPICをクリアするピンです。
クリアと言ってもプログラムが消えるわけではなく、プログラムを実行し始める最初の状態に戻るということです。
バーが付いているので、"1"を入力するとそのまま、"0"を入力するとクリアします。
なので普段は"1"になるようプルアップして、スイッチを押すと"0"になるというような感じにしておきましょう。

・OSC1、OSC2
さきほどは説明しませんでしたが、PICはあるクロックに同期して動作をします。
16F84Aの場合は、抵抗とコンデンサ・水晶発振子・セラミック発振子(セラロック)などを選ぶことができます。
(また、外部に回路をつながなくても使える内部クロックを備えているPIC(12F675など)もあります。)
今回使ったのはセラミック発振子です。
写真で言うと、一番左下のやつです。

・その他のピン
使わないから省略!
今回は上に説明したピンだけを使って回路を作りました。
(複数の機能があるピンは、上に説明した機能のほうを使用。)

さて、PICの概要はこんな感じです。
プログラム(アセンブラ言語)も書こうかと思ったけど、長くなるしめんどいから簡単に言って終わりにします、、(もしかしたら今度書くかもだけど
RAの入力をそのままRBに出力しただけ、終わり。
とりあえずスイッチの先をRA0に、RB0をLEDにつないだっていうだけです。


#余談
注意点としては、入力に設定したピンはちゃんとプルアップかプルダウンしとかないと不定な電圧で加わってしまうことですね。

あと写真後方に見えるプラグらしきものは、DCジャックにピンヘッダ付けて無理矢理ブレッドボードに挿せるようにしたやつをACアダプタに付けてるだけだからつっこまないでくれ、、

2009年5月14日木曜日

PHPについて色々

最近Ruby、Java、アセンブラしかやってなかったので、PHPを久しぶりにやってみたよ。
今までは生のPHP(フレームワークとかを使わないって意味で)でしかプログラミングしたことなかったんだよね。

というわけで、SmartyとPEARをインストール(ファイルのコピーとinclude_path指定しただけだけど)してみた。
とりあえず簡単に解説。

・Smarty
主にPHPで使われるテンプレートエンジン。中のプログラムと、レイアウトを分けることが簡単にできるようになる。

・PEAR
PHPにデフォルトでインストールされている有用なライブラリ。最初は最小限のものが入っているだけだが、パッケージという単位で簡単に色んなライブラリをインストールすることができる。データベース関連やユーザー認証がある。


どっちも使い方が簡単で、敷居が低いから使いやすい。
なんかインストールしただけで中身がほとんどないけど、とりあえず最初の一歩ってことでw

2009年5月8日金曜日

数学検定

今ネットで合否判定の結果見たら、落ちたと思ってたのに2次試験だけ合格してた。
ちなみに準1級です。
受験数学みたいなパターン暗記を嫌って、色々思索しながら勉強してた結果というわけだね。

今更だけどちょっと嬉しいので感想を。
受ける前は時間以内に間に合うかどうか心配だったけど、時間はあんまり問題にならなかった。
どっちかというと、問題を解く発想が浮かんでくるかどうかが問題だった。(特に2次試験
一応それなりの計算もあったけど、試験時間(準1級は1次60分2次120分)に比べればなんてことはない。

というわけで時間があったら7月辺りにでも基礎を固めて1次取りに行きます。

数検は1次2次片方だけでも合格証明を出してくれるので(というこじつけで)、一応資格欄に書いとく。

2009年5月7日木曜日

アセンブラ始めました

というわけでやっとこアセンブラを本格的に始めました。
RISCで命令数が35個しかないし、応用するにも簡単な回路が組めるっていう理由でPICマイコンから入ることにしたよ。
ちなみに種類はPIC12F675(-E/P)。
x86系はCISCで命令が多すぎる、、

というわけでくだらないネタを思いついたので置いておきますね。
decfsz MONEY,f
goto $-1
clrf NEETLIFE

無理矢理C言語で似たようなプログラム書くとこんな感じ。
while(1){
MONEY--;
if(MONEY==0) break;
}
NEETLIFE=0;



あと、何故かApacheにPerlも入れた。

2009年5月2日土曜日

メモ用

自分的更新履歴。

・Apache再インストール
・PHPバージョンアップ、Apacheで使えるようにした
・phpMyAdmin入れた
・MySQLをApacheで使えるようにし、PHPから操作可能に
・Ruby(CGI)をApacheで使えるようにした

でもPHPでMySQLからデータ取り出したら、日本語が表示できない…。

2009年5月1日金曜日

localhostが、、 ま た v i s t a か

久しぶりにapacheでもいじろうとして、この際だからと再インストールしてみた。
で、そこまでは良かったんだけど…。

インストール後、ちゃんと出来てるか確認するために、http://127.0.0.1/にアクセス。
これはちゃんと出来てた。
ところが、http://localhost/にアクセスすると何故か表示できない。
ということで色々ぐぐってみた結果、Windows VistaでとあるWindows Updateを行うとこうなるらしい。
その原因を簡単に以下にメモっときます。

どうやらそのアップデートで、
C:\Windows\System32\drivers\etcにあるhostsというファイルが書き換えられてしまうらしい。
自分の環境だとコメントを除けば、

::1 localhost

しか書いてなかった。
ちなみに::1はIPv6におけるループバックアドレスだ。
要するに::1がlocalhostに対応してることは書いてあるけど、127.0.0.1(IPv4におけるループバックアドレス)に対応してることが削除されたからアクセスできなかったということだ。
というわけで、

::1 localhost
127.0.0.1 localhost


のように修正したらlocalhostでも無事表示されるようになった。