Jestem aktualnie w trakcie lektury „Czysta architektura” Wujka Boba. Natknęłam się w książce na część wyjaśniającą odwrócenie zależności (ostatnią z zasad SOLID) w całkiem przystępny sposób.Jak brzmi ta zasada i jak ją wytłumaczyć?
Architektura 1522 dni, 3 godziny, 10 minut temu 153 źrodło rozwiń
Egoless Programming czyli definicja 10 przykazań programowania bez ego. Przykazań które pomagają oddzielić nasze przywiązanie do kodu oraz wiarę w swoje nadzwyczajne umiejętności tworzenia najlepszego kodu w zespole, firmie czy cholera wie gdzie jeszcze.
Sztuka programowania 1522 dni, 3 godziny, 10 minut temu 65 źrodło rozwiń
Czasami async/await w lambda nie jest potrzebne
Sztuka programowania 1522 dni, 3 godziny, 10 minut temu 130 źrodło rozwiń
Budując systemy informatyczne za pomocą obiektowych języków oprogramowania wcześniej czy później natkniemy się na pojęcie „reużywalności” kodu . W najprostszych słowach – polega ono na nieumieszczaniu w kodzie źródłowym tworzonego rozwiązania wielu klas, metod lub komponentów implementujących identyczne funkcjonalności lub zadania (metoda DRY – Don’t Repeat Yourself) Niestety, źle rozumiane podejście DRY (które w z...
Sztuka programowania 1525 dni, 4 godziny, 10 minut temu 195 źrodło rozwiń
Bierzemy się za kolejny wzorzec projektowy, a jest nim Odwiedzający(Visitor) teraz wpisy mogą być nieregularnie, trochę mam zajęć, ale serię o wzorcach projektowych i tak skończę 🙂 Jedziemy z tematem 🙂 Wszelkie rady również na temat posta w wersji angielskiej mile widziane :)
Architektura 1525 dni, 4 godziny, 10 minut temu 95 źrodło rozwiń
Reducing memory allocations from 7.5GB to 32KB Table of Contents Context of the problem Establishing a baseline Easy win 1 Easy win 2 Splits are never cool Lists are not always nice Pooling byte arrays Goodbye StringBuilder Skipping commas The war between classes and structs Goodbye StreamReader TLDR
Architektura 1525 dni, 4 godziny, 10 minut temu 158 źrodło rozwiń
Tworząc aplikację ASP.NET MVC w wielu miejscach wykorzystujemy stringi do określenia takich rzeczy jak: nazwa kontrolera, nazwa akcji, nazwa widoku, ścieżka do pliku i wiele innych. Osobiście nie lubię używania napisów w kodzie aplikacji. Ciężko znaleźć później użycia danego napisu, przez co, gdy zmieniamy na przykład nazwę akcji, to wtedy bardzo łatwo o pominięcie jakiegoś linku w aplikacji, co powoduje, że psujemy jej działanie. Do tego dochodzą problemy z literówkami, c...
Zachęcam do zapoznania się z artykułem opisującym jak prosto jest wdrożyć CQRS do waszego projektu.
Sztuka programowania 1525 dni, 4 godziny, 10 minut temu 141 źrodło rozwiń
Wyobraźcie sobie sporą aplikacje. Nie jakiegoś giganta, jednak liczę, że przed waszymi oczami pojawi się solidny obraz. Potraficie ją sobie wyimaginować bez paginacji wyników? Osobiście uważam, że każda aplikacja zaopatrzona w listę wyników powinna zawierać mechanizm paginacji. Prezentowanie użytkownikowi tysięcy wyników na jednym ekranie nie jest ani wygodne, ani nie wygląda najlepiej. Dlatego też, w dzisiejszym, dość krótkim, artykule chce wam pokazać jak zrobić paginowalną listę wyników w aplikacji .N...
I’ve always had the impression that companies like Microsoft or Google are some magical places in the far-far-away-land (yep, America seems quite far away for a European kiddo 😉 ). People working there must be some kind of amazing scientists who write their code by setting the appropriate voltage directly on transistors. Or, at least, use assembler-like languages every day 😉. If you have a similar idea, you may like to read some facts I discovered after talking to one of Microsoft employees...
Nie trzeba raczej nikogo przekonywać, ze programowanie jest procesem dość złożonym. Dobry program składa się z tak wielu elementów: kodu, który jest łatwy w utrzymaniu, testów, architektury, dokumentacji, wzorców projektowych…. Można tak wyliczać i wyliczać. Mam jednak do Was, drodzy czytelnicy, pytanie. Zastanawialiście się kiedyś co tak naprawdę jest najtrudniejszym elementem programowania? Co Wam wtedy przyszło na myśl? Tony książek i tutoriali, które musieliście przewertować by zdobyć potrzebną wied...
W lutym tego roku kupiłem fotel Ergohuman i dzielę się swoimi wrażeniami z jego użytkowania. Wcześniej miałem skórzany fotel w stylu prezesowskim, któremu zepsuła się pneumatyka i permanentnie pozostawał w najniższej pozycji. Stary fotel służył mi około 10 lat i z tego powodu postanowiłem nie oszczędzać tylko wydać większą sumę pieniędzy na porządny fotel jeśli ma mi on posłużyć równie długo. Czy fotel za 2000zł spełnił moje oczekiwania?
Since we launched Visual Studio 2017 in March of that year, it has become our most popular Visual Studio release ever. Your feedback has helped our team publish seven updates since our initial GA, which have improved solution load performance, build performance, and unit test discovery performance. We’ve also made Visual Studio 2017...
ASP.NET Core WebHooks provide support for receiving web hooks in ASP.NET Core web applications. This post is a general overview of what's under its hood and how it works.
Pracując z kontenerami Dependency Injection bardzo często dochodzi to sytuacji, gdy kod konfiguracji takiego kontenera bardzo się rozrasta. W szczególności, gdy korzystamy z biblioteki, która nie wspiera autorejestracji (przez dłuższy czas w jeden z aplikacji WPF wykorzystywałem Unity, gdzie trzeba było każdy typ zarejestrować ręcznie w kontenerze), przez co klasa konfiguracji może zawierać dziesiątki, jak i nie setki linii kod. Na szczęście Autofac, którego wykorzystuje o...
Version 1.24 is now available! Read about the new features and fixes from May.Dismiss this updateUpdatesUpdates Downloads: Windows | Mac | Linux 64-bit: .tar.gz.deb.rpm | Linux 32-bit: .tar.gz.deb.rpm Welcome to the May 2018 release of Visual Studio Code. You will notice several new features available for Preview in this milestone. Give them a try and let us know what you think.
Szablony Resource Managera w Azure to genialna sprawa. Ich deklaratywność pozwala łatwo zacząć opisywać infrastrukturę zamiast ją skryptować czy też co gorsza namiętnie wyklikiwać. Niestety z szablonami jest problem, a dokładniej z przykładami i materiałami, które uczą, jak je pisać. Obiekty są robione na sztywno zamiast budowane dynamiczne z parametrów lub zmiennych. Maszyny wirtualne, dyski, podsieci, karty sieciowe, NSG, ustawienia w WebApp czy Functions, aż proszą się o takie podejście.
Kolejny tydzień z Azure Functions dzisiaj chciałbym pokazać jak można konfigurować routing w Azure Functions. O Azure Functions pisałem już w poprzednich częściach artykułów do, których serdecznie zapraszamAzure Functions na macOS? Pokażę Ci jak zacząćJaki rodzaj rozliczania wybrać dla Azure Functions?Jak w 5 minut zbudować swoje pierwsze mock API w Azure Functions? Natomiast jeżeli chcielibyście poczytać ogólnie o serverless ...
Wstrzykiwanie zależności z wykorzystaniem kontenerów jest bardzo wygodne, ale też niesie z sobą trochę problemów. Jednym z tych problemów jest ilość oraz moment tworzenia obiektów. W tym wpisie pokaże ten problem oraz zaproponuje swoje rozwiązanie z wykorzystaniem obiektów Lazy. Poniżej jest przedstawiona dość standardowy kawałek kodu aplikacji ASP.NET MVC, w której jest wykorzystane wstrzykiwanie zależności przez konstruktor w formie interfejsów. Jak widać na kodzie pow...
Sztuka programowania 1547 dni, 10 godzin, 24 minuty temu 111 źrodło rozwiń
W jednym z wcześniejszych wpisów pokazałem jak za pomocą dwóch bibliotek (Nbuilder oraz Faker.NET) wygenerować dane testowe. Przez dłuższy czas korzystałem z tamtego rozwiązania, natomiast ostatnio kolega z pracy pokazał mi inną, ciekawszą bibliotekę, która łączy działanie Nbuildera oraz Faker.NET. Do tego ma kilka dodatkowych funkcji, które się przydają. Biblioteka nazywa się Bogus i jest to port biblioteki Faker.js. Po pierwsze biblioteka umożliwia wygenerowanie jednego...