Two good rules of thumbs. I often use them in JS and Vue hints about avoiding v-if in v-for directives.
Recommended rust crates and resources can be found at the end of the guide
TL;DR security vulnerabilities introduced by new Rust contributors are largely less than C++ contributors. They use the amount of commits to measure it as experience. It confirms the claim of the
Namely, while it may still be true that Rust may feel like a more difficult language to learn, in at least some ways, new contributors benefit from its adoption, with their first contributions being less than 2% as likely to introduce vulnerabilities as C++, and first-time contributors appearing at a notably higher rate in the projects examined.
The results should not be used as is, as there are some effects:
- does Rust increase the number of contributors or does Rust act as its own filter and
reduce the rate of new contributors entirely - it is possible Rust developers are more experienced with programming in general. Note that the study focused on new contributors, not new maintainers.
- at around 18,000 commits, a C++ developer will be less likely to introduce a vulnerability than an equivalently experienced Rust developer.
- Finally, there is some limitation to these results in that they
all come from Oxidation projects.
Nice: a web service that creates a calendar event from a URL
The author takes the example of a tree structure.
TL;DR; Start with lifetimes, if it is not enough and you don't need a specific guarantee: Box, then go for Rc or Arc if needed.
Various way to print "Hello World!" in rust
Advantages of types: they are here to help, improve readability, and provide context
How it is optimized to be the fastest possible.
All that we did to get this speedup is implement the Serialize trait using one line for the body of the serialize method!
But implementing the trait directly loses the possibility to serialize the structure with the #derive(Serialize) macro.
Instead, you should implement it on wrapper types that act like formatters.
Also for efficiency: format_args!
doesn't allocate or even apply the formatting! It only returns Arguments which is a formatter that borrows its arguments.
The author shares its point of view on Shuttle that needs little to nearly 0 configuration to get started.
Zerocal was the first project I deployed on Shuttle. The principle was very simple yet innovative: encode calendar data directly into a URL. [https://endler.dev/2022/zerocal/]
#project #idea improve the UI or make a custom one that calls the API
#project #idea use such API to generate other files. Contacts?
Ok not bad at all. I still think Rust is not meant for prototyping, but let's give it a try.
This project looks interesting.
- No VDOM
- Rust syntax
- CSS scoping
- Routing & SSR & SSG
- Tauri support
- Htmx integration
Will it be worth it for you? If you need to iterate rapidly, probably not. If you have a known scope, or can absorb more upfront cost? Definitely consider it. You’ll end up with bulletproof software. With the WebAssembly angle becoming stronger every month, the prospect of writing perfect software once and reusing it everywhere is becoming a reality sooner rather than later.
As I am using Typescript on a daily basis, it helped to have such a comparison 😃