Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

Vývojová infrastruktura

09.40 - 14. září 2008 | Moje práce

Na začátku vývoje každého produktu bychom si měli připravit vhodnou infrastrukturu. Základem je verzovací systém – pokud pracujete sám, je značnou výhodou, v teamu nezbytností. Další důležitou součásti je systém pro vedení úkolů a bugů. Dále je vhodná wiki a taky nějaký buildserver.

Proč je to tak důležité?

Verzovací systém je vhodný na jakýkoli projekt, nemusí to nutně být ani projekt softwarový – my ho třeba s Borkem používáme na přípravu přednášky. Je to ochrana před ztrátou dat, občas pomůže se podívat do historie, dnešní systémy umějí mergovat změny z více zdrojů a jsou snadno zařaditelné do automatizovaného procesu.

Úkolník je dobrý z mnoha důvodů, vidíte, co máte dělat, jakou to má prioritu, kolik už máte hotovo. Slouží i jako váš výkaz, že se jen neflákáte. ;)

Build server je už jen třešničkou na dortu, která za vás dělá rutinu – špinavou a nudnou práci.

Jak to bylo v Atlase

Když jsem nastupoval do vývoje Atlas.cz, fungoval tam jen Visual SourceSafe, stagovalo se přes FTP. Vše bylo dost závislé na správném připravení verze do produkčního prostředí, to připravoval člověk a snadno mohlo dojít k chybě. :) Za nějaký čas jsme se rozhodovali jak to celé zautomatizovat a usnadnit. Nakonec jsme přešli na PureCM, Atlas.Build a Atlas.Autowebsite.

PureCM je verzovací systém s integrovaným úkolníkem a s možností skriptování v pythonu a dotnetím API. Má systém repository, které mají streamy a ty lze vzájemně mergovat v rámci hierarchie. Také k nim lze dopsat tzv. Custom action. Ta u nás nebyla nic jiného než spoušť události. Služba Atlas.Build tuto událost zachytila, provedla checkout, pročistila projekt a podle jednoduchého build skriptu (zjednodušený NAnt) připravila verzi buďto na dev servery nebo na staging, kterou pak nahrála na příslušný server pod danou verzí (názvem streamu).

Vývojář pak zadal do prohlížeče adresu, třeba http://katalog.3.6.0.dev2.atlas.cz, kde na něj čekal Autowebsite, který se zeptal jakou verzi frameworku použít a pak v IIS metabázi založil nový web.

Bylo za tím spousta magie a bylo celkem jednoduché a efektní a taky ušité na míru našim potřebám.

Jak to máme v Twaregu

Když jsme přišli do Twaregu, bylo opět potřeba připravit infrastrukturu. Po týdnu zkoušení a rozhodování jsme nakonec zvolili kombinaci Subversion (SVN), Trac, TeamCity.

SVN je celkem osvědčený verzovací sytém, je zdarma a multiplatformní, existuje pro něj dostatek nástrojů, včetně integrace do Visual Studia a je podporován všemi testovanými buildservery.

Trac je wiki a systém pro vedení úkolů s pěkným webovým prohlížečem repository. S SVN je spjat pupeční šňůrou a dá se dobře automatizovat tvorba nových projektů. Navíc je to OpenSource a je zdarma.

TeamCity je skvělý buildserver podporující Javu i dotnet (nejen tyto), umí se připojit do SVN a zvládá i vzdálené předtestované commity, což je killer feature. Pokud se dokážete smířit s omezením na 3 build agenty, 20 uživatelů a 20 konfigurací, pak je zdarma. Má pěknou integraci do Visual Studia a má API pro rozšiřování.

První měsíc v Twaregu jsem (nejen) připravoval infrastrukturu. Napsal jsem službu, která zakládá nové repository, připraví do nich základní adresářovou strukturu a založí projekt v tracku. Automatizované zakládání pro TeamCity zatím není a ještě nevím, jestli je potřeba. Jednotlivé konfigurace je lepší projít ručně a nastavit dle požadavků daného projektu. Na projektu většinou máme dvě konfigurace, jednu, která je pro vzdálený předtestovaný commit do vývojového branche a druhou, která se spouští při commitu do trunku. Provede se kompletní build, spustí se testy, pokud je vše ok, vytvoří se dokumentace a nahraje na intranet, provede se deploy knihoven do společného úložiště a vytvoří se weby, pokud nějaké v projektu jsou.

Co se všechno má udělat je řízeno MSBuild skriptem, pro který jsem připravil několik tasků. Upravil jsem xUnit.net task, aby se posílaly zprávy do TeamCity a přibalily výsledky testů do sumáře o buildu.

Je fakt, že tady máme build skripty mnohem ukecanější něž v Atlasu, ale jsou mnohem flexibilnější – vzhledem k heterogennímu prostředí je to potřeba.

Závěr

Investujete-li na začátku nějaký čas na vybudování infrastruktury, jistě se vám to vrátí později v podobě nevytrhaných vlasů a neokousaných nehtů, když někdo někomu omylem přemázne celodenní práci nebo vydeployuje nefunkční verzi. Nemít verzovací systém je vyložený hazard, nemít úkolník je přinejmenším nepohodlné a bez build serveru se dá žít…

A jakou infrastrukturu/sys­tém používáte vy?

Autor: Aleš Roubíček | 21x komentováno | Delicious | FriendFeed | Facebook | Linkuj!

Konec dobrý, všechno dobré!

11.13 - 27. června 2008 | Jen tak

Je tomu téměř 28 měsíců, co jsem nastoupil do Atlasu. Tuto událost jsem oznámil tady na blogu spotem Rarouš v Atlasu. Atlas byl mé první zaměstnání, nastupoval jsem do něj přímo za školy. Tímto chci Pájovi a Renému poděkovat za důvěru a šanci, kterou mi dali.

Za ty více než dva roky jsem poznal spoustu skvělých lidí, kteří byli více než kolegy z práce. Atlas byl něco jako rodina. Ne vždy to bylo růžové, ale takový je život. V průběhu svého působení jsem vystřídal několik produktů. Začínal jsem odblešováním Pokecu. V tomto období se mě Honza rozhodl přidat mezi zdroje W3Blogy.cz, podotýkám, že proti mé vůli :D. Dalším úkolem bylo napsat importovací rozhraní pro Atlasí redakci. Následovala neslavná úprava Registrace, dovolená na Krétě, první Teambuilding a hektická příprava Atlas Checku.

Atlas.Opus

V té době (listopad 2006) se už vymýšlel koncept Opusu, já jsem vždycky přisedával poblíž a poslouchal, o co jde. Nakonec jsem se dostal do týmu interních systémů a katalogu, ve kterém jsem byl dosud. Opus mělo být řešení, které nahradí několik interních systémů, které už byly těžko udržovatelné a málo kdo do nich viděl. V podstatě to byla je stromová atributová databáze s definovatelnými typy vč. dědičnosti a tzv. rozhraní. Velice zajímavý projekt, na kterém jsem získal spoustu zkušeností.

Mým hlavním úkolem bylo vytvořit nad Opusem katalogy. Prvním projektem byla registrace do Atlasu Firem, tak trošku marketingově uspěchaná věc, která díky špatným rozhodnutím ztratila svůj efekt. Ta se spouštěla, tuším, někdy v březnu 2007. V červenci se pak pustili „malé katalogy“ Obchody a Sex. V září se spouštěla první verze velkého katalogu, která ještě z části tahala data ze staré databáze (placené zápisy) a z části z nové (bezplatné). Dalším krokem v migraci, bylo napsat administrační rozhraní pro obchodníky, aby mohli v Opusu prodávat a zbavili jsme se tak Firmátoru.

Ke konci roku jsme měli připravené rozhraní pro testování a v březnu jsme migrovali poslední placené zápisy do nového systému. V plánu byl další rozvoj, částečné přebírání některé funkcionality SalesModulu, který měl být nahrazen CRM řešením, a další zajímavé služby. Ale pak přišlo spojeno.cz…

Odpojeni.cz

Nastala doba chaosu, různých jednání a tak. Postupem času se ukazovalo, že v takovéto firmě už dál pracovat nechci. Podobného názoru jsem nebyl sám a tak vzniklo Odpojeni.cz. Spoustu odborných komentářů k této události si jistě dokážete dohledat na Lupě a Živě sami. :) Je až k nevíře, jak se nám to všechno pěkně podařilo na těch woknech naklikat. :)

Pomalu jsem se tedy proklikal k závěru. Co napsat? Za posledních pár měsíců se ze mě stal téměř alkoholik, profesionální hráč Call of Duty, filtr Centráckého spamu (ty lidi si na mejlech fakt ujížděj), sabotér, rebelant a já nevím co ještě – jo vlastně, jo měl jsem i víc času blogovat… Určitě to všechno byly zkušenosti k nezaplacení a já už se těším na ty nové, v příštím zaměstnání, kam nastupuju v úterý společně s většinou Atlasího vývoje a slečnou Veronikou. :P Držte mi palce.

Ich komme!

Autor: Aleš Roubíček | 8x komentováno | Delicious | FriendFeed | Facebook | Linkuj!

Atlas faceliftoval svoji homepage

18.32 - 2. září 2007 | Webdesign

Atlas dnes vypustil facelift svoji hlavní stránky, který je na první pohled vzdušnější a přehlednější. Kluci se snažili homepage Atlasu trochu osvěžit a připravit ji na nové možnosti, které se od homepage očekávají.

Společně s osvěženou homepagi vyrážejí do světa další novinky z projektu Atlas+:

  1. aZprávy – zbrusu nové zprávy na Atlasu, které vás budou bavit.
  2. Špunt – magazín nejen pro rodiče.
  3. Útulně – magazín o bydlení.

Autor: Aleš Roubíček | 8x komentováno | Delicious | FriendFeed | Facebook | Linkuj!

Beta verze nového Atlasího e-mailu je tu

09.35 - 1. června 2007 | Webdesign

Po 14denním interním testování byla včera večer vypuštěna zbrusu nová verze Atlasího e-mailu. Zapojte se do jejího veřejného testování i vy!

Pod vedením Honzy Kuneše vznikl zcela nový webmail pro portál Atlas. Co přináší oproti stávající verzi nového?

  • Nový jednodušší a přehlednější design
  • Kontextové nabídky
  • Přetahování zpráv myší mezi složkami
  • Náhledy přiložených obrázků
  • Průběžné ulkádání e-malů
  • Stahování všech příloh v jednom zip souboru

…a další drobnosti, které vám práci z e-mailem jistě zpříjemní. V plánu jsou další vylepšní jako fulltextové hledání ve zprávách, notifikátor nových zpráv, gadget do sidebaru a další drobná vylepšení, plus zapracování připomínek a některých návrhů z betatestingu.

Samozřejmě kluci nedělali novej GMail, proč taky? :)

Na závěr foto webmail týmu:

webmail team

Autor: Aleš Roubíček | 3x komentováno | Delicious | FriendFeed | Facebook | Linkuj!

AMapy API v praxi

22.12 - 29. ledna 2007 | Webdesign

Udělal jsem dvě ukázky použití API nových Atlasích map. První ukázkou je generátor GeoRSS a GeoURL tagů vybráním místa na mapě. Druhou ukázkou je budoucí mash-up Weblogy API a AMapy API, který zobrazuje mapu blogerů z Weblogy.cz. Teď už možná chápete, k čem je první ukázka dobrá ;)

Happy coding.

Update

Množí se případy s hláškou chybný GUID. Proto čtěte pozorně. :) Pro to aby bylo možné API používat je nutné si vygenerovat GUID pro „konkrétní URL“ na stránkách AMapy API. Pokud chcete použít ukázky u sebe, musíte si změnit GUID pro svoji URL. Děkuji za pochopení.

Autor: Aleš Roubíček | 18x komentováno | Delicious | FriendFeed | Facebook | Linkuj!

Drobné novinky v okolním webu

14.40 - 24. listopadu 2006 | Webdesign

Weblogy.cz mají nové logo. Většině komentujících se nelíbí, něktří ho ani nepovažují za logo :) Většina úspěšných log je postavena na jednoduchosti a většinou jsou textová (NOKIA, SIEMENS, SONY, MICROSOFT, IBM a mnoho dalších). Weblogy se snažily jít podobnou cestou navíc s vtipem sobě vlastním – parodie W3C. Takže si změňte své bookmarky a favorities na www.W3Blogy.cz a vychutnejte si otočenou trojku plnými doušky – někteří z vás ji možná i pochopí ;) Změna loga není a ani nebude jedinou změnou na této službě. Již předtím došlo k lehkému faceliftu designu, kdy weblogy chvílemi připomínaly známou La Trine, která v záchvatu originality raději redesignovala také :D

Na Atlasu došlo k lehkému rozšíření personalizace o možnost výběru barevných skinů. Krom klasické modré, si nyní můžete novou homepage vychutnávat i v zelené, oranžové a červené. Bohužel, můj oblíbený černý skýn, nebyl nasazen, škoda, snad se na něj ještě v budoucnu dostane… Když už jsem u Atlasu, neustále sháníme posily do našeho týmu! Pokud umíte C#, ASP.NET, MS SQL a jste v tom dobří, chcete pracovat v opravdu neformálním prostředí, společně s tropickým šílencem Honzou Bienem, slečnou Veronikou, Petrem Šnajdrem, strejdou a mnoha dalšími internetovými profesionály, dejte vědět, třeba na mejl rarous@gmail.com

PS. Přepínání barviček na Atlasu najdete v pravém horním rohu ;)

Autor: Aleš Roubíček | 2x komentováno | Delicious | FriendFeed | Facebook | Linkuj!

Team Building

13.37 - 11. listopadu 2006 | Jen tak

Před chvílí jsme dorazili busem před budovu Atlasu. Dojeli jsme se značným zpožděním, kvůli neschopnosti dopravce dostavit funkční autobus. On už pak ani autobus potřeba nebyl, páč nás tam zbylo jen osm, sic přijel (dřív než jsme se vydali na vlak).

Cestou Filip, Honza a Radek dospávali spánkový deficit – málo komu se podařilo proflámovat celou noc – vyjímkou byl Marek, který v buse nespal (spí až teď za kompem v kanclu :D ). Cestou jsme dopíjeli výhry – proto omluvte případný vyšší výskyt pravopisných chyb, než je obvyklé.

Jako, tým jsme stmelili výborně, alespoň nás posledních osm :D Zbytek akce byl taky dobrý. Po příjezdu na místo (sorry, teď si nevybavím název), jsme se ubytovali a šli prozkoumat terén. Zakésli jsme na fotbálku, kdy jsme nejprve hráli ve třech a pak dva na dva. Vydejchali jsme se a pak se šlo na oběd. Z oběda bylo asi nejlepší Kamikaze, které jsme pili už během přednášek našich nadřízených. Po hovězí polívce, se dostavil Kamikaze efekt a bylo. Na svíčkovou už se nedostalo :)

Po obědě do dostavily teamové hry. V teamu jsem byl mimo jiné s Petrem Šnajdrem. Nejdřív jsem stavěli ze špaget a maršmelounů nejvyšší stavbu – nepovedlo se. Potom pokračovala orientační část, při které jsme dostali čtyři body na GPSce a čtyři na mapě, kde měly být údajně obálky s úkoly a bonusy, které se pak započítaly do skore týmu.

V teamu nás bylo osm, takže jsme se rozdělili do dvojic. To, že bodů bylo celkem osm, jsem se dozvěděl až po soutěži :). Já s kolegou jsme nakonec na požadované místo vůbec nedorazili, ale dobrý – mapu jsem jen zběžne skoukl a řekl si „ok, jdeme.“ A šli jsme – úplně jinam :D. To Petr byl mnohem úspěšnější. Mapu si nafotil do mobilu, takže věděl kam jít a dokonce našel :)

Neúspěch v orientační části jsme nikterak nevylepšili v dalších disciplínách – holt teamovou spolupráci si, jako vývojář, představuji nějak jinak. Závěrečná disciplína byla o skládání slov z písmen z nalezených obálek. Ani tu jsme nevyhráli. Stejně nezáleží na tom vyhrát, ale zúčastnit se. Pak pokračovala volná zábava doprovázená úchylnou diskotékou, cassinem a logickými hrami, což byla pro nás programátory výzva :D. Dobře jsem si pokecal s naším produktovým ředitelem Petrem Šnajdrem, čekejte nějaké fotky na jeho blogu, s generálním DDem a mnoha dalšími :) No prostě skvělá zábava. Mezi tím si Honza „Mravenec“ Bien vyškemral funkci zástupce ředitele, tak jsem zvědav, jak se s tím chlapec popere…

PS: Ve výtězném týmu, nebyl nikdo jiný než Honza Mravenec. Cituji: „Já jsem vyhrál!“

Autor: Aleš Roubíček | 6x komentováno | Delicious | FriendFeed | Facebook | Linkuj!

Exkluzivní zprávy z vývoje Atlas Map

18.28 - 9. listopadu 2006 | Webdesign

Vývoj map trval ultra krátkou dobu. Něco pod tři měsíce. Gattovi diagramy opět prokázali, že když chcete boha rozesmát – sdělte mu své plány. Dnes večer (ale raději až po půlnoci) mapy opět krapet dospějí. Lehká sumarizace, co je nového na Atlas mapách, doplněná stručným komentářem – z pohledu vývojáře.

Nové funkce: GPS souřadnice, nasosnutí i vyhledání.

Brouci:

Opera

Opera ano (skoro) – v průběhu celého vývoje map jsem testoval i v Opeře. Tento nejpomalejší prohlížeč (platí pro AJAX aplikace, které hooodně malují) používají skoro všichni mí přátelé, takže opomenout ho, dodám munici do debat svým názorovým oponentům – a to nechci :) Tak tento prohlížeč byl těsně před releasem map sestřelen unikátním fixem pro IE, jež jediný ho donutí (kromě úpravy HTTP hlaviček) korektně kešovat pozadí.

Takže pozor, fixem fixovat jen IE, jinak XmlHttpRequest v Opeře stávkovat bude.

Další „problém“ Opery. Její pedantské lpění na standardech bohužel způsobilo, že poslední dvě měřítka stále nefungují. DIV o šířce půl miliónu px prostě vadí :) Má ale štěstí holka, protože ten vadí i mě, a půjde-li vše ok, příští týden budou mapy šlapat pod Operou kompletně.

PS: rychlost map v pořadí od nejrychlejšího prohlížeče: IE7, IE6, FF a Opera (nejpomalejší).

PS2: Safari více méně funguje, ale věnovat více se mu budu týden přespříští.

Kolečko myši

Po ostrých debatách mezi zastánci GIS a těmi co o GIS vůbec nic nevědí ;) kolečko otočeno (pro ostatní, teď se chová jako na mapách Googlu)

PNG v Inernet Exploreru

Implementace PNG v IE7 se interně stále spoléhá na staré známé filtry IE6, jež mají tu pěknou vlastnost, že jich nelze aplikovat více přes sebe. (pro ostatní, bublina v IE7 už vypadá ok, bohužel jsme se museli rozloučit s efektem opacity)

A to je zatím vše. O dalších opravených chybách se šířit nebudu ,–)

Autor: Daniel Steigerwald | 7x komentováno | Delicious | FriendFeed | Facebook | Linkuj!

Beta mapy na Atlasu - Update

10.05 - 3. listopadu 2006 | Webdesign

Mapy Atlasu dospěly do betafáze a já jsem tomu rád :) Konečně jsou tu mapy, které se mi dobře používají. Kluci na tom docela dřeli a ikdyž není všechno úplně 100%, věřím že brzy bude.

Ohlasy jsou zatím vcelku pozitivní. Nefunkčnost v Opeře je téma samo pro sebe :) Většinou jsou výtky na nesedíci podklady, ale ty snad ještě dorovnáme. Veronika rozjela blog na komunitách, kde budou přibývat informace o vývoji a novinkách. Ohlasy můžete zanechávat tady nebo v diskusi

Update

Chtěl bych vás poprosit, pokud vám něco nefunguje, zkuste problém popsat podrobněji a nezapomeňte dopsat i prohlížeč a verzi. Děkujeme za spolupráci.

Autor: Aleš Roubíček | 15x komentováno | Delicious | FriendFeed | Facebook | Linkuj!

Atlas ICQ je tu

14.26 - 26. září 2006 | Jen tak

Když jsem nastupoval do Atlasu, rozjížděl se projekt, o kterém se moc nemluvilo a spíš se vše drželo v tajnosti. Atlas jednal s ICQ o spolupráci. Stal se mediálním zástupcen pro český trh a od května se u českých ICQ klientů zobrazovala i naše reklama. Tím však spolupráce nekončí.

Celou tu dobu se připravovalo technické zázemí na propojení Atlasu a ICQ. Nyní můžeme nabídnou plně česky lokalizovaného klienta s napojením na služby Atlasu. Propojení se určitě neobešlo o některá úskalí, která mě vyprovokovala např. k napsání článk PHP, brzda internetu?. Na mě spadlo přepsání registrace, což taky nebylo nic příjemného, ale nakonec se to snad povedlo :)

Tak stahujte na icq.atlas.cz

Autor: Aleš Roubíček | 5x komentováno | Delicious | FriendFeed | Facebook | Linkuj!