Označeno tagem: Programování

Počítadlo přístupů aneb Host Hit Counter

Host Hit Counter (HHC) je trošičku krkolomný název pro multi-uživatelské počítadlo přístupů nebo chcete-li návštěvníků webu. Do psaní tohoto počítadla jsme se pustil vlastně ze zoufalství, protože mi žádné jiné nevyhovovalo. Při psaní tohoto počítadla jsem se snažil držet hesla: V jednoduchosti je krása. Snad to jde vidět na první pohled.

Výsledkem je počítadlo přístupů, které dle mého názoru nikoho neomezuje. Je dobře rozšířitelné o další funkce a hlavně je velmi jednoduché k použití

HHC počítadlo:
  • nevyžaduje žádnou registraci – přístupy se počítají na základě zvoleného klíče
  • umí počítat uživatele online / celkové návštěvy / návštěvy za den
  • vložíte do stránek několika způsoby (AJAX, HRML, PHP)
  • generuje na výstupu text, xml nebo gif
  • dokáže komunikovat s několika databázemi (Díky Dibi)
Jednoduchý požadavek na započtení přístupu můžete vytvořit např. takto:
<img style="display:none;" src="http://www.example.cz/hit/nabito.net/gif" alt="" />

HHC počítadlo můžete stahovat ze stránek Google Code nebo se podívejte na oficiální stránky.

And now in English :-)

This is simple host PHP hitcounter. Basically is webmaster tool for calculating sites visitors. The main output is XML/text or empty GIF. Basic functionalitys are: count hits by day / counts online users / count total visitors. This counter is possible very simple add to existing website – by inserting empty GIF image on specific page. Key features are low space usage / multiple databases access (by Dibi PHP).

Visit Google Code Page: http://code.google.com/…tcounterphp/

14 dní zpět (12.11. v 18:00)

,

Komentuj

Autoload v PHP

Autoload je velmi užitečná funkce PHP 5, sloužící k automatickému načtení tříd (souborů). Autoload je vlastně takové vylepšení require_once (include). Funkce __autoload se zavolá v případě, že požadujete třídu, která prozatím neexistuje.

Následující kód stačí vložit do core.php. Pokud máte rádi pořádek a své class umisťujete dle jejich významu do různých adresářů, je nutné nejprve nastavit include path.

// DS - oddelovac pro adresare
define ('DS', DIRECTORY_SEPARATOR);
// pak najdeme absolutni cestu
define ('ABSPATH', realpath(dirname(__FILE__)).DS);

// nastavime potrebne cesty k vasim class
set_include_path
(
ABSPATH.'libs'.DS.'core'.DS.PATH_SEPARATOR. // libs/core/
ABSPATH.'libs'.DS.'helper'.DS.PATH_SEPARATOR. // libs/helper/
get_include_path()
);

Většinou je dobrým zvykem dodržovat nějakou strukturu pojmenování tříd. V mém případě jsou třídy pojmenované class.nazev.php. Funkce __autoload bude vypadat následovně:

// automaticke nahrani trid umistenych v core nebo helper
function __autoload($class_name)
{
if (!class_exists($class_name, false) ||
!interface_exists($class_name, false))
require_once ('class.'.$class_name.'.php');
}

Tento kód si uložte např. do aload.php, pak už jen stačí napsat require_once(‚a­load.php‘); kdekoliv, kde budete potřebovat pracovat se svými class.

Bleskově na AJAX přes Google

Populárních javascriptových AJAX knihoven (frameworks) dnes existuje celá řada. Většina z nich narostla za dobu své existence ke stovkám kilobajt.

Velikost knihoven má spolu s odezvou serveru fatální vliv na rychlost načítání každé stránky, která by je ráda používala. Doba prvního načtení tak může běžně vystoupat až k jednotkám sekund.

Další nemilou (i milou) vlastností těchto AJAX frameworks, je fakt, že jsou v neustálém a zuřivém vývoji. Což má za následek nové a nové verze knihoven. Pokud chcete být v obraze, nezbude než neustále stahovat nové a nové verze. Navíc je to často taky otázka bezpečnosti vašich stránek.

No a na závěr mé obžaloby AJAX frameworks, bych se rád zmínil o replikaci dat. Každý server (stránky) to většinou řeší tak, že si prostě vytvoří svoji vlastní kopii příslušných knihoven. Vývojáři tímto krokem nutí uživatele neustále stahovat (prakticky) tatáž data dokola.

Ale pak se pár chytrých hlav dalo dohromady a řeklo: Dost! A není náhodou, že těch pár chytrých hlav se sešlo ve společnosti Google :-) a vytvořilo AJAX Libraries API.

Výhody jsou zřejmé:
  • Primitivní kód pro vložení – jeden řádek
  • Při načítání knihoven využíváte infrastruktury Google, takže odezva je doslova perfektní.
  • Aktualizaci provedete tak, že přepíšete číslo verze příslušné knihovny.
  • Knihovny jsou před přenosem komprimovány metodou gzip.
  • Skript se načítá z jediné URL a do cache se ukládá jednou pro všechny projekty, využívající AJAX Libraries API

Příklad vložení Prototype verze 1.6 a rozšíření Scrip.aculo.us 1.8.

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
google.load("prototype", "1.6.0.3");
google.load("scriptaculous", "1.8.1");
//]]>
</script>

Rozhraní dnes dokáže vložit knihovny: Prototype, Scrip.aculo.us, Dojo, jQuery a Mootools. Časem možná přibudou některé další.

dva měsíce zpět 14.10. v 18:11

, ,

Komentuj

Online WYSIWYG editory

Při svém ranním šálku čaje Maroccan Mint od Dilmahu jsem se rozhodl napsat malý přehled WYSIWYG editorů pro HTML.

TinyMCE Prvním, zřejmě nejznámějším, editorem je TinyMCE. Tento editor používá celá řada systémů, namátkově jmenuji alespoň Wordpress, ze kterého právě píšu. Tento editor je zdarma jako opensource dostupný pod LGPL.

Editor TinyMCE je postaven na Javascriptu. Jeho implementace je velmi jednoduchá. Stačí vložit pár skriptů a Vaše TEXTAREA se promění k nepoznání.

Nespornou nevýhodou je velikost editoru. Základní verze má cca 2 MB, což skutečně není málo. Na druhou stranu můžete použít Gzip kódů a snížit tak přenášená data o 75 procent. K tomu ale potřebujete nějaký skriptovací jazyk na straně serveru.

FCKeditor Druhým editorem je FCKeditor. Tento editor je postaven na stejných technologiích jako předešlý kousek. Grafika editoru výrazně připomíná Word 97 (je vlastně stejná). Editor je možné získat zdarma pod licencí LGPL. Navíc můžete editor mít také pod komerční licencí.

Nevýhodou je opět velikost editoru, ten je ještě o něco větší než TinyMCE. Integrace editoru rovněž bez problémů.

WYMeditor Třetí zástupce, WYMEditor, si získal mé srdce svou velikostí, která se drží v základu pod 0.5 MB. Takže odpadá otravné a zdlouhavé nahrávání na FTP.

Tento editor se navíc snaží striktně dodržovat standardy W3C. Což jenom chválím! Smutné je, že nefunguje v Firefox 3. Snad se do budoucna dočkáme nějaké opravy (Google Chrome to zvládá).

markItUp Poslední komentovaný editor markItUp trochu vybočuje z řady. Není totiž WYSIWYG. Spíš je to takový užitečný pomocník, který Vám usnadní zápis HTML, Wiki Syntax nebo BBCode. Navíc si editor můžete rozšířit i o další syntax (např. Texy!). Tento editor je rovněž možné získat zdarma pod MIT/GPL.

No a na závěr ještě několik dalších odkazů:

Znáte GeoJSON?

Dnes jsem se rozhodl představit GeoJSON. Jak už název napovídá je tento formát spjat s geoinformatickou oblastí. GeoJSON je celkem nový, jednoduchý datový formát, který dokáže přenášet informace o geografických objektech jako jsou:
  • body
  • linie
  • polygony a multipoligony
  • kolekce (nebo též skupiny prvků)
Základem GeoJSON je klasický JavaScript Object Notation (JSON) – formát pro výměnu dat. JSON je dnes podporován nejen v Javascriptu, ale také v celé řadě dalších programovacích jazyků. Což z něj dělá výborný spojovací článek mezi platformami.

V současnosti je GeoJSON používán zhruba ve 20 projektech. Mezi nejzvučnější jména patří zřejmě OpenLayers a FireEagle o němž jsem nedávno psal. Formát je publikován pod CC licencí, takže jej můžete celkem svobodně používat. Co Vás možná potěší ještě více, že specifikace verze 1.0 má jen několik stránek.

WinMerge pro porovnání zdrojáků

Program WinMerge je dalším užitečným nástrojem, který by neměl chybět v dílně žádného programátora. Díky tomuto programu už nebudete muset ztrácet drahocenné hodiny porovnáváním obsahů dvou souborů. WinMerge to udělá za Vás a rozdíly pěkně barevně zvýrazní.

Oba načtené soubory můžete nejen porovnávat, ale samozřejmě také editovat. Program si poradí s celou řadou formátů a kódování mimo jiné i s unicodem. WinMerge se také dokáže integrovat do prostředí Windows – nabídka pod pravým tlačítkem myši – takže jej nemusíte nikde hledat. Stáhněte a vyzkoušejte, uvidíte že se bude líbit.

tento rok 19.8. v 13:49

,

2 kom.

Užitečné nástroje pro MySQL

Dnes jsem se rozhodl představit několik užitečných nástrojů pro MySQL, které používám pro práci s touto DB.

Prvním a zároveň nejznámějším nástrojem je phpMyAdmin. PhpMyAdmin je aplikace napsaná v jazyce PHP, která umožnuje kompletní správu databáze.

Druhou aplikací je dbDesigner, který dokáže vytvářet ER diagramy. DbDesigner umí např.:
  • vizuálně konstruovat a následně spouštět SQL dotazy
  • získat schéma již existující databáze
  • generovat potřebný SQL, pro vytvořen všech vytvořených tabulek
  • tisknout schémata ve velmi přívětivé podobě
  • exportovat dokumentaci do HTML
Posledním nástrojem je MySQL GUI Tools, který je svoji funkčností velmi podobný nástroji phpMyAdmin. Prostřednictvím MySQL GUI Tools můžete např.:
  • exportovat obsah databáze
  • vytvořit úlohu pro pravidelnou zálohu databáze(í)
  • spouštět SQL dotazy
  • monitorovat zatížení služby
Stránka 1 z 41234»
Vlastní vyhledávání

Podívejte se na

Vyber si téma

Další informace

hit counter