Wpisy z kategorii JavaScript
Strona 1
-
Projektujemy czasomierze
W poprzednim odcinku przyjrzeliśmy się, jak działają czasomierze w przeglądarce i zidentyfikowaliśmy kilka problemów, które można poprawić. Dzisiaj spróbujemy zaprojektować
lepszenowe API czasomierzy! -
Tik-tak
W przeglądarce dostępnych jest dużo różnych API. Niektóre z nich nieustannie ewoluują czy wręcz zostają zastąpione przez nowsze, lepiej zaprojektowane API. Inne z kolei wydają się całkiem zapomniane – jak choćby czasomierze (timers). Ostatnio używałem ich w małym projekcie i naszła mnie garść refleksji, którymi postanowiłem się podzielić ze światem.
-
Ukradli mi magazyn
Zbliżał się wieczór. Nie było rady, dopaliłem papierosa i wsiadłem do samochodu. Zaczął padać deszcz, bębnił o dach mojego metalowego dyliżansu. Jechałem na nadbrzeże, do mojego magazynu. Wczoraj powinna być dostawa. Droga strasznie się dłużyła, jakby wraz z deszczem spadały też dodatkowe kilometry asfaltu. W końcu jednak mój stary rzęch dochrapał się na miejsce. Wysiadłem i moja brew mimowolnie się uniosła. Spodziewałem się wszystkiego, ale nie tego, że wyparuje cały budynek. Nie ukradli mi towaru, oni ukradli mi magazyn!
-
Kreda, czyli reakcja łańcuchowa
Node.js w wersji 21.7.0 dodał natywne wsparcie dla kolorków w terminalu, yay! Teraz można łatwo i przyjemnie stylować tekst w terminalu:
import { styleText } from 'node:util'; console.log( util.styleText( 'underline', util.styleText( 'italic', 'Podkreślony, pochylony tekst' ) ) ),
Hmm, powiedziałem łatwo i przyjemnie… A mówiąc to, mam na myśli tak naprawdę to, w jaki sposób zachowuje się Chalk:
import chalk from 'chalk'; console.log( chalk.underline.italic( 'Podkreślony, pochylony tekst' ) );
Zdecydowanie czytelniej i jakoś tak milej. No więc postanowiłem spróbować dorobić taki interfejs do natywnego wsparcia kolorków.
-
Uparte narzędzia
Nie tak dawno temu na fejsowych grupkach poświęconych webdevowi zobaczyłem dwie rzeczy. Jedną z nich był news o nowej wersji jakiejś popularnej JS-owej biblioteki, w którym autor zastanawiał się, jak przetłumaczyć na polski słówko opinionated. Drugą był kod startera dla aplikacji w Next.js i Tailwindzie, który zawierał 20 plików konfiguracyjnych (22, jeśli doliczyć licencję i plik
README
). Co te posty mają ze sobą wspólnego? W sumie to nic, ale skłoniły mnie do dzisiejszej refleksji. -
W odwiedzinach u Bramkarza
Słońce leniwie chowało się za widnokręgiem, rozrzucając pomarańczowe smugi po bezchmurnym, alabastrowym niebie, jakby było wielkim krakenem rozczapierzającym swoje macki. Szedłem złotożółtą plażą kontrastującą z lazurową tonią oceanu, w której odbijały się heroiczne zmagania niebios z wodną bestią. Piasek chrzęścił pod moimi stopami, jakby szepcząco skarżąc się na brutalność mego kroku. Widziałem go – siedział na leżaku, udając, że życiodajna ognista kula wciąż góruje na nieboskłonie, a jej kapryśne promienie tylko czekają, by smagać jego bladą skórę. Gdy stanąłem nad nim i pochyliłem się, miał zamknięte oczy. Drapieżny mrok rzucanego przeze mnie cienia zmusił go do spojrzenia na mnie – spojrzenia jakże zaskoczonego i pytającego. Powolnym, acz zdecydowanym, ruchem dłoni zdjąłem okulary przeciwsłoneczne i, patrząc cynicznie w jego wciąż nierozumiejące oczy, powiedziałem spokojnie ochrypłym głosem: “Wstawaj, Bramkarzu, mamy Node’a do spalenia”.
-
Piękny kod
Ostatnio doszedłem do wniosku, że do formatowania mógłbym używać jakiegoś faktycznego formatera zamiast ESLinta. Oczywistym wyborem byłby Prettier, ale nie byłbym sobą, gdybym nie pisał swojego kodu w stylu, pod który nijak się nie da Prettiera skonfigurować. A nie uśmiechało mi się zmieniać styl pisania kodu tylko po to, żeby odhaczyć sobie na liście “rozpoczęcie używania formatera”. Zacząłem szukać alternatywy i… trafiłem tak naprawdę na jedną obiecującą – dprint. Szybki, mocno konfigurowalny i ogólnie bardzo miły w pracy – tylko że brakowało mu dosłownie 3 opcji konfiguracyjnych, żeby formatował dokładnie tak, jak chcę.
Zatem zrobiłem tylko jedną logiczną rzecz… Co? Nie, oczywiście, że nie chodzi mi o przygotowanie PR-a do dprinta. Zacząłem rzeźbić własny formater!
-
Makrony
Nie tak dawno temu Bun pokazał makra. Spodobały mi się na tyle, że postanowiłem spróbować przenieść je do Rollupa.
-
Cienie przeszłości
Niektóre rzeczy w webdevie wydają się nie być przesadnie ekscytujące. No bo czymże może nas zaskoczyć atrybut
[onclick]
? Cóż, okazuje się, że wieloma rzeczami. -
Jak strzelić sobie różdżką w stopę, część 2.
W czerwcu 2021 opisywałem nieco mój pomysł na pakiet testowy dla reszty moich projektów. Ostatecznie jednak postanowiłem, że nie będę go dłużej rozwijał, ponieważ jest zbyt problematyczny. I w tym poście postaram się wyjaśnić dlaczego.