Kawałek Kodu

Programistyczne porady na luzie

Na lenia i na podglądacza, czyli lazy loading youtubowych filmów z użyciem IntersectionObserver

Przyznam, że delikatnie irytowało mnie ładowanie głównej strony mojego bloga, gdzie wraz z pierwszym akapitem każdego wpisu ładowany jest film z YT. A ponieważ ładowanych jest kilka artykułów, czyli kilka filmów, strona nie wczytywała się zbyt płynnie i szybko. Nie chciałem się jednocześnie tego pozbywać, aby urozmaicić i nadać wstępny klimat artykułowi. Od początku myślałem o tym, że wykorzystam lazy loading. Natomiast przed napisaniem tego artykułu pomyślałem, że warto przy okazji tej opisać dwie inne ciekawostki.

Czytaj dalej

Mały wódz i wielki wódz, czyli o zapisie little endian oraz big endian.

Dawno, dawno temu, na dzikim zachodzie żyły dwa plemiona Indian. Jedni posługiwali się komputerami PC, drudzy komputerami Apple. Przez tysiące lat nie mogli porozumieć się ze sobą nadając znaki dymne poprzez sterowane komputerami dymiarki. Każde z plemion uważało, że drugie plemię posiada niezrównoważonego teledymiarza. Całe szczęście, że przypadek doprowadził do spotkania wodzów obydwu plemion na giełdzie komputerowej. Chwila na fajce ułatwiła nawiązanie kontaktu i zrozumienie zasady nadawania przekazów. Jeden z nich postanowił nazwać swe plemię Little Endian, a drugi Big Endian.

Czytaj dalej

Tego się nie da odkliknąć! Czyli o przycisku radio i jego wyłączaniu.

Kiedyś pstrykanie przyciskami w starym radio było frajdą. Nie było jednak możliwości wyłączenia wciśniętego przycisku, trzeba było wcisnąć zamiennie inny. Ewentualnie był inny trik polegający na wciśnięciu dwóch naraz. Z przyciskami radio na stronie też jest podobny problem. Co prawda dwóch jednocześnie nie uda się wciskać, ale spróbujemy innej sztuczki, która pozwoli wyłączyć wcześniej włączony INPUT.

Czytaj dalej

May the download force be with you, czyli wymuszenie pobierania w JavaScript

Świadomość posiadania czegoś łechce zmysły każdego z nas. Wszyscy lubią coś mieć, czasem nawet niepotrzebnego. Kupujemy rzeczy, których nie będziemy używać. Ściągamy pliki, których nigdy nie otworzymy, ale zgrabnie wypełnią ostatnią wolną przestrzeń niedawno posprzątanego pulpitu. Kreujemy pliki, które inni będą ściągać. I o ile wiemy jak to zrobić po stronie serwera, to czasem zachodzi potrzeba nieangażowania strony serwerowej. A jest to możliwe tylko i wyłącznie w JavaScript.

Czytaj dalej

"The Bold and The Peaceful", czyli co zrobić aby bold się nie rozpychał

Kiedy zasiadasz przy świątecznym stole robisz to jak zręczny akrobata. Gorzej jest kiedy chcesz się z niego wydostać po skromnych dwunastu posiłkach. Wszyscy obok zaczynają się krzywić, bo muszą się przesuwać na boki wraz z krzesłami. Efekt ten można zaobserwować również na co dzień, kiedy na swojej stronie testujesz menu nawigacyjne z piękną czcionką. I wszystko jest dobrze, dopóki mysz nie będzie najeżdżać na wybrane opcje, które pogrubiają się. Wszystkie opcje na prawo od wybranej przesuwają się w prawo jak niezadowoleni członkowie Twojej rodziny.

Czytaj dalej

JSON where are you?! Czyli przechowywanie struktury JSON w MySQL i unikanie problemów.

Zajmiemy się wyszukiwaniem w JSON-ie. Nie będzie to jednak tytułowy bohater powyższego filmu (całe szczęście, choć film wart obejrzenia), ale typ pola w bazie MySQL. Mamy z nim do czynienia od wersji 5.7.8. Charakterystyki tego typu nie będę Ci opisywał, ale pokażę jego specyficzne zachowanie i praktyczny przykład okiełznania tego zachowania.

Na warsztat weźmiemy przykładowe dane w postaci JSON:

Czytaj dalej