SračkoAPI

API úvaha Následující řádky budou čistý hate na několik tvůrců API, který má posloužit budoucím tvůrcům API. Sám totiž musím obsluhovat několik služeb a získávat z nich data. A ačkoliv se nebráním složitostem, některé věci jsou tak absurdní, že až rozum zůstává stát… No to si ze mě děláte… První místo na žebříčku debility získává API pro obsluhu a registraci domén od Web4U. Jedná se o klasické SOAP API, které mě však místy přivádí k šílenství. Začnu pěkně od začátku. Aby bylo vůbec možné API volat, musíte nejdříve získat identifikátor služby. Kde jej sehnat? Napadá vás někde v aministraci? Kde jinde také, že? Omyl! Identifikátor služby se získává tak, že zavoláte jakoukoliv funkci z jejich API špatně a identifikátor najdete ve vrácené exception. A to si nedělám prdel. To fakt mají napsané v dokumentaci. A aby toho nebylo málo, tak vrácené ID je ve formátu IDxxxxxxx, .... Koho by však napadlo, že ID je tich prvních 9 znaků, tak je na omylu. ID je totiž to ID bez úvodního ID, tedy xxxxxxx.…  přečtěte si více

Novinky na blogu a extension RFC

nette RFC Kdo pravidelně sleduje můj twitter, tak už to ví. A je to skvělé! Včera jsem totiž mergnul důležitou část tohoto blogu a tím vydal verzi 1.1 snad stable… (-: Jedná se o celkem významný krok, ale stále je to nic oproti tomu co mám v plánu. V dnešním článku bych se rád podělil o většinu zajímavých novinek a v druhé části bych rád požádat o pomoc s rozvinutím jednoho zajímavého nápadu. Novinky v release 1.1 A hned první novinka je ta nejzajímavější. Zastávám názor, že by si měl programátor za svým kódem stát a to v každé situaci. Proto jsem se rozhodl, že pustím kohokoliv do své administrace. Ostatně proč ne. Je to výzva. Rád bych však napřed požádal kohokoliv kdo…  přečtěte si více

Čteme Data Matrix bez čtečky

matrix Dnešním článkem navazuji na dřívější článek Čteme QR kódy bez čtečky, ve kterém jsem řešil čtení QR kódu bez použití jakéhokoliv čtecího zařízení. A dnes budu řešit téměř to samé, ale s jiným kódem. Data Matrix není tolik známý, ale myslím si, že patří, hned po QR kódech, mezi nejpoužívanější kódy vůbec. Po tomto článku si jich zajisté začnete všímat více. Naposledy jsem jej viděl na balíčku od jahod… (-: Opět platí, že hlavním cílem je kód přečíst, nikoliv mu úplně porozumět, takže nebudu rozebírat velké detaily. Levý obrázek je kód o kterém bude celou dobu řeč. Trocha nezbytné teorie Tento kód je oproti QR kódu velmi jednoduchý, takže i teorie bude stručná…  přečtěte si více

Disqus lazy loading

disqus javascript Tento článek ve skutečnosti odstartovalo zdánlivě nesouvisející vlákno na Nette fóru. V tomto vláknu se řeší parametr _fid v URL adrese, který tam Nette framework přikládá kvůli flash messages. Tato vlastnost někoho skutečně hodně štve, mě zase až tak moc ne. Jenže když jsem nad tím vláknem chvíli seděl, tak jsem si uvědomil, že mám komentářový systém Disqus implementovaný špatně. Čtěte dál a vyhněte se stejné chybě… (-: Univerzální kód Disqus poskytuje „by default“ univerzální kód, který prakticky pouze zkopírujete na svůj web na požadované místo a je hotovo. Tento kód vypadá zhruba takto: div id="disqus_thread" script type="text/javascript" /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ var disqus_shortname = ''; // required: replace it with your forum shortname /* * * DON'T EDIT BELOW THIS LINE * * */ (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = …  přečtěte si více

Stáhněte si lepší blog

Čas od času se na Nette fóru najde někdo, kdo hledá vzorový projekt do kterého by se mohl podívat. Vlastně se většinou hledá cokoliv, jakákoliv inspirace. Bohužel se zřejmě všichni bojí toho, že o svůj projekt přijdou, protože v něm někdo najde bezpečnostní chybu. Já se toho také bojím, ale lepší než před tím utíkat je se tomu postavit čelem. A tak je to tady. Kdokoliv cokoliv K dispozici je pro nahlédnutí tento blog. A nejen k nahlédnutí, ale také k volnému používání. Na pozadí běží hned několik technologií, které si můžete prakticky osahat: Nette Framework (nette.org) Nette Tester (tester.nette­.org) Texy (je sexy) (texy.info) FSHL (fshl.kukulich­.cz) Webloader (addons.nette­.org) Kdyby\Doctrine 2 (GitHub) K dispozici je i databáze, protože si myslím, že bych se i s únikem databáze neměl nijak ohrozit… :-) Účelem tohoto nápadu a následně rozhodnutí je poskytnout pokud možno funkční a aktivní projekt, který staví právě na těchto technologiích. Důvodem je pak moje…  přečtěte si více

Znovupoužitelný formulář

doctrine nette Každý kdo nějakou chvíli pracuje s Nette Frameworkem již jistě narazil na prvky, které lze použít v aplikaci opakovaně. Říkejme jim znovupoužitelné komponenty, nebo prostě jen komponenty. Následující text má za úkol ukázat opět maximálně prakticky a uceleně jedno z možných řešení jak k tomuto problému přistupovat a co se mi na tomto řešení líbí, nebo naopak nelíbí. Motivace Proč vůbec přemýšlet o komponentách? Na tuto věc má pravděpodobně dost lidí zcela jiný názor. Pro mě je havní motivací to, že si vyčistím presentery. Chci toho mít v presenterech skutečně tak akorát. Vždyť podle MVP struktury bych v presenterech neměl mít nic složitého. A pak je zde ta…  přečtěte si více

Plzeňský Barcamp - láska na první pohled

barcamp Ačkoliv jsem z dřívějších barcampů sledoval záznamy, tak jsem byl fakticky na barcampu úplně poprvé a rovnou jsem měl tu čest přednášet. Než se však dostanu k samotné přednášce, rád bych zde napsal nějaký feedback. Celkově jsem z Plzeňského Barcampu skutečně nadšen. Skvělá atmosféra, fajn lidi, spoustu jídla, alkoholu možná až moc… :-)) Na druhou stranu došlo i k pár přešlapům. Některé mě mrzí více, jiné ani tak ne, každopádně… Skutečně mě mrzí to, že nebyla nahrávána na video každá přednáška. @eshopkonzultant Honzo, máme to v plánu. Pokud nám ho nic nenaruší, chtěli bychom určitě záznamy dodat nejdéle do měsíce po skončení akce. — Plzeňský Barcamp (…  přečtěte si více

Orion login stojí za prd

bezpečnost Když jsem dříve připravoval prezentaci o Nette Frameworku, hledal jsem nějaký vhodný příklad, na kterém bych demonstroval zranitelnost webových aplikací. Úspešně jsem vyzkoušel pár eshopů a jednu stránku, která slouží ke školním účelům, ale není nijak oficiálně vedená pod univerzitou. Právě zde mě napadlo vyzkoušet také univerzitní systémy. A nestačil jsem se divit. Pozadí univerzitního přihlašování Veškeré ověřování práv a identit putuje přes WebKDC server. Tento server komunikuje s Kerberosem a dohromady tvoří systém, který umožní přihlášení pomocí univerzitních loginů. Celkově proti tomuto systému nemám vůbec nic. Mám však hodně výhrad k jeho konkrétní implementaci. Konkrétní web servery (tam kde jsou umístěny aplikace vyžadující přihlášení) komunikují se vzdáleným WebKDC serverem. Tento server zajistí korektní ověření uživatele (spolupráce s Kerberos) a vráti informaci o úspěšném ověření. Paráda. Vnitřně velmi sofistikovaný systém funguje a umožňuje SSO (Single Sign-On) napříč…  přečtěte si více

Sbohem NDBT, vítej Doctrine

doctrine nette Byl jsem požádán, abych napsal nejenom důvod přechodu z Nette Database na Doctrine, ale obecně co mě k tomu vedlo a jak takový přechod vlastně učinit. Na úvod bych však chtěl zdůraznit, že nejsem žádný extra programátor, vlastně to ani nestuduji, takže vše co budu ukazovat a vysvětlovat je tedy z mého pohledu a lecjakého OOP znalce by tento text mohl pobouřit… (-: Následující text používá Kdyby\Doctrine, nevidím důvod proč ve spojení s Nette používat něco jiného. Je to dobrá knihovna. Sbohem NDBT Nette Database Table a obecně celé Nette Database je úžasná část frameworku a spokojeně jsem ji používal po velmi dlouhou dobu. Nikdy jsem neholdoval pokřikům, že je NDBT zabugované (jako někteří) a i když jsem vyzkoušel i jiné alternativy, vždy jsem se spokojeně vracel právě k NDBT. Použití je velice intuitivní a dobře se s tím zachází: Model: class Posts extends Nette\Object { /** @var \Nette\Database\Context */ private $database; public function __construct…  přečtěte si více

AJAX upload souborů v Nette pomocí Fine Uploaderu #2

ajax javascript nette Dříve jsem psal o tom, jak použít Fine Uploader jakožto nástroj pro AJAXové nahrávání souborů na server. Původní článek však platí pouze pro verzi 3.*, která je dnes již zastaralá. Pojďme si dnes ukázat v podstatě to samé, ale pro novější verzi 4.3+, která se v učitých směrech poměrně zásadně liší od svého předchůdce. Tentokrát se to však pokusím vyřešit co nejjednodušeji. Začátek je vlastně úplně stejný. Musíme nalinkovat javascriptové soubory: !-- jQuery -- script src="{$basePath}/js/jquery.fineuploader-4.3.1.min.js" script src="{$basePath}/js/nette.ajax.js" script src="{$basePath}/js/main.js" Použití je úplně jednoduché, ve zjednodušené formě: div id="image…  přečtěte si více