Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?
Just learning. I threw together a little CRUD API in Rocket the other day.
Now I’m playing around with Diesel. I don’t love the intermediate New types, coming from EF Core. Is that because Rust ~~~~doesn’t really have constructors?
Can you give an example? Pretty much everything in Diesel is abstracted away through trait macros.
reverse proxy using tokio and hyper, there are few things to figure out on high traffic sites, it doesn’t work as well compared to nginx after a certain threshold.
Maybe Cloudflare’s pingora suits this purpose better given that it is being used by cloudflare to proxy traffic at a large scale
Yeah, I’m looking at it, will probably rewrite the logic using Pingora. or maybe I did something wrong. Not sure if its something using the hyper legacy client, that has connection pooling, maybe there’s something there to improve.
or maybe the use of RwLock to share the config struct is reaching some limits. Will try using parking_lot to see if anything changes.
That’s too bad, I was thinking of replacing our nginx proxy with Rust. We need a little logic, so we currently have nginx -> gateway service -> microservice, and I was hoping to drop nginx. Maybe I still can, but it sounds like there would be some tradeoffs.
Working on a static site generator for a publication coming out of my high school
I just started writing a programming language! I’m using pest for the grammar/lexing, which makes if super easy. I built my ast using enums and structs, which makes me appreciate Rust even more. I also am coming to love the way rust handles errors. For example, when there’s an error converting from pest -> ast, it feeds all of the error into into my error type, which is so much easier to handle than making it panic out of the function
deleted by creator
A general purpose memory allocator although this is really much a work in progress i think there are some good opportunities for otimization in a memory allocator for rust.
For example Rust gives you the size of memory region to free, which means the allocator does not have to track that.