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…

C++er 達の post を集めてみました。

C++

僕の TL には C++er がたくさんいます。僕は脳ミソ沸いてるのでこんな感じですが。 @PG_kura C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁはぁ C++ はぁ…

Twitter はもっとシステム改善すべき。

Twitter は二つの問題を緩和するためにシステム改善すべきだと思う。■ 140 字制限の煌きを潰す URL の存在 Twitter といえば 140 字である。それが生み出す価値はとても 140 字では語れぬ。 で、この 140 字の価値を叩き潰すヤツが居るんである。それが URL …

コードの読みやすさからプログラミング言語を見つめる。

※ ずっと頭の中で妄想としてあって、そろそろ邪魔になってきたので一度ここに書いておいて僕はこの件はさっぱり忘れようと思う。 プログラミング言語は今日び星の数ほどあって、それらを比べる手軽な指標として可読性があるように思う。プログラムソースは人…

CarbonEmacs で物理行移動

僕はエディタ戦争なんて「秀丸でいーじゃん」を貫いていたのですが @ramusara さんはじめ比較的 Emacs ユーザーさんがフォロワーに多かったので最近ちょっとずつ使うようにしてます。(Vim ユーザーが嫌いとか Vim 死ねとか、そういう意味ではない) Mac なら …

WiMax 見送った。

WiMax の導入を検討してましたが見送りました。 「見送るも何も、いつでも契約できるやんけー!」なわけですが、MVNO のキャンペーンが軒並み 3/31 までなので迷っていたのです。 どうやら今日の時点で最安なのが So-net の ¥2,525/月(年契約) です。 まぁ…

被災しないことで気づいたこと

東日本大震災がありました。Twitter の TL の流速の速さがいつもの 3 倍くらいでした。 空いた時間はそれを追っかけていました。 ちょっと席外して熱いコーヒーすすったらようやくコード書く元気出てきた。TL 追いかけ続けてると、自分で冷静だと思っていて…

range-based for が気になる。

C++

■ 概要 C++0x の range-based for について議論が行われているらしい。↓この記事にある全 5 案のどれが良いのか...。 『range-based forに対する意見求む』 本の虫 ざっとまとめるとこんな感じ。 ・案1 ADL のみ ・案2 range_traits の特殊化 のみ ・案3 …

継承され得るクラスの作法の話など。

C++

twitter にて @fadis_ センセのこの呟き。 C++03ではあらゆるクラスは継承される恐れがあるからデストラクタに必ずvirtualを付けるのはマナー。C++0xなら継承されたくないクラスにはfinalを付ければいい。2011-02-08 10:41:26 via YoruFukurouそれに対する @…

山形の C#er @NetSeed さんに会って C# への愛を確かめてきた

@selene_pg さんと山形に行ってきました。山形といってもさくらんぼがあるよ〜ぐらいの知識しか無かったわけですが。宮城峡のニッカウィスキー工場を見学したりなんかして、いやはや、楽しんできました。 さて、今回はニコ生で出会った @NetSeed さん宅にお…

クラスとは何か。

プログラムを書く人にとって、クラスとは何なのでしょうか。 シンプルな例を出して考えると理解が速いですよね。 class A { public: string name_; int price_; }; 名前と値段のフィールドがありますね。 はい。クラスとはデータ集合の定義のことです。です…

あなたに最適な Android 端末が分かる 10 の質問

以下の質問に[はい/いいえ]で答えて、[はい]の数を数えてみて下さい。あなたに最適な Android 端末が分かります。 1. Android SDK 1.5( Cupcake ) のリリース当日に Picasa に画像をアップロードするプログラムの開発をしなかった。 2. ていうかそもそも And…

Twitter で希釈される自己

Twitter でフォロー数が増えると TL が追えなくなるとかいうがそんなことはどうでもいい。それよりもフォロー数が増える事で TL に流入する主体の数が増え、見える世界が気づかないうちに変わってしまうことの方が僕にとっては問題。 これを書いている現在、…

眼球防衛戦線

プログラム書く仕事を生業にしてると、基本的に座り仕事になるのでさほど筋肉や体力は要りません。目が見えてキーボードが操作できれば、まぁコードは書けるわけです。 で、冬になるとやっぱりエアコンがかかった部屋で作業をするわけで、エアコンの風によっ…

C++0x が底辺 C++er にもたらすメリット

C++

開発環境が C++ から C++0x に移行することで多くの利益がありますよね。そういうものについて C++er が多くの記事を書いてくれたりしているわけです。 しかしエキスパートの方々の鋭い記事を精査する前にそもそも現行の C++ だってろくに使ってねーよ、的な…

2011年最初の失態

ちょっと浅はかだったと後悔している。 年始、Twitter でこんなんを post したんだが。 A happy = new Year;2011-01-01 15:49:42 via Twitter for iPhone あと 1 分考えてからつぶやけばもうちょっとひねれた。 こんなんを ideone に貼ってつぶやくべきだっ…

Boost.statechart まとめ

C++

これまで書いてきた Boost.statechart のまとめです。まずこれまで書いたのは以下の 6 エントリです。本記事を入れて全 7 エントリとなります。Boost.statechart 事始め Boost.statechart でイベントを受け取る Boost.statechart で状態のネストを定義する。…

Boost.statechart で CSV を読む。

C++

CodeZine に『StateパターンでCSVを読む』という記事があります。この記事は C++ で State パターンの利用例として CSV ファイルを読んで HTML に変換するプログラムの解説をしています。ちょうど良い例題だったので同じモノを Boost.statechart を使って実…

Boost.statechart で複数状態を持つマシンを実装する。

C++

Boost.statechart で複数の状態を持つマシンを実装したコードを載せるとか載せないとか言ってましたが、風邪でダウンしてあまりにも暇になったので載せることにします。 こんなんですね。 状態遷移は全部書くと面倒なので、オレンジの矢印のみを実装します。…

Boost.statechart で現在の状態を確認する。

C++

Boost.statechart の state_machine には、現在の状態を確認する方法が用意されています。当たり前ですね。無かったらキレますよね。 説明を簡単にするためにこんな例でコードに落としてみます。 シンプルですね。遷移すらしない状態マシンです。parent 状態…

Boost.statechart で状態のネストを定義する。

C++

Boost.statechart では、ネストした状態の定義が可能です。例としてこんなんを考えてみます。 状態マシンは power_on と power_off の 2 状態を持ちます。power_on のときはその内側でさらに bit_0 と bit_1 の 2 状態を持ちます。それぞれ push_power_butto…

Boost.statechart でイベントを受け取る。

C++

Boost.statechart でイベントに応じて何かするプログラムを実装してみます。通った車の台数を数えるカウンタです。 カウンタは go_through_car イベントを受け取ると車の台数をインクリメントします。但しこのカウンタは enable, disable の 2 状態を持ち、d…

Boost.statechart 事始め

C++

状態遷移マシンを表現するライブラリとして Boost.statechart ってのがあります。 その紹介。例えばですが、こんなんがあったとします。 greeting 状態から bye 状態への遷移が say_good_bye によってトリガされる感じですね。で、こいつを boost::statechar…

読んだ本がすばらしかったので書いとこうと思った。

読んだのはコレ。エリック・ホッファーという人のいわゆる格言集。 格言集なんていうとハナっから読みたくなくなるものですが、この人のはちょっと普通のそれとは違ったのでした。 1 ページ目の書き出しからしてぐっと来たのです。情熱の大半には、自己から…

インターフェイスの向き

Win32API をがりがり使ってプログラムしてるといやーんなことがあります。 例えばウィンドウを列挙する API にこんなのがあります。EnumWindows( WNDENUPROC, LPARAM ) こいつを使って、「最も長いウィンドウタイトルを取得する処理」を書いてみます。 #incl…

Boost.FSM のドキュメント読んだ。

C++

ざっとだけど、読んだ。これをもーちょっと勉強したら、Boost 勉強会(名古屋)で喋るネタにできるかも。僕はかねがね "現代の汎用プログラミング言語に「状態の明記」を付け足せるといいだろなー" と思っている。 Boost.FSM は(言語仕様の拡張ではないので)直…

C++ で継続

C++

「C++ で継続を使いたい」と思い、悪戦苦闘した結果を書いておきます。通常の関数呼び出しでは return で呼び出し元に戻るわけですが、 "この記事でいう"「継続」は、呼び出し元に戻らずに次の関数へ飛ぶようなものです。 (突っ込みどころはあるでしょうがそ…

値上がりしても喫煙者

僕は喫煙者です。先日、@selene_pg と Skype したときのやりとり。 Selene「kura さんタバコ辞めないの?知人は今回の値上げで辞めたよ。」 kura 「う〜ん、今んとこ辞める予定ないなぁ」 Selene「一日一箱として、450 円くらいでしょ。かける 30 日で 13,50…

Twitter のために blog を書く

僕は Twitter が大好きで、どうも僕の Web 上でのホームみたいなもんになっている。で、そのために blog をちょいちょい書いていこうと思ったのです。 以上。・・・ではさすがに blog の記事になってないので最近思うところを書いておく。 そもそも「最近思…

NGK(名古屋合同懇親会) に参加してきた。

全国同時多発の Boost 忘年会があると聞いて、名古屋に参加してきました。とはいえ、Boost 忘年会というより名古屋のコミュニティの合同懇親会に Boost 勉強会も含めちゃおうぜ的なノリなので、ほぼ C++ 以外の話でゴザイマシタ。 NGK忘年会2010(昼の部) N…

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

まぁ、一身上の都合によりこれまで勉強会なぞには全然参加できなかったわけですが、ようやく時間が取れる生活になってきたので行ってきました。C++ 関係の勉強会となると、やはり Boost. 勉強会こそ外せないので、人見知りの僕は迷ったのですが参加登録して…

Chapter 2. 継承というものがあるがこれは一体全体、何がしたいのか

Java という言語の記事です。 継承を使うと、例えばこういうことができます。 ・値段を「確実に」表示する関数を作る。 もしそんな関数が作れるのであれば、Chapter 1. で例示したような、Melon でも Apple でもどっちを受け取っても良いような、そんな機能…

Chapter 1. そもそも class って何だコラ

Java という言語 の記事です。 プログラミングってのは割と複雑です。プログラミングってのはコンピュータに「あれして、これして、こういうときはこれやって、こんな手順でこういうことしてね」と指示を与えることです。コンピュータを動かすための指示を紡…

Java という言語

Java っていうプログラミング言語が流行って、そろそろ次の言語へのシフトが進みつつある感じですが、Java はまだまだ×3現役の言語として生き延びるでしょう。 先日、ニコ生で"俺々プログラミング言語"を考える放送を見ていたのですが、そこで気づいたこと…

クラス作る=無駄な作業(旧 blog からの移行)

クラス作るってのはいやはやなんとも無駄な作業です。 どれだけ無駄な要素を含んでいるか。 1.カプセル化する作業 カプセル化を維持するためには、少しだけ頭を使います。何でもかんでも外部に公開してしてしまうといろいろと問題が出るためです。オブジェ…

カプセル化は生産性を下げる(?)(旧 blog からの移行)

オブジェクト指向設計、クラス指向言語が浸透した今、こんなことを言うのは何ですが、カプセル化ってのは実は生産性を下げるんじゃないかと最近思うのです。 まず断っておきたいことが一つ。粒度の細かいオブジェクトについては、カプセル化は有用だと思うん…

クラス作る=無駄な作業(旧 blog からの移行)

クラス作るってのはいやはやなんとも無駄な作業です。 どれだけ無駄な要素を含んでいるか。 1.カプセル化する作業 カプセル化を維持するためには、少しだけ頭を使います。何でもかんでも外部に公開してしてしまうといろいろと問題が出るためです。オブジェ…

「例外」というもの

プログラミング言語には「例外」というものがたいがい、備わっているわけですが、それについていろいろ思うところがあるのでまとめておこうと思います。 Java の例外は何が素晴らしいか まず Java の例外のメリットを並べておきます。a. プログラムのメイン…

むーー

記事の移行作業が全く進まん! はてな難しい!