25 Dec 2011

NuSOAP v PHP a SOAP v C# aplikaci

Tak se stalo, že po půl roce zase něco napíšu a opět to bude něco spíše pro vlastní zapamatování, ale snad z toho někdy bude těžit i někdo jiný.

Pracuji na jednom projektu sestávajícího z webu v PHP napojeného na MySQL databázi a klientské aplikace v C# (aplikaci by bylo možné udělat i online, ale protože se v PHP vyznám tak z poloviny dobře jako v C# (a ASP.NET/Silverlight nepřipadá tady v úvahu), tak jsem se rozhodl polovinu ušetřeného času raději věnovat řešení problémům s propojením MySQL se C# přes SOAP:)) )

A že těch problémů bylo (a asi ještě bude). Pro generování WSDL souboru jsem se rozhodl použít PHP knihovnu NuSOAP, což proběhlo ještě relativně v pohodě a dokonce to fungovalo. (Maličké how-to např. zde: http://www.scottnichol.com/nusoapprogwsdl.htm, další pak na Googlu).

Trocha legrace začala při pokusech o vytvoření reference na službu ve Visual Studiu 2010, díky této stránce jsem se dozvěděl, že to nejde přes "Service reference", ale musí se do projektu přidat zastaralá "Web reference".

V této fázi se mi dokonce podařilo vytáhnout ze C# pár dat z databáze přes mou službu, jakou jsem měl radost! O půl hodiny později se bohužel někde něco pokazilo a už mi nešlo vůbec nic (chyby typu "špatně formátované XML", nebo že je poškozená reference).

Po několika hodinách hledání, upravování a vyzkoušení několika dalších postupů (vyzkoušel jsem např. vestavěnou podporu SOAP v PHP5 a samostatný .wsdl soubor a pár dalších) jsem omylem kde hluboko v internetu našel sérii článků, která mě zachránila, díky!! (autor používá způsob, se kterým jsem do toho šel úplně nejdřív) - http://www.hirdweb.com/tag/nusoap/

Poté stačilo jen vyřešit problémy s kódováním (buďto se špatně zobrazovaly znaky v desktop aplikaci nebo se špatně uložily do databáze):

  • Na konci kódu SOAP serveru zavolat encode na odesílaná data: 

$server->service(utf8_encode($HTTP_RAW_POST_DATA));

  • Na řádku 5475 souboru nusoap.php bylo napevno nastavené kódování, asi to tvůrcům uniklo, takže jsem ho musel přepsat na UTF-8

function serialize($debug = 0)
 {
 $xml = '<?xml version="1.0" encoding="UTF-8"?>';
 

To je asi vše. Mám v plánu napsat rozsáhlejší, detailnější článek až vyřeším všechny problémy.

 

 

20 Mar 2011

UPDATE: Dělal jsem IELTS a mám 7.5

Jednoho dne jsem se rozhodl, že si zkusím udělat IELTS (akademickou verzi), což je zkratka pro International English Language Testing System, a 19. března 2011 jsem jel do Prahy se předvést.

IELTS má čtyři části - listening, reading, writing a speaking (v tomhle pořadí). Za každou z částí dostanete body od 1 do 9 (9 je nejlepší), z nichž se pak průměrem získá výsledná známka, přičemž platí, že 7.5 až 9 je úroveň C2 a třeba 6.5 je někde mezi B2 a C1.

Listening byl vyloženě jednoduchý, i poslechy co nám pouští ve škole se mi zdají těžší. Poslechy byly celkem tři - o týpkovi, který dohaduje exkurzi do akvária, o veverkách obecných a o afrických kmenech.

Ve čtení byly tři relativně dlouhé články o formaci planet v mezihvězdném prostoru, o elektronických knihách a dinosaurech, taky nic těžkého.

Writing už byl zajímavější - první úloha byla popsat tabulku, ve které byly počty kin a počet návštěvníků v Japonsku, Austrálii a Azerbajdžánu v letech 1995 a 1999, úkolem bylo napsat alespoň 150 slov a informace porovnat. Druhou úlohou byla klasická agree/disagree esej o minimálně 250 slovech na téma "People are becoming more dependant on each other". Doufám, že jsem v té druhé nebyl chvílemi moc off-topic, jinak by to ale mohlo dopadnout dobře...

A speaking, no. Examiner byl super, nejdřív se ptal na taková ta obecná témata kdo jsem, co rád dělám, pak jsme řešili čísla a jak dobře se mi pamatují a pak přišla část, kterou jsem trochu pokazil:) Zeptal se mě na ideální bydlení a měl jsem minutu, abych si připravil minutu až dvě dlouhý proslov na dané téma. Ono se to nezdá, ale není to tak jednoduché, prostě jsem ze sebe vychrlil všechny informace během 40 sekund a pak zásek. Ze speakingu budu mít určitě nejmíň.

Uvidíme 1. dubna, to budou dostupné výsledky. Rád bych získal v průměru 7.0 nebo 7.5 :)

UPDATE: Mám výsledky! Z poslechu mám 8.5, ze čtení 8.0 a z mluvení a psaní 6.5, v průměru tedy 7.5, maximální spokojenost :)

20 Jan 2011

Pouzdro na Kindle za 170,- z DealExtreme

Před měsícem jsem si z DealExtreme objednal koženkové pouzdro na Kindle 3 za 9,3 USD, v přepočtu cca 170 Kč. Je super, vypadá jako kvalitně zpracované (čti: zatím drží:)), určitě ochrání Kindle lépe než moje původní neoprenové pouzdro a co je nejdůležitější, Kindle se s ním díky tloušťce drží mnohem lépe. Na diskuzi k produktu na DX se objevil i názor, že je toto pouzdro lepší než originální, zejména kvůli způsobu uchycení přístroje uvnitř pouzdra.

18 Jan 2011

Velký výprodej knih - velké slevy - beletrie/IT | CZ/EN

Za ta léta se mi doma nashromáždilo množství knih, z nichž bych se některých rád zbavil, zabírají mi doma místo (a po nákupu Kindle je jich takových ještě víc) a jsem ochotný je prodat s velkou slevou. Jedná se o českou i anglickou beletrii a IT literaturu.

Udělal jsem si pro tento účel i skromný web, pokud máte zájem, mrkněte se - http://books.chrasty.cz/ (sem tam přihodím i nějakou tu další knížku)

18 Jan 2011

Kindle Sender 1.3 - Convert Word documents and send them to Kindle, automatically!

In my previous post (Czech only) I showed a way to manually optimize a Word document and export it to PDF so it would fit your Kindle 3 properly. After a few days of coding and testing I am ready to release a Word 2007/2010 add-in, which does the adjustments automatically and just by clicking a few buttons sends the document to the entered Kindle e-mail address. Yup, simple as that!

Screen

The add-in sets width to 9 cm and height to 12 cm, adjusts any overlapping images and tables, changes font size and font type in the whole document to values set up in the settings and a few more tweaks. After the file is sent, the add-in creates a back-up in the Documents\Kindle Sent Files folder. New version will inform you of new updates and allows you to export the customized PDF only, without having to enter your account credentials.

This add-in is meant for people with needs similar to mine, which means reading technical documents on the small Kindle screen. And I can tell you it does its work perfectly, just look at the screenshot below.

Sender

Finally, I would like to thank Tomáš Kápl for help with testing of this little piece of software.

DOWNLOAD

Now for the most interesting part - HERE's the link!

For those interested about changes made between versions, here's the changelog.

 

INSTALLATION ERROR?

If you encounter an error while installation of this add-in (setup.exe), try installing the following little app first: http://go.microsoft.com/fwlink/?LinkId=158917

The add-in needs certain files for its functionality and those files are simply missing on some configurations with Office 2007.

 

And by the way, I would really appreciate if you included a link to this blogpost when you share this add-in with the rest of the world, cheers!

18 Jan 2011

Kindle Sender 1.3 - Zkonvertujte a pošlete svoje dokumenty z Wordu do Kindlu, automaticky!

For English version of this article click here.

Ve svém předchozím postu jsem ukázal způsob, jak ručně naformátovat libovolný wordový dokument a vyexportovat jej do PDF tak, aby skvěle seděl na relativně malý displej Kindle 3. Nyní přicházím s vylepšením - s add-inem pro Word 2007 a Word 2010, který naformátování plně zautomatizuje a navíc stiskem dalšího tlačítka soubor vyexportuje a odešle na zvolenou Kindle adresu.

Screen
Add-in automaticky nastaví rozměry stránky na 9x12 cm, patřičně upraví všechny přesahující obrázky a tabulky, změní font a velikost písma na hodnoty vybrané v nastavení add-inu a další potřebné úpravy. Při poslání také ono PDF zazálohuje do dokumentů do složky Kindle Sent Files. Nová verze add-inu umožňuje vyexportovat PDF i bez nutnosti odeslání, takže není nutné zadávat údaje k účtu a dokument si do Kindlu můžete přenést sami. Od verze 1.2 vás navíc add-in upozorní na novou verzi.

Pro lepší představu, jak vypadá naformátovaný dokument stiskem jediného tlačítka se podívejte na screenshot níže.

Sender

Děkuji Tomášovi Káplovi za pomoc při testování add-inu a za několik nápadů na zlepšení.

STAŽENÍ
To nejzajímavější - odkaz ke stažení - ZDE

Kdo by měl zájem o changelog, zde je.

PROBLÉMY PŘI INSTALACI?
Pokud se při instalaci (setup.exe) objeví chyba, zkuste si stáhnout následující prográmek (na některých konfiguracích zřejmě chybí soubory pro podporu běhu addinu): http://go.microsoft.com/fwlink/?LinkId=158917

Na závěr bych ocenil, abyste při případném sdílení add-inu poslali i odkaz na tento blogpost, díky!

 

23 Nov 2010

Převod .docx do dokonalého PDF přímo pro Kindle 3

Vytvořil jsem add-in pro Word 2007/2010, který tento postup zautomatizoval a přidal pár věcí navíc, mnohem pohodlnější řešení, než to dělat ručně, zkuste!

Představte si situaci - máte Wordovský dokument a rádi byste si ho četli i na svém Kindlu. Při převodu do jiných formátů se vám ale zpravidla rozhodí formátování, rovnice se převedou na obrázky s pochybnou kvalitou. Na druhou stranu, export do PDF dokonale zanechá formátování i rovnice, tak jak byly ve Wordu. Dostaneme se ale do problému se zvětšováním písma - pokud byl A4 dokument ve Wordu psaný například v Calibri ve velikosti 11, je pak na Kindlu text příliš miniaturní na pohodlné čtení a jediné co nám zbývá, je zoomovat v Kindlu celý dokument (+ číst na šířku) a dělat s tím všemožná kouzla, a pohodlí elektronické čtečky je rázem pryč. Existuje ale způsob, jak poměrně snadno .docx dokumenty upravit tak, aby byl na Kindle krásně čitelný, a pak jej jen vyexportovat do PDF vestavěným nástrojem ve Wordu.

Read the rest of this post »

18 Oct 2010

Amazon Kindle, peklo a radost

Kindle

Namlsaný všemi možnými recenzemi plnými nadšení z nového Kindle 3 za extra příznivou cenu $139 (mluvím-li o wi-fi verzi), jsem se jal ho 26. září objednat. Vše proběhlo hladce a Kindle mi už ve středu 29. září ležel na stole. Naskytlo se ovšem jedno malé "ale".

Přišel v lehce přišlápnuté krabici a Kindlu po zapnutí zamrzla polovina obrazovky a její obsah se odmítal refreshovat (viz přiložený obrázek). Hned jsem začal googlovat všemožné návody a rady, jak se s podobnou situací vypořádat, ale na svůj problém jsem narazil jen v kategorii "neřešitelných problémů -> reklamace". Zavítal jsem tedy na web Amazonu, kde jsem vyplnil žádost o reklamaci (popis problémů a tak dále), vytisknul jsem si lísteček, kterým jsem přelepil původní nálepky na krabici a ten samý den šel s Kindlem na poštu. Poštovné v hodnotě 263 Kč by mi prý měli vrátit. Je důležité upozornit na to, že Amazon se honosí tím, že nový Kindle pošlou "right away" při podání požadavku na reklamaci. Naivně jsem tedy doufal, že mi nový Kindle přijde o dva dny později, tedy v pátek 1. října, při nejhorším v pondělí následující týden.

Amazon mi ale ve středu, kdy jsem Kindle odeslal, už nenapsal a tak jsem jim ze zvědavosti napsal e-mail, ve kterém jsem zopakoval svůj problém a optal jsem se, kdy asi můžu očekávat odeslání nového Kindlu. Za pár hodin mi přišla odpověď, ve kterém se moc omlouvali a řekli mi, že jsem měl zavolat, než jsem Kindle poslal zpět (o tom při reklamaci na webu nepadla ani zmínka) a že mám zavolat na Kindle Support. Sebral jsem tedy telefon a zavolal jim. Telefon sebral chlapík jménem Will, který po mně nejdřív chtěl vyspellovat jméno, e-mail a celou adresu z bezpečnostních důvodů a poté jsem mu zase popsal svůj problém. Dozvěděl jsem se, že kvůli jejich policy můžou nový Kindle poslat až 6. října, ale že se může pokusit to zařídit dřív a ať chvilku čekám. Po deseti minutovém čekání jsem telefon položil, já blbec jsem si měl koupit kredit na Skype, to bych mohl levně čekat do aleluja. Řekl jsem si, že mi to holt nevyřídí dřív a pošlou ho až 6. října, stejně jsem jel na celý týden pryč.

8. října jsem se vrátil domů po týdnu v Holandsku a Kindle pořád nikde, ani na e-mailu žádný update o reklamaci. Podruhé jsem jim tedy napsal a čekala mě stejná odpověď jako minule - zavolejte nám. Vyzbrojen Skype kreditem jsem tedy vytočil číslo a zvedl mi to někdo, kdo se tentokrát nepředstavil a opět mě čekalo úmorné spellování všech mých údajů (tentokrát spellování e-mailu ve stylu "A like apple"). Po třetím popsání své situaci jsem se dozvěděl, že mi nový Kindle nemůžou poslat, ale musím udělat novou objednávku a že mi vrátí peníze, až jim přijde ten Kindle, který jsem jim zpět poslal. Lehce rozladěný jsem se rozhodl čekat, než dorazí zpět do Kentucky, nechtělo se mi riskovat to, že se rozbitý Kindle ještě někde ztratí a já bych pak musel řešit dva problémy naráz.

12. října v pět ráno mi ale konečně přišel onen e-mail, na který jsem netrpělivě čekal. Psalo se v něm, že jim Kindle dorazil zpět a brzy mi vrátí peníze, stalo se tak o tři hodiny později, kdy mi přišel další e-mail, potvrzující odeslání peněz. Hned jsem objednal nový Kindle a pak jen čekal... jejich původní odhad byl, že Kindle odešlou 20. října (asi prázdný sklad), o den později to ale změnili na 15. října. Tak se i stalo, bohužel do toho vlezl víkend, takže mi nový Kindle přišel až v pondělí 18. října, tentokrát už v nepoškozené krabici a plně funkční. Konečně:)
20 Sep 2010

Jedu na WebExpo 2010. A vy?

Zbývají pouhé tři, čtyři dny do začátku konference o webu WebExpo 2010. Účastní se přes 900 lidí, navzdory původním skeptickým názorům :) Pokud byste se chtěli setkat s vaším oblíbeným bloggerem, který téměř nebloguje, je tohle ideální příležitost!

 Můj program: http://webexpo.cz/program/352/70c8d/

31 May 2010

Objevte Auroru i vy!

Znáte server Programujte.com? No jasně, určitě jste o něm alespoň slyšeli. A víte, že se chystá jeho nová verze s označením Aurora? Ne? Její tvůrce, Lukáš Churý, vymyslel navíc zajímavou a zábavnou hru, pomocí které můžete zjistit něco z pozadí nové verze. Hra spočívá v odkryvání různých vodítek skrytých ve zdrojovém kódu stránky, připojených souborech a podobně. Čeká na vás 15 zapeklitých levelů, měli byste to zkusit!

Twitter