タグ

c++とRubyに関するkgbuのブックマーク (6)

  • mplexでソースコードレベルメタプログラミング - Blog by Sadayuki Furuhashi

    Webアプリケーションを作るとき、HTMLを生成するテンプレートエンジンをよく使いますが、これはパラメータに応じて様々なコードを生成する自動生成ツールであると言えます。 mplexは、プログラムを生成するためのテンプレートエンジンです。 実は MessagePack-RPC for C++ の実装に使っています。似たような関数をたくさんオーバーロードするために活用しています。(そろそろ可変長templateを使いたいですねぇ) 昔はeRubyを使っていたのですが、HTML用のテンプレートエンジンはソースコードがあまりに読みにくくなるので自作しました。 mplexを使うと、普通のプログラムの中にRubyのコードを埋め込むことができます: // クラスを4つ生成 %4.times do |i| class Test[%i%] { public: %if i % 2 == 0 int even;

    mplexでソースコードレベルメタプログラミング - Blog by Sadayuki Furuhashi
    kgbu
    kgbu 2010/12/24
    C++のコードの中でRubyの記法でコード生成ができる、という話らしい。eRubyの記法とかだとvimの表示で文法エラーとなるのを回避しているらしい。C++のテンプレートを拡張してあげたくなる(違
  • PFIインターンに行ってきました。 - Blog by Sadayuki Furuhashi

    8月1日から8月31日までの1ヶ月間、PFI夏期インターンに行ってきました。 はてなインターンの 講義・課題・チーム 形式とは趣を異にして、個々人が何か1つのプロジェクトに取り組む方針で進みました。取り組むテーマは 新たに取り組みたい/今取り組んでいる 内容を前提に、既存の問題の中から近いテーマを見つけます(あるいはこじつける^^;)。 インターンの期間中の1ヶ月か2ヶ月の間に成果を出すのが目標! 取り組むテーマはスムーズに決まりました。何か自社で製品を作っていれば普通かと思いますが、探せば問題はいくらでもあるモノです^^ ちなみにPFIの製品は、全文検索エンジンやレコメンドエンジンなどです。 私は以下の4つのプログラムを実装しました: 既存の実装に代わるRPCフレームワーク MessagePack-RPC for PFI クラスタ管理ツール clx プロセス管理ユーティリティ daemo

    PFIインターンに行ってきました。 - Blog by Sadayuki Furuhashi
    kgbu
    kgbu 2009/09/09
    お手の物の素材なんだろうけど、夏休みの宿題としては豪華すぎ。MessagePack RPC, クラスタ管理ツール, daemontoolsの管理版, key-value storeのwrapper。自分には猫に小判だなw
  • 開発コアメンバが語るRubyの今とこれから(前編) - @IT

    Ruby 1.9は移行準備オッケー @IT yuguiさんは、2009年2月のDeveloper's Summitの講演で、そろそろRuby 1.8系から1.9系への移行を始めるべきだと主張されてましたね。 園田裕貴氏。裕貴のピンイン表記である「yugui」のハンドル名で知られている。Ruby 1.9系統リリースマネージャで、Rubyコミッタ。1981年生まれ。著書に『初めてのRuby』(オライリージャパン)がある。最近はRailsアプリケーションをよく書いているという yugui ええ、一般のRubyユーザーはRuby 1.9への乗り換えは慎重にという立場の人もいますけど、私はそろそろ移行を考える時期だと思います。 @IT もう1.9に移行してもオッケーだと。 yugui もう根的な仕様が変わることはないという意味でオッケーです。2007年12月に出た1.9.0は、仕様が煮詰まっていな

    kgbu
    kgbu 2009/07/27
    聞き手がいい話を引き出した良い記事だと思う。gitでコミュニティが変わるかなってところに期待(と、不安)
  • mixi Engineers’ Blog » 言語バインディングを書こう

    世田谷の某所から原宿まで自転車通勤しているのですが、そろそろ寒くなってきたので電車に切り替えようかと悩み中のmikioです。今回はTokyo Cabinetのスクリプト言語バインディングについて述べます。 スクリプト言語バインディングとは TCはC言語で実装されたライブラリで、C言語(C89、C99)およびC++言語のプログラムから利用することができます。CやC++は各種の計算処理やシステムコールの呼び出しを直接的に記述できるので高速に動作するプログラムを作ることができる反面、ポインタ演算やメモリ管理などで致命的なバグを潜ませやすいので非常に注意深くコーディングを進めなければいけません。つまり、プログラムの実行速度は速いが、開発速度は遅いということです。 それに対して、PerlRubyをはじめとするいわゆるスクリプト言語は、実行速度はCやC++に劣るものの、高水準かつ直感的な文法と強力な

    mixi Engineers’ Blog » 言語バインディングを書こう
    kgbu
    kgbu 2008/05/09
    本当に楽しそうにコード書いていて、いいなぁ
  • sparsetable - steps to phantasien t(2007-09-07)

    Matz日記 で紹介されている google-sparsehash を眺めてみた. ひさびさに Google 気分. :~/src/sparsehash-0.8 omo$ wc `find src/google/ -type f` 253 1348 10336 src/google//dense_hash_map 237 1309 9884 src/google//dense_hash_set 238 1244 9616 src/google//sparse_hash_map 223 1214 9245 src/google//sparse_hash_set 919 4776 37957 src/google//sparsehash/densehashtable.h 42 189 1187 src/google//sparsehash/sparseconfig.h 884 4642 371

    kgbu
    kgbu 2007/09/19
    google-sparsehashをRubyで書いてみたそうな
  • L'eclat des jours(2007-07-12)

    _ 考えてもしょうがないことに少し考える時間をあてがう SF者としてのただただしさん というタイトルではなく、 地元の屋を使っておかないとSFの取り扱いがどんどん減っていってしまうので可能なかぎりは地元で買うことにしているわけで、なんかどのみち嬉しくない感じ。 (前半を省略することで元の意味を変えることになる引用の仕方) 売ってなければそもそも注文をかけることになるわけだから、売っているだけましなわけなんだが、確かにじわりじわりとメインストリームとはいえないものは、結局、全部、アマゾンでしか買えないことになる未来があるとして。 もしアマゾンがそこで、xxx系はアマゾン的価値観から取り扱いやーめた、となることもないわけじゃない。商売とはいえポリシーはあってしかるべきだし。 そのときどうなるか? というと、なんとなくだが、それでもthe internetがある、と言えることができれば良いな

    kgbu
    kgbu 2007/07/13
    ポリシーとmixinを制約という観点からC++とRubyの比較にいたる
  • 1