TFS kompiluje, Jenkins instaluje, ale co testuje? Do tej pory widziałem w tej roli Jenkinsa, ale... Poznałem coś nowego. Fajnego :)
ASP .NETPiotr Zieliński1 Comment ASP.NET Core ułatwia w znaczący sposób IoC. Przede wszystkim wbudowano w framework dosyć prostą implementację IoC. Oznacza to, że w wielu przypadkach nie trzeba już instalować zewnętrznych framework’ow takich jak AutoFac. W pliku Startup znajdziemy metodę ConfigureServices: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); ...
Sztuka programowania 3034 dni, 19 godzin, 20 minut temu 283 źrodło rozwiń
Today we are going to have a little break from our CQRS/ES journey, but I hope you’ll like that article anyway. Meet Aspect-Oriented Programming! An approach that’s going to change the way of writing our code and more importantly will help us to keep it clean and simple (in most cases). The idea Writing the code we can often observe that the certain group of the non-business functionalities is copied in many areas, and moreover, it affects other parts of our system. Here we can include: creating datab...
Sztuka programowania 3034 dni, 19 godzin, 20 minut temu 168 źrodło rozwiń
Kiedy budujemy naszą bibliotekę, w końcu nadejdzie czas aby ją nazwać. Ponieważ siedzę po uszy w dotnecie, zacząłem przyglądać się niektórym nazwom bibliotej dotnetowych i zauważyłem m.in. wzorzec “n”. Podobnie dużo bibliotek w Javie ma w nazwie “j”. Zebrałem więc kilka ciekawych n-bibliotek...
W poprzednim wpisie na temat Xamarina, zrobiłem małe wprowadzenie teoretyczne do tej technologii. Przedstawiłem podstawowe założenia oraz dostępne warianty użycia tego rozwiązania. Jeśli uważasz, że wybór technologii jaką jest Xamarin był sam w sobie trudną decyzję, to mam niestety złą wiadomość. Już na starcie trzeba podjąć kolejną i to równie ważną. Którego podejścia użyć - Forms czy Native? W poprzednim poście przedstawiłem podstawowe założenia obu z nich. W wielkim skrócie - Forms zapewnią większą ...
Mobile development 3034 dni, 19 godzin, 20 minut temu 153 źrodło rozwiń
Na blogu rzadko poruszam tematy CSS, ale czasami nawet jak ma się bardzo małą warstwę prezentacji, warto zainwestować trochę czasu w poznanie nowych bibliotek. Dzisiaj chciałbym przedstawić LessCss. Biblioteka stanowi pewnego rodzaju pre-processor, który rozszerza możliwości klasycznego CSS. Na wyjściu zatem pojawi się zwykły CSS, który jest obsługiwany przez wszystkie przeglądarki. Sprawą “kompilacji”, zajmiemy się w innym wpisie, ponieważ istnieje wiele sposobó...
Last time I wrote a post about the commands. Events are quite similar to the commands – the main difference between these 2 patterns is that the events are related to the things that have actually happened to our entity e.g. by invoking the command. They’re also a core part of the DDD (Domain Driven Desing) and can be easily implemented within our software solution.
Sztuka programowania 3036 dni, 12 godzin, 31 minut temu 169 źrodło rozwiń
Porównanie systemów, których używam w domu, pracy i ogrodzie... Po mojemu oczywiście.
Czym się różni Lazy Loading od Eager Loading? Co udostępnia nam EntityFramework? W jakim momencie wykorzystać dany sposób ładowania danych? Jak ładować dane? Zahaczymy też o JSON, SQL performance i inne. Zapraszam do lektury.
Dawno dawno tutaj nic nie publikowałem. Sporo tematów leży w kolejce i czeka aż będzie chwila czasu. Ostatnio ten czas dosyć skutecznie zjada coś, co zaczęło się od niewinnego… „a może byśmy zrobili konferencje?” Było to dawno dawno temu, gdzieś ponad rok temu. Wracając z konferencji tak od słowa do słowa razem z Piotrkiem stwierdzili...
Chcesz logować SQL generowany przez NHibernate do pliku? Przejdę od razu do konkretów. Potrzeba klasy NLogFactory, która będzie tworzyła instancje Loggera.
Bazy danych i XML 3037 dni, 18 godzin, 28 minut temu 106 źrodło rozwiń
Niedawno zacząłem praktyki, gdzie biorę udział w eksperymencie porównania 3 metodyk pisania oprogramowania: TDD, ITL i NUT. TDD spodobało mi się szczególnie, więc postanowiłem napisać tego posta i pokazać przykładowy workflow w TDD.
Sztuka programowania 3039 dni, 14 godzin, 53 minuty temu 288 źrodło rozwiń
Just how long does garbage collection take in .NET? Which generation takes longer?
Sztuka programowania 3039 dni, 14 godzin, 53 minuty temu 124 źrodło rozwiń
W ostatnim czasie dzięki uprzejmości Patricka Smacchia, miałam okazję zapoznać się z narzędziem do analizy kodu jakim jest NDepend. Ponieważ jednak ma on tak dużo możliwości, iż wyrósł by z tego całkiem spory artykuł, postanowiłam podzielić go na mniejsze i niniejszym zapraszam na pierwszy odcinek cyklu poświeconego temu narzędziu.Zacznijmy zatem od tego czym jest NDepend, jak zacząć pracę z nim i Co nam daje? Narzędzie służy do zaawansowanej analizy kodu, wspomaga przyglądanie się strukturze projektu,...
Zwiększ komfort pracy z Visual Studio już teraz! Pomoże ci w tym poniższa lista rozszerzeń, z których korzystam podczas codziennej pracy.
Chciałbym Was przeprowadzić przez proces skompilowania, uruchomienia i debuggowania .NET Core - czyli wersji open source środowiska .NET. Bez zbędnych wstępów przejdźmy do odpowiedzi na proste pytanie... Po co?
Spotkałem się ostatnio z następującym problemem: Mam bibliotekę z modelami, oraz drugą opisującą Dto (Data Transfer Object), w której typy danych są bardzo zbliżone do modeli, ale są to mimo wszystko inne typy. Szukając rozwiązania, trafiłem na Mapster, bibliotekę do mapowania typów.
O ReSharperze słyszał niemalże każdy, kto zajmuje się programowaniem w .NET. I o ile jest to rozszerzenie bardzo przydatne, to dziś chciałbym Wam opowiedzieć o nieco innym narzędziu, które co prawda nie odwali tyle roboty za Ciebie, ale jest w stanie zrobić bardzo wiele dla Ciebie. Mowa o NDpend, który jest w stanie przeanalizować nasz kod i poinformować nas, gdzie autor kodu dał ... ciała ;).
Propsuje jedno z moich ulubionych narzedzi w codziennej pracy w VisualStudio
Zaczynając swoją przygodę z ASP.NET MVC (oraz w ogóle z programowaniem) miałem sporo problemów z utrzymaniem porządku w moich akcjach na kontrolerach. Bardzo często pojawiało się tam mnóstwo warunków i niepotrzebnej logiki. Ten problem trzeba było sensownie rozwiązać, więc z kolegami wypracowaliśmy sobie pewną konwencję, której twardo się trzymaliśmy...