Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Články v rubrice Programovací jazyky

Python profesionálně: metatřídy

V předchozích dílech tohoto seriálu jsme si řekli spoustu zajímavých tipů, jak vyvíjet v Pythonu lépe a rychleji. Od syntaktických tipů přes různé tipy na vestavěné funkce, moduly atp. až po zajímavé řešení některých návrhových vzorů. Zbývá už jen poslední a pravděpodobně nejnáročnější povídání – o metatřídách. Co to vlastně je, jak se tvoří a kde se dají využít.

Python profesionálně: návrhové vzory

V předchozích dílech tohoto seriálu jsme se zabývali tipy, které by měl znát určitě každý, kdo programuje v Pythonu, aby si dokázal usnadnit práci. Dnes se posuneme trošku dál. Podíváme se, jak lze v Pythonu elegantně uplatnit několik návrhových vzorů. Konkrétně si vyzkoušíme udělat singleton, flyweight, dekorátor a další.

Python profesionálně: co jazyk nabízí

V předchozích dílech tohoto seriálu jsme si ukázali spoustu syntaktických tipů. Dnes už necháme syntaktické tipy být a posuneme se trochu dál: vestavěné funkce, užitečné metody slovníku, na co si dát pozor u defaultních parametrů funkce, zajímavé moduly a další.

Python profesionálně: dynamické parametry, generátory, lambda funkce a with

V minulém díle jsme se podívali na několik jednoduchých syntaktických tipů, které nám usnadní vývoj v programovacím jazyce Python. Dnes navážeme generátory, lambda funkcemi, with konstrukcemi a dynamickými parametry.

Python profesionálně: úvod

Programovací jazyk Python přispívá k rychlému vývoji. Dovolí nám nesoustředit se na technické detaily a nechává nám více prostoru na skutečné řešení problému. Python se sice snaží být intuitivní, ale obsahuje věci, které nejsou všední, a příliš se o nich neví. Tímto dnes začínajícím seriálem vám chci Python více přiblížit a odkrýt vám jeho krásu.

Granularita kešování

Data, která se často čtou a jejichž získání trvá dlouho, se vyplatí uložit do nějaké rychlejší vyrovnávací paměti. To je jeden ze základních obratů zrychlování programu. Jaká data ale do keše uložit pohromadě?

Zlepšite svoje jQuery – OOP, menné priestory, pub-sub

Denne využívam JS framework jQuery k svojej práci. Napriek nepopierateľným výhodám, ktoré tento framework do života webdevelopera prináša, nepredstavuje klasická štruktúra jQuery kódu ideálny spôsob písania väčšieho projektu. V tomto screencaste vám chcem predstaviť odlišnú štruktúru JS aplikácie, ktorá vám umožní „vyrásť“.

Došlo k chybě ve skriptu

Omlouváme se, ale článek, který na serveru hledáte, tu pravděpodobně není. Možná ho někdo smazal, možná tu nikdy nebyl, možná jste se uklepli v adrese. Server možná ztratil spojení s databází. Máte nepodporovaný prohlížeč. Došlo k obecné chybě. Omlouváme se. Zkuste to za chvíli znovu… Co s tím uděláme?

Prasit, či neprasit?

…aneb Lightbox implementovaný na dva způsoby. Ukážu vám dvě implementace notoricky známého widgetu Lightbox. Ta první je maximálně naivní, ta druhá sofistikovaná. Obě jsou postavené nad Google Closure Library, což ale není to podstatné. Podstatné je, jak jsou napsané.

Datový typ ENUM v PHP

Enum, enumerated nebo česky výčtový typ je datový typ, jehož použití na správném místě nám může pomoci zjednodušit návrh aplikace a učinit ho elegantnějším. Výčtové typy slouží k definici skupin předem známých hodnot a umožnění následné typové kontroly (Rudolf Pecinovský – Návrhové vzory). Výhody výčtového typu můžeme využívat i v návrhu PHP aplikace, pokud překonáme jisté obtíže s implementací.

ECMAScript 5.1

ECMAScript 5.1 (ES5.1) je poslední verzí ECMAScriptu, standardu, na kterém je postaven JavaScript. Podobně jako u HTML5 je i ES5 standardizací existujících implementací a rozšíření jazyka. Jednou z nich je například strict mode, o němž jsme už psali. V článku si představíme některé další novinky verze 5.1.

Javascriptaření: překladače, pakovače

V dnešním Javascriptaření si představíme několik nástrojů pro překlad z a do JS (nejen CoffeeScript…) – a nepůjde o žádné exotické jazyky, ale o „vytuněný“ JS, MVC framework, knihovny pro kompresi dat nebo velmi zajímavou vývojářskou konzolu, která umožní ladit skripty najednou v několika prohlížečích.

Základní vzory pro vytváření jmenných prostorů v JavaScriptu

Jmenné prostory v JavaScriptu patří jednoznačně k pokročilejším technikám. K jejich pochopení je třeba znát princip fungování closures a objektů v JS. Při práci na středních a větších projektech je bezpodmínečně nutné tyto techniky znát a umět používat. Addy Osmani v článku ukazuje osvědčené postupy.

Aplikace pro Facebook, díl II. - autorizace

V druhém díle seriálu o tvoření aplikací pro dnes nejpopulárnější sociální síť – Facebook – si představíme princip autorizace aplikace, podíváme se na protokol OAuth, který ověřuje přístupová práva ke Graph API, a nakonec si vše názorně předvedeme na ukázce.

CoffeeScript: nový jazyk, nové chytáky

CoffeeScript vzbudil mezi vývojáři webových aplikací slušný zájem, mnozí si pochvalují jeho vyjadřovací schopnosti a eleganci. Přesto má CoffeeScript, jako každý jazyk, kromě příjemných překvapení i některé záludnosti a tajemná zákoutí, do nichž může nepřipravený vývojář snadno padnout.

Aplikace pro Facebook od základů - díl I.

V tomto seriálu si představíme celý ekosystém vývoje aplikací pro Facebook. V prvním díle se budeme věnovat převážně teorii – vysvětlíme co Facebook aplikace vůbec je a představíme dostupné prostředky pro její vývoj. Nakoukneme do praxe a vytvoříme společně vaši první „hello world“ aplikaci.

CoffeeScript po devíti měsících

Před tři čtvrtě rokem, v prosinci 2010, jsme si na stránkách Zdrojáku představili CoffeeScript – nový jazyk, postavený nad JavaScriptem, který akcentuje třídy, lambda funkce a podobné rysy. Pojďme se podívat, jak se za tu dobu CoffeScript ujal (či neujal) a jak se proměnilo jeho vnímání.

Nedokumentované chování vláken a fronty událostí v Javě

Tutoriály vysvětlující, jak psát grafické aplikace v Javě, nám radí, abychom zabezpečili, aby se veškerý kód týkající se grafiky prováděl ve vláknu obsluhujícím frontu událostí. Výklad pak ilustrují na jednoduchých příkladech, které budou vždy fungovat. V tomto článečku bych se chtěl podrobněji podívat na jednu takovou nestandardnost.

Dependency Injection: kontejner

V ukázkách jednotlivých typů DI v minulém dílu seriálu byly objekty vždy sestavovány manuálně. Kód potřebný pro sestavování je ale obdobný pro všechny případy, a tak tuto práci můžeme u Dependency Injection přenechat tzv. kontejneru, kterému pouze poskytneme konfiguraci. Ukažme si, jak s ním pracovat.

PHP 5.4 přináší změny a nové jazykové konstrukce

Vyšlo PHP 5.4.0, a i když je zatím ve verzi alpha, podíváme se na novinky v tomto jazyce, na nové konstrukce, odstraněné konstrukce a další změny, kterých sice není tolik jako ve verzi 5.3, ale jsou zajímavé. Změny pro čtenáře Zdrojáku sumarizoval a okomentoval Jakub Vrána.

Dependency Injection: předávání závislostí

V dnešním pokračování seriálu o Dependency Injection si představíme různé varianty (Constructor injection, Setter injection, Interface injection či Property Injection), popíšeme jejich principy, zhodnotíme výhody a nevýhody, popíšeme dopady na kód, a pro srovnání si ukážeme i vzor Service Locator.

Dependency Injection: motivace

Dependency Injection se stalo horkým tématem programátorských diskusí i na českých fórech. Někteří jej horlivě obhajují a jeho použitím vysvětlují různé konstrukce a doporučení, jiní jej považují třeba za „overkill“ – většinou z nepochopení. Vašek Purchart seznámí s DI všechny, co zatím tápou.

Lazy evaluation v PHP

Lazy evaluation („líné vyhodnocování“) je programovací technika, která může ušetřit mnoho paměti a času. Některé jazyky pro ni mají speciální konstrukce; v PHP ale musí být nahrazena jinak. Jedno z možných řešení, které využívá k lazy evaluation PHP iterátory, si ukážeme v následujícím článku.

Optimalizace v Pythonu

Velmi často se stává, že rychlost výsledné aplikace je nepřímo úměrná rychlosti jejího vývoje – čím rychleji ji vyvineme, tím pomaleji běhá. Pak přichází vhodná chvíle na optimalizace. Pár milisekund ušetřených tu, pár tam, a na výsledku to je náhle znát. V článku si ukážeme, jak optimalizovat aplikace v Pythonu.

Zlepšení výkonu animací v JavaScriptu

Pokud jste někdy experimentovali s psaním animací v Javascriptu, možná jste si všimli určitých nevýhod, které s sebou nese použití funkcí setTimeout a podobných. Paul Irish ukazuje, jak lze výhodně použít speciální funkci pro časování animací, která šetří výkon CPU, snižuje odběr energie a pro mobilní zařízení může být zásadní.

Ještě k testování

SEO, MVC, návrhové vzory, knihovny a AJAX už všichni umí, nebo jsou o tom alespoň přesvědčeni. O použitelnosti má ponětí stále víc vývojářů. Kdekdo se zaklíná „čistým kódem“… Jen jedna věc vzbuzuje zatím stále silný odpor – testování! Racionálně vzato to nedává smysl, takže příčina bude někde jinde…

ECMAScript Strict mode ve Firefoxu 4

Syntaxe JavaScriptu je přizpůsobena začátečníkům a JavaScript tak mnohé odpustí, což se nyní, kdy se JavaScript stává jedním z nejdůležitějších webových programovacích jazyků, ukazuje jako zásadní problém, který brání optimalizacím a přináší některé záludné chyby. Napraví to takzvaný Strict mode?

Javascriptaření: hrajte si s funkcemi!

Funkcionální programování si častěji spojujeme s Lispem, Haskellem či F# než s něčím, co by se odehrávalo na webu. A přitom funkcionální jazyk má každý webař po ruce… Ukážeme si tento opomíjený rys JavaScriptu na příkladech, které budou lispařům určitě důvěrně známé. Vítejte do světa javascriptaření!

Profilování PHP skriptů pomocí XHProf

Profilování, tedy sledování doby běhu různých části programu, neodmyslitelně patří k vývoji každé aplikace. Umožní nám zjistit úzká místa a optimalizovat pouze ta. Jak říká známá poučka Donalda Knutha: „Předčasná optimalizace je kořen všeho zla“. Článek nám představí profilovací nástroj pro PHP.

Kaffeine: další povzbuzení pro javascriptaře

Káva je, a to i v naší anketě, jednou z nejpopulárnějších povzbuzovacích metod mezi programátory (populárnější je jen „spánek“). Snad i proto se v nejrůznějších podobách objevuje v názvech knihoven a programovacích jazyků. Ani dnešní nástroj není výjimka. Je opravdu povzbuzením pro JavaScriptaře?