<   2008年 06月 ( 13 )   > この月の画像一覧
perlXStut を少し読んでみた
 XS を書くためには、perlXStut を読むと良いということなので、perldoc の日本語訳(perlXStut - XSUB を書くためのチュートリアル)を読みながらサンプルコードを写経してみた。とりあえず EXAMPLE 3 まで(自分用アレンジが少し入ってます)。
 ちなみに、XS のコードは、やっぱり c-mode で書くのが普通なんだろか?インデントが微妙な感じで、ちょっと気持ち悪い。

Mytest.xs

#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

#include "ppport.h"


MODULE = Mytest PACKAGE = Mytest

void
hello()
CODE:
printf("Hello, world!\n");

int
is_even(input)
int input;
CODE:
RETVAL = (input % 2 == 0);
OUTPUT:
RETVAL

double
round(arg)
double arg;
CODE:
if (arg > 0.0) {
RETVAL = floor(arg + 0.5);
}
else if (arg < 0.0) {
RETVAL = ceil(arg - 0.5);
}
else {
RETVAL = 0.0;
}
OUTPUT:
RETVAL



 そういえば、RubyKaigi で arton さんの「拡張ライブラリの書き方講座」を聞いたことだし、Ruby の C拡張も試してみようかなぁ。
[PR]
by fkmn | 2008-06-30 23:55 | IT
TOEIC 受けてきた
 雨の中、駅から会場まで20分近く歩かされつつ、受けてきた。

 なんだか今回は、試験の一ヶ月ぐらい前になってから急速にやる気が失せてしまって、あまり勉強しないまま受けてしまった。

 リスニングはまぁまぁかな、という感触だったんだけど、リーディングの方がダメダメ。もうちょっと、英文を読む習慣を付けないとなぁ。というか、いかに試験当日までにモチベーションを保ち続けるかが、今後の課題。
[PR]
by fkmn | 2008-06-29 23:55 | 日記
TechTalk漬けの日
 RejectKaigi と RejectRejectKaigi と Shibuya.pm Teck Talk #9 の動画を見て過ごす、そんな1日。

 RjectKaigi と RejectRejectKaigi は、歌って踊る人とかやる夫とかまで出てきて、いい感じにカオスだなぁ。やっぱり、最後までいればよかった。

 Shibuya.pm の方は、C言語初心者(もちろんXSなんて書いたことない)のオイラにとっては、ちょいキツめの内容だった。でも、最初の二人(ひろせさんと牧さん)の話は分かりやすかったっす。そのうち、自分でも XS を書きたいなぁ。
[PR]
by fkmn | 2008-06-28 23:55 | IT
RubyKaigi2008 の余韻
Matzにっき(2008-06-20): 復活

おぉ、ちゃんと約束通り Matzにっき が復活してる。
「RubyKaigi'08は(自分の中で)永遠に不滅です」
名言(名言い訳)ktkr(笑)。


Ruby 歴皆無で、RubyKaigi2008 に参加してみた。 - yuta4839の日記

 なんだか、いつの間にか壮絶な修正がされている。
 でも、自分も同じことを少し感じたなぁ。RubyKaigiのトークは、ちょっと他言語を煽りがちな気がする(まぁ、ネタになりやすいのは分かるけど)。RubyKaigi は、Ruby大好きな人が集まる場であって、Java嫌いの人が集まる場所ではないんだから、必要以上にdisるのはちょっと自重してほしいかな。

違うよ><全然違うよ!! - YoshioriのBlog
とりあえず言える事は、あの程度で不快感を感じでしまうと YAPC になんて到底行けないと思うので
うーん、そうかなぁ。僕は逆のことを感じたけど。「Java の interface いいよね」とか「PHPはWebアプリのインストール簡単だよ」とか、そういう話もYAPCでは結構あったと思うけど。
[PR]
by fkmn | 2008-06-27 23:55 | 日記
RubyKaigi2008 の感想
a0057891_1585480.jpga0057891_1572648.jpg

泊まりがけで行ってきたヨ、RubyKaigi2008。
どうもおつかれさまでした&ありがとうございました > スタッフの皆様

印象に残ったセッションの感想を、つらつらと書いていきます。

1日目

The Magic of Rubinius (Evan Phoenix)
 Rubinius というRuby処理系があることを、初めて知った。Smalltalkで実装されているらしいけど、Smalltalkの話はほとんど出てこなかったような。Smalltalkで実装されているのではなく、Smalltalkの技術を使って実装されている、ということだそうです。ご指摘どうもありがとうございました>ささださん。
 結構興味がある話だったんだけど、後半の内容が少し細かくて、ついていけなかった・・・orz。

基調講演 (まつもとゆきひろ)
 "MagLev" という単語が何度も出てきて耳に残った。これもやっぱりRuby処理系のsmalltalk実装だということ。
 Smalltalk ってそんなにすごいの?Rubyを使っていながら、Smalltalk って全然知らないんだよね。ちょっと触ってみようかしら。

Ruby M17N (成瀬ゆい/Martin J. Dürst)
 CSI (CodeSet Independent) といういばらの道を進むお二人の話。いろいろな苦労がかいま見れるプレゼンだった。

RSpecによるRailsアプリケーションBDD事例 (Yugui)
 今回のRubyKaigiの中で一番ためになる話だった。
 RSpec がなかなか身に付かずに、未だに Test::Unit を使っている僕はどう見ても小学生です。本当に(略)。どうやら BDD では、実装コードよりもテストコードの方が多くなる方が自然らしい。なるほど、勉強になる。
 「お前は基本的になにも分からんのだから、黙ってろ!」は至言。

toRubyでみつけた Rubyist人生再出発 (池澤一廣)
 今回のRubyKaigiの中で一番感動した。こういう感動は、技術系カンファレンスでは初めて。

2日目

拡張ライブラリの書き方講座 (arton)
 arton さんのトークのリズムが好きだ。途中で時間切れになってしまったのが残念。

The future of Ruby in Mac OS X (Laurent Sansonetti)
 MacRuby SUGEEEEEEE!!
 これをフルタイムではない環境で一人で作ってしまった Laurent さんはスゴイ。MacRuby で何かを作ってみたくなった。

Real-World Enterprise Ruby (大場光一郎・高井直人)
 今回のRubyKaigiの中で一番感心した話だった。
 漫才形式(?)で楽しげにプレゼンしてたけど、社員数千人規模の会社で、正攻法で攻めて全社的な体制を整えるのは、並大抵の労力じゃなかったと思う。
 大規模なSIerにおける、ほぼ理想に近い Ruby の導入事例じゃないかな、これ?


 RejectKaigi は見ずに帰ってしまったんだけど、そっちもずいぶんと盛り上がったみたいで、見とけば良かったとちょっと後悔。来年は、ぜひとも最後までいよう。


 ということで、来年もよろしくお願いします。できれば、場所は関東近辺 (もしくは、札幌か仙台)で!><
[PR]
by fkmn | 2008-06-23 23:55 | IT
Linux/Unix のシェルで高速タイピングをするためのTips
当たり前すぎて、だれも書かないシリーズ。

 Linux/Unix のシェルでは、Ctrl+何かのキー という組み合わせで、ホームポジションから手を離さずに、各種の入力を行うことができる。この辺がまとまってる記事をあまり見たことが無いのでまとめてみた。bash と zsh で確認 (Bourne系は共通?)。Emacs と共通したキーバインドが多い。

カーソル
  • Ctrl + f => カーソル右 (Forward)
  • Ctrl + b => カーソル左 (Back)
  • Ctrl + p => カーソル上 (過去に入力したコマンドの表示、Previous)
  • Ctrl + n => カーソル下 (Next)
  • Ctrl + a => 行の先頭に移動 (a はアルファベットの最初の文字)
  • Ctrl + e => 行の最後に移動 (End)

特殊キー
  • Ctrl + i => TAB (コマンドの補完)
  • Ctrl + j => ENTER
  • Ctrl + h => Backspace
  • Ctrl + d => DELETE (Delete)
    その他
    • Ctrl + r => 過去に打ったコマンド (history) からインクリメンタル検索
    • Ctrl + k => カーソルから後ろの文字をすべて消去


     今年の新人さんあたりに教えてあげたい感じ。


    6/29 追記
     当たり前すぎて誰も書かない、と書いたけど、鵜飼さんによるラインエディットに関するまとめテキストを見つけました。以下のURLから読めます。このエントリよりも全然詳しいので、そっちを読んだ方が100倍ましかも。

    便利なshell
    [PR]
by fkmn | 2008-06-20 23:55 | IT
今週末はRubyKaigi2008
角谷HTML化計画(2008-06-17): 今週の金曜日からRubyKaigi2008

 今週末はRubyKaigi2008だ。うっかり意識から外れてた。まだ、どのセッションに出るか決めてなかったので、ざっと眺めてみる。


日本 Ruby 会議 2008 - プログラム(タイムテーブル)

 どうやら、今年は前夜祭的な 0th day があるらしい。僕も、ビジネスマンのたしなみとしてGolfコンペに出たかったけども、時間的に無理だなぁ。つか、普通に 0th day のセッションも面白そう。ニコニコ動画で公開される予定なので、そっちを楽しみにしよう。

 1日目は開場が9:30ということで、7:00ぐらいの電車に乗らなきゃだめだな。たぶん、ずっとメインセッションの方で過ごすことになりそう。

 2日目はそれぞれの部屋を行ったり来たりしたいんだけど、部屋ごとにセッションの開始時間と終了時間が違ってて、ちょっと微妙かも。


日本 Ruby 会議 2008 - Ruby技術者認定試験

 あ、あと、マグカップ目当てで試験受けたかったんだけど、もう持ってるんだよなぁ、この資格。ということで、泣く泣くスルー。


 いろいろ書いてたら、気分が盛り上がってきた。
[PR]
by fkmn | 2008-06-18 23:55 | 日記
29歳の誕生日に実家の方で大地震がおこった件
 今日(14日)で、満29歳となりました。三十路まで後一年です。なんてことを書こうとしたら、実家の宮城県の方で地震が起こってしまいました。不幸中の幸いで、仙台の家族や親類縁者には、特にこれと言った被害は無かったみたいです。

 でも、宮城県の方はやたらと地震多いですよね。ここ最近の約5年間で、マグニチュード7を越える地震が3回も起こってます(参考:宮城県沖地震 - Wikipedia)。2005年の地震は、たまたま実家に帰省していたときだったので、僕も体験しました。

 もう少し間隔が空いてくれるといいんですが・・・。
[PR]
by fkmn | 2008-06-14 23:55 | 日記
Emacs で C とか Perl とか Ruby のデバッグをすると気持ちいい
 全国のprintデバッグ愛好家の皆様、こんにちは。VSとかEclipseとかのIDE以外でデバッガを使ったことのない僕がやってきましたよ。

 最近、C言語でヒーコラ言ってる真っ最中な訳ですが、C言語だとprintデバッグがやりにくい訳で、デバッガ様の力を借りてみたくなった訳です。という訳で、巷で有名な gdb をちょっと試してみました。

 基本的な使い方は、以下を参考にしてます。
 で、なんだか Emacsからも使えるみたいなんで、試してみたんですが、これが使いやすくてびっくり。"M-x gdb" で起動すると、Emacs のソース上に、現在の行が黒三角で、ブレークポイントが赤丸で表示されます。後は、コマンドラインでの操作と同じように、s とか n でステップ実行できます。
a0057891_1245669.jpg


 あー、もしかして、Perl とか Ruby のデバッガもこんな感じで使えるのかなぁ、と思って調べてみたら、ビンゴ。それぞれ、以下の設定を .emacs に追加して、起動してやると(Perlの場合は "M-x perl-debug"、Rubyの場合は "M-x rubydb")、gdb と同じような感じでデバッグできます。
;; Perl デバッガの設定
(autoload 'perl-debug "perl-debug" nil t)
(autoload 'perl-debug-lint "perl-debug" nil t)

;; Ruby デバッガの設定
(autoload 'rubydb "rubydb3x"
"run rubydb on program file in buffer *gud-file*.
the directory containing file becomes the initial working directory
and source-file directory for your debugger." t)

 Emacsでの設定や、それぞれのデバッガの使い方については、以下を参照。

 これは・・・、今まで結構な時間を損していたかもしれない・・・。
[PR]
by fkmn | 2008-06-12 23:55 | IT
実力 = 努力^2
404 Blog Not Found:成果 ≠ 運+実力
成果 = 実力(運)
Achievement = Virtue(Fortune)
そう。成果というのは、運を引数とする関数の戻り値なのだ。

 弾さんのエントリに便乗して、高校時代の先生に教わった話でも。

 結論から先に話をすると、その先生は、実力と努力の関係はこうだと話していた。
実力 = 努力^2

 努力すればするほど実力がつくなんて当たり前だって?いや、実はちょっと違う。ある値が自乗されるとき、その値が1より小さかったらどうなるでしょう?例えば、0.5^2 では?

 そう、努力があるしきい値を越えない限り、それ相応の努力に見合った実力は身に付かない、というのがその先生の言いたいことだった。その代わり、努力がしきい値を越えると、それこそ倍々ゲームで実力が身に付いてくる。努力というのは、正にも負にも自己触媒的ということだ。


 高校時代にこういう話を聞くことができた自分はラッキーだったなぁ、と今でも時々思う。
[PR]
by fkmn | 2008-06-06 23:55 | 日記


とあるWebアプリケーションエンジニアの日記
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
プログラミングが「出来る..
from とりあえず9JP?
Genographic ..
from ナンジャモンジャ
ジュセリーノ
from ありの出来事
くちこみブログ集(ライフ..
from くちこみブログ集(ライフ)(..
以降、丁寧語で行こう!
from エッセイ的な何か
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX