Říjen není jenom měsícem zdravých zubů a starých filmů, ale i měsíc ve kterém se pořádá celosvětový Hacktoberfest 2015, jehož cílem je hlavně podpora open-source softwaru! Pořádá ho poskytovatel cloudového hostingu DigitalOcean ve spolupráci s platformou GitHub, kde je možné open-souce projekty kolaborativně spravovat a verzovat.
]]>Pojďme se společně podívat na seznam CMS pro platformu PHP, které lze využít v roce 2015.
Jako každý produkt tak i hotové CMS má své výhody i nevýhody. Výhodou je velká komunita lidí budující jeden produkt. Všichni ho používají, testují, rozšiřují, opravují chyby a dále propagují. Z hlediska programátora může být nevýhodou fakt, že se musím naučit systém, který z větší části programoval někdo jiný a může tam být větší bariéra pro určitě specifické úpravy.
]]>Vytváření obrázků včetně psaní textu není v PHP žádný problém. Stačí použít funkce začínající prefixem image, konkrétně třeba imagettftext() pro psaní textu pomocí TrueType fontů. Tímto způsobem můžeme vepisovat text do slevových voucherů, na vizitky, samolepky nebo generovat text, který nemá být (jednoduše) strojově čitelný, třeba e-mail. Protože jsme ale líní a nechce se nám moc zkoumat dokumentaci, použijeme nějakou hotovou knihovnu.
]]>Protože mám občas potřebu vygenerovat si heslo, nebo obecně nějaký náhodný řetězec, hledal jsem webovou stránku, kde by to bylo možné. Všechny jsou ale plné reklam, nebo obsahují moc zbytečných informací, které nejsou pro samotný účel potřeba. Vytvořil jsem si tak vlastní generátor hesel.
]]>Po článku doporučující HTML knížky a CSS knížky bych rád sepsal literaturu o programovacím jazyku PHP. Bude se jednat opět o publikace spíše pro začátečníky, které by měli podat základní informace a možnosti. Většina zmíněných publikací pokrývá i základy databází, především MySQL, což je fajn, pokud chceme v PHP rovnou ukládat nějaká data a manipulovat s nimi. Všechny publikace jsou v češtině.
]]>OctoberCMS je zajímavé open-source CMS postavené na frameworku Laravel pro PHP 5.4. Toto CMS je jednoduché a pracuje na velice nízké úrovni. V administraci editujete totiž přímo samotné HTML šablony stránek, jejich CSS a JavaScript soubory. Tyto šablony jsou pak uložené jako statické soubory, takže je můžete snadno verzovat. Je to tak zajímavá alternativa, když chceme postavit statický web, ale nechceme psát čisté HTML šablony, kde nám bude určitě chybět základní věci jako třeba URL ve tvaru /moje-stranka/, logování chyb, nebo stránka 404.
]]>Composer je nástroj pro správu závislostí PHP projektů. Většina projektů má nějakou závislost - framework, šablonovací systém, knihovny. Pokud tedy chci ve svém projektu používat framework Nette už nemusím nic stahovat z oficiálních stránek a rozbalovat. Stačí ve složce s projektem zadat:
composer require nette/nette
]]>
V minulém článku jsem sepsal několik postřehů ze zkoumání jazyka Dart. Další webový projekt, který jsem prozkoumal z důvodu budoucí využitelnosti je Polymer. Opět jako u článku o jazyku Dart vypisuji klíčové vlastnosti, které pomůžou získat základní přehled o tom, co to Polymer je.
]]>Jedna z nevýhod MacBook Air oproti MacBook Pro je, že nelze snadno připojit druhý externí monitor. První monitor lze připojit pomocí redukce z Mini DisplayPortu na DVI, nebo HDMI, ale pro druhý monitor již místo není. Redukce DisplayPort na HDMI stojí originál kolem 700,- Kč, nebo lze objednat z Číny za 4$.
]]>Během zkoumání jazyka Dart jsem narazil na pár informací, které se hodí sepsat. Pokud někdo nemá čas na celodenní zkoumání, získá tak rychlý průlet tohoto jazyka.
]]>V tomto článku si ukážeme jak jednoduše vytvořit rezervační formulář pomocí komponent Nette frameworku. Vzhledem k jednoduchosti zadání by šel celý formulář včetně aplikační logiky umístit do jednoho souboru, ale stejně tak by šla vytvořit plnohodnotná webová aplikace nad Nette frameworkem. Je těžké na začátku říct, jak se nám aplikace rozroste, takže se vydáme cestou postupného iterativního refaktoringu - začneme implementací do jednoho souboru a postupně budeme aplikaci rozdělovat na jednotlivé části když si to bude situace žádat. Postupně se tak z jednosouborové aplikace dostaneme k něčemu, co by mohlo připomínat plnohodnotnou aplikaci.
]]>Vždy když v Composeru pracujeme s názvem repozitáře, například tracy/tracy, Composer musí vědět, na jaký repozitář tento název odkazuje. Pro tento účel slouží centrální Composer repozitář Packagist.org. Všechny repozitáře zde ale odkazují na veřejné repozitáře a i obsah celého Packagist.org je veřejný. Pokud chceme distribuovat balíky privátně, například v rámci firmy, můžeme si stáhnout Satis.
]]>Git je nástroj pro správu verzí a hromadné sledování změn souborů v rámci jednoho projektu. Rozdíl dvou verzí souboru se označuje jako diff z anglického slova difference a popisuje nám jak se soubory navzájem liší.
Změnu jednoho souboru můžeme popsat textovým souborem s koncovkou .diff, který nám popisuje, jaké změny musíme provést, abychom se dostali z jedné verze na druhou. Tomuto vygenerovanému souboru se pak říká patch (záplata).
]]>Stejně jako máme na naší Facebook stránce záložky Tímeline, Informace a Fotky, můžeme si vytvořit svojí vlastní záložku s unikátním obsahem, kde můžeme propagovat produkty, služby, nebo vytvořit nějakou interaktivní soutěž. Pojďme se podívat, jak na to.
]]>SASS je CSS preprocesor, který rozšiřuje CSS3 o další možnosti jako třeba proměnné, matematické operace a znovupoužitelné části kódu tzv. Mixins. SASS má vlastní syntaxi nad CSS, zapisuje se do souborů *.scss ze kterých nám umožňuje vygenerovat CSS soubory pro použití v našem projektu. Tyto soubory mohou být automaticky minifikované a sjednocené do jednoho například pomocí nástroje Grunt. Viz článek Kompilace Sass a Compass souborů přes Grunt JS.
]]>Foursquare je skvělá geolokační služba, která nám dokáže vyhledat zajímavé místa po celém světě nebo pouze v našem okolí. Může se jednat například o restaurace, když máme hlad, nebo o významné památky, pokud zrovna cestujeme. Uživatelé k těmto místům doplňují různé fotky, komentáře a hodnocení, takže se jedná o velmi cenný zdroj dat. Podívejme se tedy, jak bychom mohli tato data stahovat pro vlastní použití.
]]>Dnes jsem se zůčastnil konference Devel.cz 2014 a stejně jako u minulých ročníků to bylo super. Nejvíc oceňuji hlavně formát akce - jeden den, jedna místnost, jeden line-up přednášejících, jeden hash-tag. Žádné přebíhání mezi místnostmi, vybírání přednášek které vidět a litování toho které jsem neviděl. Akce byla na VŠE což je skoro v centru Prahy. Cena mi přišla přijatelná (early bird za nějakých 1200,- Kč) a letos byl v ceně i super oběd (výběr ze tří jídel, polévka, dezert), kafe, voda a dokonce i svačinky. Organizace byla naprosto bez problému, WiFi fungovala rychle, při vstupu jsme dostali nové tričko na spaní a šlo se na věc.
]]>Seznam užitečných doplňků do prohlížeče Chrome, jak obecných, tak i speciálně pro vývojáře.
]]>Grunt je nástroj napsaný v Node.js a distribuovaný přes npm. Grunt slouží ke spouštění jedné, nebo více úloh na straně front-endu, počínaje minifikace, kompilace CSS preprocesorů (Less, Sass) až po spojování více souborů v jeden. Zároveň dokáže sledovat změny v upravovaných souborech a při každé změně spustit připravené úlohy, což se výborně hodí když potřebujeme průběžně překládat Sass soubory na CSS.
]]>Apache je open-source webový/HTTP server, který je distribuovaný zdarma a pomocí kterého můžeme spouštět naše webové stránky a aplikace. Základní instalaci Apache, PHP a MySQL jsem popsal v článku: Instalace PHP na Mac OS X (Mountain Lion).
Tento článek se bude věnovat pokročilé konfiguraci serveru Apache, konkrétně umístení konfiguračních souborů, ovládání serveru přes terminál a nastavení VirtualHosts.
]]>Stejně jako ve článku HTML5 knížky, i nyní bych rád shrnul dojem z několika dalších knížek. Bude jich pět a zabývají se technologií kaskádových stylů, známých spíše pod zkratkou CSS (Cascade Style Sheets). Na knížky se budu dívat hlavně z pohledu začátečníka, který by se rád o CSS dozvěděl co nejvíce a naučil se je aplikovat v praxi.
]]>
Rozhodl jsem se tuto představu dotáhnout až do takové fáze, že nemám na počítači skoro žádná data a vše se ukládá vzdáleně, nebo se synchronizuje, když jsem zrovna on-line. Nástroje jsem zvolil tak, aby byli pokud možno zdarma a byli multiplatformní, protože mám notebook s Mac OS, stolní počítač s Windows 7 a telefon s Androidem.
]]>
Tak jako každý rok, i letos jsem se zúčastnil dvoudenní konference WebExpo, které se pořádala na Vysoké škole ekonomické v Praze. Pro mě osobně konference začínala již o den dříve, protože jsem se rozhodl absolvovat ještě workshop o Test driven development (TDD). V tomto článku bych se chtěl podělit o svoje pocity, zážitky a konstruktivní připomínky k vlastní organizaci. Třeba to pomůže v tom, aby další ročník byl zase o kousek lepší. Mini-recenze jednotlivých přednášek pak shrnuji na firemním blogu, ve článcích Webexpo 2012 z pohledu businessu a Webexpo 2012 z pohledu development/design.
]]>Dnes bych chtěl představit tři knížky o HTML5. Všechny knížky jsou z let 2010-2011, neměli by tak být informačně zastaralé. Knížky se liší především počtem stránek a z toho plynoucí detailností. Každý si tak může vybrat, jestli mu stačí rychlý průlet novinkami, nebo by se rád dozvěděl konkrétní detaily a technické podrobnosti implementace.
]]>V tomto článku bych rád popsal napojení na Flickr API pomocí jazyka PHP. Nad obrázky, které pak získáme lze dělat jakákoliv magie, použité aplikační rozhraní nám však poskytne i filtrování, které využijeme. V této konkrétní implementaci budu provádět akorát načítání obrázků, jejich filtrování a třídění dle barvy (což není součástí API).
]]>Stávající lidstvo, nacházející se v době informačního věku, si nejspíš ani neuvědomuje, že uplynulo již deset let od okamžiku, co se autor stávajícího webu – Tim Barners-Lee poprvé podělil o svojí ideji sémantického webu, která se snaží dnešní neuspořádanou množinu webových stránek proměnit, do propojeného systému zdrojů, neboli Linked Data. Cílem by bylo nejenom poskytovat dokumenty, které budou čitelné pro člověka, ale také data ve strojově snadno zpracovatelném formátu, obohaceném o příslušné vztahy mezi těmito daty.
]]>Při návrhu uživatelského rozhraní aplikace, ať již webové, nebo desktopové, je vždy vhodné nejdříve vytvořit prototyp uživatelského rozhraní (UI). Výhoda prototypování spočívá hlavně v rychlejším zpracování, které je jednodušší a levnější, než provádění změn přímo v grafickém návrhu. Prototyp (neboli wireframe/mockup) lze zpracovat buď elektronicky pomocí některého z prototypovacích nástrojů (Balsamiq Mockup), nebo i pomocí tužky a papíru.
]]>Pokud vytváříte webové stránky, jistě víte, že základem každých stránek je HTML šablona webu, ve které je výsledný web zobrazen. Tato šablona vychází strukturou z analýzy webu a vzhledově z grafického návrhu.
]]>