W tym wpisie omówię ogólnie konfigurację gita, gdzie ona się znajduje. Dodatkowo pokażę, jak skonfigurować, aby adres e-mail był brany warunkowo, w zależności od tego w jakim katalogu znajduje się projekt.
Od wielu lat używam viewmodeli do przekazywania danych do widoku – niezależnie od tego, czy to aplikacja desktopowa w WPF, czy webowa w ASP.NET MVC. Do tego jeszcze Automapper do mapowania danych na viewmodele. Niestety mapowanie z wykorzystaniem metody Map obiektów z Entity Frameworka bardzo często ma swoje negatywne konsekwencje (na ogół pobieramy zbyt dużo danych do aplikacji). Jednym z rozwiązań tego problemu jest skorzystanie z metody ProjectTo z Automappe...
Bazy danych i XML 1540 dni, 23 godziny, 52 minuty temu 274 źrodło rozwiń
Czym się różni typ od klasy? Czy podtyp koniecznie musi dziedziczyć ze swojego nadtypu? Czy dziedziczenie z klasy bazowej wystarcza, aby być podtypem?
Sztuka programowania 1542 dni, 6 minut temu 351 źrodło rozwiń
As a Software House that develops a lot of B2C and B2B systems we have to deal with content management systems on the daily basis. We use the most popular CMS solutions like LifeRay or Sitecore. These products offer great functionalities and experience for content creators and marketing. But they also heavily affect our systems architecture and usually tightly couple our solution to chosen CMS. Also our customers have to deal with this kind of heavy and strong dependency. Do we have any viable alternati...
Architektura 1542 dni, 6 minut temu 103 źrodło rozwiń
“W życiu nie ma nic za darmo” Maksyma ta przez długi czas chodziła za mną. I w sumie tak jest, ale z pewnymi wyjątkami 😛 W dzisiejszym artykule chciałbym wam przedstawić na jakie bonusy może liczyć student od różnych firm. Postaram się w miarę możliwości aktualizować ten artykuł więc zachęcam do zaglądania tutaj od czasu do czasu 😉
Podczas nagrywania czwartego odcinka „Distributed .NET Core” (do którego oglądania serdecznie Cię zapraszam) wspólnie z Piotrkiem poruszyliśmy przez moment kwestię zasadności użycia async/await w tzw. „one line-rach” czyli metodach, których ciało posiada jedynie jedną linie i najczęściej jest implementowane za pomocą operatora „goes to” (nie mylić z lambdami). Przykład takiej metody: public async Task
Sztuka programowania 1543 dni, 41 minut temu 308 źrodło rozwiń
Reguła Open Close Principle mówi o tym, że klasa powinna być otwarta na rozszerzenia i jednocześnie zamknięta na modyfikacje. Zgodnie z zasadą tego cyklu – „Nie SOLID-nie„, przedstawiam jak może wyglądać klasa napisana wbrew tej regule. Przykład Skoro ostatnim razem, w przypadku reguły SRP, posłużyłem się przykładową klasą MessageProcessor, tym razem posł...
Sztuka programowania 1543 dni, 41 minut temu 141 źrodło rozwiń
Imagine you are a Junior .Net Developer and you just started your development career. You got your first job and you are given a task – write unit tests! Nothing to worry about, since you got me. I’ll show you how things are done and what are the best practices to follow.
Sztuka programowania 1543 dni, 41 minut temu 75 źrodło rozwiń
Prowadzenie projektu opensource to nie przelewki. Na początku musimy ustalić, gdzie będziemy trzymać kod. W moim przypadku decyzja była prosta – GitHub. Jak skonfigurować repozytorium, żeby praca zespołu była łatwa i przyjemna?
Brak porannej kawy to proszenie się o błędy :) Tutaj opisuje jeden taki błąd który z braku kawy wynikał i co zrobiłem żeby w przyszłości się nie powtórzył. TLDR: IReadOnlyList
Sztuka programowania 1543 dni, 41 minut temu 124 źrodło rozwiń
It’s time for a third part of articles series about what bothers Xamarin developers. The goal of this series is to identify things that should be improved. We all love Xamarin and we want to make it better by talking about things that bother us.
Mobile development 1546 dni, 35 minut temu 19 źrodło rozwiń
Dzisiejszy post będzie taki bardziej pisany, żadnego kodu nie będzie dlatego, że dzisiaj jedynie wytłumaczę czym jest dependency injection, po co to jest, do czego służy itp w następnym poście już będzie kod.
Architektura 1546 dni, 35 minut temu 147 źrodło rozwiń
Ten post to mieszkanka różnych przemyśleń na temat użycia Maybe (Option / Optional) w kodzie produkcyjnym i ogólnie programowania funkcyjnego w C#.
Sztuka programowania 1547 dni, 28 minut temu 110 źrodło rozwiń
Jakiś czas temu obiecałem napisanie kilku słów o wykorzystaniu synonimów w usłudze Azure Search. To temat na prawdę ciekawy, ponieważ, poprzez wykorzystanie tego mechanizmu, możemy znacząco poprawić wyniki wyszukiwania w naszym serwisie. Dlatego złap teraz za kubek ciepłego kakałka i zapraszam Cie do lektury.Czym jest synonim? Zacznijmy od encyklopedycznej definicji słowa: Według Wikipedii: Synonim (gr. synōnymos ‘równoimienny’) – wyraz lub dłuższe określenie równoważne znaczeniowo innemu, lub na tyle...
No i minął kolejny rok… Czas na podsumowanie i chwilę refleksji - co się udało, a co nie? Co zrobić, żeby w przyszłym roku było jeszcze lepiej?
W ubiegłym roku wzięłam udział w pierwszej edycji tego wydarzenia (pisałam o tym tutaj). W tym roku była organizowana druga edycja – na którą się zapisałam od razu. Czy było warto?
On Connect(); 2018 Microsoft announced Xamarin.Forms 4.0 with new interesting features! One of them is CollectionView, let's check what it is capable of and why it is better than ListView!
Mobile development 1549 dni, 23 godziny temu 90 źrodło rozwiń
Wikipedia podaje, że SOLID to ukuty przez Roberta C. Martina mnemonik. Wystarczy jednak zapamiętać, że jest to zbiór zasad jakimi powinien się kierować programista, podczas pisania kodu. Zwłaszcza w paradygmacie programowania obiektowego. Dużo się pokazuje jak na prawdę powinien wyglądać kod spełniający kryteria zawarte w poszczególnych regułach SOLIDa, natomiast niewiele się pokazuje przypadków niepoprawnego zastosowania tych reguł, lub nie zastosowania ich w ogóle. Właśnie to będzie celem tego cyklu....
Sztuka programowania 1549 dni, 23 godziny temu 185 źrodło rozwiń
How to use resolvers in Angular with example.
Poznając polecenie git checkout, na początku zawsze dowiadujemy się, że dzięki niemu możemy przechodzić między branchami. Można z jego pomocą stworzyć nowy branch oraz można poruszać się pomiędzy commitami w historii repozytorium. W tym wpisie pokażę Ci, że można również operować na plikach.