2009-01-01から1年間の記事一覧
http://d.hatena.ne.jp/nagoya313/20090930/1254321172を拝見して。これは「『奇妙に再帰したテンプレートパターン』を使うと簡単にできなかったっけ?」と、記憶をたどりながらコードを書いてみた。 #include <iostream> template<typename T> class Singleton { public: static T</typename></iostream>…
『数学ガール/ゲーデルの不完全性定理』表紙画像到着。公開可能。宣伝推奨。 結城浩 on Twitter: "#mathgirl 『数学ガール/ゲーデルの不完全性定理』表紙画像到着。公開可能。宣伝推奨。 http://bit.ly/3bVccX" ということなので。 幾人が見ているかわから…
ちょっと触れる機会があったので、わかったことを整理&記録。 #include <iostream> #include <boost/dynamic_bitset.hpp> int main(int, char* []) { boost::dynamic_bitset<> n; n.append(85); n.append(255); std::cout << n << std::endl; return 0; } 実行結果 0000000000000000000000001111</boost/dynamic_bitset.hpp></iostream>…
〈ビッグ・ブラザー〉率いる党が支配する超全体主義的近未来。ウィンストン・スミスは真理省記録局に勤務する党員で、歴史の改竄が仕事だった。しかし彼は、以前より完璧な屈従を強いる体制に不満を抱いていた。ある時、奔放な美女ジュリアと出会ったことを…
それから...メーカー側に「良い商品を作ろう」っていうモチベーションが低下したのもあるのかもしれない。開発は下請けに投げて、メーカーのプロパーは下請けの管理をやるのがメインで、自分が技術に関わる機会が減るというケース。 機能仕様は押さえている…
daiki41ti 【急募】std::listに要素をまとめて追加する方法 望んでいる解決法ではないかもしれないけれど。 #include <iostream> #include <list> #define numberof(array) (sizeof(array)/sizeof(*array)) int main(int, char* []) { int array[] = { 1, 2, 3, 4, 5 }; // </list></iostream>…
3月のLevel1に続き、Level2を受験。玉砕しました。 モデリングは悪くないのだけれど、周辺の知識が不足している模様。慌てずに勉強しなおそう。しかし…。このばらつき様はなんだろう。 セクションタイトル 得点 全般 0 ビジネスモデリング 100 要求分析モデ…
「電話」っていう言葉がさすのは「もの」か「しくみ」かというと、意外と曖昧な気がします。個人的には、どっちかというと遠隔地の話者の通話を可能にする「しくみ」という印象。「もの」として見る場合は「電話機」というのが適当かもしれない。 これが「携…
現在使用中の、スライド式の携帯電話の、本体側と液晶側を繋ぐフレキシブルケーブルが断線。開くと画面が表示されない状況に。一週間ほど前から予兆があってだましだまし使っていたんですが、さすがに真っ黒な画面を見て諦めました。 で、ショップでのやり取…
気になっても調べるまではしていなかったんですが、「システムエンジニア」という言葉が奇妙に感じてきてとまらなくなったので調べてみたら。 システムエンジニア - Wikipediaより システムエンジニア(SE) とは、情報システムの職域をあらわす和製英語である…
ふと思ったことを記録。プログラムとかプログラミングについて討論したいけれど、近くにそういった人がいないとき、みんなどうしてるんでしょう? そういった集まりとかって、わたしが知らないだけで普通に行われているんでしょうかね? …とか言っていても、 P…
オブジェクト倶楽部の母体、永和システムマネジメントさんの東京支社が引っ越されたようです。以前の芝浦は学生時代に通ったこともあり親近感があったんですが、微妙に距離があってなかなかイベントに参加できなかったんですが、上野なら参加しやすくなりそ…
いままでよく会社勤めを続けることができたと思う(いまにも会社を辞めそうなセリフになってしまった…そういうわけではないです)。 学生の時分から、会社勤めができるような気がしなくて。協調性がないというか、自分の領分と他人の領分が重なることに居心地…
今日は発売日。購入しました。 今回も冒頭から気持ちいいぐらいバリバリ数式がでてきます。数学ガール 下 (MFコミックス フラッパーシリーズ)作者: 日坂水柯,結城浩出版社/メーカー: メディアファクトリー発売日: 2009/07/23メディア: コミック購入: 18人 ク…
昨日のコードをWindows/Cygwinでも動かそうとしてみた。が、リンクエラーになる。OpenGLやGLUTのライブラリのインストールに失敗したかと、インストールを何度もやり直すが解決せず。 どうにもわからないのでネットで検索をかけたら、id:mokeheheさんのブロ…
投稿してしばらく経ってから、これは、 turnRight :: Direction -> Direction turnRight d = toEnum (((fromEnum d) + 1) `mod` 4) turnLeft :: Direction -> Direction turnLeft d = toEnum (((fromEnum d) + 3) `mod` 4) こう書けることに気がついた。 tur…
どう書く?orgに投稿したものにちょっと手を加えたものを、備忘録代わりにこちらにも投稿。 「event handlers」以下が、OpenGL/GLUTを使って時間経過とともに状況(表示)が変わるものを表示するプログラムを書くときのテンプレートになると思います。draw関数…
#include <string> #include <algorithm> #include <functional> #include <cctype> std::string trim(const std::string& s) { std::string::const_iterator left = std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(std::isspace))); std::string::const_reverse_iterator right = std::f</cctype></functional></algorithm></string>…
開発を請負へと発注して製品を作っていては、技術の空洞化が起こるんじゃないかと考えていたのだけれど。 もしかしてメーカというものは、製品を作れれば、技術がなくてもいいということなんだろうか。 怖い考えになってしまった。
コメント欄で教えて頂きました(ありがとうございました)。コメント頂いた内容の繰り返しになりますが、理解した内容をなぞっておさらいしたいと思います。 まず、つまずいたのがこの部分。 k m m' = do { x <- m; xs <- m'; return (x:xs) } do式の理解が不…
教えてくれることを期待して思考停止しているようではダメダメなので、理解できるところまで考えてみる。基本に立ち返ると、sequenceのソースは次のようになっているのがここからわかる。 sequence ms = foldr k (return []) ms where k m m' = do { x <- m;…
どう書く?orgのお題より。リストのリストにsequenceを適用すると直積が得られる。 $ ghci Prelude> sequence [[1,2,3], [4,5,6]] [[1,4],[1,5],[1,6],[2,4],[2,5],[2,6],[3,4],[3,5],[3,6]] Prelude> sequence ["abc", "def"] ["ad","ae","af","bd","be","b…
以前、ストリームから入力を得て、コメントを除去した結果をストリームに出力するを書いたことがあるんですが、いざ使ってみようと思うと使い勝手が悪い。ストリームが悪いわけではないけれど、読み込んだ文字列に対してコメント除去を施そうとするときとか…
ErlangとLuaをぼちぼちと学習中。 同時進行させると、案の定、言語仕様がゴッチャになります。ErlangもLuaも何ヶ月か前に初めて知った言語ですが、最初に見たときは何となく言語仕様がスッキリしない感じがあったので深入りしなかった(できなかった?)んです…
コンストラクタの初期化リストの途中で例外が発生した場合、どんな振る舞いになるのか気になったのでためしてみました。 #include <iostream> #include <stdexcept> class Foo { public: explicit Foo(int id, bool bad = false) : id(id) { std::cout << "Foo::Foo(" << id << ")</stdexcept></iostream>…
Leopardはじめました。それから一週間が経ちました。もうすぐ次期バージョンがでるというときにレビューもないので、Leopardを使って感じたことを。 Tigerからアップグレードした直後はこれといって代わり映えしない感じがしたんですが、触っているうちに今…
QuickSortから始まってここまできましたが、なにをしたかったかというと、ダブルディスパッチのエントリで書いたように、「ローコストのスタティックなしくみ」を実現するための試みでした。C++はライブラリでどうにかするタイプの言語なので、モダンな言語…
昨日のエントリの続き。 ソート済み配列が手に入るとマップが作れます。ソートされていなくても線形検索すればいいんですが、それはそれ、効率よく検索したいじゃないですか。ソート済みなら二分探索ができるので、二分探索で実装した定数マップです。 以下…
後から拡張もせず、参照するだけなので定数配列で充分なんだけど、要素はソートされていてほしい…というときのために。 本当はコンパイル時に要素がソートされるといいんですが、思いつかなかったので次善の策として。 2009/06/16 訂正:operator []がconstに…
デストラクタからオーバーライドされた仮想関数が呼べない - imHoリンク先のページにもあるように、C++ではでは構築時には先に派生元が構築され、破棄時には派生元が後に破棄されます。つまり、派生元のコンストラクタ/デストラクタが動いているときは派生先…