Cerflet は Maya Posch さん作の C++ ベースのシンプルな Web Application server です
Raspberry Pi でもサクサクに動いています
python の tornado みたいにリクエストハンドラを書くだけで簡単に使える上に、オール C++ かつオンメモリなので超高速が期待できます
ちなみに Cerf はジビエ好きな方はピンと来るかと存じますが多分、フランス語の 鹿(セール) なんじゃないかなと想像してます、Maya さんの他のプロダクトも動物の名前のが多いし、彼女の会社の名前からして Nyanko だし
本体の実装は物凄くシンプルでコメント込で 80行ぐらいしかないです、すごい
私だったら C++ の80行ってコマンドライン処理するだけでもゆうに超えちゃったりします
サーバの処理も実行時オプションの処理も POCO の機能が有効に使われてて、POCO の凄さと、POCOを使えば Web Application でさえこんなにシンプルにつくれるという Maya さんのソフトウェア・アーキテクチャのセンスの良さに敬服いたしますとともに、Poco.Net のプラグマティックなチュートリアルとして大変ありがたく読ませていただきました次第でございます
「libPocoNet.so.60 がないよ」とかエラーになるようでしたら ldconfigしてみてください
で、hellocerflet を起動したサーバの port 8080 番をブラウザで開くと
ビックリするほど簡単です
こちら の HTTPRequestHandler の中身を変えて、たとえば ContentType を "text/html" じゃなくて "application/json" にして、ostr に json 文字列を返したら超高速かつコンパクトな API サーバーとしてすぐにでも大活躍しそうです
作者の Maya Posch さんですが、御本人のブログによると生まれつきに抱えるいくつかの問題、特に両性具有に起因する問題(当時のニュース番組がこれ とか これ とか残ってます)で祖国オランダを離れざるを得ず、安住の地を求めて世界を旅しながら自分の会社 Nyanko を運営しつつプログラミングと電子工作に関する数々のプロダクトと著作を世に出していらっしゃいます
まるで物語みたいに数奇な人生を歩みながら outcomes を出されていることに正直圧倒されてしまいました、すごい人がいるもんなんだなぁ
翻って自分を鑑みるにいったい何をやってるんだと情けなく忸怩たる思いに至る次第です
近著 Hands-On Embedded Programming with C++17 を魅力的なタイトルに惹かれて読んだのが彼女を知るきっかけだったんですが、この本も POCO の紹介をふくめて Raspberry Pi みたいなSBC でプロダクトをつくる上でのオリジナルな話題にあふれていてとても面白い本でした
数日前に某所で「C++でウェブアプリ書く気にはならないし」なんて言っちゃったの、謹んで取り消させてください
読書は時として人の世界観をダイナミックに変えてしまうものなのです ^^;;;;;;;
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント