第140回 ブロックを渡せるのはRubyだけじゃない! Perlだって渡せるんだ!

YAPCが始まりましたね。 去年は参加したのですが(聴衆の方ですが)、今年は非常にとてつもなく残念な事に参加できません。 でも気分だけでもひたりたいのでPerlのお話を少々。 Rubyに備わったブロックという概念 Rubyは言語自体に高階関数をブロックという…

第139回 PHP入門

1章 さあプログラミングをはじめよう こんにちは。ビンゴ中西です。 今回は、プログラミングは初めてという方を対象に、PHPというプログラミング言語を使って プログラムの楽しさを知ってもらおうと思います。(注:今回はPerlではなくてPHPです。) なお、P…

第138回 MONOPOLYの短縮ゲーム

MONOPOLYは下手をすると何時間も勝負をつけるのに時間がかかってしまうときがある。そこで、短縮ゲームというのが存在するらしい。 説明書に載っているのは、まずプレー前にあらかじめ権利書をよくきってから 2枚ずつプレーヤーに配り、その土地のお金を支払…

第137回 Perlは空気を読んでくれない Perlには空気を読ませると考える

Perlは空気を読む言語といわれています。確かに楽な言語です。そして楽しい言語でもあります。 しかし、そう思えるようになったのは、Perlをある程度思ったとおりに動かせるようになってからです。 Perlは空気を読んでくれる? Perlが空気を読んでくれるとい…

第136回 PHPでダックタイピング

PHPでもクラスベースのオブジェクト指向が書けますね。 しかもPHPは動的型付けではなりませんか、ということは とっても簡単にオブジェクト指向を使って強力なプログラミングが行なえます。 PHPでポリモーフィズム ポリモーフィズムは便利ですね。すごく便利…

第135回 Perlに true, falseなんてない

あ、そこの君! だまされたと思ってこれを実行していきなさい。 if( false ){ print "ああああ\n"; } どんな結果になったかね? そうだ。 ああああこう表示されただろう。 ことの発端 この事実に気づいたのは、あるJS使いから if( !false ){ print "ああああ…

第134回 モンキーパッチングをPerlでやるとこうだろうか

まつもとゆきひろ コードの世界?スーパー・プログラマになる14の思考法作者: まつもとゆきひろ,日経Linux出版社/メーカー: 日経BP社発売日: 2009/05/21メディア: 単行本購入: 50人 クリック: 1,711回この商品を含むブログ (110件) を見るをすごく楽しく読ん…

第133回 JavaScriptだけ学んでいても動的なページを作れるようになれない DOMが必要だ

私は動的なページを作ってみたいと思いJavaScriptを学び始めた。 今までこうとしか書けないと思っていたモノが、 他の言語では別の方法で書け、 その表現のおかけでパワフルなプログラミングができるといった話がかなり好きなので、 始めはJavaScriptの文法…

第132回 わかりやすい・感動した を集めてみました

ラジオだと番組へのお便り的なものがありますが、そんな感じで 皆様からいただいた温かくありがたいコメントを紹介させていただきます。 はてなブックマーク - 第5回 リファレンスと無名配列 - bingo_nakanishiの他言語出身者のためのPerl入門 2009-01-11 は…

第131回 Perlを軸にプログラムを覚えていきたい人向け書籍

小さいながらもソースが書けるようになる 初めてのPerl作者: ランダル・L.シュワルツ,トムフェニックス,Randal L. Schwartz,Tom Phoenix,近藤嘉雪出版社/メーカー: オライリージャパン発売日: 2003/05メディア: 単行本購入: 15人 クリック: 474回この商品を…

第130回 Javaを始めるにあたって読んだ本

私はJavaは得意ではない。 だが、世の中にはやらなければならないということがあるのだ。 Javaの「仕組み」・「文法」 Java 謎+落とし穴 徹底解明 (標準プログラマーズライブラリ)作者: 前橋和弥出版社/メーカー: 技術評論社発売日: 2001/12/01メディア: 大…

第129回 クロージャは作られたときの状態を保持するわけではなく参照する

第55回 クロージャ - bingo_nakanishiの他言語出身者のためのPerl入門 第56回 クロージャの実践的使いどころ - bingo_nakanishiの他言語出身者のためのPerl入門 第58回 クロージャをもっとていねいに - bingo_nakanishiの他言語出身者のためのPerl入門私は今…

第128回 Rubyを使っている人は無意識のうちにクロージャを使っているかもしれない

eachなどに与えるブロックは高階関数と考えてよい class Hoge def foo c = 10; [1,2,3].each{|i| puts c} end end Hoge.new.foo 結果: 10 10 10 each{ }の中にいるcは外側のcを見れている。 参考 まつもとゆきひろ コードの世界?スーパー・プログラマになる…

第127回 Ruby vs Java ダックタイピングとインタフェースで見る多態性

前回は、Perlで書いたのだけど、 Rubyでも書いてみたので載せます。 動的型付け言語と静的型付け言語における多態性 オブジェクト指向では、多態性(ポリモーフィズム)という発想がでてくる。 この多態性を実現する方法を今回は2つ紹介する。Rubyは動的型付…

第126回 ダックタイピング と インタフェース

動的型付け言語と静的型付け言語における多態性 オブジェクト指向では、多態性(ポリモーフィズム)という発想がでてくる。この多態性を実現する方法を今回は2つ紹介する。 Perlは動的型付け言語であり、ダックタイピングという手法で、多態性を実現できる。…

第124回 サブルーチンの頭に&は普通つけない

Perlの謎(その1):変数等の頭文字って何を意味するの? - 燈明日記 『&』が付くシンボルは、サブルーチンで、実は『&』を頭に付けるより、尾に『()』をつけてサブルーチンを明示する方が多いです。 おせっかいな、トラックバックで大変申し訳ないのですが…

第125回 こういうのはどうだろうか

var str = /ここに名前/; var as = document.getElementsByTagName('a'); for(i=0; i

第123回 開発合宿 now

ということでPC on

第122回 Javaはこんな風にも書けるんですな

継承していきなりnewできる ソース: public class Hoge { public static void main(String[] args) { new Object(){ public void m(){ System.out.println("こんにちは"); } }.m(); } } 結果: こんにちは 入れ子になったコレクション ソース: import java…

第121回 chmodのためのls -l

ls -lを実行すると $ ls -l total 16 -rw-r--r-- 1 bingo_nakanishi staff 0 6 12 20:15 bar.txt -r-x------ 1 bingo_nakanishi staff 0 6 3 23:12 foo.txt -rwxr-xr-x 1 bingo_nakanishi staff 432 6 12 21:07 ls_n.pl -rwxr-xr-x 1 bingo_nakanishi staff …

第120回 Perlらしく書くための5つの極意

極意1 組み込み関数のカッコは書かない open my $file, '<', 'hoge.txt'; split //, $c; 組み込み関数と自分が作った関数を一発で見分けられるのは有意義だ。 それに、記号が多いと読み辛い! Perlが標準で持っている関数くらい覚えているぜ!! ということ…

第119回 “Selenese” Selenium Commandsを読んでみた

“Selenese” Selenium Commandsを読んでみました。自分用にまとめてみます。 (勘違い、読み違い等ありましたら教えていただけるとうれしいです。 英語的にわからないところが2割ほどありました.....) 読んだのはココ Selenium - Web Browser Automation コ…

第118回 Developing Test Cases With Selenium-IDEを読んでみた

Developing Test Cases With Selenium-IDEを読んでみました。自分用にまとめてみます。 (勘違い、読み違い等ありましたら教えていただけるとうれしいです。 英語的にわからないところが2割~3割ほどありました.....) 読んだのはココ Selenium - Web Browser…

第117回 Mac(leopard)をcommandキーではなくcontrolキーで使いやすく

前回は、commandキーとファンクションキーとの併用で、 使いやすくしましたが、controlキーとファンクションキーでも使いやすくなることが判明。 キーボードでMacのDock やツールバー、メニューバーを操作する方法 / Inforati Ctr + f3 (Docの選択) tab お…

第116回 Mac(leopard)を少し使いやすく

あまりにもWindowsの仕様にになれているため、 Mac(leopard)の仕様にとまどっていました。 アプリケーションの切り替えには以下のようにすると便利のようです。 fnキーの使用タイミングを逆にする Macに標準でついてきたキーボードだと ファンクションキーに…

第114回 知っておきたいLinuxもしくはUnixのコマンド

社会人になって、 LinuxもしくはUnixを使って開発する仕事を任されるなら、 次のコマンドは知っておきたいものです。 (なお、全OSを知り尽くしているわけではありませんので、 下で紹介している動きとは違う動きをするものがあるかもしれません) uname -a …

第115回 Mac(leopard)重てぇえ と思ってたけどこれで解決した

Macはleopardから初めて使いだしたんですが、 入れた当初から重たいと思っていました。 ふと、今日、電車で隣にたまたま乗り合わせた人がmac bookを使っていたんですが、 色んなアプリを使っているにもかかわらず、けっこうサクサク動いてるっぽい!! そ、…

第113回 Selenium Basicsを読んでみた

Selenium Basicsを読んでみました。 自分用にまとめてみます。(勘違い。読み違い等ありましたら教えていただけるとうれしいです。 英語的にわからないところが2割ほどありました.....) 読んだのはココ: Selenium - Web Browser Automation Selenese Selen…

第112回 JavaのI/Oは Decoratorデザインパターン だったのか

http://www.amazon.co.jp/Java-I-O-OReilly-Associates/dp/1565924851/ref=sr_1_2?ie=UTF8&s=english-books&qid=1244200256&sr=1-2 引用: 私はDecoratorを知っていて読んだので問題ありませんでしたが、Decoratorを知らない読者は依然「どうしてこんなにオブ…

第111回 はてなブックマークの Web Hook試してみましたが

#!/usr/bin/perl use utf8; use strict; use warnings; use Data::Dumper; use CGI; my $req = CGI->new; open my $f, '>>log.txt'; print $f Dumper $req; close $f; print "Content-Type: text/plain\n\n"; ん〜〜 こない〜 日本語だと来ない気がする.....…