タグ

c++に関するfan-tailのブックマーク (33)

  • Crypto++ Library 5.4 - a Free C++ Class Library of Cryptographic Schemes

    Other features include: pseudo random number generators (PRNG): ANSI X9.17 appendix C, RandomPool, VIA Padlock, DARN, RDRAND, RDSEED, NIST Hash and HMAC DRBGs password based key derivation functions: PBKDF1 and PBKDF2 from PKCS #5, PBKDF from PKCS #12 appendix B, HKDF from RFC 5869, Scrypt from RFC 7914 Shamir's secret sharing scheme and Rabin's information dispersal algorithm (IDA) fast multi-pre

    fan-tail
    fan-tail 2015/04/17
    いつのまにかBoostライセンスに・・・
  • C/C++のXML Parserについてよくまとまっているサイト - ぴよログ

    仕事でC/C++のXMLパーサーにどんなもんがあるか調べていたらよくまとまっているサイトに出くわしたので紹介してみる。 Free C/C++ XML Parser Libraries リンク先に飛べばよくわかるけれど、これだけのライブラリについてライセンスや特徴をまとめてくれている。 がっつり目 Xerces Arabica libxml2 libxml++ MSXML あっさり目 expat TinyXml Xmlio XmlLite RapidXml XMLParser library from Frank Vanden Berghen PugiXML libroxml いくつか試したなかではTinyXmlが軽量で導入もしやすくて使いやすかったが、DOM型のパーサーなので読み込むファイルが大きくなるとメモリ不足に陥ってしまう。そういうときはSAX系のパーサーを使う必要があるのでXmlL

    C/C++のXML Parserについてよくまとまっているサイト - ぴよログ
  • 速いしスケールする並列CSVパーサ作った紆余曲折話 - 俺とお前とlaysakura

    この記事は↓に移転しました。 laysakura.github.io

    速いしスケールする並列CSVパーサ作った紆余曲折話 - 俺とお前とlaysakura
    fan-tail
    fan-tail 2014/12/31
    『バージョン 0.1.0 を作ってみてSSD環境でベンチマークを取ってみたら全然スケールしなかった。寝た。』寝るの大事(*´・ω・)(・ω・`*)ネー
  • 【C++テンプレートメタプログラミング超入門】もう実行時処理トカゆるふわモテマクロは古い!? スマート女子の今年のクリスマスは C++テンプレートメタプログラミング でモテカワコンパイル時メイク♪

    Home プログラミングC++C++テンプレートメタプログラミング超入門】もう実行時処理トカゆるふわモテマクロは古い!? スマート女子の今年のクリスマスは C++テンプレートメタプログラミング でモテカワコンパイル時メイク♪

    【C++テンプレートメタプログラミング超入門】もう実行時処理トカゆるふわモテマクロは古い!? スマート女子の今年のクリスマスは C++テンプレートメタプログラミング でモテカワコンパイル時メイク♪
    fan-tail
    fan-tail 2014/12/25
    『プリプロセッサのマクロ使ってもできるけどあれはダメらしい』割とこれで良い気がしてきた…
  • コンパイル時Brainfuckコンパイラ ――C++14 constexpr の進歩と限界―― - ボレロ村上 - ENiyGmaA Code

    中3女子です。 この記事は C++ Advent Claneder2014 23日の参加記事です。 constexpr とは この記事を読んでいる層には、いまさら言及するまでもないと思われるので省略する。 必要であれば このあたり の資料を参照のこと。 C++14 シンタックス上の進歩とセマンティクス上の進歩 巷では C++14 になり constexpr が簡単になったという話をしばしば耳にする。たしかに簡単になった。 では何が簡単になったかというと、もっともわかりやすいのは複文とローカル変数、制御構文の制限緩和だろう。 条件分岐やループを if, while, for, switch 等でガリガリ書くことができるようになった(ただし goto は不可だ)。 非常に簡単になったといえるが、これはあくまでシンタックス上の進歩だ。 これによって何ができるかというセマンティクス上の問題について

  • マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか

    マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか マイクロソフトはOfficeソフトウェアのマルチプラットフォーム展開を進め、Windows版、Macintosh版だけでなくWebから使えるOffice Onlineに加え、iPad版、Android版も公開を始めました。 Officeのような大規模なアプリケーションのマルチプラットフォームへの移植は、どのようにして行われているのか。9月に米国で開催されたC++言語のイベント「CppCon 2014」で行われた同社の講演「How Microsoft Uses C++ to Deliver Office (and More) Across iOS, Android, Windows, and Mac, Part I 」がYouTubeで公開されています。 Officeのコア部分はC++

    マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか
  • ソフトウエア研究会in秋葉原

    CHAPTER-1 moveの活用 † moveの活用による恩恵は計り知れません。 とくに、速度とメモリ効率、そしてデバッグ効率を重視するゲームプログラミングにおいて、 moveセマンティクスの導入は大きな効果がありました。 なお、moveに関して十分な知識のある方ば、Chapter-1は読み飛ばしてください。 ↑ 1-1 moveのおさらい † moveを使う前に、右辺値参照について知っておく必要があります。 このプログラムを見てください。 string a = "1"; string b = "2"; string c = a + b; // ~~~~~ // 右辺値 この"a + b"の部分が右辺値です。 右辺値とは、名前のない一時的に生成されるオブジェクトのことです。 この場合、string型で値が"12"の一時オブジェクトが生成されます。 わかりやすくC++03の書式で置き換える

  • プログラミングコンテストで、C++を使って全ての問題を解くのに必要なアルゴリズムは何ですか? | POSTD

    これが私の提案するリストです。必要とされるアルゴリズムや概念のほとんどが挙げられています。いくつかの要素はアルゴリズムではなかったり(フェイクや状態、関心事など)、重複していたりもします。 最後に1つ、アドバイスを。 知識を蓄える前に、まずは思考能力を鍛えることを重要視しましょう。これはコンテストのみならず、あなた自身の将来にも役立ちます。思考能力を鍛えるには、アルゴリズムではなく純粋な思考を必要とする、アドホックを使いこなせるようになりましょう。 topcoderのDiv2とCodeforcesのDiv2の2つに集中することも効果的だと思います。どちらも、低いレベルから問題に取り組んでいきましょう。例えば、Div2-250をマスターしてからDiv2-500に取り組む、などです。

    プログラミングコンテストで、C++を使って全ての問題を解くのに必要なアルゴリズムは何ですか? | POSTD
  • C++でJSONを読む

    おシゴトでJSONを扱うことになりました。どこぞのサーバがWeb-serviceをホストしてて、サービスとのやりとり(リクエストとその応答)がJSONで行われるらしく、C++でJSONを読み取る方法をリサーチしてくれとのこと。 Web-serviceのインターフェースはXMLがよく用いられますが、近頃はJSONが増えてきたみたいです。JSONはXMLに比べフォーマットが単純で伝文がコンパクト、軽量インターフェースなのでスマホのような(デスクトップ機よりは)非力なクライアントでも楽に扱えますからね。そんなわけでC++でJSONを扱うべくリサーチを始めました。 JSONの構造 JSON:JavaScript Object Notation(JavaScriptオブジェクト記法)、RFC4627(PDF)で規定されています。英文とはいえ10ページにも満たない小さな規格ですからさほどの苦労もなく理

    C++でJSONを読む
    fan-tail
    fan-tail 2014/05/14
    通して読む前に著者見ろ案件であった。
  • ドワンゴに入社した

    そう。タイトル通りだ。筆者、江添亮はドワンゴに雇用された。一体、どのような経緯でドワンゴに入社するに至ったのか。また、どんな仕事をしているのか。それを説明するには、時系列を追って書いたほうがいいだろう。 2013年8月21日 ふとみると、以下のようなサブジェクトのメールが届いていた。 【ご相談】ドワンゴ主催の C++11, 14 に関する勉強会にスピーカーとしてご参加頂けないでしょうか C++11? C++14? なんと、日C++14などという単語を知っている企業があったのか。しかし・・・ドワンゴ? SPAMだろうか。いや、こんなにピンポイントなSPAMがあるわけがない。 それにしても解せないメールだ。ドワンゴといえば、もちろん、あの有名なニコニコ動画の企業だ。ニコニコ動画と言えばWebサイトだ。ニコニコ動画やその関連サービスの開発にC++を使っているのだろうか。いやまて、たしか子会社

    fan-tail
    fan-tail 2014/02/13
    すごい。
  • マルチスレッドを意識しないマルチスレッド・ライブラリ「Intel Concurent Collections」がおもしろい

    「Intel Concurrent Collections for C++」(CnC)とは 実際並列処理はややこしいしおっかないです。大きなキッチンで大勢のコックが包丁とフライパン振り回しているようなもので、ほっとけばしっちゃかめっちゃかになっても不思議じゃない。各人はそれぞれの役割に専念し、他人のふるまいを気にせず勝手に働きながらも全体としては統制のとれた動きを作り出さにゃなりません。mutexで排他制御したりjoinで完了を待ったり、さまざまな道具を駆使して統制のとれた動きを作り出しているのはプログラマであり、そこがいちばん難しく悩ましいところです。 C++,C#あるいはVB,Javaもそうですが、コードは原則的に並べた順に実行されます。 と書けば、まずf()、それが終わればg()、しかるのちh()の順で呼び出されます。たとえこの3つをどの順にやっても(あるいは同時にやっても)構わない

    fan-tail
    fan-tail 2013/09/03
    安定の著者であった。 集中力ないからあとで…
  • アセンブリ読んだら負けかなと思ってる - 誰かの役に立てばいいブログ

    子供のころからできるだけ手抜きして成果を挙げることだけは長けている山です。 今回は、C/C++ で作ったプログラムが運用中にクラッシュするときのデバッグ方法のお話しです。 開発中のデバッグは gdb などでソース追いながらデバッグできますが、運用中ですと strip していたり最適化していたりしてデバッグが難しくなります。 そもそも、いきなりクラッシュすると情報が残らずに困ってしまいます。そんなときどうするか。 Step1. スタックトレースを出力する こんな関数を用意しましょう。Linux 以外の人はそれなりに実装してください。 #include <execinfo.h> #include <unistd.h> void dump_stack() { void* bt[100]; int n = backtrace(bt, 100); backtrace_symbols_fd(bt,

    アセンブリ読んだら負けかなと思ってる - 誰かの役に立てばいいブログ
    fan-tail
    fan-tail 2013/07/05
    disasしとるやないかい!と思ったら真面目に見てなかった。C++はシンボルのだらだらだら感がつらいです。
  • C++とfinally - 株式会社CFlatの明後日スタイルのブログ

    こんにちは、株式会社CFlatです。 あれほど何でも取り込むC++C++11になってもいまだに採用しない言語仕様で、他の言語にはよく採用されているもの。 幾つかありますが、代表的なものがGC(ガベージコレクション)とfinallyブロックでしょう。 ただ今回は、GCについてはTechnical Reportに既に出ているようですし、Boehm GCというライブラリ(c.f. http://homepage2.nifty.com/aito/gc/gc.html)もありますので割愛します。ちょっとfinallyについて見ていきましょう。 finally文の使い方 finally文は、例えば以下のように使われます。 try { std::cout << "例外を投げるかもしれない処理" << std::endl ; return ; } catch (...) { std::cout << "

    C++とfinally - 株式会社CFlatの明後日スタイルのブログ
    fan-tail
    fan-tail 2013/05/07
    分かりやすい。主張もその通りなんだけどfinally使いたいんだよぉ(ゴロゴロ