Hello everyone.
This library (webpp) is written in C++ and is going to be a high level web framework for C++ developers (at least in my first phase but I have waaaaaaay more interesting ideas).
I'd appreciate any help of any kind. Even if you're not interested in coding, here are some ways you can help out:
- Writing tests; I dare you to make me mad by writing too much tests π
- Writing benchmarks: I write lots of benchmarks (even outside the scope of this project) to make sure I'm using the right tool/library/feature/class/template/... .
- Make jokes: make (not) funny jokes in our @webpp_discuss group
- Share ideas: I have plenty of ideas, and I want more.
- Report bugs: you can find me in the @webpp_discuss group; report the bugs there; or open issues on github/gitlab.
- Financial support: this project is open-source; we'll need some money for hosting and advertising.
- Share on social-media: I'll appreciate any shout-out about this project; even if you give a bad feedback.
- Learn/&Teach: we can teach you and also learn from you; so let's talk code!
- Suggest someone who can help: I'd appreciate any help on finding people who can help in any way.
- Write documentation: writing documentation is so much fun that I don't want to do it alone! π
Ask any question about this project in @webpp_discuss group. You don't even have to ask; just say hi and let's talk code, benchmark, test, or even memes π
This library (webpp) is written in C++ and is going to be a high level web framework for C++ developers (at least in my first phase but I have waaaaaaay more interesting ideas).
I'd appreciate any help of any kind. Even if you're not interested in coding, here are some ways you can help out:
- Writing tests; I dare you to make me mad by writing too much tests π
- Writing benchmarks: I write lots of benchmarks (even outside the scope of this project) to make sure I'm using the right tool/library/feature/class/template/... .
- Make jokes: make (not) funny jokes in our @webpp_discuss group
- Share ideas: I have plenty of ideas, and I want more.
- Report bugs: you can find me in the @webpp_discuss group; report the bugs there; or open issues on github/gitlab.
- Financial support: this project is open-source; we'll need some money for hosting and advertising.
- Share on social-media: I'll appreciate any shout-out about this project; even if you give a bad feedback.
- Learn/&Teach: we can teach you and also learn from you; so let's talk code!
- Suggest someone who can help: I'd appreciate any help on finding people who can help in any way.
- Write documentation: writing documentation is so much fun that I don't want to do it alone! π
Ask any question about this project in @webpp_discuss group. You don't even have to ask; just say hi and let's talk code, benchmark, test, or even memes π
Web++: A C++ Web Framework pinned Β«Hello everyone. This library (webpp) is written in C++ and is going to be a high level web framework for C++ developers (at least in my first phase but I have waaaaaaay more interesting ideas). I'd appreciate any help of any kind. Even if you're not interestedβ¦Β»
New GitLab repo is here now: https://gitlab.com/webpp/webpp
The old one at https://gitlab.com/the.moisrex/webpp won't work from now on.
The old one at https://gitlab.com/the.moisrex/webpp won't work from now on.
GitLab
Projects Β· Web++ Group / Webpp
C++ Web Framework
CI is now up and running in the Gitlab:
The tests are failing at this point but the build is okay.
https://gitlab.com/webpp/webpp/pipelines/137406738
The tests are failing at this point but the build is okay.
https://gitlab.com/webpp/webpp/pipelines/137406738
GitLab
Pipeline Β· Web++ Group / Webpp
C++ Web Framework
Now I have JetBrains' open source license. If you contribute enough, I think I can get you an open source license too. Specially CLion which is just great for this project.
I've coded most of this project inside vim but form now on I'm gonna use CLion.
I've coded most of this project inside vim but form now on I'm gonna use CLion.
Lots of changes;
The project is now can't be even built.
Lots of things to do.
I introduced a new idea named "traits" in the project which will help the final user to use a custom Encoding, Allocators, String types, and hopefully in the future encryption algorithms and their corresponding keys.
These things can be changed by passing the custom traits class (which will include some custom types) as template parameter.
I'm afraid some parts may be a little tricky to make them easy to use for the final developers. I hope I can get them right.
The project is now can't be even built.
Lots of things to do.
I introduced a new idea named "traits" in the project which will help the final user to use a custom Encoding, Allocators, String types, and hopefully in the future encryption algorithms and their corresponding keys.
These things can be changed by passing the custom traits class (which will include some custom types) as template parameter.
I'm afraid some parts may be a little tricky to make them easy to use for the final developers. I hope I can get them right.
For quick search in http://cppreference.com website, just add it's search engine in your Firefox browser search engines list and add a shortcut like "cpp" for it.
Then you just have to open up a tab with Ctrl+T and start typing "cpp std::vector" for example.
ββββββββββββββββββ
Or you could use "Zeal" and download the whole cppreference website and use it offline.
cppreference is my goto website for C++ problems.
Then you just have to open up a tab with Ctrl+T and start typing "cpp std::vector" for example.
ββββββββββββββββββ
Or you could use "Zeal" and download the whole cppreference website and use it offline.
cppreference is my goto website for C++ problems.
This is how you can use the NetworkingTS which hopefully will be added in C++23 in C++20.
Here's the source now: https://gitlab.com/webpp/webpp/-/tree/master/core/include/webpp/std
Here's the source now: https://gitlab.com/webpp/webpp/-/tree/master/core/include/webpp/std
Web++: A C++ Web Framework
Now instead of reading documents, I read implementations. Now I need to implement a whole bunch of stuff just to create a faster case-insensitive equal operator for string types. Of course I don't have to; but I want to!
Why std::char_traits doesn't have this implemented?
Well, I'm gonna advance std::char_traits and add some more features, and fall back to bad old fashion std::tolower to implement it.
Well, I'm gonna advance std::char_traits and add some more features, and fall back to bad old fashion std::tolower to implement it.
Web++: A C++ Web Framework
I wonder what this __builtin_memcmp is! If it's a good algorithm, sure; but I don't like having to use std::char_type::compare for std::string::operator==, I think there are better ways. We don't need to check the whole strings to know they're not both theβ¦
My twitter thread about this: https://twitter.com/the_moisrex/status/1254142556029452289
Twitter
The Moisrex
Now instead of reading documents, I read implementations. Now I need to implement a whole bunch of stuff just to create a faster case-insensitive equal operator for string types. Of course I don't have to; but I want to!
Oh come on,
Now I have to either create two distinct cookie classes, one for request and one for response, or go through the hassle of creating a templated one which will require some template madness in order to make it more optimized for the request header since cookies in request headers don't have as many features as cookies in responses.
Also responses have two different header names for cookies: one
Now I have to either create two distinct cookie classes, one for request and one for response, or go through the hassle of creating a templated one which will require some template madness in order to make it more optimized for the request header since cookies in request headers don't have as many features as cookies in responses.
Also responses have two different header names for cookies: one
Set-Cookie and one Set-Cookie2 which is deprecated for some reason. Thank GOD!This media is not supported in your browser
VIEW IN TELEGRAM
Changing the whole structure of the cookies class.
1hour and 36mins in 28 seconds.
2020-04-26 06-31-30
1hour and 36mins in 28 seconds.
2020-04-26 06-31-30
This media is not supported in your browser
VIEW IN TELEGRAM
Changing the basic_uri signature to match the traits templates.
But I have so much of the implementation that I have to change too.
2020-04-26
But I have so much of the implementation that I have to change too.
2020-04-26