学習パターン(Learning Patterns)

こんにちはこんばんは。冬休みですね。。
Facebook眺めてたら学習パターンについての投稿を見かけたのでなんとなくまとめてみる。

学習パターンとは

学習パターンとは、よりよい学びを実現するためのコツを抽出・記述したもの。自分が何かをしたいとき、具体的にどうすればいいのかっていうのがまとめられている。SFCの人たちが作ってるらしい。
参考:http://learningpatterns.sfc.keio.ac.jp/introduction.html

自分に当てはめて考えてみる

私は今phpの勉強をしている。なにかしらの知識、スキルを身に着けるにはどのようなことをするのが効果的なのか調べてみた。

新しくスキルを身につけたいとき

新しくスキルを身に着けたいときには下の11項目が効果的らしい。
1) No.8 「まねぶ」ことから
2) No.9 教わり上手になる
3) No.10 身体で覚える
4) No.11 成長の発見
5) No.12 言語のシャワー
6) No.13 アウトプットから始まる学び
7) No.15 学びのなかの遊び
8) No.28 学びの共同体をつくる
9) No.30 ライバルをつくる
10) No.32 外国語の普段使い
11) No.38 断固たる決意
それぞれ詳しく見てみる。

1) No.8 「まねぶ」ことから

学ぶことは、真似ることから。「型」がなければ、「型破り」はできない。
これを自分のことに置き換えてみると、私はphpのリファレンスにあるコードを実行してみたり、ほかの人が書いたコードを参考にしたりしながらプログラミングしている。
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No8.html

2) No.9 教わり上手になる

他の人に「やってもらう」のではなく、
上手に「教わる」と、次につながる。
コードがうまく動かなかったとき、動かない原因がわからない時は人に聞く。その時になんで今のコードでは動かないのか、教えてもらったコードではなんで動くのかっていうことはしっかり考えるようにしてる。
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No9.html

3) No.10 身体で覚える

習得したいスキルは、
意識しなくても自然に使えるようになるまで繰り返す。
これは…難しい。phpに関していえばコードをすぐにかけるってことになるのかな。。これに関してはまだできてないですね。
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No10.html

4) No.11 成長の発見

昨日の自分と、今日の自分。
そのわずかな違いに敏感になる。
これは、自分が勉強したての時に書いたコードと今書いたものを見比べればよくわかる。
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No11.html

5) No.12 言語のシャワー

じゃぶじゃぶに浴びていると、
不思議と、けっこう身につくものだ。
phpのシャワー!たまに浴びてる。
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No12.html

6) No.13 アウトプットから始まる学び

与えられた知識をインプットするだけが、学びではない。
うーん…phpに関して誰かに教えるというのはできてないですね。ただ、phpに関してこのブログに記事を載せることで自分が得た知識をアウトプットしているといえますね。
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No13.html

7) No.15 学びのなかの遊び

学び方にも工夫を。
ちょっとしたことで、学びを楽しくできる。
割と楽しくphpやってるので問題ないですね(適当
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No15.html

8) No.28 学びの共同体をつくる

独りで学ぶ必要なんてない。
普段phpに関して周りに質問で来てるから問題ないと思われる。
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No28.html

9) No.30 ライバルをつくる

互いに刺激しあい、高め合う仲間がいること。
それが成長を促進させる。
周りに(いい意味で)頭おかしい人多いからいい刺激になってますフォロワーさんほんとにありがとうございます。
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No30.html

10) No.32 外国語の普段使い

当たり前に使っていれば、
妙な「特別感」は薄れていく。
これは…どうなんだろう。英語知ってればphpの関数名とかも少しわかりやすくなる?…微妙ですね。普通に日本語のリファレンスあるしな…phpの勉強に関してこれはあんまり当てはまらないかも?
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No32.html

11) No.38 断固たる決意

気持ちだけでは心許ない。
決意をカタチにすることが、断固たる決意の表われ。
決意…具体的に何を作りたいか、どんなことをしたいかってのは明確にするようにしてる。
参考:http://learningpatterns.sfc.keio.ac.jp/LearningPattern_No38.html

まとめ

えっと完全にここのパクリですほんとにすいません。最後に行くに従ってgdgdになるのは仕様です。
こうしてまとめてみると、私の場合は結構実践できていることが多いですね。ここに書かれていることは何か知識をつけるにあたって当然実践できてないといけないようなことですね。
これを見て新たに何か知識が付いたわけではありませんが、改めて自分の学習の方法について考えることができました。

期末試験終わった

期末試験終わりました。やったね!

そろそろパソコン部から出てるphpの課題やらないとな……と明け方になんとなくApacheを起動しようとしたらApacheが起動しませんでした。。。。。
実際に返ってきたエラーメッセージを完全に覚えてないんですが、簡単にいえばApacheが起動するときに必要になるレジストリの値が見当たらないとのこと。
どうしてこうなった…といろいろ考えてたらこうなった原因がわかりました。先週に私の父親がなぜかレジストリの最適化をするソフトを実行していたのを思い出しました。きっとそれを実行したときにApacheが参照するレジストリの値をレジストリの最適化をするソフトが消してしまったんでしょう。これはApacheを再インストールするしかありません。面倒ですね。。

Apacheの再インストール

正確にいえば、XAMPPの再インストール。Apache単体で入れるより設定の手間が省けたり、ほかにもXAMPPを入れればいろんなツールが一緒にインストールできるので、XAMPPを入れることにしました。再インストールは適当に進めて無事終了しました。この部分で特に書くことはないですね。

あとはインストールしたApacheを起動するだけです。WindowsのサービスにApacheを登録して、あとはそれを有効にするだけ。簡単ですね。やっとこれで作業終了です。やった!…と思ってたら



はい、Apacheが起動しません。。。まず考えられる原因はApacheが使う標準のポート80が別のプログラムによって使われているということ。さっそく調べましょう。
コマンドプロンプトを起動しnetstat -noコマンドを実行します。これでリッスン状態のポートと、ポートを使ってるプログラムのプロセスID(PID)がわかります。PIDがわかればどのプログラムがポートを使ってるかわかります。。で、やってみると…
World Wide Web Publishing Service(PID: 4680)がポート80を使ってることがわかりました。このサービスを停止するとApacheは無事起動しました。やったね!

最後に

初めてApache入れたときはこんな面倒なことにならなかったんですが……謎ですね。。

TwitterOAuthとPHPで遊ぶ(home_timelineの取得)

こんにちはこんばんは。

はじめに

タイトルそのままです。それ以上のことはしません。今回は単純にTwitterOAuthとPHPTwitterのhome_timelineを取得する方法を書きます。

いるもの

(当然だが)PHPを走らせるための環境(今回はローカルマシン上のApachePHPを走らせるという想定で書く)
TwitterOAuth
OAuthアプリケーション(Twitter Developersで登録できる)

実際にhome_timelineを取得してみる

GitHubからTwitterOAuthをダウンロードして、.zipファイルを解凍。中に入ってるtwitteroauth.phpとOAuth.phpApacheのDocumentRootにコピーする。
んで、あとはhome_timelineを取得するためのコードを書く。たとえば…

<?php
require_once("twitteroauth.php");

$consumer_key = "consumer_key";
$consumer_secret = "consumer_secret";
$access_token = "access_token";
$access_token_secret = "access_token_secret";

$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
$req = $to->OAuthRequest("http://api.twitter.com/1/statuses/home_timeline.json","GET",array("count"=>"10"));
$result = json_decode($req);
foreach($result as $status){
    $status_id = $status->id_str;
    $text = $status->text;
    $user_id = $status->user->id_str;
    $screen_name = $status->user->screen_name;
    $name = $status->user->name;
    echo "<p><b>".$screen_name." / ".$name."</b> <a href=\"http://twitter.com/".$screen_name."/status/".$status_id."\">この呟きのパーマリンク</a><br />\n".$text."</p>\n";
}
?>

$consumer_key、$consumer_secret、$access_token、$access_token_secretにはそれぞれTwitter Developersで登録したアプリのconsumer key、consumer secret、access token、access token secretを入力します。これでhome_timelineが取得できるはず!

私のリア友が情弱すぎてあれ

こんにちはこんばんは。はてなダイアリーを始めてしまいました。Twitterで書ききれないことをここで書こうかなと。。。では、本題に移ります。

まず初めに

Twitterでも何回か言っていますが、私は生まれつき目が見えていません。今回は、私のような人たちのPC事情(?)について書いてみたいと思います。

私がPCを触り始めたきっかけ

私は、小学生の時に先生に勧められて視覚障害者を支援するところでPCの基本的な使い方を教わりました。キーボードの配列、ブラウザの使い方などを教えてもらった気がします。その時のことはよく覚えてません。
気付いたらRAMディスク作って遊んだり、CPUのクロック数変えたり、HTML書いたりしてました。


小学生のとき先生が勧めてくれなければ、私は今こうしてブログ書いたりTwitterしたりHTMLやPHPを書いたりできなかったわけです。
このエントリーを見ている人たちは、PCの基本的な使い方なんて特に意識することもなく自然と覚えてしまっていると思います。しかし、目の見えていない人たちの場合そうはいかないわけです。当然ですが、目の見えない人はPCの使い方を覚えるまでに目の見えてる人よりもたくさんのプロセスを踏まないといけないわけです。とはいってもそのプロセスさえ踏んでしまえばあとはどうにでもなります。私が視覚障害者を支援するところで教えてもらったことはキーボードの配列、ブラウザの使い方くらいです。その先のことは、自分で調べていくらでも知識をつけられます。

私のリア友が情弱過ぎてあれ

PCの基本的な使い方を覚えるまでのプロセスって、私が通ってる盲学校の先生やほかの生徒にあまり知られていないような気がします。そのため、私の周りのリア友たちの中にはPCに関して知らなさすぎる人が多いわけです。PCに興味を持っててもどうしたらいいのかわからないって人も結構います。

ということで

PCに関して興味があるがどうしたらいいかいまいちわからないような人たちのためにも、何かできたらなと最近考えています。私には、PC全般に関してそれほど多くの知識はありませんが、学校の目の見えてない人たちにPCの基本的な使い方を教える程度の知識はあると思います。基本的な使い方さえ教えれば、あとはPCに興味のある人たちはきっとどんどん自分でいろいろ調べて知識をつけていけます。ソースは小学生の頃の私。
ただ、現実問題学校の人集めてPCの使い方教えるの難しいんですよね。なかなかそういうことができる機会がないわけです。ただ、自分の通っている学校の生徒数は少ないので何とかならないこともないんですがが。周りの人たちにPCの使い方に関して教えられる機会を作っていきたいです。