2008-01-01から1年間の記事一覧
前々回の勉強会に出てきた例で、社員をインスタンス化しないなら、クラスじゃなくてモジュールにしてもいいはず。 module Shain @basic_salary = 0 def standup; @standup; end def bonus; kyuryo * 4; end def kihonkyu; @basic_salary; end def kihonkyu=(…
その昔、オブジェクト指向が持て囃されたころ、「クラスを継承して変更したい部分だけ派生クラスに実装すれば簡単!」みたいな、いわゆる差分プログラミングが盛んに宣伝されていた。しかし最近では、この考え方はあまり支持されていないらしい。実際、仕事で…
この前の Ruby/Rails 勉強会で TA をしたとき、図の派生クラスをインスタンス化して standup() メソッドを呼ぶという演習で、C++ や Java のプログラミング経験のある人に、次のような質問を受けた。 派生クラスをインスタンス化して、直接それぞれの派生ク…
昼休みに職場の先輩に Ruby/Rails 勉強会で聞いた関数型言語の話をちょこっと報告。 先輩は、ここ 20 〜 30 年は静的型付言語ばかり使っていて、クロージャの話をしたところ「コンパイラはどんなコード吐くの?」と興味津々。 いや、私に聞かれても (^_^;;そ…
Ruby 勉強会に参加しました。 関数型言語 Ruby by keisuken さん Ruby は関数型言語として設計された訳じゃないけど、そこそこ関数型言語っぽく使えるよ (という話かな)見た目がどうこうじゃなく、関数型言語の考え方とその効果を Ruby でも利用しよう (とい…
C 言語のヘッダファイルをパースして、特定の define 文から Hash に変換するという地味な作業をしていた。 C 言語では、数字の前に 0x が付いていれば 16 進数。数字の前に 0 が付いていれば 8 進数という意味になる。 この数値リテラルのルールは Ruby で…
Ruby の String#split は末尾の空の要素を取り除く。 "1,2,3".split(/,/) # => ["1", "2", "3"] "1,,3".split(/,/) # => ["1", "", "3"] "1,,".split(/,/) # => ["1"] # 要素は 3 個のはずなのに どうせ空なんだし、どうでもいいよと思っていたけど、CSV フ…
1456 通。そして今日、偶然 Gmail Team さんからのメールに気付いた。 迷惑メールかと思ったら ○○さんからの "××" ってメールにはウィルスが付いてるから 取得せずに POP サーバに残しといたよ みたいな内容だった。なんて親切な。 今まで迷惑メールだと思っ…
Perl5.10 について id:lapis25 さん Perl5.10 はふつうに使えるらしい。 早速 MacPorts でインストールした。 脱 KENT 様方式 AzureStone さん最後に Perl で仕事したのは Perl4 だったので、私も KENT 様方式。非常に耳が痛い。 実用 Moose id:hakobe932 さ…
ここ 2〜3 日、Google の迷惑メールフィルタの精度が悪い。 メーリングリスト宛の受信メールが 1 日に 5〜6 通、Spam メールボックスに落ちている。いつも忘れるのでメモ。 false positive 普通のメールを迷惑メールだと誤認する 冤罪 false negative 迷惑メ…
いつも忘れるのでメモ。 id:raito3 さんに教えてもらった。どのクラスのオブジェクトか知りたいとき、 1.class # => Fixnum 3.14.class # => Float "foo".class # => String スーパークラスも含めて知りたいとき、 1.class.ancestors # => [Fixnum, Integer,…
ISP のアドレス宛のメールを全て Gmail に転送するようにした。 迷惑メールを Google に弾いて欲しかったから。ところが大量の迷惑メールも転送すると、転送元 (ISP のメールサーバ) が迷惑メール発信元として Google のブラックリストに載ってしまうらしい…
第26回 Ruby/Rails勉強会@関西京都女子大学にて Ruby off Rails ストヤンさんの発表。 ストヤンさんの発表はいつも面白い写真が出てくる。 前回は mongrel (犬) が出てきたし、今回は FREEHUG とか rack の写真が出てきた。もちろん内容もイイ。 sequel ebb…
1.9 を試してみようなんて人は、OS に標準で入ってる ruby や、パッケージ管理システム下の ruby は使わずに、ソースを取ってきて自分で make install しているはず。 もちろん私も自分で make install してます。 $ type ruby ruby is /usr/local/bin/ruby …
長いことやってなかったんで忘れてた。 検索しまくる。次やるときのためにメモ。 $ gpg --edit-key higaki higaki のキーに登録してある uid が表示されて、コマンドプロンプトが現れる。 uid コマンドで uid を指定して、署名 (sign) したり、信用 (trust) …
そこでStructですよ - ’(rubikitch wanna be (a . lisper))最初は某有名ブロガーのエントリで見たんだけど、 data = [ {'name'=>'Foo', 'age'=>20, 'email'=>'foo@mail.com'}, {'name'=>'Bar', 'age'=>21, 'email'=>'bar@mail.net'}, {'name'=>'Baz', 'age'=…
昔から使っている ISP のメールアドレスには、いつの頃からか大量の迷惑メールが届くようになっていた。1 週間で 300〜500 通くらい受け取るメールのうち、6割〜7割は迷惑メール。ISP が提供する迷惑メールフィルタは、From やキーワードを自分で指定しない…
1 週間くらい前から MacPorts が更新できない。 $ sudo port -v selfupdate Synchronizing local ports tree from rsync://rsync.macports.org/release/ports/ receiving file list ... done ./ perl/p5-cam-pdf/ python/ ruby/ science/ sysutils/ .... zop…
1 週間以上経ってしまったけど、感想などを書いてみる。 第 1 Session は、紅月さんによる Tomcat on Rails. JRuby で Rails を使う話。 私は Java には、まったく萌えないので、未知の世界。 こういう話をしてくれると有り難い。 デモがまったく動かなかっ…
先生が添削してくれるらしいので書いてみる。ファイルの行数、単語数、文字数を数える。 def words(a) a.join.sub(/^\W+/, "").split(/\W+/) end a = ARGF.readlines puts "#{a.size} lines." puts "#{words(a).size} words." puts "#{a.join.size} characte…