Webová služba GeoNames je služba, která dokáže přeloži místa podle názvů do zeměpisných souřadnic. Je možné prohledávat celý svět, nebo jednotlivé státy. Myslel jsem, že Česká Republika bude opět černou botou vyhozenou někde na smetišti, ale naštěstí tomu tak není. Služba nalezla i skutečně malé vesničky. Na Všem doporučuji podívat se na popis přístupu ke službě včetně příkladů.
Štítek Programování ×
Android Apache Ant Chrome CSS Data Databáze Desocializace Download ESRI Facebook Flash GIS Google Google Maps GPS Hardware HTML Internet iOS iPhone Jak na to Javascript jQuery JS mac mapa Maps Mapy Mashup Mobile MySQL Nezařazeno PHP Programování Silverlight Software Studentská tvorba Test Video Všechno možné Webdesign Weblbinky Windows Wordpress Zajímavosti
Dvě cesty ke zrychlení PHP skriptů
Pokoušeli jste se někdy v PHP spustit nějaký časově náročný skript? Třebas stáhnout 90 RSS zdrojů a něco s nimi dělat? Většinou to dopadně pěknou hláškou Maximum execution time of 60 seconds exceeded. (viz. index2.php).
Jak z toho ven? Během svého bádání jsem našel dvě cesty, ta první je řešení převážně u klienta (a je to vlastně takový malý podvod v rychlosti) a ta druhá je řešení na straně serveru.
Takže něco o prvním řešení: (viz. index.php)
Udělal jsem to tak, že jsem si vytvořil v javascriptu pole, do nějž jsem si uložil odkazy na RSS zdroje. Pak jsem zobrazil stránku a pomoci AJAXU jsem se postupně dotazoval na jednotlivé zdroje. Dotazy zpracovávalo jednoduché PHP a výsledky se zobrazují Javascriptem.
Pěkné na tomto řešení je, že se pořád něco děje, alespoň v prohlížeči. Tímto řešením nějaký ten čas naženete, ale v podstatě to taky není žádná sláva. Další nevýhoda je, že zdrojový kód obsahuje pouze javascript, takže zapomeňte na to, že si něco uložíte.
Něco o druhém řešení: (viz. index1.php)
Druhé řešení je zabudováno v PHP5 a sice knihovna CURL. Bohužel tahle knihovna se nějak zvláštně chová pod Windows, četl jsem nějaké řešení, ale moc se jim nechtělo fungovat. Rychlostně to je velmi pěkné, těch 90 zdrojů to zvládne za 7-14 sekund !!! Což je docela síla proti 280 sekundám klasického skriptu (viz index2.php).
Takže na závěr zdrojové kódy time_warp. Jo a abych nezapoměl, pokud někoho napadá lepší řešení budu rád, když mi dá vědět
.
iCalendar parser v PHP
Napsal jsem v PHP překladač standardu iCal. Tento standard slouží pro sdílení kalendářových dat mezi různými aplikacemi.
Jak to funguje? Události ve Vašem kalendáři jsou ukládána jako textový soubor s definovaným způsobem zápisu hodnot (definice je zde). Tento soubor je možné automatizovaně odesílat pomocí FTP na internet. Tam jej může číst můj parser.
Snažil jsem se jej napsat jednoduše a srozumitelně. Podporován by měl být standard verze 2. Mysím si, že by neměl být problém ani s verzí 3.
Výstupem mého parseru jest klasické pole. Standard iCal podporuje například aplikace Sunbird od Mozilly.
Přesunuto na GitHub: http://github.com/OzzyCzech/icalparser
Simple AJAX
Hladal jsem co nejjednodušší způsob jak vyřešit na stránkách AJAX (Co je to AJAX ?).
Podařilo se mi najít Simple AJAX Code-Kit (SACK). Třída SACK napsaná v Javascriptu umožní používat AJAX na stránce tak jednoduše jak to jen jde. Nakonec podívejte se sami jak jednoduše to jde :
function doit()
{
var form = document.getElementById('form');
ajax.setVar("myTextBox", form.mytext.value);
ajax.requestFile = "sackdemo.php";
ajax.method = form.method.value;
ajax.element = 'replaceme';
ajax.onLoading = whenLoading;
ajax.onLoaded = whenLoaded;
ajax.onInteractive = whenInteractive;
ajax.onCompletion = whenCompleted; ajax.runAJAX();
}
Výpočet polohy GPS satelitu
Tak jsem po docela dlouhé době dovedl do finále výpočet polohy GPS satelitu na základě údajů v navigační zprávě RINEX (podívejte se na mapku).Funkční verzi v PHP dávám ke stažení zde, na první pohled to vypadá že už to počítá to co to počítat má.