Trochę o wzorcu „pipes & filters”. Będzie dużo mięcha :).
Sztuka programowania 1892 dni, 3 godziny, 10 minut temu 148 źrodło rozwiń
MenuHomeAboutArchivesSubscribe Opinions, thoughts, solutions by Paweł Pindel on At the beginning, it is worth considering what asynchronous programming is and why it is better than synchronous. Asynchronous programming involves approaching the problem in a completely different way. The point is that the program code does not execute line by line, waiting each time for the end of the operation to move on. It allows us to speed up the program to a great extent, release the main t...
Sztuka programowania 1893 dni, 2 godziny, 54 minuty temu 193 źrodło rozwiń
I've decided to create a series of blog posts where I will present what I've recently learned about the traps related to the multithreading in C#. I will also show you my proposition of Roslyn analyzers that can possibly help to avoid those issues right at the stage of writing the code. This part is about choosing a suitable object for locking.
Sztuka programowania 1923 dni, 57 minut temu 65 źrodło rozwiń
Pierwsze przymiarki do C# w ersji ósmej. Wyamgania i kilka najfajniejszych moim zdaniem zmian.
Sztuka programowania 1965 dni, 1 godzinę, 50 minut temu 258 źrodło rozwiń
W ubiegłym roku pisałem o bezpiecznym null-checku w C# przy użyciu słowa kluczowego is, który według mnie powinien być stosowany wszędzie gdzie jest to możliwe. Dziś dla odmiany konstrukcja, która jest bardziej ciekawostką językową niż czymś (co ja osobiście) chciałbym znaleźć w kodzie. Problemem jest przede wszystkim ograniczona funkcjonalność, ale także czytelność i interpretacja konstrukcji szczegol...
Sztuka programowania 1993 dni, 1 godzinę, 57 minut temu 260 źrodło rozwiń
Today I will write about the way variance influences type checking in C#. Yes, the fact that one type can be passed to a generic method that requires another type, depends on these 2 small keywords we write before ‘T’ (or whatever 😉) in interface header.
Sztuka programowania 1999 dni, 2 godziny, 14 minut temu 99 źrodło rozwiń
Have you ever seen these mysterious ‘in’ and ‘out’ keywords in generic interfaces’ definitions? If so, you’ve probably already checked what it means, but if not… You better read this and the next post. So today we will talk about the basics of variance in our own generic interfaces.
Sztuka programowania 2005 dni, 2 godziny, 6 minut temu 125 źrodło rozwiń
C# 8.0 został niedawno opublikowany, jednak w dzisiejszym poście chcę napisać o funkcjonalności z C# 2.0. Wtedy to właśnie firma Microsoft wprowadziła typy generyczne. Każdy wie, każdy używa, ale cz próbowałeś kiedykolwiek napisać coś takiego...
Sztuka programowania 2010 dni, 1 godzinę, 32 minuty temu 421 źrodło rozwiń
Jako programista .NET bardzo cieszę się z tego, że Microsoft obok rozwoju całej platformy .NET dodaje również nowe rzeczy do samego języka C#. Wszystko po to, aby nam, programistom, pracowało się jeszcze łatwiej i efektywniej – choć nie zawsze wprowadzone mechanizmy wydają się fajne i się je wykorzystuje. Przykładowo pattern matching dodany do switch w C# 7 (jeśli nie wiesz, co to, to w dalszej części wpisu pokażę, czym to jest) jakoś nie przypadł mi do gustu ...
Sztuka programowania 2011 dni, 1 godzinę, 53 minuty temu 414 źrodło rozwiń
We live in a world of dynamically changing technologies. New ways of architecturing our solutions, new frameworks and libraries seem to appear on almost daily basis. But good software engineering is not about fancy frameworks and solutions aggressively promoted by their vendors. It is not about doing something because Netflix or Google did it. It is about taking well-thought-out decisions based on facts and knowledge. That’s why it is important to be familiar basic architectural concepts like CQRS. It is...
Architektura 2017 dni, 1 godzinę temu 234 źrodło rozwiń
Projekty i namespace’y to niedoceniane elementy, które mogą znacząco poprawić czytelność naszego kodu. Warto stosować je w sposób przemyślany, a nie „jakkolwiek, bo to przecież nieistotne”. Kod czyta się co najmniej 10 razy częściej, niż się go modyfikuje. Warto więc zainwestować w jego czytelność i wymusić na poziomie kompilacji tak wiele sprawdzeń jak to tylko możliwe.
Sztuka programowania 2024 dni, 1 godzinę, 41 minut temu 286 źrodło rozwiń
Witajcie, dzisiejszy post będzie poświęcony bibliotece Fody. Biblioteka ta służy do modyfikowania kodu IL przy kompilacji.
Structures, handles, pointers and managed code in C++. Twelfth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Marshal-by-bleed, DllMain in C#, timers and more. Eleventh part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Przemysław Walkowski W tym tygodniu było jakoś mało programowania ale poczytałem sobie o kliku ciekawych rzeczach. Chyba to ten klimat zbliżającej się majówki sprawia, że jakoś mało tematów się nasuwa.IndexedDB API Szczerze się przyznaje, że nie wiedziałem o tym, że istnieje coś takiego jak bazy danych w przeglądarce. Może to służyć do obsługi aplikacji off-line lub do przechowywania dużej ilości danych po stronie klienta. Są dw...
Sztuka programowania 2035 dni, 1 godzinę, 24 minuty temu 151 źrodło rozwiń
Threads, memory model, pumping COM messages, internals of Thread.Abort. Tenth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
GC, card table, brick table, finalizers, f-reachable queue and more. Ninth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
RECRUITMENT QUESTIONS FOR .NET DEVELOPER – WHAT YOU NEED TO KNOW BEFORE YOUR RECRUITMENT INTERVIEW
Unions, varargs, global fields. Eighth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Przemysław Walkowski Kolejna porcja mikro wiadomości o tym co tam ciekawego się dowiedziałem. W tym tygodniu jakoś dużo tego wyszło, choć też trzeba przyznać, że pilnowałem wpisywanie ich do posta regularnie. ZapraszamVisualStudio – skakanie pomiędzy nawiasami Ctrl + ] kursor należy ustawić przed lub za nawiasem OnLine API JSON – api dostępne do ręki, do testów i innych zastosowań Obsługa CORS jest włączona wie...
Sztuka programowania 2056 dni, 2 godziny, 7 minut temu 161 źrodło rozwiń