Haladó Fejlesztési Technikák
2020 őszi szemeszterA C# nyelv haladó eszközei (Lambda kifejezések, LINQ, Entity Framework Core, Code-first adatbázis, Attribútumok, Reflexió, DLL készítése és használata, Unit tesztelés, Mock, Folyamatok és szálak kezelése).
Kódok
BPROFA saját kurzusaimhoz tartozó laboranyagok kódjai és egyéb további, nem kód jellegű anyagai (pdf, pptx stb.) itt találhatók meg.
Részletekért a repository gyökerében található README.md
állományt érdemes elolvasni.
Labor 01 - Delegáltak
Delegáltak felépítése. Beépített (action, func, predicate) és saját delegáltak létrehozása, használata. Névtelen metódusok és lambda kifejezések használata. Rendezés és bináris keresőfa kiegészítése delegálttal mint metódus paraméter.
Labor 02 - LINQ, XML
Névtelen osztályok és a var kulcsszó (típus) kapcsolata. IEnumerable típus megismerése. LINQ query és method syntax megismerése, valamint feladatok megoldása. XML struktúra megismerése és feldolgozása .Net környezetben, kiegészítve LINQ lekérdezésekkel.
Labor 03 - Reflexió
Attribútumok használata és készítése. Reflexió használata a programkódban található típusok (és az azokból elérhető további meta-adatok) dinamikus, futás közbeni vizsgálatára. Attribútumok alapján történű szűrés. A feldolgozott adatok XML fájlba írása.
Labor 04 - Adatbázis
Code-First adatbázis létrehozása és használata EntityFrameworkCore segítségével. Attribútumok / annotációk (pl. Required, NotMapped stb.) és Fluent API használata az entitások közötti relációk beállítására. Alapvető CRUD műveletek és komplexebb lekérdezések az adatbázison. Extension method létrehozása az IEnumerable feldolgozására, mint a LINQ lekérdezések eredménye.
Labor 05 - Rétegzés
Rétegzett alkalmazás létrehozása class library-k segítségével. Data (code-first, EFCore), Repository, Logic és "UI" rétegek alkalmazása. Dependency Injection (konstruktoron keresztül) alkalmazása a rétegek közötti függőségek kezelésére.
Labor 06 - Egységtesztelés
A rétegzett alkalmazás logic rétegének tesztelése NUnit segítségével. AAA megközelítés alkalmazása a tesztek folyamán.
Labor 07 - Mockolás
NEM ELÉRHETŐA rétegzett alkalmazás logic rétegének tesztelése, a függőségek kiváltásával Moq keretrendszer segítségével. AAA megközelítés alkalmazása a tesztek folyamán.
Előadás - Párhuzamos programozás
ELŐADÁSPárhuzamos programozás megvalósítása Process-szek és Thread-ek segítségével .Net Core környezetben. Adatpárhuzamosság bemutatása Thread segítségével: szöveges állományok párhuzamos feldolgozása, majd szinkronizációs pont alkalmazása után ezek összefésülése. Webes statisztika készítése Thread-ek segítségével, párhuzamos végrehajtási formában. Az eredmények kiírása JSON és XML állományba, majd ezek megnyitása Process-ek segítségével.
A frissített és részletesebb előadások itt érhetők el, Párhuzamos programozás I.,II. és III. nevű, előadással jelzett blokkok közül. A Mérnökinformatikus képzésen nagyobb teret kap a párhuzamos programozás, kiváltképpen annak elméleti része, ezért részletesebben kerülnek a témakörök feldolgozásra.
Labor 08 - Párhuzamos programozás I.
Párhuzamos programozás megvalósítása Process-szek és Thread-ek segítségével .Net Core környezetben. Adatpárhuzamosság bemutatása Thread segítségével: szöveges állományok párhuzamos feldolgozása, majd szinkronizációs pont alkalmazása után ezek összefésülése. Webes statisztika készítése Thread-ek segítségével, párhuzamos végrehajtási formában. Az eredmények kiírása JSON és XML állományba, majd ezek megnyitása Process-ek segítségével.
Archív tartalom itt érhető el.
Labor 09 - Párhuzamos programozás II.
Párhuzamos programozás megvalósítása Task-ok segítségével .Net Core környezetben. Continuation szerkezet bemutatása. Task cancellation kezelése try-catch valamint continuation felhasználásával. Kritikus szakasz szemléltetése lock (illetve annak hiányának) használatával. RSS olvasó implementálása több szálon. Párhuzamos folyamatok leállítása, visszavonása cancellation token segítségével.
Archív tartalom itt érhető el.
Előadás 10 - Web API
ELŐADÁSMi a szerver-kliens alapú kommunikáció és a weboldalak valamint webalkalmazások hogyan kapcsolódnak ehhez. Adatszerializáció és -deszerializáció fogalmának megismerése a JSON formátum esetén. Hogyan változtatták meg az API-alapú megközelítések a web felhasználását, mi maga az API és a SOAP valamint REST fogalmak hogyan kapcsolódnak ezekhez. Hogyan használhatók a HTTP metódusok az API-kkal közösen. Mi az API-first megközelítés és miért fontos ez. Mi a CORS probléma.
Archív tartalom itt érhető el.
Labor 10 - Web API
API-k felhasználása, adatok konverziója Newtonsoft JSON segítségével. Saját API végpont létrehozása NancyFx library segítségével.