2011-01-01から1年間の記事一覧
絶対これ忘れるので、今のうちにできるだけ書いておく インストール $ km i386/qwerty/jp106.map.gz を選択 フォントはスキップ$ /arch/setup 1 Select source testing系以外は選択 3 Set clock 時間はAsia/Tokyo ntp設定する 4 Prepare hard drive(s) FSは…
この記事は C++11 Advent Calendar 13 日目の記事です。 C++03 で用意されていた標準ライブラリは基本的にそのまま残っていたり deprecate されていたりとかぐらいしかありませんが、それでも少し仕様が変更されていたりとかしています。 後方互換性を維持す…
この記事は Boost Advent Calendar 13 日目の記事です。 Boost.Context は、跋扈するコンテキスト切り替えの利用を統一するべく颯爽と現れた救世主です(大げさ)。 そもそもコンテキスト切り替えって何ぞや?という場合は、適当にググるか、自分の Boost.Co…
これは Haskell Advent Calendar 2011 3日目の記事です。 Data.Enumerator はいろいろすごいらしいです。 どれぐらいすごいのかは 2010-08-24 Enumerator Package – Yet Another Iteratee Tutorial | Preferred Research 使ってみよう Enumerator - あどけな…
vector は vector に対して特殊化されていて、領域を無駄にしないように、ビット単位で格納されるようになっています。 これは使用する領域が少なくなる反面、 &v[0]+i == &v[i] であるという、vector としての特徴の一つを満たさなくなってしまいます。 他…
Haskell にはポイントフリースタイルというのがあります。 例えば foo x = f (g x) という中の x というのが「ポイント」と言うらしいです(型を明示していないから x の型が a->b だったりする可能性もあるけどその可能性は置いといて)。要するに値のこと…
最初に言っておくと、モナドって何なの?っていう答えは一切ないです。 自分にとってモナドは「とりあえず型さえ合わせておけば何かいろいろしてくれる奴」程度としか認識できていないので、そんな説明できないです。 で、そんな自分が脳内でどういう風にイ…
JSON を扱うライブラリで一番簡単に見つかるのは Text.JSON ですが、しばらく使ってると、あまりの使いにくさに発狂しそうでした。 ということで他のを探した結果、Data.Aeson というのがかなりよさげだったので、これを使うことにしました。 しばらく使って…
2011/10/22_第4回 ZABBIX-JP勉強会( #zabbix_jp ) - Togetter 今日は全力でログ取ってみました。 ラトビアの生活と Zabbix 2.0 ラトビアで生活 半年ぶりに帰ってきた 質問:ラトビア行ったことある人 会場にいない ラトビア:ロシアを挟んで隣の隣。近いですね…
968 デフォルトの名無しさん [sage] 2011/03/02(水) 20:59:11.07 ID: Be: 先生宿題のクイックソートができました q[]=[] q(x:xs)=arr (List.partition(<x))>>>first q >>> second q>>>arr((((((((((((((app .).).(&&&))(((app .).).(&&&)) (const id)).).).).)((f</x))>…
何か FizzBuzz 問題をちょっとだけパワーアップさせたものに FibBuzz とかいうのがあるそうで、0 から 100 までの整数を FizzBuzz する代わりにフィボナッチ数の各項に対して FizzBuzz する問題なようです。 面白そうなので久々に Control.Arrow を引っ張り…
Real World Haskell にはこんなコードが載ってます。 myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl f z xs = foldr step id xs z where step x g a = g (f a x) Real World Haskell p100 4.6.8 右からの畳み込み foldl は foldr を使って書けるという…
x86/64 最適化勉強会中に、iPad からリモートで家の PC に接続して、そこでやってました。 GCJJ に集中しすぎて勉強会の方を全然聞けなかったっていう・・・ほんとすみません。 ということで A と C が解けました。 B は満足度優先で探してたのですが、それだけ…
Nagios にはチェックデータを取得した際に、パフォーマンスデータを一緒に付け加えてくれるという機能があり、以下のページにあるツールはこのパフォーマンスデータを使って CPU 使用率やディスク空き容量をグラフ化したりといったことをしています。 PerfPa…
Data.ConfigFile 設定ファイル読み込み用のパッケージ。 こんな感じでよく使ってる。 printUsage = print "..." main = do args <- getArgs case args of [] -> pringUsage (configFile:_) -> do val <- readfile emptyCP{optionxform = id} configFile let …
C++03 と C++11 ってどれぐらい互換性があるのかなーと気になっていたんだけど、仕様書の §C.2 を見てみたらずばりなものが載っていたので、一通り読んでみた。 C++03 のコードを C++11 として動かそうとしたときにコンパイルエラーやランタイムエラーが発生…
std::endl って、どのヘッダで定義されているか知っていますか? と思った人はハズレです。実は std::endl は で定義されてます。 これって を include するだけだと標準に準拠した動作にならないんじゃね?とか思ったのですけど、どうやら は も include す…
Haskell には Text.JSON という JSON パッケージと、Data.Bson という BSON パッケージがあるのだけど、Text.JSON から Data.Bson へ変換する方法は探しても見つからなかったので作ってみた。 module JtoB ( J.Result(J.Ok, J.Error), jsonStringToBson, jso…
Nagios Event Broker (NEB) は Nagios からイベントを受け取るためのモジュール。 Nagios からの通知に対して特殊な操作を行いたいときに使う。 NEB のドキュメント Nagios: Developer Information から取得できる。バージョンが古いけれども、基本的な部分…
で、こんな風に考えることにしました。 モナドは箱 モナドは単に値をくるんでるだけであると。 a をモナド化すれば m a。 でもってこうするための関数が return。単に m を付けるだけ。 モナドから値を取り出す なぜか知らないのですが、m a -> a なる関数は…
CSS3 の ease-in や ease-out は結構綺麗なので、あの動きを実装してみようかなーと思ったわけです。 CSS3 のベジエ曲線は3次曲線なので4点が必要ですが、最初の点と最後の点は固定値なので、指定するのは2番目と3番目の位置だけです。 Ceaser - CSS Eas…
コンシューマとかのゲーム開発で画像(というよりは大きいリソース)を扱っていると、メモリの断片化が起こって悲しいことになることがよくあります。 対策としてメモリアロケータを変えたり、一括でメモリを確保したりといった方法で何とかすることがありま…
に行って、Squirrel 言語について発表してきました。 Squirrel View more presentations from melpon 動画はこちら あといくつか補足しておきます。 Squirrel の発音について window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)…
C++0x の最新の仕様では、Chrono ライブラリに TrivialClock の要件が追加されています。 今までの Clock の要件に加えて、TrivialClock はほとんどの操作で例外を投げてはいけないという要件が追加されています(他にもいくつか追加されている要件がありま…
自作するよりそこら辺にあるゲームエンジン使った方がいいんじゃない? という質問をしたところ、こんな感じの答えが返ってきました*1。 いくつかのゲームエンジンを使ったことあるが、あれをまともに使いこなすには数年掛かる。そしてそこから中身がどうな…
C++0x からは UTF16 の文字列リテラル(u"...")とその型(char16_t)、UTF32 の文字列リテラル(U"...")とその型(char32_t)が入ります。 そして UTF8 の文字列リテラル(u8"...")も入ります。しかし UTF8 を表す型は入りません。u8"..." は char の配列…
最近はサボり気味ですが、ちょっと前まで C++0x の仕様書のアルゴリズム部分を読んで cpprefjp の <algorithm> を編集していました。 そこで、読んでておかしいと思ったところや、サンプルを書こうとして残念な気分になった部分があったので紹介しておきます。 まず fin</algorithm>…
最近「『//コンストラクタ』というコメントは不要だ」という話を見かけたので、ちょっと書いてみました。 まずこのコードを読んでください。 class hoge { public: //コンストラクタ hoge(); }; これを読んで、おそらく多くの人が「このコメントは必要ない」…
ここ2週間ほど JavaScript を使ってるわけですが、いくつか嵌った部分があったのでメモ。 変数の宣言 var s = 'Hello, world'; (function() { print(s); var s = 'Hello, function'; print(s); })(); 結果 undefined Hello, functionこれはサイ本の例。実際…
去年の 11/13 あたりからしばらく Vim を使っていたのですが、ようやく普通に使えるようになってきました。 で、短期間しか使っていませんが、Vim を使っていていくつか便利だと思ったことを書いていきます。 単語単位の移動 w, b で単語単位の移動ができま…