Category: programování

Podepisování 64bitových ovladačů pro Windows

Ve článku Authenticode – jak podepisovat programy padl dotaz, jestli jde popisovaný postup použít i pro ovladače do 64bitových Windows. Nemaje žádné praktické zkušenosti jsem si tipnul, že ano. Ale mýlil jsem se – jak jsem si nedávno v souvislosti s druhým pokusem o oblíbení Windows 7 a potřebou lehce upravit ovladač TrueCryptu v praxi ověřil. Nicméně – „cesty jsou“, abych parafrázoval V. Špidlu.

(more…)

Regulární výrazy (6.) – další zpracování

Prvních pět dílů seriálu o regulárních výrazech se zabývalo tím, jak tyto výrazy zformulovat – jejich stavebními bloky a tím, jak je skládat dohromady. Neřešili jsme ale otázku, co s regulárním výrazem, když už je napsaný. Na to odpoví až dnešní díl, ve kterém si povíme něco o vyhledávání, nahrazování a dalších operacích s regulárními výrazy, včetně několika nových zápisů, které se pro tyto účely dají vhodně využít.

(more…)

Regulární výrazy (5.) – Unicode

V pátém dílu seriálu o regulárních výrazech se podíváme na možnosti práce s kódováním Unicode, které se velmi hodí uživatelům exotických abeced (například české). Za běžných okolností je totiž knihovna PCRE nastavena pro práci s běžným osmibitovým kódováním znaků (co znak, to bajt), a ještě speciálně pro práci s anglickou abecedou. Abecedy ostatní standardním PCRE podporovány nejsou a buď nejsou použitelné vůbec (japonština a další abecedy, které potřebují více než jeden bajt na reprezentaci jednoho znaku) nebo jen s omezeními (např. čeština – v zásadě funguje, ale neexistuje žádná podpora pro skutečnost, že „č“ je „písmeno“ a ne „speciální symbol“). S podporou Unicode lze ale docela dobře pracovat i s neanglickými abecedami.

(more…)

Regulární výrazy (4.) – pokročilé podskupiny

Zatímco předchozí díly seriálu se zabývaly něcím, co bych označil za základní syntaxi regulárních výrazů, víceméně stejnou ve všech implementacích, ve čtvrtém díle se podíváme na konstrukce, které jsou specifické pro PCRE a nedají se použít skoro nikde jinde. To je sice jejich velká nevýhoda, na druhou stranu jde o konstrukce natolik užitečné, že stojí za to je znát. Konečně totiž dojde i na častou otázku, „jak vyhledat řetězec, který neobsahuje zadaný podřetězec?“

(more…)

Regulární výrazy (3.) – podskupiny

Třetí díl seriálu o regulárních výrazech bude věnován obyčejným kulatým závorkám ( a ). Ony vlastně ani nejsou zvlášť složité, celá jejich funkce by se snadno dala shrnout do tvou slov „vymezení skupin“ – jenže jde o to, že tímhle jedním mechanismem jde provádět celou řadu zajímavých operací, drtivé většině uživatelů neznámých. Na ty ale dojde až v příštím pokračování, dnes se seznámíme jen se základním použitím závorek, na které v dalším díle navážeme (a konečně v něm dojde na slibovanou často žádanou funkčnost „jak napsat výraz, který nenajde zadané slovo“).

(more…)

Regulární výrazy (2.) – základní operátory

V prvním díle série o regulárních výrazech jsem lehce naťukl, co to vlastně ty regulární výrazy jsou a na jaké problémy se musíte připravit, pokud chcete regulární výrazy používat. Také jsem ale říkal, že přes to všechno jsou regexpy nesmírně užitečným nástrojem, který stojí za to umět používat. V dnešním díle už dojde na lámání chleba: pustíme se do základních regulárních výrazů.

(more…)

Regulární výrazy (1.) – úvod

Pokud trochu sledujete zdrojové kódy mých programů, jistě jste už zjistili, že v nich se železnou pravidelností používám regulární výrazy (regexpy – z „regular expression“). Proč to dělám? Protože regulární výrazy jsou nesmírně užitečným nástrojem pro zpracování textu, který se navíc dá v takřka stejné podobě použít všude možně – nemusíte být zrovna programátor, abyste ocenili sílu regexpů, protože je můžete i bez znalosti programování použít třeba v mnoha textových editorech. A protože mě známé české popisy podle mě vykazují řadu nedostatků, rozhodl jsem se napsat sérii článků uvádějících do úžasného, i když trochu mystického, světa regulárních výrazů. Ke čtení bych je doporučil zejména těm, kdo a) chtějí upravovat moje programy, nebo b) chtějí vytvářet e-booky podle mých návodů.

(more…)

UpdVer

Už nějakou dobu mě při psaní YouTube Downloaderu obtěžovala práce s verzováním. Nebylo to nic vážného, jen drobnosti, které znamenají možná tři sekundy času vynaložené navíc, ale právě takovéhle drobnosti jsou tím, co mě často přiměje investovat pár hodin času do toho, abych se jich zbavil. A tady je výsledek: maličký prográmek UpdVer, který řeší dvě takové prkotiny. Třeba se bude hodit ještě někomu dalšímu.

(more…)

Authenticode – jak podepisovat programy

Za posledních pár let jsem se sem tam, většinou u příležitosti toho, že mě Windows svými stupidními dotazy naštvou, zabýval otázkou, jak podepsat svoje programy, aby je Windows považovaly za bezpečné. Výzkumy vesměs končily na pohledu do té části ceníku certifikačních autorit, která se zabývá certifikáty na podepisování kódu (code signing certificates), ale tentokrát jsem se rozhodl dojít až do konce. A také jsem tam došel.

(more…)

Free licenci, ale kterou? (část 2)

Uběhl týden a já v sobě opět nacházím dostatek sil, abych se prokousával právnickou angličtinou ve snaze najít použitelnou open-source licenci bez vedlejších efektů. General Public License a Mozilla Public License už jsem dostatečně znectil v předchozím článku, dnes přichází tu mám dalších několik kandidátů.

(more…)

Themocracy iconWordPress Themes

css.php