Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

c++に関するkgbuのブックマーク (44)

  • 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++のテンプレートを拡張してあげたくなる(違
  • GC in C++0x

    2. 自己紹介  氏名: 新 康孝 (あたらし やすたか)  Twitter ID: yak_ex  Web: http://yak3.myhome.cx:8080/junks  C++ / Perl が主戦場  某自動車部品メーカーから某自動車メーカーへ出向中  現在、仕事でコードに触れていない  競技プログラミングTopCoder、Codeforces)で 潤い補充  GC は「ど素人」 3. 渡る世間は GC ばかり  Google Code Jam 2010 Qualifier 使用言語 1位 C++ 4911 6位 Ruby 221 2位 Java 2762 7位 PHP 170 3位 Python 1459 8位 Perl 146 4位 C 751 9位 Haskell 118 5位 C# 648 10位 Pascal 95 4. 渡る世間は GC ばかり

    GC in C++0x
    kgbu
    kgbu 2010/08/09
    minimalなサポートとしてポインタあるかも表記と5つの関数という話らしい。へぇえ
  • LLVMのC/C++コンパイルエラーメッセージはわかりやすい | エンタープライズ | マイコミジャーナル

    LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. CやC++でアプリケーションを開発する場合、またはC/C++で開発されたオープンソースソフトウェアをコンパイルする場合に遭遇するコンパイルエラーや出力されるエラーメッセージは、C/C++に精通していなければ原因を予測しにくいことが多く、C/C++初心者を萎縮させる原因のひとつになっている。移植する段階でインクルードが必要になったとか、typedefを追加するといった簡単な対処でコンパイルできるものが、エラーメッセージの内容が理解できないために解決できないということはままある。 LLVM Project Blog: Amazing feat

  • Boost.勉強会の資料 - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

    アップしておきました。 Boost.Coroutine View more presentations from melpon メモメモ http://blog.think-async.com/2009/08/composed-operations-coroutines-and-code.html http://www.okws.org/doku.php?id=okws:tame http://d.hatena.ne.jp/shinichiro_h/20040106#p1 #boostjp タグあたりから拾ってきた疑問とか。 関数終わりの self.exit() について 例えば int を返す coroutine を作る場合、int を返す関数を渡さす必要があって、例えば 1, 2, 3 と順番に値を返すような場合は、 int f(coroutine<int ()>::self& sel

    Boost.勉強会の資料 - melpon日記 - HaskellもC++もまともに扱えないへたれのページ
  • ちょっとだけマイナーなSTLの話 - d.y.d.

    21:23 09/11/29 ドラクエ3 ドラゴンクエスト III モバイル版 が配信開始されたと聞いてはプレイせずにはいられない、ということで、さっきクリア。 内容は 「SFC版のベタ移植 - すごろく場 + AI戦闘」 ですね。 すごろく場が減った分、限定アイテムが他の場所に移動 (パワーベルト・ドラゴンテイル・ドラゴンローブ・グリンガムのムチが小さなメダル賞品に。 光のドレスがゾーマ城の宝箱に。雷神の剣も宝箱だった気がする。あと、小さなメダルの総数が110枚で変化無しらしいので、 すごろく場にあった分が通常マップに押し出されて、ところてん式に押された炎のブーメランもメダル賞品化)。 不思議なボレロと女神の指輪は見てない。なくなった? AIは、マヌーサ/ラリホー/マホトーン辺りを効く相手にだけ積極的に使ってくれるので参考になる&便利。 勇者もAI駆動にできるモードが欲しかった 細かいと

  • 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
  • steps to phantasien t(2008-03-16) C++ と Actor

    頭が痛いだけでなく, 寝ている時に頭の傷を庇うせいか首がいたい. 鞭打ちかもしらんけど... そして頭とセットで打った臀部もいたい. 満身創痍で出かける気力もなく, 家でうだうだしているところ. こんなに良い天気なのになあ. うだうだついでに貰ったの紹介. 最近貰った: プログラミング Erlang いただきました. ありがとうございます > 著者およびオーム社の中の方. Erlang の親玉が書いた入門書の翻訳です. Erlang は言語として特に斬新なところはなく, 処理系の提供するサービスの出来がいい, というのを伝聞で聞いていた. 読んでみるとたしかにそうだった. の内容も言語仕様(文法)の話は前半だけ. 後半は分散だとか並列の話をしている. 面白いのは後半. 私はお仕事の関係もあって分散メッセージングの仕組みには少し興味があったから, これはとても勉強になった. actor

    kgbu
    kgbu 2009/08/09
    Erlangの中身をC++とかで苦労してみようという話。コメント欄では10Kスレッドも不可能じゃないとかいう情報あり。
  • 開発コアメンバが語る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でコミュニティが変わるかなってところに期待(と、不安)
  • JavaScript の変数と delete 演算子: Days on the Moon

    Kanasan.JS JavaScript 第 5 版読書会 #1 にて delete 演算子の動作が話題に上ったそうです。そこで、それについてちょっとまとめてみようかと思い立ったはいいものの、ずるずると引き伸ばしているうちに年を越してしました。しかし、読書会 #2 の開催も決まり、もうこれ以上引き伸ばしているといつまでたっても書けなさそうなので、いい加減腹をくくって個人的にまとめてみようと思います。 JavaScript の変数 delete 演算子の対象 変数に対する delete 演算子 削除できるプロパティとできないプロパティ 変数の属性 delete 演算子の返り値 JavaScript の変数 delete 演算子の話に移る前に、変数とは何なのかおさらいしておきましょう。JavaScript において、変数とはプロパティの別名です。といっても、すべてのプロパティを変数というわけ

    kgbu
    kgbu 2009/05/27
    変数はプロパティだ、といわれて狐につままれたような気持ちになるが、スコープのプロパティだ、ということなのかしら?だからdeleteの働きも違う、ということ?
  • C/C++ セキュアコーディングセミナー資料 | JPCERT コーディネーションセンター

    これまでにC/C++ セキュアコーディングセミナーで使用した講義資料を公開しています。2010年度にセミナを実施した、文字列、整数、動的メモリ管理、書式指定文字列、CERT C セキュアコーディングスタンダード、ROSE については、それぞれ最新版の資料を掲載しています。 文字列 ユーザとソフトウエア間に発生するデータのやりとりの大部分は文字列によって行われます。 また、プログラム間でのデータ交換も文字列形式で行われるようになり、その結果、文字列表現や文字列管理、文字列操作における弱点がソフトウエア脆弱性を生み出しています。 文字列では、C/C++ 言語における文字列操作、一般的なセキュリティ上の欠陥と、その結果発生する脆弱性と対処方法について解説します。 C/C++ における文字列の特性 犯しやすい文字列操作の間違い 文字列の脆弱性 プロセスのメモリ構成 スタック破壊の仕組み コードイン

    C/C++ セキュアコーディングセミナー資料 | JPCERT コーディネーションセンター
    kgbu
    kgbu 2009/05/15
    2008年度にセミナーで使った講義資料が公開されている
  • http://atnd.org/events/451

    http://atnd.org/events/451
  • 累乗剰余のテスト - 西尾泰和のはてなダイアリー

    TopCoderとかでたまに出る「値が巨大になるのでNであまりを取って答えてね」のためにあまりを取る階乗とかを作って用意しておいた方がいいのかなー、なんてことをid:suztomoに話したらこんなサイトを教えてもらった: Spaghetti Source - べき剰余 で、今読んでいたんだけど、これって x * x がIntの上限を超えるときに powMod(x, 2) されても大丈夫なんだろうか。 というわけで試してみた。 int main(){ Int x = 1 << 30; DP(x); DP(x * x); DP(powMod(x, 2, 10)); DP(((x % 10) * (x % 10)) % 10); } 結果 x: 1073741824 x * x: 0 powMod(x, 2, 10): 0 ((x % 10) * (x % 10)) % 10: 6うん。正しい値

    累乗剰余のテスト - 西尾泰和のはてなダイアリー
    kgbu
    kgbu 2009/02/26
    C++のアルゴリズム実装repositoryとしてのSpagetti sourceって知らなかった。メモ。
  • 年末 - 兼雑記

    「… + 未知成分 10%」セミナー http://d.hatena.ne.jp/m-hiyama/20081225/1230191000 に参加させていただきました。 Erlang は思ってたより面白そうなものなんだなぁとわかりました。来年なんか言語勉強するとすれば Erlang とかそのへんかなぁ。 あと JSONP をわかってなかったことがわかりました。 あと檜山さんはとても話がうまくてステキだった。 言語雑談会 例年のごとく。しらいしさん主催ありがとうございましたささださん会場提供ありがとうございました。 今回の目標は Cryolite さんに C++ について色々聞くということだったんだけど、あんま時間が無くて予習がほとんどできなかった。でもなんか6時に起きたのでいそいそと予習…したら華麗に遅刻。朝は二日酔いもキツい感じだった。 しらいしさんの Haskell プレゼン。 「

    年末 - 兼雑記
  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

    kgbu
    kgbu 2008/12/22
    GoogleによるC++のコーディング規約。C++の素人である自分にはありがたみはよく分からないが、なんでもできるC++に有る程度制約をかけることで、バグが減ったり、保守が容易になることは理解できる。例外がダメなのは..
  • JPCERT コーディネーションセンター イベント情報

    C/C++ セキュアコーディング ハーフデイキャンプ 2009夏 part3 は受付けを終了いたしました。 お申込みありがとうございました。 脆弱性のない安全なプログラムを開発するために ~ソフトウエアの脆弱性が作りこまれる根的な原因を学び、問題を回避する~ JPCERTコーディネーションセンターは、C/C++ 言語で脆弱性を含まない安全なプログラムをコーディングする具体的なテクニックとノウハウを学んでいただくためのセミナーを下記のとおり開催いたします。 セミナーは 2009年1月29日から 3月26日に開催した「C/C++ セキュアコーディング ハーフデイキャンプ」を再講演するものです。 従来のプログラミング教育は、基的なアルゴリズムをどのようにコーディングするかが主なものでした。 しかし C/C++ 言語による開発では、基的なプログラミングだけでなくセキュリティへの十分な配慮が

    JPCERT コーディネーションセンター イベント情報
    kgbu
    kgbu 2008/12/10
    C/C++ 言語で脆弱性を含まない安全なプログラムをコーディングする具体的なテクニックとノウハウを学んでいただくためのセミナー、だそうです。
  • Protocol Buffersは遅い - Blog by Sadayuki Furuhashi

    Google の Protocol Buffers は、同技術と競合するバイナリシリアライズ形式である MessagePack と比べて、場合によっては 19倍 以上遅く、シリアライズ後のデータサイズは 7倍 以上になることがあります。平均的に見ると MessagePack の方が高速であり、高い性能が必要とされるなら Protocol Buffers より MessagePack を選択するべきです。 …とはいえどちらも非常に高速なので、実際にはそのAPIの違いで選んだ方が良い。Protocol Buffers と MessagePack は重視している点が異なり、使い勝手は大きく異なる。 Protocol Buffers とは何か Protocol BuffersはGoogleが開発したバイナリエンコード手法で、以下のような要素が提供されます: データフォーマットを記述するための言語(

    Protocol Buffersは遅い - Blog by Sadayuki Furuhashi
    kgbu
    kgbu 2008/11/19
    Googleのserialize技術であるProtocol BuffersとMessagePackとの比較。指向が違うらしいが、どちらも十分に高速だとか。
  • Try out LLVM and Clang in your browser!

    Try out LLVM and Clang 3.0 in your browser! The LLVM demo page is currently disabled.

    kgbu
    kgbu 2008/11/18
    実際にコードを貼り付けて、LLVMの出力を見られるCGI。インストールしてみるほど気合が無い場合に便利。あとはこれでベンチマークまでしてくれればすばらしい、つーか、repositoryにこういうサービスをくっつけたい。
  • http://www.eva-01.jp/d/?date=20081105

    kgbu
    kgbu 2008/11/07
    Google ChromeのJavascriptエンジンであるV8を、他のアプリケーションに組み込む話。ビルドから。
  • Using V8 - Google's Chrome JavaScript Virtual Machine

    Tutorial and sample explaining how to use the V8 virtual machine inside your application. Download demo - 2.97 MBDownload demo with object -24.1 KBDownload benchmark v.1 - 706 KBDownload benchmark v.2 - 704 KB Introduction Who never wondered how virtual machines work? But, better than creating your own virtual machine, what if you can use one done by a big company focusing on improving the speed t

    Using V8 - Google's Chrome JavaScript Virtual Machine
    kgbu
    kgbu 2008/11/07
    Tutorial and sample explaining how to use the V8 virtual machine inside your application.
  • google-glog: Application Level Logging

    ► 2024 (39) ► December (4) ► November (1) ► October (1) ► September (3) ► August (4) ► July (4) ► June (4) ► May (5) ► April (4) ► March (2) ► February (6) ► January (1) ► 2023 (44) ► December (5) ► November (6) ► October (2) ► September (3) ► August (1) ► July (2) ► June (5) ► May (5) ► April (2) ► March (6) ► February (3) ► January (4) ► 2022 (44) ► December (4) ► November (2) ► October (7) ► Se

    google-glog: Application Level Logging