Webárna - RSS odběr <p>Zápisník o věcech webových zapisuje <a href="http://langi.cz">Peter Láng</a></p> <!-- by Texy2! --> http://langi.cz/webarna/ Technologie pro vývoj desktopových aplikací Mon, 14 Apr 2014 13:27:10 GMT http://langi.cz/webarna/technologie-pro-vyvoj-desktopovych-aplikaci <p>Jakožto webového vývojáře mě ve slabé chvilce přepadl nápad na desktopovou aplikaci. O vývoji pro desktop toho moc nevím, takže jsem si za trest udělal malý průzkum možností, jak takovou aplikaci vytvořit co možná nejrychleji. Vznikl mi z toho subjektivně zabarvený výcuc, který dávám k dispozici. Pokud případní kolemjdoucí desktop-mazáci výcuc doplní o nějaké kvalitní, progresivní technologie, bude to super.</p> <p><strong>Co jsem po aplikaci, obecně řečeno, chtěl?</strong> Aby uměla volat příkazovou řádku systému, abych do ní mohl zabundlovat (nebojaksetoříká) software třetích stran, aby uměla pracovat s filesystémem. Aby, pokud možno bez větší námahy, běžela na win, mac, linux.</p> <p><strong>Co jsem nechtěl?</strong> Strávit s vývojem rok a použít Javu, protože desktop aplikace napsané v Javě jsou, jak všichni víme, pomalé a nenažrané a vůbec.</p> <h2>Tak co tu máme</h2> <h3>Tcl (Tool Command Language)</h3> <p><a href="http://www.tcl.tk/about/gettingstarted.html">Tcl</a> se mi na první pohled líbil. Ve spolupráci s <a href="http://www.tkdocs.com/index.html">Tk</a> mi připadal mi jako malý šikovný tool na rychlé prototypování aplikací. Přišel jsem na něj tak, že jsem se na Githubu podíval, v čem je napsané <a href="https://github.com/git/git/tree/master/git-gui">GUI pro Git</a>. <strong>Rozhodl jsem se ho nepoužít</strong> kvůli subjektivně mírně <a href="https://github.com/git/git/blob/master/git-gui/lib/index.tcl">obskurnímu jazyku</a> (všechno je tam string, nebo tak něco) a občas hnusně vypadajícímu GUI, které z něj leze. Dá se volat i z <a href="http://www.tkdocs.com/resources/languages.html">celkem normálních jazyků</a>.</p> <h3>Brackets</h3> <p>Existuje taková (momentálně mírně partizánská) možnost, jak z <a href="http://brackets.io/">desktopového editoru</a>, <a href="http://blog.brackets.io/2012/06/26/building-a-desktop-quality-app-on-web-technologies/">vyrobeného v javascriptu, html5 a css</a>, vyrabovat tzv. <a href="http://clintberry.com/2013/html5-desktop-apps-with-brackets-shell/">brackets-shell</a> a postavit na tom svoji vlastní desktopovou aplikaci. Taková lumpárna mi byla sympatická, pak mi to ale přišlo takové jako neseriozní. Navíc, pokud chcete skrýt zdrojáky aplikace, tak to pokud vím nejde (platí to obecně pro tyhlety html-desktop technologie? Atom?).</p> <p>Do podobné skupiny by nejspíš mohl patřit i <a href="https://github.com/rogerwang/node-webkit">node-webkit</a>.</p> <h3>Chrome apps</h3> <p>Trochu serioznější jsou <a href="https://developer.chrome.com/apps/about_apps">Chrome apps</a>. Tzn. aplikace postavené taky na webových technologiích, ale chovající se jako desktopové. Jejich podmnožina <a href="https://developer.chrome.com/extensions/apps">packaged apps</a> běží na všech OS, klidně v offline módu, <a href="https://developer.chrome.com/apps/fileSystem">filesystém umí</a>, spouští se (pro uživatele) nezávisle na prohlížeči Chrome a má potenciál být u začátku boomu (?) <a href="http://www.chromium.org/chromium-os">Chromium OS</a>.</p> <p>To se mi celkem líbilo. Plus máte vyřešenou distribuci – šupne se to do Chrome store a můžete vydělávat.</p> <p>Nelíbilo se mi, že nemůžu <em>přibundlovat</em> další software (ale <a href="https://www.youtube.com/watch?v=gkb_x9ZN0Vo">kucí v googlu si s tím už hrajou</a>), a nelíbilo se mi, že si Google bere 5% z plateb, a to je z hodně milionů, hodně peněz ;-)</p> <p>Takže pro mě, aspoň zatím, taky <em>no-no</em>.</p> <h3>Céčka</h3> <p>Jak jsem od začátku tušil, nejlepší by bylo jít tak trochu na kost a udělat to normálně. Tzn. v nějakém tom <a href="https://www.youtube.com/watch?v=Z7A2MU2KjAE">céčku</a>. To máte: <a href="http://www.gtk.org/">GTK</a>, <a href="http://qt-project.org/">Qt</a>, <a href="http://monodevelop.com/">MonoDevelop</a>, <a href="https://www.wxwidgets.org/">wxWidgets</a> a tak dále a tak dále. I nějaké to pěkné <a href="https://www.youtube.com/watch?v=GxlB34Cn0zw">IDE se dá najít</a>.</p> <p>Multiplaformní to asi moc nebude (čisté céčko nechci) a navíc neumím ani jedno céčko a nemám moc čas se ho učit. Takže zatím pro mě asi nejlepší možnost, ale ještě se podívám dál.</p> <h3>Java platformy</h3> <p>Javu znám, ale její použití jsem jaksi předem vyloučil, takže jen pro přehled: <a href="http://wiki.eclipse.org/Rich_Client_Platform">Eclipse platform</a> a <a href="https://netbeans.org/features/platform/index.html">Netbeans Platform</a>. Z <a href="http://www.jetbrains.org/pages/viewpage.action?pageId=983889">IntelliJ</a> jsem měl dojem, že mě nechtějí a rovnou jsem je vyřadil.</p> <p>Takže v Javě mi zbývají Netbeans a Eclipse. Když si vzpomenu co jsem chtěl, tedy něco jako framework ve zhruba takovém smyslu, jak jsem zvyklý z webu a když vezmu v potaz srozumitelnost dokumentace tak mi vychází subjektivně lépe Netbeans.</p> <h2>Vyhlášení vítěze</h2> <p>Na začátku průzkumu jsem se mírně obával, že technologie pro vývoj na desktopu budou tak trochu „zamrzlé v roce 2002“, co se výběru, bohatosti dokumentace a progresivnosti týká a myslím, že se mi obava víceméně potvrdila. Desktop prostě vypadá trochu demodé, jak se říká u nás doma. Ale, neházím fintu do žita, třeba mi bude ukázáno, že se pletu.</p> <p>Kdo dočetl až sem, zaslouží odměnu v podobě vyhlášení vítěze a škodolibého zadostiučinění. Možná to už některým došlo – Céčka jsou pro mě na dlouhé lokte, progresivní desktop-cosi-HTML je zatím tak na piškvorky a Javu jsem vyřadil už na začátku. Co z toho vyplývá?</p> <p>Ano, správně, na celé čáře vítězí <strong>Java</strong> a <strong>Netbeans Platform</strong>. Dobře mi tak, že?</p> http://langi.cz/webarna/technologie-pro-vyvoj-desktopovych-aplikaci Situace kolem Nette Fri, 24 Jan 2014 23:00:00 GMT http://langi.cz/webarna/situace-kolem-nette <p>Situace kolem Nette je pro mě mírně nepřehledná. Hlavní vývojář končí s vývojem. Vznikají články, rozhovory, spousty komentářů. Četl jsem snad všechno co na téma vyšlo a stejně tomu všemu moc nerozumím. Následuje malé shrnutí, trocha přemýšlení nahlas, pár otázek a nápadů.</p> <h2>Spoušť</h2> <p>Pokusím se chronologicky. Spoušť zmáčkl David Grudl na twitteru a tak celá ta spoušť vznikla (haha)</p> <blockquote class="twitter-tweet" lang="en"> <p>Bylo to rozhodně velmi zajímavých 10 let! A je čas se posunout dál. Končím s vývojem Nette Frameworku.</p>  — geekovo (@geekovo) <a href="https://twitter.com/geekovo/statuses/417869320677367808">December 31, 2013</a></blockquote> <script src="//platform.twitter.com/widgets.js" charset="utf-8"></script> <p>Dalo se to brát jako vtip, ale celkem rychle se z <a href="http://forum.nette.org/cs/16449-dalsi-vyvoj-nette-organizace-rozhodovani-budoucnost">Nette fóra</a> a z <a href="https://www.facebook.com/davidgrudl/posts/10202658014992277">facebooku hlavního vývojáře</a> dalo zjisti, že vtip to rozhodně není.</p> <p>První trochu „oficiální“ vyjádření vyšlo v podobě rozhovoru na <a href="http://www.zdrojak.cz/clanky/david-grudl-nette-ceka-zlomovy-rok/">Zdrojáku</a>. Téma se dostalo i na <a href="http://devel.cz/otazka/ako-to-vidite-s-nette">Devel.cz</a>. Protože v komentářích na Zdrojáku se většinou řešily problém neřešící věci, Martin Malý sbírku materiálů rozšířil o pár otázek na <a href="https://www.facebook.com/martin.maly/posts/10151922386572496">svém facebooku</a>.</p> <h2>Mírně zmaten</h2> <p>Máme populární produkt, který svému tvůrci nepřináší uspokojení. Není to zvláštní? Ještě jednou a trochu jinak – člověk na něčem deset let usilovně pracuje, vytvoří populární a uznávaný produkt a výsledkem jsou <a href="https://www.facebook.com/davidgrudl/posts/10202658014992277">regulérní deprese</a>! To je věc <strong>číslo jedna</strong>, kterou si chci pamatovat a z které jsem mírně zmaten.</p> <p>Samozřejmě, člověk nemůže celý život dělat jednu věc, to je jednoduše nuda. Jenže to asi není jediný důvod „konce jedné etapy“. Chyba je zdá se i v „komunitě“, nebo v uživatelích. Slabá zpětná vazba. Uživatelé projekt a tvůrce dojí a nejsou ochotni přispět svou prací, penězi. Chápu to tak, že tvůrci v nějakém bodě došla trpělivost s tím, jak ho všichni jednostranně využívají. Z toho jsem taky mírně zmaten – dění kolem Nette dlouhodobě celkem sleduju a nepamatuju se, že bych o tomto problému někdy někde četl. Není trochu zvláštní mít dlouhodobě problém se zpětnou vazbou a zároveň nedat „komunitě“ zpětnou vazbu? To je věc <strong>číslo dva</strong>, kterou si chci pamatovat – když jsem s něčím nespokojen, když mám problém, mám to včas říct (tak aby to někdo slyšel).</p> <p>Proč se před rokem na Nette blogu neobjevil článek „Potřebujeme vás!“. Protože neexistuje Nette blog? A proč neexistuje? Protože ho „komunita“ nevytvořila? Měla ho vytvořit? Řekl jí o to někdo? Můj osobní dojem z Nette byl vždycky ten, že David Grudl je něco jako osvícený vládce „království Nette“ a že není problém, který by v tomto království neuměl řešit a že tedy žádný zásadní problém neexistuje. Tak na mě komunikace Nette vždy působila. Chápu, že může být problém vyladit situaci, kdy se produkt musí navenek tvářit bez problémů a zároveň problémy komunikovat tak, aby je někdo řešil. Ale myslím, že způsobů jak sdělit „komunitě“, co má dělat, je spousta. A mimochodem, když přitažlivou formou nabídnu možnosti jak přispět, tak to není pobídka <a href="http://www.zdrojak.cz/clanky/david-grudl-nette-ceka-zlomovy-rok/">samopalem a ostnatým drátem</a>, že ne?</p> <h2>Ponaučení? Tak určitě …</h2> <p>Když si to, jak jsem to celé pochopil, shrnu do nějakého osobního ponaučení – nemůžu chtít být tím, kdo víceméně „absolutně“ ovládá nějaký projekt a zároveň chtít aby do něj ostatní sami od sebe přispívali. Vede to k tomu, že takový dobrovolník neví co se žádá, přesto něco pracně vytvoří a není to přijato. Nebo přinejmenším k obavě že se to stane. Když chci řídit, musím prostě řídit.</p> <p>Nemůžu čekat, že si nějaká zajímavá masa lidí bude hledat a dávat dohromady informace z hlubin diskusních fór, různých blogů, twitteru atp. Potažmo nemůžu čekat, že někdo reflektuje problémy, když o nich neví. Když to nedám pěkně viditelně na jedno prominentní místo, existuje to jen pro hardcore fandy.</p> <h2>Trochu prakticky</h2> <p>No a protože mám Nette celkem rád, rád bych se zapojil, když se teď konečně ke mě dostala informace, že je to žádoucí. Navrhuju pár způsobů jak víc zapojit komunitu. Něco, co bych sám uvítal, abych věděl jak můžu přiložit ruku k dílu a co se v komunitě (taky vám to slovo už leze na nervy, že?) děje.</p> <ol> <li>Ten oficiální blog hergot. A nemít ho jen na prsení. <strong>update</strong> – je tam ;-) <a href="http://blog.nette.org/">http://blog.nette.org/</a></li> <li>Na hlavní stránce obří odkaz na stránku/aplikaci, kde bude vypsáno a spravováno jak se člověk může zapojit – chyby co je třeba opravit, schválené nápady, návrhy s hodnocením a komentáři (možná něco ve stylu <a href="https://getsatisfaction.com">https://getsatisfaction.com</a> + <a href="https://www.mozilla.org/en-US/contribute/?icn=tabz">https://www.mozilla.org/…/contribute/?…</a> + <a href="http://www.joshmatthews.net/bugsahoy/">http://www.joshmatthews.net/bugsahoy/</a> ?). Ne, fórum, ani Github issues tuhle funkci IMHO neplní dobře.</li> <li>Něco podobného i pro doplňky. Konkrétně například možnost vyjádřit poptávku po nějakém doplňku, hlasovat pro takovou poptávku a taky možnost tento doplněk zpoplatnit. Nový <a href="http://nette.merxes.cz/addons/">Addons portál</a> vypadá dobře, dodělat to tam.</li> <li>Snadno přístupná jasná informace, jak je možno používat název Nette. Příklad – za jakých podmínek lze použít název Nette v doméně a názvu webu, který obsahuje zpoplatněné tutoriály? Nebo – může někdo komerčně školit a používat při tom značku Nette?</li> <li>Jestli problém není množství pull-requestů, ale jejich kvalita, vytvořit program ve stylu Mentored bugs od Mozilly (nebo tak nějak – nedávno jsem o tom četl a teď to nemůžu najít). Zkušený vývojář by při fixování bugu „dohlížel“ na méně zkušeného vývojáře a provedl by ho integračním procesem.</li> </ol> <h2>Tak, pro začátek stačí</h2> <p>Jako mind-dump pro začátek stačí. Většině věcí o kterých tu píšu vůbec nerozumím (čili vesmír je v pořádku). Žádný „produkt“, který by se jen vzdáleně blížil popularitě Nette jsem nikdy nevytvořil ani neřídil. Přestavuju si to jako hledání dveří na záchod, v noci, se zavřenýma očima a přesně tak jsem si připadal při psaní tohohle článečku.</p> <p>Na závěr (nebo na začátek?) doporučuju článek <a href="http://borivojfilip.wordpress.com/2013/07/05/6-drsnych-ale-pravdivych-rad-ktere-z-tebe-udelaji-lepsiho-cloveka/">6 drsných ale pravdivých rad, které z tebe udělají lepšího člověka</a>, konkrétně bod č.5. Protože celá situace kolem Nette s ním má IMHO na mnoha úrovních hodně společného.</p> http://langi.cz/webarna/situace-kolem-nette Historky z natáčení - editory a IDE Thu, 28 Jun 2012 22:00:00 GMT http://langi.cz/webarna/historky-z-nataceni-editory-a-ide <p>Poslední dobou jsem jako editor používal v podstatě jen <a href="http://langi.cz/webarna/tag/sublime-text-editor">Sublime Text</a> a byl jsem spokojen. Rychlé to je, šikovné to je, jednoduché to je, přesně jak to mám rád.</p> <h2>A větší kalibr by nebyl?</h2> <p>Jenže projekt se mi drobně rozrostl a <strong>Sublime Text přestal stačit</strong>. Chybělo mi hlavně <strong>call hierarchy</strong> a ctrl+klik na volání metod, plus pár doplňkových příjemností. Takže nastalo klasické kolečko instalací a odinstalací nejrůznějších IDE. Ušetřím nám čas a rovnou vyhlásím momentálního „vítěze“ – <strong>Netbeans</strong>.</p> <p>Ty jsem někdy tak před rokem a půl zkoušel a odepsal, protože měly <strong>velice otravný bug</strong>, kdy při přepínání alt+tab mezi okny zůstával viset focus na menu Netbeans a muselo se to pořád rušit escapem. Strašlivě otravný bug od té doby kupodivu nezmizel, ale tentokrát jsem na něj našel <a href="http://forums.netbeans.org/topic5465.html">lék</a>.</p> K vyléčení pacienta stačí do netbeans.conf, do řádku začínajícího <code>netbeans_defau­lt_options</code>, přidat tenhle příkaz: <pre>--laf javax.swing.plaf­.metal.MetalLo­okAndFeel</pre> . Změní to vzhled Netbeansů, imo ne k horšímu a <strong>bug je fuč</strong>. <h2>A ještě jedno krokování prosím</h2> <p>Když už jsem byl v tom, koukal jsem jak je na tom Netbeans a Nette s krokováním běhu programu a je to v podstatě příjemná záležitost.</p> <p>To se stáhne Xdebug <a href="http://xdebug.org/download.php">http://xdebug.org/download.php</a> a hodí se do <code>php/ext</code>. V php.ini se odkomentují řádky podle <a href="http://xdebug.org/docs/install">Xdebug dokumentace</a> a toho co (celkem jasně) říká Netbeans. Do Nette se potom použije <a href="http://addons.nette.org/cs/xdebug-helper">tento addon</a> <a href="http://forum.nette.org/cs/4941-jak-pouzit-xdebug-krokovani#p36604">třeba takhle</a> a krokuje to moc hezky.</p> <p>No, tak snad zas bude na chvilku klid.</p> http://langi.cz/webarna/historky-z-nataceni-editory-a-ide PHPFog nemůžu doporučit (bohužel) Thu, 16 Feb 2012 23:00:00 GMT http://langi.cz/webarna/phpfog-nemuzu-doporucit-bohuzel <p>Je to už delší doba, co jsem oťukával <a href="https://phpfog.com/">PHPFog</a> a pln vděku spokojeně uložil do mozku informaci „až budu něco rozjíždět, půjdu sem“. Tento týden přišla ta chvilka a tak jsem šel. A zase odešel. A už se nevrátím. Proč to? Protože:</p> <ul> <li>pětsetdvojku (bad gateway) jsem tento týden viděl víckrát, než za celý svůj dosavadní život</li> <li>u nette přeskakuje z produkčního prostředí na vývojové jako metronom (tik tak, tik tak)</li> <li>nemožnost podívat se na data na serveru (ssh, ftp, cokoliv) je nakonec dost nepříjemná</li> <li>je to dost pomalé</li> </ul> <p>Zůstala tedy jedna jediná výhoda – git – a to je málo. Představoval jsem si, že při větším zatížení jednoduše povýším účet a oni už mi to „naškálují“, ale takhle by to tedy nešlo, soudruzi.</p> <p><em><a href="http://hosting.blueboard.cz/">Blueboarde</a> ssh, git – ee?</em></p> http://langi.cz/webarna/phpfog-nemuzu-doporucit-bohuzel Git od úplného začátku - důležité zdroje Mon, 12 Dec 2011 23:00:00 GMT http://langi.cz/webarna/git-od-uplneho-zacatku-dulezite-zdroje <p><a href="http://git-scm.com/">Git</a> – distribuovaný systém pro správu verzí – rozhodně není žádnou novinkou. Přesto potkávám poměrně dost lidí, kteří o něm téměř nic nevědí a zatím neměli příležitost nebo důvod o něm uvažovat, nebo rovnou nasadit do praxe. Pár z nich se rozhodlo Git zkusit a (také) pro ně jsem se pokusil sestavit seznam důležitých odkazů.</p> <h3><a href="http://www.slideshare.net/karmi/verzovani-kodu-s-gitem-karel-minarik">http://www.slideshare.net/…arel-minarik</a></h3> <p>Slajdy od Karla Minaříka. Ideální pro úvodní seznámení, bohaté na (i poměrně hloubkové) informace, rozhodně doporučuji.</p> <h3><a href="http://www.spheredev.org/wiki/Git_for_the_lazy">http://www.spheredev.org/…for_the_lazy</a></h3> <p>Git wiki pro lenochy, cílová skupina široká. Stručný a přehledný souhrn toho, co potřebujete od prvního impulsu k prvnímu projektu verzovanému gitem.</p> <p>S tímto zdrojem se mírně rozcházím v instalaci gitu na windows, zatímco odkazovaný na to jde přes konzoli, mě připadá jednodušší na windows nainstalovat Git-1.7.8-preview20111206.exe z <a href="http://code.google.com/p/msysgit/downloads/list?can=3">http://code.google.com/…wnloads/list?…</a>.</p> <h3><a href="http://git.or.cz/course/svn.html">http://git.or.cz/course/svn.html</a></h3> <p>Pro ty, kteří přecházejí z SVN, nebo třeba jen chtějí vidět rychlé srovnání příkazů.</p> <h3><a href="http://gitref.org/">http://gitref.org/</a></h3> <p>Pěkná a stručná příručka.</p> <h3><a href="http://progit.org/book/">http://progit.org/book/</a></h3> <p>Kniha zdarma pro zájemce o hlubší a širší porozumění. Chcete-li aspirovat na titul git-ninja.</p> <hr /> <p>Uvedené zdroje myslím pro začátečníka úplně stačí, mojí snahou bylo vybrat zdroje, které učedníka nezahltí balastem a dají mu určitý přehled a možnost hned experimentovat.</p> <p>Pokud jsem na něco zapomněl, do komentářů s tím.</p> http://langi.cz/webarna/git-od-uplneho-zacatku-dulezite-zdroje Readme Driven Development Wed, 14 Sep 2011 12:22:13 GMT http://langi.cz/webarna/readme-driven-development <p><a href="http://tom.preston-werner.com/2010/08/23/readme-driven-development.html">Readme Driven Development</a> v podstatě říká, že první věc, kterou byste na začátku jakéhokoliv projektu měli udělat, je sepsat si k němu README. Dřív než cokoliv jiného, než první příkaz v kódu, nebo testu, prostě úplně nejdřív. Tenhle postup může mít hodně výhod, doporučuju přečíst <a href="http://tom.preston-werner.com/2010/08/23/readme-driven-development.html">celý článek</a>.</p> <p>Stává se totiž, že vývojáře přepadne prostá myšlenka „udělám bookmarkovací službu“ a už přemýšlí nad kódem, jaké knihovny použije a tak dále. Kdyby si předtím napsal kvalitní README, donutilo by ho to přemýšlet například nad tím, jestli a jak bude zrovna ta jeho bookmarkovací služba jiná než stovky dalších.</p> <p>Když si napíšu (třeba) do README co aplikace má dělat a jak to má dělat, mám hned na začátku něco, nad čím můžu dumat, nezapomenu to, můžu to s někým konzultovat, můžu dokonce představu upravovat, aniž bych musel draze přeprogramovávat. Mám <em>todo list</em> podle kterého můžu postupovat – a to s lepší šancí, že se mi funkce aplikace nekontrolovaně nerozlezou někam mimo hlavní záměr aplikace.</p> <p>Readme Driven Development vidím jako nezbytný doplněk ostatních <em>Driven Developmentů</em> a to hlavně proto, že na rozdíl od nich ukazuje <strong>co</strong> je potřeba vyvíjet a ne to <strong>jak</strong> se bude vyvíjet.</p> http://langi.cz/webarna/readme-driven-development S čím si hraju - Fórum s CouchDB Thu, 08 Sep 2011 19:56:42 GMT http://langi.cz/webarna/s-cim-si-hraju-forum-s-couchdb <p>Open source a placených fór je strašná spousta a všechny jsou na jedno brdo. Myslím, že je na nich hodně co napravovat. Namátkou ovládání, použitelnost, funkčnost, koncept. Když jsem naposled viděl administraci phpBB, nestačil jsem se divit. Kdokoliv udělá <strong>nové fórum s kvalitním UI</strong>, bude podle mě mít „úspěch“ a „zásluhy“. Bude to ten, kdo z kabiny raketoplánu dokáže udělat joystick (nebo spíš iPhone?).</p> <p>Takže jsem se do toho taky z hecu pustil. Měl jsem, a stále mám, tři hlavní cíle – pocvičit se s <a href="http://couchdb.apache.org/">CouchDB</a>, udělat ovládání kterému porozumí BBU (Běžná Babička Uživatelka) a zajistit vysokou rychlost, která s přibývajícími záznamy v databázi nebude klesat. Mám na mysli dvěstě třista tisíc záznámů a dál.</p> <p>Mám úplně první nástřel a zatím jsem si na tom vyzkoušel dvě věci – CouchDB hosting <a href="https://cloudant.com/">Cloudant</a> (ten je super) a css „framework“ <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap</a> (ten není až tak super).</p> <p>Výsledek je prozatím ten, že <strong>rychlé to fórum tedy není</strong>, protože se připojuje ke vzdálené databázi a to něco stojí. PHP server je v ČR, db server nejspíš v USA – nic dobrého.</p> <p>S tím souvisí další „problém“ – výběr databáze. CouchDB je pořád ve srovnání s MySQL trochu exotika vzhledem k hostování. Pokud bych chtěl, aby to moje fórum někdo používal, připojování ke vzdálené databázi asi nebude to pravé, i když tím na druhou stranu provozovateli fóra odpadají starosti s db serverem.</p> <p>Pořád tedy zvažuji možnost použít klasické MySQL a rychlost zajistit třeba s pomocí <a href="http://www.notorm.com/">NotORM</a>.</p> <p><em>… pokračování příště …</em></p> http://langi.cz/webarna/s-cim-si-hraju-forum-s-couchdb Makra v Sublime Text editoru Wed, 07 Sep 2011 22:00:00 GMT http://langi.cz/webarna/makra-v-sublime-text-editoru <p>Psát pořád dokola ty stejné příkazy je jednoduše opruz a proto existují makra. Do makra si uložíte nějakou sekvenci a klávesovou zkratkou potom takovou sekvenci vyvoláte bez nutnosti ji psát.</p> <p>Příklad – v nette dost často používám třeba <code>NDebug::dump();</code> a psát to pořád dokola je na hlavu. V novém nette je myslím ten příkaz ještě delší. Takže si v Sublime Text editoru uděláme makro.</p> <p>Nahrávání krátkodobého makra, co nepřežije zavření editoru, se spustí klávesami <code>ctrl+q</code> → normálně píšete svůj příkaz → a zastavíte <code>ctrl+q</code>. Vkládáte potom makro pomocí <code>ctrl+shift+q</code>. To my ale nechceme, my chceme trvalé makro.</p> <p>Takže – vytvořte a otevřete si (na linuxu) soubor</p> <pre>/home/you/.con­fig/sublime-text-2/Packages/User/nde­bugdump.subli­me-macro</pre> <p>a vložte do něj toto</p> <pre>[ { „args“: { „characters“: „ndebug::dump“ }, „command“: „insert“ }, { „args“: { „contents“: „($0)“ }, „command“: „insert_snippet“ }, { „args“: { „by“: „characters“, „forward“: true }, „command“: „move“ }, { „args“: { „characters“: „;“ }, „command“: „insert“ } ]</pre> <p>Posléze otevřete soubor</p> <pre>/home/you/.con­fig/sublime-text-2/Packages/User/De­fault (Linux).sublime-keymap</pre> <p>a vložte do něj toto</p> <pre>[ { „keys“: [„alt+d“], „command“: „run_macro_file“, „args“: {„file“: „Packages/User/nde­bugdump.subli­me-macro“} } ]</pre> <p>Hotovo. alt+d krásně píše NDebug::dump() za nás a my jsme zase o kousek spokojenější, že.</p> <p><strong>Update</strong> o deset minut později: pohodlně prohlížet obsah mé Packages složky, kde se dějí tyhle úpravy můžete <a href="https://github.com/czlang/sublime-text">na githubu</a>.</p> http://langi.cz/webarna/makra-v-sublime-text-editoru Zvolte si uživatelské jméno a heslo Tue, 06 Sep 2011 13:15:38 GMT http://langi.cz/webarna/zvolte-si-uzivatelske-jmeno-a-heslo <p>Jedním z nejotravnějších <strong>problémů</strong> internetových stránek a aplikací, je <strong>velmi častá nutnost registrace</strong> pod jménem a heslem. Příliš mnoho účtů na příliš mnoha místech snižuje <strong>pohodlnost užívání</strong> pro uživatele a zvyšuje <strong>bezpečnostní riziko</strong> – člověk si pravděpodobněji vymyslí jedno slabé heslo, které použije kde se dá.</p> <p>K heslům a jejich složitosti jsem poměrně nedávno narazil na zajímavý matematický rozbor, který ale nemůžu najít, tak alespoň jeho komiksový výcuc <a href="http://xkcd.com/936/">http://xkcd.com/936/</a>. Zjednodušeně řečeno: heslo „kytara s intarziemi“ je <strong>obtížnější na prolomení a daleko lépe zapamatovatelné</strong>, než třeba „XjžzH54a“. Zdá se, že tento přístup k tvorbě hesel by mohl částečně „vyřešit“ problém mnoha účtů na internetu, ale samozřejmě lze jít dál.</p> <h2>Registrace bez vyplňování emailu a hesla</h2> <p><a href="http://www.codinghorror.com/blog/2011/09/cutting-the-gordian-knot-of-web-identity.html">Jeff Atwood</a> (spoluautor <a href="http://stackoverflow.com/">http://stackoverflow.com/</a>) například sní o systému, který by uživatele odstínil od neustálého zadávání jména a hesla. Jak?</p> <ul> <li>stránka vyžadující registraci by obsahovala speciální <code>meta</code> tagy, které by označovaly, že stránka podporuje automatický login</li> <li>váš prohlížeč by podle tohoto tagu rozpoznal, že se má pokusit automaticky vyplnit registrační/přih­lašovací údaje, které by získal z nějakého bezpečného „cloud“ úložiště skrze zabezpečené https. Prohlížeč také vymyslí heslo.</li> <li>uživatel by nejspíš musel vyplnit nějaký druh captcha kontroly</li> </ul> <p>Doporučuji si přečíst <a href="http://www.codinghorror.com/blog/2011/09/cutting-the-gordian-knot-of-web-identity.html">celý článek</a>, ačkoliv si myslím, že Jeff Atwood celý nápad nazývá „svým snem“ celkem oprávněně.</p> http://langi.cz/webarna/zvolte-si-uzivatelske-jmeno-a-heslo Problémy s git-flow Sun, 04 Sep 2011 10:39:48 GMT http://langi.cz/webarna/problemy-s-git-flow <p><a href="http://scottchacon.com/">Scott Chacon</a> (git evangelista, pracuje v GitHubu) sepsal velmi zajímavý článek o tom, <a href="http://scottchacon.com/2011/08/31/github-flow.html">jakým způsobem v GitHubu pracují s gitem</a>, jaké mají pracovní flow. Protože git umožňuje celou plejádu způsobů jak řídit verzování, vzniká mnoho takzvaných flow a jeden z těch známých, propracovaných a používaných je <a href="http://nvie.com/posts/a-successful-git-branching-model/">git-flow</a></p> <p>V githubu to ale dělají trochu jinak, protože <strong>hodně</strong> často dělají deploy na ostrou aplikaci. Hlavní body tohoto GitHub flow jsou</p> <ul> <li>všechno v master větvi je vždy připraveno na deploy</li> <li>když chcete pracovat na něčem novém, vytvořte si novou větev s popisným názvem vedle master větve</li> <li>komitujte lokálně a a pushujte svou práci do vaší větve na serveru</li> <li>když potřebujete zpětnou vazbu, nebo radu, nebo když si myslíte, že větev je připravena k mergi, otevřete nový pull request</li> <li>potom co někdo jiný zkontroloval a podepsal novou funkčnost, můžete ji včlenit do master větve</li> <li>jakmile je včleněno a pushnuto do master větve, můžete a <em>měli byste</em> udělat okamžitě deploy</li> </ul> <p>GitHub má zhruba 15–20 vývojářů pracujících na jednom projektu a toto flow jim zdá se svědčí.</p> <ul> <li><a href="http://scottchacon.com/2011/08/31/github-flow.html">Issues with git-flow</a></li> <li><a href="http://scottchacon.com/">scottchacon.com</a></li> </ul> http://langi.cz/webarna/problemy-s-git-flow