Deprecated : mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/www/novacisko.cz/subdomains/bredy/init.php on line 11
Warning : mysql_connect(): Headers and client library minor version mismatch. Headers:50562 Library:100020 in /home/www/novacisko.cz/subdomains/bredy/init.php on line 11
Warning : Cannot modify header information - headers already sent by (output started at /home/www/novacisko.cz/subdomains/bredy/init.php:11) in /home/www/novacisko.cz/subdomains/bredy/pages/rss.php on line 5
Bredyho blog - Ondřej Novák - Články.Programování http://bredy.novacisko.cz/?g=main&kat=13Programování v čemkoliv. cs ©2006 Ondřej Novák BredySoftware ondra-novak@email.cz (Ondřej Novák) ondra-novak@email.cz (Ondřej Novák) Mon, 18 Feb 2019 22:21:50 GMT Mon, 18 Feb 2019 22:21:50 GMT Seznamy typů a jejich použití http://bredy.novacisko.cz/?g=clanek&c=261Opět inspirován známým C++ guru: ''Andrei Alexandrescu'' jsem se vrhnul na implementaci seznamů typů "po svém". V této části si povíme co to je a k čemu to slouží. ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek261/2010-05-06+18%3A24%3A02 +0100 http://bredy.novacisko.cz/?g=clanek&c=261#diskuze Delegování zpracování výjimky http://bredy.novacisko.cz/?g=clanek&c=259V situacích, kdy potřebujeme určité typy výjemek zpracovat stejným způsobem, můžeme jejich zpracování delegovat do jiné funkce. ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek259/2009-12-27+22%3A35%3A54 +0100 http://bredy.novacisko.cz/?g=clanek&c=259#diskuze Jak provést operaci až po příkazu return http://bredy.novacisko.cz/?g=clanek&c=254Pokud optimalizujeme kód tak, abychom mohli využít [[Vracíme z funkce objekty|výhod vracení objektu z funkce]], narazíme občas na problém, kterak provést některé operace až po provedení příkazu ''return'' ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek254/2009-08-24+13%3A05%3A13 +0100 http://bredy.novacisko.cz/?g=clanek&c=254#diskuze Jak předělat dvou-parametrovou šablonu na jedno-parametrovou http://bredy.novacisko.cz/?g=clanek&c=253[[img:>template-c-icon.png]]Popis jednoduchého triku ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek253/2009-08-21+08%3A37%3A47 +0100 http://bredy.novacisko.cz/?g=clanek&c=253#diskuze Jak lépe deklarovat enumy v C++ http://bredy.novacisko.cz/?g=clanek&c=247Jedna krátká rada, jak si neudělat v programu nepořádek ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek247/2009-05-22+16%3A51%3A34 +0100 http://bredy.novacisko.cz/?g=clanek&c=247#diskuze Jak dostat řetězec do parametru šablony http://bredy.novacisko.cz/?g=clanek&c=243Současná norma C++ umožňuje jako parametr šablony použít tzv. integrální typy, tedy typy odvozené od ''int'', dále ''bool'', ukazatel a referenci. Ukažme si, existuje způsob, jak tam dostat i řetězec ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek243/2009-02-04+00%3A23%3A41 +0100 http://bredy.novacisko.cz/?g=clanek&c=243#diskuze Garbage collector v C++ - Popis API tříd kolekce LightSpeed::GC http://bredy.novacisko.cz/?g=clanek&c=241V tomto článku si představíme rozhrani Garbage Collectoru v knihovně LightSpeed. Princip GC byl přidstaven v [[Garbage collector - automatický úklid objektů v C++|předchozím díle]] ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek241/2009-01-27+01%3A03%3A00 +0100 http://bredy.novacisko.cz/?g=clanek&c=241#diskuze Garbage collector - automatický úklid objektů v C++ http://bredy.novacisko.cz/?g=clanek&c=239Článek navazuje na [[GarbageCollector v C++, prototyp]], kde jsme si představili prototyp třídy provádějící automatický úklid objektů známy jako "garbage collector". Dnes si ukážeme další verzi, nazvěme ji "alfa" ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek239/2008-12-30+23%3A48%3A38 +0100 http://bredy.novacisko.cz/?g=clanek&c=239#diskuze Serializace dat a objektů IV - Transport a struktura http://bredy.novacisko.cz/?g=clanek&c=232Dnešní díl o serializaci se pozastaví nad nejvhodnější implementací transportního modulu a pak se vrhneme na strukturu dat. ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek232/2008-09-23+11%3A36%3A43 +0100 http://bredy.novacisko.cz/?g=clanek&c=232#diskuze Serializace dat a objektů III - Volba formátu http://bredy.novacisko.cz/?g=clanek&c=231V našem seriálu o serializaci si tentokrát ukážeme, jakým způsobem budeme volit formát výsledného streamu. Nepůjde o konkrétní formáty, ale o způsoby, jak různé formáty implementovat ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek231/2008-09-19+12%3A02%3A52 +0100 http://bredy.novacisko.cz/?g=clanek&c=231#diskuze Serializace dat a objektů II - Návrh serializátoru http://bredy.novacisko.cz/?g=clanek&c=230Po teoretickém úvodu o serializaci se podíváme (ještě stále teoreticky) na vlastní serializátor. Zatím si uděláme takovou jednoduchou analýzu ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek230/2008-09-18+11%3A48%3A15 +0100 http://bredy.novacisko.cz/?g=clanek&c=230#diskuze Serializace dat a objektů http://bredy.novacisko.cz/?g=clanek&c=220[[img:>ObrazekC++.jpg]]Následující článek je úvodem do další série o generickém programování (šablony), nyní se zaměříme na problém perzistentního ukládání dat nebo jejich transport, obecně o serializaci a deserializaci dat ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek220/2008-09-15+15%3A36%3A26 +0100 http://bredy.novacisko.cz/?g=clanek&c=220#diskuze Automatické klonování objektů v C++ II http://bredy.novacisko.cz/?g=clanek&c=226Dneska se podíváme jak klonovat pomocí clone_ptr (ClonePtr) ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek226/2008-07-28+01%3A48%3A31 +0100 http://bredy.novacisko.cz/?g=clanek&c=226#diskuze Automatické klonování objektů v C++ http://bredy.novacisko.cz/?g=clanek&c=225[[img:>main_page_programovani.jpg]]C++ nenabízí standardní prostředky jako klonovat objekty. Pouze kopírovací kontruktor, který nám však v případě polymorfních objektů moc nepomůže. Naše "lenost" nám však pomůže nalézt řešení. ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek225/2008-07-27+02%3A50%3A49 +0100 http://bredy.novacisko.cz/?g=clanek&c=225#diskuze Jak sdílet prostředky (resources) v C++ http://bredy.novacisko.cz/?g=clanek&c=224Nemnohokrát jsem řešil v programech psaných v C++, jak sdílet prostředky (resources), jinými slovy, jak zajistit, že jedinečné prostředky budou uvolňovány až v okamžiku, kdy je nikdo nepotřebuje. Podívejme se na jednoduché řešení. ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek224/2008-07-16+17%3A31%3A26 +0100 http://bredy.novacisko.cz/?g=clanek&c=224#diskuze Hacking v podání Microsoftu http://bredy.novacisko.cz/?g=clanek&c=223[[img:>IE8_20465b.png]]Microsoftí paranoia proti zákeřným komponentám potají instalovaných do Internet Exploreru nabírá na síle. Microsoft se dokonce odvážil k "obraně" použít techniky známé spíš virům... ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek223/2008-07-10+11%3A36%3A47 +0100 http://bredy.novacisko.cz/?g=clanek&c=223#diskuze FastAllocPool - urychlení častých alokací a dealokací http://bredy.novacisko.cz/?g=clanek&c=217Pokud v programu z nějakých důvodů potřebujeme často provádět ''new'' a ''delete'' nad některými třídami, můžeme zvýšit efektivitu těchto operací zavedením poolu předalokované paměti ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek217/2008-04-11+01%3A22%3A02 +0100 http://bredy.novacisko.cz/?g=clanek&c=217#diskuze Tuples v C++ http://bredy.novacisko.cz/?g=clanek&c=180Pokud si pamatujete na seriál [[Funkce s volitelným počtem argumentů v C++]], tak v této části najdete jakési pokračování, i když cílem článku je trošku něco jiného ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek180/2008-04-02+10%3A00%3A12 +0100 http://bredy.novacisko.cz/?g=clanek&c=180#diskuze Jak bezpečně ukončit vlákno z DllMain http://bredy.novacisko.cz/?g=clanek&c=216[[img:>main_page_programovani.jpg]]Kdo už se s tím setkal, určitě nad tím strávil hodně času. Jak to že není možné bezpečně ukončit vlákno z DllMain? Proč aplikace skončí v deadlocku? To opravdu neexistuje jiné řešení? ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek216/2008-02-29+19%3A53%3A07 +0100 http://bredy.novacisko.cz/?g=clanek&c=216#diskuze Akce a Zpráva jako objekt v.2 http://bredy.novacisko.cz/?g=clanek&c=195V článku [[C++ - Akce a Zpráva jako objekt]] jsem představil dva objekty, jenž slouží k objektovému zabalení volání funkce nebo metody. V tomto článku si představíme vylepšenou druhou verzi. ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek195/2007-11-01+11%3A00%3A40 +0100 http://bredy.novacisko.cz/?g=clanek&c=195#diskuze Tuple v C++ ver. 2 http://bredy.novacisko.cz/?g=clanek&c=194Druhá verze implementace tuplů v C++. Navazuje na článek [[Tuples v C++]] ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek194/2007-10-28+14%3A54%3A42 +0100 http://bredy.novacisko.cz/?g=clanek&c=194#diskuze Jak na destruktory v Javě http://bredy.novacisko.cz/?g=clanek&c=193Chybí vám destruktor v Javě. Úplně jej nahradit neumíme, ale jisté řešení by se našlo ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek193/2007-10-23+01%3A20%3A22 +0100 http://bredy.novacisko.cz/?g=clanek&c=193#diskuze Jak na paralelní překlad ve VC8 http://bredy.novacisko.cz/?g=clanek&c=184Máte doma procesor s DualCore? Nebo snad máte víc jader? A vadí vám, že VC8 Express moc dobře nevyužije tuto vlastnost? Závidíte linuxakům příkaz ''make -jN''? Mám pro Vás dobrou zprávu. ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek184/2007-08-22+20%3A56%3A59 +0100 http://bredy.novacisko.cz/?g=clanek&c=184#diskuze Funkce s volitelným počtem argumentů v C++ http://bredy.novacisko.cz/?g=clanek&c=76Leckterý programátor v C jistě zná syntaxtický zápis funkce s volitelným počtem argumentů. V následujícím článku se podíváme na nevýhody tohoto nástroje a způsoby jak to implementovat jinak ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek76/2007-08-21+09%3A10%3A32 +0100 http://bredy.novacisko.cz/?g=clanek&c=76#diskuze Distributor - vaše objekty budou o svém okolí vědět vše http://bredy.novacisko.cz/?g=clanek&c=182Největším problémem většiny UI /ale i ne-IU/ aplikací, které potkávám, je špatná nebo vůbec nevyřešená komunikace mezi důležitými objekty. Přitom stačí málo, obstarat si distributora. ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek182/2007-08-17+18%3A13%3A01 +0100 http://bredy.novacisko.cz/?g=clanek&c=182#diskuze C++ - Akce a Zpráva jako objekt http://bredy.novacisko.cz/?g=clanek&c=181Akcí nazývám obyčejné volání funkce, zprávou pak volání metody objektu (jak je chápáno podle OOP). Lze vůbec volání čehokoliv reprezentovat jako objekt? A k čemu je to vlastně dobré? ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek181/2007-08-15+19%3A09%3A42 +0100 http://bredy.novacisko.cz/?g=clanek&c=181#diskuze Vracíme z funkce objekty - problémy http://bredy.novacisko.cz/?g=clanek&c=171Při praktickém používání technik [[Vracíme z funkce objekty]] narazíme na nečekané a možná nelogické problémy. ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek171/2007-06-18+20%3A13%3A23 +0100 http://bredy.novacisko.cz/?g=clanek&c=171#diskuze Vracíme z funkce objekty - praktická ukázka http://bredy.novacisko.cz/?g=clanek&c=161V článku [[Vracíme z funkce objekty]] jsem ukazoval, jak probíhá návrat objektu z funkce a jak toto optimalizovat tak, aby se minimalizovalo používání kopírování. Teď si to ukážeme prakticky - použil jsem gcc bez optimalizací ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek161/2007-05-23+11%3A58%3A30 +0100 http://bredy.novacisko.cz/?g=clanek&c=161#diskuze Vracíme z funkce objekty http://bredy.novacisko.cz/?g=clanek&c=90Podívejme se blížeji na to, jakým způsobem je implementováno vracení výsledku z volání funkcí. Zboříme při tom všelijaké mýty ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek90/2007-05-23+11%3A58%3A18 +0100 http://bredy.novacisko.cz/?g=clanek&c=90#diskuze Pár triků na kompresi přímo v kódu http://bredy.novacisko.cz/?g=clanek&c=95Pomocné struktury a data lze komprimovat přímo v kódu. Jak na to. A má to vůbec smysl? ondra-novak@email.cz (Ondřej Novák) http://bredy.novacisko.cz/clanek95/2007-04-25+09%3A54%3A41 +0100 http://bredy.novacisko.cz/?g=clanek&c=95#diskuze