„Háttéralkalmazások/Záróvizsgatételek” változatai közötti eltérés
→12. Cloud: Tétel kidolgozása |
a →5. JPA – általános: Magyarra átírás |
||
| (4 közbenső módosítás ugyanattól a felhasználótól nincs mutatva) | |||
| 484. sor: | 484. sor: | ||
|OO-modell | |OO-modell | ||
|} | |} | ||
=== Hogy néz ki egy entitás, hogyan készítünk kapcsolatokat közöttük? === | === Hogy néz ki egy entitás, hogyan készítünk kapcsolatokat közöttük? === | ||
| 745. sor: | 743. sor: | ||
|'''nem létezik''' | |'''nem létezik''' | ||
|– | |– | ||
|'' | |''lecsatolt'' | ||
|- | |- | ||
|'''létezik''' | |'''létezik''' | ||
|'' | |''új'' | ||
|'' | |''menedzselt'' vagy ''törölt'' | ||
|} | |} | ||
| 881. sor: | 879. sor: | ||
* hosszú metódusnevek helyett kézzel meg lehet írni, és a kívánt nevet lehet adni a metódusnak | * hosszú metódusnevek helyett kézzel meg lehet írni, és a kívánt nevet lehet adni a metódusnak | ||
|} | |} | ||
=== Hogyan valósíthatók meg entitások közti kapcsolatok és az entitások öröklése JPA-ban? === | === Hogyan valósíthatók meg entitások közti kapcsolatok és az entitások öröklése JPA-ban? === | ||
| 1 283. sor: | 1 279. sor: | ||
|tranzakció nélkül fut | |tranzakció nélkül fut | ||
|} | |} | ||
== 8. ASP.NET Core == | == 8. ASP.NET Core == | ||
{{Átnézendő szakasz}} | |||
=== Mi az ASP.NET Core? === | === Mi az ASP.NET Core? === | ||
... | Az ASP.NET Core egy .NET-alapú nagyteljesítményű, nyílt forráskódú, platformfüggetlen webalkalmazás‑framework. | ||
=== Mit jelent, hogy egy alkalmazás monolitikus? === | === Mit jelent, hogy egy alkalmazás monolitikus? === | ||
... | Monolitikusnak nevezzük azt az alkalmazást, amelynek összes komponense – pl. UI, üzleti logika és adatkezelés – egyetlen deploy‑egységben (pl. egy futtatható vagy szerveralkalmazásban) fut, nem részeire bontva. | ||
=== Mi a ''clean architecture''? === | === Mi a ''clean architecture''? === | ||
... | A clean architecture egy szoftvertervezési minta, melynek alapvetése a kód rétegekre (pl. domain, application, infrastructure, presentation) bontása. Alkalmazza a dependency inversiont is: a külső rétegek függnek csak az absztrakcióktól, nem fordítva. | ||
=== Sorolj fel min. 3 általános ASP.NET Core által nyújtott | === Sorolj fel min. 3 általános, ASP.NET Core által nyújtott infrastruktúrafunkciót! === | ||
... | * beépített DI | ||
* middleware alapú HTTP–pipeline-kezelés (pl. autentikáció, logging) | |||
* konfigurálhatóság (<code>appsettings.json</code> + környezeti változók) | |||
* moduláris hosting (pl. Kestrel), cross‑platform deployment (IIS, Nginx, Docker stb.) | |||
=== Hogyan indul el egy ASP.NET Core projekt? === | === Hogyan indul el egy ASP.NET Core projekt? === | ||
.. | # <code>dotnet new webapi</code> vagy <code>dotnet new mvc</code> parancs | ||
# a <code>Program.cs</code> és/vagy <code>Startup.cs</code> definiálja a hosztot, regisztrálja a service‑eket és a middleware‑eket | |||
# a <code>dotnet run</code> indítja el a Kestrel szervert | |||
# elérhető az alkalmazás | |||
=== Milyen lépései vannak, hogy egy Web API-n kiajánljunk egy EF Core által nyújtott adatmodellt (lekérdezésre, módosításra)? === | === Milyen lépései vannak, hogy egy Web API-n kiajánljunk egy EF Core által nyújtott adatmodellt (lekérdezésre, módosításra)? === | ||
... | # projekt generálása (<code>dotnet new webapi</code>) | ||
# EF Core-csomagok telepítése (<code>Microsoft.EntityFrameworkCore</code>, SQL server provider) | |||
# <code>DbContext</code> osztály és entitásmodellek létrehozása | |||
# <code>AddDbContext<...>(...)</code> DI a <code>Program.cs</code>-ben / <code>Startup.cs</code>-ben | |||
# kontroller létrehozása (<code>ApiController</code>), mely injektálja a <code>DbContext</code>‑et | |||
# lekérdező metódusok írása: <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code> endpointok | |||
# használat: <code>context.Entities.ToList()</code>, <code>Find(id)</code>, <code>Add()</code>, <code>Update()</code>, <code>Remove()</code>, majd <code>SaveChanges()</code> | |||
== 9. Razor == | == 9. Razor == | ||
{{Átnézendő szakasz}} | |||
=== Milyen módokon szeparálhatjuk a kliens–szerver alkalmazásrétegeket? === | === Milyen módokon szeparálhatjuk a kliens–szerver alkalmazásrétegeket? === | ||
... | * tiszta szerveroldali renderelés – minden HTML generálását a szerver végzi (pl. ASP.NET MVC, Razor Pages). | ||
* tiszta kliensoldali alkalmazás (SPA) – az UI a böngészőben fut, a szerveren csak API-szolgáltatás van (pl. Angular, React). | |||
* hibrid megközelítés – a kezdeti renderelés szerveren történik, utána a kliens veszi át az irányítást (Pl. Blazor Server, SSR + CSR kombinációk) | |||
=== Mi a szerveroldali renderelés? === | === Mi a szerveroldali renderelés? === | ||
. | A szerver generálja az egész HTML-t a kérésre, és küldi el a kliensnek. Így a böngésző azonnal meg tudja jeleníteni a teljes oldalt. | ||
=== Milyen előnyei/hátrányai vannak a kliensoldalival szemben? === | === Milyen előnyei/hátrányai vannak a kliensoldalival szemben? === | ||
==== Előnyök ==== | |||
* gyorsabb első betöltés – kész HTML érkezik | |||
* jobb SEO-támogatás | |||
==== Hátrányok ==== | |||
* magasabb szerverterhelés, minden kérésnél újrarenderelés | |||
* lassabb interaktivitás és navigáció a teljes oldalletöltések miatt | |||
=== Mi a Razor? === | === Mi a Razor? === | ||
... | A Razor egy HTML-templating szintaxis C# (vagy VB) integrálásával; 2010 óta része az ASP.NET MVC-nek / ASP.NET Core‑nak. <code>.cshtml</code> / <code>.razor</code> fájlokban használatos. | ||
=== Hogyan készül el egy HTML-oldal Razor segítségével és MVC vagy Razor Pages használatával? === | === Hogyan készül el egy HTML-oldal Razor segítségével és MVC vagy Razor Pages használatával? === | ||
==== MVC ==== | |||
# létre kell hozni egy <code>Controller</code> metódust return <code>View(model);</code>-lel | |||
# a <code>ViewName.cshtml</code> fájlban Razor-kód (<code>@model</code>, <code>@foreach</code> stb.) generálja a HTML-t | |||
==== Razor Pages ==== | |||
# létre kell hozni egy <code>.cshtml</code> fájlpárt (<code>Index.cshtml</code> + <code>Index.cshtml.cs</code>), ahol: | |||
## a <code>*.cshtml.cs</code> tartalmazza az oldal logikáját az <code>OnGet()</code> és <code>OnPost()</code> metódusokkal | |||
## a <code>*.cshtml</code> Razor-jelölésekkel hivatkozik a <code>@Model</code> objektumra | |||
== 10. Microservices == | == 10. Microservices == | ||
| 1 642. sor: | 1 665. sor: | ||
== 13. Azure == | == 13. Azure == | ||
{{Átnézendő szakasz}} | |||
=== Azure alapszolgáltatások viszonya egymáshoz === | === Azure alapszolgáltatások viszonya egymáshoz === | ||
==== Előfizetés ==== | ==== Előfizetés ==== | ||
Azure-szolgáltatások igénybevételének elszámolási és hozzáférési egysége; egy Azure-fiók alatt több előfizetés is lehet, és az éves költési korlátok is erre épülnek. | |||
==== AD ==== | ==== AD ==== | ||
Identitás- és jogosultságkezelés központja, amelyhez előfizetések, felhasználók és szolgáltatások (alkalmazásregisztrációk) kapcsolódnak. | |||
==== Fiók (account) ==== | ==== Fiók (account) ==== | ||
Microsoft-fiók vagy szervezeti (Azure AD) fiók, amellyel be lehet jelentkezni és kapcsolatba lehet hozni az Azure-előfizetéseket. | |||
==== Erőforráscsoport ==== | ==== Erőforráscsoport ==== | ||
. | Logikai gyűjtőkonténer az előfizetésen belül, amelybe kapcsolódó erőforrásokat, pl. VM-eket vagy adatbázisokat csoportosítunk; segíti az RBAC-t és a költségkövetést. | ||
==== Erőforrás ==== | ==== Erőforrás ==== | ||
. | Valós szolgáltatásobjektum (pl. virtuális gép, tárhely, SQL-adatbázis), amely egy előfizetésen belül erőforráscsoportban jön létre. | ||
=== Erőforrások beállítható alapjellemzői === | === Erőforrások beállítható alapjellemzői === | ||
.. | * '''név''' – globálisan vagy az előfizetésen belül egyedi azonosító | ||
* '''régió''' – földrajzi hely (pl. <code>eastus</code>, <code>westeurope</code>) | |||
* '''típus és SKU''' – szolgáltatás rétegének és teljesítményének kiválasztása (pl. basic, standard) | |||
* '''címkék''' – kulcs–érték párok a költség- és szervezési szempontú csoportosításhoz | |||
=== Régió kiválasztásának szempontjai === | === Régió kiválasztásának szempontjai === | ||
. | * késleltetés | ||
* szabályozás és megfelelőség | |||
** egyes adattípusokra helyhez kötött tárolási előírások vonatkozhatnak | |||
* elérhetőség | |||
** nem minden régió támogat minden szolgáltatást. | |||
* költségek | |||
** régiónként eltérő árszintek lehetnek. | |||
=== Azure SQL és Azure App Service szolgáltatások... === | === Azure SQL és Azure App Service szolgáltatások... === | ||
==== ...bemutatása. ==== | ==== ...bemutatása. ==== | ||
... | * '''Azure SQL Database:''' teljesen menedzselt relációsadatbázis-szolgáltatás automatikus mentéssel, patcheléssel, méretezéssel és beépített teljesítményoptimalizálással. | ||
* '''Azure App Service:''' PaaS típusú app hosting szolgáltatás .NET, Java, Node.js, Python stb. számára. Könnyen skálázható és CI/CD-támogatott. | |||
==== ...felépítése (logikai) erőforrások szintjén. ==== | ==== ...felépítése (logikai) erőforrások szintjén. ==== | ||
* '''Azure SQL''': logikai SQL-szerver → adatbázis(ok) (→ Elastic Pool) | |||
* '''Azure App Service''': App Service Plan (compute és scale) → Web App → deployment slots, konfigurációk stb. | |||
==== ...árazási tényezői. ==== | ==== ...árazási tényezői. ==== | ||
* '''Azure SQL''': vCore- vagy DTU-alapú teljesítmény, adattárolás mérete, elérhetőség (zóna-redundancia), licencek (Azure Hybrid Benefit) | |||
* '''App Service''': service plan típusa (free, shared, basic, standard, premium, isolated), példányszám, skálázás típusa (manual, autoscale), operációs rendszer (Windows / Linux) | |||