From 3934e1286e989c0392718015d90849cdfe7e8072 Mon Sep 17 00:00:00 2001 From: Andrei Ignat Date: Tue, 10 Dec 2024 20:33:20 +0200 Subject: [PATCH] Create BattleDiscutie.html --- 2024/Battle/presentation/BattleDiscutie.html | 720 +++++++++++++++++++ 1 file changed, 720 insertions(+) create mode 100644 2024/Battle/presentation/BattleDiscutie.html diff --git a/2024/Battle/presentation/BattleDiscutie.html b/2024/Battle/presentation/BattleDiscutie.html new file mode 100644 index 00000000..6c30cda1 --- /dev/null +++ b/2024/Battle/presentation/BattleDiscutie.html @@ -0,0 +1,720 @@ + + + + + + + + Battle + + + + + + + + + + + +
+
+
+
+ Welcome to Battle +
+ Press space to navigate. +
+ Press left arrow to go back. +
+ Press right arrow to go forward. +
+
+ Online at https://ignatandrei.github.io/Presentations/Battleprez.html + +
+ For download https://ignatandrei.github.io/Presentations/Battle.zip + +
+
+

About me

+ ignat + Andrei Ignat http://msprogrammer.serviciipeweb.ro/ +
+

+						System.Console.WriteLine("Ignat Andrei");
+						System.Console.WriteLine("Battle");							
+						  
+

YouTube 5 minutes .NET and tools : http://bit.ly/5MinTools +

+

Book Making Open Source Component : http://bit.ly/NetOpenSourceComponent

+

Book Copy Paste from StackOverflow : https://amzn.to/2PQ8EDc

+

Roslyn Source Code Generators with examples : + https://ignatandrei.github.io/RSCG_Examples/ +

+

Monthly meetings: https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/ +

+ For notes press S
+ For print ?print-pdf
+ For all slides press ESC
+ + + + +
+
+ +
+
+ We will talk about different technologies in .NET to achieve the same purpose. +

+DataAccess: EFCore vs Dapper
+ +API: Controllers vs MinimalAPI
+ +CLI : Console App vs ASP.NET Core app
+ +Programming : Records vs Class vs Tuples
+ +OOP: Default Interface methods vs abstract class
+ +Test : XUnit vs MSTest vs NUnit
+ + + +

+
+
+

Data Access

+
+ Debate: Code to DB sau DB to Code +
+ Pro EFCore : independenta de BD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Pro EFCORE + + Pro Dapper + + Contra EFCORE + + Contra Dapper +
+ Folosesti doar LINQ si nu te gindesti la Proceduri stocate , SQL pur + + Ai control asupra Sql-ului si poti sa faci optimizari + + Refacerea modelului daca modific BD .... + + Trebuie sa te pricepi la SQL +
+ Se optimizeaza cu Split Queries si AsNoTracking + + Daca ai mai multa experienta cu SQL, atunci Dapper este mai usor de folosit + + merge lazy loading + + Nu merge lazy loading +
+ Crapa la build time, in loc de compile time + + Mai putin boilerplate code + + read heavy : setup mai greu + + Contra 3 +
+ Scaffolding ( BD => Code ) + + Cod mai simplu + + Contra 4 + + Contra 4 +
+ +
+
+
+

API

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Pro Minimal API + + Pro Controller + + Contra Minimal API + + Contra Controller +
+ Simplitate - pentru programatori incepatori + + Are de toate : Autentificare, Autorizare , request , filter + + Stufos dupa o buna perioada de timp + + Contra 1 +
+ Un punct bun de inceput + + Pro 2 + + Contra 2 + + Contra 2 +
+ Rapid de scris + + Pro 3 + + Lipsesc unele functionalitati - validare cu atribute default + + Contra 3 +
+ memoria mai mica + bun pentru microservicii ( micro !) + + Pro 4 + + Contra 4 + + Contra 4 +
+ +
+ +
+
+

CLI

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Pro Console App + + Pro ASP.NET Core app + + Contra Console App + + Contra ASP.NET Core app +
+ Simplu - mai putin layere + + Dependency Injection by default + + Mai greu de facut logging , monitoring si altele + + Start time +
+ Pro 2 + + Logging, monitoring + + Contra 2 + + Resurse +
+ Pro 3 + + Scalare si concurenta + + Contra 3 + + Contra 3 +
+ Pro 4 + + Pro 4 + + Contra 4 + + Contra 4 +
+ + + + +
+ +
+
+

Programming

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Pro Records + + Pro Tuples + + Pro Class + + Contra Records + + Contra Tuples + + Contra Class +
+ mai usor de utilizat decit tuplu + + daca le folosesti o singura data , atunci named tuple + + poti sa comentezi mai usor proprietatile unei clase decit ale unui tuplu / record + + Contra 1 + + Contra 1 + + Contra 1 +
+ Bun la partea de dto,event, query results + + Pro 2 + + Pro 2 + + Contra 2 + + Contra 2 + + Contra 2 +
+ Partea de egalitate + + Pro 3 + + Pro 3 + + Contra 3 + + Contra 3 + + Contra 3 +
+ Pro 4 + + Pro 4 + + Pro 4 + + Contra 4 + + Contra 4 + + Contra 4 +
+ + +
+ +
+
+

OOP

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Pro Default Interface methods + + Pro abstract class + + Contra Default Interface methods + + Contra abstract class +
+ Pro 1 + + Pro 1 + + Contra 1 + + Contra 1 +
+ Pro 2 + + Pro 2 + + Contra 2 + + Contra 2 +
+ Pro 3 + + Pro 3 + + Contra 3 + + Contra 3 +
+ Pro 4 + + Pro 4 + + Contra 4 + + Contra 4 +
+
+ + + +
+
+

Test

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Pro XUnit + + Pro MSTest + + Pro NUnit + + Contra XUnit + + Contra MSTest + + Contra NUnit +
+ Pro 1 + + Pro 1 + + Pro 1 + + Contra 1 + + Contra 1 + + Contra 1 +
+ Pro 2 + + Pro 2 + + Pro 2 + + Contra 2 + + Contra 2 + + Contra 2 +
+ Pro 3 + + Pro 3 + + Pro 3 + + Contra 3 + + Contra 3 + + Contra 3 +
+ Pro 4 + + Pro 4 + + Pro 4 + + Contra 4 + + Contra 4 + + Contra 4 +
+ + + + + +
+ +
+ +

Thank you for your time

+ + + +
+ +
+
+ + + + + + + + + + + + + + + \ No newline at end of file