lots of people take meth - so are you gonna take meth too.
```@EnableConfigurationProperties(CasConfigurationProperties.class) @EnableScheduling @ConditionalOnFeatureEnabled(feature = CasFeatureModule.FeatureCatalog.SimpleMFA) @AutoConfiguration @Import({ CasSimpleMultifactorAuthenticationComponentSerializationConfiguration.class, CasSimpleMultifactorAuthenticationConfiguration.class, CasSimpleMultifactorAuthenticationEventExecutionPlanConfiguration.class, CasSimpleMultifactorAuthenticationMultifactorProviderBypassConfiguration.class, CasSimpleMultifactorAuthenticationRestConfiguration.class, CasSimpleMultifactorAuthenticationTicketCatalogConfiguration.class, CasSimpleMultifactorAuthenticationWebflowConfiguration.class }) public class CasSimpleMultifactorAuthenticationAutoConfiguration { }```
this is what we mean by "JavaCulture" - java | JVM really wonderful things but the culture is what sets these things back
someone can't just go in and understand things - they have to understand a bunch of notations too.
then if you work at a place and try do things differently the same people will tell you to revise your PR cz it ain't software engineering (or it won't scale)
this is what we mean by "JavaCulture" - java | JVM really wonderful things but the culture is what sets these things back
Maybe there are still some Java shops out there living like this. But to me, this is a 20 year old outdated notion. shrug
That said, I have in fact also had some outstanding and talented colleagues over the years as well. A point that's probably worth reflecting on, so thanks for the reminder.
I am however struggling to understand an over engineered Rust "micro" service at work. There's no language or framework that is free from this.
Maybe it's because I have not worked in typical enterprise companies?
Spring Boot can be a really quick way to get things done. My current job is not in enterprise, but we use Spring Boot for most of our services, and rarely have issues related to Spring itself. We have micro services handling many transactions per minute and starts up within 10 seconds. The CPU usage is low and decent memory usage, even on the small pod sizes that we use. There are ways to reduce the startup, but we do not have the need. The code is easy to reason about and new hires are productive within a short time.
it is completely declarative and lives in the best place, near your code, not on some other inaccessible repository.
what have you preferred? a json file? a yaml one?
I had them, and I find the annotations are more readable than other solutions.
Usage being high doesn't say anything about quality or suitability of a product specially in enterprise settings.
Now read up on all the dozen of annotations. But yeah, we did not want to "re-invent the wheel".
await using cn = await pool.connect();
const records = await cn.query<MyType>`
SELECT ...
FROM ...
WHERE ...
`;
for await (const record of records) {
...
}
Oh, spring is so much better... var records = jdbcClient
.sql("select * from posts")
.query(Post.class)
.toList();
records.forEach(p -> ...);Thankfully the company that wrote the article has a linter/warning product to help avoid those pitfalls.