Study Archive

JUL
15

結局行けなかった…。

Published:2008-07-15 01:08:22 UTC

「IT企業はほんとに泥のように働かされるのか」――東大でイベント - @IT

う~ん、行きたかったなぁ。試験時間割の発表を待っていたら、既に定員に達して閉め切られていた。残念。またこういう機会がないか、常にアンテナを高くしていたい。

JUN
21

TOEFL iBT SCORE

Published:2008-06-21 20:32:35 UTC

53.

もう一度受けられれば60とれると思うんだけれどなー。勉強しよう、英語。

KMDの様子が分からない…。とか前回のエントリでぼやいていたら、昨日UPされたエントリで、ちょうど講義内容の一部が紹介されていた。内容は、「携帯ビジネスの現況と今後の市場動向」。日本の携帯普及率は世界50位なのだとか。ルクセンブルクからドイツまでの1位から29位までの国々では、100%以上という話が紹介されているが、それって実際あるべき姿なのだろうか?ちょっと疑問。欧米では通話用の安い端末と、スマートフォンを持つのが流行っていると何処かで耳に挟んだが、それがこの数字の原因だとしたら、単に無駄をしているようにしか思えない。携帯も小さくなったとはいえ、ポケット一つを占拠するし、契約が二つになったら高くつくだけにしか思えないのだけれどもなぁ。日本では一台で大体のことを済ませることの出来る高性能な端末の普及しているから、数字が低く抑えられているのではないかと自分は思う。

Blogに載せられているスライドでは、他にも世界の携帯端末事情紹介が。iPhoneやAndoroidなどについては知っていたけれども、DANGERという端末と、それがMSに買収されたという話は初耳。何のためなんだろう?MSはWindows Mobileという携帯端末用OSを持っているし、Zuneという携帯音楽プレーヤーの端末も発売していて、そのどちらも.Net Compact Frmeworkをベースとしたアプリの開発環境までそろっているというのに、わざわ独自OSと、Java VMの上で動いているというDANGERを買う必要が分からない。

 

しかしあれだけ内容の濃いスライドが一講義40~50枚かぁ。ただただKMD生が羨ましい。是非機会があれば受けてみたいものだ。

MAY
29

TOEFL iBT対策中

Published:2008-05-29 00:50:22 UTC

只今週末のTOEFLのテストに向けて勉強中。模擬問題を解いているのだが、イメージしていたよりも簡単で一安心。TOEICとは比べ物にならないほど難しいというのがネットでの評価だったが、ReadingとListeningに関してはそれほどの違いがあるようには感じられなかった。むしろパッセージのテーマがアカデミックな内容なので、TOEICより取っ付き易いという印象を受けた。コンテキストから解答を考えるやり方に頼り過ぎていて、英語力というより国語力、公民力で解いている部分が大きい自分としては、テーマはかなり重要であり、本番でも相性の良いテーマであればと切に願ってしまう(笑)

しっかし最近の自分は明らかにオーバーワークだ。去年と同じく歪みが簿記に集まってきている。なんとかせねば。

MAY
18

i18n

Published:2008-05-18 16:45:29 UTC

sc0004

iKnowって英語表示に切り替えられたのか。素敵。Fiddlerで通信を覗いた時に、言語リソースを送っているのを確認していたが、ちゃんとi18nしてたのね。

MAY
17

iKnow500語完了!!!

Published:2008-05-17 14:02:24 UTC

遂にiKnowの学習完了語数が500を達成。いやはやiKnowは素晴らしい。ものぐさな自分でも毎日続くのだから。
そしてコミットメント効果を強化するために、「iKnow進捗状況」という独立ページを設け、進捗状況の可視化デモを纏めてみた。
TOEFL Standard 3」の量の多さに心が折れないよう、頑張っていきたい。

MAY
17

id:amachangさんによる紹介記事を読んで知ったXPathGraphを使って、自分のiKnowの学習中アイテム数と学習完了アイテム数を表示するグラフを描いてみた。木曜の1限が休講になって、ボケっとしているうちに思いついたので勢いで書いたのだが、グラフが描かれるまで待ってたのでエントリが遅くなってしまった。

さて、XPathGraphはURLで指定したデータソースに対して、1日1回XPath式を実行し、得られる数字をグラフにしてくれるというサービス。
iKnowの学習中アイテム数は、Flashで作成されたブログパーツが使用しているXMLファイルから取得できることはiKnowLastAccessTimeCheckerを書いた時に確認済。これを使えばすぐ終わるかなと考えていたのだが…、XPathGraphは困ったことに、XMLファイルを解さないらしい。XPathなのに。…XPathなのに。その訳を調べてみると、どうやらXPathGraphはXPathの処理系にHTML::TreeBuilder::XPathとかいうHTML処理用?の奴を使っているらしく、XMLでもHTMLとして処理しようとする為らしい。仕方ないのでYahoo pipesという米Yahoo!のサービスと組み合わせてみようとしたところ、今度はiKnowのXMLファイルにXML宣言が無いせいでパースエラー。/(^o^)\ナンテコッタイ

という訳で最終的にはpipeにあたるものをphpで自作。要はXMLからデータを取ってきて、HTML化すれば良いわけだから、iKnowLastAccessTimeCheckerの時と同じ要領。

<?php
function getScores($id){

    $req = 'http://www.iknow.co.jp/assets/user/' . $id . '/iknow_badge.xml';

    $iknow = @simplexml_load_file($req);
    if($iknow===false){
        echo('パースエラー');
        exit();
    }

    $studying = $iknow->history->fragment->score[0];
    $finished = $iknow->history->fragment->score[1];

    return array("studying"=>$studying, "finished"=>$finished);
}

?>

<?php
    $id = htmlspecialchars($_GET['id']);
?>

<!DOCTYPE html PUBLIC '-/W3C/DTD XHTML 1.0 Strict/EN'
    'http:/www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http:/www.w3.org/1999/xhtml' xml:lang='ja' lang='ja'>
    <head>
        <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 
    </head>
    <body>
        <p>

<?php
    if(!empty($id) && (strpos($id,'/')===false)){
        $scores= getScores($id);
        echo('<ul>');
            echo('<li class="studying">');
                echo($scores["studying"]);
            echo('</li>');
            echo('<li class="finished">');
                echo($scores["finished"]);
            echo('</li>');
        echo('</ul>');
    }
?>

        </p>
    </body>
</html>

これをデポに設置したうえで、XPathGraphから以下のようにidをパラメータとして渡して呼び出し。

http://depot.sharplab.net/php/iknow/PipeToXPathGraph.php?id=shiroica

XPathの方はこれだけ。

//li[1]

さて、出来たグラフ。まだ二点分のデータしかない(5/17時点)けど、まぁ動作しているのが確認できる。

shiroicaのiKnow学習中アイテム数

そして学習完了アイテム数。

shiroicaのiKnow学習完了アイテム数

これで進捗状況が一目で分かるようになった。さぁがんばれ自分。

MAY
13

iKnow300完

Published:2008-05-13 00:01:38 UTC

iKnow300語完了。そろそろDictationも真面目にやり始めるか・・・。

MAY
9

「動詞コロケーション1」完了!

Published:2008-05-09 01:06:52 UTC

iKnowの「動詞コロケーション1」というコースが完了。始めたのが4/11だから、大体四週間ほどか。他にも三つのコースを進めているが、なんとか順調にこなせている。iKnowについて何度かこのBlogでも触れたが、もう一度まとめとくと、iKnowは初心者から上級者向けまで様々なコースがそろっており、単語・熟語を学習するにはもってこいのe-Learningサイト。こちらでもshiroicaというidで通しているので、やっている方、始めた方は、是非フレンドリクエストを下さいな。

MAY
3

iKnowLastAccessTimeChecker

Published:2008-05-03 11:03:12 UTC

一般に公開するphpスクリプトとしてはWordPressのテンプレートを除き、記念すべき第一弾かな?

iKnowのBlogパーツの通信を覗いてみた」というエントリで書いたように、iKnowではBlogパーツのために、ユーザーの学習中アイテム数などをxmlファイル形式で外部に公開している。今回は、その中の最終学習日時を表示するphpスクリプトを書いてみた。

<?php
function getLastAccesseTime($id){

    $req = 'http://www.iknow.co.jp/assets/user/' . $id . '/iknow_badge.xml';

    $iknow = @simplexml_load_file($req);
    if($iknow===false){
        echo('パースエラー');
        exit();
    }

    $date = strtotime($iknow->history->fragment['date']);
    
    return $date;
}

?>

<?php
    $id = htmlspecialchars($_GET['id']);
?>

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
    'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='ja' lang='ja'>
    <head>
        <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 
        <title>iKnowLastAccessTimeChecker - 
            <?php
                echo($id);
            ?>
        </title>
    </head>
    <body>
        <p>

<?php
    if(!empty($id) &amp;&amp; (strpos($id,'/')===false)){
        $accessedTime = getLastAccesseTime($id);
        echo(date('Y年m月d日 H:i:s',$accessedTime));
    }
?>

        </p>
    </body>
</html>

こんな感じ。get変数idを与えると、そのidを持つユーザーの最終アクセス日時を表示する。で、このスクリプトを早速デポにUPしてみたので、その検索窓を設置してみる。

自分のIDで試してみた例:

http://depot.sharplab.net/php/iknow/LastAccessTimeChecker.php?id=shiroica

脆弱性対策はDirectory Traversal対策位しか思いつかなかったけど、大丈夫かな?