jakubenglicky / englicky-net Goto Github PK
View Code? Open in Web Editor NEWMy personal website. Generated by Statie and hosted at Vercel
My personal website. Generated by Statie and hosted at Vercel
Začátek roku 2020 nebyl ničím výjimečný připravovali jsme školení v rámci našeho projektu Školení nás baví, a také konferenci Web Science. Všechno se začínalo plánovat a nikdo neměl ponětí, co nás za pár týdnů čeká.
V únoru jsme uskutečnili první kola našich školení, které dopadly velmi dobře a již jsme se těšili, jak budeme dále expandovat, co se témat a termínu týká.
Jsem velmi zapálený vývojář a mám rád přesahy a nové informace. Velmi rád navštěvuji konference, kde se člověk mnoho nového dozví. Rozhodli jsme se s kolegou, že jednu takovou uděláme v Brně. Pojmenovali jsme ji Web Science stejně jako naši nově založenou firmu a naplánovali, že se uskuteční 30.5. Začali jsme domlouvat řečníky a také prostor. Celá akce měla proběhnout v KD Rubín. Očekávali jsme 300 lidí. Když měla přijít poslední fáze realizace korona už byla zde.
Je rozhodnuto konference bude online. Se streamem na YouTube máme nějaké zkušenosti, tak by to nemusel být problém. Domlouváme se PeckaDesign a využíváme jejich zasedačku odkud celé odpoledne streamujeme naši první konferenci.
Máme tady prázdniny a značné rozvolnění situace kolem covidu. Bohužel né na dlouho, ovšem v tuto chvíli stále ještě chceme věřit tomu, že je pandemie za námi a zprávám o druhé vlně dáváme valé. Připravujeme podzimní termíny školení a nová témata.
Máme tady září a druhou vlnu v plném proudu opatření se zpřísňují a jelikož nikdo neví, kdy co a jak, tak školení nemají obsazenost a jsme nuceni termíny rušit. Naštěstí všichni mají pro věc pochopení a tím pádem vše probíhá bez větších ztrát na financích či reputaci.
Pod přísným hygienickým opatřením jsme uskutečnili jedno školení, ale uvědomili jsme si, že offline to v budoucích měsících prostě moc nepůjde a je potřeba stejně jako v případě konference zde myslet na online prostředí. Doufáme, že nám bude rok 2021 nakloněn a vše půjde, tak jak bychom chtěli.
Možná se podle odstavců výše může zdát, že rok 2021 stál za starou belu. Ano, rozhodně to nebyl rok, který jsme si všichni představovali
Když na podzim roku 2020 vyšly nové Macbooky s M1 procesorem ohlasy byly grandiózní. Všechny recenze mluvily jen o super výkonu M1. V tu chvíli mě hned napadlo, jak asi půjde využít na webových vývoj se stackem, který používáme v Pecce. A to je Git, Docker, MariaDB, Redis, RabbitMQ, Node a PHPStorm.
Shodou okolností se mi naskytla možnost otestovat základní z řady Air - Macbook Air M1 8GB. Řekl jsem si, že když to otestuji na něm a bude to použitelné, tak potom každý z vyšší řady bude super.
V první řadě jsem si potřeboval ověřit, zda budou fungovat všechny programy, které potřebuji. K tomu mi velmi dobře poslouží stránka https://isapplesiliconready.com/, kde je po oborech krásně rozděleno, co je v jaké fázi vývoje právě pro Apple Silicon. Dozvíme se zde, že například webový prohlížeč Chrome je plně podporován pro M1, stejně tak Slack, Homebrew, Git, PHPStorm. A co Docker? Aktuálně pouze v beta verzi, nic méně to mi pro testování stačí, takže všechno, co potřebuji je dostupné.
Nutno říci, že Apple má ještě jednu možnost, jak spouštět aplikace, které nejsou primárně připraveny na M1, a to za pomocí software Rosetta 2, který provádí převod instrukcí z Intel na ARM a díky tomu může fungovat například Sublime Text, který ještě není pro M1 nativně podporován.
Začal jsem tedy s instalací běžných programů a vše šlo jako na drátkách. Většina webových stránek, kde jsem daný software stahoval správně detekovala M1 a nabídla mi ekvivalentní instalátor.
Chrome, Slack, PHPStorm tyto programy šly stáhnout bez problému ze stránek výrobce. Celý proces probíhal standardně. Při instalaci GITu mě systém vyzval k instalaci xcode, po potvrzení vše proběhlo bez problému a GIT byl dostupný. Poslední, co mě čekalo byl Docker. Ten jsem stáhnul přímo ze stránek Dockeru dle této dokumentace https://docs.docker.com/docker-for-mac/apple-m1/. A i zde překvapivě instalace proběhla v pořádku a Docker byl bez problémů dostupný.
Přidal jsem si SSH klíče, stáhnul repozitář a otevřel jej. Zde čekalo první velmi příjemné překvapení. PHPStorm, který daný projekt indexoval Macbooku Pro 2017 i5 2,3GHz desítky vteřin, byl hotový za pět. Spustil jsem kontejnery a k mému překvapení všechno naběhlo v pořádku Apache, MariaDB, Redis, RabbitMQ i NPM. Projekt byl dostupný a jeho časy nebyly vůbec špatné. Podotýkám, že jsem pouštěl v Dockeru, který jsem nějak extra nenastavoval, žádný Docker Sync nebo NFS.
Air M1 8GB | Pro 2017 8GB 7360U | Pro 2019 16GB 8257U | |
---|---|---|---|
Composer install (Docker) | 1m 17s | 5m | - |
NPM Build (nativně) | 24s | 55 s | 39s |
Request na aplikaci (Docker) | 1,2s | 3s | - |
PHPStan (Docker) | 1m 30s | 3m 30s | - |
Check Code-Style (Docker) | 45s | 42s | - |
Jak můžeme vidět M1 vítězí a v jedné disciplíně je to remíza. To by tedy mohlo znamenat, že vysoký výkon M1 vyrovnává známé zpomalení Dockeru a pak může být použitelný. Samozřejmě, lze očekávat že časy v případě nativního provozu PHP by byly o řády nižší. Musíme brát také v potaz, že testuji řadu Air a řadu Pro a i tak Air vítězí.
M1 jsem testoval cca měsíc. Psal jsem kód v PHPStormu, na pozadí mi hrálo Youtube video nebo Spotify, běžel Slack a samozřejmě samotný Docker. Spouštěl jsem právě zmíněný PHPStan či CodeStyle check. Za celou dobu používání jsem Macbook zahřál jen jednou, a to v případě, že jsem lokálně parsoval skrze PHP 5M řádkový csv, které jsem následně importoval do DB. Jinak byl vždy studený nebo vlažný.
Ohledně RAM nepociťoval jsem problém, že mám pouze 8GB RAM všechno se chovalo svižně. Je vidět, že Apple má práci s RAM velmi dobře optimalizovanou. Nicméně pokud bych měl Macbook používat jako hlavní nástroj a plánoval na něm vyvíjet několik let rozhodně bych volil variantu 16GB. Přeci jen v 8GB verzi systém dost swapuje na disk a podle článků, které se v poslední době objevili to disku nedělá úplně nejlépe.
Co mnohé může od přechodu na procesory M1 odrazovat je možnost připojit pouze 1 externí monitor. Není to tak úplně pravda jsou 2 možnosti, jak připojit 2 až 3 externí monitory.
Tyto iPady jsou vybaveny konektorem USB-C, takže k nim lze připojit externí monitor. Jelikož novější zařízení od firmy Apple podporují tzv. sidecar je možné sdílet z Macbooku obraz do iPadu.
Tím pádem máme k dispozici interní display, externí monitor přímo z USB-C a další připojený skrze iPad Sidecar.
Lehce krkolomné, ale možné.
Jelikož nové Mackbooky disponují pouze dvěma USB-C porty budete potřebovat nějaký HUB. Těch je celá spousta, ale pokud chceme připojit více monitorů budeme potřebovat spíše Docking Station. Já osobně používám i-tec USB 3.0 / USB-C 5K dokovací stanice s PD.
Jedná se o stanici, která nabídne připojení periferií prostřednictvím USB-A, USB-C, HDMI, DisplayPort a Ethernet, Power Delivery a navíc právě disponuje zmíněnou podporou DisplayLink. Stačí tedy stáhnout software, který má dokonce podporu pro M1 a připojit jedním USB-C kabelem. Macbook je rovnou napájen a přitom mám k dispozici všechny periferie.
Nás zajímá hlavně připojení monitorů. Skrze HUB jsem připojil 2 monitory o rozlišení 2560 × 1440 a jeden 1920 × 1080 pomocí USB-C přímo do Macbooku, takže mám k dispozici celkem 4 monitory včetně interního Retina displeje.
Macbook s procesorem M1 určitě není pro každého a je potřeba dobře zvážit jaký druh práce s ním chci dělat. Předem si ověřit, zda jsou dostupné všechny programy a služby, které potřebuji.
Nicméně pokud jste projekťák, který potřebuje Chrome, Office a možná terminál je M1 stroj, který Vaši efektivitu posune o level výš. Stejně tak, pokud jste web developer a váš stack je podobný tomu našemu. Rozhodně si myslím, že M1 si u Vás najde své místo.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.