Immutable Map – modyfikowanie wielu pól

Klasa Map z pakietu immutable jest obecnie popularnie wybierana jako kontener dla globalnego stanu w aplikacjach wykorzystujących redux.

Zauważyłem też że powszechną, ale błędną, praktyką jest modyfikowanie wielu pól przy pomocy łańcucha poleceń set.

const newState = oldState
    .set('field1', 'value1')
    .set('field2', 'value2')
    .set('field3', 'value3');
Czytaj dalej Immutable Map – modyfikowanie wielu pól

Auth-0 aplikacja do odpalania rakiet – frontend

Interfejs użytkownika jest ważnym elementem bzpieczeństwa aplikacji, musi on być łatwy w obsłudze, jednocześnie nie może on być wektorem ataku, np. nie powinien używać mechanizmów mogących ujawnić login i hasło podmiotom trzecim.

Dostawcy tożsamości, w tym Auth0, upraszają to zadanie, dając swoim klientom gotowe ekrany logowania i rejestracji, które sprawiają, że aplikacja kliencka nie ma dostępu do loginu i hasła, a co za tym idzie nie może go ujawnić.

Klientem, którego proces tworzenia opiszę jest aplikacja SPA (single page application), napisana z wykorzystaniem frameworka aurelia w języku typescript,
ale wybór frameworka i języka nie ma szczególnego znaczenia.

Czytaj dalej Auth-0 aplikacja do odpalania rakiet – frontend

Auth0 – Delegowanie zarządzania tożsamością

Zarządzanie tożsamością użytkowników i prawami dostępu jest podstawą bezpieczeństwa większości aplikacji. We wszystkich aplikacjach daje się wykryć powtarzalne wzorce rozwiązań, pozwalające określić czy użytkownik rzeczywiście jest tym za kogo się podaje. Standardem jest opieranie się o login i hasło, często wzmocnione innymi mechanizmami takimi jak kody jednorazowe wysyłane sms-em.

Jednocześnie jest to zagadnienie zasobochłonne, o ile sama implementacja ekranu logowania i rejestracji użytkownika zgodnie z bieżącymi standardami jest dość szybka: zajmuje od kilku godzin do kilkunastu dni, to co jakiś czas okazuje się, że stare praktyki przestają gwarantować bezpieczeństwo, oraz pojawiają się nowe rozwiązania adresujące problemy występujące w starych. Wymaga to ciągłego śledzenia informacji związanych z szeroko rozumianym bezpieczeństwem i adaptacji swojego systemu.

Niestety bezpieczeństwo w oprogramowaniu nie zarabia, z tego powodu w wielu systemach jest traktowane po macoszemu, menadżerowie znacznie chętniej poświęcą miesiąc na zbudowanie nowych ścieżek sprzedażowych niż tydzień, na zmianę sposobu szyfrowania haseł.

Powszechność i złożoność problemu oraz brak biznesowych przesłanek do inwestycji w zabezpieczenie aplikacji czyni ten aspekt idealnym kandydatem do wydelegowania do innej organizacji.

Auth0 jest jednym z dostawców, na których warto zwrócić uwagę, w tym artykule postram się przybliżyć kilka aspektów związanych z integracją z tym dostawcą.

Czytaj dalej Auth0 – Delegowanie zarządzania tożsamością

Recenzja Noblechairs HERO Gaming skórzany

Ostatnio stwierdziłem, że czas najwyższy wymienić fotel. Do tej pory w domu używałem fotela kupionego za 200 zł w czasach, gdy przed komputerem siedziałem tylko po pracy i wstawałem od niego gdy zaczynałem odczuwać dyskomfort.

Od jakiegoś czasu pracuję z domu i swoje 8-12 godzin muszę wysiedzieć. W dodatku sztuczna skóra, z której wykonane było stare krzesło, nie wytrzymuje takiego obciążenia i sypała dość obficie, przez co moja żona także zauważyła konieczność wymiany krzesełka.

Czytaj dalej Recenzja Noblechairs HERO Gaming skórzany

Relacja z Dotnetos – .Net performance world

Piątego listopada 2018 w Hotelu „Airport Hotel Okęcie” w Warszawie odbyła się konferencja Dotnetos – .Net performance world do udziału w niej skłoniły mnie dwa czynniki: fakt że są prelegenci prze-kozakami .Net, oraz to że w tym roku nie uczestniczyłem jeszcze w żadnej innej konferencji. 

<TLDR>

Dużo technicznego mięsna na najwyższym poziomie, w dodatku w bardzo przystępnej cenie. Zdecydowanie polecam wszystkim osobom będącym na pozycjach od mid .Net developer do architekta. Osoby z mniejszym doświadczeniem oraz niezwiązane z technologią .Net mogą się czuć lekko zagubione. W organizacji samej konferencji można jednak trochę poprawić.

</TLDR>

Czytaj dalej Relacja z Dotnetos – .Net performance world

Nasza droga do Reactive Extensions – cz. 2 – Event Aggregator na ratunek

W poprzednim wpisie opisałem problem z wyborem architektury aplikacji przed jakim stanął nasz zespół. W drugiej części opiszę jakie problemy udało się rozwiązać dzięki wzorcowi event aggregator, jakie pozostały nie rozwiązane, a jakie powstały w wyniku jego użycia.

Czytaj dalej Nasza droga do Reactive Extensions – cz. 2 – Event Aggregator na ratunek