Czym jest JSX (JavaScript XML)

Czym jest JSX (JavaScript XML) JSX to rozszerzenie składni JavaScript, które pozwala pisać struktury podobne do HTML bezpośrednio w kodzie JavaScript. Został stworzony przez zespół Facebooka (obecnie Meta) w 2013 roku jako część biblioteki React i od tego czasu stał się standardem w ekosystemie frontendowym. Zamiast rozdzielać logikę i wygląd do osobnych plików (JavaScript + […]

Czytaj więcej

Optymalizacja eventów w JavaScript: debounce i throttle

W nowoczesnych aplikacjach frontendowych płynność interfejsu i wydajność przeglądarki mają ogromne znaczenie. Wiele funkcji JavaScript wywoływanych jest w odpowiedzi na szybkie, powtarzalne akcje użytkownika, takie jak przewijanie, zmiana rozmiaru okna czy wpisywanie tekstu. Jeśli nie ograniczymy liczby tych wywołań, aplikacja może zacząć działać coraz wolniej, a interakcje staną się „ciężkie” i mało responsywne. Właśnie dlatego […]

Czytaj więcej

Ustawienie domyślnych kluczy SSH dla wielu kont na gitlabie i githubie

Jeśli posiadasz kilka kont na GitLabie lub GitHubie (np. konto prywantne i konto firmowe) i każde z nich korzysta z różnych kluczy SSH (co jest dobrą praktyką), możesz dla każdego konta zdefiniować osobny zestaw parametrów uwierzytelniania, tak aby środowisko pracy automatycznie rozpoznawało, którego klucza SSH użyć w danym kontekście. W praktyce oznacza to, że operacje […]

Czytaj więcej

Code review: najczęstsze błędy wyłapywane u innych developerów

Code review to nie tylko nauka dla osoby, której kod jest przeglądany, to również doskonała okazja do obserwacji powtarzających się wzorców błędów w zespole. Po przejrzeniu dziesiątek pull requestów zaczynają wyłaniać się pewne klasyki gatunku, błędy, które pojawiają się niezależnie od poziomu doświadczenia programisty. Niektóre z nich to drobne niedopatrzenia, inne mogą poważnie wpłynąć na […]

Czytaj więcej

Security by obscurity – czyli dlaczego ukrywanie to nie zabezpieczanie

W świecie IT łatwo trafić na praktyki, które na pierwszy rzut oka wydają się sprytne, a w rzeczywistości są jedynie zasłoną dymną. Jedną z nich jest security by obscurity – podejście do bezpieczeństwa, w którym ochrona systemu polega głównie na ukrywaniu pewnych informacji, celem utrudnienia atakującemu zrozumienia jego działania i odnalezienia luk bezpieczeństwa, a nie […]

Czytaj więcej

Błędy poznawcze w świecie IT

W branży technologicznej podejmowane są dziesiątki decyzji dziennie, od wyboru architektury, przez sposób implementacji, po estymacje i decyzje projektowe. Wiele z nich nie wynika wyłącznie z wiedzy i doświadczenia, lecz z mechanizmów psychologicznych, które wpływają na to, jak postrzegamy problemy, oceniamy ryzyka i przewidujemy konsekwencje. Te mechanizmy to błędy poznawcze – uproszczone wzorce myślenia, które […]

Czytaj więcej

Git – jak przywrócić usunięty branch?

Kto nigdy przypadkowo nie usunął niewłaściwego brancha, niech pierwszy rzuci kamieniem 😛 Zmęczenie, roztargnienie czy inna przyczyna – zdarza się. Jak już zorientujesz się, co się właśnie wydarzyło, pierwszą reakcją jest myśl: 'o nie, co ja zrobiłam?’ (no dobra, pierwsza myśl jest nieco bardziej nacechowana wulgaryzmami, ale nie będę ich tu przytaczać). W przypływie paniki […]

Czytaj więcej

strict_types w PHP – jak działa i dlaczego ma znaczenie

strict_types w PHP Domyślnie PHP stosuje tzw. „type juggling”, czyli automatyczne dopasowywanie typów danych. Oznacza to, że interpreter PHP stara się „zgadnąć”, jakiego typu wartość masz na myśli, i konwertuje ją w locie, bez błędu i bez ostrzeżenia. Na przykład jeśli funkcja lub operator oczekuje liczby, a dostanie tekst zawierający cyfrę (np. "5"), PHP potraktuje […]

Czytaj więcej

Javascript – Przykład funkcji rekurencyjnej

Funkcja rekurencyjna to funkcja, która wywołuje samą siebie. Robi to, dopóki nie osiągnie określonego warunku zatrzymania (tzw. warunku bazowego). Dzięki temu można rozwiązywać problemy, które polegają na powtarzaniu tych samych działań na mniejszych fragmentach danych - sumowanie elementów w zagnieżdżonej tablicy - gdy tablica zawiera kolejne tablice w środku, przeszukiwanie drzewa - np. struktury kategorii, menu lub systemu plików czy nawigacja po zagnieżdżonych obiektach JSON.

Czytaj więcej