HNHacker News
TopNewBestAskShowJobs

lganzzzo

181 karma · joined October 13, 2018

submissionscomments
lganzzzo··on Ask HN: What are you working on?
I'm working on a web framework Oat++. Similar to java-spring but for C++.

- https://github.com/oatpp/oatpp

- https://oatpp.io/

lganzzzo··on Six Months of Tiny Projects
Nice! Just build it!

It's a blessing to see that there are people who can just build things instead of whining around like: ohh it's not a business... ohh it won't make any money... ohh it's not so simple to build a product... mkay

lganzzzo··on GitHub Certifications (Beta)
Stupid shit
lganzzzo··on Show HN: We've made a new C++/Oat++ module to work with MongoDB easier
An example project using that module - https://github.com/oatpp/example-mongodb
lganzzzo··on Show HN: Feature-complete Rooms Chat for 10K+ users. Built with Oat++
Checkout demo-node - https://canchat.dev/room/lobby
lganzzzo··on Show HN: Light and Powerful Web-Framework for C++
It's fully open-source. Licensed under Apache-2.

Github - https://github.com/oatpp/oatpp

lganzzzo··on Show HN: Light and Powerful Web-Framework for C++
Thanks for the question,

Work on Http2 is planned for this year. Not implemented yet.

Currently supported protocols:

- HTTP1.1

- Websocket

> How to implement server side rendering using a non-javascript backend?

Oat++ is focused on serving APIs. It has no server-side module at the moment. And it's not currently planned in the future.

lganzzzo··on Show HN: Light and Powerful Web-Framework for C++
Version 1.0.0 is finally released. Questions and comments are welcome!
lganzzzo··on Show HN: Visualize how HN/Reddit talk about your company and products
Cool stuff!

I found an issue with "+" symbols in the brand name. Check out this URL - https://brandimage.io/insight/c++?source=hn

If "+" symbol is present, the UI won't show anything.

lganzzzo··on How to Create Performant Rest APIs
I can recommend taking a look at Oat++

https://github.com/oatpp/oatpp

It is a C++ Web Framework with advanced and easy to use APIs

lganzzzo··on Show HN: Monolithization. Build Microservices – Deploy Monolith
Monolithization is the new technic for gradual scaling of microservices that I've introduced in Oat++ web framework. I will be happy to answer any questions!
lganzzzo··on Ask HN: What are some well-designed, but less well-known native Mac apps?
Ionica - Winamp like player. https://apps.apple.com/pl/app/ionica/id1470230251
lganzzzo··on Show HN: Tool for WebSocket benchmarks with Millions of concurrent connections
This tool was successfully used to setup 5 Million connections benchmark for oat++ - https://oatpp.io/benchmark/websocket/5-million/
lganzzzo··on Show HN: Now Supports Windows – Oat++ High Performance Web Framework. C++
Now oatpp is easy portable + it supports Windows.

Github repo - https://github.com/oatpp/oatpp

Full list of supported platforms - https://oatpp.io/supported-platforms/

lganzzzo··on Show HN: High performance room-based chat server example built with Oat++
Thanks!

Any feedback would be appreciated!

lganzzzo··on Show HN: High performance room-based chat server example built with Oat++
Thank you!

There is the benchmark of an echo server built with oatpp (https://oatpp.io/benchmark/websocket/5-million/).

But this room-chat server in particular I didn't test.

I think that even if its 10 times less productive compared to benchmark it is still a pretty good result.

lganzzzo··on Show HN: 5M Concurrent WebSockets
Hey, Thanks for the question!

I use VuePress to generate website pages from markdown. And for ApiReference I wrote my own generator, to generate markdowns from API Docs in the code.

The generator for API docs is not in the public repo currently but I plan to open it later.

Regards

lganzzzo··on Show HN: 5M Concurrent WebSockets
This is a second "million" websockets benchmark of oatpp. Here we increase computing power, and load. In order to see how it scales.
lganzzzo··on Show HN: 5M Concurrent WebSockets
There is a section "steps-to-reproduce" https://oatpp.io/benchmark/websocket/5-million/#steps-to-rep....

Basically I am showing my project, and an achieved performance

lganzzzo··on Show HN: 2M fully loaded concurrent WebSockets
Hey @nelsonic,

Thanks for the question!

I dived straight into C ++ because I had some groundwork written in C ++ from my previous projects.

lganzzzo··on Show HN: 2M fully loaded concurrent WebSockets
Thanks, In this benchmark I decided to go without much of the framework tuning. Mostly took it as is in order to see what I can get. In any case oatpp is general purpose web framework, it is understood that dedicated libraries like uWebSockets may be more optimized. Nevertheless I beleve it's still much space for tunning and optimizing of oatpp.
lganzzzo··on Show HN: 2M fully loaded concurrent WebSockets
Not 20M, but 2M fully loaded sockets... about 1 message per 13sec per Connection
lganzzzo··on Show HN: 2M fully loaded concurrent WebSockets
:)) My infra is $15/Month instance running oatpp server
lganzzzo··on Show HN: 2M fully loaded concurrent WebSockets
You may also want to check out:

- benchmark project repo - https://github.com/oatpp/benchmark-websocket

- oatpp framework repo (the benchmark built with) - https://github.com/oatpp/oatpp

lganzzzo··on Show HN: 2M fully loaded concurrent WebSockets
I Agree, It could be less than 15Gb for 2M WebSockets. But it's the first benchmark, and I decided to make it without much of optimizations - just to have a starting point. There is still much space for optimizations like reducing internal buffers and so on, but I will leave it for future tests.
lganzzzo··on Show HN: C++/Oat++. Object Mapping. Serialization and Deserialization
About object mapping used in oatpp web framework, to serialize/deserialize DTOs, map endpoint params, and generate endpoints docs.
lganzzzo··on Show HN: C++ Modern Web Api Client Built with Oat++
oatpp ApiClient is a mechanism which enables you to generate Web Api Clients in declarative manner. Under the hood it uses provided RequestExecutor to perform http requests. Thus you are abstracted from the low-level http-client library implementation and can substitute any other http-client library at any time with zero code changes. Roughly you may treat oatpp ApiClient as Java Retrofit for C++.
lganzzzo··on Show HN: “Java Retrofit” for C++. Build Web Clients with Oatpp ApiClient/libcurl
oatpp ApiClient is a mechanism which enables you to generate Web Api Clients in declarative manner.

Under the hood it uses provided RequestExecutor to perform http requests. Thus you are abstracted from the low-level http-client library implementation and you can substitute any other http-client library at any time with zero code changes.

Roughly you may treat oatpp ApiClient as "Java Retrofit" for C++.

lganzzzo··on Show HN: C++ Async HTTPS server built with oat++ framework and LibreSSL
Asynchronous HTTPS server built with oat++ Async API.

Features:

- HTTPS based on LibreSSL

- Basic endpoint with DTO serialization to JSON

- Asynchronous proxy endpoint to remote service

lganzzzo··on Show HN: C++ Http-Live-Streaming Server built with Oat++ framework
Thank you for the question,

As far as I can see - it should be possible. In any case additional tweaks should be made to this example.

Page 1 of 2Next →