Submit Search
Upload
Casablanca
•
3 likes
•
2,973 views
egtra
Follow
Boost.勉強会#16 大阪で発表したときのものです。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 20
Download now
Download to read offline
Recommended
C++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用する
You&I
RespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShell
Yoshifumi Kawai
asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?
Yosuke Onoue
Config mapについて
Config mapについて
Arata Honda
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
Webブラウザで使えるいろんな処理系
Webブラウザで使えるいろんな処理系
祐司 伊藤
PIAXで作る P2Pネットワーク
PIAXで作る P2Pネットワーク
祐司 伊藤
Excite beer bash06
Excite beer bash06
Arata Honda
Recommended
C++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用する
You&I
RespClient - Minimal Redis Client for PowerShell
RespClient - Minimal Redis Client for PowerShell
Yoshifumi Kawai
asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?
Yosuke Onoue
Config mapについて
Config mapについて
Arata Honda
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
Webブラウザで使えるいろんな処理系
Webブラウザで使えるいろんな処理系
祐司 伊藤
PIAXで作る P2Pネットワーク
PIAXで作る P2Pネットワーク
祐司 伊藤
Excite beer bash06
Excite beer bash06
Arata Honda
F# で ASP.NET
F# で ASP.NET
m ishizaki
Web socket and gRPC
Web socket and gRPC
TIS Inc
私が ASP.NET を選ぶ理由
私が ASP.NET を選ぶ理由
m ishizaki
[2001/01/23] VSLive! / Visual C++.NET 新機能概要
[2001/01/23] VSLive! / Visual C++.NET 新機能概要
Tatsuhiko Tanaka
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
Visual Studio Codeで始めるTypeScript
Visual Studio Codeで始めるTypeScript
Akira Inoue
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
Akira Inoue
The History of LINQ
The History of LINQ
Yoshifumi Kawai
WebComponentsとPolymer
WebComponentsとPolymer
Takahiro Maki
Bait and switch
Bait and switch
m ishizaki
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Kei Nakazawa
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
祐司 伊藤
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
Teppei Sato
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
Kazuya Hiruma
Visual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsi
Tadahiro Ishisaka
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Akira Inoue
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Teppei Sato
Alt#0x008 2017/5/20
Alt#0x008 2017/5/20
Koki Natsume
Using xvim with macvim
Using xvim with macvim
pebble8888
SPA×Auth0
SPA×Auth0
春奈 岡
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
h2so5
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
mganeko
More Related Content
What's hot
F# で ASP.NET
F# で ASP.NET
m ishizaki
Web socket and gRPC
Web socket and gRPC
TIS Inc
私が ASP.NET を選ぶ理由
私が ASP.NET を選ぶ理由
m ishizaki
[2001/01/23] VSLive! / Visual C++.NET 新機能概要
[2001/01/23] VSLive! / Visual C++.NET 新機能概要
Tatsuhiko Tanaka
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
Visual Studio Codeで始めるTypeScript
Visual Studio Codeで始めるTypeScript
Akira Inoue
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
Akira Inoue
The History of LINQ
The History of LINQ
Yoshifumi Kawai
WebComponentsとPolymer
WebComponentsとPolymer
Takahiro Maki
Bait and switch
Bait and switch
m ishizaki
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Kei Nakazawa
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
祐司 伊藤
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
Teppei Sato
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
Kazuya Hiruma
Visual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsi
Tadahiro Ishisaka
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Akira Inoue
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Teppei Sato
Alt#0x008 2017/5/20
Alt#0x008 2017/5/20
Koki Natsume
Using xvim with macvim
Using xvim with macvim
pebble8888
SPA×Auth0
SPA×Auth0
春奈 岡
What's hot
(20)
F# で ASP.NET
F# で ASP.NET
Web socket and gRPC
Web socket and gRPC
私が ASP.NET を選ぶ理由
私が ASP.NET を選ぶ理由
[2001/01/23] VSLive! / Visual C++.NET 新機能概要
[2001/01/23] VSLive! / Visual C++.NET 新機能概要
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Visual Studio Codeで始めるTypeScript
Visual Studio Codeで始めるTypeScript
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
The History of LINQ
The History of LINQ
WebComponentsとPolymer
WebComponentsとPolymer
Bait and switch
Bait and switch
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
ライブラリにあらず! 〜Google Closure Toolsの事始め〜
Visual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsi
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Alt#0x008 2017/5/20
Alt#0x008 2017/5/20
Using xvim with macvim
Using xvim with macvim
SPA×Auth0
SPA×Auth0
Similar to Casablanca
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
h2so5
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
mganeko
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月
Emma Haruka Iwao
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
Kensaku Komatsu
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
MITSUNARI Shigeo
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
Bluetooth Low Energy入門講座 -part2
Bluetooth Low Energy入門講座 -part2
edy555
Draft: Observability, Service Mesh and Microservices
Draft: Observability, Service Mesh and Microservices
Taiki
無料セミナー20170321 awsから始めるlinux入門
無料セミナー20170321 awsから始めるlinux入門
Trainocate Japan, Ltd.
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
GoAzure
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
moai kids
Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
Keisuke Ishibashi
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
Kubernetesを触ってみた
Kubernetesを触ってみた
Kazuto Kusama
Mozillaのビルドインフラ
Mozillaのビルドインフラ
Makoto Kato
JavaScript And Keywords
JavaScript And Keywords
uupaa
TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
Yoshifumi Kawai
Similar to Casablanca
(20)
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
ブラウザからWeb OSへ〜Web - TV連携事例からその可能性を探る〜
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Bluetooth Low Energy入門講座 -part2
Bluetooth Low Energy入門講座 -part2
Draft: Observability, Service Mesh and Microservices
Draft: Observability, Service Mesh and Microservices
無料セミナー20170321 awsから始めるlinux入門
無料セミナー20170321 awsから始めるlinux入門
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
Kubernetesを触ってみた
Kubernetesを触ってみた
Mozillaのビルドインフラ
Mozillaのビルドインフラ
JavaScript And Keywords
JavaScript And Keywords
TypeScriptへの入口
TypeScriptへの入口
Couch DB in 15minutes
Couch DB in 15minutes
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
More from egtra
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSAL
egtra
エクストリームC++11/14プログラミング
エクストリームC++11/14プログラミング
egtra
Visual C++ 2015の紹介(C++11/14的に)
Visual C++ 2015の紹介(C++11/14的に)
egtra
Firefox拡張機能を始める
Firefox拡張機能を始める
egtra
ATLに見る魔術
ATLに見る魔術
egtra
再変換 (K2Editor)
再変換 (K2Editor)
egtra
C++11概要 ライブラリ編
C++11概要 ライブラリ編
egtra
char32_tとXpressiveと
char32_tとXpressiveと
egtra
Boost.Range入門
Boost.Range入門
egtra
Boost.Graph入門
Boost.Graph入門
egtra
More from egtra
(10)
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSAL
エクストリームC++11/14プログラミング
エクストリームC++11/14プログラミング
Visual C++ 2015の紹介(C++11/14的に)
Visual C++ 2015の紹介(C++11/14的に)
Firefox拡張機能を始める
Firefox拡張機能を始める
ATLに見る魔術
ATLに見る魔術
再変換 (K2Editor)
再変換 (K2Editor)
C++11概要 ライブラリ編
C++11概要 ライブラリ編
char32_tとXpressiveと
char32_tとXpressiveと
Boost.Range入門
Boost.Range入門
Boost.Graph入門
Boost.Graph入門
Recently uploaded
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Recently uploaded
(10)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Casablanca
1.
Casablanca でHTTP H.26/09/20
Egtra For Boost.勉強会#16
2.
自分 •Egtra –Twitter:
@egtra –http://dev.activebasic.com/egtra/ •仕事: 主にVisual C++ 2005 (Windows) –最近C++ (Linux)も少し
3.
動機:私は探していた •HTTPライブラリ(クライアント) –主にAPIサーバー相手の通信
•クロスプラットフォーム –WindowsとLinuxほかUnix系
4.
C++ REST SDK
•クライアント・サーバ –HTTPS対応 •JSON, Oauth, WebScoket •Win/Mac/Linuxなど •C++11必須 •MS発OSSライブラリ •https://casablanca.codeprex.com/ ※ グレーは今回私が使っていないものです。
5.
プラットフォーム •Windows –Desktop/Store/Phone
•Linux, FreeBSD –Android: 対応中(?) •Mac OS X, iOS
6.
こんな感じ(1⁄2) http_clientclient(U("http://example.com/")); http_requestreq(methods::POST);
req.set_request_uri(U("my_api.txt")); req.set_body(……); autoresTask= client.request(req); // resTaskはpplx::task<http_response>
7.
こんな感じ(2⁄2) autobodyTask= resTask.then([](consthttp_response&
res) { // res.status_code(); // res.headers().content_type(); returnres.extract_body(); }; std::vector<unsigned char> body = bodyTask.get();
8.
こんな感じ(まとめ) •http_clientを作る •requestに↑
を渡す •http_responseを受け取る •extract_*()で中身を得る
9.
pplx::task •VC++のppl::taskの移植版 •ほぼstd::future
–thenメンバ関数がある! –協調的キャンセル機構など
10.
thenによるチェイン(1) client.request(req) .then([](constauto&
res) { returnres.extract_vector(); }).then([](constauto& vec) { returnvecをいい感じに解析; }).then([](conststd::string& result) { ……
11.
thenによるチェイン(2) pplx::task<std::string> call_my_api()
{ returnclient.request(req) .then([](constauto& res) { returnres.extract_vector(); }).then([](constauto& vec) { returnvecをいい感じに解析; }); }
12.
ヘッダー •req.headers().… orres.headers().…
–add(name, value), remove(name) –has(name), [], find(name) –begin(), end(), size(), empty() –content_type(), content_length(), –date(), cache_control()(読み取り) •set_…(value)(書き込み)
13.
リクエスト・ボディー •req.set_body(……) –文字列(std::string
orstring_t) –文字列, Content-Type文字列 –json::value –std::vector<unsigned char> –concurrency::stream::istream
14.
ステータスコード •res.status_code() ->
status_code –typedefunsigned shortstatus_code; –定数status_codes::OKほか •res.reason_phrase()
15.
レスポンス・ボディー •res.extract_string()-> pplx::task<文字列>
•res.extract_json() -> pplx::<json::value> •res.extract_vector() -> pplx::task<std::vector<unsigned char>> •body() -> concurrency::streams::istream
16.
文字列 •Windows: UTF-16(wchar_t)
•その他: UTF-8(char) •共通化 –char_t, string_t, stringstream_t –U("リテラル") –ucout, ucin, ucerr
17.
足回り •Windows: –WinHTTP.dll,
WinHTTP.sys –IXmlHttpRequest2 •その他: Boost.Asio –SSL: boost::asio::ssl(OpenSSL)
18.
インストール •Windows: –Visual
Studio内nuget
19.
インストール(Ubuntu) apt-get install
openssl-devcmake cdcasablanca/Release mkdirbuild.release cdbuild.release cmake.. BOOST_ROOT=…… # aptでBoostを入れたなら、BOOST_ROOT不要
20.
This work is
licensed under a Creative Commons Attribution- ShareAlike4.0 International License.
Download now