W aplikacjach bardzo często używamy zewnętrznych zasobów. A to trzeba wykonać zapytanie na bazie danych. Pobrać dane z usługi lub wysłać wiadomość email. Zasoby te charakteryzują się tym, że mogą być przez jakiś czas niedostępne, bo na przykład wystąpił jakiś problem z siecią lub zasób jest zbyt mocno obciążony. W takich sytuacjach zastanawiamy się, czy od razu pokazać użytkownikowi informacje o błędzie, czy może spróbować ponowić operację po jakimś czasie i do...
Strona głównaUżytkownik
adollphus | użytkownik
Ostatnimi czasy na blogu było dosyć cicho, ale wynika to z dwóch rzeczy. Po pierwsze zrobiłem sobię przerwę wakacyjną (która przyznam szczerze rozciągnęła się nieco w czasie), a po drugie aplikacja DShop zmieniła się mocno pod kontem infrastrukturalnym, dlatego pozwoliłem sobie wstrzymać serię o mikroseriwach, aby nie doszło do sytuacji, w której prezentowany w poście kod staje się po chwili nieaktualny. Tyle słowem wstępu. W jednym z ostatnich wpisów przedstawiłem czym jest, a czym nie jest wzorzec CQR...
Architektura 2255 dni, 18 godzin, 15 minut temu 227 źrodło rozwiń
Dodając nowy kontroler lub widok do aplikacji ASP.NET MVC wybieramy jeden z szablonów, które wykorzysta Visual Studio do ich wygenerowania. Jest to bardzo przydatne, gdy na przykład formularz edycji zawiera wiele pól. Visual Studio wygeneruje kontrolkę dla każdej właściwości z klasy, którą ustawimy jako model widoku. Podobnie jest z generowaniem kontrolerów. Jest to bardzo fajne, ale niestety na dłuższą metę tak wygenerowany kod, nie jest tym, co potrzebujemy i...
Opublikowane w przez Łukasz Kot: Cross-Origin Resource Sharing (w skrócie CORS) to mechanizm umożliwiający współdzielenie zasobów pomiędzy serwerami znajdującymi się w różnych domenach. Bez odpowiednio skonfigurowanego tego mechanizmu aplikacja po stronie klienta nie ma możliwości komunikacji z API.
Rozpoczynając swoją aktualną pracę w pewien sposób pożegnałem się z tematami frontend-owymi. Wiadomo, nie postawiłem grubej, czerwonej, nieprzekraczalnej linii, po prostu zajmuje się tym zdecydowanie rzadziej. Ostatnio jednak natrafiłem na zagadnienie, które zdecydowanie mnie zainteresowało, mianowicie tworzenie interfejsu dla konstruktora klasy w TypeScript. Od razu zaznaczam, że nie będę w tym artykule omawiał konfiguracji środowiska pod aplikację. Jeżeli to wasze pierwsze spotkanie z tą technologią po...
Sztuka programowania 2275 dni, 18 godzin, 41 minut temu 102 źrodło rozwiń
Cześć, dzisiaj kolejny wzorzec po dłuższym czasie tym razem jest o wzorcu Polecenie(Command) oczywiście jak zwykle jest angielska wersja :) Niech wam służy szczegółowy opis wiadomo w artykule :)
Architektura 2284 dni, 13 godzin, 22 minuty temu 116 źrodło rozwiń
Wzorzec DAO (Data Access Object) jest jednym z częściej używanych wzorców do organizacji warstwy dostępu do danych . Dla każdego obiektu/tabeli z bazy (np User, Product) tworzymy dedykowany interfejs/klasy. Klasy te często nazywamy repozytoriami* (np. UserRepository, ProductRepository) i na ogół zawierają takie same metody. Jestem wielkim fanem szablonów T4. Lubie je wykorzystywać do automatyzacji tworzenia powtarzalnych i schematycznych elementów kodu. Właśni...
Słyszeliście o JSON Web Token-ach? Zapewne tak. W sieci pełno jest artykułów o wadach, zaletach, wykorzystaniu w implementacjach OAuth2 czy OIDC. Czy to znaczy, że napisano o nich wszystko, co się da? Przemilczę odpowiedź i dorzucę własną, mam nadzieje, że przydatną, cegiełkę. Trochę z własnych obserwacji, jednak podejrzewam, że bliskich prawdzie, zakładam, że JWT to dzisiejszy standard zabezpieczania API. Pomimo, iż np. ze specyfikacji PASETO zaczyna powoli wyrastać coś ciekawego, jeszcze długa droga ...
Sztuka programowania 2282 dni, 11 godzin, 8 minut temu 146 źrodło rozwiń
Opublikowane w przez Łukasz Kot Zwykle w bazie danych przechowujemy czas w strefie czasowej UTC bez względu na to w jakim regionie znajduje się nasza aplikacja. Jednak chcielibyśmy wyświetlić datę w strefie czasowej, takiej jaka jest używana w regionie. Są na to 2 rozwiązania.
Web idzie tak szybko do przodu, że łatwo się zgubić i zapomnieć, że pewne rzeczy nie są jeszcze tak powszechnie dostępne jakby się wydawało. Na przykład taka rzecz jak wgrywanie plików. Pamiętam czasy, że by to zrobić to trzeba było mieć flash. Potem się to robiło magicznie za pomocą iframe... a ja kto jest teraz?
Sztuka programowania 2820 dni, 13 godzin, 9 minut temu 313 źrodło rozwiń
Jak można było dowiedzieć się z moich ostatnich postów społecznościowo-konferencyjnych (jeden, drugi, trzeci), miałem ostatnio prezentacje na temat Dependency Injection. Dość dziwne jest to o tyle, że na ten temat nie blogowałem właściwie od czterech lat. Pora zaległości nadrobić:). Pojawiły się za to treści gdzieś indziej. Po jednym z moich występów Basia podjęła temat. Po jej poście Paskol też coś naskrobał. A i w polskiej-anglo...
Architektura 3811 dni, 4 godziny, 5 minut temu 331 źrodło rozwiń
Poprzednio odwracałem sterowanie (lub kontrolę, jak kto woli). Dzisiaj pora odwrócić zależność. Zasada odwracania zależności (Dependency Inversion Principle) to ostatnia (licząc wg porządku liter w nazwie) z zestawu zasad SOLID. O co więc chodzi z tą zależnością i na czym tak naprawdę polega jej odwracanie? Najlepiej będzie zademonstrować to na przykładzie. Oglądaliście "Seksmisję" (to już 30 lat od jej premiery)? Był w niej...
Sztuka programowania 3808 dni, 16 godzin, 51 minut temu 208 źrodło rozwiń
ASP.NET MVC dba o to, aby niemożliwe było dokonanie ataku CSRF. Nie musimy sami generować tokenów i wszystko zostanie obsłużone przez framework. Niestety czasami taka obsługa nie jest zbyt user-friendly. Ostatnio spotkałem następujący scenariusz:Otworzyłem stronę do logowania w dwóch osobnych tabach. Sesja jest więc współdzielona.W pierwszej z nich, kliknąłem loguj. Token w tym momencie na serwerze jest unieważniany.W drugim tabie token wygenerowany i przechowany w ukrytym polu, nie pokrywa się już z ty...
W tym odcinku skupiam się na stanie aplikacji przed jakimikolwiek procesami “upiększającymi”. Aplikacja, którą mamy upiększyć, została do celów demonstracyjnych zbudowana dość nietypowo. Nie jest to web app, nie jest to nawet console app. Jest to jedna z...
Sztuka programowania 3808 dni, 16 godzin, 51 minut temu 231 źrodło rozwiń
Dzisiaj kilka rzeczy z Visual Studio, które przydają się a nie zawsze wszyscy mają świadomość, że są one dostępne. Zauważyłem, że często ustawiam breakpoint w jakimś miejscu a potem odpalam debugger, aby zacząć proces debugowania właśnie w tym miejscu. W VS istnieje coś takiego jak tymczasowy breakpoint. Wystarczy nacisnąć kombinację klawiszy CTRL+F10, a aplikacja uruchomi się i debugger przejdzie do danej linii (w zależności, w której był kursor podczas wykonywania tej operacji). Jedną kombinacją klaw...
Maciej Zbrzezny omawia sposób użycia dostępnych na platformie .NET narzędzi do Trace'ingu czyli śledzenia aplikacji. Czteroczęściowy artykuł omawia zagadnienie od podstaw teoretycznych poprzez przykłady aż do gotowego programu, który prezentuje wybrane zagadnienia.
Bartek Szafko na swoim blogu tworzy serię artykułów na temat WiX - popularnego frameworka do tworzenia instalatorów MSI. Część 5 jest najbardziej aktualna i zawiera linki do poprzednich części. Jeśli w ramach swojej pracy tworzysz instalatory - koniecznie zajrzyj.