Týždeň 2021-47

Dnes odbočíme a zahráme na nostalgickú nôtu. To v mojom prípade znamená, že sa budeme venovať PHP.  @vlkodotnet

Udalosť týždňa: PHP Foundation

Sú obdobia v živote, na ktoré radi spomíname. U mňa je jedno také obdobie čas strávený na mojej Alma Mater FRI v Žiline. Nebol som veru najsvedomitejší študent, ale už počas štúdia sme si privyrábali tvorbou rôznych webstránok. A tak, ako to bolo vtedy zvykom, v PHP. Nasledovalo samozrejme obdobie, keď som prešiel na C# a veru aj obdobie, keď som si o ľuďoch kódiacich v PHP robil žarty a špásy, ale to už bolo dávno. Dnes už je človek "dospelejší" a tak už vie oceniť, že na to, aby sa technológia stala úspešnou, nemusí mať high-tech-ultra-monad-neviemčo-ešte vlastnosti. Dôležité je, aby nekládla začiatočníkom polená pod nohy a mohli s ňou rásť.

PHP v posledných rokoch získavalo viac a viac vlastností, na ktoré ste zvyknutí z iných jazykov. Napríklad v minulotýždňovej verzii 8.1 enumy, readonly properties, parametrové inicializátory, intersection typy, Fibers (pre jednoduchší zápis promise), atď.

PHP 8.1 Released
PHP 8.1 is a major update of the PHP language. Enums, readonly properties, first-class callable syntax, fibers, intersection types, performance improvements and more.

Problém s PHP bol, že v ňom bol vždy celkom prítomný BUS factor 1. Našťastie alebo nanešťastie z jeho aktívneho vývoja odchádza Nikita Popov, ktorý bol zamestnanec JetBrains, a tak vznikla organizácia PHP Foundation. Tá aj keď bola oficiálne oznámená 22. novembra, tak už má vyzbieraný budget k dnešnému dňu 20- tisíc dolárov (počas písania tohto odseku sa to 2x zmenilo). Držím PHP palce, aby si našlo dobrý team, ktorý ho posunie zasa viac dopredu.

The New Life of PHP – The PHP Foundation | The PhpStorm Blog
During PHP’s 26-year history, the language has been actively developed by a huge number of people, such as Rasmus Lerdorf, Zeev Suraski, Andi Gutmans, Nikita Popov, and many, many others. In 2021, PHP

Na finstate sme sa vždy snažili vyhnúť zbieraniu osobných údajov. Aj keď používame GA, tak sme ho nastavili tak, aby sme zbierali len štatistické údaje a nevedeli užívateľa nijak trackovať. Prichádza ale nová česká legislatíva (podobný zákon momentálne vrátila na Slovensku prezidentka späť do parlamentu), ktorá hovorí, že sa musí zmeniť práca s cookies z opt-out (teda si viem nechcené cookies vypnúť) na opt-in (nechcené cookies si musím povoliť). Keďže je tenká hranica medzi štatistickými a analytickými cookies, tak nás čaká zmena, ktorú treba implementovať. Pre české firmy už od 1.1.2022, u nás zatiaľ nevedno kedy. Viac k téme sa dozviete v nasledujúcom článku, ktorý je to najlepšie, čo som k téme našiel.

Nová pravidla cookie lišty zásadně omezují sběr dat. S námi o ně nepřijdete
Změna legislativy zavádí pod hrozbou postihů od 1. 1. 2022 změny ve využívání cookies, které se budou týkat každého webového provozovatele. Nová pravidla spočívají v přechodu ze stávajícího režimu opt-out pro používání cookies do režimu opt-in.

Prečo je JavaScript tak rýchly?

Každý máme nejaké koníčky. Ten môj je podvedomá snaha pochopiť, ako veci fungujú. Možno vám to nepríde divné, ale JavaScript vie byť v prehliadači rýchly ako blesk. Teda keď to porovnáte s bežnou prácou, že dáte skompilovať nejaký kód a koľko trvá, kým vám kompilátor vypľuje spustiteľnú binárku. A samozrejme JavaScript je prototypový jazyk, takže v podstate ani neviete, či objekt má implementovanú nejakú funkciu, alebo je to len property. Ak ste na tom podobne ako ja, tak základný popis postupov, ako prehliadače dosiahnu, že JavaScript beží rýchlejšie, ako by sme čakali, nájdete v nasledujúcom článku.

How JavaScript engines achieve great performance
JavaScript is an impressive technology. Not because it’s particularly well-designed (it isn’t). Not because almost every single consumer device with internet access in the world has executed a…

Pred 40 rokmi vzniklo MTV

Dnešný týždenník je viac ako nostalgický. Aj keď výročie spustenia MTV bolo v auguste, ja som na to prišiel až minulý týždeň. Dnes, keď máme v YouTube k dispozícii takmer akúkoľvek hudbu aj s jej vizuálnou reprezentáciou, nám už ani nepríde divné, že kedysi bola hudba doménou rádií. A potom vznikla MTV, ktorá k rádiu pridala obraz. Odvtedy ubehlo 40 rokov a dnes si už ani nevieme predstaviť, že by nejaký singel prerazil bez patričného obrazového sprievodu. Dnes by sme to nazvali disruption. Mimochodom prvá pesnička, čo sa na MTV hrala, bola “Video Killed the Radio Star”, aj keď dnes už vieme, že rádio to veru nezabilo.

Watch the First Two Hours of MTV’s Inaugural Broadcast (August 1, 1981)
Not everyone on August 1, 1981 had a VCR at their disposal, and not everybody stayed up until midnight. But fortunately at least one person did, in order to tape the first two hours of a new cable channel called MTV: Music Television.

.NET okienko

Dnes začneme s niečím ľahším, napríklad s tým, ako v .NET 6 nastaviť číslo portu, na ktorom bude program počúvať.

Running a .NET 6 Service on a Specific Port
I often have web services for test and demo purposes. For these services, I want to hard-code a localhost port so that I can minimize c...

Potom sa naučíme, ako nastaviť projekt, aby sme využili File Scoped Namespaces.

Updating your project to use File Scoped Namespaces - Gérald Barré
In this post, I describe how to automatically update all of the files to use File Scoped Namespaces (C# 10 feature).

Keď už konvertovať program na .NET 6, tak najjednoduchšie cez .NET Upgrade Assistant.

Upgrading a 20 year old University Project to .NET 6 with dotnet-upgrade-assistant
I wrote a Tiny Virtual Operating System for a 300-level OS class in C# for ...

A z .NET 6 v prípade validovania vstupov vyzerá zaujímavo atribút [CallerArgumentExpression]. Ten prevedie expression na text.

Don’t Code Tired | What’s New in C# 10: New Possibilities for Validation and Logging Methods
Don’t Code Tired - Jason Roberts on Software Development and .NET -

Medzi užitočné návody môžeme zaradiť aj návod, ako rozbehať Keyed dependencies z IoC AutoFac na Azure Functions. Podobné to bude aj pri iných IoC kontajneroch.

Adam Storr - Using AutoFac Keyed Dependencies Directly in .NET 6 Isolated Azure Functions
Adam Storr - Powered by coffee!

Tool na scriptovanie pomocou .csx súborov dotnet-script dostal verziu 1.3 s podporou .NET 6. My ho používame na generovanie .d.ts súborov z existujúcich typov v projekte.

dotnet-script 1.3 is out with .NET 6.0 support | StrathWeb. A free flowing web tech monologue.

Linky na záver

Dokážem nastaviť hádam každý prístroj, ale práčka? Práčka je pre mňa taký ten prístroj, že nech sa snažím najlepšie ako viem, nakoniec buď vyťahujem sveter vo verzii pre deti, alebo farebne zladený s ostatným obsahom práčky. A pritom tu kedysi existoval jednoduchý koncept práčiek používajúci dierne štítky.

Ak patríte medzi dátových závislákov a neradi nosíte fitnes trackery alebo hodinky, tak vyšla tretia verzia Oura prsteňa. Teoreticky by mal mať presnejšie výsledky merania SpO2 vzhľadom na umiestnenie (zatiaľ ale dostupné v neskoršom termíne).

Oura Ring Generation 3 review: a relationship for the long term
The third-generation Oura Ring adds a host of ambitious health features like period predictions, SpO2, workout and daytime heart rates, and improved sleep algorithms. You’ll also have to pay a monthly subscription to get them.

Dnes sa nám nazbieralo veľa bodiek. Prvá je o tom, že naming is hard.

Druhá je o tom, že niekedy je dôležité veci správne pomenovať a vyjadriť.

Saturday Morning Breakfast Cereal - Wolf
Saturday Morning Breakfast Cereal - Wolf

Nuž a tretia vyjadruje môj bežný pracovný deň.