atomikos and bitronix are solutions for XA(2pc) and database need support xa, is not alternative of saga. 🤔
@MarcoLenzo3 күн бұрын
Correct. Let me explain why I say the saga is an alternative to a distributed transaction. (Either / or) I say alternative because if you can afford doing distributed transactions, there's less value in adopting a Saga pattern. That said the two approaches could coexist but I see it as a rare scenario.
@XiaolongLu-j1t2 күн бұрын
@@MarcoLenzo yes, in my opinion,nowdays xa is not the first consideration in distributed tx for its poor capacity. in jdbc scenario, other solutations like Seata(AT mode) is better.
@MarcoLenzo2 күн бұрын
@XiaolongLu-j1t Thanks a lot for sharing. I never used Apache Seata. You gave me something new to learn!
@MarcoLenzo11 күн бұрын
Would you write a modern web application without Inversion of Control, i.e. without Spring or similar frameworks?
@aditramaputra205717 күн бұрын
Great info. Thanks for sharing 🙏
@MarcoLenzo16 күн бұрын
Thank you
@msausu22 күн бұрын
Agree!
@MarcoLenzo21 күн бұрын
👍
@msausu22 күн бұрын
Agree!
@MarcoLenzo21 күн бұрын
💪
@MarcoLenzo26 күн бұрын
Did you know you can use Kubernetes to implement any declarative API? Let me know if you wish a tutorial on this 🫡
@AntonArhipov26 күн бұрын
Thank you for the overview and highlighting the issues.
@MarcoLenzo26 күн бұрын
Pleasure
@josgrahaАй бұрын
I use codeium but afaik it doesn't work with jetbrains ide
@MarcoLenzoАй бұрын
IntelliJ IDEA is my primary IDE and I use Codeium on it. If you prefer JetBrains IDEs, just give it a shot and see how it works for you.
@alan-Ай бұрын
Helpful tips for working with ChatGPT
@MarcoLenzoАй бұрын
🙏
@ahmettek315Ай бұрын
It was nice to see what I am already using for free was the tool that you suggest as github copilot alternative :)
@MarcoLenzoАй бұрын
Have you ever used ChatGPT for DDD or Software Architecture in general? 🤓
@rishiraj2548Ай бұрын
Good day greetings
@MarcoLenzoАй бұрын
Have a nice day you too!
@ayushprasad8207Ай бұрын
gr8 kontent
@MarcoLenzoАй бұрын
Thank you 🙏
@RoamingAdhocratАй бұрын
any Sim City players will appreciate the colour-coding of the layers. Infrastructure = Industrial, Domain = Commercial, Presentation = Residential. Makes sense as the users live in the presentation layer :)
@MarcoLenzoАй бұрын
Good one! 😆
@RoamingAdhocratАй бұрын
This was very clear - thanks!
@MarcoLenzoАй бұрын
Thank you!
@DorisCorey-j7iАй бұрын
Robinson Ronald Thompson George Thomas Jose
@MarcoLenzoАй бұрын
👋
@Johan-rm6ecАй бұрын
I use ChatGPT the limited free version. Downside is it hasn't a scope view about your questions. So to get what you want takes a lot of time. The good side it gives great code and overall quality is great.
@karthickjayaraman2090Ай бұрын
Perfect video for taking notes. Thank you boss.
@MarcoLenzoАй бұрын
Thank you
@zeeeeeman2 ай бұрын
Cody anyone? I use it VSCode, but It causes all kinds of errors in Intellij. It's not bad though -
@MarcoLenzoАй бұрын
I did have a few errors lately. However, they don't seem to affect the IDE negatively. Hopefully, they'll be solved in future updates.
@jairo_manrique2 ай бұрын
Hi Marco, great video thanks. Im a little bit confused on how manage order Items in order aggregate without expose the item set, how iterate over them, update item quantity (may be a easy method) and mapping to dto? And, what method explotion mean? I appreciate your advice a lot.
@MarcoLenzoАй бұрын
Hi, excuse me for the late reply. I'm not sure I understand your problem with the item set. Why don't you want it in the aggregate? It's fine having it there.
@MarcoLenzoАй бұрын
Hi! Excuse me for the late reply. Why don't you want the item set in the aggregate? You can have a set or list of VOs in an entity or aggregate.
@uchchhash-dev2 ай бұрын
Great video. Thanks for the precise explanation!!
@MarcoLenzoАй бұрын
Thank you!
@geekwithabs2 ай бұрын
Thanks for the video. Exactly what I wanted to know and what I suspected.
@MarcoLenzo2 ай бұрын
Glad I could help
@CC_FPV2 ай бұрын
The only problem I can see with copilot in Pycharm is that you don’t get the link in the run window when an error has occurred to ask the AI to explain etc. with the Jetbrains AI you do. Unless I’m missing something!
@MarcoLenzo2 ай бұрын
You are correct. JetBrains AI Assistant enjoys a way deeper integration with their IDEs than the competition. This is the reason why I keep testing it. I use JetBrains IDEs and if their assistant was on par with the competition I would happily use it too. Unfortunately my experience has never been extremely positive with their assistant. I'll keep on giving it chances though. More or less I experiment with it every quarter :)
@michalmakhadankar2 ай бұрын
Copilot. And I am satisfied so far.
@MarcoLenzo2 ай бұрын
Yeah I agree.
@FateflyYip2 ай бұрын
omg it is working...i cannot imagine it is free to use. Any limitation that i can use it per day?
@MarcoLenzo2 ай бұрын
As far as I know there are no limits when you use their base model. Limitations are on the use of other models like GPT4, etc.
@fele092 ай бұрын
been a week trying to get my head around. this is very simple to understand
@MarcoLenzo2 ай бұрын
Let me know if you are interested in a particular topic and I will do a video on it.
@YoQi-rm3xn2 ай бұрын
Setters shouldn't be private for RGBColor VO as rule of thumb ??? Creating VO with "new" and "public" constructor? Setter would return a new instance everytime of RGBColor, something is not good....
@MarcoLenzo2 ай бұрын
If you notice, RGBColor is a Java record. In Java records, all fields are (implicitly) final and there are no setters to foster immutability. Give it a try and let me know.
@YoQi-rm3xn2 ай бұрын
@@MarcoLenzo what is setRed setBlue and setGreen? They r not setters?
@MarcoLenzo2 ай бұрын
Oh now I understand what you are referring to. Those are examples of side-effect free functions. They are not typical setters. Maybe I should have given a different example naming the functions differently to avoid confusion. The idea is that VOs are not data containers with no behavior. It is fine for them to implement functions that act on its state. However, when this happens, we need to enforce immutability, thus we are forced to return new instances. This way there is no risk to change the state of some other object that was holding a reference to the initial VO. You can find this concept explained in the book by Vernon "Implementing DDD" in the chapter dealing with Value Objects. Hope this clarifies it. Excuse me for the poor example. Also search the web for side-effect free functions and you'll find a lot of material. I'll try to cover them in another video.
@YoQi-rm3xn2 ай бұрын
@@MarcoLenzo yes please, would b great
@lilivier2 ай бұрын
I tested both and Copilot wins easily.
@MarcoLenzo2 ай бұрын
Agree
@davidgg84622 ай бұрын
Very good video
@MarcoLenzo2 ай бұрын
Thank you
@davidgg84622 ай бұрын
Always good to
@MarcoLenzo2 ай бұрын
Thank you
@TheCodeConnoisseur3 ай бұрын
Fantastic
@MarcoLenzo3 ай бұрын
Thank you
@davidtheprogrammer3 ай бұрын
Great review! Thanks. Have you tried Supermaven? I hear it's really good.
@devanii3 ай бұрын
cody ai
@MarcoLenzo3 ай бұрын
Will try it out
@ariasalmeida3 ай бұрын
your support slides are excellents! thank you !
@MarcoLenzo3 ай бұрын
Thank you
@READBOOKIQBAL3 ай бұрын
Great stuff, really insightful. Keep this up !
@MarcoLenzo3 ай бұрын
Thank you 🙏
@stillmattwest3 ай бұрын
This is a great breakdown. It would be amazing if you created a playlist where you built an example app using these principles. Subscribed.
@MarcoLenzo3 ай бұрын
Thank you for the suggestion 🙏 In a later video on the hexagonal architecture kzbin.info/www/bejne/b2PIiHaHp8imrLM, I shared a sample repository. I will surely do more videos on the subject trying to give some practical examples whenever possible.
@DevBabu3 ай бұрын
Many Thanks. You have very well covered all challnging aspects of MicroService Design in 7 mts. Well done !
@MarcoLenzo3 ай бұрын
Thank you 🙏
@Realopinion493 ай бұрын
you have excellent capability to explain the complex problem
@MarcoLenzo3 ай бұрын
Thank you 🙇♂️
@richardsonhmm3 ай бұрын
Muito obrigado! [pt-br] 🫡
@MarcoLenzo3 ай бұрын
It's my pleasure
@digitic35513 ай бұрын
Gonna try yo use value objects more... As tou said, it's easier to maintain and the code is more readable ...
@MarcoLenzo3 ай бұрын
Great!
@Talaria.School3 ай бұрын
👏🏻
@MarcoLenzo3 ай бұрын
👋
@MarcoLenzo3 ай бұрын
Do you use Value Objects enough in your models? Do you make the immutable? Let me know 🤓
@mcahornsirup3 ай бұрын
Copilot for now... but as far as I know, commit messages can not be autogenerated with copilot - that is a feature I am missing.
@MarcoLenzo3 ай бұрын
Some advanced features are not available for individuals. In the "enterprise" subscription Copilot is also capable of generating pull request summaries based on their content. I leave you two links: docs.github.com/en/copilot/about-github-copilot/subscription-plans-for-github-copilot#comparing-copilot-subscriptions docs.github.com/en/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-pull-request-summaries
@mcahornsirup3 ай бұрын
@@MarcoLenzo Thanks! ... going to check it out 😇
@MrNPC3 ай бұрын
There is a plugin called AI Commit that if you put your openai key into can generate commit messages with an icon next to were the jetbrains ai commit button is.
@MarcoLenzo3 ай бұрын
@@MrNPC thank you for the tip!
@mcahornsirup3 ай бұрын
@@MrNPC Good to know! Thanks : )
@BB-gj7de3 ай бұрын
Thank you for this nice video!
@MarcoLenzo3 ай бұрын
Thank you too!
@BB-gj7de3 ай бұрын
Thanks for the nice video, man! Do you know if Jetbrains AI Assistant also has improvements for Rider and .NET or it's only for Java/Kotlin?
@MarcoLenzo3 ай бұрын
The official documentation I used as reference for the video mentioned only Java and Kotlin. blog.jetbrains.com/idea/2024/07/intellij-idea-2024-2-eap-7/
@BB-gj7de3 ай бұрын
Thank you for response!
@TesaskansephielRavendawn3 ай бұрын
I think AI assistance should be free when has a active subscription ...
@MarcoLenzo3 ай бұрын
Yeah. Unfortunately, you need to pay extra for the service.
@TesaskansephielRavendawn3 ай бұрын
@@MarcoLenzo yeah I know, its because ee have the lifetime version, some times I dont think too much value in continue the subscription of paying 100 usd a year, to add just so small improvements, and with the IA being “free” on subscription would encourage me to continue paying
@MarcoLenzo4 ай бұрын
Did you ever use GraalVM Native Image compilation? Share your experience!
@ClaytonTaboneMT4 ай бұрын
Like the new backdrop. I also struggle a bit to see the use-cases which might be applicable for AOT, given the price that needs to be paid in compilation time and potential stability issues. As you rightly described, for CLI development, Java is probably not the best language for the job. For web applications, the benefits of AOT are limited since startup time might not be that crucial for long-lived applications. So it seems the biggest benefits are relegated mostly to serverless applications. For any other use-case, the performance improvements seem like premature optimization, unless the use-case requires such optimization. And even then, one might want to question the choice of language and framework rather than using the same language and trying to optimize.
@OK-iw5im4 ай бұрын
great, thx
@MarcoLenzo4 ай бұрын
thank you :)
@OK-iw5im4 ай бұрын
amazing you id love to know the diff between onion and clear architecture
@MarcoLenzo4 ай бұрын
Got a video on clean and another one on hexagonal as well. If the difference is not clear let me know.