Archív

Archív pro ‘internet’ Kategorie

Problémy s Internationalized domain names

21.05.2008 View Comments

CZ NIC spustil doménu http://www.háčkyčárky.cz, jal jsem se to hned vyzkoušet a narazil jsem na několik problémů.

Nejprve prohlížeče. Kromě malých problémů s Firefoxem jak vidíte na obrázcích to všechny prohlížeče zvládají.

Firefox 2.0.0.14 – výchozí prohlížeč u mne

Tato chyba se stala po kliknutí na odkaz v RSS v Thunderbirdu.

image

Tak jsem se jak to napsat tam ručně. A tohle z toho FF udělal, ale aspoň to funguje.

image

Opera 9.5 beta

image

IE 7

image

Safari 3.1.1

image

S mailem to bylo horší náš SMTP server mi odeslání mailu na testmail@háčkyčárky.cz nedovolil s tím, že jde o nesprávnou adresu.

image

GMail hlásí podobné varování, co teď? email prostě asi neodešlu.

image

Tak zatím bych si doménu s háčky a čárky nepořizoval, přineslo by to více problémů než výhod, snad jedině jako alias k přesměrování na tu normální.

Categories: internet Tags:

Pár tipů pro práci s formátem iCalendar

13.05.2008 View Comments

Dělám na PHP aplikaci, která kromě RSS generuje také iCalendar pro Lighting a iCal na Mac OS X. Někomu stačí asi RFC 2445 a hravě si s tím poradí, ale pro ty ostatní pár tipů, které mi pomohli a které mě trochu mátli. Ještě může bý napomocný iCalendar Specification Excerpts. Data mám v mysql kde je datum a čas odděleně a pokud událost nemá čas (je NULL) tak je to celodenní událost. Pokud má jen čas od tak končí za nějakou stanovenou dobu třeba 90 min jako ve škole. Pokud má jen datum od tak je to jednodenní akce. Pár zásad při tvorbě iCalendar exportu

  • jednotlivé tagy jsou velkými písmeny a na samostatných řádcích
  • tagy jsou volitelné a je jich mnoho vyberte si ty které opravdu potřebujete
  • datum se dá udávat několika způsoby:
    • DTSTART;VALUE=DATE:YYYYMMDD – jen datum asi nejednoduší forma
    • DTSTART:YYYYMMDDTHHMMSS – formát s časem v lokálním formátu
    • DTSTART:YYYYMMDDTHHMMSSZ – tady pozor Z na konci udává, že máte hodnoty v UTC (pokud ne vzniká čas posun)
    • DTEND je obdobně
    • RRULE:FREQ=DAILY;UNTIL=YYYYMMDDTHHMMSS – pro opakované události
  • URL – nesmí obsahovat entity (nepodporuje Google Calendar)
  • DESCRIPTION – dlouhý popis
  • SUMMARY – nadpis
  • LOCATION – místo konání akce

Formát si zkontrolujte validátorem, to nikdy neškodí. Já potom zkouším genrovaný iCalendar v Lightingu, Windows Calendar a Google Calendar. iCal pro Mac OS X nemám snad to v něm bude fungovat také. Pro správné zobrazení češtiny v Google calendar nezapomeňte hlavičku, ostatní si poradí i bez ní, nevím proč Google ne. header("Content-Type: text/calendar; charset=utf-8"); header("Content-Disposition: attachment; filename=calendar.ics"); Základní objekt iCalendar, který popisuje „Den oslav dobytí Bastily“ jako událost konající se od 14. července 1997 17:00 (UTC) do 15. července 1997 03:59:59 (UTC)

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR

Update

  • v SQL se hodí použít SELECT DATE_FORMAT(datum,'%Y%m%d') as datum, TIME_FORMAT(cas,'%H%i%s') as cas, ...
  • jako konce řádek je dobré napsat přímo chr(13).chr(10)
  • u DESCRIPTION nezapoměňte htmlspecialchars_decode(str_replace(chr(13).chr(10),"\\n"))
Categories: internet, php Tags:

Webshot – screenshot z webu

30.04.2008 View Comments

Pro projekt jsem potřeboval zobrazit celou stránku, ale při tak dlouhé stránce to není možné, ale existuje freeware Webshot, který udělal právě co chci.

image

a dostanete tohle požadovaný screenshot obrazovky.

localhost

Docela jednoduché a účinné. Díky za takové prográmky.

Categories: freeware, internet, windows Tags:

Webcamp’08

23.04.2008 View Comments

Ve dnech 27-28. 3. 2008 se uskutečnila v Praze Dejvicích v Masarykově koleji konference věnovaná webdevelopmentu a webdesignu. Konferenci pořádali Jakub Vrána a Vilém Málek.

Jakub Vrána je odborník na programování v jazyku PHP, tuto problematiku školí v rámci vlastních školení a učí na MFF UK. Píše vynikající blog PHP triky (http://php.vrana.cz).

Vilém Málek je šéfredaktor známého webového odborného časopisu o internetu Interval (http://www.interval.cz).

27. 3. 2008 – webdevelopment

Konference začala přednáškou Štěpána Bechynského na téma PHP a IIS 7.0, Expression Web 2.0 pro PHP vývojáře. Přednáška představila FASTCGI modul (www.iis.net/php/) pro provoz PHP na IIS, který vyvinul Microsoft (MS) ve spolupráci s firmou Zend. Modul je volně ke stažení a bude součástí Windows Serveru 2008. Umožňuje také kombinaci ASP.NET a PHP na jednom serveru. MS vydal také Expression Web 2.0, který nahrazuje známý Frontpage. Ve verzi 2.0 přidali základní podporu pro PHP. Funguje zvýrazňování syntaxe a doplňování funkcí z manuálu. Doplňování syntaxe nefunguje na vlastních třídách a funkcích. Pokud neprogramujete v PHP, můžete využít Visual Web Developer Express, který je k dispozici zdarma. Dá se to využít např. pro programování v JavaScriptu – v kombinaci s IE můžete debugovat JavaScript a samozřejmě programovat v .NET jazycích.

V další přednášce Derick Rethans z Holandska nám přednášel o výkonu aplikací PHP. Jeho přednáška měla název Performance of PHP Applications. Přednáška byla velmi odborná, ukazovala, jak vývojáři PHP zlepšují výkon jednotlivých částí PHP. V současném PHP použitý parser Flex bude v nové verzi PHP 5.3 nahrazen výkonnějším re2c. Derick ukazoval použití disassembleru VLD a APC pro ladění výkonu skriptů. V PHP 5.3 je také plánován GC (garbage collector), který může v určitých typech aplikací velmi pomoci, celkově se správa paměti v PHP 5.3 zlepší, pomůže i nový nativní driver pro MySQL, ale o tom mluvil v další přednášce Pavel Šindelka.

Další vývoj PHP – verze 5.3 a 6.0. Pavel se soustředil na verzi 5.3, protože to je verze, která nás čeká v průběhu roku, kdežto 6.0 je zatím v nedohlednu. Z novinek ve verzi 5.3 zdůraznil jmenné prostory (namespaces), pozdní statickou vazbu (late state binding), zkrácený ternární operátor, magickou konstantu __DIR__ a hlavně novou knihovnu mysqlnd, která nahradí stávající libmysql. Díky nové knihovně bude nativní podpora zahrnuta přímo do PHP, bude mít vlastní vývojový cyklus a oproti dnešnímu řešení dojde k ušetření zhruba poloviny paměti. Bude také fungovat omezení paměti, které nastavíte v php.ini, což dnes pro MySQL databázi neplatí a někdy to způsobuje velké problémy. Spolu s GC to jistě přinese řadu zlepšení.

Jakub Vrána měl přednášku o Generování administračního rozhraní (www.adminer.cz). Dokumentace, kterou na webu zveřejnil, ukazuje všechny možnosti, které jeho systém umožňuje. Nám ale také ukázal něco zevnitř jeho systému. Mě zaujal hlavně skript, který používá pro porovnání SQL skriptu, ze kterého se generuje administrační rozhraní, se stávající databází. Skript potom vyhodí SQL skript obsahující příslušné ALTER příkazy.

Borek Bernard se nevěnoval PHP, ale technologiím pro webový vývoj. Mluvilo se o MS Silverlightu, Adobe Flexu ve kterém je nedávno spuštěný Adobe Photoshop Express. Dalším tématem také byly webové aplikace pro desktop. Adobe AIR, Mozilla Prism, Google Gears a Jaxer.

Jan Tichý měl zajímavou přednášku na téma Návrhové vzory. Problematika návrhových vzorů je pro objektové programování velmi důležitá, ale mnoho programátorů si myslí, že v PHP vystačí s procedurálním programováním. Přednáška obsahovala nejběžnější návrhové vzory a ukázala jejich aplikaci v použití v Zend Frameworku, kde se dá najít dost příkladů. V přednášce byla zmíněna kniha Rudolfa Pecinovského Návrhové vzory, která vyšla v nakladatelství Computer Press v roce 2007. Kniha není jen sbírka typů návrhových vzorů, ale také učebnicí moderního programování. Autor je zkušený učitel jazyka Java, ale poznatky si můžete odnést i pro programování v PHP 5.

V přednášce PHP a Silverlight pomocí Phalangeru představil Tomáš Petříček aktuální verzi Phalangeru, který umožňuje programovat Silverlight za pomoci PHP a případně ho kombinovat s .NET technologií. Více podrobností na http://php-compiler.net.

První den zakončil David Grudl přednáškou Vznik a architektura Texy. Zpracování dokumentu s ohledem na strukturu textu není vůbec jednoduché. V Texy jsou použitý dva parsery, blokový a řádkový. Celý dokument se transformuje do DOM a převede do TexyHtml.

28. 3. 2008 – webdesign

Druhý den se věnoval webdesignu, dopoledne bylo převážně zaměřené na přístupnost. Věnoval se tomu David Špinar v přenášce o Českých pravidlech přístupnosti, která 1. 3. 2008 vstoupila v platnost pro českou státní správu a samosprávu.

Pokračovala přednáška Přístupnost komerčních portálů, kterou představili Lukáš Marvan ze Seznamu a Karel Břinda z centra Tereza. Výsledky jejich spolupráce jsou vidět na stránkách Seznamu, nejen v přístupném vyhledávání a v přístupné CAPTCHe. Seznam definoval strategii pro rozvoj přístupnosti na svých projektech.

Radek Pavlíček v jejich společné přednášce vysvětlil co je důležité z hlediska přístupnosti a software JAWS. Mimořádně zajímavě působila část přednášky Michala Jelínka. On sám jako nevidomý předvedl praktické ovládání prohlížeče pomocí odečítacího programu JAWS. Přednáška poukázala na chyby, které vývojáři dělají a tím znepřístupňují stránky nevidomým.

Tomáš "Chamurappi" Hradil představil svůj český validátor, okolo kterého se strhla docela zajímavá diskuse. Tento validátor je podle mě hlavně docela dobrá pomůcka pro ty, co neumějí anglicky.

Patrick Zandl nám řekl o internetové televizi Stream. Ukazoval, jak se měnil návrh designu v průběhu vzniku projektu až do dneška. Přítomné upoutala formulace, že musí mít kolečko pro křečka aneb jak si udržet diváka co nejdéle na webu.

Martin Hassman měl přednášku o HTML5. Viděli jsme některé novinky, které už mají prohlížeče implementovány. Ať je to webkit (SQL5, storage engine, canvas), IE8 (canvas, hashchange) nebo Opera 9 (WebForms2). SQL5 používá sqlite pro lokální db na straně prohlížeče.

Categories: internet, php Tags:

StatSVN a FishEYE

10.04.2008 View Comments

Nedávno jsem si tu stěžoval, že sháním něco co dává náhled na práci se SVN, sám jsem si naprogoramoval malý jednoduchý tool, který zobrazuje aktuální working copy (wc) u mě na disku a k tomu příslušné changelogy, které se generují skriptem. Rozhodně jsem si nemyslel, že by něco takového nenapdalo nikoho před tím. Časem jsem narazil na dva produkty, které zhruba splňují co jsem od toho čekal.

První je StatSVN a druhý FishEYE. Nevýhodou FishEYE je jenom cena $1200 pro 10 uživatelů není pro organizaci moc, ale pro mě ano.

FishEYE je webová aplikace běžící pod Tomcatem napsaná v Javě. Umožňuje skvělý náhled na changelog v repository, krásně zobrazuje diffy mezi verzemi, příslušnou historii, ukazuje i smazané adresáře v předchozích revizích. Náhled na to jak se rozrůstá projekt ukazuje Line history, při nějaké stagnaci nebo prudké změně se dá lehce najít co se dělo. K dispozici máte kompletní informace na jednom místě a vlastní repository mohou být klidně na různých serverech a FishEYE si dělá vlastní index a po přidání celého většího repository to chvíli trvá než si ho zaindexuje.

image

StatSVN je opensource projekt, poskytuje podobné informace. Je také napsán v Javě, ale funguje jako řádkový interpretr, který pošlete na log exportovaný ze SVN. Funguje to trochu méně komfortně, ale výsledky jsou podobné.

Nejdříve potřebujete wc vašeho projektu ze SVN. Typický příkaz na řádce vypá takto:

svn co svn://server/repo/trunk/modulename

Samozřejmě můžete checkout udělat třeba pomocí TSVN. Potom je potřeba udělat log ve formátu XML. To bohužel TSVN pokud vím zatím neumí a na to potřebujete příkaz:

svn log -v --xml > logfile.log

Potom už můžete spustit StatSVN a pohnat ho na log.

java -jar /path/to/statsvn.jar /path/to/module/logfile.log /path/to/module

StatSVN vytvoří HTML report v aktuálním adresáři (ukázka takového reportu).

Categories: internet, scm, subversion Tags:

WebCamp’08 rozhovor s organizátory

07.04.2008 View Comments

Celkově lze konstatovat, že konference WebCamp’08 byla úspěšná. Organizátoři Jakub Vrána a Vilém Málek poskytli odpověď na pár otázek.

Kdy vznikla myšlenka na to uspořádat WebCamp a koho to vlastně napadlo?

Jakub Vrána: Já jsem měl předloni nápad uspořádat PHP konferenci, který jsem ale neuskutečnil. Proto když Vilém loni na podzim přišel s myšlenkou uspořádat konferenci o webdesignu, tak mě oslovil, jestli nechci uspořádat druhý den o webdevelopmentu.

Vilém Málek: Kdy a koho to vlastně napadlo, je těžké říci. Co já vím, už dříve se různí lidé snažili o konferenci podobného typu. Myslím, že na prvním PWP (díky, Plaváčku) jsem se setkal s Jakubem a mluvili jsme o jeho plánované PHP konferenci, která se ale neuskutečnila. Někdy loni jsme se proto sešli a nakonec jsme se domluvili, že uspořádáme dvoudenní webdevelopersko-webdesignérskou konferenci.

Proč název WebCamp?

Jakub Vrána: Napadlo to Viléma. Hledali jsme něco, kde by bylo slovo Web a k tomu něco krátkého připojeného. Nejdříve se měl použít jiný název, který už si alepřesně nepamatuji a který byl obsazený.

Vilém Málek: Hledali jsme nějaký výstižný název, který by měl spojitost s webem a webovými technologiemi a který by zároveň byl použitelný jako doména druhé úrovně, na které by běžela prezentace. Po několika pokusech se z toho vyloupnul WebCamp.

Jak jste byli spokojeni s účastí na jednotlivých dnech?

Jakub Vrána: Úroveň publika byla myslím slušná, jeho početnost naše představy nesplnila.

Vilém Málek: Byl jsem rád, že přišlo tolik lidí, které jsem „znal“ jen virtuálně, bohužel jsem neměl dost času, abych se jim věnoval. Celkem mě zamrzelo, že nedorazila řada lidí, které jsem pozval, ale chápu, že každý má vlastní časový harmonogram. Škoda, že webdesignérský den byl co do účasti slabší než webdeveloperský, myslím, že prezentovaná témata si zasloužila větší pozornost.

Témata byla různorodá, je nějaké téma které ti tam chybělo?

Jakub Vrána: Mě osobně chybělo téma testování pomocí Unit testů, ale vytipovaný přednášející bohužel nemohl.

Vilém Málek: Ano, několik původně domlouvaných přednášek se z různých důvodů nekonalo.

Trochu vázl časový harmonogram přednášek, neměli jste být na přednášející tvrdčí, aby dodržovali předepsaný čas?

Jakub Vrána: Já jsem byl se svým dnem poměrně spokojen, více prostoru jsem dal jen Derickovi a skluz myslím nebyl velký.

Vilém Málek: Pokud jsem si všimnul, Jakub stanovené časy dodržel. Já jsem pro webdesignérský den už dopředu počítal s tím, že se prostor jednotlivých přednášek bude dynamicky posunovat podle zájmu publika a dispozic přednášejících. Po zkušenostech z jiných konferencí, kterých jsem se zúčastnil jako divák, přednášející i moderátor, jsem měl dojem, že to tak bude výhodnější.

Bude další ročník? Pokud ano, doufám že dáte vědět více dopředu.

Jakub Vrána: Spolu s Vilémem se nad tím zamyslíme a včas zveřejníme termín. Asi uděláme nějaké změny (hlavní by asi bylo spojení obou dnů do jednoho a rozdělení na dva „tracky“).

Vilém Málek: WebCamp je pro mne tak trochu jako splněný klukovský sen a to je silná motivace. Ale plány na tak dlouhé časové období ovlivňuje příliš mnoho faktorů, než abych mohl říci, zda bude či ne.

Vznikne něco jako sborník s konference nebo s tím pro tento rok nepočítáte?

Jakub Vrána: Uvidíme, v jaké kvalitě bude zvukový záznam, a pokud s tím budou souhlasit přednášející, tak ho zveřejníme spolu s prezentacemi.

Vilém Málek: Rádi bychom dali dohromady prezentace a zvukový záznam, který jsme pořídili, a zpřístupnili tyto materiály registrovaným účastníkům konference.

Kolik bylo vlastně účastníků, přednášející a pořadatelů?

Jakub Vrána: Přesná čísla bude vědět Vilém, seznam přednášejících je uveden v programu.

Vilém Málek: Webdeveloperského dne se účastnilo kolem šedesáti lidí, webdesignérského asi o třetinu méně. Je celkem těžké to říci přesně, protože někteří z nich přišli jen na jedinou konkrétní přednášku nebo třeba jen na dopolední část programu. Přednášejících bylo osmnáct, dva pořadatelé a čtyři hostesky.

V diskuzích jsem četl, že to bylo pro některé drahé vložné, pokrylo to vůbec náklady?

Jakub Vrána: Vyúčtování ještě nemáme hotové, ale náklady se nejspíš nepokryly.

Vilém Málek: Úplné vyúčtování bude k dispozici až za měsíc, ale můžu už říci, že konferenční poplatky nepokryly přímé náklady. Nepřímé jsem ani nepočítal ;-)

Ladislav Prskavec: Nakonec chci za účastníky poděkovat, protože takovéto akce jsou skvělé hlavně na setkání s lidmi, které obvykle známe jen z internetu.

Jakub Vrána: My taky děkujeme, že jsi přišel a že jsi pořídil a zveřejnil fotky.

Categories: internet, php Tags:

WordPress 2.5 je venku

01.04.2008 View Comments

Venku je nový WordPress 2.5 a mě bude čekat upgrade, doufám že to bude k lepšímu. Vývojáři slibují řadu novinek.

Pro uživatele

  • Rychlejší a čistější dashboard
  • Wigety pro dashboard
  • Nahrávání více souborů najednou s ukazatelem nahrávání
  • Vyplešené hledání v příspěvcích a stránkách
  • Správu tagů
  • Měřič síly hesla
  • Zabránění současné editaci
  • Aktualizace pluginů
  • Nový TinyMCE 3.0
  • Zabudované galerie

Pro vývojáře

  • Zabezpečené cookie
  • Vylepšené ukládání hesel pomocí phpass
  • Inline dokumentace
  • Prepared statements
  • Media tlačítka pro např. přidání mapy z Google maps
  • ShortCode API pro galerii
  • Optimalizace databáze
  • Zjednodušená taxanomie a tvorba jednoduchých URL adres

Myslím, že většina změn je k lepšímu a doufám jen že to do budoucna neuděla z WP moloch jako jiné systémy. Už teď mi přijde např. ta galerie trochu zbytečná a spiše bych třeba uvítal lepší napojení na API Flickru, ale apod. Uvidíme až to vyzkouším.

Categories: internet, php, wordpress Tags:

WebCamp’08 – stručně

28.03.2008 View Comments

Včera 27.3. jsem se byl podívat na první PHP konferenci Webcamp’08 kterou pořádal Jakub Vrána a Vilém Málek. Podrobnosti o jednotlivých přednáškách a celkové shrnutí akce přinesu v dalším příspěvku po ukončení konference. Některé příspěvky byli velmi zajímavé i poučné.

UPDATE:

Druhý den 28.3. probíhal ve znamení webdesignu, dopoledne se věnovalo hlavně přístupnosti. Nejzajímavější pro mě bylo vidět naživo jak si s procházením stránky poradí nevidomí co používal JAWS. Jako vidící člověk jsem neměl tu představu jak to v realu vypadá dokud jsem to neviděl. Myslím, že by všichni vývojáři a hlavně kodéři stránek měli myslet na přístupnost a brát to jako základ své práce. Odpoledne odlehčil Patrick Zandl svým zajímavým povídáním od Streamu a nejvíce mě zaujala přednáška na konec o HTML5 a to kam web jde v následujících letech.

Fotografie z WebCampu na Flickeru.

Categories: internet, php Tags:

Jak přidat funkce obvyklé v Opera Mail do Thunderbirda

24.11.2007 View Comments

Jsem zvyklý na emailový klient, který má Opera v sobě. Má pár pěkných vlastností, hlavně rychlost práce s ním je úžasná a vyhledání čehokoliv je věc okamžiku. Ale jedna věc není ve verzi 9.24 dotažená a to je práce s IMAPem (v 9.5 je nový IMAP engine, snad bude lepší). Když dáte vymazat SPAM tak se nesmaže na serveru a v tom je potíž, vás v klientu sice SPAM neobtěžuje, ale když se musíte přihlásit přes web, SPAM tam je. Proto jsem nastartoval Thunderbird, který to umí lépe a dělá správně s IMAPem jak má. Musím ho čas od času stejně používat protože Opera Mail neumí šifrovat maily.

Já používám tyto extensions:

Categories: internet Tags:

Flickr vs Picasa

12.11.2007 View Comments

Na fotografie používám oba systémy, ale stál jsem před úkolem kam si dát fotografie v plné kvalitě jako zálohu fotek co mám na diskách. U picasa je cena 20$/rok za 10GB a oproti tomu na Flickru je za poplatek 25$/rok k dispozici neomezená velikost, tak jsem přešel masivně na Flickr, jen jsem si sehnal plugin do Picasa na upload fotek z Picasy do Flickru. Moje produkce fotek není veliká asi tak 4-8GB ročně ale stejně politika Googlu mi nevyhovuje a nerad bych migroval někam jinam.

Categories: fotky, internet Tags:

Switch to our mobile site