Docker has built in great cache mechanism, but to be able to use it, you have to understand how it works.
You may not know this, but there is a part of Allegro codebase which we started developing in C# due to some special requirements. This implies new programming opportunities and challenges — one of these is creating a completely new .NET Core starter project. Let’s explore one potential solution: dotnet new templates.
The goal of [email protected] task is improving build performance by caching files between pipeline runs. It supports multiple types of packages likeBundler gemsnpm packagesYarn packagesNuGet packagesMaven artifactsGradle artifactsccache artifacts Further, we will focus on caching NuGet packages however in a similar manner we can configure this task for other types.Locking dependencies Before we configure cache task we need to lock dependencies to create packages.lock.json file as we need that file to set a prop...
Azure DevOps can do many marvelous things. It gives you process transparency and automation and so much more with logging and simply more control of the CI/CD processes. Here is a story on how to manage and automatically control you deployment process using enterprise tools.
W poprzednim poście pisałem o bibliotece FluentValidation i jak ją dodać do naszego projektu. W tym poście skupimy się na bardziej zaawansowanych funkcjonalnościach, jakie nam ta biblioteka udostępnia: - Walidacja złożonych właściwości (manualna i automatyczna) - Wspólny walidator właściwości - Walidacja listy - Własny komunikat błędu walidacji - Wspólne walidatory - Warunki walidacji - Reguły zależne od siebie - Wywołanie zwrotne - Asynchroniczna walidacja
W prawie każdym projekcie jest potrzebna jakaś walidacja danych. Klasy służące do walidacji można napisać samemu, ale można również skorzystać z gotowych bibliotek. Najbardziej lubię FluentValidation. Jest to biblioteka, która ułatwia tworzenie „walidatorów” – klas zawierających reguły walidacji.
Ngrok to mała aplikacja, która umożliwia tunelowanie ruchu. Przydatne wtedy, kiedy istnieje potrzeba wystawienia “czegoś” publicznie na świat. Tym “czymś” może być strona www, aplikacja, serwer. Działa to w następujący sposób: uruchomiona aplikacja ngrok.exe łączy się z chmurą ngrok, która akceptuje ruch na publicznym adresie. Otrzymany ruch z publicznego adresu przekazuje do procesu ngrok.exe uruchomionego na naszym komputerze, który dalej przekazuje owy ruch do lokalnej aplikacji/serwera.
Niedawno postawiłem świeży stos ELK (Elastic Search, Logstash, Kibana). Wszystko fajnie śmigało przez trochę ponad 2 tygodnie aż przestało.
In my previous post, I presented how we can deploy multiple visual studio database projects using Fake build tool. Here, I will present another option which is possible with version 5.19.0. This version has a new module called Fake.Sql.SqlPackage, which is a redesign of previous Fake.Sql.DacPac module. The reason, why the previous module needed redesign, it was a missing option (from my point of view crucial option) - publish profiles. I raised that point on GitHub here and solved it with this pull requ...
This story has begun quite long ago. I got a chance to work on projects without the automatic deployment process. It was strange a bit because we had deployments process for both front-end and back-end projects, but not for databases. For databases, we were generating SQL scripts from Visual Studio, and then we executed them in our Test environment. This was a perfect place to save our time and FAKE did the right job here. We use Visual Studio SQL Server DB projects to handle SQL scripts. And exactly th...
The BenchmarkDotNet library is great for creating benchmarks that can be run on a local machine in a very simple way. In this post, you will learn how to run them in a Docker container with a different operating system or using a different .Net Core version.
Przemysław Walkowski Jeśli chodzi o pracę na Win to często był problem z wywołaniem na szybko API. W dokumentacjach często są przykłady, gdzie używa się programu cURL. W Win nie było domyślnie tego zainstalowanego(teraz już jest. Choć też zależy to od wersji), więc albo się instalowało albo trzeba było używać SoapUi albo innego narzędzia. Ja miałem podejście, że zainstalowałem sobie powłokę bash na Win10, gdzie było cURL. Ostatnio cz...
If you are still using regex for setting AssemblyVersion you should definitely read this article.
Chyba każdy z nas używa logowania w swojej aplikacji. Jeśli jednak ktoś tego nie robi, to zachęcam zacząć. W innym przypadku może być mu trudno zareagować, kiedy coś się wysypie. Postaram się w kilku prostych krokach pokazać, jak dodać logowanie do naszej aplikacji z wykorzystaniem Serilog.
In this blog post, I’m going to describe how to create a tool for generating code during the build process and how I used it to create auto-synchronizing mapping classes.
Na blogu pojawiło się kilka różnych artykułów dotyczących tego, jak wykorzystać Postmana do testowania WebApi. W tym artykule pokażę, w jaki sposób przyśpieszyć dodawanie żądań do Postmana, szczególnie w sytuacji, gdy zaczynamy używać Postmana z już istniejącym WebApi. Wykorzystamy do tego opisywaną już na blogu bibliotekę Swagger, która dokumentuje nasze API. Postman jest w stanie zaimportować taki opis i na podstawie tego wygenerować żądania do nowej kolekcji...
Gdy tworzymy testy jednostkowe bardzo często musimy coś „zmockować” (czyli stworzyć sztuczny obiekt, którego będziemy używali w trakcie testów zamiast prawdziwej implementacji). Niestety czasem bywa tak, że nasza klasa ma dużo zależności, a do naszego testu potrzebujemy tylko niektórych z nich. Mimo to musimy stworzyć mock dla każdej z zależności, bo inaczej nie będziemy mogli wykonać testu. Czasem bywa też tak, że potrzebujemy dodać nową zależność do istniejącej klasy, a potem trzeba przerobić wszystkie...
Pełna lekcja z programu Poznaj Kubernetes - Docker - Repozytoria i Najlepsze praktyki. Dowiesz się z niej między innymi o: ➡️ Jak bydować obrazy w Docker ➡️ Jakiego typu repozytoria istnieją ➡️ Jakie są najlepsze praktyki budowania obrazów w Docker ➡️ Jakie są najlepsze praktyki tagowania obrazów w Docker Podoba się? Kliknij 👍 i podziel się.
Podczas pisania testów (czy to jednostkowych, czy integracyjnych, czy e2e) prawie zawsze musimy stworzyć obiekt z danymi. Czasem jest to obiekt wejściowy, czasem wyjściowy. Z reguły nie interesuje nas większość pól danego obiektu, a jedynie kilka konkretnych. Mimo to musimy uzupełnić wszystkie pola, aby aplikacja zachowywała się poprawnie. Tu z pomocą może nam przyjść biblioteka AutoFixture.