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 2365 dni, 23 godziny, 15 minut temu 144 ź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 2388 dni, 5 godzin, 29 minut temu 113 ź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...
Często mówi się, że w programowaniu są tylko dwa trudne aspekty: wygasanie cache'a i prawidłowe nazywanie rzeczy. W tym poście staram się pokazać jak niezajmować się wygasaniem i prawidłowo modelować struktury danych i aplikacji, aby mogły efektywnie korzystać z cache'a.
Architektura 2388 dni, 5 godzin, 29 minut temu 71 źrodło rozwiń
Wpis zainspirowany prezentacją Krzysztofa Kędzierskiego podczas konferencji BoilingFrogs 2018.
Architektura 2388 dni, 5 godzin, 29 minut temu 73 źrodło rozwiń
Jeżeli każda metoda w twoim kodzie zaczyna się od Get to ten tekst jest dla Ciebie
Sztuka programowania 2388 dni, 5 godzin, 29 minut temu 199 źrodło rozwiń
Szablony, snippet-y i templatki to podstawowe narzędzia programisty (zaraz za kubkiem kakałka) do zwiększenia jego produktywności. W dzisiejszym, bardzo krótkim, artykule przedstawię jak łatwo definiować swoje snipetty w oprogramowaniu firmy JetBrains, “Rider”. Oczywiście, poniższy tutorial może zostać użyty w innych ich IDE.Gdzie się ukrywają snippet-y w Rider-ze? Zdefiniowanie nowych snippetów wymaga wiedzy, gdzie możemy je znaleźć. Musimy wejść w ustawienia. Najłatwiej to zrobić klikając w napis JetB...
O tym jak bardzo Doker potrafi ułatwić pracę programiście. Jeśli Docker jest dla Ciebie zagadką, warto się zapoznać.
Coding Dojo to spotkanie podczas którego programiści razem pracują nad wybranym zagadnieniem/zadaniem. Cel jest prosty - doskonalenie umiejętności programistycznych. Na śląsku powstała inicjatywa Coding Dojo Silesia aby wspólnie się uczyć i programować!
Sztuka programowania 2388 dni, 5 godzin, 29 minut temu 80 źrodło rozwiń