Hlavní navigace

Softwarová sklizeň (27. 11. 2002)

Michal Krause 27. 11. 2002

Oblíbená sonda do světa (převážně) otevřeného softwaru. Dnes tu máme pár užitečných pomocníků pro balíčkovací systém RPM, zajímavou alternativní JVM od společnosti Bea nebo třeba Tetris napsaný v shellu a awku.

Obsah

Jednoduchou, leč nadmíru užitečnou utilitku rpmrebuild ocení jistě nejeden uživatel linuxové distribuce postavených na balíčkovacím systému RPM. S její pomocí lze totiž znovu sestavit již instalovaný binární balíček, což je funkce, po které jsem už dlouho toužil. Nezřídka se mi totiž stávalo, že jsem vytvořil vlastní balíček nějaké aplikace, který jsem v záchvatech uklízení smazal s železnou jistotou pár hodin před tím, než mě o něj někdo požádal. Rpmrebuild mi v takovém případě umožní balíček vypreparovat ze systému a znovu zapakovat. Funguje to opravdu výborně, jenom doporučuji před použitím programu nastavit LC_ALL na C, neboť s českými locales se špatně vygeneruje changelog a balíček se nevytvoří. Přiložený skript rpmrebuild.sh nastavuje pouze LC_TIME, což v mém případě (RH 7.2) z neznámého důvodu nestačí.

Při vývoji webových aplikací nezřídka nastane situace, kdy potřebujete rozebrat komunikaci mezi serverem a klientem a pokusit se tak odhalit chyby, jako jsou třeba chybějící nebo nesprávně formulované hlavičky. Přesně pro tyto účely vznikl projekt Charles. Jde o javový proxy server, který obstará celou škálu užitečných úkolů. Předně monitoruje a uchovává záznam komunikace mezi oběma stranami, takže můžete jednoduše zkoumat například přesměrování, obsah cookies nebo délku požadavků i odpovědí. Zároveň si můžete udělat představu o tom, kolik dalších požadavků musí kvůli dané stránce klient poslat, aby stáhl například obrázky, styly, skripty a další externí dokumenty. Veškerá tato data jsou ukládána, takže si je lze později prohlédnout. Charles rovněž umí zjistit a reportovat, jestli se na dokumenty uplatňuje kešování. Naopak v případě, kdy kešování stěžuje ladění aplikace, jej můžete použít k odstraňování souvisejících hlaviček a kešování tak zakázat. Za zmínku stojí také schopnost pracovat s HTTPS spojením a funkce omezující datový tok na stanovenou hodnotu, díky čemuž si můžete udělat představu o tom, jak se asi u vašeho webu bude cítit například člověk připojený přes dial-up. Asi jedinou nevýhodou tohoto programu je fakt, že jde o shareware s registračním poplatkem 50 dolarů.

K výše zmíněné utilitě rpmrebuild se dobře do páru hodí výtečný program CheckInstall, který umožňuje vytvořit RPM balíček ze zdrojových kódů bez spec souboru i naprostému laikovi. Pakliže dokážete zkompilovat a nainstalovat program pomocí make && make in­stall, případně trojice ./configure && ma­ke && make in­stall, pak s CheckInstallem dokážete vytvořit i balíček – stačí jej totiž spustit namísto závěrečného povelu make install (případně jiného, který slouží k instalaci) a program se postará o vše ostatní. Je pravdou, že takto nelze řešit všechny problémy závislostí a některých dalších záludností, ale pokud si chcete udržet systém v alespoň trochu přehledném stavu, je to myslím lepší volba, než mixovat balíčky a instalace ze zdrojových kódů. Zmínil jsem se jenom o RPM, ale CheckInstall si stejně dobře poradí i s debianovským formátem DEB a slackwarovským TGZ. Pokud již CheckInstall používáte, pak se v nové verzi 1.6 můžete těšit například na možnost vytvoření balíčku bez jeho instalace a na náhled spec souboru před vytvořením balíčku.

Občas si musím psát s někým, kdo používá MS Outlook, a kromě jiných výhrad mám v těchto případech neustálé problémy s přílohami – čert ví proč se v MS rozhodli, že příloha bude buďto přímo v těle zprávy zakódována do některého sedmibitového formátu a nebo bude naopak ukryta v záhadném souboru winmail.dat. V prvním případě si už delší dobu pomáhám programem uudeview a dnes jsem našel elegantní řešení i pro druhou nastíněnou situaci. Je jím perlový skript tnefclean, který dokáže buď na požádání a nebo automaticky (například v kombinaci s procmailem či jiným MDA) překonvertovat takto postižené emaily na normální MIME zprávu s obyčejným přílohami, které zvládne takřka libovolný emailový klient.

Společnost Bea je známá díky platformě WebLogic pro vývoj webových aplikací v Javě, na jejímž vývoji se také podílí prostřednictvím Java Community Process. Jejím nejnovějším příspěvkem v této oblasti je vlastní Java Virtual Machine nazvaná WebLogic JRockit. JRockit, údajně vůbec nejrychlejší dostupná JVM, je optimalizován speciálně pro serverové aplikace, což je pro Beu samozřejmě hlavní oblast zájmu, a je k dispozici zdarma. Bea nabízí verze pro Linux a Windows.

Bojovat proti spamu se dá nejrůznějšími způsoby. Jednou cestou jsou i black listy spamujících organizací, které mohou být díky spolupráci mnoha dobrovolníků opravdu aktuální a tudíž účinné. Takovým black listem je i SPEWS.ORG, který nabízí hned několik různých způsobů filtrování od specializovaných programů, jako je třeba SpamAssassin, přes ochranu na úrovni DNS až po možnost využití speciální POP3 proxy, která zprávy testuje před stažením. Na serveru se můžete rozhodnout ještě pro jeden způsob ochrany – můžete prostě seznam spamujících IP adres „zaříznout“ už na úrovni paketového filtru. Rozhodnete-li se pro toto řešení, pak vám pomůže Spews2fw, což je perlový skript, který umí stáhnout aktuální databázi spamerů a na jejím základě připravit filtrovací pravidla pro ipchains, iptables, pf/ipf a routery Cisco.

Kuriozitka týdne

V jednoduchosti je síla, to je rčení, které slýcháme snad každý den a je v něm jistě hodně pravdy. Kdybych ale měl jmenovat nějaký obecně známý příklad z počítačové praxe, který toto úsloví vystihuje nejlépe, asi bych neváhal – je to podle mě Tetris. Tato hra s jednoduchými pravidly doslova dobyla svět a počet jejích implementací a odnoží se jistě počítá na tisíce. Tuto již notně dlouhou řádku rozšiřuje Tetris.sh, který se do rubriky „Kuriozitka týdne“ dostal proto, že je kompletně napsaný v kombinaci shell/awk. Přestože autoři zvolili přinejmenším nezvyklé programovací prostředky (a nebo spíš právě proto), stoprocentně potvrzuje, že Alexej Pažitnov dal světu geniálně jednoduchou hru. Na její implementaci očividně stačí takřka libovolný jazyk a přitom nijak neztrácí na hratelnosti. Ostatně při testování, jak takový shello-awkový Tetris vypadá, jsem se u něj zdržel rozhodně déle, než jsem původně chtěl – a klidně bych mohl i pokračovat, kdybych ovšem nemusel dopisovat Sklizeň :)

A to je pro dnešek vše…

Našli jste v článku chybu?

27. 11. 2002 21:56

Radek (neregistrovaný)

tak ted jsem s tim tetrisem teprve skoncil... nic jsem za cely den neudelal ;-))))))

27. 11. 2002 14:47

root (neregistrovaný)

uz jsem tetris.sh nabidnul uzivatelum a upozornil je
na tetris.sh v /etc/motd :-)))


Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Lupa.cz: Slevové šílenství je tu. Kde nakoupit na Black Friday?

Slevové šílenství je tu. Kde nakoupit na Black Friday?

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

Lupa.cz: Není sleva jako sleva. Jak obchodům nenaletět?

Není sleva jako sleva. Jak obchodům nenaletět?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET