gRPC is a modern open source remote procedure call framework. There are many exciting features in gRPC: real-time streaming, client-to-server code generation, and great cross-platform support to name a few. The most exciting to me, and consistently mentioned by developers who are interested in gRPC, is performance. Last year Microsoft contributed a new implementation of gRPC for .NET to the CNCF. Built on top of Kestrel and HttpClient, gRPC for .NET makes gRPC a first-class me...
Strona głównaUżytkownik
rroszczyk | użytkownik
Programowanie rozproszone 1484 dni, 4 godziny, 43 minuty temu 78 źrodło rozwiń
A little while ago I blogged here and I set it up to be a "continues..." style post. I haven't had the energy to continue it in that context, and this fact was putting me off concluding the post. I then realised: the thing that matters isn't some overarching narrative structure, but that I get my ideas down. So: I'm aborting any attempt at making this post a continuation, and just focusing on the content! There's been a lot of confusion over when to use Task[
Programowanie rozproszone 1914 dni, 5 godzin, 29 minut temu 116 źrodło rozwiń
In several recent posts, we discussed two ways to trade off correctness for performance in database systems. In particular, I wrote two posts (first one and second one) on the subject of isolation levels, and one post on the subject of consistency le...
Bazy danych i XML 1914 dni, 5 godzin, 29 minut temu 110 źrodło rozwiń
In this series I describe the new Microsoft.FeatureManagement library that is being developed by the Azure team. It standardises the approach to adding feature flags to an ASP.NET Core app. In the first post, I introduce the library and show how to create simple feature flags. In later posts I show some of the extensibility features of the library, as well as the some of the tighter integration points with ASP.NET Core Posts in this series (new posts will be listed here as they're written): Part 1...
Generalized async return types — it is a new C#7 feature that allows using not only Task as a return type of async methods but also other types (classes or structures) that satisfy some specific requirements. At the same time, async/await is a way to call a set of "continuation" functions inside some context which is an essence of another design pattern — Monad. So,...
Sztuka programowania 1942 dni, 5 godzin, 40 minut temu 182 źrodło rozwiń
A little over a year ago, we ran a series of blog posts describing performance improvements we were making to ReSharper. We’ve delivered a lot of improvements in the releases since then, but we haven’t yet delivered on the big one – running ReSharper out of process. We thought it was about time we gave you an update on where we are. TL;DR: This isn’t an announcement post. We don’t have an ETA to share right now, although we have made s...
Bardzo lubię wykorzystywać Entity Framework w swoich projektach. W szczególności za łatwość i szybkość tworzenia kodu (na przykład za opisywany ostatnio mechanizm migracji). Ale, żeby nie było tak różowo, Entity Framework ma również swoje problemy. Głównie są one związane z wydajnością. Szczególnie, że niektóre operacje, który wykonalibyśmy w czystym SQLu jednym prostym zapytaniem, w Entity Framework wymagają wielu operacji na bazie danych. Taką operacji jest ...
Bazy danych i XML 2199 dni, 4 godziny, 13 minut temu 189 źrodło rozwiń
Założę, że programujesz obiektowo. W takim razie niemalże na pewno zdarzyło Ci się stanąć przed wyborem bibliotek w momencie tworzenia rozwiązania lub przeglądać stos technologiczny istniejącego projektu. Myślę, że się nie pomylę, jeżeli napiszę, że w większości, jeśli nie we wszystkich przypadkach przed Twoimi oczami mignął jakiś ORM. Czasem okazuje się też, że SQL jest wymagany tylko i wyłącznie dlatego, że ten konkretny maper stoi nad tą, a nie inną technologią bazodanową.
Bazy danych i XML 2242 dni, 5 godzin, 7 minut temu 186 źrodło rozwiń
W tekście “CQRS+DI w C# i Autofac” pokazałem, że CommandHandler nie zwraca żadnego rezultatu wykonania komendy. Natomiast w “Esencja CQRS” pisałem, że jest to jedna z zasad, co do której można się spierać. Więc… jak to faktycznie jest? Wrzucanie komendy w system i “pójście dalej” bez żadnej informacji o rezultacie bywa możliwe, lecz zwykle ciężko byłoby to zaimplementować. No bo jak to: kazałem coś zrobić mojej aplikacji i nie wiem czy się udało, więc… co dalej? Gdzie pokierować użytkownika?
Sztuka programowania 2908 dni, 3 godziny, 28 minut temu 202 źrodło rozwiń
Nasz zawód jest absolutnie pasjonujący. Oferuje ogromną różnorodność, wystarczy się tylko odrobinę postarać. Ja nadal jestem programistą (no dobra, według niektórych już nie jestem :) ), choć w tym roku napisałem baaaardzo mało kodu. “Typy” dev-różnorodności są przynajmniej dwa. Najbardziej oczywisty to: nowe technologie....
Interfejs w programowaniu możemy rozumieć przynajmniej dwojako. Po pierwsze: interfejs użytkownika, czyli sposób na interakcję z aplikacją. Po drugie: interfejs jako kontrakt, implementowany przez klasy. Testy ładnie wpasowują się w… obie definicje! Akcja: BLOGvember! Post nr 1. W listopadzie każdego dnia roboczego, z samego rana, na devstyle.pl znajdziesz nowy, świeżutki tekst. W sam raz do porannej kawy na dobry początek dnia. Miłej lektury i do przeczytania jutro! :) Testy jako UI… a raczej DI Int...
Sztuka programowania 2935 dni, 14 godzin, 27 minut temu 124 źrodło rozwiń
ListView to jedna z najważniejszych kontrolek w Xamarin.Forms. Jak sama jej nazwa wskazuje, jest ona odpowiedzialna za ogarnięcie tematu listy. Listy można spotkać w praktycznie każdej aplikacji, począwszy choćby od najprostszych programów typu TODO poprzez rozbudowane aplikacje wyświetlające video, obsługujące naszą pocztę, czy dbające o temat komunikacji. Kontrolka którą dostarcza Xamarin.Forms, posiada wiele przydatnych elementów (temat na inny wpis to historia jak w praktyce działa ta kontrolka, a w...
Mobile development 2943 dni, 5 godzin, 37 minut temu 51 źrodło rozwiń
W dobie wielordzeniowych procesorów, umiejętność programowania współbieżnego jest niezwykle istotna. Scenariusz programowania synchronicznego, w którym wszystko wkładamy w jeden wątek i kolejkujemy może spowodować, że nasza aplikacja będzie funkcjonować gorzej od konkurencji. Dobrym tego przykładem są aplikacje operujące na żądaniach sieciowych. Przykładowo aplikacja mobilna może na starcie wymagać pobrania konfiguracji, ściągnięcia informacji na ekran typu "home", czy też aktywacji opcji auto-logowania...
Sztuka programowania 2953 dni, 20 godzin, 51 minut temu 371 źrodło rozwiń
odcinek DevTalk to nie przelewki, oj nie. Dzisiaj trochę… potaplamy się w błocie. Do rozmowy zaprosiłem Jarosława Pałkę: znanego i uznanego programistę, architekta, managera, team leadera, prelegenta, bloggera i co tam jeszcze. Spotkać możecie go na bardzo wielu konferencjach, gdzie opowiada o Javie i ciężkiej orce w naszym zawodzie. Na Twitterze: @j_palka.
Architektura 2957 dni, 3 godziny, 23 minuty temu 92 źrodło rozwiń
Tworzenie nowego kodu jest fajne. Dlaczego? Bo możemy najpierw napisać do niego testy. O tym, jak się tego nauczyć, poczytasz w tym niedawnym tekście. Ale co jeśli już MASZ kod? Michę pełną spaghetti? Do problemu tego można podejść na kilka sposobów. Jeden jest bezsensowny, pozostałe: działają. AAAAAATTTAAAACKK!!!! Rzucanie się “na hurra” i dopisywanie testów tylko po co, żeby “mieć testy”, to złe rozwiązanie. Choć wcale nierzadko spotykane.
Sztuka programowania 2959 dni, 22 godziny, 39 minut temu 192 źrodło rozwiń
Od dawna (chyba od początku) w C# do dyspozycji mieliśmy słowo kluczowe out, służące do przekazywania parametrów na wyjście. Standardem stało się pisanie metod typu TryParse, które zwracają bool oraz wartość za pomocą parametru out, np....
Sztuka programowania 2989 dni, 5 godzin, 45 minut temu 358 źrodło rozwiń
Mechanizm DependencyService zaprezentowany w poprzednim wpisie, daje sporo możliwości już na starcie pracy z Xamarin.Forms. Dzięki zastosowaniu specjalnego atrybutu, możemy korzystać z funkcjonalności opisanych w paradygmacie IoC praktycznie bez żadnego wysiłku i mamy ten mechanizm dostępny "out-of-the-box". Prostota rozwiązania niesie za sobą też pewne skutki uboczne. Mechanizm jest niezwykle łatwy w użyciu, ale zarazem bardzo ograniczony funkcjonalnie. Jeśli kiedykolwiek pracowaliście z kontenerami Io...
Mobile development 2995 dni, 5 godzin, 13 minut temu 87 źrodło rozwiń
Dzisiaj chciałbym zaprezentować klasę EventWaiter. Znalazłem ją w repozytorium Roslyn na GitHub i w niektórych testach okazała się przydatna. Załóżmy, że mamy klasę eksponującą jakieś zdarzenie...
Sztuka programowania 2995 dni, 5 godzin, 13 minut temu 150 źrodło rozwiń
Is react making ASP.NET MVC obsoleteShould I start using JS in my .NET projectsBackend / Frontend and career options 1. Is react making ASP.NET MVC obsolete ? There is a huge hype around react, same with Angular2 and also Aurelia. This might create a feeling that maybe ASP.NET MVC is obsolete but it is not. ASP.NET MVC is an apple when react is an orange. Same thing happened some time ago when RoR launched. There was a huge hype and I was also afraid that maybe RoR will make my WebForms knowledge obso...
Dzisiaj kolejna przydatna konstrukcja LESS. Często zachodzi potrzeba stworzenia klasy na podstawie kilku innych klas. Załóżmy, że mamy: .class1 { color:red; } .class2 { font-size:10px; } .finalClass { color:red; font-size:10px; border-color:blue; } FinalClass składa się zarówno z class1 jak i class2. Ponadto rozszerza możliwości o border-color. Za pomocą mixin możemy kod skrócić do: .class1 { color:red; } .class2 { font-siz...