Fragmenty funkcyjnego kodu, które zmieniły moje spojrzenie na programowanie — listy

Jakiś czas temu zacząłem się mocniej interesować programowaniem funkcyjnym. O ile wydawało mi się, że rozumiem rxjs, lodash/fp i inne podobne biblioteki, to jednak tak naprawdę nigdy nie próbowałem pisać w 100% funkcyjnie. I uwierz mi, to niesamowite doświadczenie! W tym krótkim wpisie pokazuję jeden przykład kodu, który mocno poszerzył mi horyzont myślowy.

Flux i Redux: globalny store i jednokierunkowy przepływ danych

Ten wpis jest 24 częścią z 39 w kursie React.js

Na codzień korzystam z Redux razem z React. Dawniej używałem też własnej implementacji architektury Flux razem z AngularJS. Postanowiłem napisać o tym koncepcie coś więcej — bo jest to bez wątpienia bardzo ciekawe! Jednokierunkowy przepływ danych, akcje, dispatcher, action creator, reducer… to wszystko w tym wpisie 🙂 A do tego klarowne, praktyczne przykłady!

this w JS — czyli kilka słów o kontekście wywołania funkcji

Czy kiedykolwiek spotkałaś(-eś) się z błędem w aplikacji, który wynikał z tego, że „this” było ustawione na coś innego, niż się spodziewałaś/eś? Jeśli tak, to nie jesteś jedyna(-y). W swojej karierze programisty miałem okazję występować w roli rekrutera na ponad 160-ciu rozmowach kwalifikacyjnych na stanowiska front-endowe. Jeśli nauczyło mnie to jednego, to tego, że odpowiedź na pytanie „na co wskazuje this?” albo „co to jest kontekst wywołania?” sprawia największą …

Symlink, zip i upload plików – łatwo padniesz łupem hackera

Bardzo często ścieram się z sytuacjami gdzie ktoś kopiuje kod z Internetu do aplikacji bez zweryfikowania co ten kod do końca robi… Zresztą: Kto nie wykorzystał gotowca ze StackOverflow bez czytania opisu i komentarzy niech pierwszy rzuci kamień 😉 Czasem jednak pozornie niewinne fragmenty kodu mogą doprowadzić do katastrofy. Weźmy prosty przykład: Upload plików. Wszystko działa, wszędzie prawidłowa sanityzacja i obsługa błędów… …

innerHTML, czyli najbardziej banalna furtka do XSS

Bardzo często popełnianym błędem, na który zwracam uwagę praktycznie w każdym kolejnym Weekly JavaScript Challenge, jest niewłaściwe wykorzystywanie innerHTML. Bardzo łatwo może to doprowadzić do wystąpienia podatności typu XSS! Ten wpis chciałem poświęcić tej właściwości oraz zagrożeniom, które płyną z jej nieprawidłowego wykorzystania. Będę analizował konkretny przykład kodu z nadesłanego rozwiązania i pokażę jak przeprowadzić prosty atak na ten kod. Zapraszam!