Archiv pro měsíc November, 2007
V dnešním článku bych chtěl upozornit na pár špeků, které se
týkají práce s objekty ve Flashi – přesněji
s nastavováním jejich rozměrů.
Když jsme se rozhodli v Gopasu přejít při vytváření e-learningu
z platformy Macromedia
Director na Adobe Flash
tak trochu jsme tušili, že to nebude uplně jednoduchá cesta. Museli jsme
řešit spousty špeků, které často nemají řešení, ke kterému se dá
dospět nějakou rozumnou úvahou. Kromě práce s textfieldy je lahůdkou
práce s objekty.
V našich e-learningových lekcích často používáme shapy –
přesněji řečeno objekty vytvoření pomocí Rectangle tool. Pomocí
JSFL
si vytvoříme knihovní prvek s danými vlastnostmi (barva výplně, barva
a šířka okraje) a ten pak umísťujeme do stage – měníme pouze
umístění a rozměry instance.
Předevčírem jsem v našem interním buglistu našel od vývojářů
tuto poznámku – Shapy jsou umístěny o několik pixelů
mimo, jsou menší. Po ověření jejich tvrzení jsem začal hledat
chybu ve svém kódu…ale bez výsledku. Vyzkoušel jsem několik způsobů
pro vytváření instancí shapů ve stagi, ale výsledek byl stále stejný
– špatné rozměry. Shapy se zobrazovaly menší – a to i o
několik desítek pixelů. Google taky nepomohl, ale pak jsem po několika
hodinách laborování našel řešení – shapy je nutné udělat
hodně velké. Šířka i výška knihovního prvku musí být větší
než šířka i výška instance na stagi. Pak jsou rozměry
v pořádku. Flash umí správně rozměry pouze zmenšovat.
Na
obrázku vidíte instance tří různých knihovních prvků, kterým je pomocí
ActionScript nastavena stejná velikost – výška 90 pixelů,
šířka 800 pixelů. Skutečnost je ovšem jiná – správné
rozměry má pouze třetí objekt. Zdrojový soubor – freaky-flash-shape.fla
(FLA, 25 KB).
Závěr
Samostatná kapitola je práce s JSFL – tam se Flash vykazuje
odlišné chování ve Windows XP a ve Vistách. Zajímavým oříškem je též
detekce zmáčknutých kláves – lze přidat posluchače
pro detekci stračených kláves. Problém nastane při kombinaci Windows Vista
+ Internet Explorer 7 – kombinace kláves CTRL+A(C, V, X, Z…) do
Flashe neprojde – resp. nedojde k události onKeyDown.
Naštěstí i tohle jde různými workaroundy řešit – ale
o tom někdy příště.
Flash je úžasná hračka, ale dokáže taky pěkně potrápit –
nebýt nápadu se zvětšením rozměrům knihovních prvků lámu si
s tím hlavu ještě teď.
Celý článek 28. November 2007
Celý článek 20. November 2007
V dnešním (pro mě veledůležitém) článku si paradoxně vystačím
s pár větami.
Po kusu života stráveném v Gopasu a Venturii odcházím do firmy Avedya. V obou firmách pracuji
víc než šest let – a to kus života určitě je.
V posledních letech jsem měl možnost seznámit se se spoustou
technologií, platforem, programovacích jazyků. Na samém začátku bylo PHP,
HTML a CSS. Následovalo Lingo, C#,
ActionScript, JavaScript, AJAX a Java.
Nemůžu říct, že by se mi jednotlivé jazyky nějak pletly…ale
rozhodl jsem se, že přišel čas si zvolit prioritu. A mojí
prioritou je Java.
Poslední dobou jsem navštívil asi 10 firem zabývajících se tvorbou
webových aplikací v Javě a Avedya na mě udělala nejlepší dojem.
Den D bude 1. ledna 2008.
Celý článek 13. November 2007
Lukáš Křečan v článku Znalosti a
zkušenosti píše několik věcí, na které mám trochu jiný názor.
V následujících řádcích budete mít možnost se ho dozvědět.
Znalosti jsou laciná věc?
Znalost nejsou laciná věc. Důkazem jsou například kurzy
v počítačové škole Gopas, kdy některé týdenní stojí i více
než 50 000 Kč. Myslím, že by firmy svoje zaměstnance na tato školení
neposílaly, kdyby se jim to nevyplatilo.
Když chodíte do školy též to není zadarmo – někdo vám musí
platit školné (vlastně to se asi dnes ve většině případů neplatí),
kolej, městskou hromadnou dopravu, stravování.
Když si doma čtete knížku už vůbec to není zadarmo. Pro mě osobně je
čas strávený s knížkou nesmírně cenný…jednoduše protože ho
mám na tuto činnost strašně málo. Chodím pro práce, do posilovny, sem tam
zaběhat, trávím čas se svojí ženou, prací na baráku…knihu si
otevřu v noci když Kačenka jde spát (kolem 22.00 hod) – ale
to u ní zase hned usnu, jsa unaven celodenní činností.
Relativně snadno jdou nabýt znalosti na takové úrovní aby člověk byl
schopen udělat zkoušku na vysoké škole. Sám si na ty (tři roky vzdálené)
časy pamatuju – nebyl problém dělat tři zkoušky týdně. Na takovou
Fyziku I na Strojní fakultě ČVUT se dalo naučit za den a půl (když
člověk chodil na přednášky). O na obávanou dynamiku se nechalo
naučit za týden.
Je ale velký rozdíl naučit se něco na zkoušku (to je relativně laciné)
a naučit se něco tak, aby se tím mohl člověk živit – denně to
používat. Když se vrátím k té dynamice musel bych jí studovat
několik let než bych o sobě mohl prohlašovat že jsem na ni skutečný
odborník.
Zkušenosti jsou to co se počítá?
Je to trošku jako s tou slepicí a vejcem. Buď můžu nejdřív něco
nastudovat a až potom si to vyzkoušet v praxi a nebo nemusím studovat
nic a novou věc mi přímo ukáže můj kolega. Když takového kolegu mám je
to uplně ten nejlepší případ. Když je skutečně dobrej může nás za
několik dní naučit stejné množství nových věcí jako jsme se naučili
sami za několik posledních let. Otevřít vám oči.
A co je cennější? Doma si přečíst knížku nebo jiné materiály a
pak si v praxi sám vše vydřít a naučit se…nebo se to samé se
zlomkem úsilí a stráveného času dozvědět od někoho zkušenějšího.
Myslím, že správná odpověď na to co je cennější neexistuje. Cenné
je jak mít dobrého kolegu a být schopen rychle vstřebávat jeho rady, tak
mít trpělivost se samostudiem a vlastními pokusy. Špičkový programátor
musí umět oboje.
Z mojí praxe
I pročítal jsem si před rokem některé články o AJAXu, hrál
jsem si s knihovnou jQuery. To trvalo asi
týden. Za několik měsíců potom přišel požadavek na vytvoření pár
AJAXových featur pro jeden web. I když jsem neměl žádné praktické
zkušenosti nebyl problém featury naprogramovat. Důležité bylo mít základ
– vědět jak AJAX funguje, jaké frameworky existují, v čem je
který dobrý. K tomu člověk nepotřebuje žádné praktické
zkušenosti. Úplně postačí praktické zkušenosti někoho jiného.
Strašně se mi líbí jedno příšloví – Moudrý člověk se
učí z chyb druhý a hloupý ze svých. Já jsem si ho upravil:
Moudrý člověk se učí z chyb druhých, průměrný člověk ze
svých a hloupý člověk se nepoučí ani z vlastních chyb.
Chci tím říct, že samostudium, vlastní implementační pokusy,
předání zkušeností od kolegů (párové programování, rozprava nad
pivkem) – to vše jsem cesty, kterými lze nabýt zkušenosti, nebo
schopnosti, znalosti chcete-li. Tyto cesty jsou do velké míry vzájemně
nahraditelné.
Když už jsme u těch zkušeností – tady je trochu větší
pravděpodobnost že se dostaneme na zcestí – že se něco naučíme
dělat blbě a pak to děláme blbě celý život. Je to jako když člověk
chodí do posilovny a má špatnou techniku při takovém základním cviku
jakým je dřep s velkou činkou. Trvá měsíce než se člověk naučí
provádět cvik správně.
Kdežto když čteme nějakou knihu je, podle mého, o trochu menší
šance že její obsah pochodíme nebo budeme interpretovat chybně. To jejímu
obsahu spíš nebudeme rozumět vůbec.
Závěr
Když už byla řeč o těch rozečtených knihách – já teď
louskám Mastering Enterprise JavaBeans 3.0. Vlastně po mně doteď jejich
znalost nikdo nevyžadoval…ale až přijde ten čas budu připraven :)
A budu si zatraceně vážit každé přečtené stránky.
K otázce z nadpisu – Co se počítá? – bych
dodal asi tolik – Počítá se když má člověk (pozor – teď
přijde otřepaná fráze) chuť učit se nové věci. Právě
jsme do firmy přijali nového programátora a je mi uplně jedno jestli má
víc těch laciných znalostí nebo těch cenných
zkušeností. Vtip je v tom, že bude pracovat s novým frameworkem a
jediná důležitá věc (v krátkodobém horizontu) je to jestli mu to
jednoduše půjde nebo nikoliv. A jde mu to…
Celý článek 10. November 2007
Dnes jsem napsal pro Czech PHP User
Group článek Zend
Framework v kostce. Obsahuje superstručné představení Zend
Frameworku.
Vypadá to, že se česká PHP komunita probouzí do života. Důkazem je
i další připravovaná akce – Konference
php frameworky zima 2008 (Brno).
Jsem tomu velmi rád a těší mě, že jsem mohl svou přednáškou a
článkem o Zend Frameworku přispět svout troškou do mlýna.
Celý článek 10. November 2007
Firma Gopas, se kterou spolupracuji dlouhá
léta, hledá programátora
ActionScriptu.
Obvyklou specifikaci najdete na výše uvedeném odkazu. Rád bych napsal
několik svých řádků o tom, co obnáší tato pracovní pozice. Dělám
to z prostého důvodu – chci pomoci vybrat pro člověka,
který mě nahradí. O ledna totiž v Gopasu končím.
Proč je tato pozici tak skvělá?
- Gopas je (nejen) co se e-learningu týče v ČR naprostá
špička. Oddělení funguje už více než 8 let a za tu dobu
jsme nasbírali hodně zkušeností. Hodně se toho od nás naučíš nejen
z oblasti e-learningu, ale i o věcech technických –
ActionScript, C#, JSFL,
JavaScript, XML, XSL.
- Budeš vyvíjet náš vlastní softwarem na tvorbu e-learningových
kurzů (vyvíjíme ho více než 4 roky a jedná se jeho druhou
generaci), který umí:
- snímat běžící aplikace (vytváříme například e-learningové kurzy
o Microsoft Office)
- editovat nasnímané obrazovky na úrovni samostatných objektů
(přidávání událostí k objektům)
- vyexportovat nasnímanou aplikaci so formátu SWF
- Součástí SWF je engine, který obsluhuje běh e-lerningových
lekcí (a zde by bylo těžiště Tvojí práce).
- Pracovní doba je zcela volná (jsou tu kolegové co pracují od
6.30 do 15.00 nebo od 14.00 do 23.00).
- Nebudeš celý den sedět u počítače a kódovat, ale část práce
spočívá v komunikaci s ostatními členy týmu a hlavně
s lidmi, kteří budou snímací nástroj používat (my jim interně
říkáme snímači). Budeš s nimi řešit jejich problémy
(odstraňovat) a přání (implementovat).
- Budeš vymýšlet nové featury pro zkvalitnění e-learningových
kurzů.
- Budeš mít zcela volnou ruku při rozšiřování aplikace.
- Kancelář
je ve Vršovicích. Skvělé napojení na autobusy a tramvaje (za
10 min jsi na Míráku).
Přijďte na pohovor
Kontaktujte mě. Sejdeme se na
nezávazné schůzce, zodpovím veškeré otázky a ukážu vše s čím
souvisí práce na hledanou pozici. Myslím, že tato pozice je pro
programátora ActionScriptu jedna z nejzajímavějších na
celorepublikové úrovni.
Celý článek 7. November 2007
Na stránkách AVC je ke stažení videozáznam z přednášky
o Zend Frameworku, kterou jsem udělal v rámci PHP
semináře podzim 2007.
Záznam je možné si stáhnout v nejrůznější kvalitách –
audiem (70 MB) počínaje a videm s OGG kodekem (1015 MB) konče.
Celý článek 4. November 2007
Poprvé, a možná naposledy, bych chtěl na stránkách svého blogu napsat
pár řádků o jednom našem vlastním projektu, který jsme včera večer
spustili. Tím projektem je e-shop www.bryle-domu.cz. Je unikátní tím, že
se (jako de facto první v české republice) zabývá prodejem
dioptrických brýlí po internetu.
Tak…dost bylo nezáživných dat o webu. Přejděte k výčtu
technologií, které budou zajívější:
- o serverovou část se stará staré dobré PHP, konkrétně výborný
Zend Framework
- frontend tvoří klasické XHTML 1.0 Strict stránky
- na stránkách je vydatně používán javascript – knihovny jQuery, Thickbox
- a to nejzajímavější nakonec – máme online zkoušeč
brýlí
Online zkoušeč brýlí
Myslím, že online zkoušeč brýlí je parádní ukázka použití Flashe
na tom správném místě. Přístupnost neutrpí (zkoušeč nemusí být
přístupný) a nabízí vyzkoušet si nabízené brýle na nahráté
fotografii.
Jak zkoušeč funguje
- Vyberete v katalogu brýle a zobrazíte si stránku s jejich
detaily
- Klepnete na tlačítko Vyzkoušet a otevře se online zkoušeč
brýlí
- Klepnete na tlačítko Nahrát fotografii a nahrajete svoji fotku
do zkoušeče
- Upravíte fotografii a brýle tak, aby vám brýle seděly. Manipulovat
můžete s polohou, velkostí a natočení fotografie i brýlí
- …brýle vložíte do košíku a objednáte :)
Fotografií může každý nahrát libovolné množství a pak se mezi nimi
může přepínat. Přičemž nastavené parametry (polohu, velikost,
natočení) si zkoušeč pamatuje (i když si zkoušeč otevřete druhý
den nahráte fotografie tam stále budou).
Náš zkoušeč používá i Angelina Jolie :) Poznal by někdo, že
brýle ve skutečnosti nasazené nemá?
Závěr
Mohli bychom si teď zahrát ma malou kritiku webu. Určitě můj
blog čte hodně znalců z oblasti webdesignu a použitelnosti. Rád bych
slyšel váš feedback.
Celý článek 1. November 2007