Ostatnio bardzo mocno „katuję” swój mózg Gitem….hmmmm…uprzyjemniam mu chwile Gitem. Z racji tego, że w pracy nie mam możliwości poużywać sobie Gita w miarę często, eksperymentuję w domu na swoich pet-projects. Używam, używam, używam i nudzi mi się już ciągłe wpisywanie komend w konsoli. Rzecz jasna nie zamienię jej na inne narzędzie do pracy z Gitem, ale kiedy już pamiętasz te bardziej popularne komendy, odechciewa się. Pisałem już od dodatkach do PowerShella, również w kontekście Gita. O ...
Wzorzec DAO (Data Access Object) jest jednym z częściej używanych wzorców do organizacji warstwy dostępu do danych . Dla każdego obiektu/tabeli z bazy (np User, Product) tworzymy dedykowany interfejs/klasy. Klasy te często nazywamy repozytoriami* (np. UserRepository, ProductRepository) i na ogół zawierają takie same metody. Jestem wielkim fanem szablonów T4. Lubie je wykorzystywać do automatyzacji tworzenia powtarzalnych i schematycznych elementów kodu. Właśni...
Rejestrowanie zależności poprzez system refleksji + Autofac modules
W poprzednim poście pokazałem jak automatycznie dodawać numer zadania z VSTS do commit message. Dziś pokażę jak automatycznie dodać ten numer zadania do wielu ostatnich commitów. Z pomocą przychodzi Nam polecenie git filter-branch. Polecenie to zastosuje odpowiedni filtr (wybrany przez Nas) do każdego commita w branchu i w efekcie powstanie nowy commit. Składnia dla tego polecenia składa się z 4 elementów:Podstawowe polecenie: git filter-branch.Nazwa filtru np.: --msg-filter.Pol...
Ostatnio w pracy rozpoczęliśmy nowy projekt, który oparty jest na mikroserwisach. Cały proces tworzenia aplikacji zaczęliśmy od stworzenia dedykowanego repozytorium dla każdej usługi (o tym podejściu pisałem tutaj) i umieszczeniu w nim projektu ASP.NET Core, który następnie należało odpowiednio przygotować. Mam tu na myśli np. stworzenie poprawnej struktury katalogów, dodanie podstawowej integracji z istniejącą infrastrukturą itd. tak, aby każda usługa była możliwie podobna pod względem organizacji plikó...
Zapewne, w 1994 roku, kiedy to w przeglądarce Netscape Navigator po raz pierwszy pojawiła się obsługa protokołu https, nikt nie spodziewał się, że stanie się on standardem. Dziś, po ponad 14 latach rozwoju specyfikacji, trudno sobie wyobrazić stronę internetową bez zielonej kłódki przy pasku adresu. Ok, teraz zacznie się ta mniej przyjemna część. No bo szyfrowanie jest super i w ogóle, ale… Nie umiałbym zliczyć sytuacji, gdy programując w środowisku lokalnym wszystko działało bezproblemowo, jednak po wg...
Potrzeba i chęć używania git’a sprawiła, że siłą rzeczy używam również PowerShella i to właśnie o nim będzie dzisiejszy wpis. Okazuje się, dla osoby niezbyt obytej z tym narzędziem, że jest ono bardzo przydatne, zwłaszcza dla programisty. Dzisiaj nie chcę pisać o konkretnych funkcjach czy komendach. Napiszę o kilku dodatkach jakich używam i jak wspomagają/usprawniają one pracę. Mam również w planach post traktujący o PowerShellowych tips & tricks dla programistów, ale to kiedy indziej. Łatwiej w Git...
Wielokrotnie zastanawiam się, czy mój kod jest wydajny. Czy nie da się czegoś zrobić, aby aplikacja działała szybciej. Przy szybkości działania nie można założyć, że coś wydajne, bez zmierzenia tego. Jak zobaczysz pod koniec wpisu, może się okazać, że operacja, która wydaje się szybka, wcale taka nie jest. Jak zmierzyć wydajność kodu .NET? Możemy zrobić to na wiele sposobów. Niektórzy używają DateTime.Now, inni DateTime.UtcNow, czy też klasy StopWatch. W ka...
Mikroserwisy! Mikroserwisy! Mikroserwisy! No dobra to skoro przyciągnąłem waszą uwagę to teraz możemy na spokojnie przejść do artykułu. Dzisiaj nie będzie o mikroserwisach per se, jednak o jednym z pochodnych elementów. Łapiemy za długopisy i piszemy temat: jak za pomocą Visual Studio for Mac uruchomić kilka projektów jednocześnie ( Rider nie wspiera uruchamiania kilku projektów na raz).Utworzenie konfiguracji Podczas generowania solucji i pierwszego projektu Visual Studio tworzy także konfigurację uruc...
Ilu programistów traci swój cenny czas na merdżowaniu kodu, zamiast skupiać się na tworzeniu nowych funkcjonalności? Zbyt wielu. Przedstawione są trzy najpopularniejsze strategie branczowania. Poznaj je i zrozum, a następnie wyłuskaj z każdej to, co jest najlepsze dla Ciebie i Twojego projektu.
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...
In my blog 'Debugging Through the .NET Core framework' I give specific instructions for setting Visual Studio up so that you can debug into the source code for the .NET Core Runtime. Since Version 2.1 of the .NET Core runtime, it is also possible to do this using the 'Visual Studio Code' editor. Since Visual Studio code runs on Linux (as well as windows, or MacOS), this is what you would be using if you were developing on non-windows platform.
Jeden z poprzednich artykułów poświęciłem na podkreślenie ogromnej roli, jaką pełnią hasła w naszym życiu. Starałem się tam pokrótce opowiedzieć jak zarządzać hasłami i wspomniałem, że sam używam programu LastPass do przechowywania przynajmniej części swoich poufnych danych. Dziś chciałbym pokazać podstawowe sposoby pracy z LastPass i możliwości które oferuje ten manager oraz oczywiście zachęcić do jego używania.
W dzisiejszym wpisie chce wam pokazać jak projekt, który stworzyliśmy, możemy dodać do Jenkinsa – popularnego narzędzia do CI. Wpis kieruje do osób średnio zaawansowanych/początkujących. Popularność dostawców CI/CD jest różna, jednak Jenkins cieszy się jedną z największych. Tak jak prezentuje to Google Trend.Źródło: www.mindtheproduc...
Git to najpopularniejszy system kontroli wersji. Pomaga hordom programistów pracować lepiej, wydajniej i bardziej elastycznie. Pomimo że liczy sobie już ponad trzynaście lat, wciąż wiele osób używa go źle, zabijając w ten sposób produktywność. Czego nie robić, aby sobie nie zaszkodzić?
This blog post provides insights into the NuGet team plans for the upcoming quarter (July - Sep 2018). In the March 2018 NuGet Spring 2018 Roadmap, we had outlined Package Signing, Organizations, Cross-platform credential provider support, Repeatable builds for PackageReference based projects, etc. as our immediate priorities. We were able to complete much of this work over the past few months and have made good progress on others. In this blog post, I would like to summarize our progress and share our p...
.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-based, Internet-connected applications. I have been working with .NET Core since the first 1.0 release, and have seen it maturing since. There have been some ups and downs from a software developer point of view, such as th...
We released .NET Core 2.1.1. This update includes .NET Core SDK 2.1.301, ASP.NET Core 2.1.1 and .NET Core 2.1.1. See .NET Core 2.1.1 release notes for complete details on the release.Quality UpdatesCLI[4050c6374]The “pack” command under ‘buildCrossTargeting’ for ‘Microsoft.DotNet.MSBuildSdkResolver’ now throws a “NU5104” warning/err...
In the previous article, we had a chance to look at the basics of machine learning and we got introduced to the way ML.NET framework is working. For that purpose, we have used Iris Dataset, which is a very basic classification problem. Let’s take up a notch and try to solve something which is a bit more advanced. In this article, we will see how we can apply same concepts from the previous article on one regression p...