Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

#frontend

Inspirator

w Hydepark

7piorunów

Otwieram 50 kart z pojedynczymi wpisami na Twitterze. Przeglądarka zjada kilkanaście GB RAM-u. Wiecie, ile w tym jest realnej treści (tekst + obrazki)? Jakieś 10 MB. Reszta — ponad 99% — to 50 kopii tej samej maszynerii, ładowanej od zera w każdej karcie.

Winne jest jedno ciche założenie, które wszyscy traktują jak prawo natury: „jedna karta = jedna osobna, w pełni załadowana strona". A wcale nie musi tak być.

Opisałem pomysł, jak to skasować, nie zmieniając niczego, co widzisz w przeglądarce — plus czemu to nie jest ani nowe, ani ryzykowne (bo ten wzorzec siedzi już w History API), i co z tego mają same serwisy.

https://claude.ai/public/artifacts/6bed38d9-9ca1-474c-a3dc-5403c9204085

Da się przełamać ten paradygmat, czy gadam głupoty?

Osobistość0piorunów

Każda karta jest sandboxowana i ma to swój powód dla bezpieczeństwa i innych takich. Plus nie wiem skąd te liczby bo odpaliłem teraz z ciekawości 47 kart Twittera u siebie i cały mój system operacyjny zużywa jedynie 14,5 GiB z czego Chrome jakieś ~11 GiB a mam w nim otwarte jeszcze masę innych kart.

Osobistość0piorunów

@fewtoast Mi się bardzo podoba ten pomysł i na pierwszy rzut oka ma sporo sensu.
W dłuższej perspektywie nigdy nie mam otwartych wielu kart przeglądarki, ale czasami jak przeglądam jakiś sklep to otworzę z 20 kart, aby porównać produkty i faktycznie bez sensu ładować wszystko od zera, skoro różnią się paroma komponentami i danymi. Tylko to wszystko musiałby ogarniać przeglądarka, nie? Takie SPA tylko o poziom wyżej, brzmi fajnie.

Ale tylko sprecyzuję. Przeglądarka wciąż pytałaby o całą stronę, tylko po odpytaniu i sprawdzeniu, nie dublowałaby rzeczy w ram, tak?
Czyli np. odpalam na karcie hejto.pl tworzy się jakiś kontener "hejto.pl" i on ma np.
aaa.js, bbb.png, ccc.js
Odpalam drugą kartę hejto.pl, leci request po całą stronę, ale przeglądarka sprawdza, że aaa.js, bbb.png, ccc.js jest już załadowany w ramie i jest w obrębie tego samego kontenera (hejto.pl), więc nie dubluję tego w ram, tylko reużywa tego, tak?

Pokaż więcej komentarzy (31)

Zawodowiec

w Programowanie

4piorunów

Jak ograniczyć skutki awarii - circuit breaker - devszczepaniak.pl

W świecie coraz częstszej integracji z LLM-ami i innymi zewnętrznymi usługami ich stabilność staje się realnym problemem architektonicznym. Usługi potrafią być wolne, przeciążone albo niedostępne, co łatwo może przenosić się na naszą aplikację i naszych klientów. Jednym ze

Zawodowiec

w Programowanie

11piorunów

Anemic Domain Model - devszczepaniak.pl

Anemic Domain Model to jeden z tych antywzorców, który jest bardzo prosty do zrozumienia, a jednocześnie bywa zaskakująco trudny do wykrycia i wyeliminowania. Co więcej – nie zawsze faktycznie jest antywzorcem. W najnowszym artykule na blogu pokażę Ci, czym jest Anemic Domain Model, kiedy

Zawodowiec

w Technologia

5piorunów

Awaria bloga - analiza postmortem - devszczepaniak.pl

31 marca to World Backup Day – dzień, który przypomina o tym, jak ważne jest zabezpieczenie danych i przygotowanie się na najgorsze scenariusze. Tegoroczny World Backup Day dał mi tę lekcję wyjątkowo dotkliwie. Tego dnia mój blog przeszedł najpoważniejszą awarię w swojej historii. Po

Zawodowiec

w AI

8piorunów

Claude Code – pierwsze wrażenia - devszczepaniak.pl

Od kilku tygodni intensywnie testuję Claude Code i w najnowszym artykule na blogu zebrałem swoje pierwsze konkretne wnioski. W artykule pokazuję, jak rozpocząć pracę z Claude Code i poprawić jakość dostarczanych rozwiązań. Dowiesz się, na co zwrócić uwagę przed wykonaniem pierwszego

Zawodowiec

w Programowanie

8piorunów

Kolejność wiadomości w systemach rozproszonych - devszczepaniak.pl

Problem kolejności przetwarzania wiadomości to obok exactly-once delivery jedno z największych wyzwań systemów rozproszonych. Już sama detekcja problemu bywa skomplikowana, nie mówiąc o jego rozwiązaniu.\ \ W najnowszym artykule na blogu pokazuję, na jakie problemy związane z

Zawodowiec

w Programowanie

18piorunów

Antywzorzec shared database - devszczepaniak.pl

Wspólna baza danych w mikroserwisach dość powszechnie uznawana jest za antywzorzec. Mimo że wykorzystanie jednej bazy brzmi wygodnie, w praktyce jest źródłem problemów istotnie utrudniających długoterminowy rozwój systemu. W nowym wpisie kompleksowo analizuję problemy, na jakie w

Zawodowiec

w Programowanie

6piorunów

Listmonk — darmowy mailing manager — studium przypadku i implementacja

Cytując klasyka — gratis to uczciwa cena. Prowadzenie mailingu za 0 zł w obecnych czasach możliwe jest tylko dla naprawdę małych list i wiąże się ze znacznymi ograniczeniami. Nie oznacza to jednak, że jesteśmy skazani na usługi kosztujące setki złotych miesięcznie. Przy odrobinie

Zawodowiec

w Programowanie

13piorunów

Zwykle udostępniam tu artykuły, które publikuję na swoim blogu. Tym razem mam jednak do pokazania coś większego 🎉

294 dni. Tyle minęło od napisania pierwszego zdania do postawienia ostatniej kropki mojego najnowszego e-booka. „Kolejna książka o Gicie” w końcu ujrzała światło dzienne i jestem ogromnie dumny z produktu, który mogę Ci dziś zaprezentować!

„Kolejna książka o Gicie” to ponad 180 stron konkretnej i praktycznej wiedzy. E-book przeprowadzi Cię krok po kroku od podstaw po bardziej zaawansowane treści. Nie jest to jedynie teoretyczny opis działania Gita, ale opisałem również praktyczne wskazówki i rekomendacje, które pomagają pracować z nim lepiej i efektywniej.

Oprócz treści teoretycznej w e-booku znajdziesz sporo ćwiczeń praktycznych pozwalających na przetrenowanie zdobytej wiedzy i wykorzystanie Gita w skryptach czy automatyzacjach.

W premierowym artykule znajdziesz szczegółowe informacje dotyczące zawartości e-booka :point_down:

https://devszczepaniak.pl/kolejna-ksiazka-o-gicie-premiera/

#git

#ebook

#programowanie

#informatyka

#programista15k

#frontend

#naukaprogramowania

#backend

Gruba ryba1piorunów

> W premierowym artykule znajdziesz szczegółowe informacje dotyczące zawartości e-booka

Dla tych co jak ja już chcieli pytać co jest w kolejnej i czy koniecznie trzeba zaglądać do poprzedniej :stuck_out_tongue_winking_eye:

Koneser1piorunów

Czyli to nie poradnik dla idących do więzienia …?

Zawodowiec1piorunów

@Penetrator4000 niestety, w pierdelku się nie przyda. Sam tam również się jak na razie nie wybieram więc raczej takowego nie napiszę :confused:

Pokaż więcej komentarzy (5)

Specjalista

w Programowanie

4piorunów

XSS nadal groźny: jak front-end może wpuścić złośliwy kod

Sanityzacja. Temat stary jak web, a XSS… nadal zbiera swoje żniwo. Niby walidujemy inputy.\ Niby framework „coś tam” zabezpiecza.\ Niby wiemy, że innerHTML to zło. \ A jednak XSS wciąż się zdarza - i to częściej niż chcielibyśmy przyznać. W najnowszym wpisie rozkładam XSS na

Specjalista

w Programowanie

6piorunów

PHP na ratunek — o generowaniu dużych plików bez gotowania przeglądarki

Frontend czy backend do generowania CSV? :thinking_face:\ Ostatnio stanęłam przed klasycznym dylematem: wygoda JavaScriptu kontra odpowiedzialność backendu w PHP - z dużymi plikami, strumieniowaniem, pamięcią i realnymi konsekwencjami dla użytkownika.\ Jeśli interesują Cię techniczne

Zawodowiec

w Programowanie

8piorunów

Czy prościej znaczy lepiej? - devszczepaniak.pl

O tym, że czasami prościej znaczy lepiej, miałem okazję przekonać się zbyt wiele razy. Nie zliczę, ile razy szedłem w przekombinowane lub wręcz niepotrzebne rozwiązania. O jednej z takich sytuacji przygotowałem artykuł na blogu. Opisałem praktyczny problem napotkany jakiś czas temu

Zawodowiec

w Programowanie

6piorunów

Książki programistyczne, które przeczytałem w 2025 roku - devszczepaniak.pl

Końcówka 2025 roku to świetna okazja, by podsumować książki, które w tym roku zdążyłem przeczytać. W najnowszym wpisie zebrałem tytuły, które szczególnie mnie zainteresowały, a którym nie poświęciłem osobnych recenzji. W artykule znajdziesz książki poruszające takie tematy

Zawodowiec

w Programowanie

11piorunów

Dokumentowanie decyzji projektowych - o ADR i RFC - devszczepaniak.pl

Często o wartości dokumentacji przekonujemy się dopiero wtedy, gdy jej brakuje. W najnowszym artykule opisuję dwa lekkie, ale bardzo przydatne typy dokumentów, które pomagają utrwalić wiedzę i usprawnić komunikację w zespole:\ \ :blue_book: ADR (Architecture Decision Record)\

Tytan

w Programowanie

26piorunów

#hejto #hejtocontent #programowanie


Dzień dobry!

Ostatnio w pracy debatowaliśmy nad pewnym problemem z formularzami - zdarzało się, że zaczynały mocno lagować, szczególnie wtedy, kiedy

a) w formularzu występowało wiele inputów,

b) zmiany na jednym inpucie wpływały na wartość w innym (np. zmiany w polu "Title" wpływały na wartości w polu "Id").

Stack jaki tam aktualnie mamy to Formik + Yup. Z uwagi na fakt, że problem ten był już wcześniej łatany z różnym skutkiem to teraz padła decyzja na zmianę biblioteki obsługującej formularze - nowy stack to react-hook-form + zod.

Ta sytuacja przypomniała mi, że na hejto również korzystamy z Formik + Yup – może więc i u nas przydałaby się zmiana?

Chciałbym zapytać się:
1. Programistów #webdev #frontend #react - czy macie jakieś doświadczenia/przemyślenia w tym temacie?
2. Wszystkich Użytkowników - czy zdarzyło się Wam zauważyć, że formularze na hejto czasem potrafią się przycinać albo działać wolniej? (o problemie w działaniu formularza dodawania komentarza, kiedy jest sporo komentarzy już wiem i jak to ogarnę to będzie o tym osobny wpis :slightly_smiling_face:)

Sum5piorunów

@kris Z formik i react-hook-form nie korzystałem bardzo długo, ale z zod'a korzystam regularnie i jest super. Z takich swoich doświadczeń, to mi przy dużych formularzach pomagało wywalanie state skąd tylko się da. Kiedy każdy input ma swój state, to zaczyna to trochę mulić, a wszystko na dobrą sprawę w submit można wyciągnąć z FormData. Jeżeli chodzi o czyszczenie formularza, to przydaje się zmiana `key`, wtedy każdy input wraca do `defaultValue`. No ale wiem, że nie zawsze się tak da.

FormData - Web APIs | MDNThe FormData interface provides a way to construct a set of key/value pairs representing form fields and their values, which can be sent using the fetch(), XMLHttpRequest.send() or navigator.sendBeacon() methods. It uses the same format a form would use if the encoding type were set to "multipart/form-data".MDN Web Docs
Tytan3piorunów

@renkeri ja właśnie o zod też wiele dobrego słyszałem, na pewno lepiej waliduje url bo yup przy poprawnym (trochę dziwnym ale jednak poprawnym) linku wywalał błąd a zod go przepuszczał. Rzeczywiście modyfikacja stanu może wpływać negatywnie na performance, szczególnie jak stan jest zadeklarowany w parencie z wieloma childrenami (co może występować u nas właśnie przy dużej ilości komentarzy) - na pewno sprawdzę ten trop

Gruba ryba2piorunów

Rozwalającą się składnie posta przy edycji byście naprawili. Cytat przeskakuje zawsze na kolejny akapit.

Tytan1piorunów

@lurker_z_internetu podrzucisz jakieś screeny z przykładem niepoprawnego działania?

Pokaż więcej komentarzy (19)

Zawodowiec

w Programowanie

6piorunów

Najbardziej bezużyteczna funkcja Gita? Czym są git notes? - devszczepaniak.pl

Jakiś czas temu, analizując dokumentację Gita, natknąłem się na polecenie git notes. Myślałem, że znam Gita całkiem dobrze, ale to było dla mnie coś nowego. W najnowszym artykule wyjaśniam, czym są git notes i analizuję możliwości, jakie daje ta funkcja. Dowiesz się również jakie

Zawodowiec

w AI

14piorunów

Code review z wykorzystaniem asystentów AI - devszczepaniak.pl

Od jakiegoś czasu w swojej pracy wspomagam się code review wykonywanym przez asystentów AI. W najnowszym artykule opisałem kilka rozwiązań, z którymi miałem okazję pracować. Z artykułu dowiesz się, które z nich moim zdaniem mogą pomóc w dostarczaniu rozwiązań, a które