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.
Architektura 2321 dni, 15 godzin, 13 minut temu 142 źrodło rozwiń
A few days ago I read a beautiful comment: The man without time tracking doesn't know what he did. What is the first thing to do after holidays? Fill time tracking.
Aggregate is one of the most fun and powerful methods in LINQ. Sadly it's also of of the most underused and "scary" ones. I hope that after reading this post you will understand Aggregate a bit more, know when to use it and won't be afraid of doing so.
Sztuka programowania 2322 dni, 17 godzin, 20 minut temu 259 źrodło rozwiń
How often in your code do you see ifs checking whether the object is not null? Often? Very often? What would happen if you didn’t have to check it out? Surely code would be easier to maintain – no ifs = no test cases. This can all be achieved using Null Object pattern.
Sztuka programowania 2326 dni, 10 godzin, 9 minut temu 253 źrodło rozwiń
Wiele osób z którymi rozmawiam mówi mi, że nie ma czasu na czytanie książek. Są też takie, które mówią, że przy nich zasypiają więc nie mogą czytać. Mówią „też bym tak chciał(a)”, kiedy widzi kolejną przeczytaną przeze mnie książkę.A to wcale nie jest takie trudne! Rok temu udało mi się przeczytać ponad 52 książki choć 52 to był cel jaki sobie ustawiłam. W tym roku celem było 60. Udało się to przebić i to tak naprawdę całkiem niechcący choć na pewno nie było to takie proste. Dodam, że rzadko wrzucam na...
Czyli dzielę swoim Full Stackowym frameworkiem (Entity Framework, WebApi, OAuth, SPA itd.) licząc, że komuś się to przyda i po cichu, że ktoś będzie chciał mnie wesprzeć w jego rozwoju. Tudzież dobrym słowem. Dodatkowo egzystencjalnie bajdurzę o transformacjach zespołów muzycznych.
Architektura 2326 dni, 10 godzin, 9 minut temu 301 źrodło rozwiń
~ MJ Stało się, 2016 rok przeszedł do historii. Jest to idealny moment na wszelkie podsumowania. Jak to wyglądało z mojej strony?
“Jak rozmawiać z klientem, który nie wie, czego chce.” – znajome zdanie? 😉 Książka wyjaśnia, że taka opinia nie jest jednak do końca sprawiedliwa. Klient zawsze wie, czego chce, jednak nie zawsze wie, czego potrzebuje oraz nie zdaje sobie sprawy z konsekwencji swoich oczekiwań.
This is a follow up to my previous post on HTTP/2 Server Push which deep dives into subject of client side caching and explores the Cache Digest proposal.
Podsumowania roku 2016 sypią się jak grzyby po deszczu więc ja również kontynuuję tradycję, którą u siebie zapoczątkowałem w zeszłym roku. Co zatem jest tu do napisania o mojej "IT-twarzy"?
Reading time ~5 minutes In my ongoing series on calculating similarities one angle always seemed worth trying, and was pointed out many times on Reddit - use C++ and matrix manipulations. Similarity calculation fits very nicely into matrix representation, and there are algorithms targeting sparse matrix manipulation. So why did I delay it for so long? Because I had other angles I wanted to try and, from the looks of it required significant changes in the existing code base. But since last op...
Sztuka programowania 2327 dni, 10 godzin, 1 minutę temu 149 źrodło rozwiń
W trakcie naszej przygody z programowaniem zetknęliśmy się z książkami poruszającymi najróżniejsze tematy. Programowanie, branża IT, biznes, nowe technologie, design, rozwój osobisty, biografie znanych ludzi – było tego naprawdę mnóstwo. Wiele z nich zmieniło sposób w jaki teraz myślimy i podchodzimy do nauki oraz pracy.
Sztuka programowania 2327 dni, 10 godzin, 1 minutę temu 182 źrodło rozwiń
Amazon Web Services CloudSearch is a search engine and it’s offered in a SaaS model (as well as Elasticsearch what I’ve already explained here). I’m currently writing an article about it so I’ll skip the way how to set it up and how it works. Unfortunately, CloudSearch isn’t free. It doesn’t cost much if you take a look at everything what you get. For more information on pricing check here. There’s few issues with CloudSearch. One of them is ...
In one of the lasts post, I’ve showed you what tools to use to play with IL. I’ve also showed how to change the entrypoint of the application. Now lets learn some basic structure of IL code. Let’s dive in. Actually it’s not that different from C# code. We do have assemblies, classes and of course code. So it’s the same concepts as we know them from .NET – but it’s a bit different. Let’s see.View the code on Gist. Above we can see some Hello World program decompiled to IL. As you can see there’s a lot o...
Jeżeli korzystasz z Visual Studio Code to też duże prawdopodobieństwo, że korzystasz także z Gita jako system kontroli wersji. Według tych porad możesz ustawić Visual Studio Code jako domyślny edytor dla Gita oraz jako domyślny difftool czyli narzędzie pokazujące zmiany pomiędzy dwoma commitami.
Noworoczne postanowienia i cykliczne obowiązki z nich wynikające przeważnie bardzo ciężko jest zrealizować. Z kolei harmonogramowanie zadań w SQL Server i Windows Server jest dziecinnie proste. I o tym jest ten wpis.
Bazy danych i XML 2329 dni, 18 godzin, 14 minut temu 115 źrodło rozwiń
Application Insights is a performance monitoring service, created by Microsoft and available on Azure. It gives you space to store the performance metrics and logs of your application (200MB for free!), as well as functionalities to search and manage them. In this post I am not going to present you the whole platform – Microsoft already did it in the Azure documentation, but rather focus on an element of the log collection, named dependency calls tracking. I did some ...
FSharp helps you find duplicates in your project file 03 Jan 2017 | Category: Programming | Tag: F# On my daily work, I deal with a complex solution counting more than 100 projects. As probably like the most of you, we have branches dedicated to production, testing and development. In such environment, it is a normal thing that you have to merge your changes from one branch to another. And sometimes, not everything will go smoothly. Then, when someone overwrites merged changes, roll back becomes prob...
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...
Sztuka programowania 2330 dni, 10 godzin, 10 minut temu 78 źrodło rozwiń