日記、再開します、たぶん
久しぶりにこちらの日記を更新します。
今までというか数年前は技術ネタを中心にごく稀に更新していたものの、
学生からサラリーマンになり時間がないことを言い訳に、
新しい技術に触れることもなくなり、更新も途絶えていました。
ところが、諸々の事情により時間ができたので、
最近勉強しているFPに関連した記事を書いていきたいと思います。
“できれば1日1回、できなくても週に1回”が目標。
せっかく勉強しているファイナンシャルプランニング。
正直、すごい勉強して良かったなと思っています。
知ってると得をするし、知らないと損をする。
そんな知識だからこそ、なるべく多くの人にシェアしていきたい。
ついでに、学んだ知識を自分の中で再度咀嚼したい。
そういう意気込みでやっていきます。
ということで、よろしくお願いいたします。
mac*postgres*ruby
テストスクリプト
require "rubygems" require "postgres" conn = PGconn.connect("localhost", 5432, "", "", "dbname", "dbuser"); res = conn.exec("select * from verbs;"); p rows = res.num_tuples p cols = res.num_fields for i in 0..rows-1 do for j in 0..cols-1 do print res.getvalue(i,j)," " end print "\n" end conn.close
とりあえず動いた。
結論
要hack。
使い方イミフ。
パソコンの素人と玄人を見分ける方法
○パソコンの素人と玄人を見分ける方法
http://anond.hatelabo.jp/20071212132540
この記事、地味に面白い。
『リカバリディスクやインストールディスクを
「要らないから」とすぐ捨てちゃうのは素人』
→さすがにそんなバカいねーだろとか思うのだが。
いろいろあるトラバも地味に面白い。
○パソコンにおける、玄人の特徴↓
http://anond.hatelabo.jp/20071213224905
『検索エンジンに正規表現を打ち込んでしまう』
→頭良いんだか悪いんだかww
いや、別にそれだけです。
HTMLが欲しい
Hpricotなる優れもの
最近Wikipediaをこそつくことが趣味になってるのだが、
そんな僕にとって強い味方になるものを発見した。
Hpricot
こいつはすごい使いやすい。
Rubyのライブラリで
$ sudo gem install hpricot
ってやるだけでインストールできる。
後で面倒なことになりそうだけどシカトー!
getLinkFrom徳川家康
さっそくなので、Hpricotを使ってWikipediaの『徳川家康』からリンクを取り出すプログラムを書いてみた。
require 'rubygems' require 'hpricot' require 'open-uri' require 'uri' $KCODE = 'EUC' ####################################### # 対象ページのURLを生成する。 ####################################### def generateURL url = "http://ja.wikipedia.org/wiki/徳川家康" return url end ####################################### # 指定されたURLからそのページを読み込む ####################################### def getDoc(url) doc = Hpricot(open(URI.escape(url.chomp!))) return doc end ####################################### # 与えられたHTMLからリンクを取り出す ####################################### def getLink(doc) a_tags = doc.search('a') a_tags.each do |item| link = item.attributes['href'] puts link end end url = generateURL doc = getDoc(url) getLink(doc)
長いように見えてプログラムそのものは多分25行程度。
気合い入れれば多分というか絶対10行以内で書けるはず。
とにかく見ればすぐにわかるシンプル設計。
まあ、Rubyらしいのかは僕には判断がつかないが。。。
ちなみに実行すると↓みたいな感じになる。
$ ruby test.rb nil #column-one #searchInput /wiki/Wikipedia:%E3%82%A6%E3%82%A3%E3%82%AD%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88_%E6%AD%A6%E5%A3%AB/%E5%87%A1%E4%BE%8B /wiki/%E7%94%BB%E5%83%8F:Tokugawa_Ieyasu.jpg /wiki/%E6%88%A6%E5%9B%BD%E6%99%82%E4%BB%A3_%28%E6%97%A5%E6%9C%AC%29
こんなのが延々と続いて泣きたくなります。
最後の方になると多言語へのリンクとかがあって面白い。
http://war.wikipedia.org/wiki/Tokugawa_Ieyasuって何語なんだろうか?ww
とりあえず徳川家康がグローバルな人だとわかりました。
MacOSX(10.4)でCGIをやってみる
http://www.futomi.com/lecture/macosx/prepare.html
http://homepage1.nifty.com/glass/tom_neko/web/web_cgi_osx.html#CGI-Executables
上記のサイトを参考にちょっとやってみようと思った。。。
が、しかし、そもそも/Library/WebServer/CGI-Executablesにprintenv.cgiがない。
っていうか、むしろ何も入ってないんですけど。。。
FinderでもTerminalでもどっちで見てもないものはない。
いやいや、おかしいだろ。そう思って色々ググってみた。
すると、10.2以降はデフォルトで空との記述を発見。ちょっと安心。
で、ググリまくってprintenv.cgiを発見した。
ちなみに↓みたいな感じ。
#!/usr/bin/perl ## ## printenv -- demo CGI program which just prints its environment ## print "Content-type: text/plain\n\n"; foreach $var (sort(keys(%ENV))) { $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; print "${var}=\"${val}\"\n"; }
で、これを/Library/WebServer/CGI-Executablesに置きます。
それが済んだら早速http://localhost/cgi-bin/printenv.cgiを確認してみる。
ちなみにシステム環境設定>共有でWeb共有を『開始』にすることを忘れずに。
。。。なぜか見れません。
きっとhttpd.confをどうにかするんだろうと思い、↓を参考にしてみる。
http://parallelminds.jp/archives/2005/08/osx_tiger_perl.html
ちなみに399行目の変更だけでした、僕は。
Options Indexes FollowSymLinks MultiViews ↓ Options Indexes FollowSymLinks MultiViews ExecCGI
で、apacheを再起動させて再びprintenv.cgiを見てみると、
最後にあるような感じでキモイ情報がたくさん出てきた。多分成功。
なので、ひとまず終わったーーーーーーーー。
始めた動機がそもそも皆無に等しいのでやや既に飽きた。
けど、なんとなく『Ruby de CGI』とかやってみようと思うので、
また今度この続きをやるんだと思います。
人工無脳製作中
『恋するプログラミング』というちょっとどころじゃなく病んだ本で勉強してる。
何を勉強してるのかと言われると究極答えに困るのだが、勉強してる。
- 作者: 秋山智俊
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2005/04
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 286回
- この商品を含むブログ (86件) を見る
途中までやってみて。。。
この本、非常に面倒くさいです。
なんせすべてがWindowsでやることを想定しているので、
サンプルコードを取ってくるとまず文字コードを変換しなきゃいけんのです。
あと本の中ではGUIでやってるのですが、そのライブラリもWindows専用です。
そんなわけでMac使いの僕はファカトゥTerminal.appです。。。
別にGUIの勉強はするつもりないので。。。
あと、誤字脱字がやったら多いです。そして根本的なバグが多すぎます。
とりあえずいきなり「ブス」って話しかけると、エラーになります。
一瞬このプログラムに人格があるのではないかというくらい驚きます。
だから、1回目はスルーして2回目からは反応するようにしました。