Nowadays, asynchronous programming isn’t something unusual. We all know that when it comes to do some I/O operations or HTTP request, we should do it async. Why? There’re several reasons but two most important are:Efficiency. In many cases, the code might work faster. That’s because it’s not forced to wait for the result. Instead, it can work on some other stuff and then come back for the response when it’s ready. Simple is that.Comfort. Async improves the comfort of using our applications. We don’t blo...
Programowanie współbieżne – jeden z najbardziej zaawansowanych tematów programistycznych. Z jednej strony programowanie równoległe jest już standardem, z którym mają styczność (może w pewnym stopniu nieświadomie) nawet początkujący programiści. Z drugiej strony nadal tylko niewielu programistów potrafi pisać poprawny oraz efektywny kod współbieżny.
It’s been a few months already since I’ve started working for good with distributed systems using (micro)services and asynchronous processing via service bus. Many issues and question raised and one of these was how to not lose the information about commands and events being processed and even more importantly, how to notify the user once the request has completed? I’ve had to come up with some solution that seems to be sufficient (at least for now) and I’d like to share it with you.
Reading time ~4 minutes This post is an analysis of a very interesting optimization proposed by Nicholas Frechette in the comments under the previous post. He proposed to use one of the oldest tricks in performance cookbook - divide and conquer. Well, it did not turn out as I expected.Saga Before I go further here are some link to the previous posts on the problem of calculating similarities and then optimizing. This thread grew to a few post. Here are all of them:How I calculate similariti...
It’s been quite a while since I posted the latest update of the Warden project designed for monitoring the resources in general. After a lot of back-end coding and refactoring, the time has come to finally focus on the new web interface implementation. And this is where the things start to become interesting (I promise).
Visual studio simplifies creating of WCF service by providing project templates. First way to create WCF service is to use the New Web Site option and then choose WCF Service. It will create a new web site with a sample WCF service implementation linked to a .svc file, with related configuration in the web.config file. In this approach Visual Studio does not just create the core WCF project and add the needed assembly references, but it also builds the host application.
Reading time ~1 minute This will be a fast errata to the previous one. This time I will expand the oldest performance mantra: The fastest code is the one that doesn’t execute. Second to that is the one that executes once Last time I’ve forgot to mention one very important optimization. It was one of two steps that allowed me to go from 1530 to 484 seconds in the sample run.Saga Before I go further here are some link to the previous posts on the problem of calculating similarities and then...
Reading time ~6 minutes Last time I’ve shown how I’ve gone from 34 hours to 11. This time we go faster. To go faster I have to do less. The current implementation of Similarity iterates over one vector and checks if that ingredient exists in the second one. Since those vectors are sparse the chance of a miss is big. This means that I am losing computational power on iterating and calling TryGetValue. How to iterate only over the mutually owned ones and do it fast? Saga Before I go furth...
One thing that surprised me the most about the C# was the fact that it does not support multiple inheritances (which I knew from the C++). How can we deal with that? Of course, we use interfaces, since one class can implement more than one. But quickly we come to the very common problem...
The first problem raised on the exam from WCF technology is Creating a WCF Service. Here are the subtasks for the problem: Create contracts (service, data, message callback, and fault);Implement message inspectors;Implement asynchronous operations in the service; First let's start from question what WCF is?
Sometimes it happens that we use mechanisms/features of specific language without beeing aware of it. That’s fine, but if you’ll want to discuss your code in a future to the audience or coworkers, soon or later you’ll be forced to learn it and understand (or at least name it using technical nomenclature). Therefore, today I’m going to discuss two related „mechanisms” of C# which are covariance and contravariance. Covariance Covariance is a type conversion from the specific type to the more general (ba...
Necessity is the mother of invention – that’s basically why I did create a new open source project called Lockbox. Its main purpose is to provide a centralized and secured storage for the application settings that can be easily fetched via HTTP request. Sounds interesting? Then let me guide you through the most important concepts of the Lockbox.
There are times that you need to call native (C/C++) code from .NET environment. To do so, you have several options: use C++/CLI, use P/Invoke mechanism, use some sort of inter-process communication like pipes, memory mapped files etc persuade yourself that it's gonna be easy to port this cool C/C++ library to C#. Shoot yourself in the head when trying to do it. We will discuss option 2.
Not so long ago, I’ve eventually decided to dive into the world of microservices. I did look for an opportunity to make use of this architectural pattern for quite some time and finally was able to do so. After 3 months of trying out the new things and learning stuff mostly on my own (the hard way) I believe it’s a good time to share some of my experience. I have no doubts that at some point in the future when I look back at this post I might be like – “oh God, what was I thinking back then, it’s so wro...
Przemysław Walkowski No w końcu znalazłem porządne i wygodne miejsce do codziennych ćwiczeń programistycznych – dostępne on-line i dość sensownie zrobione. Nie wielu programistów korzysta z takich rozwiązań. Nie wiem dlaczego. Jednak ja polecam codzienne ćwiczenia w pisaniu kodu i wymyślaniu algorytmów, bo tylko dzięki temu praktycznie zwiększymy szybkość pisania oraz będziemy elastycznie podchodzić do problemów. Jak to wygląda w praktyce napisze poniż...
Czy możliwe jest skompilowanie kodu C# bez odpalania potężnego narzędzia jakim jest VS? Czy aby skompilować prościutką rzecz lepiej wpisać linię z palca czy jednak jest to przerost formy nad treścią? Rzuć okiem!
Załóżmy, że stoi przed nami zadanie wykonania aplikacji mobilnej. Klient nalega oczywiście, żeby zrobić to szybko, dobrze i tanio. Jak podejdziemy do tematu? Na rynku dostępnych mamy wiele narzędzi, które można wykorzystać w tym celu. Które wybrać?
macko (32 816,53)
http://pawlos.blo... (31 564,45)
pzielinski (27 178,29)
gordon_shumway (21 178,87)
paduda (20 336,33)
psz750 (13 018,14)
rroszczyk (10 383,88)
Damian (9 041,08)
danielplawgo (7 235,99)
arek (6 807,9)
burczu (6 214,22)
PaSkol (5 393,84)
lukaszgasior (4 097,38)
jj09 (3 498,06)
jedmac (3 298,38)
http://jakub-flor... (3 224,66)
CaMeL (2 954,87)
spetz (2 648,17)
mnikolajuk (2 596,93)
lkurzyniec (2 554,5)