Robert C. Martin (Uncle Bob) w swoim artykule nt. Dependency Inversion Principle, skondensowanej wersji rozdziału „DIP: The Dependency-Inversion Principle” ze swojej książki pt. Agile Software Development, Principles, Patterns and Practices, opisuje „zły” design aplikacji i wprowadza pojęcie „kruchości” aplikacji. Mianowicie, kruchość aplikacji to m.in. tendencja aplikacji do psucia się w wielu miejscach, w momencie jednej małej zmiany w miejscu zupełnie nie powiązanym do miejsca gdzie zaszła zmiana. Te...
Sztuka programowania 2019 dni, 6 godzin, 53 minuty temu 118 źrodło rozwiń
Pokażę Ci dzisiaj jak w kilku prostych krokach i linijkach kodu przygotować zaawansowaną animację, która zachwyci wszystkich. Przygotuj ulubioną herbatę, a ja wszystko Ci opowiem!
Mobile development 2019 dni, 6 godzin, 53 minuty temu 69 źrodło rozwiń
Pisanie kodu uruchamianego na platformie Dynamics 365 CE na pozór wydaje się banalnym tematem. Tu biblioteczka JavaScript… Tam prosta DLL-ka .NET, uruchamiana w momencie wystąpienia określonego zdarzenia w systemie… Być może jest to prawda, jeżeli korzystamy z systemu w wersji „pudełkowej” lub dostosowanej za pomocą narzędzi dostarczonych przez producenta. Sprawy komplikują...
Sztuka programowania 2019 dni, 6 godzin, 53 minuty temu 28 źrodło rozwiń
Today a friend showed me a piece of code that was supposed to serialize some Model to XML string without any consideration for custom namespaces apart from defined in given Model. Ok, so we need an instance of XmlSerializer for Model’s type and we will use XmlWriter to write through some MemoryStream and read the contents at the end. Seems quite obvious but is it? Let's dive into caveats of stream processing.
Sztuka programowania 2019 dni, 6 godzin, 53 minuty temu 32 źrodło rozwiń
Dziś odpowiedź na zdecydowanie najczęściej zadawane pytanie w kontekście naszego projektu DShop. Brzmi ono „w jaki sposób użytkownik końcowy aplikacji wie czy jego komenda została (i kiedy została) przetworzona?”. Na pierwszy rzut oka odpowiedź na to pytanie może wydawać się trywialna, prawda? Wszak większość typowych aplikacji webowych po wykonaniu jakiejś akcji informuje nas o jej powodzeniu lub błędzie poprzez np. toastry...
Programowanie rozproszone 2020 dni, 6 godzin, 53 minuty temu 329 źrodło rozwiń
Advantages of boxing, exceptions, well known members, duck typing and more. Seventh part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Hej Wam. Trzeba trochę odkurzyć projekt, a z racji, że w chwili pisania tego artykułu wylądowałem na ławce, postanowiłem się podszkolić z wiedzy, która przyda się każdemu. Mi się przydała do mojego projektu. Nie jest też to droga usługa, przynajmniej na potrzebę usług takich jak galeria na stronie. W tej części nie tylko opowiem Wam na temat założenia Storage Account, ale także jak obsłużyć “Bloby”. Przy okazji, to już 2 lata od regularnego pisania w ramach DSP. Dzisiaj nie dałbym radę pisać 2x tyg...
Post poświęcony dependency injection w Xamarin.Forms.
Mobile development 2021 dni, 7 godzin, 13 minut temu 31 źrodło rozwiń
Podstawy dependency injection w asp.net core.
Początek cyklu postów o Domain driven desing.
Architektura 2022 dni, 7 godzin, 33 minuty temu 136 źrodło rozwiń
Zainspirowana radami przyjaciela, postanowiłam ruszyć z nowym projektem. Będą to cokwartalne podsumowania osiągnięć. Po co? Dlaczego? Jak możecie na tym skorzystać? Przeczytajcie ;)
Przeglądając ostatnio internet natrafiłem na takie polecenie:git push --dry-run Co to robi? Opcja –dry-run pozwala na za symulowanie wykonania danego polecenia.
Entity Framework jest dość przyjemnym narzędziem do pracy z danymi w aplikacji. Prawie każdy, kto spróbował w nim pracy, nie ma za dużej ochoty wracać do pisania zapytań w czystym SQLu. Ale niestety Entity Framework ma też swoje problemy, o których już nieraz pisałem. Na szczęście mamy takie firmy jak np. ZZZ Project, które tworzą biblioteki rozwiązujące te problemy. W tym wpisie chciałbym przedstawić Ci kolejną funkcjonalność darmowej biblioteki Entity Framew...
Bazy danych i XML 2026 dni, 6 godzin, 12 minut temu 172 źrodło rozwiń
Kolejny post z serii o Bounded Contextach - jak konteksty mają się do architektury zdarzeniowej.
Sztuka programowania 2026 dni, 6 godzin, 12 minut temu 132 źrodło rozwiń
Niedawno zdałem egzamin AZ-900 Microsoft Azure Fundamentals i dzielę się swoimi doświadczeniami. Dlaczego warto i jak zdać ten egzamin? Zapraszam do czytania i komentowania.
Poruszę dziś temat historyczny (ale autentyczny) pewnego projektu, w którym uczestniczyłem kilka dobrych lat temu. Był to jeden z pierwszych projektów komercyjnych, w którym uczestniczyłem jako programista, w którym byłem jednocześnie leaderem zespołu. W moich obowiązkach była komunikacja z biznesem i tworzenie harmonogramów. Oprócz tego również czynnie programowałem w projekcie i odpowiadałem za dobó...
Na poziomie aplikacji architektura powinna wspierać modelowanie domeny czyli serca całego systemu. Czym powinna się charakteryzować architektura, żeby wspierać podejście Domain First? Czy tradycyjne warstwy są dobrą odpowiedzią na te potrzeby?
Architektura 2028 dni, 5 godzin, 56 minut temu 185 źrodło rozwiń
Dziś krótko, bo życie osobiste wygrało z życiem “nerda”.Dużo oglądania czyli NDC London NDC London opublikowało wszystkie sesje z tego roku: https://www.youtube.com/watch?v=b32aWD5FL3Q&list=PL03Lrmd9CiGfouFw_eoMCIe0Pq4lM6ygn Co tu dużo mówić jest co oglądać i w sumie ta sekcja mogła by wystarczyć na ten tydzieńTydzień dotnetomaniaka Na dotnetomaniaku 12 artykułów w tym tygodniu: https://dotnetomaniak.pl/weekly/2019/12, prawie każdy z innej dziedziny, więc ciężko mi jednym zdaniem opisać co się działo...
Dzisiaj zastanawiam się, czy wieść o wsparciu dla WPF i Windows Forms w .Net Core 3 jest przełomowa czy też nie. Zapraszam.
Make The Sound, to moja autorska wtyczka, której jeszcze nie znasz i nie jesteś jeszcze świadom tego, jak mocno jej potrzebujesz ;) To mały dodatek do Visual Studio, który dodaje dźwięki do zdarzeń/akcji podczas kodowania. W tym momencie dodane są trzy zdarzenia, do których podpięto efekt dźwiękowy: -save (efekt dźwiękowy zapisu na dyskietkę) -save all (efekt dźwiękowy zapisy na dyskietkę [dłuższy]) -build failed (efekt rysowanej płyty z kreskówek)