js

A collection of 30 post

Style guides & Rules - jak ogarnąć codebase?

Znowu bierzymy na tapet książkę Software Engineering at Google. Tym razem omawiamy temat zasad i utrzymywania porządku w codebase. Poruszamy następujące kwestie:

  • jak podejść do style guide?
  • czy można utrzymać ten sam styl w wielu projektach?
  • kto odpowiada za utrzymywanie porządku?
  • czy automatyzacja to jedyne rozwiązanie?
  • ten sam czy inny styl dla kolejnego projektu?
Zapraszamy do wysłuchania rozmowy 💪

Dokumentacja w projekcie - Software Engineering at Google

Wracamy z kolejnym odcinkiem, gdzie analizujemy temat z książki Software Engineering at Google. Tym razem bierzemy na tapet dokumentację w projekcie. Dyskutujemy: - czy rzeczywiście dokumentacja to pierwsza potrzeba w projekcie? - kiedy potrzebujemy dokumentacji? - kto powinien być odpowiedzialny za jej utrzymywanie? - jakie projekty szczególnie potrzebują dokumentacji? - jakie korzyści ma tworzenie dokumentacji? - czy możemy zmierzyć ROI z dokmentacji? Na te i wiele innych pytań staramy się odpowiedzieć w tym odcinku. Zapraszam do wysłuchania rozmowy na Spotify, Apple Podcasts, Google Podcasts i https://poprostujs.pl

Web Performance - wywiad z Adamem Barem

Zapraszam na kolejny wywiad. Tym razem zaprosiłem Adama Bara. Znamy się z Adamem już od dłuższego czasu i wiem, że Adam mocno siedzi w tematach web performance & PWA. Chciałem porozmawiać na oba tematy, ale … trochę się rozgadaliśmy i przegadaliśmy tylko web performance. Mam nadzieję, że przyjdzie czas na dogrywkę i temat PWA. Adam przeprowadza audyty wydajności i pomaga firmom osiągnąć lepsze === szybsze systemy. Rozmawiamy na temat: - przeprowadzania audytów - metryk wydajności aplikacji - wpływu architektury na wydajność - kompromisach we wspólnych działaniach z teamami marketingowymi - przydatnych narzędziach w mierzeniu wydajności - “ulubionych” bibliotekach Zapraszam do wysłuchania rozmowy na Spotify, Apple Podcasts, Google Podcasts i https://poprostujs.pl

Next.js - wywiad z Arturem Chmaro

Kolejny wywiad wjeżdża na salony. Miałem przyjemność porozmawiać z Arturem Chmaro. Artur siedzi w tematach JS, React & blockchain. Artur dzieli się swoją wiedzą na social mediach. Prowadzi kanał na youtube - https://www.youtube.com/c/ArturChmaro oraz konto na instagramie https://www.instagram.com/fullstak_pl/. Artur jest również twórcą kursu Next.js -> https://sklep.fullstak.pl/kurs-nextjs Rozmawiamy na temat Next.js, jakie są jego zalety i wady. Wszystko w kontekście doświadczeń Artura w projektach, które tworzy. Omawiamy różne rodzaje renderowania w Next.js - SSR, SSG oraz ISR. Zapraszam do wysłuchania rozmowy na Spotify, Apple Podcasts, Google Podcasts i poprostujs.pl

Deprecation - co zrobić ze starym kodem?

Nie każdy kod żyje wiecznie… W sumie, to chyba żaden. Ale co zrobić kiedy już nie chcemy utrzymywać jakiegoś systemu czy API, z którego ciągle ktoś korzysta? W tym odcinku bierzemy na tapet “Code Deprecation”. Do dyskusji skłoniła nas książka “Software Engineering at Google by Titus Winters, Tom Manshreck & Hyrum Wright”. Jest to pierwszy odcinek z nadchodzącej serii na temat książki nt. tworzenia software według Google i naszego komentarza. Zapraszam do wysłuchania rozmowy na Spotify, Apple Podcasts, Google Podcasts i poprostujs.pl

Nauka React'a - wywiad z Krzysztofem Jendrzycą

Przygotowania chwilę trwały, ale w końcu mamy to. Wchodzimy z nowym formatem, a właściwie dodajemy nowy format do podcastu. Regularnie będziemy zapraszać ciekawych ludzi ze świata JS oraz ogólnie programowania. Będziemy wspólnie rozkminiali ciekawe tematy, ale nadal wszystko w obrębie własnych doświadczeń. Do pierwszego wywiadu zaprosiłem Krzysztofa Jendrzycę. Znamy się z Krzysztofem naprawdę dobrze i cenimy podobne wartości. Bardzo mocno trzymamy się solidnych fundamentów i prostoty. Krzysztof jest znany z bloga SkutecznyProgramista.pl, gdzie dzieli się swoimi przemyśleniami na temat nawyków, modeli mentalnych i sposobów pracy doświadczonych programistów. Bardzo szanuję go, że zawsze skupia się na własnych doświadczeniach, a nie filozofowaniu jak świat powinien wyglądać. Bardzo ciekawie o swoich przemyśleniach na różne tematy pisze również na blogu krzysztof.io Rozmawiamy o tym, jak podejść do nauki React'a. Obaj siedzimy w temacie naprawdę długo. Wzięliśmy React'a, ponieważ dobrze rozmawiać na konkretnym przykładzie, ale rozmowa dotyczy ogólnie nauki nowych języków, bibliotek czy koncepcji. Zapraszam do wysłuchania rozmowy na Spotify, Apple Podcasts, Google Podcasts i poprostujs.pl

Micro Frontends - a może jednak ma to (czasami) sens?

Wszystko zaczęło się od monolitu i tak pewni by się skończyło, ale ... Nie pałaliśmy zbytnio chęcią do pójścia w stronę micro frontend'ów. Natomiast wymagania w projekcie tak pokierowały naszymi wyborami, że postanowiliśmy spróbować. Rozmawiamy o naszych doświadczeniach: - jakie są mocne strony micro frontend'ów? - jakie są wady? - czy narzędzia pomagają czy przeszkadzają? - czy warto wchodzić w temat? Zapraszam do wysłuchania rozmowy na Spotify, Apple Podcasts, Google Podcasts i poprostujs.pl

Testowanie na froncie - czy warto?

Bardzo kontrowersyjny temat. Ale chyba takie są najlepsze. Po 10-15 latach kodowania mamy swoje przemyślenia i chcemy podzielić się naszym punktem widzenia. Mamy nadzieję, że będzie kontrowersyjnie. Czy testowanie na froncie ma sens? Jak definiujemy testy jednostkowe, integracyjne i end-to-end? Czym różni się testowanie backendu i frontu? Kiedy warto testować? Na jakie elementy warto zwracać uwagę? Czym jest ROI? Dlaczego kiedyś programiści nie pisali testów, a software powstawał? Czy odchodzi pewna epoka kodowania? Często powstają dyskusje na temat testów, TDD i podejścia do tworzenia kodu. Mam nadzieję, że dajemy trochę argumentów do ponownego przemyślenia tematu. Zapraszam do wysłuchania rozmowy na Spotify, Apple Podcasts, Google Podcasts i poprostujs.pl

Konferencja LIVE - zapowiedź, odwołanie, ale będzie ...

Lekka przerwa już za nami. Wracamy do regularnego nagrywania. Nie było nas tak długo, że nie zdążyliśmy zapowiedzieć naszej konferencji, a już musieliśmy ją przełożyć... Rozmawiamy na temat konferencji: - jakie są założenia? - jaki będzie format? - kto ma przyjechać - dlaczego postanowiliśmy przełożyć? Konferencja to temat, który chodził nam po głowie od dobrych 3 lat. W końcu wszystko zaczęło się krystalizować i mocno zabraliśmy się do pracy. Wszystko szło pięknie, do momentu aż Ukraina nie została zaatakowana... Zapraszamy do rozmowy i szerszego kontekstu tworzenia konferencji.

Ewolucja języków - JS, TS, CoffeeScript, Go, GoPlus, Java, Scala, Kotlin

Kolejny odcinek z serii GitHub Trending Repos. Punktem zapalnym naszej dyskusji jest repozytorium języka GoPlus. GoPlus to dialekt Go, który ma umożliwić inżynierom łatwiejsze wejście i działanie w świecie programowania. Nowy dialekt Go to tylko początek dyskusji na temat ewolucji języków programowania. Rozmawiamy na temat zmian w świecie JS patrząc na CoffeeScript & TypeScript. Mocno filozoficzne rozważania na początek tygodnia. Zapraszamy do wysłuchania odcinka.

JS + Hardware / GameDev = ?

Tym razem Marek prowadzi ( prawie ) monolog na temat ciekawych zastosowań JS. Wybraliśmy 2 skrajne tematy: - hardware -> https://www.kickstarter.com/projects/gfw/banglejs-2-the-open-smart-watch - gamedev -> https://mp2.dk/techblog/chowjs/ Poza tym, że pozwalają wykorzystać JS w zupełnie odmiennych środowiskach, to jeszcze ze swojej natury są zupełnie różne. BangleJS 2 to ekosystem w świece open-source. Praktycznie wszystko jest otwarte i możemy dowolnie modyfikować elementy. Natomiast ChowJS jest closed-source z ( mocno ) płatną licencją. Rozmawiamy o dwóch różnych światach. Marek mocno przygotował się do rozmowy, także zapraszam do wysłuchania (mono / dia ) logu.

Trending repos on GitHub - 09.2021

Przejrzeliśmy listę repozytoriów na GitHub'ie w poszukiwaniu ciekawych projektów. GitHub publikuję listę repozytoriów 'na topie'. Znaleźliśmy 5 projektów, które wydają nam się ciekawe: - Tech Interview Handbook - The Algorithms - Python-Mini-Projects - Spotify TUI - Authelia Omawiamy projekty edukacyjne, ciekawe i warte wypróbowania. Zapraszamy do wysłuchania odcinka.

Electron !== Security - bezpieczeństwo w aplikacjach desktop'owych

Najpopularniejszy ( jedyny ? ) sposób na tworzenie aplikacji desktop'owych w JS to Electron. Niestety, wbrew pozorom wrzucenie stworzonej wersji webowej do Electron to nie jest najlepszy pomysł... Rozmawiamy na temat bezpieczeństwa w Electron. Nasza krótka przygoda z Electron'em zupełnie nas nie zaskoczyła i na szczęście szybko się skończyła. Zapraszam do wysłuchania nowego odcinka.

ES 2022 - klasy, klasy, klasy - Quo Vadis JS?

ES2022 wprowadza szereg nowości ( szczególnie ) dla klas : - Class Public Instance Fields & Private Instance Fields - Private instance methods and accessors - Static class fields and private static methods - Ergonomic brand checks for Private Fields Mamy jeszcze lekką zmianę dla RegExp oraz top-level await. Natomiast widać wyraźny trend w nadchodzących zmianach... A może to tylko przypadek i kolejny standard wprowadzi zmiany do innych elementów języka i biblioteki standardowej. Być może wprowadzone zmiany to efekt niedopracowania wcześniejszych standardów. Długo czekaliśmy na zmiany wprowadzone w ES6, ale czy zmiana cyklu wydawniczego na roczny nie spowodowała wprowadzania niekompletnych feature'ów? Zapraszamy do wysłuchania rozmowy. TRANSCRIP: c4b3a102459447abb03db5699b58bc52

A może jednak Deno ma sens?

W poprzednim odcinku rozmawialiśmy na temat Deno i krótko mówiąc nie byliśmy zbyt optymistyczni. Główne założenia Deno nie robiły różnicy w kontekście porównań z Node.js. Wracamy po “wakacyjnej” przerwie. Nowa usługa - Deno Deploy - wchodzi na scenę. Czy to zmienia wszystko? Czy nasze przemyślenia…

Czy potrzebujemy review do pull request'ów?

Natrafiłem na ciekawy blog post napisany przez Jessica Kerr na temat pull request'ów. Znalazłem tam kilka ciekawych tez i postanowiliśmy nagrać odcinek. Rozmawiamy: - dlaczego nikt nie chce robić review do pull request'ów? - jak wygląda dobrze zrobione review? - czy warto inwestować tyle czas na sprawdzenie każdej zmiany? - czy pair programming / mob programming jest alternatywą? - jakie widzimy problemy z mob programming? Zapraszam do wysłuchania podcast. Rozmawiamy mocno subiektywnie na bazie naszych doświadczeń.

React Server Components - powrót do przeszłości?

ReactJS rozwija się w coraz ciekawszych kierunkach. Ostatnio Dan Abramov, Lauren Tan, Joseph Savona i Sebastian Markbåge przedstawili propozycję czegoś całkowicie nowego, co przypomina stare dobre programowanie w JSP. Czy React Server Side Components zrewolucjonizują pisanie BackEnd? Czy dzięki nim…

Analizujemy State Of JS 2020

State Of JS to ogólnoświatowa ankieta dla społeczności JS, w której uczestnicy dzielą się swoimi doświadczeniami z nowymi bibliotekami, technologiami których używają i których chcieliby spróbować w przyszłości. W tym odcinku rozmawiamy o tym, co ciekawego i dziwnego można tam znaleźć.

Ekosystem zależności w JS - wartość czy koszt?

Ktoś kiedyś powiedział, że każda linijka kodu której nie musiałeś napisać to linijka, której nie będziesz musiał utrzymywać. Tym właśnie miały być biblioteki - kodem którego nie musimy utrzymywać. Niestety nie ma nic za darmo. Wymieniamy własny kod na dbanie o zgodność z API biblioteki. Tylko czy to zawsze jest opłacalna wymiana?

Redux Form, Formik, React Hook Form - czyli formularze w ReactJS

ReactJS zawsze był znany z ignorowania faktu, że niektóre aplikacje potrzebują więcej formularzy niż 1 input. W ciągu ostatnich kilku lat powstało kilka bibliotek, które próbują ułatwić nam życie z dużymi formularzami. Czy wszystkie są warte zachodu? Czy może już teraz ich wcale nie potrzebujemy? Posłuchaj kolejnego odcinka...

Co się stało z Pixel Perfect Design

Dawno, Dawno temu internet objegła wieść, że jeśli nie robisz Pixel Perfect design, to twoje aplikacje i strony są paskudne, a ty nie powinieneś się zajmować programowaniem, tylko wypasem owiec. W tym odcinku rozmawiamy o tym co stało się z Pixel Perfect Design i czy to wogóle jest możliwe, żeby w dzisiejszych czasach aplikacja była zgodna z designem co do pixela.

GraphQL - czy i kiedy warto spróbować

W tym odcinku bierzemy pod lupę nasze doświadczenia z GraphQL. Jak wyglądało nasze przejście od Reduxa i REST do Apollo i GraphQLa. Czy i kiedy uważamy, że jest to dobry a kiedy zły pomysł. I czy ponownie zdecydowalibyśmy się na tą zmianę. Posłuchaj... nie pożałujesz...

Baza danych w NodeJS? Czy to możliwe?

Baza danych w NodeJS? Wydawałoby się niemożliwe... A jednak, twórcy HarperDB porwali się z "motyką na słońce" i stworzyli właśnie coś takiego. W tym odcinku, całkiem subiektywnie, rozprawiamy o tym szalonym pomyśle.

AsyncLocalStorage w Node.js - kontekst dla asynchronicznych wywołań | Safari 14 i Firefox Tracking Protection - czy używanie analytics straci sens.

W części pierwszej rozmawiamy o Node.js 14, który wszedł do fazy LTS a wraz z nim beta AyncLocalStorage, czyli stanu dostępnego pomiędzy asynchronicznymi wywołaniami. Wreszcie możliwe będzie przechowywanie kontekstu dla całego wywołania HTTP, niezależnie od warstwy w której znajduje się kod. Następnie przechodzimy do nowych wersji przęglądarek z rozbudowanymi zabezpieczeniami przeciwko śledzeniu użytkowników. Czy w niedalekiej przyszłości używanie narzędzi do analizy ruchu na stronie straci sens?

Czy Recoil.js - nowa biblioteka do zarządzania stanem, zdetronizuje Reduxa.

Już kilka lat temu Redux stał się de facto standardem w przechowywaniu globalnego stanu w React-ie. Ale świat nie lubi stać w miejscu i ciągle powstają nowe rozwiązania tego samego problemu. Jednym z nich jest Recoil.js, który trochę wywraca cały koncept do góry nogami. Czy warto dać mu szansę?

ESBuild - czy potrzebujemy kolejnego bundlera do JavaScriptu?

Tym razem na tapecie temat, który wydawałoby się, nie może być interesujący. Bo czy kolejny bundler dla JavaScriptu może wnieść coś nowego? Ale esbuild jest na swój sposób wyjątkowy, bo jest napisany w Go i rzeczywiście wprowadza nową jakość jeżeli chodzi o czas budowania.

LightDate - czy mikro-biblioteki są potrzebne | GraphQL i co nowego w Apollo Client 3.0

Pojawienie się "super-puper" lekkiej biblioteki do formatowania daty skłoniło nas do dyskusji na temat mikro-bibliotek i czy na pewno dzięki nim nasze życie jest łatwiejsze. Rozprawiamy też o enkapuslacji i bibliotekach jako takich. Następnie przechodzimy do nowości w Apollo Client 3.0 i dlaczego szczególnie nas cieszy nowa wersja. Poświęcamy też chwileczkę, żeby podzielić się, a jakże, naszymi opiniami na temat GraphQL i Apollo.

ES2020: wykorzystaj siłę nowego standardu JavaScript

Analizujemy najnowszą wersję ES2020 i najciekawsze elementy wprowadzone do języka i biblioteki standardowej JavaScript. Pojawiło się naprawdę sporo ciekawych rzeczy: lazy loading import, Promise.allSettled, BigInt, globalThis, optional chaining, czy nullish coalescing operator. Szczególnie wprowadzenie 2 nowych operatorów prawdopodobnie mocno wpłynie na tworzony kod. Wiele z wprowadzonych zmian jest już dostępnych od jakiegoś czasu w TypeScript, natomiast wprowadzenie ich do JS to zdecydowanie krok na przód. Wprowadzenie rocznego cyklu ECMAScript pomogło wprowadzać stopniowe zmiany, w przeciwieństwie do rewolucji ES6.

Regexp i SuperExpressive | JsHint i zło | nowości w TypeScript4

Tym razem zaczynamy od nowego podejścia do wyrażeń regularnych. Co to jest Super-Expressive, czy zastąpi popularne regex-y? Potem płynnie przeskakujemy do JSHint i zmian licencyjnych, które wstrząsnęły światem JS i kończymy nowościami w TypeScript, który przeskoczył ostatnio na wersję 4.0. Zapraszamy na sporą dawkę osobistych opinii i niekoniecznie poważnych analiz tego co dzieje się w społeczności i technologiach JS.

XBox i React Native | ReacType i inne starter kity

W tym odcinku rozmawiamy o najnowszej wersji aplikacji XBox dla Windows 10. Co to ma wspólnego z JS? Otóż wydana ostatnio wersja beta jest napisana w React Native i korzysta ze stworzonych przez Microsoft specjalnie dla RN bibliotek. Później przechodzimy do wydanego ostatnio narzędzia programowania wizualnego ReacType i filozoficznych rozważań, czy narzędzia piszące kod za nas na pewno są przydatne.