It’s been a while since I published the latest article, but it’s high time to finally get into the topic of microservices for real. Does open source, .NET Core, distributed system, Docker and other cool words sound good to you? If that’s the case, stick with me and let me guide you through the world (or at least part of it) of microservices. This is going to be the very first article (an introduction) of the upcoming series.
Strona głównaUżytkownik
cezarypiatek | użytkownik
Architektura 2330 dni, 32 minuty temu 213 źrodło rozwiń
Let’s assume that your system consists of a few microservices. Everything must have high availability so each microservice has at least two active instances on separate machines and everything must be multiplied by the number of testing and production related environments. When there is a situation that requires log analysis you have to skip from server to server looking for the file with desired information. You browse each file using some kind of notepad-based editor and if the files weight hundreds of...
Zachęcam do zapoznania się z artykułem opisującym jak prosto jest wdrożyć CQRS do waszego projektu.
Sztuka programowania 2350 dni, 20 godzin, 15 minut temu 144 źrodło rozwiń
W standardowym Azure AppService mieliśmy sekcję “Application settings” gdzie mogliśmy przeciążyć wszystkie ustawienia z pliku appsettings.json a następnie zrestartować aplikację. W Azure Service Fabric niestety nie ma takiego ekranu do zarządzania. Ba! Nie można nawet zrestartować aplikacji. W artykule postaram się przedstawić rozwiązanie tego problemu.
One of my ideas for increasing productivity of my team with ELK was to integrate it with Microsoft Teams. I wanted to shorten the feedback loop between error occurrence and diagnosis phase by notifying development team about the issue right after of the occurrence through the dedicated Microsoft Teams Channel. In this blog post, I've described how to easily implement this integration.
Reducing memory allocations from 7.5GB to 32KB Table of Contents Context of the problem Establishing a baseline Easy win 1 Easy win 2 Splits are never cool Lists are not always nice Pooling byte arrays Goodbye StringBuilder Skipping commas The war between classes and structs Goodbye StreamReader TLDR
Architektura 2350 dni, 20 godzin, 15 minut temu 163 źrodło rozwiń
Jest bug! 😦 Hacki się mszczą, ale teraz musimy dostarczyć paczkę Kolejny tydzień, kolejny ten sam bug Bądź EXPLICIT
Sztuka programowania 2373 dni, 2 godziny, 29 minut temu 159 źrodło rozwiń
My laptop stores everything on 250 GB SSD hard drive (actually Windows sees it as 223 GB), so from time to time I’m running out of free space. When there is a need I’m starting clearing-up by emptying c:\Users\username\AppData\Local\Temp\ and c:\Users\username\Downloads\ directories (the second one against all appearances is often full of unnecessary files). When this is not enough I use ...
Recently I’ve had occasion to work much more than usually with NHibernate. This is a really great ORM and a very mature project, but when you make a mistake it informs you about that in a very generic way (in most cases). The problem that hunted me for a few days was the issue with field length constrains (which was caused by insufficient and inconsistent REST API validation). When there was a discrepancy between declared field length in NHibernate mapping and validation logic (or the vali...
Bazy danych i XML 2403 dni, 2 godziny, 22 minuty temu 52 źrodło rozwiń
Niech ten konkurs wpędzi Was w "ostrą jazdę bez trzymanki". Kto będzie pierwszy? Na kogo spadnie szacunek .Net'owej społeczności? Do zwycięzcy wyślę ładnie zapakowane 0.7 Jack’a Daniels’a i dziesięć setek Wiśniówki Lubelskiej. Tematem konkursu jest zoptymalizowanie procesu zamiany ciągu bajtów na obiekty. Wersja uznana jest za najszybszą jeśli od poprzedniej najszybszej wersji będzie szybsza o 5% w każdym z 10 powtórzeń testu. Nagroda zwycięscy zostaje przyznana wówczas gdy po pull request z najsz...
Sztuka programowania 2403 dni, 2 godziny, 22 minuty temu 145 źrodło rozwiń
Całkiem normalną sytuacją jest, gdy każdy sam sobie instaluje server bazy danych. Wtedy u każdego ta nazwa może być różna. Ktoś zainstalował wersję SQL Express, ktoś inny ma już kilka wersji SQL (2008, 2012, 2014, 2016, …) różnie nazwanych, u kogoś innego w poprzednim projekcie instancja musiała się konkretnie nazywać.
Sztuka programowania 2414 dni, 2 godziny, 40 minut temu 172 źrodło rozwiń
Pomysł na ten wpis jest taki, że na początek, napiszę testy jednostkowe, które będą palić się na czerwono, w których zdefiniuje problem. Testy zapalę na zielono poprzez implementację wzorca Adapter. Adapter przekształca interfejs klas na inny, oczekiwany przez klienta. Adapter umożliwia współdziałanie klasom, które z uwagi na niezgodne interfejsy standardowo nie mogą ...
Sztuka programowania 2417 dni, 4 minuty temu 174 źrodło rozwiń
Krótki post o tym jakie problemy może przysporzyć update Visual Studio do najnowszej wersji. Na przykładzie VS 15.6.0 i solucji zawierającej projekty C/F# w nowym i starym formacie plików projektu.
A few weeks ago I posted about negative aspects of applying AutoMapper. As an alternative I suggested typing all mapping code by hand or utilize some kind of generator like T4Scaffoling or something Roslyn based. In the past I experimented with T4Scaffoling but it was quite tedious. It requires preparation of templates in T4 syntax, referencing it to the project and writing some PowerShell code to provide data for templates. There also was an issue with assembly locking. Then I tried to generate code wit...
I finished work on my presentation about “CQRS in 4 steps” which will be shown during Wrocław .NET meetup and KGD .NET meetup. You can find slides from my presentation on Slideshare, Moreover, there are sources on Github and I encourage you to go through the below materials.
Sztuka programowania 2457 dni, 1 godzinę, 22 minuty temu 390 źrodło rozwiń
jquery.unobtrusive-ajax is the javascript library that every ASP.NET MVC developer certainly knows. Unfortunately, it has a few design drawbacks which could have negative impact on our system architecture and generate additional hidden costs. In this post I’m going to show you some of jquery.unobtrusive-ajax.js related problems I encountered in my 5-year journey as a ASP.NET MVC frontend developer, and how to fix them.
Microsoft Teams to stosunkowe młoda aplikacja w pakiecie Office 365, ale wszystkie znaki na niebie wskazują, że na tę chwilę coraz ważniejsza. Tak naprawdę Microsoft zaczął ją promować na ostatnim Ignite. Po kilku miesiącach widać że nie zwalniają tempa, a kolejny Ignite ma być jeszcze bardziej skupiony na Microsoft Teams. Ten wpis to krótkie wprowadzenie do tego czym tak naprawdę jest ta aplikacja.
Reaktywowałem swojego bloga na nowo [https://teovincent.com/]. Blog skierowany jest do programistów, ale nie tylko. Znajdziesz tutaj również tematykę zarządzania, liderowania i rekrutacji. Menedżerowie wchodźcie do kategorii: OGARNIJ PRACĘ. Programistów zapraszam do kategorii: PROGRAMOWANIE, KONFERENCJE, HIPERŁĄCZE, KONKURS. Programowanie && !Programowanie Wykrzyknik „!” oznacza zaprzeczenie. Podwójny ampersand „&&” to operator, który zwraca wartość „prawda”, gdy oba jego argumenty zwraca...
Sztuka programowania 2466 dni, 15 godzin, 22 minuty temu 70 źrodło rozwiń
The idea behind this blog post is pretty old but I haven’t had enough motivation to write this down till now. Recently, I’ve came across a couple of new articles about AutoMapper and I’ve been struck when I saw how people utilize AutoMapper in their projects. I’ve encountered cases when AutoMapper transforms simple thing like mapping values from object to other into a really complex problem, which results with highly complicated code only for the price of not writing mappings explicitly. Finally, I’ve fo...
Sztuka programowania 2470 dni, 23 godziny, 16 minut temu 253 źrodło rozwiń
Some time ago I was trying to find a good extension to Chrome that would let me go to recent tab same as for example R# does it with files (or Alt+Tab for Windows). The outcome was rather poor so I decided to write my own extension (it’s called Omnicomplete). It does even more and is available on GitHub. Now I use it dozens of times a day and I can recommend it wholeheartedly.