Rails にて XMLHttpRequest で POST するとセッションが切れる

ご多分に漏れずハマったので書いておきます。(Ruby 1.9.3, Rails 3.2.2) Rails にはセッション変数 session がありますが、タイムアウトでもないのにこれが何故か空になってしまう現象が発生して、かなり悩んでました。どうも JavaScript で直接 XMLHttpRequ…

「デベロッパーが知るべき291のこと」のディスカッション

ニコニコ生放送で、こんな放送がありました。 『デベロッパーが知るべき291のこと 〜開発者の明日を繋ぐディスカッション〜』=開発者の明日を繋ぐディスカッションセッションを生中継= ソフトウェアアーキテクトが知るべき97のこと プログラマが知るべき97の…

テスト駆動開発は戦略である

本稿は、前回の記事 『テスト駆動開発について僕は誤解していた』 を踏まえた上で僕が TDD について思うことのまとめです。 どうも TDD は「あらゆる開発現場で適用できる」「大掛かりな仕掛けは不要である」「やった方が良いらしい」ことが見えてきました。…

テスト駆動開発について僕は誤解していた

ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記…

ruby の並行・並列ってどんな感じなのかな、とか。

ユーザーストリームに接続して、タイムラインに流れる呟きを逐次取得するような関数 each_post() を作りました。中の実装はともかくとして↓こんな感じで使います。 each_post() {|st| if st['text'] then puts st['text'] # 呟きを表示 end } で、これを使っ…

ruby の OOP をひと通り見ておこうかな、とか。

タイムラインに名言が。 私もRubyでモテる女子を目指します。RT @endoyuma: Rubyをやるとモテるよ!逆にRubyをやっててもモテないエンジニアはもうダメだよ!って言われたから俺はまだ成長の余地を残している2012-03-04 10:23:00 via Echofon... はい。ruby …

ruby で twitter とか触れるようになりたいな、とか。

どうも最近の ruby 界隈では「for 死ね」の気運が高まっているようですね。 20年経ったわけで,もうfor文消しましょう! #Ruby2012-03-04 22:34:21 via YoruFukurou Ruby1.9でforはeachに変換されるが、eachのブロックの暗黙の引数がlocalsに出てこないとい…

ruby と仲良くなろうかな、とか。

ruby を触ってみてます。 環境変数 PATH というものがありますよね。echo $PATHまぁこれが見にくい(↓こんなん)。 /Users/kura/.rvm/gems/ruby-1.9.3-p125/bin:/Users/kura/.rvm/gems/ruby-1.9.3-p125@global/bin:/Users/kura/.rvm/rubies/ruby-1.9.3p125/b…

プログラマに持っていて欲しい資質のひとつ

たまに、「プログラマに必要なのは設計能力だ!」的な断言をした人へ「いや分からないことを調べる能力だ!」「いやいやコミュニケーション力だ!」という反応を返すような、そんなやりとりを見ます。で、そのうち誰かが「プログラマに必要なものは環境によ…

キャメルケースよりスネークケースで。

プログラムを書くとき、たいていは何らかの命名規則に従って識別子を書くわけですが、その種類はだいたい 2 つじゃないかと思います。 ・スネークケース:スペースをアンダースコアに置き換えた表現。( chocolate_pie, candle_cake, ... ) ・キャメルケース…

GO FOR IT

C++

Sony サイト内の GO FOR IT というページにプログラムの問題が出てる、というのを @reito_k の呟きで知りました。で、それを寝る前にごにょごにょと書いてました。gist:「Sony Japan - GO FOR IT -」 (使ってる数学が簡単すぎるので、問題を読み間違えてる…

Java 的オブジェクト指向を 90 分で理解する

1. 分からない。いくら説明を読んでも分からない。● 1.1. 未だに分からない Java 的オブジェクト指向 今日び Java 的オブジェクト指向の説明なんて星の数ほどあるような気がしますが、それでもなお「これで分かった!」という説明に辿りつけない不運な人がい…

C++11 とオブジェクト指向

これは C++11 Advent Calendar 2011 の 3 日目の記事です。*1 C++03 から C++11 になったことで大小さまざまな言語仕様拡張・変更がありましたが、それらが C++ におけるオブジェクト指向プログラミングをどう変えてゆくのか、現段階で思うところを書こうと…

関数型言語が普及しない理由

えーとですね...。 関数型言語が普及しない理由:俺が分からないから2011-11-12 13:04:14 via Tween 関数型言語が普及しない理由:「関数型言語が普及しない理由」という記事をみんなが書くから2011-11-12 13:04:43 via TweetDeck ようし僕も「関数型言語が…

Scala の Parser を試したらハマったのでまとめておく。

以前、Scala の Parser を試したんですがハマってしまったので、ハマり記念ということで記事にしておこうと思います。ちなみに、Scala のパーサコンビネータについて知りたい人は僕のこの記事よりも @kmizu さんのスライドを読んだ方が良いように思います。■…

『プログラミングの魔導書 vol.2』読んだ。

えぇさて先日めでたく発売になったこの本ですが。『プログラミングの魔導書 〜Programmers' Grimoire〜 Vol.2』 せっかく読んだので、感想を書いておこうと思います。

if 構文を葬りたいでござる。

仕事でコード書いていて思うんですけども、「if 構文はもう新しいプログラミング言語には要らん」と思うんですよ。(この記事では「if って言ったって言語によって文法が云々...」っていうツッコミをスルーするために Scala を例にして説明しますが、Scala の…

C++ で eval()

C++

さっそくですが TL でこんなのを目にしました。 誰かC++にeval入れてください2011-09-26 10:27:40 via Tween おーけい、やりましょう。

「函数プログラミングの集い 2011 in Tokyo」を速読みしたい人へ。#fpm2011

先日「函数プログラミングの集い 2011 in Tokyo」というイベントがあったようです。 僕は行ってないし Ust 録画も見ていないのですが、TL の流れを見るにかなり面白い内容だったみたい。しかしこれ追いかけるにはややボリュームがありすぎるので、 Togetter(…

PHP における名前空間とグローバル変数とマジックメソッド

PHP の言語仕様について @enogu たんとお話してたよ。*1

Scala で文字検索、置換

文字列とか正規表現とか、よく分からんけれど使ってみようぜ的な、ね。何にも考えない置換。 println( "abc_abc".replaceAll( "abc", "123" ) ); // "123_123" String.replaceAll の第一引数は正規表現を受け取るようになってます。 println( "abc_abc".repl…

Togetter をもうちょっと有益に利用したかったので。

Twitter で盛り上がる話題は非常に興味深いわけですが、いつでもそれをオンタイムで読めるわけでは無いし、自分がフォローしていない人たちの間で繰り広げられる興味深い話は見えません。それをカバーすべく日本の Twitter 界では Togetter というサービスが…

「Undo」をどう設計する?

ふと、こんなことを post してみた。 ドローツールの Undo, Redo ってどういう設計になってるんだろ。2011-07-14 17:12:55 via Echofonそしたらたくさんリプ頂けたという話。 Undo の設計って、Undo 1回毎の単位でデータ丸ごと保存&復元ってやってりゃ簡単…

Twitter に繋がらない

これを書いている今現在、Twitter にアクセスできない。この障害は朝から続いているらしい。 生活インフラとは Twitter・電気・ガス・水道 のことである。 このままでは酸欠で死んでしまうではないか。

間違いの中の正解

お昼、つけっぱなしのテレビから、ふと、タレント木村祐一の一言が聞こえた。 「間違いかたにも正解があるやろ!」前後の文脈が分からないんだけれど、その意図するところは多分、こういうことだろう。「いま、自分がやっていることが何か間違っているらしく…

インターネットのイメージ

インターネットがずいぶんと普及して、昔よりもアクセスできる情報が増えた。まったくありがたい時代になった。しかしその一方で、ネットに全く触れず、携帯電話も使えない人もたくさんいるわけで、そういう人たちと一緒に生活しながら世の中が回っていると…

Eiffel で sleep sort

「Eiffel "sleep sort"」の検索結果: 0 件。 ではやりましょう。 ソースファイルは「SORT.e」と「APPLICATION.e」の 2 本。「SORT.e」 class SORTinherit THREADcreate makefeature value_: INTEGERfeature { NONE } make( value: INTEGER ) do value_ := v…

Boost.statechart / Boost.msm を実際に使うとハマるかもしれないポイントなど。

C++

ライブラリをアピールするとき、メリットを強調するもんです。しかしよく使われるライブラリは、その欠点や使いにくさが語られます。そうしたネガティブ面をも周知されることこそが、"使われている" という実績なのだと思います。 なので、Boost.勉強会で紹…

Boost. 勉強会 #5 に参加してきた。

まず最初に謝らねばなりません。 以前書いた Boost.勉強会 #3 の記事 ですが、 タイトルが「Boost 勉強会 #3 に参加してきた。」 になっていました。 正しくは「Boost. 勉強会 #3 に参加してきた。」 となっているべきであり、「.」の存在を軽視しておりまし…

TL 眺めていて命名について思ったコトなど。

TL で興味深い話がありました。 boostはねーっていうかstdもそうなんだけど関数名が分かりにくい いろいろできるのはわかるんだけどC#とかJavaが畑の人間には関数名短くするとかそういう文化がないのですよ ポインタptrいがいよーわからんのだわー2011-05-13…