Archív

Archív pro ‘akce’ Kategorie

Subversion dnes a zítra

30.04.2010 View Comments

Já osobně jsem začal pracovat s někde kolem roku 2000 se systémem CVS z kterého jsem nebyl vůbec nadšený, hned jak jsem se pokusil něco přejmenovat. Později jsem přešel na Subversion, který mě v té době nadechl a to mi celkem vydrželo po dlouhou dobu než jsem před několika lety začal koketovat s distribuovanými systémy a teď asi rok už aktivně používám Git a pře ním jsem si hrál s Bazaar a Mercurialem. Na Subversion jsem, ale nijak nezanevřel a stále ho používáme ve firmě jako jediný verzovací systém v poměrně slušném nasazení (asi 100 repositářů, několik desítek GB místa). Znám limity Subversion a podle toho s ním zacházím.

Verzovací systémy jsou tu už 38 let, první verzovací systém SCCS vznikal v Bellových laboratořích v roce 1972. Dodnes existuje na mnoha unixových systémech v GNU variantě.

Protože SCCS to byl proprietární verzovací systém, vytvořil na Walter F. Tichy  na Pordue University open source variantu tohoto software pojmenovanou RCS. RCS se dodnes používá například v Twiki pro uchovávání historie stránek.

Následovali další jako CVS, PRCS (Project Revision Control systém). CVS byla původně jen nadstavba na RCS, sada skriptů, které používali příkazy RCS. Většinu vlastností CVS má poděděnou od RCS.

Subversion vznikl nový verzovací systém, který odstraní chyby co lidem vadili v CVS a byl napsán úplně znova i když filozoficky se hodně držel původního CVS, ale byl tree oriented, což přineslo některé výhody, ale i nevýhody.

Protože řada vývojářů nebyla s CVS spokojená vznikali další systémy a za některými stál i Microsoft, který přišel se svým verzovacím systémem Delta v roce 1994. Tento systém dlouho nevydržel, protože MS udělal výhodou akvizici a koupil firmu SourceSafe a další rok už vydal nový verzovací systém VSS. Tento systém měl mnoho nevýhod a pokud někdo s ním pracoval určitě mi dá za pravdu, že to nebylo jednoduché. Problémy se zamykáním souborů, přenos přes sdílené disky apod. V roce 2005 naštěstí MS představil moderní centralizovaný systém, který je součásti TFS, který jako datové úložiště používá MS SQL.

Larry McVoy je klíčová osobnost návrhu verzovacích systémů. Stál u vývoje verzovacího systému  Sun TeamWare, který vedl Evan Adams a potom na základě těchto zkušeností vytvořil BitKeeper. To jsou první distribuované verzovací systémy. TeamWare byl postavený na základech SCCS, přesto přinesl spoustu nových věcí, které dali později vzniknou dnešním systémům. Implementace TeamWare začala v roce 1991, to můžeme považovat za datum vzniku distribuovaných systémů.

TeamWare to začal, ale BitKeeper může za vznik Gitu a Mercurialu, kteří patří dnes mezi nejznámější distribuované verzovací systémy. Společnost BitKeeper se na základě událostí v roce 2005 rozhodla odebrat (reverse enginnering na linux konferenci pomoci telnetu) volné použití linuxové komunitě, která BitKeeper používala k vývoji jádra.

To vedlo ke vzniku Gitu (Linus Torvald) a Mercurial (Matt Mackall) v roce 2005. Git je inspirován BitKeeperem a Monotone (sha1 hash), také velkou část práce na něm udělal Petr Baudiš, který stojí například za frontendem Cogito  a příklad git-filter-branch.

Výhody Gitu vidím v těchto vlastnostech:

  • pružnost (moderní různá worklow)
  • lokální větve
  • jednoduchý a rychlý merge
  • rychlost a offline commit
  • vysoký failover, díky lokálním kompletním kopiím

Tak proč všichni nepoužívají Git, ale Subversion? Je proto několik důvodů.

  1. ne všichni považují tyto výhody za důležité, priority mají jinde
  2. pro SVN mluví vysoká rozšířenost, snadná dostupnost v mnoha IDE
  3. vynikající TortoiseSVN, který pomáhá více než by se na první pohled mohlo zdát
  4. dostupný placený support včetně tvoření balíků pro linux, windows (CollabNet)
  5. http, apache pro snadné začlenění do každé sítě
  6. napojeni ldap, active diretory nastavení práv až na úrověň každého adresáře
  7. znalost

Proto více než 80% firem dnes používá Subversion.

Dnes je důležité používat určitě aktuální verzi Subversion, vůbec nedoporučuji pracovat s verzemi 1.4 a nižší, které nepodporovali mergeinfo. Subversion má desetileté výročí. Ale stále je to malé dítě, které potřebuje dospět. Už jsou pryč dětské nemoci, ale některé problémy přetrvávají.

Subversion byl začleněn pod Apache Foudation do toho doufám, že se trochu akceleruje vývoj Subversion k následujícím verzím. Tým kolem SVN si je dobře vědom věcí, které SVN scházejí a dobře vědí, že to není jednoduché je odstranit. Proto existuje tato roadmapa.

Je to roadmapa přibližně na 4 roky dopředu, klíčový bude letošek a uvidíme jak se podaří vývoj verze 1.7 o které budu teď. K ostatním verzím se vrátím později.

Verze 1.7 by měla obsahovat tyto novinky

  • httpv2
  • wc-ng
  • svn patch

Nová verze HTTPv2 by měla přinést větší rychlost při zachování všech výhod http protokolu.

Pracovní kopie nové generace je důležitá součást nutná pro další následné změny, které odstraní dnešní problémy (tree conflict, rename tracking). Bude to sqlite databáze v jednom adresáři .svn, kde budou všechny potřebná metadata o repository.

Svn patch jen umožní to co umí příkaz patch v linux, drobnost, která v svn chyběla.

Ve verzi 1.8, která by měla být za rok bychom se snad díky nové WC-NG mohli již dočkat sledování přejmenovaných souborů napříč historii. Nastavení pro jednotlivé repository ne jen globálně a vylepšení problémů s tree conflicty.

Co bude v dalších verzích uvidíme, autoři slibují nový FS, nový editor a další vylepšení. Uvidíme zda se do budoucna dočkáme třeba i offline commitů.

Na závěr bych chtěl shrnout co by jste si měli odnést těchto 4 věci:

  • pokud máte subversion, ujistěte se že používáte poslední verze
  • pokud chcete přejít na DVCS mějte pro to dobré zdůvodnění nedělejte to je kvůli módě
  • na subversion se stále pracuje
  • existují distribuované verzovací systémy a přinášejí něco nového

Tento článek je přepis mojí přednášky na Teched 2010.

Categories: akce, scm, subversion Tags:

on Air Tour v Praze

10.06.2008 View Comments

air_appicon Adobe nás přivítala ve velkém stylu, tak dobře organizačně připravenou akci jsem dlouho nezažil. Na začátku jsem dostal materiály, vizitku, k dispozici je internet, občerstvení po celou dobu akce a každý byl osobně uveden jejich pracovníkem a obsluha se o vás stará.  Balíček co jsem dostal obsahoval: Adobe AIR for Javascript Developers, ActionScript Reference, Flex Early Evalutation: Assessing Flex Your Project Needs. Nejsou to jen propagační materiály, ale příručka co se může opravdu hodit a reference ActionScriptu, která je sice k dispozici online, ale někdy se to hodí i vytištěné. Do místnosti kde se ve Staropramen pivovaru přednášelo, byly přidány prodlužováky se zásuvkami pro každého a jediný dojem z celé akce trochu ničil hluk z ulice hned za okny.

Program akce byl velmi dobře sestaven a zaměřen převážně na začínající vývojáře na platformě Adobe Air, která tu je od února a teď v červnu bude k dispozici verze 1.1.

Na úvod jedna poznámka pro ty co se s Air ještě nesetkali. Adobe Air je runtime prostředí pro běh aplikací napsaných v JS, HTML, Flash (Flex). Není to jen Flash, aplikace může být jen např. HTML a JS. Během vývoje mělo Adobe Air vývojový název Apollo, pod kterým občas něco najdete. Adobe Air je k dispozici pro Windows, Mac a Linux (alpha).

Program

Nebudu detailně probírat každou přednášku, ale jen to lehce shrnu a uvedu nejzajímavější odkazy. V Keynote Ryan Stewart řekl co to Adobe Air je, kam se bude ubírat Flash Player 10 a kam další verze Adobe Air, které na nás brzo čeká.

V další sérii přednášek byli ukázky jak vybudovat Adobe Air aplikaci pomocí Adobe Flex 3 builderu, Adobe Flex SDK a notepadu nebo pomocí Aptana IDE, které je zdarma.

Kromě vývojových nástrojů byla také představeny různé aplikace, které v Adobe Air jsou již vyrobeny. Pokud budete dělat vlastní aplikace je potřeba je digitálně podepsat, aby při instalaci jste byli důvěryhodní chce to také důvěryhodný certifikát a ne self signed. Certifikáty vydává pro Firefox např. Thawte ($299 za rok).

V rámci přednášek také byli přestaveny projekty www.flash.cz a www.flexgarden.net, které nám problematiku vývoje ve Flexu přinášjí v české a slovenském jazyce.

Přenášeli většinou američané a bylo to poznat např. na tom jak intenzivně používají sociální sítě jak Twitter, Brightkite, Tabrio, Facebook a další. O tomto fenoménu, který u nás ještě není tak rozvinutý přinesu další článek někdy později.

Další materiály jsou k dispozci také na stránkých akce, kde najdete např. i videoblog.

Keynote – Ryan Stewart

Building your first Adobe AIR application with Adobe Flex – Mike Chambers

Jak udělat jednoduchou aplikaci a další témata, které byli probírány na přednáškách? Stačí si pročíst knížku Adobe Air for Javascript Developers. Tam najdere všechny důležité informace o Adobe Air.

Building your first AIR application with HTML and JavaScript – Kevin Hoyt

Leveraging HTML and JavaScript within Adobe AIR – Kevin Hoyt

Deploying and Updating AIR Applications – Serge Jespers

Adobe AIR API Overview – Daniel Dura

Google App Engine and RIAs – Dion Almaer

Google App engine má jako runtime Python a využívá část framewroku Django.

Data Intensive Enterprise AIR Applications – Enrique Duvos

Using JavaScript Frameworks in AIR Applications – Andre Charland

AIR Conditioning – Lee Brimelow

Adobe Air Aplikace

Fotografie

http://www.flickr.com/photos/tags/onair2008prague/

Categories: adobe, adobe air, akce, flex, javascript Tags:

Přijdte na Linux víkend 24.5.2008 na ČVUT FEL

06.05.2008 View Comments

České sdružení uživatelů operačního systému Linux (CZLUG) pořádá 24. května 2008 tradiční Linuxový víkend. Jedná se o sérii přednášek určených nejširší veřejnosti.

Tématem tohoto víkendu budou přednášky o vývoji aplikací a vývojářských nástrojích.

Prostor bude i pro dotazy uživatelů a samozřejmě pro diskuse.

Akce je pořádána ve spolupráci s ČVUT, Fakultou elektrotechnickou.

Vstup na akci je zdarma.

Další informace včetně registrace naleznete na adrese www.linux.cz/vikend.

Program

  • 10:00 — 11:30 Roman Štrobl, Sun — Vývoj aplikací v NetBeans 6.1
    Představení vývojového prostředí, které vzniklo v čechách a oslovilo celý svět. Dozvíte se o tvorbě webových a desktopových aplikací pomocí Ruby, PHP, Javy a JavaScriptu v NetBeans.
  • 11:45 — 12:45 Petr Kopač, CZLUG — Eclipse a Java
    Javu předstravíme pouze úplným začátečníkům, ale Eclipse možná zaujme i_pokročilé, pokud jej již dávno nepoužívají.
  • 12:45 — 14:00 Polední přestávka aneb obědová pauza
  • 14:00 — 15:30 Ondřej Surý, CZ.NIC — Django a CherryPy
    Po jistě dobrém obědě se dozvíme o nejvážnějším konkurentovi Ruby on Rails, který nepřijede po kolejích, ale na PostgreSQL
  • 15:45 — 17:30 Milan Šorm, MZLU Brno — Webové aplikace v masivním provozu
    Na závěr si povíme, co nás čeká, když do aplikace přijde mnoho uživatelů současně. Vývoj systému pro zápis studentů, tvorba modulů do Apache, cachování a zvládání velkých zátěží vůbec.
  • 17:45 — 19:00 Jan Holešovský, SUSE — Oprav si i Ty svůj oblíbený bug v OpenOffice.org!
    Vývoj aplikací není jen o webu. Třešničkou na dortu bude přednáška o vývoji desktopové aplikace.
  • 19:00 — 20:00 Valná hromada CZLUG
    Neveřejná akce CZLUGu, která se bude konat dle počtu lidí v příhodném podniku.

Categories: akce, linux, open source Tags:

Switch to our mobile site