Section outline
-
Pro nadšence
Pár zajímavých tutoriálů
Jak napsat aplikaci, která pošle UDP paket na IP adresu.
Jak napsat aplikaci, která stáhne file z Internetu.
Top Security Risks - odkaz na organizaci SANS zabývající se bezpečností (sítí, programů, atd.) - na prvním místě tohoto seznamu je SQL injection - více se o této problematice a řešení této bezpečnostní díry dozvíte v kapitole DB.
-
I/O operace a datové proudy.
Třída FileStream.
Binary reader, Binary writer.
Text reader, Text writer.
Memory stream.
Třída File.
-
OOP
Co je to objektově orientované programování.
UML
Výhody OOP.
Tvorba objektů, konstruktory, destruktory, properties a metody.
Specifikátory přístupu (public, private, protected).
Static a non-static metody.
Vytváření instancí objektů.
Step by Step Demo aplikace.
Dědění objektů.
Virtuální metody (virtual - override, new).
Úkoly. -
Práce s kolekcemi v C#
Co jsou to kolekce ?
Druhy kolekcí. (ArrayList, Queue, HashTable, ...)
Praktické využití kolekcí v OOP.
Step by Step aplikace na typ kolekce ArrayList.
Plnění, třídění a procházení kolekcí.
Řešené příklady:
Array List Demo - ukázka použití kolekce typu ArrayList
Shopping Basket - aplikace shopping basket - ukázka použití kolekce a objektů, které využívají systém dědění objektů z předchozí kapitoly
ListArr_TaskApp_1 - řešený příklad z úkolů prezentace
-
Základy grafiky
Knihovna System.Drawing.
Point, Line, Rectangle, Color, Brush, Pen, Curve.
Parametrické vyjádření geometrických útvarů a jeho využití.
Řešené příklady:
MyGraphic_Draw_Basics - ukázka základní práce s grafickými strukturami
GraphicsApp_Moveable_Line - ukázka objektově orientované aplikace - pohyblivého grafického objektu
Graphic_Editor - jednoduchý grafický editor
-
Express SQL Server
slouží pouze jako příprava na téma programování DB aplikací v ADO.NET a vyžaduje znalost předmětu DB (Co je to DB, tvorba tabulek, relace, SQL, uložené procedury, constrains)
Představení DB serveru
Základy práce se serverem
Import testovací DB
Spouštění SQL dotazů
Uložené procedury
-
Databáze v C#
Trocha historie DAO, ADO, ADO.NET
ADO .NET
Připojené a odpojené aplikace - pojmy, objekty, výhody, nevýhody
Online scénář:
objekt Connection - Connection string (připojení DB, tvorba, umístění,..)
objekt Command - properties, methods, vytvoření, vykonání
objekt DataReader - metoda read, ostatní metody a properties
SQL injection - řešení parametrů SQL dotazů jako metoda ochrany proti nežádoucímu vstupu uživatelů
Executing Non Query - provádění příkazů, které nevracejí záznamy, uložené procedury
Transakce - vysvětlení pojmu
Offline scénář:
objekt DataSet - vytvoření a manuální naplnění DataSetu v programovém kódu
- tvorba tabulek, relací, constrains
- vypsání obsahu DataSetu (tabulky) pomocí kolekcí Rows, Columns
objekt DataAdapter - funkce a využití DataAdapteru k plnění DataSetu
Řešené příklady:
Connection_Demo_01 - jednoduchá aplikace ukazující 4 různé způsoby otevření spojení na DB
Connection_ConfigFile_Demo_02 - jednoduchá aplikace ukazující způsob připojení k DB prostřednictvím XML konfiguračního souboru aplikace, jsou tu zakomentovány kódy i použití statistik připojení a ochrany proti nežádoucímu zadání jiných hodnot (Connection string injection) - user name a password v přihlašovacím dialogu prostřednictvím objektu sqlClientPermission
ExecuteScalar_Demo_03 - jednoduchá aplikace ukazující použití objektu Command a metody ExecuteScalar
FormApp_ExecuteReader_Demo_04 - jednoduchá aplikace ukazující použití objektu Command a metody ExecuteReader, která provede dotaz SQL na výběr dat z DB a vypsání výsledků této metody (objekt DataReader) do prvku RichTextBox formuláře
FormApp_Command_Parametry_Demo_05 - jednoduchá aplikace podobná předchozí, která k sestavení SQL dotazu používá kolekci Parameters objektu Command
FormApp_ExecuteNonQuery_Demo_06 - jednoduchá aplikace ukazující použití objektu Command a metody ExecuteNonQuery, ukázkové řešení úkolu 3 prezentace DB-Command.
Stored_Procedure_Demo_07 - jednoduchá aplikace řeší vložení záznamu do DB prostřednictvím uložené procedury SQL serveru, (využití app.config, designeru objektu Command.Parameters), kód uložené procedury v souboru CreateProduct.sql (výsledek Step by Step aplikace z prezentace DB-Command)
TransactionDemo_08 - jednoduchá aplikace ukazující použití a práce s lokálními transakcemi (řešení Step by Step aplikace z prezentace)
DataSet_Demo_09 - řešení Step by Step aplikace z prezentace DB-Dataset, demonstrace použití a tvorby Datasetu
CODE_DATASET_TEMPLATE_DEMO.TXT - textový soubor jako součást zadání úkolu prezentace DB-Dataset (předpřipravený kód aplikace)
-
COM. Component object model.
Co je to a jaký je smysl využití této technologie.
Object interface.
Proč u objektů používat interface ?
Práce s objektovým modelem jiné aplikace.
Ukázka spouštění programu balíku MS Office z prostředí C#.
Jednoduchá Step by step aplikace na demonstraci dané problematiky.
Řešené příklady:
COM_interface_Demo - jednoduchá aplikace ukazuje jednu z největších výhod použití interface
COM_CreateDLL_Demo - řešení Step by Step aplikace z prezentace aplikace ukazuje jak vytvořit vlastní DLL knihovnu obsahující jeden objekt i jeho interface a tuto DLL knihovnu využít v jiné aplikaci - komprimovaný soubor tak obsahuje dva projekty
COM_running_MSWord_from_CSharp - jednoduchá aplikace ukazuje jak z aplikace v C# zavolat metody knihovny MSWord, otevřít dokument wordu, zapsat do něho text a změny uložit
-
Závěrečný projekt DB aplikace s využitím všech naučených programovacích technik
odevzdání 2.3.2022 do 7:00 AM nebo N !!!!!!!!
-
UML. Unified modelling language.
Co je to a jaký je smysl využití této technologie při návrhu OOP aplikací.
UML diagramy.
Vazby mezi objekty. (realizace, asociace, agregace, kompozice)
Step by Step vytvoření modelu.
Ukázka UML v bezplatném UML editoru ARGO. -
Typové maturitní příklady.
2012:
1. první typový příklad bude vytvoření objektu(ů) s přesně definovaným rozhraním (get, set, atributy přístupu)
Vytvoření kolekce z instancí této třídy a "nějaká činnost" těchto objektů.
2. druhý typový příklad bude vytvoření DB aplikace, která bude typu online - bude načítat data z DB a provádět změny dat v DB podle popsaných pravidel. DB bude vytvořena.
TODO: 3. třetím typovým příkladem je opakování práce s dvourozměrnými poli tzn. práce s maticí. Matice ale (na rozdíl od druhého ročníku) bude definována jako objekt.
4. čtvrtým typovým příkladem je vytvoření několika objektů s jednotným rozhraním. Vytvoříte pak kolekci různých objektů a přes metody rozhraní budete s těmito objekty pracovat.
5. pátým typovým příkladem je ukázkový příklad pro dotazování DB Northwind - příklad je pouze demo práce s objekty Connection, Command, Reader. Neodpovídá strukturou profesionálně vytvořenému programu - (neodděluje striktně UI od DB vrstvy, není ošetřeno nahrazení apostrofů v názvech DB, Connection string je uvnitř prg. kódu, ...)
Pozn.: Zadání typových příkladů najdete pod příslušným číslem níže, zadání je pouze ilustrační - v každém příkladu dodržte zásady prg - ošetření proti chybám, pojmenování proměnných, přehlednost kódu, popisy a komentáře atd. V zadání se mohou objevit chyby - slouží pouze jako námět, užijte vlastní invenci pro doladění detailů aplikací: