Blogy       Lidé.cz       Spolužáci.cz       Hry.cz       Seznam       Email       Novinky.cz       Super.cz
Seznam blog
informace o dění v Seznamu
Kategorie: Technici
03.03.2009 11:59 - Technici - trvalý odkaz

Aktualizace Javascriptové knihovny JAK

Je to rok, co jsme vydali jako open source Javascriptovou knihovnu JAK. V tomto týdnu proběhla masivní aktualizace knihovny a webu s příklady.
JAK se může i po roce pochlubit zpětnou kompatibilitou, tudíž widgety a kód napsaný před rokem bude fungovat se současnou verzí. JAK má oproti konkurenčním frameworkům výhodu v česky psaném manuálu, stránkách s příklady a diskusním fóru, na kterém vám rádi pomůžeme s vašimi problémy.

JAK je stále modernizován, proto je vhodné sledovat jeho stránky a připravovat se na budoucí změny. Jako příklad mohu uvést zavedení nové metody $super pro volání metod předka, která v budoucnu nahradí metodu callSuper. Za zmínku také stojí stále vylepšované počítání pozic elementů na stránce pro jejich následné pozicování.

Ruku v ruce s aktualizací JAKa dochází i k aktualizaci vydaných widgetů. Před rokem byly některé widgety v rané fázi vývoje a nyní již dospěly. Můžeme zmínit např. kalendář, který před rokem uměl číst datum pouze z jednoho formulářového pole, nyní je možné pracovat s časem i datem a tyto údaje číst z libovolných polí. Dalším widgetem, který prošel masivním vývojem, je editor. Editor se za rok naučil správně fungovat v nastupujících prohlížečích Firefox 3 a Internet Explorer 8. Přídavkem jsou další rozšíření funkčnosti o práci s tabulkami, nebo implementace využití kontroly pravopisu.

Dále byly vylepšeny knihovny pro práci s vektorovými grafy. JAK se jako jeden z prvních frameworků (možná jako první) může pochlubit bezproblémovou prací s VML v přicházejícím Internet Exploreru 8 s možností změny objektů za běhu skriptem. Těchto vektorových knihoven využívají widgety pro kreslení grafů, které v průběhu doby získaly rozšířené možnosti konfigurace vzhledu.

JAKem se snažíme reagovat na aktuální trendy a proto si na stránkách JAKu můžete zkusit použít vizualizátor navěšených událostí Visual Event od Allana Jardine. V blízké budoucnosti bude tato verze JAKa propagována na další služby Seznamu a tudíž i na nich bude brzy vizualizátor fungovat. Tato jednoduchá pomůcka umožňuje rychleji dohledat, jaký kód je svázán s jednotlivými ovládacími prvky ve stránce.

Vývoj JAKu a knihoven neustává a tak je nasnadě otázka, na co se můžete v nejbližší době těšit. Mohu slíbit, že vydáme novou plně konfigurovatelnou prohlížečku obrázků LightBox, která bude mít premiéru na novém webu Novinek. Myslím, že se máte na co těšit.


Aichi

10.12.2008 11:12 - Technici - trvalý odkaz

Nový Super.cz

Jenom taková malá technologická změna, nic hrozného. I takto by se dalo dívat na novou aplikaci super.cz, kterou jsme právě nasadili ...
A abyste si nemysleli, že si z dlouhé chvíle programujeme aplikace pořád dokola, znova a znova, uvedu pár docela důležitých aspektů, které nás k tomu vedly.

Původní super.cz byla jedna z nejstarších aplikací v Seznamu. Přísloví " neopravuj to, co funguje" platilo pro Super.cz bezezbytku, proto se nikomu do žádných velkých změn nechtělo. Přece jenom za dobu její životnosti se na ní vystřídala spousta programátorů a každý z nich do ní vnesl něco svého.

 

Ale důvody nakonec převážily: nutnost portace na novější operační systém, zduálnění (to proto, abychom předešli nekontrolovatelným výpadkům proudu v serverovnách),  sjednocení redakčního systému s redakčním systémem jiných služeb. Backend, na kterém se dá postavit nejen mobilní verze, ale který umožní celou aplikaci jednoduše rozvíjet a přízpůsobovat. Tohle všechno nás vedlo k tomu napsat Super.cz znova. Protože jsme potřebovali opravdu kvalitní základ, věděli jsme, kam sáhnout. Použili jsme to, co se nám osvěčilo na serveru Sport.cz a následně i na Novinky.cz.

S novou aplikací se svezla i lehká zněna grafiky, která by měla být přehlednější. Přeuspořádání redakčního obsahu zase reflektuje poslední informace, které máme o čtenosti jednotlivých rubrik tak, abychom lépe vyhověli požadavkům čtenářů.

Oproti původnímu plánu, který byl v délce projektu docela mírnější, je nutno říct, že se nám to trošku protáhlo, jak už to u takových projektů bývá :) Asi jsem to trošku podcenil. Koncová fáze, kde je třeba dotahovat spoustu drobností, byla snad nekonečně dlouhá a vysilující.

Poděkovaní patří všem, kteří se projektu ať už v jakékoliv jeho fázi, zúčastnili. Myslím si, že nakonec se to povedlo a pokud jste si žádné změny nevšimli, tak je to možná taky dobře :).

Tak ať se mu v té ostré konkurenci dobře vede.

'Zdeněk
Zdeněk

20.10.2008 09:40 - Technici - trvalý odkaz

Celý internet v mobilu

... aneb jak nám Wap Proxy přežvýká normální webovou stránku pro mobil.
O co vlastně jde?

Wap Proxy nebo Mobile Proxy, jak službě říkáme, je systém umožňující uživateli zobrazit bežnou webovou stránku na mobilním telefonu nebo jiném mobilním zařízení,  jako je PDA. Jde tedy o překladač webových stránek.


Proč to vzniklo?

Proxy začala vznikat v době, kdy podobných řešení bylo ve světě jen pár a my chtěli uživatelům dát možnost se i na mobilních zařízeních podívat na oblíbenou stránku. Navíc v době, kdy jsme přišli s tímto nápadem, jsem řešil téma diplomové práce a tak velmi brzy začala aplikace vznikat jako diplomová práce. To bylo příjemné a přínosné jak pro mě, tak pro Seznam. Diplomka musela být včas hotová a já se v práci i ve volném čase věnoval naplno jejímu vývoji.


A jak to tedy chodí?

Každého asi v první chvíli napadne, že je to jednoduché. Jen zmenším pár obrázků a je to.... a ono není. Je pravda, že změna velikosti obrázků je nejviditelnější změna. Ale je potřeba udělat mnohem víc.

Ze všeho nejdřív musí vůbec aplikace stránku stáhnout. A to tu správnou! Zobrazení ovlivňují různé faktory od informací ze samotné adresy, přes formuláře až po různé informace obsažené v dotazu, o kterých nemá uživatel většinou ani páru. Navíc pokud si uvědomíte, že některé stránky mají zabezpečení a mnohé weby jsou přístupné pouze pod heslem, přidávají se další a další komplikace při upravování dotazu na cílovou stránku. A naposled to složitější a nejzajímavější. Pokud stránka obsahuje formulář, který se při stránkování rozdělí, musí se při stahování složit celá informace z několika stránek.

Pokud se tohle všechno podaří, nastává první fáze přizpůsobení a fáze, u které jsem nejednou splílal tvůrcům webových stránek na celém světě. Stránku je potřeba rozložit podle její struktury, což vypadá jednoduše a také je. Ovšem jen do té doby, než začne stránka obsahovat chyby. V tu chvíli je potřeba dělat spoustu záchran, aby výsledek byl co nejlepší a hlavně odpovídal standartům. Mnohé telefony si totiž na rozdíl od běžných prohlížečů neporadí s chybami ve stránce. Pokud se vše nakonec provede úspěšně,  začíná magie.

Ano, začíná ta pravá magie. Se stránkou se dělají různá přehazování a veletoče. Mezi nejjednodušší patří nahrazování některých elementů jinými, změny velikostí a přesměrování odkazů a mnoho dalších operací, které jsou vlastně výsledkem dlouhého zkoušení a nekonečných brainstormingů „co tam ještě přidat“. Veškerá základní funkčnost aplikce se vlastně skrývá v této části a každá operace prováděná nad rozloženou stránkou je know-how přizpůsobení. Jednotlivě vypadají úpravy malicherně, ovšem všechny dohromady tvoří pěkný výsledek.

Teď by si člověk řekl, že je to určitě už všechno a ono není. Ještě se musí stránka vypsat. Je pravda, že samotné vypsání je jednoduchá operace, ovšem i zde je potřeba se vypořádat s pořádným špekem a to je rozdělení stránky na části tak, aby telefon nedostal víc dat než zvládne a zobrazil stránku rozumně. Telefony mají -  na rozdíl od stolních počítačů a notebooků - velmi malou paměť a mnohé stránky se jim do paměti ani nevejdou. Proto sestavuje proxy stránku po částech tak, aby uživateli zprostředkovala pěkný výsledek. Aby byla opravdu co nejpříjemnější , pro stránku se sestaví ještě jednoduchá navigace. Jednoduchá proto, protože  nevyužívá žádné přehnaně složité detekce, ale využívá jen nadpisy.

No a stránka je hotová. Nebo ne? Stránka ano, ale ještě zbývá přidat jí vzhled. Překladačů internetových stránek je na světě víc, ale vzhled transformuje jen několik málo z nich. A po pravdě, je to docela fuška pro počítač, který tu práci musí odvést. Celou stránku je potřeba ještě jednou projít a přidat každému prvku správné vlastnosti. Mnohé telefony umí jen jednoduché zápisy stylů a tak styly zjednodušujeme. Mimo to si aplikace pamatuje aktuální barvu pozadí a v případě, že se od ní barva písma liší jen málo, upraví barvu písma na lepší. To je jedna z věcí, na které jsme opravdu pyšní.

A pak?  Pak už jen hurá! a poslat na mobilní službu uživatele.  Vlastně to není až taková věda, viďte?


Vašek

15.10.2008 13:12 - Technici - trvalý odkaz

Technické oddělení zničeno

Našli jste v deštivém podzimním počasí pár pěkných dní a ještě k tomu o víkendu?
Počasí se koncem září na chvíli umoudřilo a tak jsme se mohli oddat slunečnému, akcemi pořádně nabitému víkendu v rámci plánovaného teambuldingu seniorů technického oddělení. V neděli nám zbývalopouze zkonstatovat, že jsme zničeni.

Šéfové týmů se postupně, tak jak dojížděli do místa určení, scházeli od pátečního večera v hotelové restauraci. Proběhlo pár bowlingových zápasů a někteří zvládli i stolní fotbálek. Společný večer byl, s ohledem na nadcházející den a fyzickou kondici adrenalinových adeptů, ukončen dříve než se stačila rozvinou diskuze na téma – kde začíná a končí vesmír...

Sobota, to nám to pěkně začíná. Budíček 8:00, snídaně a přesun do místa aktivit. V hlavě zatím pouze vesmír. Rozdělení do skupin proběhlo již předchozí den. Všichni vědí kam patří? Cože??? Dobrá zopakujeme to:) Skupina A, skupina B a potom 6 skupin na večerní maratón. Skupina A, šup šup na čtyřkolky a pořádně se s nimi seznamte. Zítra vás na nich čeká velký výlet do lanového centra. Dnes si můžete užít alespoň hodinovku po okolí Rychnova nad Kněžnou.
.


Start na první jízdu proběhl naprosto bez problému... Po úvodních slovech zkušeného instruktora všichni významně pokyvovali hlavou, že rozumí, vždyť auto řídit umíme. Jen osamocený Apach na startovní čáře s bezmocně kroutící hlavou a s výrazem upínajícím se na všechny přítomné, když celá skupina už zmizela v dáli, smetl veškerý instruktorův optimismus o průběhu prvního dne akce. Nemusíš nic říkat čeče, stačí když zařadíš „háčko“ a jedeš. A jel...

Skupina B, hybaj na trénink motokár a kvalifikaci na závodní speciály. Již po prvních kolech byly pokořeny traťové rekordy a kvalifikace na závodní mašiny byla jasná. Zítra budou mít všichni na trati pod zadkem „pořádnou mařenu“. Odpoledne se skupiny prohodily. Musíme podotknout, že se nic podstatného nestalo. S rozbitým světlem u čtyřkolky, prasklou nádrží u motokáry a přejmenováním Apache na Hafáče traťovým
komisařem se hold musí v zápalu boje počítat.



Večerní 90ti minutový maratón družstev na motokárách už byl pouze vyvrcholením celého dne. Naplno se projevila špatná volba spolujezdců v Biťákově týmu Kosa Nostra, kdy Zdenda svým karambolem zpomalil své spolubojovníky o téměř tři kola. Týmy změnily dráhu v cosi nového, divně vlnitého, co se pak muselo do druhého dne opravovat. Závěr maratónu byl naštěstí okořeněn vynikajícím výkonem vedoucích družstev Mistři a Rafani a tým Mistrů zvítězil po dlouhém boji až na cílové rovince o pouhé 3 setiny. Večerní dýchánek se rozpustil okolo dvanácte. Všichni jsou unaveni, pouze Hafáč plánuje jak
rozeznít kolejnici požárním poplachem.



Neděle, uff, už je to tu zase. 8:00 snídaně a přesun do centra aktivit. Skupina A vyráží do lanového centra v Říčkách, skupina B se oddává řádění na 340 ccm motokárách. Odpoledne se skupiny prohodí. Každá z aktivit trvá zhruba 4 hodiny a přestávky nejsou povolené:) Musíme podotknout, že ježdění na motokárách je poměrně náročná disciplína a to samé můžeme říci o velkém okruhu v lanovém centru. Když tyto dvě záležitosti, společně s jízdou na čtyřkolce, absolvujete v rámci několika hodin a máte z předešlého dne za sebou také pořádný kus dřiny, počítejte s tím, že večer nebudete mít chuť už vůbec na nic. Další den raději zažádejte o sickday:)

Celá akce proběhla bez zranění a újmy na zdraví, tímto děkujeme Hafáčovi, že hotel zapálil až v úterý, po předchozí důkladné specifikaci, analýze, oponentuře, naplánování a zajištění zdrojů.


Martin

16.09.2008 16:15 - Technici - trvalý odkaz

Blesk neudeří na jedno místo dvakrát. Většinou.

Po tomto víkendu definitivně přestávám lidovému moudru věřit. Ledaže by platilo pouze na dobu dvou let od posledního úderu bleskem.

Vzpomínka na druhý červenec 2006 se  mi z  paměti ještě úplně nevytratila. Pohledem do elektronického kalendáře si přesně vybavuji  ten úterní prázdninový večer, kdy jsem se v poklidu chystal na týdenní dovolenou do Švýcarska. Ani v nejmenším mne tehdy  nenapadlo, jakou předzvěstí jsou všechny ty timeouty, co jsem náhle zpozoroval na našich Seznamáckých mapách. Za pár minut, po první desítce jasně hrozivých telefonátů, jsem ale měl jasno: výpadek elektřiny v serverovně a všechny služby Seznamu pryč.

Na dovolenou jsem tehdy nakonec přece jen odjel. Pravda, se 14 hodinovým zpožděním. Ostatní kolegové bez plánovaných dovolených takové štěstí neměli. Z výpadku elektřiny v tehdy jediné serverovně Seznamu se tu vzpamatovávali ještě několik dalších týdnů.

Toto neradostné, bez dvou měsíců dvouleté výročí, jsme si připomněli právě o tomto víkendu. Jeden rozdíl tu ale přece jen byl: za ty dva poslední roky  jsme stihli zbudovat druhou serverovnu v Naganu a díky práci vývojářů zdualizovat většinu z více jak 50ti služeb Seznamu. Výpadek byl stejně jako před dvěma lety neplánovaný, stejně jako před dvěma lety v TTC nenaběhlo záložní napájení. Zbytek havárie proběhl identicky.

Díky serverovně v Naganu se nám ale podařila dříve nemyslitelná věc. Plné znovu rozběhnutí celého Seznamáckého freemailu v TTC netrvalo 1,5 měsíce, ale pár hodin. Neztratili jsme při tom žádná uživatelská nastavení ani emailové zprávy.  Z pohledu uživatele byla služba díky druhé serverovně zprovozněna  v řádech desítek minut.

Řekl bych, že jsme na dobré cestě, ne však v cíli. Zbývají  další jednotky služeb v portfoliu Seznamu, které ještě nemají duální architekturu. Stejně tak víme, že ne všechno se v TTC znovu rozběhlo bez pomoci. Odhadem nás výpadek v TTC stoji zhruba dva dny prací na dočištění všeho, co se rozbilo. Díky druhé serverovně jsou to však práce - z pohledu uživatele - neviditelné a nevýznamné.

Naším cílem je ideálně nulový zásah techniků.

Aby do práce v neděli  už konečně nemuseli system administrátoři z týmů Martina Dolečka, Pavla Danihelky, Honzy Vokase, Honzy Mojžíše a Zdeňka Spáčila. Aby  i system operátoři v TTC Jirka Tauber, Tomáš  Soukup  a ostatní dohlíželi na provoz v klidu.

Až v létě 2010 udeří blesk znovu, uvidíme, jak moc se nám s tím podařilo hnout. ;-)


Michal

25.08.2008 10:33 - Technici - trvalý odkaz

CAPTCHA jako API

Máte problémy se spamem? Chcete použít řešení CAPTCHA, ale nechcete zhoršit přístupnost vašeho webu? Zkuste využít CAPTCHA API od Seznamu!
Po API Mapy.cz jsme se na základě podnětů zvenku i přímluvy od Centra TEREZA rozhodli uvolnit pro veřejné nekomerční použití prostřednictvím API i náš CAPTCHA server. Na rozdíl od jiných obdobných řešení je naše CAPTCHA vybavena možností generovat audio stopu a díky tomu je použitelná i pro zrakově handicapované uživatele. Pro její využití máte k dispozici rozhraní jak HTTP tak XML-RPC, respektive FastRPC.

Jak vypadá naše CAPTCHA v praxi si můžete prohlédnout např. na stránce která slouží k registraci nového uživatele Seznamu. Kolegové pro vás připravili také pár příkladů i hotových řešení ke stažení (pro Python i PHP5). Výhodnost použití CAPTCHA API od Seznamu spočívá především v již zmíněné audio verzi a garantované dostupnosti.

BoB
BoB

17.07.2008 16:20 - Technici - trvalý odkaz

Návštěva u důchodce z Vysočiny

Nové Veselí u Žďáru nad Sázavou není známé jen tím, že v něm pobývá snad nejznámější důchodce v ČR, ale také tím, že se v něm už poněkolikáté konalo Letní Soustředění Mládeže, zkráceně LSM.
V titulku klamu, návštěvu Miloše Z. jsme neuskutečnili, na LSM jsme ale zavítali.

LSM (http://www.hifiklubzr.org/lsm/index.php) má za sebou historii
několika desítek let. Když jsem se v polovině devadesátých let k této akci nachomýtl poprvé, jako vedoucí, konalo se v Polničce u Žďáru n. S. a neslo označení LSTM - Letní Soustředění Talentované Mládeže. Scházela se tam banda technicky zaměřených dětí, dorostu a vedoucích (no a taky jejich manželek a přítelkyň, které jim to trpěly). V té době tam byla převaha elektroniků, kteří bastlili různé zesilovače, radary, vysílače, přijímače, a kdo ví co. Zároveň to byla doba, kdy se počítače daly už považovat za dostupné, na trhu byly první vypalovačky CD (kolem nich se chodilo po špičkách a úspěšnost vypálení byla 2:10). Já jsem tam přednášel pro mě v tu dobu oblíbený Pascal a přijal nick VP! [vi:pi:], pod kterou mě dneska dost kamarádů zná. Jako vedoucí jsem tam byl několik let až do
přestěhování tábora (on je to vlastně tábor) do Nového Veselí.

Dnešní LSM je jiné. Koná se jinde, tváře vedoucích se až na některé stálice vyměnily, bastlíři ustoupili počítačníkům, je o týden kratší. Je jiné pro mě, protože já jsem se změnil a doba se změnila. Stále však cítím určité spojení s touto akcí a cítím potřebu podpory těch nadšenců, kteří ji drží při životě. Účastníci tam jezdí se něco přiučit, nebo přinejmenším se nechat vytrhnout z celoroční školní rutiny.

Proto jsem se loni domluvil s Michalem Feixem (btw. dvoudílný rozhovor s ním najdete zde a zde) a zajeli jsme poodhalit roušku tajemství o architektuře našeho emailu a hardware, co používáme. Nakonec z plánované dvouhodinové přenášky bylo celodenní sezení od snídaně do večeře, kde se probralo snad vše kolem Seznamu, internetu, počítačů a jiného. Letos jsem vzal s sebou Zdeňka Philippa a Ondru Žáru. Zdeněk je senior programátorem a do jeho týmu spadá naše zpravodajské servery, homepage, TV program nebo třeba SeznamFS. Ondra je náš Javascriptový guru a má prsty v TV programu nebo třeba Javascriptové knihovně JAK.

Zdeněk si připravil povídání o Pythonu, protože jak říká bez Pythonu by nebyl Seznam. Aplikace a skripty v něm napsané jsou v Seznamu všudypřítomné. Jeho přednášku můžete najít na zde. Závěrečným slajdem se snažil namotivovat zejména žáky základních škol. :) Čtěte ji pokud nevíte o Pythonu vůbec. A pokud vás to zaujme, zavítejte třeba na Py.cz. Ondra účastníkům vykládal o Javascriptu a naší knihovně JAK, prezentaci najdete na jeho stránkách. Z JAKu si vybral některé widgety, protože ty nejlíp navnadí mladé Javascriptisty. Kdybych ještě tvořil Javascriptové stránky, hned bych knihovnu využil.

Po obědě jsme opět nabídli volnou diskusi na libovolné téma. Dotazy směřovaly k vyhledávání, spojení Centra s Atlasem, fámy kolem prodeje Seznamu, IMAPu nebo Jabberu. Byla to pro nás hezká sonda do toho, o čem mladí dnes přemýšlejí. Jak jinak, pikantnosti vedou :)

Letošní LSM už skončilo a příští rok jistě bude pokračovat. Máte-li technicky zaměřené děti, možná je to ten pravý tábor pro ně. Věřím, že i příští rok tam Seznamáci zavítají a něčím je obohatí.

'Vlasta
Vlasta

19.06.2008 12:34 - Technici - trvalý odkaz

Tváří v tvář problému

Našim uživatelům jsme teď na helpdesku víc nápomocni díky on-line komunikaci, která je na internetu nejefektivnější.

Požadavky uživatelů jsem doteď  řešili hlavně e-mailovou formou a pomocí kontaktních formulářů. Tak se tvořilo hodně písemné komunikace a její vyřízení mohlo trvat dlouho. Díky novému systému uživatelé už nečekají  na naši písemnou odpověď, ale problém řeší v reálném čase přímo s operátorem.

 
Průměrná doba řešení jednoho požadavku je 5 minut, přičemž operátoři komunikují hned s několika uživateli najednou. To významně zvyšuje možnosti využití technické podpory pro uživatele , pro operátory to ale znamená větší soustředěnost a nasazení.

           
Prvním krokem k úspěchu na obou stranách je identifikace služby, ke které se problém nebo dotaz vztahují. Hodně pomáhá i to, když má uživatel rozmyšleno, co přesně požaduje nebo s čím má problém. Pouhé konstatování „nefunguje to“ zbytečně prodlužuje dobu řešení a znepříjemňuje komunikaci oběma stranám zbytečným množstvím  otázek.  Velmi proto doporučujeme využívat
centrální nápovědu služeb. Většina z nejčastějších otázek je v nápovědě detailně zpracována.

 
A se kterými službami Vám na online podpoře pomůžeme?

 
V první řadě se jedná o e-mailové služby (mimo zapomenutá hesla, které mají
vlastní formulář), Sweb, fulltextové vyhledávání, komunitní služby Lidé.cz a Spolužáci.cz a jiné.

 
On-line podpora je dostupná ve všední dny od 07:00h do 20:00h. Souběžně s ní je možné využít i telefonickou podporu, která je však kapacitně omezena.


Věříme, že nová on-line podpora přinese uživatelům ještě jednodušší práci s našimi službami a nám nové zkušenosti, bez kterých bychom nemohli naši práci dál vylepšovat.

 

Zdeněk a Lukáš

27.05.2008 14:03 - Technici - trvalý odkaz

Komprimace JavaScriptu a CSS

Uvolňujeme do open source nástroj pro komprimaci postavený na gramatice jazyka.

Jak si mnozí z vás jistě všimli, veškeré zdrojové soubory obsahující JavaScript a kaskádové styly máme na našich službách v komprimované podobě. Tedy bez zbytečných bílých znaků, konců řádků a komentářů. Také naše Javascriptová knihovna JAK je uvolněna i v komprimované formě. Nyní chceme uvolnit jako OpenSource i nástroj, kterým tuto komprimaci děláme.

Na komprimaci se v historii seznamu používalo několik různých interních nástrojů, ale každý měl nějaké problémy, díky nimž bylo nutno si dávat velký pozor na výsledek komprimace. Chyby se však v komprimované verzi hledají těžko.

Během několika obědů strávených s kodéry, jsem se v rámci tučňákových dnů rozhodl, že vyzkouším napsat nový komprimátor JavaScriptu postavený na gramatice jazyka. Tak aby komprimátor parsoval jazyk jak se má a nědelal chyby. Po chvíli hledání a několika pokusech jsem nakonec použil knihovnu KHTML a vytáhl z ní potřebné kusy. Za pomocí několika málo úprav vznikla první implementace již funkčního komprimátoru. No a protože jsem měl v ruce jednoduchý kód,  nedalo mi to a vyzkoušel jsem si udělat i obfuskaci. Jedná se sice jen o pokus, ale třeba to někdo použije :).

Původní kód komprimátor pro kaskádové styly napsal náš produktový ředitel Chosé, když se chtěl seznámit s Céčkem. Jak to dopadlo se můžete všichni podívat :). Protože u komprimace kaskádových stylů je potřeba myslet na podporu různých háčků, tento komprimátor zachovává všechny komentáře a další věci. Vynechávají se pouze přesně specifikované komentáře (viz. manuál).

Protože jsme chtěli oba komprimátory mít pohromadě, tak jsme je dali do jednoho balíčku a udělali jsme pro ně jednotné rozhraní a už je vesele používáme. Kód je napsán v C/C++ a najdete ho včetně binárních balíčků pro debian na kjscompress.sourceforge.net.

'Michal
Michal

13.05.2008 09:35 - Technici - trvalý odkaz

Je libo replikovaný filesystem?

Rozhodli jsme se zvednout další pokličku v naší vývojářské kuchyni. Otestujte SeznamFS.

První myšlenky na něco takového jsme vedli asi před půl rokem v hospodě U Žíznivého jelena v Praze na Smíchově. Nutno podotknout, že to byly velice filozofické debaty :), jak to tak už u piva bývá. Konkrétní podobu tomu dal až čas, konzultace a příspěvky na vnitrofiremním diskusním fóru.

Jako Open Source existuje sice celá řada systémů (Coda, GlusterFS), které by se určitě taky daly použít, ale z nějakého důvodu se nám jakékoliv jiné řešení zdálo buď zbytečně složité, nevýkonné, nebo síťově moc ukecané.

A tak se stalo, že se jeden krásný víkend Eda (jeden z členů mého týmu) tak nudil, že se do toho prostě pustil a v pondělí přinesl do práce první funkční prototyp. Nakonec to dotáhl až do konce, ještě to chtělo hodně ladění, ale výsledek je asi přesně to, co jsme čekali.

Co to vlastně je a jak to funguje? Jedná se o replikovaný filesystem postavený na Filesystem in Userspace, zkráceně FUSE. Stačí tedy na jakémkoliv Unixovém počítači s modulem fuse připojit nový filesystem a SeznamFS se bude starat o to, aby všechny operace v tomto bodě zapisovaly do binárního logu. Základní filozofie je v podstatě okopírovaná z MySQL master master replikace databází.

Binární log obsahuje všechno, co je důležité pro repliku filesystemu do jakéhokoliv jiného umístění. Všechny operace (touch, mv, rm, ln, chmod, chown ...) v něm lze nalézt a samozřejmě i všechna zapsaná data. Systém je postaven na master-slave komunikaci. Každá instance systému může sloužit jako master a zároveň si může stahovat data z jednoho master systému. Hlavní síla celého řešení je v tom, že lze zapisovat do několika míst najednou, typicky na dva různé počítače, mezi kterými existuje TCP spojení a SeznamFS se postará o zreplikování souboru na druhou stranu. Další velkou výhodou je to, že se při změně nepřenáší celý soubor, ale jenom změněný blok na filesystemu a pak samozřejmě jednoduchá instalace a konfigurace.

Data, která se zapisují do mount pointu, se přesunují na klasický filesystem (EXT3, nebo cokoliv jiného do jakéhosi Storage adresáře), který máte nainstalovaný na počítači a jsou dostupná v nezměněné podobě. Zápisové i čtecí operace se tedy provádějí v mount pointu a pokud je potřeba číst ze systému opravdu hodně, dá se pro tento účel storage adresář bez problémů použít.

Pro administraci celého systému slouží jednak konfigurace, a druhak se da použít konzole v příkazovém řádku, ve které je možno i měnit část konfigurace a hlavně zadávat přikazy nutné pro správu systému.

Projekt má svou vlastní webovku s perfektní dokumentací na http://seznamfs.sourceforge.net/.

První projekt na kterém jsme SeznamFS vyzkoušeli je www.sport.cz pro replikaci obrázků a videí. Plánujeme nasazení na www.novinky.cz a taky na www.seznam.cz pro distribuci uživatelských favicon a dalších věcí.

A nakonec něco pro fajnšmekry. SeznamFS je napsaný v C++, síťově a v binlogu je Big Endian, to znamená, že replikace je možná i mezi souborovými systémy na různých platformách.

'Zdeněk
Zdeněk

Autor:
seznam
Další blogy:
Fulltext blog
Mapy.cz blog
Sklik.cz blog
PR blog
FC blog
Sreality.cz blog

Kliknutím si přidáte nejnovější zprávy z tohoto blogu přímo na hlavní stránku Seznamu.

Archív:
květen 2013
PoÚtStČtSoNe
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -