Pisałem na początku lipca, czemu to warto wybrać się w październiku do Warszawy na konferencję .NET Developer Days. Obiecałem też wtedy konkurs, w którym wygrać będzie można jedną wejściówkę na to zacne wydarzenie. Najwyższa pora ten konkurs ogłosić. Wydaje się nie być nudny, więc zapraszam!
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 3020 dni, 5 godzin, 3 minuty temu 358 źrodło rozwiń
Nowadays, the HTTP APIs act as gateways for petabytes of data and some chunk of it might actually require enhanced access rules. For example, you could create a link that allows the user to download the file only once, and within such link you would find a token. I was in a need of creating such solution for my open source project Warden – a specialized, one-time link that can be used fetch the configuration object from the API. It turned out to be fairly straightforward to implement the most basic versi...
Sztuka programowania 3022 dni temu 155 źrodło rozwiń
Code review is an important part of development process. Various teams use different styles from “over the shoulder” to the ones based on tools like Gerrit. However, more and more Git servers (like GitLab) give merge request functionality, which makes incorporating code review process easier.
Sztuka programowania 3026 dni, 4 godziny, 31 minut temu 213 ź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 3026 dni, 4 godziny, 31 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...
Reading time ~2 minutes This is the third part of a series discussing job scheduling and Hangfire details:part 1 - Why schedule and procrastinate jobs?part 2 - Overview of Hangfiepart 3 - Scheduling and Queuing jobs in Hangfirepart 4 - Dashboard, retries and job cancellation This part will focus on the basic scheduling API of Hangfire. The easiest way to create a fire and forget job is by using the classHangfire.BackgroundJob and its minimalistic (and this is a complement) API of static functions:Enqu...
Architektura 3035 dni, 17 godzin, 13 minut temu 99 źrodło rozwiń
In case you’re not familiar with the Warden project that I’ve been working for the last few months, I strongly recommend you to take a look, as you may find this tool especially useful for monitoring your infrastructure and resources. So what is the Warden Spawn? It’s a brand new repository within the Warden Stack that will let you configure the instance of the Warden monitoring application using the human readable configuration files – and that’s just the beginning!
Xamarin.Forms nie jest lekiem na całe zło i w praktyce nie da się za pomocą tej technologii zrobić w pełni natywnego efektu, stosując dostępne standardowo kontrolki. Idea tego rozwiązania jest inna. Do worka zwanego Xamarin.Forms trafiają takie elementy, które da się jakoś uwspólnić pomiędzy obsługiwanymi systemami. Innymi słowy po użyciu określonej kontrolki i tak w rzeczywistości zostanie wykorzystana ta natywna, która w danym systemie jest najbardziej zbliżona funkcjonalnie i wizualnie. I tak np. Form...
Sztuka programowania 3047 dni, 17 godzin, 31 minut temu 49 źrodło rozwiń
We have many pdf libraries that we can use, but none of them are perfect and all of them have some advantages and disadvantages. Here is my little experience with generating PDF file in .net framework with generating reports both, in a browser on demand and large numbers in bash/console by night. Crystal_Reports - big, commercial library develop by big company Pros: - can be really fast Co...
There are many ways to perform a validation of our models living within the system. Whether there’s an incoming request from the user who would like to create an account or there’s a need to ensure about the correct amount of money in a bank transaction, the validation process should always (I really mean that) take place. In today’s post, I’d like to present one of the possible solutions that might help you validate your entities.
Sztuka programowania 3049 dni, 22 godziny, 37 minut temu 164 źrodło rozwiń
Kiedy budujemy naszą bibliotekę, w końcu nadejdzie czas aby ją nazwać. Ponieważ siedzę po uszy w dotnecie, zacząłem przyglądać się niektórym nazwom bibliotej dotnetowych i zauważyłem m.in. wzorzec “n”. Podobnie dużo bibliotek w Javie ma w nazwie “j”. Zebrałem więc kilka ciekawych n-bibliotek...
W poprzednim wpisie na temat Xamarina, zrobiłem małe wprowadzenie teoretyczne do tej technologii. Przedstawiłem podstawowe założenia oraz dostępne warianty użycia tego rozwiązania. Jeśli uważasz, że wybór technologii jaką jest Xamarin był sam w sobie trudną decyzję, to mam niestety złą wiadomość. Już na starcie trzeba podjąć kolejną i to równie ważną. Którego podejścia użyć - Forms czy Native? W poprzednim poście przedstawiłem podstawowe założenia obu z nich. W wielkim skrócie - Forms zapewnią większą ...
Mobile development 3054 dni, 4 godziny, 40 minut temu 153 źrodło rozwiń
Klasa (immutable) Tuple istniała aż od .NET Framework 4.0. W C# 7.0 mamy jednak wsparcie dla tuple od strony języka. Jednym z problemów klasy Tuple było, że każda właściwość nazywała się kolejno Item1, Item2 itp. W tym wpisie dowiemy się jak to rozwiązano w C# 7.0
Sztuka programowania 3054 dni, 4 godziny, 40 minut temu 398 źrodło rozwiń
Last time I wrote a post about the commands. Events are quite similar to the commands – the main difference between these 2 patterns is that the events are related to the things that have actually happened to our entity e.g. by invoking the command. They’re also a core part of the DDD (Domain Driven Desing) and can be easily implemented within our software solution.
Sztuka programowania 3055 dni, 21 godzin, 51 minut temu 169 źrodło rozwiń
Czym się różni Lazy Loading od Eager Loading? Co udostępnia nam EntityFramework? W jakim momencie wykorzystać dany sposób ładowania danych? Jak ładować dane? Zahaczymy też o JSON, SQL performance i inne. Zapraszam do lektury.
W ostatnim czasie dzięki uprzejmości Patricka Smacchia, miałam okazję zapoznać się z narzędziem do analizy kodu jakim jest NDepend. Ponieważ jednak ma on tak dużo możliwości, iż wyrósł by z tego całkiem spory artykuł, postanowiłam podzielić go na mniejsze i niniejszym zapraszam na pierwszy odcinek cyklu poświeconego temu narzędziu.Zacznijmy zatem od tego czym jest NDepend, jak zacząć pracę z nim i Co nam daje? Narzędzie służy do zaawansowanej analizy kodu, wspomaga przyglądanie się strukturze projektu,...
Just how long does garbage collection take in .NET? Which generation takes longer?
Sztuka programowania 3059 dni, 13 minut temu 124 źrodło rozwiń
Chciałbym Was przeprowadzić przez proces skompilowania, uruchomienia i debuggowania .NET Core - czyli wersji open source środowiska .NET. Bez zbędnych wstępów przejdźmy do odpowiedzi na proste pytanie... Po co?
Spotkałem się ostatnio z następującym problemem: Mam bibliotekę z modelami, oraz drugą opisującą Dto (Data Transfer Object), w której typy danych są bardzo zbliżone do modeli, ale są to mimo wszystko inne typy. Szukając rozwiązania, trafiłem na Mapster, bibliotekę do mapowania typów.