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が最近リリースされ、重要な変...
Compatibility with the C++ Standard Google has developed many abstractions that either match or closely match features incorporated into C++14, C++17, and beyond. Using the Abseil versions of these abstractions allows you to access these features now, even if your code is not yet ready for life in a post C++11 world.
Simple format API with positional arguments for localization Implementation of C++20 std::format and C++23 std::print Format string syntax similar to Python's format Fast IEEE 754 floating-point formatter with correct rounding, shortness and round-trip guarantees using the Dragonbox algorithm Portable Unicode support Safe printf implementation including the POSIX extension for positional arguments
This post introduces Wangle, a C++ library for building protocols, servers, and clients in an asynchronous, clean, composable, and scalable manner. Wangle is heavily influenced by the JVM-based libraries Netty, a Java network application framework, and Finagle, a Scala RPC system built at Twitter on top of Netty. Wangle aims to provide a similar set of abstractions for C++ as the combination of Ne
Welcome to Cat! Cat is a C++ functional library inspired by category theory and Haskell language. The purpose of Cat is to provide utility functions and type classes to enable the functional programming paradigm in C++. The source code is available at: https://github.com/cat/cat. More information on type classes can be found at the following address: typeclassopedia. Cat Library is distributed und
おなじみC/C++から使えるJSONライブラリを紹介するコーナー。まずは過去のまとめ。 ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い! 何も見ずにC++でjsonパーサが書けるか試してみた。 C言語から使えるJSONパーサ、JSMNを試してみた。 僕がboost::asioとboost::property_treeを使いHTTPプロキシ環境下で非同期にGoogle Search APIから検索するまでにやった、たった一つの事。 C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。 最速と言われる JSON パーサ「rapidjson」が本当に爆速なのか試してみた。 C言語から使えるJSONパーサ、jansson がとても直感的で良い C++ の JSON ライブラリ json11 は initializer_list が綺麗。 僕
C++ で簡単にフォルダ監視出来るライブラリ無いかなーと思ってたら、手頃なのが見つかった。 simplefilewatcher - Simple, cross platform, object-oriented, file watcher and notifier library. - Google Project Hosting SimpleFileWatcher is a C++ wrapper for OS file monitoring systems. Currently it uses Win32 ReadDirec... https://code.google.com/p/simplefilewatcher/ しかもマルチプラットフォームでビルド出来て、さらに他のライブラリに依存しないのでとてもポータブル。 Windows でも inotify を意識せずにコーディング出来ま
米Facebookは6月3日、C++ライブラリ「Folly(Facebook Open Source Library)」を公開した。同社のサービスで実際に利用されているライブラリで、同社のC++コードをオープンソース化する試みの1つとなる。 FacebookはすでにHipHopやThriftといった技術をオープンソース化しており、また今後も内部で使用している技術のオープンソース化を進めていく方針だが、C++のコードについてはその多くがFacebook社内で利用している非公開のライブラリを利用しているため、そのままでは公開できないという問題があったとのこと。これを解決するため、まずはこのライブラリをオープンソースとして公開することにしたという。 Follyではメモリ管理やベンチマークツール、ビット演算、データやエンディアン変換、文字列操作、JSONデータの操作、キューやベクタ、ハッシュマップ
flex & bison をやめて re2c & bison にしたらパーサが速くなった。re2c は UTF32 の入力に対応しているので非常にすっきり書けるし設計も歪まない。 re2c is a tool for writing very fast and very flexible scanners. Unlike any other such tool, re2c focuses on generating high efficient code for regular expression matching. re2c は flex とは互換がなく独自のマクロなどを定義しなくてはいけないので注意。サンプルとドキュメントの少ないのもマイナスポイント。 それこそ UTF32 を利用している例なんて見つけられなかった。 re2c で多分難しいのは YYFILL (flex でいうところ
yacc や lex をつかっていても「なんかよくわからんけどうごく」という状態になりがちだったり、グローバル変数にまみれたりしがちだが、re2c + lemon だとそのへんがすっきりする。 レキサを以下のようにかく。yyfill を自前でかかなければいけないのがちょっと面倒だが、このようなクラスを手軽にかけるのはやはり便利である。flex ではこうはいかないのだ。 #ifndef CALC_SCANNER_H_ #define CALC_SCANNER_H_ #include <stdio.h> #include <string.h> #include <string> #include <sstream> #include <vector> #include <iostream> #include <fstream> #include "scanner.def.h" #include
C++はオブジェクト指向言語の黎明期から存在し、Javaが登場するまでは人気のある開発言語でした。しかし、言語仕様がとても複雑で標準クラスライブラリがコンテナくらいしかなくしょぼいので、最近のプロジェクトではほとんど使われていないと思います。今は、Java、C#、Rubyで開発するのが普通ですが、今回、C++のオープンソースライブラリであるPOCOを詳解するのは、時間の無駄のように思うかもしれません。 私の予想は60%以上の確率で外れる気がしますが、POCOを前提としたC++開発の人気が将来でてくると思っているからです。 理由は以下の3点です。 1. POCOを使うとC++開発が、Java開発と同程度に容易になる。 2. C++は、リアルタイム処理、パフォーマンスの高さで他言語に対してアドバンテージがある。 3. iPhoneの開発に使える。 日本語でのPOCOの情報がCodeZineとP
kazuhoさんがやってくれました。 ずいぶん前からjsonをC++でパース(SAXじゃなくてDOM)するのに小さいライブラリないかなーと思ってました。個人的にはjson-cというのを使ってたのですが、幾らか気に入らない所があったりビルドが少し手間だったりしていました。STLしか使わなくてvectorとかmapで表現されるツリー構造な物が欲しいなぁって思ってたんです。 とあるIRCで昨日、kazuhoさんと「ほしいですよねー」という話から始まって、githubにあるjsonxxとかも物色しながら「いいのないねー」とか言ってたらkazuhoさんが「もすこし綺麗に書けそう」って言い出して朝から本格的に書き始めてついさっき出来上がりました。速いw 名前はpicojson とても小さく、実装コードだと300数十ステップ程です。しかもヘッダファイルだけなので管理が楽です。 試しにwassrのpubl
2011/03/22更新:Qtが更新されたので新しいのを書きました http://d.hatena.ne.jp/rofi/20110321/1300741573 はじめに Qtはマルチプラットフォームなフレームワークです。 詳細はQtでググッてください。 Qtはオープンソース版ではMinGWしか使えません。 (多分。フレームワークだけならばVC++版もあるみたい・・・) そこでVisual Studioでコンパイルを行おうとするならばQt自体を自分でビルドする必要があります。 以下は私が行った記録です。 注意:これは私が試行錯誤して行った記録でありこの方法が正しい保証はありません。 環境 Qt 4.7.1 Qt Creator 2.0.1 Visual Studio 2010 Professional Windows 7 64bit版 概要 Qtのソースを落としてくる Qt Framewo
id:s-yata さんの新作trieライブラリが公開されていたので使ってみました。環境はMac OS Xです。やた@はてな日記 marisa-trie - Project Hosting on Google Code インストール普通にGoogle Codeからダウンロードしてインストールします。 $ wget http://marisa-trie.googlecode.com/files/marisa-0.0.1.tar.gz $ tar xfz marisa-0.0.1.tar.gz $ cd marisa-0.0.1/ $ ./configure $ make $ sudo make install 動作確認Wikipedia N-gram(nokunoの日記)よりbigramを格納し、marisa-predictによって前方一致検索を行いました。 $ cat bigram.txt
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く