Webdesign

Adobe a grafika 35 Google 27 PHP 78 Webdesign, CMS 304

Dotaz: Skloňování a synonyma (v PHP)

Pro jeden projekt potřebuji získat pro každé slovo nejen databázi všech jeho možných tvarů, ale i synonyma. Takže třeba pro slovo "zelená" získat i tvary "zelený", "zelené" a další, pro slovo "gauč" získat ekvivalentní "sedací souprava". Potřeboval bych ideálně poznat i kořen slova.

Zkoušel jsem pspell_suggest a podobné funkce v PHP, ale jsou zcela nespolehlivé, české slovníkové podklady pspellu jsou strašné.

Teoreticky by šel vzít slovník třeba z OpenOffice.org, převést jej do databázové podoby a používat alespoň pro ona synonyma.

Řešil jste někdo podobný problém?

6 komentářů

Největší Microsoft konference pro IT profesionály v tomto roce

Microsoft pořádá v polovině září (tedy zhruba 10 dní před WebExpo konferencí) svoji největší letošní konferenci pro IT profesionály zajímající se o technologie Microsoftu. V technickém bloku je kolem 50 přednášek na různá témata.

Osobně považuji technickou sekci za mimořádně přínosnou (přednášky o Exchange 2010, PowerShellu, Windows Azure, SharePoint 2010) a budu se jí určitě účastnit.

Hodně populární asi bude Kinect for Xbox 360 - ovládání her pro Xbox 360 vlastním tělem, který bude prezentován jako demo na keynote (update: bohužel zatím bez možnosti si jej následně osobně vyzkoušet).

Microsoft Days 2010

Termín, místo konání a program konference:

Konference se koná 14. - 15. 9. 2010 v Kongresovém centru Praha

Bude rozdělena do dvou hlavních oddělených logických bloků s celkově více než padesáti přednáškami:

  • Technický dvoudenní blok pro IT odborníky a vývojáře poskytne v prvním dni “velmi hutný” přehled možností stavby softwarových řešení na platformě Microsoft. Druhý den pak nabídne technická školení v osmi paralelních sálech: Reseller & System Builder, IT, Developer, Client & Office, Web & Cloud, Microsoft Dynamics, WBI - Platinum partner track a 3M - Platinum partner track.
  • Partnerský obchodní blok v průběhu prvního dne je určen pro registrované partnery v programu Microsoft Partner Network. Bude mít charakter obchodních přednášek a nahrazuje tradiční Partnerskou konferenci společnosti Microsoft. Tento den bude rozdělen do šesti paralelních bloků: Reseller & System Builder, Solution Partners, Innovation Day, Microsoft Dynamics, WBI SAM & Licensing Day a 3M - Platinum partner track.

Formou doprovodného programu dále uvidíte např první veřejné uvedení novinky Kinect for Xbox 360 v ČR, možnosti konzultací na technická témata s předními odborníky v ČR nebo večírek v závěru prvního dne..

Co si z akce odnesete a kde se registrovat:

Kromě nových znalostí si z akce odnesete kvalitní batoh na notebook a můžete získat i jednu z hodnotných cen, o které se bude losovat z vámi vyplněných dotazníků. Mezi cenami je například Xbox 360, letenky do Evropských destinací a mnohé další.

Více informací o konferenci a registraci najdete na webu www.microsoftdays.cz

0 komentářů

WebExpo.cz - proč se účastnit konferencí, plus sleva 20% pro čtenáře MyEgo

WebExpo

Vašek Stoupa pořádá ke konci září 2010 už třetí ročník úspěšné konference o webu WebExpo.cz. První ročník, kterého jsem se účastnil i jako přednášející, šel označit za ryze český, ten nastávající třetí bude spíše středoevropský. Spousta přednášek bude v angličtině a jejich témata se dělí mezi design, development, business a agile.

Pokud se registrujete ještě tento měsíc, cena je 4.000 Kč + DPH, popřípadě polovina této částky pro studenty. V září bude naopak o 25% vyšší.

Proč se vůbec účastnit konferencí?

Konference jsou pro někoho nezajímavé, výše uvedená částka jim nestojí za absolvování.

Já si to nemyslím. Zde je pár důvodů, proč mám konference rád:

Celý článek 0 komentářů

Adobe Photoshop CS5 - kdy funguje Content Aware Fill a kdy ne

Adobe představil v CS5 sadě funkci Content Aware Fill - vyberete si nějakou část fotky a ta se místo barvy popředí, barvy pozadí či textury vyplní inteligentně pomocí analýzy okolních pixelů ze skutečné fotky. Je to funkce, která může uspořit hodně času, ale nemůžete se na ni spolehnout ve 100% případů.

Třeba na této fotce máte osobu na břehu oceánu:

Content Aware Fill - funkční - před úpravouContent Aware Fill - funkční - před úpravou

Pokud chcete danou osobu odstranit bez použití Content Aware Fill, není to úplně jednoduché, je tam stín, oceán, samotná osoba, různé barvy moře. Zabere vám to pěkných pár (desítek) minut.

Celý článek 2 komentáře

Krmeni.cz - nový eshop s krmením nejen pro psy a kočky

Nedávno jsme spustili novou verzi eshopu s krmením pro psy, kočky, hlodavce, ptáky i ryby - Krmení.cz. Jedná se o předělávku existujícího webu, a myslím si, že velice úspěšnou, krátce po spuštění jsou v systému tisíce objednávek.

Nákupní proces byl vyladěn společností DobrýWeb.cz, což přispělo zejména k vývoji vylepšené verze registračního a objednávkového formuláře, možnosti nákupu bez registrace a některých SEO zlepšení. Samozřejmostí realizace eshopu je propojení na interní účetnictví klienta.

Pokud se v eshopu Krmení.cz zaregistrujete, získáte za každý váš nákup bonusové body, které můžete poté použít v sekci věrnostního programu pro objednání dárků zdarma.

Při nákupu nad 800 Kč neplatíte žádné poštovné.

Krmení.cz

Pokud máte zájem o naprogramování eshopu přesně dle vašich potřeb, prosím kontaktujte nás.

0 komentářů

Lightbox fotka překrytá Flash reklamou - co s tím?

Pokud máte na svém webu reklamu třetích stran, většinou bude implementována jako IFRAME a v něm Flash či text či přímo jako Flashový OBJECT. A protože tuto reklamu dodávají třetí strany a špatně používají WMODE, tak při použití Lightbox skriptů pro zvětšování fotek dochází k tomu, že Flash reklama překryje zvětšenou fotku.

Vypadá to nějak takto:

FlashLightbox překrytý Flash reklamou

Většina Lightbox skriptů naštěstí má i onLoad a onClosed události, na které můžete navěsit to, že tuto reklamu prostě schováte při otevření náhledu přes CSS visibility:hidden a po zavření Lightboxu obnovíte. Pokud nepoužíváte na svém webu IFRAME a OBJECT prvky, můžete v případě Colorboxu (založeného na jQuery) vše implementovat třeba takto triviálně - důležité jsou ty tučné části:


$(document).ready(function(){ $("a[rel='colorshow']").colorbox( {
slideshow:true,
slideshowAuto:false,
maxWidth:'95%',
maxHeight:'95%',
scalePhotos:true,
onOpen: function(){$('object,iframe').css('visibility','hidden');},
onClosed: function(){$('object,iframe').css('visibility','visible');}

} ); });
Celý článek 4 komentáře

Fragmentová cache je (většinou) jediná správná možnost pro větší weby

Před pěti lety jsem psal krátký článek Jak zrychlit Váš web 10x? (konkrétní návod). Je to triviální, ale plně funkční a zejména obecně použitelný algoritmus pro cachování celých stránek. Dá se použít bez ohledu na nasazený redakční systém či logickou strukturu stránek, ale není to nejrychlejší možný postup.

Problém je, že tento systém nebude fungovat efektivně, když těch stránek jsou desítky tisíc, a každá navíc ve více variantách (třeba stejný obsah článku zobrazený jednou v celé sekci, podruhé ve skupině a potřetí v kategorii). Zde se mnohem lépe hodí fragmentová cache.

Na ten termín upozornil Zdroják.cz - podobné řešení používáme na našich webech řadu let.

Desítky tisíc stránek nemá nikdy smysl cachovat vcelku a po (třeba) 10 minutách cache komplet mazat, naopak je lepší cache napsat tak, že funguje vždy pro logické bloky na stránce (třeba „Nejčtenější články", „Akční zboží", „Související zboží" či „Poslední komentáře"😉. Takovéto statistiky mohou znamenat 10-20 SQL dotazů, nasazení cache pro daný logický celek poté pouze jeden jediný SQL dotaz.

Článků může být třeba sto tisíc, ale onen logický blok je vždy jen jeden. Udržovat fragmentovou cache je tedy výpočetně výrazně méně náročné než cachovat každou stránku celou. Onen blok se pro sto tisíc stránek generuje jen 1x, ne stotisíckrát.

Fragmentovaná cache je nicméně vždy implementačně závislá nejen na daném CMS, ale i na návrhu šablon stránky. Je potřeba prostě dané stránce rozumět a cachovat správné fragmenty po správný čas, není to univerzální řešení. Je nutné znát jak jsou bloky generovány, zda se jejich obsah liší dle sekcí, dle kategorií, či dle přihlášeného člena. Nemá tedy ani smysl zveřejňovat kód pro fragmentovou cache.

Fragmentovanou cache používáme úspěšně na všech velkých portálech - MTBS.cz, KOLO.cz a další, ale i eshopech s velkou návštěvností.

3 komentáře

Finální verze Flash 10.1 a HD video (1080p) na Youtube

Adobe se povedlo výborně optimalizovat výkon (před pár dny vydané) finální verze Flash 10.1 pluginu. Přehrávání 1080p videa na Youtube znamená jednotky % zatížení CPU, většinu práce zastane GPU akcelerace (používám Forceware 257.15 ovladače, NVIDIA GTX280 grafická karta):

Flash 10.1 a 1080p videoFlash 10.1 a 1080p video

Samotný plugin má pouhých 2.5MB. Vyloženě hloupá je ovšem distribuce Flash 10.1 pomocí Adobe Download Manager a defaultně zaškrtnutá instalace zbytečného Google Toolbaru.

Pro přímé stáhnutí si EXE instalace pluginu pro Internet Explorer můžete použít tento odkaz. Pokud používáte beta verze či release candidate, stáhněte si nejdříve Uninstaller.

2 komentáře

HTML5 podle Apple

HTML5 / CSS3 je nedokončená specifikace, která není standardem, a příštích minimálně 10 let jím nebude. Očekává se její dokončení v roce 2022 (ne, to není vtip). To nebrání Apple hájit si svoje politické a obchodní zájmy tím, že nedokončené HTML5 "prosazuje" oproti skutečným standardům - otevřenému formátu Flashe.

Důvodem je, dle mého názoru, snaha za každou cenu si udržet monopol v distribuci aplikací a 30% podíl na příjmech od všech třetích firem, bez ohledu na skutečné potřeby klientů. Totalitní způsoby Apple jsou přitom pro řadu lidí zcela nepřijatelné.

Před pár dny Apple představil demo stránku, která nás má seznámit s možnostmi HTML5. Uvedená stránka se mimochodem těžko dá označit za HTML5, a už vůbec ne za "webový standard" (ani za jeho návrh), 90% zápisů v použitém CSS se totiž odkazuje na zcela proprietární -webkit vlastnosti.

Jaké tedy jsou ty možnosti dle Apple? Jako prohlížeč jsem použil poslední verzi Apple Safari 4.0.5.

550HTML5 video nejde přehrát
Celý článek 15 komentářů

Adobe Dreamweaver CS5 - výborný nástroj pro statický obsah

Adobe v nedávno vydané CS5 verzi Dreamweaveru nabídl hodně nových funkcí. Kromě tradičního zaměření na editaci statického HTML, CSS a Javascriptu zde existuje mnohem lepší podpora pro PHP.

Statické HTML a CSS

Pokud navrhujete jednoduchou stránku, je Dreamweaver zřejmě ta nejrychlejší cesta k cíli (společně s Microsoft Expression Web 3.0). Dreamweaver generuje validní kód, zobrazuje živý náhled, a případné bugy se snadno ladí, integrovaný "inspektor" je použitelnější než Firebug pro Firefox.

Dobrá je i produktivita - když v HTML kódu linkujete externí CSS soubor a napíšete <div class="">, tak vám Dreamweaver nabídne existující definice tříd v CSS. Je to pohodlné a urychluje to práci i když nepoužíváte vizuální návrh a vše píšete poctivě ručně. Pokud si stáhnete patřičné rozšíření, můžete dokonce vytvářet HTML5 obsah.

Interní renderovací jádro je velice schopné, nemá problém s pokročilým CSS2/3 ani s poslední verzí jQuery. Výborný je Live View pohled, kdy se prováděné změny v HTML či CSS ihned zobrazují, jak budou vypadat v reálu.

Adobe Dreamweaver CS5 - editace HTML
Celý článek 2 komentáře