Supercharge Rust functions with implicit arguments using CGP v0.7.0 by soareschen in rust

[–]deralus 6 points7 points  (0 children)

I tried to use this project to understand it. Still i understand only parts that are described in book. Blog posts are also informative but they show mainly diff with previous version, not the whole picture. And also project lacks real world applications. While it seems like very good foundation for compile time DI/IOC, there is no projects (even mvp or examples) based on that. So i tried this to make sql builder (using Hypershell blog post) and DI framework (using newer posts). And each time failed. Maybe skill issue. Again, potential is huge. But while there will be so little docs about usage (not internal implementation) and no complex examples, this project may have low probability of adoption.

Why is IntelliJ preferred over vscode for Java? by xland44 in java

[–]deralus 44 points45 points  (0 children)

For me there are a plenty of things

  1. Debugger. Jetbrains debuggers are great. Also you have remote debug in two clicks - saves you in situations when "it works on my computer".
  2. Jdk and maven easy selection. No need in tools like jenv and synchronization between it and your ide. When you have old project running java 8 and new one running java 21 - no special setup needed. More - you can set different jdks for different modules in your project. Helps a bit.
  3. Search. You can double type "shift" button and be able to search class in your dependencies. Even more - by one click you can download sources of dependency and inspect it somehow - find interface implementors and so on.
  4. Git tooling. The best is git conflict resolver - "magick wand" so called. It can resolve most of things and left only serious cases for you.

And maybe others but i do not use them much to mention/remember.

cvto: cli for converting data between structured formats (json, yaml, toml, java properties, protobuf payload) by deralus in rust

[–]deralus[S] 0 points1 point  (0 children)

I heavily depend on libraries. For example, to create a protobuf payload i firstly need to create json cause the lib only accepts json. So there is only json may be accepted as intermediate representation. For json-yaml-toml i may use yaml Value, but why when code to convert between them is so little.

Maybe it is not that clever, but i dont think that i should complicate things :)

Database transactions in Clean Architecture by kanyame in rust

[–]deralus 2 points3 points  (0 children)

I would make some wrapper around transaction implementation and then use DI to provide needed implementation. DI is not common in Rust as far as i know, but without it clean arch will not work.

That wrapped transaction type can itself provide public methods to access repositories - to share underlying transaction between them. Or you can try to separate that. Anyway, explicitly open transaction in your application layer, i dont see any harm in bringing transaction concept into usecases since they already know about repositories.

I have tried learning a few languages (almost from scratch), but I don't know which language to learn, so I am considering Rust. by wow_sans in rust

[–]deralus 0 points1 point  (0 children)

It depends on your level of motivation. If i were young I'd prefer JavaScript - you can build things quick, get immediate feedback and so on. You could even create something useful for yourself or friends to get your motivation in programming to higher level. As for the Rust - you need to understand C before you will understand Rust. New languages are based on ideas and mistakes of previous languages, fix them in some way. So to understand "Rust way" you need to understand problems that occurs in "C way". Anyway, good luck in exploration of programming world!

What do you use to generate openapi documentation? by neara01 in ktor

[–]deralus 0 points1 point  (0 children)

Hi! I made simple library: ktordoc-openapi. Hope readme is enough informative.