Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
EMC++ Exits Publishing Purgatory! - The View From Aristeia Effective Modern C++ - O'Reilly Effective Modern C++ - Amazon.co.jp Scott Meyersの著書『Effective C++』のC++11とC++14対応である『Effective Modern C++ (略称EMC++)』の予約が開始しました。発売は12月4日になっています。 副題は「42 Specific Ways to Improve Your Use of C++11 and C++14」、日本語だと「C++11とC++14の使い方を改善する42の方法」といったところでしょうか。
Introducing Proxygen, Facebook’s C++ HTTP framework We are excited to announce the release of Proxygen, a collection of C++ HTTP libraries, including an easy-to-use HTTP server. In addition to HTTP/1.1, Proxygen (rhymes with "oxygen") supports SPDY/3 and SPDY/3.1. We are also iterating and developing support for HTTP/2. Proxygen is not designed to replace Apache or nginx — those projects focus on
この記事はC++ Advent Calendar 2013の15日目にエントリしています。 内容はC++標準ライブラリとスレッドセーフに関する解説になります。 flickr / rennasverden もくじ What's スレッドセーフ? スレッドセーフという幻想 基本型とデータ競合 C++標準ライブラリとデータ競合 C++標準ライブラリ:シーケンスコンテナ編 C++標準ライブラリ:連想コンテナ編 スレッドセーフ RELOADED 基本的なスレッドセーフ保証 std::shared_ptr<T> std::rand() std::cout (本文のみ約9000字) はじめに マルチスレッド対応の点では他言語に遅れを取っていたプログラミング言語C++ですが、C++11ではようやく標準ライブラリにスレッドサポートが追加されました。C++11スレッドサポートではスレッドクラスstd::thr
C++11の参考書をGitHubで公開する。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 序 本書はC++11のコア言語の文法と機能を、標準規格書に従って解説したものである。正式なC++規格書として発行された後の、ひとつ後のドラフト規格、N3337 を参考にしている。ドラフト規格を参考にした理由は、正式なC++規格書は、個人での入手が煩わしいためである。読者に入手が困難な資料を元に記述された参考書は価値がない。そのため、読者が容易に入手できるドラフト規格のうち、正式なC++規格書とほとんどかわらないN3337を参考にした。 本書の対象読者は、C++を記述するものである。C++実装者ではない。そのため、サンプルコードを増やし、冗長な解説を増やし、C++コンパイラーを実装するための詳細な定義
えー、久しぶりにですます調です。本日の第2回PHP拡張勉強会でグダグダながらもちょこっと発表させていただいた、あのライブラリについての紹介です。 ダウンロードは以下からできます。 http://www.voltex.jp/downloads/mozo-php-20080324.tar.bz2 最新版はこちら >> http://voltex.jp/downloads/mozo-php-20080405.tar.bz2 2009-08-10 追記: 現在は Boost.PHP という名前で以下の場所で開発中です。 http://github.com/moriyoshi/boost.php なぜMozo.PHPを作ったのか Boost.Python という、Boost Project の一部である変態ライブラリがあるのですが、これは Python の拡張をおおよそ C++ とは思えないような書
はじめに 巨大な文字列でも高速にクエリ処理できる噂の木を、挙動を確認するため作ってみた。 コード アルファベット(a〜z)の文字列を扱う場合 完備辞書の操作が愚直、ビット列がvector 本を参考にしたけど、2か所間違ってる? #include <iostream> #include <vector> #include <queue> #include <cmath> //top_kのためのタプル struct ST { int t; size_t st, en; ST(int t, size_t st, size_t en):t(t),st(st),en(en){} }; bool operator<(const ST& a, const ST& b){ return (a.en-a.st) < (b.en-b.st); } //アルファベット([a-z]+)用のウェーブレット木 cla
Boost.PythonとPyUblasに関して, 今まで適当に書いていた日記をまとめたもの. 詳細は過去の日記へのリンクをあちこちに貼ってある. 前書き Pythonは言わずと知れた非常に遅い言語だ. Pythonで大きなループを含む処理を書くことは即ち死を意味する. 例えば手元のthinkpad Core2Duo2.5GHzでは, Pythonで2つの500×500の行列同士の行列積を計算するのに29秒かかる. これは, C++では僅か0.6秒で終了することを考えると非常に遅い. (ただし, 乱数による行列の生成処理を含み, コンパイルオプションは-O2である) しかし世間は広く, この遅いPythonで数値解析をしたい奇特な人間がいるらしい. そこで恐らく今もっとも使われているライブラリがscipy(numpy)である. このscipyには様々な数値解析用の関数などが含まれている.
たとえば、四つの要素があれば、4×3×2通りの方法で順列を生成できます。C++では、辞書順で順列を生成するライブラリが提供されます。<algorithm>のnext_permutationとprev_permutationを利用しましょう。それぞれ、辞書順で一つ次/前の順列を生成します。 using namespace std { template<class BidirectionalIterator> bool next_permutation(BidirectionalIterator first, BidirectionalIterator last); template<class BidirectionalIterator, class Compare> bool next_permutation(BidirectionalIterator first, Bidirection
タイトルの通りなのですが、C++でSTLのvectorをいじっている時、 イテレータがvectorのどの要素(何番目)かを知りたいときがあると思います。 たとえば要素番号に何らかの意味を持たせていたりする場合です。 それ自体があまりいいやり方ではない気がしますが、それは置いておきましょう。 普通に++itrとかで直にイテレータをまわしている時は、 なんかカウンタ変数みたいなのを別個にインクリメントすればいいかもしれませんが、 findなどのアルゴリズムで返ってきたイテレータに対して要素番号が欲しいときはどうすればよいでしょうか? 返ってきたイテレータとbegin()で取得したイテレータの引き算で取得できます。 vector<int> v; vector<int>::iterator itr; for(int i=0; i<10; ++i) v.push_back(i); itr = fin
このページは、フリーのJava統合開発環境Eclipse(エクリプス)で、C/C++を開発行おうというけったいな事を実現するための準備を目指します。 Eclipseの大きな特徴として、プラグインによって簡単に機能拡張が行えるということがあります。EclipseでC/C++の開発を行う際には、CDTプラグインを導入する事になります。 このページはcdt user FAQを参考にして作成しました。ただ、リンク先のページの更新がのびのびとなっているようでしたので、新しく書き起こしています。何かおかしいところがあればメールして頂けると助かります。 Eclipseの準備 Eclipseは本来はJava用の統合開発環境であり、Eclipse自体もJavaのプログラムとして開発されています。ですから、Eclipseを動かすためにはまずJava2SDKがインストールされている必要があります。また、Java
もう随分と昔の事です。 もう随分と前のことになりますが、きっかけは幾つかの物事でした。 当時、なんとなく知人に借りて読んでいた有限要素法入門書には、行列演算の基礎や行列演算による式の解法が書かれていました。 また、その頃使っていたHP-BASIC(Rocky Mountain Basic)には組込みの配列(行列)演算関数があり、何とはなしに使っていましたが便利なものでした。 ちょうどその頃、C++に興味を持ち始め、そこで知ったのは、C++では演算子(operator、+ とか * 等)をユーザー定義出来るという事でした。 そこで思いついたのが、C++のユーザー定義演算子を使えば、プログラム中でも自然な形で行列演算が記述出来るんじゃないのか?という事でした。 "自然な形で行列演算を記述"するというのは、例えば、行列A、B、Cがあったとすると、 C = A * B; //行列Aと行列Bの乗算を
自分で考えたアルゴリズムの中で、素因数分解をする必要があったので、C++で素因数分解をする関数を書いてみた。調べてみると「p - 1 法」とか「連分数法」とかいろいろなアルゴリズムがあるようだったが、とりあえず、動けばいいので特に難しいアルゴリズムは使わずに実装してみた。 使ったアルゴリズムは、小さい数字から順に何回割り切れるかチェックしていくという単純なもの。ただし、単純に与えられた数値以下の全てをチェックするわけではない。素数は2以外は全て奇数であるため奇数だけ調べればいい。さらに、整数tが与えられた場合には2~((int)t^2)まで調べればいい。例えば、55が与えられた場合、7^2 < 55 < 8^2 であるため、2~7の全てで割り切れるだけ割って残った数値(=11)は、素数となる。 //numberを素因数分解して、<素因数, 指数>の配列を返す void PrimeFacto
C++版のOpenCVを使ってカラーヒストグラムを用いた類似画像検索を実験してみました。バッチ処理などのスクリプトはPythonを使ってますが、PerlでもRubyでも似たような感じでできます。 指定した画像と類似した画像を検索するシステムは類似画像検索システムと言います。GoogleやYahoo!のイメージ検索は、クエリにキーワードを入れてキーワードに関連した画像を検索しますが、類似画像検索ではクエリに画像を与えるのが特徴的です。この分野は、Content-Based Image Retrieval (CBIR)と呼ばれており、最新のサーベイ論文(Datta,2008)を読むと1990年代前半とけっこう昔から研究されてます。 最新の手法では、色、形状、テクスチャ、特徴点などさまざまな特徴量を用いて類似度を判定するそうですが、今回は、もっとも簡単な「色」を用いた類似画像検索を実験してみます
まだ完成途中です back 注意: このページの内容には、おそらく多くの間違いがあります。 リンクされているので残しておきますが、利用には注意してください。(2008年3月、新山) ここではおもに make の使い方 と Makefile の書き方について 説明しています。じつは make の種類にはいろいろあり、ここでは GNU make (gmake というコマンド名のこともある) を 対象にしています (BSD の pmake でも基本的な部分は同じですが、 マクロ定義などは違うところもあるので注意してください)。 わかりにくい箇所とか、まちがってる箇所がある場合はメールください。 Contents make はどんなときに使うか Makefile を作る make の実行 Makefile の文法リファレンス 多段 make について (未完成) Makefile の例 (未完成)
メモリの二重解放とは, new などで確保したメモリ領域(ヒープ領域)を2回 delete などで解放することを言う. new と delete をきちんと対応させて書いていないときに起こる問題だ.特にクラスのメンバに動的確保したメモリへのポインタを含む場合にやってしまいがちである.ここでは二重解放によって発生する問題を解説する. 結論から言うと,メモリを解放した後 (delete p1;),ほかの用途でメモリを確保し (p2=new T;),たまたまそれが解放したメモリと同じアドレスに割り当てられてしまった場合 (p1==p2),最初のメモリを二重解放すると (delete p1;),新しく確保したメモリ (p2) が解放されてしまう.この結果,新しく確保したメモリにアクセスすると値が書き換えられていたり,セグメンテーションフォルトが発生する場合がある.プログラマはまず,新しく確保したメ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く