Patrik Votoček - Blog

Vstříkni to tam - Reparát

Patrik Votoček
V Sobotu jsem na Poslední Sobotě měl s Filipem Procházkou přednášku Vstříkni to tam - průvodce světem Dependency Injection. Už při přednášce jsme upozorňovali, že nám poněkud nevyšel plán a přednášku jsme “odfláknuli”. Jelikož mě to ale nedá spát, tak jsem se rozhodl že se základ pokusím vysvětlit prostřednictvím tohoto článku. Pojďme se tedy podívat, co to Dependency Injection (česky “závislé vstřikování”) je. Dependency Injection Dependency Injection je návrhový vzor (technika Inversion of Control), který nám říká, jak trasparentně propojovat jednotlivé komponenty systému.

Nella Framework – Krok za krokem – Formuláře

Patrik Votoček
Jednou z killer-feature Nette Frameworku jsou bezpochyby formuláře. Nicméně nám v praxi chybělo / chybí pár vlastnosti a funkcí. A tak jsme si je v Nella Frameworku přidali. Předně bych chtěl upozornit, že takřka všechny vlastnosti Nella formulářů jsou vázány na “AppForm”((Nette\Application\UI\Form)) a nepočítá se s jejich využitím mimo Nette Framework. Rozšířená podpora “WebForms 2.0” Nebo také HTML5 Formuláře. addEmail addUrl addNumber addRange addSearch Všechny tyto HTML5 prvky lze vytvořit také v Nette, nikoliv však tak jednoduše.

AdminModule vs. BackendPresenter

Patrik Votoček
Stále a pořád se na Nette Fóru setkávám s řešením AdminModule / FrontModule a podobnými. Moc toto řešení nechápu a tak bych se rád podělil o řešení, které používám já. Místo AdminModule / FrontModule používám řešení “dělení presenterů”. Nebo-li místo AdminModule mám BackendPresenter a místo FrontModule mám FrontendPresenter. Toto řešení používám z celkem jednoduchého důvodu, kterým je modulárnost. Co to má společného s modulárností? Pokud je vám jedno, kde se která třída a soubor v projektu “válí” tak se vás tento problém netýká.

Nella Framework - Krok za krokem - 0/x úvod

Patrik Votoček
Co je to Nella Framework? Nella Framework je na kolekce nejrůznejších utilitek pro [Nette Framework](http://nette.org). Primárně zastřešuje spojení Nette a [Doctrine ORM 2](http://www.doctrine-project.org/projects/orm). Vlastnosti Doctrine ORM 2 “sandbox” kompletní modelová vrstva Doctrine Migrations “sandbox” Rozšířené formuláře (addDynamic, “MFU”((Multiple File Upload)), TagInput, atd.) cURL wrapper nová Latte makra translator (překlad řetězců, extractor - kompletní správa překladů) ACL (autorizace, autentizace) média (abstrakce pro práci se soubory a obrázky) panely pro debug bar V následujících článcích si jednotlivé vlastnosti a funkce Nella Frameworku popíšeme podrobněji.

Proč je "skupinové formátování" špatné

Patrik Votoček
Je tomu pár dní, co jsem ve starších projektech znovu zahlédl tento špatný zvyk. A také vyšel na blogu NetBeans PHP článek o podpoře tohoto formátování v NetBeans 7.1. $foo = 1; $bar = 2; $longVar = 3; // nebo $x = array( 'foo' => 1, 'bar' => 2, 'longKey' => 3, ); Proč je toto odsazování špatné? To si ukážeme na příkladu. Potřebujeme mezi foo a bar přidat someLongestName.

Spustili jsme - AceBLOG

Patrik Votoček
Dnešním dnem jsme spustili firemní blog. Tedy AceBLOG. To znamená že mé články týkající se PHP, Nette a podobně budou vycházet tam. A zde se začnou v brzké době objevovat spíše články o NodeJS:http://nodejs.org.

Service - odstínění Presenteru a Komponent od EntityManažeru

Patrik Votoček
V předchozích dvou článcích jsem se snažil dopátrat, jak kdo implementujete modelovou Service vrstvu pro Doctrine ORM 2 v Nette Frameworku. Dlouhodobě totiž hledám “ideální”((nikoli jediné správné)) řešení, protože jsem se svým stávajícím lehce nespokojen. Ono funguje a je dokonce i celkem ohebné a použitelné ve spoustě případů a situací. Nicméně stále mám pocit, že je tam něco špatně a tak jsem se vydal pátrat, co to je. Vzal jsem tedy své stávající řešení a našel dva body, které mě trápí nejvíce.

Service vrstva Doctrine (2/2)

Patrik Votoček
V předchozím článku jsem řešil, zda o data žádat přímo repository, či zda žádat service. V tomto článku bych rád otevřel diskusi nad dalším “problémem”, který řeším. Dalším problémem je totiž “spárování” service s entitou. V doctrine si totiž entita sama říká, jaká repository se o ní má starat (čistotu tohoto řešení nechejme stranou). Je to jednoduché, zvyknete si na to a kupodivu je to i celkem praktické řešení. Jak tedy řešit svázání service s entitou.

Service vrstva Doctrine (1/2)

Patrik Votoček
Když jsem se rozhodoval , jakou knihovnu použít pro modelovou část “Nelly”((tehdy ještě nerozdělené na Framework a CMS)), byla jednou z možností Doctrine ORM. Původně jsem si Doctrine ORM 2 nevybral a “začal jsem”((jako jeden z mnoha)) psát vlastní ORM, postavené nad dibi. Po přibližně měsíční práci jsem dospěl do fáze, kdy to nějak fungovalo, ale čekala mě hromada další práce, jako například optimalizace, celkový refaktoring a hlavně otestování v praxi.

Ověření unikátnosti ukládaných dat

Patrik Votoček
Jak řešíte ukládání dat s ověřením unikátnosti záznamu? Řešení první Prvním řešením je zeptat se $values = array('title' => "Test", 'slug' => "test", 'text' => "Lorem ipsum..."); if ($model->where("slug = ?", $values['slug'])->count("*") < 1) { $model->insert($values); } else { /* $form['slug']->addError("..."); */ } Problém mezi ověřením a uložením mohlo dojít k uložení článku se slugem “test” někým jiným Řešení druhé Druhým možným řešením je zachycení vyjímky při selhání

PHP 5.4 Alpha 1

Patrik Votoček
Před pár dny, po dvou letech od vydání PHP 5.3 , vyšlo PHP 5.4 Alpha 1 Pojďme se společně podívat, co přináší nového. Jen pro připomenutí v PHP 5.3 to byly tyto tři novinky: - Namespace - Closure - Late Static Bindings V PHP 5.4 to jsou tyto tři: - Traits - array dereferencing - $this v closurách Osobně ale za hodně důležité považuji také: - odstranění Safe mode - odstranění register_globals

Nella Framework 2.0 Alpha 1

Patrik Votoček
Dnes jsem se definitivně rozhodl vypustit Nella Framework 2.0 Alpha 1. Snaha vychytat vše před vypuštěním vedla k zacyklení a nevypustil bych to tak nikdy. Předem upozorňuji že se jedná o Alpha verzi, která zcela jistě obsahuje chyby. Novinky Novinek je spousta, ani si všechny nepamatuju. Takže níže najdete seznam toho na co jsem si vzpoměl. - Přepracované namespace po vzoru Nette Frameworku:http://nette.org. - Nová verze translation panelu (zcela přepracovaná - s původní má pramálo společného) a vůbec komplet překladů.

29. #posobota McDrive(TM)

Patrik Votoček
Jak už to tak bývá. Když se pije tak přijde chvíle kdy je hlad. Vzhledem ke kvalitě obsluhy „U tří soudků“ (kam mimochodem už nikdy nepáchnu). Jsme se rozhodli že zkusíme strejdu Donalda v Edenu. Posilněni alkoholem jsme tu cestu pěšky zvládli překvapivě bez úhony. Když jsme dorazili na místo zjistili jsme že je tam poněkud delší fronta (strašně dlouhá). Co nenapadne chytré programátory! Je tu přece McDrive™ a nikdo tam není.

29. Poslední Sobota - Nella CMS vs. Žárovka

Patrik Votoček
V hospodách u piva se poměřují nejrůznější věci. Někdo si tam poměřuje své mužství, jiní mobilní telefony a další zase ego. Je to různé, záleží s kým na to pivo jdete. Blížící se 29. Poslední Sobota , se od jiných hospodských akcí pro programátory moc lišit nebude. Někteří si tam jistě budou poměřovat své telefony nebo něco jiného, ale hlavním programem bude poměřování něčeho jiného. Poměřovat se totiž budou řešení pro “rapid microsite development” (lepší název mě nenapadl).

Periodický český Kindle obsah

Patrik Votoček
Když jsem si před více jak 5ti měsíci pořizoval Kindle 3, bylo to s českým obsahem špatné. To mě ale od pořízení tohoto skvělého zařízení neodradilo. Pořizoval jsem si jej totiž kvůli anglickému obsahu, přesněji odborné anglické literatuře. Nikdy jsem si totiž nekoupil žádnou knihu z USA (i když jsem jich spoustu chtěl). A to z jednoho prostého důvodu - platbám mimo území ČR (později se ve mně cosi zlomilo a překousnul jsem to) a době od objednání po dodání (to se ve mně nezlomilo).

Nella Project

Patrik Votoček
Poslední dobou se mi zase začaly množit e-maily a obecně dotazy na to, jak to vlastně je s Nella CMS. No a jelikož bylo zrovna ve vývoji a později i ve výrobě nové logo, rozhodl jsem se setrvat a vypustit aktuální informace zároveň s uvedením loga. Ten den nastal právě dnes. Vyšlo to celkem na čas, protože zrovna dnes se koná #PoSobota v Brně, takže je ideální doba na to pustit nové informace a zrovna o nich případně podiskutovat.

Nette on the Road - Hradec Králove - shrnutí

Patrik Votoček
Včera (19.1.2011) proběhla v Hradci Králové na Střední Škole Aplikované Kybernetiky má první přednáška o Nette Frameworku. A já bych teď rád shrnul své pocity, zkušenosti a pokusil se vyvodit nějaký závěr. Pár minut((spíše hodin)) po přednášce jsem měl hodně rozpolcené pocity, protože jsem si sám byl vědom spousty chyb, které jsem během přednášky udělal. Nehledě na to, že jsem byl stále napumpovaný stresem. Na přednášku přišlo totiž “cca 25 lidí”((u 20tého jsem přestal počítat, protože by to se mnou asi seklo)).

Nette on the Road ? - Hradec Králové

Patrik Votoček
Nikdy jsem nepatřil mezi lidi, kteří si střeží své know-how tak, že ho mají zamčené v trezoru a zakopané kilometr pod zemí, aby jim ho náhodou někdo nesebral. Mám to spíše naopak, kdykoli se mě někdo zeptá a já vím, jak odpovědět, odpovím. Je tomu už něco přes rok od doby, kdy mě poprvé napadla myšlenka, že bych mohl své znalosti předávat dál trochu více. Zároveň pro mě přednášení bylo výzvou, které jsem se chtěl postavit.

Programátor externista (pracovat můžete klidně z Ugandy)

Patrik Votoček
Okurková sezóna je ta tam. Práce přibývá a kofein už je na hranici svých možností (RedBull už nezabírá vůbec). A tak hledáme do teamu dalšího Nette programátora (externistu). Jsme tak mladí, fit a krásní((no dobře - to byl pokus o vtip)). Máme rádi moderní technologie a to doopravdy hodně. Pracujeme, kdy chceme a odkud chceme (já mám rád 20:00-06:00 :-p ).Kofein, RedBull a pivo nám není cizí. To, že se oslovujeme “Óóóveliký šéfe” a “óóó můj milý padavane” snad ani říkat nemusím.

WebExpo 2010 už za pár dní

Patrik Votoček

ak ze kterého konce začít? No asi to vezmu chronologicky - bude to tak jednodušší.

Letošní WebExpo ještě ani nezačalo a už se na něj svalila vlna kritiky. Když totiž došlo ke spuštění nového webu pro letošní ročník (a s tím související uvedení ceny za “lístek”), tak se zvedla vlna kritiky, že je to moc drahé. Byl jsem jeden z mála, který cenu nekritizoval. Vzhledem k programu, který v tu dobu byl uveřejněn, jsem čekal, že za takovéto peníze by se mohlo konat někde blíže centru. Areál ČZU je totiž doopravdy špatně dostupný. Mno co, s placením jsem stejně čekal, až se trochu zaplní program, tak mě to moc netrápilo. Ale i přes to jsem byl po předchozím ročníku rozhodnut, že určitě půjdu (cena proto nebyla moc podstatná). (Mimochodem má původní objednávka měla číslo #008 :-) )

ORM v číslech podruhé

Patrik Votoček
V sobotu jsem vydal článek ve, kterém srovnávám různé ORM vrstvy používané ve spojení s Nette Frameworkem. Ve srovnání se nenacházelo NotORM od Jakuba Vrány . Jakub dnes do testu doplnil NotORM a požádal mě o změření za stejných podmínek jako ostatní měřená ORM v předchozím článku. Nicméně já jsem hned po uveřejnění prvního článku věděl, že chci vydat další, který bude tentokráte laborovat nad výsledky optimalizovanějších verzí. Předchozí test byl totiž záměrně psán celkem hloupě((neoptimalizovaně)).

ORM & Nette Framework v číslech

Patrik Votoček
Zdálo se mi, že je Doctrine 2 je extrémně pomalá a proto jsem zvažoval, že ji opustím. Ale abych to měl podloženo, pustil jsem se do testování. Udělal jsem si jednoduchou aplikaci v Nette, která dané ORM((Object-relational mapping)) pořádně otestuje. Postup Vytvořil jsem si testovací databázi (s 50000 záznamy) pomocí http://php7.org/tools/adresy/. Databáze obsahovala dvě tabulky Peoples a Cities, kde Peoples je k Citites svázáno 1:N. Testy jsem rozdělil do 4 částí: - SELECT 1000 řádků + asociace - INSERT 50 řádků - SELECT -> UPDATE 50 řádků - SELECT -> DELETE 50 řádků Každou část jsem opakoval 10x a před změnou ORM((Object-relational mapping)) jsem uvedl databázi do “původního” stavu.

Staro nový blog

Patrik Votoček
A je to tu. Dlouho jsem byl typickým příkladem přísloví: “Kovářova kobyla chodí bosa”. Častokrát jsem slýchával narážky, že tvořím CMS, nadávám na WordPress a přitom mám na svém blogu v patičce “Pohání WordPress”. Inu bylo už na čase s tím něco udělat. A tak se také stalo. Pokud čtete tento post, tak vězte, že ho má kompletně pod palcem nový systém. Pojďme se podívat, co to vlastně je.

Rozuzlení ORM v Nelle

Patrik Votoček
V předešlém článku jsem sepsal své strasti při hledání vhodného “ORM”((Object-relational mapping)) pro Nellu . Popsal jsem v něm hrubé požadavky, které by měl kandidát splňovat. Popsal jsem, proč jsem nezvolil Ormion, dibi-ActiveRecord, Propel, Doctrine 1.2 a ani Doctrine 2.0. Nedávno se na scéně objevila nová vlaštovka od Jakuba Vrány . “ORM” “NeORM” jménem NotORM je super a inspirující nicméně také není dokonalé. NotORM spoléha na načtení struktury databáze z databáze.

Jak jsem hledal ORM pro Nellu

Patrik Votoček
Když David Grudl na sklonku roku 2009 psal tento tweet . Zasmál jsem se mu a říkal jsem si kolik takových “ORM”((Object-relational mapping)) vlastně vznikne. Pokud toto téma sledujete tak víte, že jich vzniklo celkem hodně. Když jsem začínal pracovat na Nelle tak jedním z požadavků na systém bylo jednoduchá rozšiřitelnost. No a to jde ruku v ruce s dobrým objektovým návrhem modelů celé aplikace. Proto jsem se začal ohlížet po nějakém tom “ORM”((Object-relational mapping)), které bych pro tyto účely v Nelle použil.

Slabiny Nette Frameworku

Patrik Votoček
Poslední dobou čímdál více narážím na “mladost” Nette Frameworku:http://nettephp.com a tak jsem se rozhodl sepsat, co mi vadí a na jaké problémy narážím. Žádný kousek software a nejen software není dokonalý a vždy musí člověk hledat kompromisy, nejinak je tomu i u PHP Frameworků. Prošel jsem si, jako snad každý PHP programátor, stádiem, kdy jsem měl jakýsi vlastní “framework”, který mi vyhovoval, tento “framework” jsem používal někdy do roku 2008.

ScreenCast - PEAR + PHPUnit

Patrik Votoček
Další pokračování ScreenCastů tentokráte instalace/zprovoznění PEAR a PHPUnit-u.

ScreenCast - IIS7.5 + PHP5.3 + MySQL + Nette Framework

Patrik Votoček
Poslední dobou se čím dál častěji setkávám s tím že někomu něco nefunguje na jeho WAMP/XAMPP a podobně. I přes to že jsem sám kdysi XAMPP používal nemám tyto balíky rád, proč to tady dnes rozepisovat nebudu. Místo toho se zaměřím na skvělou alternativu jíž je právě IIS+PHP+MySQL. Proč IIS a né Apache? Protože IIS je nativní součástí Windows. V následujících dvou videích vám ukážu jak nainstalovat “IIS7.5 (Windows 7 / Windows Server 2008 R2)”((pro IIS7 - Windows Vista / Windows Server 2008 je postup stejný)) + PHP 5.

HipHop pro PHP

Patrik Votoček
Dnes se Haiping Zhao rozepsal na facebooku o projektu “HipHop for PHP”. Což je transformátor PHP kódu do vysoce optimalizovaného C++ a kompilován pomocí G++, který v průměru o 50% méně vytěžuje procesor, než stávající PHP interpret od autorů PHP. Díky čemuž největší sociální síť potřebuje pro svůj provoz měně serverů a s tím spojenou režii. A zítra se chystá tento projekt Facebook uvolnit jako OpenSource. Zhao ale upozorňuje, že tento projekt rozhodně není kompletní a že by ho označil jako beta verzi.

PHP vs. Ruby

Patrik Votoček
Toto není ani tak článek jak moje osobní pomůcka. Ne nepřecházím na Ruby i když poslední dobou získává mé sympatie, ale pouze potřebuji něco portovat do PHP. Je tomu teprve pár hodin co jsem začal studovat syntaxi ruby takže pokud narazíte na chybu dejte vědět. Popis PHP Ruby proměnná $var = "a"; var = "a" globální proměnná global $var = "a"; $var = "a" pole $arr = array("a", "b", "c"); arr = ["a","b","c"] asociativní pole / hash table $arr = array('a' => 1, 'b' => 2 'c' => 3); arr = {'a' => 1, 'b' => 2, 'c' => 3} proměnná uvnitř řetězce "Ahoj $foo"; "Ahoj #{foo}" prázdná hodnota NULL nil definice funkce function Foo($bar) { return $bar; } def Foo(bar) return bar end musí být asi správně odsazeno namespace namespace Foo; Module Foo class class Foo class Foo dědičnost class Foo extends Bar class Foo<bar protected vlastnost protected $foo; @foo protected statická vlastnost protected static $foo; @@foo řádkový komentář // # blokový komentář /* komentar */ =begin komentar =end konstanty define('foo', "bar"); FOO = "bar" je obsaženo v poli jako hodnota?

Novinky na Ukáz.at

Patrik Votoček
Když jsem nedávno psal o spuštění projektu Ukáz.at, tak jsem netušil, jak jeho návštěvnost zamíchá s prioritami a chutí programovat na něm nové funkce. První na programu bylo vyřešení několika bugů a to, že nahrávání obrázků v mobilní verzi nebylo úplně korektní. A “AJAX”ové nahrávání na MACku nefungovalo vůbec (děkuji Michalu Ševčíkovi, že mi dělal testera). První nával novinek je tu. Mobilní verze První novinkou, která už nějaký čas běží a informoval jsem o ní na twitteru, je mobilní verze.

Sdílej své obrázky jednoduše! - Ukáz.at

Patrik Votoček
Ano, jsem jeden z těch, kteří neodolali akci OVH.cz .AT doména za tři pětky. A tak jsem pořídil Ukáz.at. Ale co teď s touto doménou? Dala by se využít na spoustu věcí, ale já zrovna potřeboval do Nelly dodělat podporu AJAXového((ve skutečnosti AJAJového)) uploadu souborů a línou chache obrázků. Řekl jsem si, proč si to nejdříve na něčem nezkusit? A tak vzniklo Ukáz.at. Máte screenshot nebo fotku, o kterou se chcete podělit?

Nella - Comming Soon

Patrik Votoček
= Content Managemen System - CMS Někteří lidé už to vědí, jiní se to teď dovědí. Již nějáký čas pracuji na “Content Management Systému - CMS”((Systém pro správu obsahu)) . Jehož jméno je Nella((jak vzniknul tento název vám řeknu někdy jindy)) a bude uvolněn jako Open Source. Záměrně neuvádím licenci, pod kterou bude šířen, protože ještě nejsem plně rozhodnut, zda zahrnout Texy! , protože pokud by bylo zahrnuto přímo v CMSku, tak celé cms musí být vydáno pod GNU GPL v2/3 .

Free hosting pro Nette Aplikace

Patrik Votoček
Již nějáký čas mám vlastní server (od společnosti OVH). A ten se 90% času fláká, protože na něm zatím((snad už to moc dlouho nebude)) neběží žádný “pořádný” projekt. Tak jsem se rozhodl, že poskytnu pár lidem free hosting. Nebude se jednat o hosting jak ho běžně znáte, ale tak trochu jiný. Abych zbytečně nekecal blbosti, tak se pojďme podívat, o co vlastně jde. Hosting nabízím pro “15 lidí/domén”((podle zájmu)), s tím, že přednost pochopitelně mají lidé, které znám obsobně.

Má klávesnice (layout) ve Windows

Patrik Votoček
Když jsem začínal programovat, používal jsem klasický český QWERTZ layout a pro speciální znaky se naučil používat Alt Gr + zástupné znaky. Zkratka Znak Alt Gr + b { Alt Gr + n } Alt Gr + f [ Alt Gr + g ] Alt Gr + , < Alt Gr + . > Alt Gr + ů $ Alt Gr + v @ To bylo za dob programování v notepadu a PSPadu (někdy VIMu).

Rodičovské problémy Táty Singletonovského objektu

Patrik Votoček
Ač sám singleton moc v lásce nemám (důvody hezky vystihnul David Grudl zde), tak je používám pro obalové třídy modelů((toho M z MVP)) v mé aplikaci. A dnes bych chtěl poukázat na jeden problém, na který v PHP při používání Singletonů můžete narazit. Lepší, než spousta omáčky okolo, bude přejít rovnou k příkladu. abstract class Singleton { private static $instance; private function __construct() {} final public static function getInstance() { if (empty(self::$instance)) self::$instance = new self; return self::$instance; } } class FooClass extends Singleton {} class BarClass extends Singleton {} var_dump(FooClass::getInstance()); var_dump(BarClass::getInstance()); Taťku všech singletoních tříd nám v tomto případě dělá třída Singleton, která na první pohled implementuje základní funkčnost singletoních objetů v PHP.

Windows XP Mode bez HW Virtualizace - VMWare Workstation 7

Patrik Votoček
S Windows 7 přichází na trh i nový Virtual PC od Microfotu, jedná se o software pro virtualizaci operačních systémů na desktopu. S novým Virtual PC přichází i jedna novinka jménem Windows XP Mode. Nebudu se tu rozepisovat o tom, co to je a jak to funguje, protože toho už bylo napsáno dost jinde (třeba tady na Žive.cz). Já se dnes budu věnovat takové jedné “nepříjemnosti” spojené s novým Virtual PC a tou je nutnost mít podporu hardwerové virtualizace na procesoru (u Intelu se nazývá Intel®-VT a u AMD je to AMD-V™).

VMWare Workstation 7 je venku

Patrik Votoček
Není to tak dlouho co jsem psal, že se účastním testování nového vmware workstation. Bohužel EULA mi nedovolila popsat novinky, které nový Workstation verze 7 přináší. Nyní už je ale vše úplně jinak, Workstation 7 je totiž venku a tak se v tomto krátkém postu podíváme, co přináší za novinky. Podpora Windows Aero pro Vistu a 7mičky! Podpora Windows 7 (Jak na straně hostujícího, tak na straně hostovaného systému) OpenGL a Shader Model 3.

WebExpo 2009 - web z pohledu pracího prášku

Patrik Votoček
Čtvrtek Na webexpo jsem vyrážel už ve čtvrtek (15.10.) s tím, že před Warm Up Party si zajdu ještě na Testování aplikací - panelová diskuze . Jenomže jak tomu u mě bývá, když už si něco naplánuju, tak to většínou nedopane úpně na 100%. A tak jsem se na Testování aplikací - panelová diskuze nedostal, protože geniální české dráhy měly prostě více jak 30min spoždění a já se ještě před Warm Up Party potřeboval zbavit batohu s cihlami, který jsem měl na zádech.

Google Wave - První krůčky

Patrik Votoček
Minulý týden jsem “konečně” dostal pozvánku do Google Wave a začalo seznamování a tak se s vámi podělím o to, jak začít. Jsme registrováni a teď jak dále. Hned po prvním přihlášení máte založeno 5 vln, ve kterých je takové to úvodní seznámení, jak co dělat. Doporučuju zkouknout. Nová vlna Pokud zakládáte novou vlnu, tak první řádek textu ve vlně je brán, jako název vlny. Takže na to berte při zakládání vlny ohled.

Instalace PHPUnit na Windows

Patrik Votoček
Minulou sobotu (26.9.2009) se konala již tradiční Poslední Sobota . Po delší odmlce, kdy jsem se z různých důvodů nemohl účastnit, jsem se na tuto brněnskou vypravil. Těšil jsem se o to více, když byl zveřejněn oficiální program, který se převážně týkal testování. Když to vemu od konce tak Davídek G. opět nešetřil humorem a tak svou prezentaci o 4řech slajdech ovládal zapomocí “WhitekPhone Aplikace”((vypnutý iPhone ovládal zapomocí Whitka tlačítka zpět a vřed)) .

Private VMware Workstation Technology Preview

Patrik Votoček
Když jsem dnes (teda vlastně včera) procházel e-maily a to hloubkově, jako to dělám každou neděli (to znamená včetně složky spam), nemohl jsem si nevšimnout e-mailu od VMWare s titulkem “You are invited to participate in a Private VMware Workstation Technology Preview”. Čtu si takhle, o co vlastně jde, stahuji “nový” Workstation a říkám si “zase něco o čem budu moct blognout”. Ale než se to stáhne, tak si přečteme EULA-u, se kterou jsem musel před započtením stahování souhlasit.

Nette\Mail\SmtpMailer

Patrik Votoček
Aktualizováno SMTP Mailer přímou součástí Nette Byl to porod, ale povedlo se. S pomocí této třídy umí nette posílat e-maily i přes zabezpečené (SSL, TLS, Authenikace) SMTP servery. Nebudu tu tajit, že jsem vycházel ze SMTP modulu v PHPMailer-u . Však ho používá spousta PHP programátorů na světě. Použití Mějme klasicky: $mail = new Mail(); $mail->setFrom("from@example.com"); $mail->setSubject("Test"); $mail->setBody("Testovaci text!"); $mail->addTo("test@example.com"); $mail->send(); Stačí když před $mail->send(); přidáme: $mailer = new SmtpMailer(); $mail->setMailer($mailer); Nebo když třeba v bootstrapu nastavíme: Mail::$defaultMailer = "Nette\Mail\SmtpMailer";

Nostalgie - 2002

Patrik Votoček
Tento blog vznikl někdy v roce 2001 a původně sídlil na doméně vrtak.com. Prošel několika reinkarnacemi a nakonec je z něj to, co vidíte. Ale jak vlastně onen původní vypadal? Byly to mé těžké začátky s HTML a webem vůbec, ale místo abych vyprávěl, jak to bylo, podívejte se na následující obrázek. Je to screenshot webu ze začátku roku 2002.

PHP 5.3 krok za krokem - Namespace

Patrik Votoček
Jsou tomu už skoro dva měsíce, co vyšla první stabilní verze PHP 5.3. A tak se pojďme podívat, co z praktického hlediska přináší za novinky. To je asi ta nejzásadnější novinka. Už v dobách kdy přišlo PHP s lepší podporou objektů (verze 5.0), vylezla na povrch otázka, jak řešit případné kolize v názvech tříd u jednoho projektu. Modernější jazyky, jako je C#, Java a podobně, to řeší pomocí jmenných prostorů (namespace).

Nový portál novy již 5.5.2008

Patrik Votoček
Dnes/včera jsem koukal po dlouhe době na TV Nova. Na výborný filmeček „Rukojmí“ a nemohl jsem si nevšimnout reklamního spotu na TN.CZ . Což zcela jistě je/bude nový konkurent pro zpravodajské portály. Jsem docela zvědav jak si tento portál povede, protože trh zpravodajských portálů je dle mého názoru „naplněn“ akorát. Vstupem novy/cme na zcénu zpravodajských portálů je více než očekáván. Mají se Novinky.cz či iDnes.cz či snad Aktuálně.cz + AZpraávy.cz bat poradne konkurence?

Přešel jsem na HostingSolutions.cz

Patrik Votoček
Jak již nadpis napovídá tak tento blog a několik mích dalších domén bylo přesunuto, převážně z free hostingů, na placený reseler hosting od HostingSolutions.cz . Celý převod mi trval cca dvě hodinky kvuli pomalému internetu na kterém jsem to prováděl. A taky nějákou dobu trvala změna DNS. A ted postřehy a zkušenosti. Ihned při startu jsem se dočkal příjemného překvapení. Jelikož jsem hosting platil vkladem na účet tak jsem věděl že hosting solutions je bude mít ihned k dispozici.

Orion::Template syntax

Patrik Votoček
Pro dnešek jsem si připravil malí úvodní článek o mém PHP frameworku Orion. Tím prvním článkem bude uvod do syntaxe template-u. Variable První by uřčitě mela být ukázka definování proměné. Tak tady je: {VARIABLE} Syntaxe vložení proměné je velice podobná jako u smarty akorat neobsahuje $. Dříve byly definovány určité základní proměnné, jako např. den, měsíc, rok atd. Nicméně jsem je po roce odsranil. Důvodem bylo to že jsem je vpodstatě nevyužíval a protože zbytečně zpomalovaly celý script.

Internet Explorer 8 Beta 1

Patrik Votoček
Ano, Microsoft včera na CeBit-u uveřejnil Internet Explorer 8 Beta 1 a dal ho k dispozici ke stažení. Novinek je více než dostatek, tak se jim malinko podívám na zoubek. WebSlices – „Výřezy“ umožní vybrat na podporované stránce část jejího obsahu a ten sledovat. Favourites bar – Lišta oblíbených stránek (obdoba Osobní lišty z Opery) „Url highlighter“ – Barevné odlišení domény od zbytku url ACR – Systém, který při pádu obnoví otevřené záložky CSS 2.

DDD - Domain-driven design

Patrik Votoček
Poslední dobou spoustu svého času věnuji vývoji ActiveMapper jelikož doopravdy nejsem člověk který rád vynalézá již vynalezené kolo. Tak samotné programování mě ve skutečnosti zabere zhruba tak 20% celkového času. Dalších asi 5-10% mě zabere psaní testů. Pořád ale zbývá 70-75% času. Přesně tuto část zabere studium nejrůznějších “návrhových vzorů”((design patterns)) a toho jak to je daný problém řešen v jinde. Ono totiž samotné toto studium není nic jednoduchého. Narazit na obstojný popis dané problematiky v češtině by se dal nazvat statistickou chybou.