Chyby v návrhu: Singleton

V minulém díle jsme se bavili o situacích, kdy má třída příliš mnoho odpovědností. V dnešním díle si ukážeme, jak velké problémy skrývá na první pohled příjemný a jednoduchý návrhový vzor Singleton a proč jej tak mnoho programátorů zneužívá v situacích, kde nemá co dělat.

Od hamburgeru ke krávě aneb jak z binárky získat zdroják

V sobotu 15. června 2013 jsem měl na letošním Barcampu v Brně přednášku na téma dekompilace, což je proces získávání zdrojového kódu z binárního programu. V následujícím příspěvku se dozvíte, o čem přednáška byla a kde ji můžete zhlédnout online.

Méně známé skutečnosti o C++: std::endl vs '\n'

Často se setkávám s tím, že se v C++ k ukončení řádku ve výstupu používá std::endl místo klasického '\n', které známe z Céčka. Důvod bývá různý, ale většinou je to něco ve stylu: "je to C++kovější řešení než '\n'" či "je to přenositelnější". V tomto příspěvku se dozvíte, že ani jeden důvod není pravdivý a že použití '\n' místo std::endl vám může značně urychlit běh programu.

Méně známé skutečnosti o C a C++: Různé formy sizeof

Možná jste se již setkali s různými zápisy použití operátoru sizeof. Konkrétně se jedná např. o zápisy sizeof(int), sizeof(*p) a sizeof *p. Jaký je mezi těmito zápisy rozdíl a kdy je nutné použít závorky se dočtete v následujícím příspěvku.

Zajímavosti z C++: Proč nedávat `using namespace xxx;` do hlavičkových souborů

Více než často vídávám, že se do hlavičkových souborů dává tzv. using direktiva ve tvaru using namespace xxx;. Nejčastější je using namespace std;. V následujícím příspěvku se dozvíte, proč je to špatný nápad a důvody, proč to nedělat.

Méně známé skutečnosti o C: Funkce, které se nevrací

Se standardní funkcí exit(), která ukončí běh programu, se již asi setkal každý, kdo alespoň trochu programoval v jazyce C. Tato funkce spadá do kategorie funkcí, které se po zavolání nevracejí na místo, odkud byly volány. Méně se však ví, že kromě zmiňované funkce exit() je v jazyce C řada dalších funkcí, které vykazují podobné chování. A právě o nich bude tento příspěvek.

Zajímavosti z C++: Optimalizace iterování přes standardní kontejnery

Dneska se podíváme na to, jak lze různými způsoby iterovat přes standardní kontejnery a jak si stojí tyto způsoby ve vzájemném porovnání z hlediska rychlosti. Mrkneme se i na to, co s tím dokáže udělat překladač při zapnutí optimalizací.

Chyby v návrhu: když jeden dělá příliš mnoho

Vítejte v prvním díle nového seriálu na mém blogu: chyby v návrhu. Budeme se zabývat častými chybami v návrhu, kterých se dopouští (nejen) začínající programátoři. Dnes si povíme něco o situacích, kdy má třída příliš mnoho odpovědností.

Zajímavosti z C++: Čistě virtuální destruktor

Možná jste se už během své programátorské praxe dostali do situace, kdy jste potřebovali vaši bázovou třídu udělat čistě virtuální, ale žádná z metod k tomu nebyla vhodná. Jednou z možností, která je nepříliš známá, je využít destruktor. O tom, jak to udělat, je následující příspěvek.

Skákající konečné automaty

10. prosince 2012 jsem měl společně s prof. Medunou úvodní přednášku na studentské konferenci Language Theory With Applications 2012 na téma "Skákající konečné automaty". O čem tato přednáška byla, kde můžete zhlédnout (konečně zveřejněný) záznam a kde si lze stáhnout materiály se dozvíte v následujícím krátkém příspěvku.

Stránky

Přihlásit se k odběru Petr Zemek RSS Přihlásit se k odběru Petr Zemek - All comments