Archiv rubriky: Python

Kde se asi stala chyba: obsluha výjimek v Pythonu

Python, stejně jako většina moderních programovacích jazyků, obsluhuje chyby vzniklé za běhu pomocí výjimek. Pro každého programátora v Pythonu je blok try ... except základem všeho bytí. Výjimky se používají nejen pro obsluhu běhových chyb a chyb vzniklých v operačním systému, ale velice úzce souvisí i s dynamickým typováním samotného Pythonu (viz příklad zde). V tomto zápisku se podíváme na ukázkový kód, který se zdá naprosto vpořádku, ale přesto obsahuje naprosto zásadní chybu. Myšlenku na tento zápisek mi vnukl článek na serveru Zdroják.cz.

Pokračování textu Kde se asi stala chyba: obsluha výjimek v Pythonu

Servování souborů z MongoDB GridFS

V mnohých projektech používáme bezschémovou databázi MongoDB. Tato databáze poskytuje onu flexibilitu, kterou jsme v těchto projektech potřebovali, neboť mnoho záležitostí ohledně reprezentace dat v databázi se rýsovalo až v průběhu projektů. Kromě toho, že MongoDB umožňuje elegantně mapovat JSON (resp. BSON) objekty do Python dictionary pomocí bindingu pymongo, umožňuje také pomocí modulu gridfs přistupovat k objektům uloženým v databázi pomocí GridFS (specifikace, jak do MongoDB ukládat velká, binární data). V tomto zápisku se podíváme na to, jak tyto soubory z databáze odbavit pomocí HTTP serveru napsaného v Pythonu.

Pokračování textu Servování souborů z MongoDB GridFS

Kde se asi stala chyba

Kde se asi stala chyba — typická otázka při hledání chyb v programovém kódu. Přestože dnešní programátor je vybaven celou paletou nástrojů od editoru po debugger, stále jsou zde případy chyb, které se nedaří tak jednoduše rozlousknout. Tyto chyby jsou až magické a zdá se, že čím více se na ně člověk zaměřuje, tím snáze unikají. V článcích Kde se asi stala chyba se pokusím ukázat pár takových chyb, které jsem hledal (a našel). Protože mým hlavním programovacím jazykem je Python, budou se ony chyby dotýkat právě Pythonu. Přestože na první pohled se chyby mohou zdát být jasné a zřejmé, jejich nalezení v komplikovaném kódu může být velice zdlouhavé.

Pokračování textu Kde se asi stala chyba