Nie łatwo podejmować decyzje, gdy brakuje nam doświadczenia. Gdy chcemy się napić kakałka możemy sięgnąć po pierwsze lepsze. Czy to jednak odpowiednia decyzja? Świat chmur publicznych jest ogromny. Nikt nie może temu zaprzeczyć. Przed wyborem odpowiedniego provider-a trzeba się sporo nagłowić. Dlatego też przygotowałem małe zestawienie. Przedstawię listę dostępnych benefitów i korzyści. Mam nadzieje, że pomoże wam to w rozpoczęciu swojej przygody z chmurą publiczną.Azure: Zaczynam od naprawdę mocnego za...
Strona głównaUżytkownik
bd90 | użytkownik
Od mojego ostatniego artykułu, w którym wspominałem o rabbicie, minął prawie rok. Chyba najwyższa pora, aby napisać coś więcej. Szczególnie, że ostatnio w moje łapki wpadła bardzo ciekawa książka: Let’s learn 🙂 @RabbitMQ@ManningBooks#neverstoplearningpic.twitter.com/ymGlRp6Ytq — Kamil Kiełbasa (@bd90) Tak off-topic – jeżeli chcielibyście, abym skrobnął drobną recenzję tej książki, dajcie mi znać 🙂 Moją nową miłością okazało się tworzenie aplikacji rozproszonych przy wykorzystaniu DDD, TDD i je...
Programowanie rozproszone 2281 dni, 1 godzinę, 2 minuty temu 178 źrodło rozwiń
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 2288 dni, 1 godzinę, 48 minut temu 102 źrodło rozwiń
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 2294 dni, 18 godzin, 15 minut temu 146 źrodło rozwiń
Zapewne, w 1994 roku, kiedy to w przeglądarce Netscape Navigator po raz pierwszy pojawiła się obsługa protokołu https, nikt nie spodziewał się, że stanie się on standardem. Dziś, po ponad 14 latach rozwoju specyfikacji, trudno sobie wyobrazić stronę internetową bez zielonej kłódki przy pasku adresu. Ok, teraz zacznie się ta mniej przyjemna część. No bo szyfrowanie jest super i w ogóle, ale… Nie umiałbym zliczyć sytuacji, gdy programując w środowisku lokalnym wszystko działało bezproblemowo, jednak po wg...
Mikroserwisy! Mikroserwisy! Mikroserwisy! No dobra to skoro przyciągnąłem waszą uwagę to teraz możemy na spokojnie przejść do artykułu. Dzisiaj nie będzie o mikroserwisach per se, jednak o jednym z pochodnych elementów. Łapiemy za długopisy i piszemy temat: jak za pomocą Visual Studio for Mac uruchomić kilka projektów jednocześnie ( Rider nie wspiera uruchamiania kilku projektów na raz).Utworzenie konfiguracji Podczas generowania solucji i pierwszego projektu Visual Studio tworzy także konfigurację uruc...
ASP.NET Core WebHooks provide support for receiving web hooks in ASP.NET Core web applications. This post explores how ASP.NET Core WebHooks handles verification requests.
Mikroserwisy to temat, który w moim odczuciu jest nadal bardzo popularny na wszelkiego rodzaju meetupach, czy konferencjach porgramistycznych (sam się do tego poniekąd przyczyniam). Implikacją tego jest fakt , że wielu programistów odchodzi od oklepanych i bardzo niemodnych monolitów, na rzecz systemów rozproszonych. Pytanie brzmi, dlaczego? Osobiście uważam, że hype wszyskitgo co „distributed” i „micro” jest poniekąd efektem kuli śniegowej popchniętej kilka lat temu. Ktoś kiedyś wspomniał o SOA, nazwał ...
Architektura 2337 dni, 3 godziny temu 281 źrodło rozwiń
Zapewne każdy pracujący na dowolnym ORM-mie, nie zależnie czy komunikuje się z bazą danych za pomocą bibliotek, klas czy kawałka kodu zewnętrznego, ceni sobie możliwość podejrzenia w konsoli generowanych zapytań SQL. Chcąc ułatwić wam życie zademonstruje sposób logowania zapytań w kliencie csharp bazy MongoDB.Dodanie opcji logowania na konsole Najprostszym sposobem stworzenia klienta bazy MongoDB jest zastosowanie connection string-a. Wtedy kod wygląda następująco:services.AddSigleton
One of my ideas for increasing productivity of my team with ELK was to integrate it with Microsoft Teams. I wanted to shorten the feedback loop between error occurrence and diagnosis phase by notifying development team about the issue right after of the occurrence through the dedicated Microsoft Teams Channel. In this blog post, I've described how to easily implement this integration.
This article renders the previousones obsolete (which they already were at this point anyway). EF Core vs NHibernate: Preface EF Core has made a lot of progress and it took me quite a while ...
Microsoft nareszcie udostępnił wersje produkcyjna Azure Kubernetes Service. Klika słów i linków na temat AKS ode mnie.
Słuchajcie mnie wszyscy bo jakoby ja, ten co wiedzę niesie, powołanie poczułem i głosił będę. Jak mówi jedna ze świetnych zasadach testów jednostkowych, każda klasa i metoda powinna być testowana w całkowitej izolacji. W szczególności, co pamiętać trzeba, bez wywoływania oprogramowania zewnętrznego, jak na przykład baz danych. Żarty żartami, ale zasada jest w 100% poważna. No i nie powstała bez powodu. No dobra, ale jak mamy ją zastosować, kiedy w naszej aplikacji wykorzystujemy bibliotekę .NET Core Ide...
Sztuka programowania 2344 dni, 17 godzin, 4 minuty temu 77 źrodło rozwiń
Autentykacja i autoryzacja użytkowników od zawsze były jednymi z bardziej problematycznych kwestii wytwarzania oprogramowania. Jest to do tego stopnia kłopotliwe, że powstały nawet wyspecjalizowane usługi SaaS takie jak Auth0 służące jako Identity as a Service. W dzisiejszym artykule chciałbym wam pokazać, jak w za pomocą kilku linijek kodu uruchomić .NET Core Identity na dokumentowej bazie MongoDB.Czym jest .NET Core Identity Zacznijmy od początku – czym w ogóle jest Identity? Microsoft, w oficjalne d...
Wyobraźcie sobie sporą aplikacje. Nie jakiegoś giganta, jednak liczę, że przed waszymi oczami pojawi się solidny obraz. Potraficie ją sobie wyimaginować bez paginacji wyników? Osobiście uważam, że każda aplikacja zaopatrzona w listę wyników powinna zawierać mechanizm paginacji. Prezentowanie użytkownikowi tysięcy wyników na jednym ekranie nie jest ani wygodne, ani nie wygląda najlepiej. Dlatego też, w dzisiejszym, dość krótkim, artykule chce wam pokazać jak zrobić paginowalną listę wyników w aplikacji .N...
Nie trzeba raczej nikogo przekonywać, ze programowanie jest procesem dość złożonym. Dobry program składa się z tak wielu elementów: kodu, który jest łatwy w utrzymaniu, testów, architektury, dokumentacji, wzorców projektowych…. Można tak wyliczać i wyliczać. Mam jednak do Was, drodzy czytelnicy, pytanie. Zastanawialiście się kiedyś co tak naprawdę jest najtrudniejszym elementem programowania? Co Wam wtedy przyszło na myśl? Tony książek i tutoriali, które musieliście przewertować by zdobyć potrzebną wied...
Szablony, snippet-y i templatki to podstawowe narzędzia programisty (zaraz za kubkiem kakałka) do zwiększenia jego produktywności. W dzisiejszym, bardzo krótkim, artykule przedstawię jak łatwo definiować swoje snipetty w oprogramowaniu firmy JetBrains, “Rider”. Oczywiście, poniższy tutorial może zostać użyty w innych ich IDE.Gdzie się ukrywają snippet-y w Rider-ze? Zdefiniowanie nowych snippetów wymaga wiedzy, gdzie możemy je znaleźć. Musimy wejść w ustawienia. Najłatwiej to zrobić klikając w napis JetB...
Często mówi się, że w programowaniu są tylko dwa trudne aspekty: wygasanie cache'a i prawidłowe nazywanie rzeczy. W tym poście staram się pokazać jak niezajmować się wygasaniem i prawidłowo modelować struktury danych i aplikacji, aby mogły efektywnie korzystać z cache'a.
Architektura 2373 dni, 2 godziny, 41 minut temu 71 źrodło rozwiń
W codziennej pracy w obszarze IT, większość ludzi uruchamia oprogramowanie, które działa na porcie TCP. Czy to serwer lokalny, baza danych, czy cokolwiek innego, to czasami zdarza się, że losowy proces zawiśnie w systemie i zablokuje dostęp do portu. Kiedyś jak telewizor się psuł wystarczyło walnąć lżej lub mocniej. Teraz nie ma tak łatwo. Dlatego, w dzisiejszym artykule, chciałbym wam przedstawić jak ubijać wiszące procesy na systemie Mac OS X. Jako, że przestawione sposoby będą korzystać z konsoli syst...
Człowiek w ciągu miesiąca powinien przespać około 160 godzin, drugie tyle pracować, a 20 godzin poświęcić na delektowanie się kakałkiem. Na hobby nie zostaje wiele czasu. Chyba, że tak jak ja jesteście zajarani swoją pracą i na myśl o konferencjach programistycznych czujecie przyjemne mrowienie w okolicach karku. Rzadko kiedy zdarza się dla mnie tak obłożony miesiąc jak miniony kwiecień: 4 konferencje, 1 warsztat, czyli 6 dni poświęconych na eventy programistyczne. Uczestniczyłem w serii wykładów, lizną...