Google překladač jako rychlý proxy server dostupný zdarma

GoogleO možném využití služeb z portfolia vyhledávacího giganta Google jsem již psal zde. Podařilo se mi použít bývalé Google Dokumenty jako prostředníka k převodu souboru PDF do formátu PDB pro čtečku elektronických knih. Na podobné téma bude i tento článek. Konkrétně se zaměříme na užitečnou funkci Google Překladač. S její pomocí sice nezískáte finální použitelný text nevyžadující rozsáhlé úpravy, pokud však danému jazyku vůbec nerozumíte, dokážete většinou alespoň přibližně pochopit, o čem daná pasáž pojednává. Překladač však dokáže zpracovat nejen vložené věty, ale i celou webovou stránku. Podobně se například chová i Google Chrome ze stejné stáje. Před provedením strojového překladu však musí nejprve servery Google danou stránku načíst a poté předat uživateli. A právě toto chování lze vzdáleně přirovnat k proxy serveru. Na internetu takových webových projektů najdete skutečně mnoho, jen špetka z nich však pracuje stabilně, rychle a zdarma.

Je libo IP adresu z USA?

Po načtení stránky translate.google.com zadejte do levého boxu URL cílové stránky, jež si přejete zobrazit. Já použiji www.mojeip.cz, protože mě zajímá, jakou IP adresu Google použije. Zvolím rovněž rozumný překlad do vybraného jazyka – například z češtiny do angličtiny a kliknu na jediné výrazné tlačítko. Web si pochopitelně nepřejeme používat po strojové úpravě, a proto při nejbližší příležitosti v sekci Zobrazení přepínám na původní text. A tím je celé dílo dovršeno. Portál mojeip.cz v mém případě zobrazuje 74.125.189.20. Určitě však záleží na konkrétním daném webu, který se rozhodneme popsaným způsobem načíst. Původní IP adresu lze totiž stále ještě zjistit. Vyzkoušejte si zadat www.cmyip.com. Tato stránka se již tak snadno obelhat nenechá.

Whois

Nyní si zjistíme podrobnosti o IP použité serverem společnosti Google. K tomuto účelu použiji whois, tedy databázi udržující podrobnosti o majitelích domén a IP adres. Uživatelé Linuxu mohou v příkazové řádce zadat whois 74.125.189.20. Webovou verzi bez captcha kódu poté naleznete na ranky.cz/whois/74.125.189.20. Zobrazené informace poté nenechají nikoho na pochybách, že IP skutečně patří pod Google.

Jak jsem převáděl dokument v PDF do PDB

PDFNedávno jsem potřeboval provést docela jednoduchou činnost. Zkonvertovat větší množství textu ve formátu PDF do PDB, což mi umožní jeho přečtení na již starším PDA, kde mám nainstalovaný program Mobipocket reader suplující čtečku ebooků. Možná si podobně jako já v počátku myslíte, že v dnešní době nemůže jít o nic složitého. Rozhodl jsem se pro nejrychlejší možnou cestu a začal s vyhledáváním online řešení. Těch jsem nakonec nalezl několik, vždy však postrádala možnost nastavit kódování. Když už se nakonec převod povedl (i s tím měly některé portály problémy), získal jsem PDB soubor, v němž se mi nepodařilo korektně zobrazit diakritiku. Nezbývalo proto než přistoupit k hrubší síle a nainstalovat aplikaci, jenž mé starosti vyřeší. Bezplatné programy se však před mým zrakem úspěšně skrývaly a já s pomocí vyhledávače narážel jen na různé omezené trial verze. Což o to, omezená doba používání by v mém případě nevadila, když jsem však zjistil, že bez zakoupení se provede konverze jen několika prvních stránek, začal jsem znovu přemýšlet. V tom mě napadlo svěřit celý úkol službě Google Drive. Ta se totiž chlubí integrovaným OCR, a proto jsem doufal, že zvládne s formátem PDF vykonat přesně to, co si přeji.

Google Drive = bezplatná konverze PDF souboru?

Před prvním nahráním stačilo potvrdit, že si skutečně přeji některé dokumenty převést do použitelnější (editovatelnější) podoby a určit jazyk, v němž jsou napsány. Poté již bylo za pár vteřin hotovo. Jakmile se daná položka objevila v cloudu, stačilo zvolit její opětovné stažení. Dialog vám přitom dal na výběr z řady formátů, z nichž já vybral TXT. Jak snadné, rychlé a hlavně spolehlivé, protože se neobjevil žádný zádrhel v podobě nevyhovujícího kódování.

Stále jsem však ještě nevlastnil vysněný ebook v PDB. S převodem do tohoto formátu však již mám zkušenosti, proto jsem ihned věděl, že stačí využít Simple Palm Doc Konvertor a do minuty bude hotovo.

Počet aktuálně přihlášených uživatelů v PHP

PHPNedávno jsem přemýšlel, jak vyřešit zobrazování počtu osob, které se na určitou stránku přihlásily do členské sekce. Mé první myšlenky směřovaly k ukládání záznamu do databáze. Pokud bych však vytvořil speciální sloupec například typu ENUM, kde bych ukládal dva stavy (PRIHLASEN, NEPRIHLASEN), dostal bych se záhy do problémů. Údaje bych totiž mohl měnit jen na základě provedení vhodné činnosti ze strany uživatele. Lidé však pochopitelně nemusí vždy postupovat tak, jak zamýšlel programátor. Mluvím konkrétně o odhlášení ze systému. Pokud by někdo jednoduše stránku zavřel, nelze změnit stav na NEPRIHLASEN a počítadlo aktivních uživatelů postupně přestane zobrazovat reálná data. Na následujících řádcích vám proto představím mnohem lepší řešení, které se nastíněnou situací počítá.

Úprava databáze

Nejprve bude potřeba pozměnit lehce strukturu tabulky, která uchovává informace o uživatelích. Přidejte sloupec LastTimeSeen datového typu DATETIME.

Poslední krok – PHP

Nyní si napíšeme několik řádků kódu, které obstarají aktualizaci údaje v databázi. Uložíme si přitom aktuální datum i čas.

$sql = "UPDATE uzivatele SET LastTimeSeen = NOW() WHERE id = ".$_SESSION["id"];

mysql_query($sql);

S pomocí NOW() máme zajištěno aktuální časové razítko. Obměnu záznamu pochopitelně provedeme jen v případě konkrétního id.

Nyní již disponujeme všemi nezbytnostmi ke spočítání přihlášených uživatelů. Postačí nám přitom jediný dotaz, jehož výsledek jen vypíšeme:

SELECT COUNT(*) FROM uzivatele WHERE LastTimeSeen > DATE_SUB(NOW(), INTERVAL 5 MINUTE)

Pojďme se blíže zaměřit na klauzuli WHERE. Hledáme jen ty řádky, v nichž sloupec LastTimeSeen je větší než čas před pěti minutami. Právě DATE_SUB slouží k odečtení vybraného intervalu. V našem případě provádíme rozdíl aktuálního časového razítka NOW() od pěti minut (INTERVAL 5 MINUTE).

Názorný příklad bude patrně jasnější. V 14:00 nám DATE_SUB(NOW(), INTERVAL 5 MINUTE) vrátí např. 2012-06-27 13:55:24.

Agregační funkce COUNT poté spočítá vyhovující záznamy. Právě toto číslo představuje momentálně aktivní uživatele.