programování

Od Petr Zemek, 2012-11-17

Troufám si tvrdit, že většina programátorů o klíčovém slovu this slyšela a ví, že se jedná o automaticky zpřístupněný ukazatel v metodě, který ukazuje na objekt, na kterém byla metoda zavolána. Obvykle se s tímto klíčovým slovem nesetkáte, protože když v metodě voláte jiné metody či přistupujete na datové složky objektu, tak je onen ukazatel implicitní. Jsou ovšem situace, ve kterých je použití tohoto klíčového slova nutné. A o těchto situacích bude následující příspěvek.

Od Petr Zemek, 2012-04-21

Jak jistě z kurzů assembleru víte, existují dva typy bitových posunů doprava: aritmetický a logický. Pokud se tento posun aplikuje na kladné číslo, tak jsou oba typy totožné. Rozdíl nastane u posuvu záporných čísel, kdy logický posun doplňuje zleva nuly, kdežto aritmetický kopíruje znaménkový bit, který je 1 u záporných čísel ve dvojkovém doplňku. Operátor >> v Pythonu je aritmetický posun doprava. Následující příspěvek se snaží o implementaci logického posunu do Pythonu.

Od Petr Zemek, 2011-09-09

Minule jsem zmínil, že při commitování do systémů pro správu revizí bychom se měli vyvarovat nadbytečných bílých znaků na koncích řádků. Kolega mě požádal, zda bych to mohl více rozvést, a já tak v následujícím příspěvku učiním :).

Od Petr Zemek, 2011-08-11

Přináším několik poznámek ke commitování (bez překladu, protože mě žádný vhodný nenapadá) do verzovacích systémů, abych se na ně mohl odkazovat v diskusích apod., měl je pohromadě a nemusel je psát všude od znova. V příspěvku počítám s tím, že jste součástí většího a dlouhodobějšího projektu a máte rádi pořádek. V opačném případě, např. pokud pracujete na něčem vlastním či pracujete na školním projektu v týmu složeném pouze z nepořádných studentů, moje poznámky s klidem ignorujte :).

Od Petr Zemek, 2010-11-06

Když se zeptáte programátora v jazyce C na for cyklus, tak vám odvětí, že se skládá z hlavičky, která je tvořena třemi výrazy oddělenými středníky, kde do první se dává deklarace proměnných, do druhé podmínka ukončení cyklu, a do poslední akce provedená po každé iteraci. Každá z těchto částí je nepovinná. A pak následuje tělo cyklu. Co je ale zajímavé, tak je to, že to není tak úplně pravda a volitelnost částí záleží na typu for cyklu, který se použije.

Od Petr Zemek, 2010-11-03

Pokud ve svém C či C++ programu porovnáváte znaménková a bezznaménková čísla, používáte překladač GCC a máte zaplá varování, tak jste se již určitě setkali s varováním warning: comparison between signed and unsigned integer expressions. Toto varování bývá velmi často přehlíženo, a to mnohdy z toho důvodu, že dotyčnému není jasné, kde by mohl vzniknout problém. Cílem tohoto krátkého příspěvku je na tento problém poukázat.