あっという間の十年ブログ【Ruby篇】

"詮ずるところ#{プログラミング}は、ただ年月長く倦まずおこたらずして、はげみつとむるぞ肝要にて、学びやうは、いかやうにてもよかるべく、さのみかかはるまじきことなり。いかほど学びかたよくても、おこたりてつとめざれば、功はなし。また、人々の才と不才とによりて、その功いたく異なれども、才不才は、生まれつきたることなれば、力に及びがたし。されど、大抵は、不才なる人といへども、おこたらずつとめだにすれば、それだけの功は有る物なり。" - 本居宣長

ミクロ

魔がさしてはじめてのミクロ経済学を借りてきて読んだ。あんまり早く読んだから全体的に消化不良。とりあえず俯瞰できたと思うので次は中級。

(4/23)奥野ミクロ「第1章 消費者行動」
(4/24)「第2章 生産者行動」(生産量条件付要素需要関数…だと…!?)
(4/25)自主ゼミ(効用最大化問題:ラグランジュ未定乗数法、需要関数の公式など)
(4/26)「第4章 ゲーム理論の基礎」
(4/27)チャン経済数学「6、7章」
(4/28)「第2章 生産者行動」「第5章 不完全競争」
(4/30)武隈演習「企業行動」「不完全競争」練習問題解いた方が覚えやすい
(5/1)武隈演習「消費者行動」
(5/2)自主ゼミ(復習:効用最大化問題の練習問題をひたすら解いた)
(5/3)掃き出し法
(5/4)効用最大化問題
(5/5)遠山ミクロ「1 消費者理論」
(5/6)遠山ミクロ「1 消費者理論」
(5/7)遠山ミクロ「1 消費者理論」双対性、スルツキー方程式
(5/8)遠山ミクロ「2 企業理論」
(5/10)遠山ミクロ「3 一般均衡理論」
(5/11)遠山ミクロ「4 価格メカニズムの限界」「5 ゲーム理論
(5/16)自主ゼミ

<●><●>

d<-c(61000,15200,6380,4980,2240)
d.names<-c("Visualization","Infographics","Data\nvisualization","Infomation\narchitecture","Infomation\ndesign")
barplot(d,main="Google検索ヒット件数",ylab="件数(000s)", names.arg=d.names, col=c("blue","red","purple","green","cyan"))

d<-c(4750,2440,652,598,159,120)
d.names<-c("可視化","見える化","情報デザイン","インフォグラフィック","ビジュアライゼーション","情報アーキテクチャ")
barplot(d,main="Google検索ヒット件数",ylab="件数(000s)",ylim=c(0,5000), names.arg=d.names, col=c("blue","yellow","cyan","red","blue","green"))

Visualization,61000000
Infographics,15200000
Data visualization,6380000
Information architecture,4980000
Information design,2240000

可視化,4750000
見える化,2440000
情報デザイン,652000
インフォグラフィック,598000
ビジュアライゼーション,159000
情報アーキテクチャ,120000

インフォグラフィック

インフォグラフィック(英語: infographics)は、情報、データ、知識視覚的に表現したものである。インフォグラフィック情報を素早く簡単に表現したい場面で用いられ、標識、地図、報道、技術文書、教育などの形で使われている。また、計算機科学や数学、統計学においても、概念的情報を分かりやすく表現するツールとしてよく用いられる。科学的情報の可視化にも広く適用される。

データの場合、グラフ作成ソフトのような自動化ツールを使って、線や矩形や矢印や各種シンボルピクトグラムでデータを表現する。インフォグラフィックでは、視覚要素を平易な自然言語で定義するという特徴を持つことがある。縮尺やラベルもよく使われる要素である。

インフォグラフィックの多くは、洗練された抽象的方法で内容を描写する特殊な形式と言える。それらグラフィックの意味を適切に解釈するには、見る人の側にある程度のグラフ読み取り能力が要求される。多くの場合それは包括的スキルであり、先天的というよりも後天的(学習による)スキルである。まず、グラフィックの個々のサインやシンボルを解釈するスキルがグラフィック全体を解釈する以前に必要とされる。また、個々のシンボルの慣習的意味を知識として広めることも、インフォグラフィックの理解を容易にする上で重要である。
インフォグラフィック - Wikipedia

ピクトグラム(Pictogram、ピクトグラフ(Pictograph)とも)は、一般に「絵文字」「絵単語」などと呼ばれ、何らかの情報や注意を示すために表示される視覚記号(サイン)の一つである。地と図に明度差のある2色を用いて、表したい概念を単純な図として表現する技法が用いられる。

主に鉄道駅や空港などの公共空間で使用され、文字による文章で表現する代わりに、視覚的な図で表現することで、言語に制約されずに内容の伝達を直感的に行う目的で使用されてきた。
ピクトグラム - Wikipedia

PerlでデータをMysqlに送る(insert)

Excelで管理していたデータをMysqlに移行させることにした。記録データ(html)からスクレイピングしてMysqlに送る。(後でわかったけどcsvから一発でMysqlにぶち込むことも可能。)

まずテーブルをつくっておく。
record.sql

create table record (
    id int not null auto_increment primary key,
    score double,
    url varchar(255),
    memo text,
    created date
);

記録データ(html)のDataをvimで変更(置換)

:%s/12.10./2012-10-/g
:%s/12.11./2012-11-/g

scraper.pl

use Web::Scraper;
use URI;
use DBI;

my $dbh = DBI->connect('DBI:mysql:DATABASENAME','USERNAME','PASSWD');

my $scraper = scraper {
    process ".data", "data[]"  => "TEXT";
    process ".time", "score[]" => "TEXT";
    process ".url a",  "url[]" => '@href';
};

my $res = $scraper->scrape( URI->new("http://www43.atpages.jp/ukie/ona/record.html"));

for (0..34) {
    my $data  = shift @{ $res->{data} };
    my $score = shift @{ $res->{score} };
    my $url   = shift @{ $res->{url} };

    my $sth = $dbh->prepare("insert into record (score,url,created) value ($score,?,?)");
    $sth->execute($url,$data);
    $sth->finish;
}
$dbh->disconnect;