Michal Katuščák – PHP programátor

Základní informace o zdroji

Podtitulek PHP programátor, který se nebojí výzev. Pracuji se Symfony a Doctrinou. Vyvíjím vlastní PHP framework Gephart. O své práci píši články a natáčím videa.
Domovská stránka https://blog.katuscak.cz/
RSS export https://blog.katuscak.cz/feed/

Systémové informace o zdroji

ID 468
Jmenné ID michal-katuscak-blog
Články ručně přidává správce systému NE
Články jsou schvalovány správcem NE
Titulek zdroje stahován z RSS exportu ANO
Kontrola aktuálnosti proběhla 19. června 2018 12:15
Návratový kód HTTP 304
RSS export naposledy zpracován 1. května 2018 20:35
Kontrola aktuálnosti naplánována na 19. června 2018 13:15

Gephart 0.6 s novým designem a funkcemi

Po dlouhých měsících jsem vydal novou verzi svého frameworku s CRUD generátorem. Překopal jsem design a přidal jsem nové funkce. Budu ho zde srovnávat s verzí 0.4, protože 0.5 jsem zde úplně přeskočil. Novinky Request a response podle PSR-7 Fasády…

Michal Katuščák – PHP programátor | 1. 5. 2018 20:35 | #

Cyklomatická komplexita

Cyklomatická komplexita, neboli podmínková složitost je metrika indikující složitost zdrojového kódu. Video (4:45) Jedná se o jednu z hlavním metrik, díky které lze posoudit jeho kvalitu. Udává počet různých cest skrze zdrojový kód. K čemu je to dobré?…

Michal Katuščák – PHP programátor | 28. 3. 2018 22:10 | #

Jak si vygenerovat graf funkce?

Řešil jsem před nedávnem (při vytváření videa o cyklomatické komplexitě), jak nejlépe PHP funkci zobrazit ve formě grafu (respektive CFG – content flow graph). Ideální nástroj, kde bych vložit PHP kód a získal ihned graf, jsem bohužel nenašel. Popíši…

Michal Katuščák – PHP programátor | 17. 3. 2018 22:30 | #

Jsou Laravel fasády zlo?

Už nějakou dobu přemýšlím nad tím, jestli jsou fasády ve frameworku Laravel špatné či dobré řešení. Odpověď není jednoznačná, alespoň pro mě ne. Zpočátku jsem je zcela odsuzoval, ale nakonec si myslím, že jsou případy, kdy dávají smysl. Zajímalo by mne…

Michal Katuščák – PHP programátor | 28. 2. 2018 12:30 | #

SOLID principy – 5. díl: Princip obrácení zavislostí

Video (1:29) Definice říká, že: A. Moduly vyšší úrovně by neměly záviset na modulech nižší úrovně. Oboje by mělo být závislé na abstrakci. B. Abstrakce by neměla záviset na detailech. Detaily by měly záviset na abstrakci. De facto můžeme říct, že byste…

Michal Katuščák – PHP programátor | 10. 1. 2018 18:20 | #

Trocha té statistiky roku 2017 a plány pro rok 2018

Řekl jsem si, že bych se mohl mrknout do statistik a shrnout kam a jestli jsem se s blogem za minulý rok posunul a jaké mám plány pro rok 2018. Srovnání návštěvnosti s rokem 2016 2016 2017 Zobrazení stránek 10 035 12 906 Unikátní zobrazení stránek 6 378…

Michal Katuščák – PHP programátor | 3. 1. 2018 19:45 | #

SOLID principy – 4. díl: Princip odděleného rozhraní

Video (1:29) Princip odděleného rozhraní je definované Robertem C. Martinem původně pro Xerox a říká: Více specifických rozhraní je lepší než jedno obecné rozhraní. Při jeho dodržování se kód stává více znovupoužitelný a užitečný. Pokud je více tříd…

Michal Katuščák – PHP programátor | 5. 12. 2017 20:05 | #

SOLID principy – 3. díl: Liskovové princip zastoupení

Video (1:46) Liskovové princip zastupitelnosti je definovám jako tahle na první podhled děsivá rovnice: Nechť Φ(x) je vlastnost prokazatelná objektu x typu T. Potom Φ(y) jsou pravdivé pro objekty y typu S, kde S je potomkem T. Trochu lidskými slovy ale…

Michal Katuščák – PHP programátor | 20. 11. 2017 21:30 | #

SOLID principy – 2. díl: Princip otevřenosti a uzavřenosti

Video (1:50) Princip říká, že: Softwarové entity (třídy, moduly, funkce, atd.) by měly být otevřené pro rozšíření, ale uzavřené pro změnu. Řekněme, že máme takovýto kód, kde jsou dvě třídy, které vrací response a jedna, která slouží pro jeho vytáhnutí:

Michal Katuščák – PHP programátor | 18. 11. 2017 17:25 | #

SOLID principy – 1. díl: Princip jedné odpovědnosti

Video (1:26) Princip jedné odpovědnosti (Single Responsibility Pricip) je první z pěti principů SOLID (právě to S). Jde o metodu, díky které se kód stává přehlednějším a srozumitelnější. Říká třídě, že je zodpovědná pouze za jednu jedinou věc. Mám zde…

Michal Katuščák – PHP programátor | 15. 11. 2017 18:45 | #

PHP: PSR-7 (HTTP messages)

Velmi mne zasáhla přednáška PHP, PSR-7 a mírné immutability v mezích zákona na WebExpo 2017. Líbí se mi přístup, že existuje jeden HTTP požadavek, který může (díky standardizaci) zpracovat více aplikací/frameworků za sebou, ať už prostřednictvím…

Michal Katuščák – PHP programátor | 15. 10. 2017 19:50 | #

PHP: Kolekce

Kolekce jako datovou strukturu můžete znát z různých jazyků, ale v PHP standardně obsažená není. Jedná se de facto o pole na steroidech, které mají výhodu například v tom, že mohou mít omezený typ hodnot. Existují hotové knihovny například od Laravelu,…

Michal Katuščák – PHP programátor | 1. 10. 2017 10:05 | #

10 nástrojů, které používám na kódování a programování

Přemýšlel jsem nad tím, že by pro někoho mohlo být fajn, vědět, jaké nástroje používám. Například pro inspiraci. Tak tady to je :) 1) Git Především vše verzuji, jak šablony, tak naprogramované systémy. Používám repozitáře na GitLab.com. 2) GitKraken…

Michal Katuščák – PHP programátor | 23. 9. 2017 18:45 | #

Kvalita kódu

Jak jsem sliboval v minulém článku, tak dnes se rozepíšu více o tom, proč a jak kontroluji kvalitu kódu. Pozor na jednu věc, a to že kvalita kódu není to samé jako kvalita softwaru (jak si často programátoři myslí), ale je to pouze jedna z částí…

Michal Katuščák – PHP programátor | 12. 9. 2017 19:30 | #

Gephart 0.4

Po několika týdnech příprav vypouštím novou verzi PHP frameworku Gephart s označení verze 0.4. Nová verze se nese v duchu dvou hlavních změn: Vzhledové úpravy od domovské stránky až po generátor kódu Měřič kvality kódu Vzhledové úpravy Začnu tím méně…

Michal Katuščák – PHP programátor | 11. 9. 2017 22:30 | #

Nezodpovědnost programátorů, aneb proč je zděděný kód často taková hrůza

Upozornění: Článek je napsán v lehce útočném duchu, jestliže na to nejsi psychicky připraven, nečti dál! Je spousta větších projektů, které se vyvíjejí roky, projde pod rukama spousty programátorů přímo až k vám. To zděšení při prvním pohledu na kód……

Michal Katuščák – PHP programátor | 1. 8. 2017 16:30 | #

Jak hlídáme chyby v PHP a Apache?

U nás ve firmě (NexGen) jsem naprogramoval nástroj, který nám pomáhá s odhalování chyb, které spadají do error.logu Apache. Odhalování chyb je důležitá část práce vývojáře a čím rychleji se k chybě (respektive chybové hlášce) dostane, tím lépe. A ještě…

Michal Katuščák – PHP programátor | 31. 7. 2017 19:10 | #

Záznam z mého livestreamu na Péhápkářích

Na YouTube byl zveřejněn záznam z mého povídání o PHP frameworku Gephart: Nástroj pro rychlý vývoj webů. Velké díky patří Péhápkářům, že mi stream umožnili!

Michal Katuščák – PHP programátor | 30. 7. 2017 22:20 | #

Pozvánka na livestream: Gephart – Nástroj pro rychlý vývoj webů

Ve spolupráci s Péhápkaři budu v úterý 25. července v 19:00 povídat na livestreamu na Twitchi o svém PHP frameworku Gephart, a to hlavně o tom, v čem se odlišuje a v čem přináší (podle mne) přidanou hodnotu. Tím myslím hlavně generátor kódu…

Michal Katuščák – PHP programátor | 18. 7. 2017 17:00 | #

Gephart – Generátor kódu

Publikoval jsem speciální edici frameworku Gephart, která obsahuje základní generátor kódu, pro snadnější tvorbu CRUDu. Principiálně to funguje tak, že si naklikáte modul (entitu) a atributy a následně vygenerujete: entitu, repozitář, tabulku v…

Michal Katuščák – PHP programátor | 8. 6. 2017 16:05 | #

Gephart – PHP framework

Je načase vyjít s tím ven. Už nějaký čas pracuji na novém projektu, který usnadní workflow pro tvorbu jednoduchých rutinních webů. Nástroj, kde si celý web doslova naklikám včetně designu a výsledkem bude hezký kód, který bude možné bez problému…

Michal Katuščák – PHP programátor | 20. 4. 2017 17:55 | #

Článek nebyl schválen

Co je výstupem programátora?

Je to kód, který naprogramuje? Jsem názoru, že by to tak určitě nemělo být. Pokud to u některých programátorů tak je, nastává někde asi problém. Kód samotný ve výstupu od programátora je 25% procent času stráveným nad problémem, které vyřeší. 50% by měl…

Michal Katuščák – PHP programátor | 11. 4. 2017 22:40 | #

Článek nebyl schválen

PHP: Routing podle anotací

Po předchozím komponentách (anotace, dependecy injection container a další) přichází konečně něco praktického :). Zapojíme vše dohromady a připojíme novou komponentu na routování (směrování). Problém Co by měl router dělat? Máme request (dotaz) a chceme…

Michal Katuščák – PHP programátor | 11. 4. 2017 22:40 | #

Článek nebyl schválen

PSR-11: Standard pro DI kontejner

Je to pár dní, co byl oficiálně akceptován návrh dalšího ze standardů skupiny PHP-FIG a to interface pro DI (dependecy injection) kontejner. Oficiální znění naleznete na GitHubu a já jsem se rozhodl, že jej zde trochu popíšu, a že se ho budu v…

Michal Katuščák – PHP programátor | 11. 4. 2017 22:40 | #

Článek nebyl schválen

PHP: Jak předávám konfiguraci objektům?

Jestli jste četli jeden z mých předchozích článků, kde jsem publikoval komponentu pro Dependency Injection container (který počítá s tím, že třída v konstruktoru definuje veškeré závislosti), asi nejednoho z vás napadlo, jak předat například konfiguraci…

Michal Katuščák – PHP programátor | 11. 4. 2017 22:40 | #

Článek nebyl schválen

PHP: Event Manager

Další z dlouhého seznamu komponent, které postupně publikuji je Event Manager. De facto se jedná o implementaci návrhu standardu, který vytváří skupina PHP-FIG. Z principu jde o navázání různých volání na určitou událost. Je to velmi užitečná věc, díky…

Michal Katuščák – PHP programátor | 11. 4. 2017 22:40 | #