[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

c++に関するsotarokのブックマーク (95)

  • 株式会社ロングゲート - 製品案内

    Information 2013/12/25 書籍『プログラミングの魔導書 Vol.3』の発売 (書籍版の予約受付は終了しました) 2013/12/03 書籍『プログラミングの魔導書 Vol.3』の予約受付開始 2011/12/01 ブログを開始 2011/11/30 著者からの指摘を受け、書籍 『プログラミングの魔導書 Vol.2』PDF版を改訂 2011/11/02 書籍 『プログラミングの魔導書 Vol.2』の壁紙公開 2011/10/05 書籍 『プログラミングの魔導書 Vol.2』を発売 (書籍版の予約受付は終了しました) 2011/9/15 書籍 『プログラミングの魔導書 Vol.2』の予約受付開始 技術トレーニングサービスを開始 2010/8/07 書籍 『プログラミングの魔導書 Vol.1』を販売開始 2010/6/01 書籍情報を公開しました 2010/2/28 今年5月

    sotarok
    sotarok 2010/06/02
    おお
  • 並列メッセージングフレームワーク「MessagePack-RPC for C++」リリース - Blog by Sadayuki Furuhashi

    分散KVS kumofs のコードは、全体で約2万行です。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行で、全体の約半分を占めています。 並列イベント駆動I/Oフレームワーク「mpio」リリース ネットワークアプリケーションを実装する上で、もっとも大きな障壁は、ネットワークI/Oとプロトコルです。 では、それが両方ともフレームワークでサポートされ、コードを書く必要が無くなったらどうでしょうか? 54行で簡単な分散KVSを実装したり、140行で分散リアルタイム検索エンジンを実装することができます。すなわち、インデックス作成サーバ、検索サーバ、DBサーバなど、多数のサーバが連携し、スケールアウトの恩恵を得ることができるネットワークアプリケーションを、1台のホスト上で動作する並列アプリケーションとほぼ同じように書くことができます。 実装上の問題から解放されれば、並列性や耐障害

    並列メッセージングフレームワーク「MessagePack-RPC for C++」リリース - Blog by Sadayuki Furuhashi
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2008/04/friends_framework.php

    sotarok
    sotarok 2010/05/04
  • 並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi

    分散KVS kumofs のコードは、全体で約2万行です*1。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行*2で、全体の約半分を占めています。 ロジックは残りの半分*3だけで実装されています。 この実例から分かりますが、kumofsのような分散アプリケーションを開発するにはI/O周りの実装が大変で、とてつもなく大きな障壁になっています。*4 さらに今日では、性能を稼ぐためにマルチスレッド化が必須です。また、多数のクライアントを少ないリソースで効率よく相手にするには、非同期・イベント駆動型のアーキテクチャも必要になります。さらに、究極的な性能を達成すべく GC を利用しない C++ においては、実装のみならず設計も大変です。 これに加えてソケットAPIの難解な挙動に対処にしなければならないため、C言語やC++によるネットワークプログラミングは、vimの使いこなしなどと同

    並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi
  • Eigen

    Get it The latest stable release is Eigen 3.4.0. Get it here: tar.bz2, tar.gz, zip. Changelog. The latest 3.3 release is Eigen 3.3.9. Get it here: tar.bz2, tar.gz, zip. Changelog. The latest 3.2 release is Eigen 3.2.10. Get it here: tar.bz2, tar.gz, zip. Changelog. The unstable source code from the master is there: tar.bz2, tar.gz, zip. To check out the Eigen repository using Git, do: git clone ht

    sotarok
    sotarok 2010/03/25
    C++ での行列計算
  • 変数

    変数はメモリに確保される 変数と言うとデータを入れておく箱と言う説明がよく出てきます。まったくその通りなのですが、C言語を使っていく上ではもう一歩踏み込んでコンピューター上でどうなっているのかを知っている必要があります。当たり前のことですが、変数はメモリ上に確保されます。コンピューター上のメモリはハード的には全部同じでもソフト的には領域を区切ってそれぞれに役割を割り振って動作していますのでその理解が重要です。 きちんと理解すればC言語で起こりがちなメモリ関連の障害やバグに適切に対応できるようになります。 C言語のメモリの使い方 C言語でメモリを理解する場合大雑把にコード(code)、データ(data)、ヒープ(heap)、スタック(stack)の4つに分けて考えることができます(実際にはさらにいくつかに分かれる場合があります)。C言語の入門書ではこの話は滅多に見かけませんが初心者と中級者

    sotarok
    sotarok 2010/03/17
    C言語のメモリモデル / ヒープ領域とスタック領域について
  • https://ranha.hatenadiary.org/entry/20100225/1267088672

  • C++ で気軽に時間測定がしたい - iwiwiの日記

    プログラムの一部分の所要時間をちょっと調べたいと思っても,前で時間を調べて,後ろで時間を調べて,引き算したものを出力して,と色々書かねばならず,意外と面倒です. Ruby の benchmark はいいなあと思っていたら,id:tanakh さんの PFI セミナーを思い出したので,それっぽいものを C++ で実現してみました. (2/21 19:30 頃に「もう少し便利に」のバージョンの問題点と解決について追記しました) 例 int main() { benchmark { sleep(1); } benchmark { sleep(2); } } こんな感じで書くと 1.000013 sec 2.000009 sec こんな感じで標準エラー出力に表示. ソースコード これを上に書いておけば OK です. #include <sys/time.h> struct __bench__ {

    C++ で気軽に時間測定がしたい - iwiwiの日記
    sotarok
    sotarok 2010/02/25
    マクロで
  • 並カン行ってきました。 - melpon日記 - HaskellもC++もまともに扱えないへたれのページ

    Twitter のまとめ→並カン2010 - Togetter #namikan タグ使った人を多分大体は放り込んでみた→http://twitter.com/melponn/namikan RT を 1 回しただけって人も、並列プログラミングには興味がある人だろうと思って一緒に入れてます。 mootoh さん(Twitter)のセッション 発表資料 並列処理が自然で、逐次処理はむしろイレギュラーなんだなーっていう理解。 そんな風になってくると楽しそうだなぁ。 wraith13 さん(Twitter)のセッション 発表資料 並列プログラミングは怖いなーという理解。 ただなんかそれって並列プログラミングが未来的すぎて時代が追いついてないだけというかそんな感じがしていて、その内ものっそい便利なプロファイラとかデバッガとか出てきて並列プログラミングの怖いところや難しいところを魔法のように一気に解

    並カン行ってきました。 - melpon日記 - HaskellもC++もまともに扱えないへたれのページ
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    sotarok
    sotarok 2010/02/03
    map
  • 京都収納棚:DBMの率直な壱実装 - mixi engineer blog

    飲み屋に行くとかなりの確率で荷物を忘れて帰るmikioです。さて、今回はここ2ヶ月ほどで急ピッチで開発した軽量データベースライブラリ「Kyoto Cabinet」について紹介します。 開発の動機 以前から軽量データベースライブラリとしてご好評いただいているTokyo Cabinetですが、DBMとして必要十分な機能と性能を備えていてなかなか良いものだと自負しております。ただ、開発を進める中でいくつか不満な点があったのも事実です。端的に言えば、全てC言語で記述して、標準ライブラリ(とzlib/bzip2)以外の機能は全て自作しているので、最適化がしやすい反面、メンテナンスの難易度が高くなってしまっているというのが不満です。 そこで、多少性能が悪くなってもいいから、私自身としてお気楽に開発およびメンテナンスができて、移植性も高いような実装を作ってみようと思い立ったのが昨年10月頃。様々な検討を

    京都収納棚:DBMの率直な壱実装 - mixi engineer blog
    sotarok
    sotarok 2010/01/15
    「名前がかっこいい。」
  • MessagePack-RPC for C++ テクニカルプレビュー - Blog by Sadayuki Furuhashi

    バイナリシリアライズ形式 MessagePack をプロトコルに利用したRPCライブラリ MessagePack-RPC の、C++版を開発しています。 以前に MessagePack-RPC for Ruby について 54行で実装する分散KVSや140行で作る分散リアルタイム検索エンジンを紹介しましたが、そのC++版です。 大まかな設計はRuby版と同じで、Ruby版と同じような使い勝手で利用できます。 しかしRuby版とは異なり、C++版では完全にマルチスレッドに対応しています。具体的には、マルチコア時代の高並列性IOアーキテクチャ Wavy を利用しています: 複数のスレッドでイベントループを共有しており、マルチスレッドでイベントハンドラを次々に処理していきます。 単純なイベント駆動I/Oと比べると、並列性が高いという利点があります。イベントハンドラの中で処理が多少ブロックしても、

    MessagePack-RPC for C++ テクニカルプレビュー - Blog by Sadayuki Furuhashi
  • Boost.Python の機能をざっと紹介してみる - moriyoshiの日記

    Boost の一部ながらも「実用的」すぎるため、とかくテンプレートメタプログラミングを愛好する諸兄から黙殺されてきた不幸のライブラリ、Boost.Python。Boost.勉強会でこいつの魅力を伝えようと思ったのだけど、時間の都合で無理だったので、簡単に紹介してみたい。 Boost.Python の基礎 Boost.PythonC++ のクラスや関数をラップする Python モジュールを恐ろしく簡単に書けるようにする、強力なライブラリである。 特に、Pyrex や Cython と比べて何がうれしいのかというと、 Python側にいちいちラッパ関数を書かなくてよい (テンプレートにより自動的に定義される) コンバータを登録することで、PythonC++の型の透過的な変換が容易にできる C++ のクラスを分かりやすい形で Python のクラスとして見せることが可能 といった点が挙

    Boost.Python の機能をざっと紹介してみる - moriyoshiの日記
    sotarok
    sotarok 2009/12/14
    boost.python
  • Boost.勉強会のまとめとか感想とか今後についてとか - Faith and Brave - C++で遊ぼう

    Boost.勉強会 - ATND 12/12(土)にグリー株式会社様のセミナー会場をお借りして Boost.勉強会を開催しました。id:sotarokさんありがとうございました! 【発表のまとめと感想】 ・Boostライブラリ 一周の旅(id:faith_and_brave, @cpp_akira) Boost 1.40.0に含まれるライブラリのうち、74ライブラリを紹介し、 それに加えて「一分でわかるテンプレートメタプログラミング」というのを話しました。 (1分以内には終わらなかったのと、もうちょっとじっくりやりたかったです。) 今回の勉強会ではじめてBoostを知った、という方にはBoostを使い始めるきっかけと なっていただければ幸いです。 反省点としては、1時間セッションの予定が気づいたら40分もオーバーしてしまっていたことですね。 解説するライブラリが74個もあったというのはあり

    Boost.勉強会のまとめとか感想とか今後についてとか - Faith and Brave - C++で遊ぼう
    sotarok
    sotarok 2009/12/14
    おつかれさまでした!
  • shared_ptr & weak_ptr - くらいおらいと

    Web 上ではフォントが崩れます. (DL 専用) Web 上で見る方は http://bit.ly/7dyNmz をどうぞ. 2009/12/12 Boost.勉強会プレゼン資料. 発表時のままの版. プレゼン発表の録画は http://bit.ly/6yjSkz です.Read less

    shared_ptr & weak_ptr - くらいおらいと
    sotarok
    sotarok 2009/12/12
    smart pointer について.わかりやすい.
  • イテレータを実装しよう

    イテレータ(iterator)は C++ STL(Standard Template Library)の中核を成す概念のひとつで、ポインタの機能を抽象化したものである。 参照外し(dereference)、インクリメント・デクリメント、比較などのポインタ同等の機能を持つ。 STLの各コンテナには、それ専用のイテレータクラスが定義されており、 イテレータオブジェクトの生成はコンテナの begin(), end() メソッドなどで行う。 コンテナの最大要素を取得する例: vector<int> cntn; ..... // cntn にデータを格納する処理 int val = MIN_INT; for(vector<int>::iterator itr = cntn.begin(); itr != cntn.end(); ++itr) val = max(val, *itr); イテレータは、

    sotarok
    sotarok 2009/12/03
     iterator実装
  • Programming/C++/Template - www.hanecci.com

    sotarok
    sotarok 2009/11/23
    template いろいろ
  • 簡易のビットエンコーダ - tsubosakaの日記

    圧縮のプログラムを書くときにはbit単位でエンコーディングをする必要があるため、bit単位でエンコードをするBitEncoderというものを書いてみた。 動作としては1byte変数にbitをバッファリングしていっぱいになったらファイルに書き出すという感じです。 #include <cstdio> #include <iostream> struct BitEncoder{ FILE *fp; unsigned char bval , bindex; bool buffered; BitEncoder(const char * fileName){ fp = fopen(fileName , "wb"); buffered = false; bindex = 7; bval = 0; } ~BitEncoder(){ if(buffered){ flush(); } fclose(fp);

    簡易のビットエンコーダ - tsubosakaの日記
    sotarok
    sotarok 2009/11/23
  • Let's Boost

    Boost C++ Libraries の紹介サイトです。 :: by Google はじめに ご挨拶 Boost のインストール方法 参考リンク集 ニュース ◆ Version 1.42.0 と 1.41.0 対応 (2010/03/14) 新規ライブラリに関する Let's Boost のページ…: property_tree (汎用木構造型コンフィグ管理) / uuid (ユニークID生成器) ◆ RSS つけました (2009/08/28) ◆ Version 1.40.0 と 1.39.0 対応 (2009/08/28) 新規ライブラリに関する Let's Boost のページ…: Signals2 (Signal/Slotライブラリ改良版) ◆ Version 1.38.0 と 1.37.0 対応 (2009/02/22) 新規ライブラリに関する Let's Boost のペー

  • 全文検索エンジン Miniseをリリース + WEB+DBで全文検索の特集記事 - DO++

    全文検索エンジンの Minise: MIni Search Engineをリリースしました. このエンジンは全文検索の基的な機能をサポートしたもので,索引手法は逐次検索(索引無),N-gram,転置ファイル,接尾辞配列をサポートしており,そこそこ最適化を行ってます.Wikipedia語版を実験で使ったもので20万文書で構築時間が500秒前後,検索時間が一クエリあたり数msとなっています. BSDライセンスで公開しています. 割りきって,機能を絞ってシンプルな構成にしていますので改造したりしやすいようになっています。まだ、ドキュメントはないですが、C++ APIとして利用しやすいようにもなっていますので、研究用途などで新しい索引やランキングとかでの利用も想定しています(実際に研究用で使ってます). --- 今回の全文検索ライブラリを開発する機会になったのが,私が担当した今月号のWEB+

    全文検索エンジン Miniseをリリース + WEB+DBで全文検索の特集記事 - DO++
    sotarok
    sotarok 2009/10/27