Kolekce v .NET – 2. yield a iterátory
V minulém dílu seriálu jsem se dozvěděli, že i ty úplně nejjednodušší kolekce musí implementovat rozhraní IEnumerable
V minulém dílu seriálu jsem se dozvěděli, že i ty úplně nejjednodušší kolekce musí implementovat rozhraní IEnumerable
Kolekce patří bezpochyby k jedné z nejpoužívanějších součástí .NETu, i přesto jejich možnosti nebývají využívány ani z poloviny a princip jejich fungování často zůstává zahalen tajemstvím. V tomto seriálu si ukážeme, jaké kolekce .NET nabízí, jak fungují a také doprogramujeme, co .NETu chybí.
První díl přináší nezbytný úvod do teorie a zároveň nám představí ty nejdůležitější rozhraní.
V září vyšlo Embarcadero RAD Studio XE3. Někdo z mladších vývojářů se možná zeptá, o co jde? Tento skvělý vývojový nástroj je současností kdysi jedničky na trhu – Borland Delphi. Po řadě zvratů v osudu přešlo toto vynikající IDE v roce 2008 do rukou Embarcadero Technologies a začal boj o jeho znovuprosazení do čela pelotonu vývojových nástrojů. Jestli má šanci, to se pokusím naznačit závěrem, vysoká návštěvnost letošního pražského uvedení by tomu nasvědčovala.
V tomto článku se pustíme do práce s databází. Řekneme si něco málo o komponentách, které poskytují možnosti pro práci s daty, ukážeme si, jak data zobrazovat do formátu tabulky s pomocí komponenty GridView a jak lze v této komponentě data řadit. Nakonec opět uděláme ukázkovou aplikaci.
Nasazování změn v aplikaci na web provází často mnoho starostí. Nahrávání souborů je přerušeno v půlce, databázi se nepodaří obnovit ze zálohy, některé části nefungují… Nasazování oprav je ale často životně důležité. Jak si tedy tento složitý proces ulehčit?
Jednou za čas se může stát, že se setkají dvě ne úplně kompatibilní technologie, mezi kterými je ale potřeba vytvořit komunikační kanál. V tomto článku budeme řešit problém, kdy máme webovou stránku v PHP, která využívá MySQL databázi, a k této stejné databázi potřebujeme přistupovat i z desktopové aplikace, napsané třeba v C#. Kvůli bezpečnostním omezením hostingu není ve většině případů možné přímé připojení k databázi odjinud než z hostované stránky, a proto si musíme napsat webovou službu, která nám komunikaci zprostředkuje.
Po tom, co jsme si v minulém díle seriálu vysvětlili princip návrhových vzorů, se nyní podíváme na další dva z našeho výběru. Tentokrát to bude static factory method (statická tovární metoda) a servant (služebník).
V tomto článku se budeme bavit o začleňování stránek do společného vzhledového systému pomocí Master Pages. Dále o skrytém poli ViewState, odkazování na jiné stránky v rámci naší webové aplikace a v neposlední řadě o dynamickém generování titulku.
Spolu s ASP.NET MVC přišly i nové "pěkné URL". Samozřejmě nebyly výsadou pouze MVC, i u WebForms se daly řešit, ovšem jejich vytvoření nebylo tolik efektivní a jednoduché. Od verze ASP.NET 4.0 lze tyto pěkné adresy URL generovat stejně jednoduše jako u MVC. Pojďme se nyní podívat, jak na to.
Rozhodl jsem se vytvořit tento článek, protože jsem se setkal se spoustou lidí, kteří si neuvědomují, co všechno se dá vytvořit pouze pomocí základních příkazů programovacího jazyka. Já si zvolím pro naši ukázku jazyk C++ a v některých příkladech uvedu i řešení v Pascalu.
ASP.NET WebForms je v dnešní době čím dál více známá technologie. I přesto se jí zatím na českém internetu nedostalo patřičného množství naučného materiálu jako třeba jazyku PHP. Tento seriál bude navazovat na seriál ASP.NET na tomto webu, kde byly shrnuty naprosté základy programování webových aplikací v ASP.NET. V tomto seriálu se naproti tomu zaměříme na používání konkrétních komponent, které WebForms nabízí, a na samotné prvky WebForms.
Znalost návrhových vzorů je jednou ze základních vlastností dobrého programátora v objektově orientovaném jazyce. V krátkém seriálu se pokusím přiblížit ty nejzákladnější z nich. V tomto díle se podíváme na utility class (knihovní třídu), singleton (jedináčka) a messenger (přepravku).
Po přechodu na Windows 7 mě zaujala možnost zobrazování průběhu v titulku okna na hlavním panelu (Taskbaru). V tomto článku vám ukážu, jak ji dostat do aplikace i se starší verzí SDK. A pro majitele
starších Windows, aby také něco viděli, uděláme zobrazení průběhu (procent) pomocí tooltipu.
V tomto článku vám představím základy proměnných v Game Makeru. Ukážeme si, jak proměnné vytvářet, jak do nich zapisovat, vykreslovat je, globální proměnné i pole (array). Jak v GML, tak i v jiných programovacích jazycích jsou proměnné velmi důležité.
V minulém díle jsem snad dostatečně vychválil třídění, takže nezbývá než si ukázat první tři algoritmy, kterým můžeme dát nálepku: "ty jednodušší" - Select sort, Insert sort a Bubble sort. Součástí je samozřejmě implementace vývojovými diagramy.
V článku budeme tak trochu vynalézat kolo. Ukážeme si zajímavý postup odvození algoritmu celočíselného násobení. Postup a tipy mohou být inspirací čtenáři, tréningem logického myšlení a věřím že i zábavou.
Pole lze použít na ukládání velkého množství dat. Jednou z důležitých oblastí zpracování takovýchto dat je třídění a v tomto díle si ukážeme, co to vlastně třídění je, k čemu nám je dobré a proč se mu budeme věnovat několik dalších dílů.
V tomto díle budeme pokračovat pouze praktickými ukázkami. Na třech příkladech si znovu ukážeme použití polí. V prvním příkladu budeme generovat sloupek tiketu Sportky. V druhém příkladu budeme pracovat se školními známkami. A ve třetím příkladu si uděláme jednoduchou implementaci Eratosthenova síta.
Tento návod je určen pro úplné začátečníky, jelikož v něm jsou popsány podrobně (pro pokročilé až otravně podrobně) všechny funkce s obrázky. Uděláme si jednoduchou hru jménem Arkanoid a naučíte se zde základní funkce použité v praxi.
Náplní dnešního dílu budou pole, která nás následně budou provázet po několik dalších dílů. Postupně si ukážeme, co to je pole, k čemu se hodí a samozřejmě si jejich použití budeme demonstrovat na vývojových diagramech.
Dříve než budu rozebírat další věci, bude dobré (také díky zpětné vazbě, kterou mi poskytli čtenáři) více osvětlit některé postupy, které jsem použil v úvodním článku. Umožní to lépe porozumět pozadí a podstatě fungování.