Okazuje się, że niewłaścieiw użycie Dappera i typu varchar może mocno spowolnić Twoje zapytanie. Opisałem na przykładzie dlaczego tak jest. Zapraszam do lektury:)
Strona głównaUżytkownik
Krzysztof_DevKR | użytkownik
Sztuka programowania 2080 dni, 7 godzin, 16 minut temu 101 źrodło rozwiń
Czy programista powinien zajmować sobie głowę design’em? A co to jest ten design? Design patterns – wiadomo znamy, szanujemy. 🙂 A design thinking to co to takiego?
Dzisiejszy wpis jest całkowicie subiektywny. Będzie to krytyczne spojrzenie na bieżące trendy, mocno już zakorzenione w świecie IT. Już na wstępie pragnę zaznaczyć, że nie jestem ani przeciwnikiem, ani zwolennikiem opisanych poniżej spraw. Uważam, że narzędzia należy dobierać do problemów, które próbujemy rozwiązać. W przeciwnym przypadku poniższe zdanie autorstwa A. Maslowa (tak, ten od piramidy potrzeb) będzie właśnie o nas: Gdy twoim jedynym narzędziem jest młotek, wszystko zaczyna ci przypominać gwo...
Feature Toggle (Feature Switch, Feature Flag) to technika umożliwiająca modyfikowanie zachowania systemu w środowisku testowym lub produkcyjnym. W powyższym wpisie w ramach koncepcji feature toggles dzielę na dwie kategorie release toggles i bussines toggles.
Sztuka programowania 2129 dni, 6 godzin, 44 minuty temu 223 źrodło rozwiń
Ósmy odcinek kursu „Distributed .NET Core” jest już na YouTube więc do dobry moment, aby kontynuować kolejne zagadnienia związane z naszą implementacją mikroserwisów. W poprzednich wpisach omówiłem kolejno zapis i odczyt danych z systemu bazującego na wzorcu CQRS tym samym „zamykając” temat komunikacji użytkownik-system. Istnieje jednak jeszcze jedna, istotna forma komunikacji, niewidoczna dla zewnętrznych podmiotów. Mowa o wewnętrznej wymianie informacji między konkretnymi usługami. Po co usługi komun...
Architektura 2150 dni, 21 godzin, 23 minuty temu 260 źrodło rozwiń
Utknęliście kiedyś na problemie tak banalnym, że wstyd aż się było przyznać? Nie mówię nawet o godzinach śledzenia linijka po linijce swojej twórczości. Nawet te 15 minut, gdy aplikacja nie działa, a przecież wszystko powinno być ok, potrafią zepsuć humor do końca dnia. Wykorzystanie statycznej analizy kodu to kolejny krok aby stać się lepszym programistą i ułatwić sobie życie. W świecie .NET-a mamy do tego całkiem sporo narzędzi. Wystarczy wspomnieć o NDepend czy Resharper. W ich przypadku mamy jednak k...
Krótko i na temat, czyli jak uruchomić polecenie powłoki systemowej bash w .NET Core na Ubuntu
Sztuka programowania 2139 dni, 5 godzin, 8 minut temu 61 źrodło rozwiń
Okazuje się, że LSP można naruszyć na wiele sposobów, czasami bardzo trudnych do wyśledzenia, a sztampowe omówienia dostępne powszechnie pomijają najważniejsze aspekty literki L z SOLID’a. Warto wspomnieć, że LSP pomaga nam również lepiej modelować biznesowy kontekst aplikacji, gdyż zmusza nas do odpowiedzi na pytania o relacje pomiędzy obiektami (mam tutaj na myśli głównie dwa ostatnie punkty: inwariant i zasadę historii).
Sztuka programowania 2159 dni, 5 godzin, 45 minut temu 127 źrodło rozwiń
Sposób tworzenia aplikacji webowych zmienia się na przestrzeni czasu. W świecie .NET przez lata kodowaliśmy w ASP.NET MVC, w którym widoki były generowane po stronie serwera. Od jakiegoś czasu idziemy w kierunku, w którym backend udostępnia API, z którego korzysta aplikacja po stronie przeglądarki i która generuje widoki po stronie klienta. W związku z tym zmienił się też sposób testowania aplikacji po stronie serwera. Jednym z dostępnych narzędzi, które możemy...
Dzisiejszy wpis jest zainspirowany kilkoma ostatnimi przypadkami, w których widziałem bardzo rozbudowane switche w aplikacji. Utrzymanie tego kodu zaczynało sprawiać programistom spore problemy. Zapewne wielokrotnie widziałeś lub widziałaś metody, w których znajdował się jeden wielki switch, gdzie każdy case zawierał następnie zupełnie inny kod niż pozostałe przypadki. Utrzymanie tego, a w szczególności dodanie nowych przypadków zaczyna być wyzwaniem i często ...
Sztuka programowania 2200 dni, 5 godzin, 37 minut temu 374 źrodło rozwiń
Testy jednostkowe oraz testy integracyjne potrafią bardzo ułatwić wyłapywanie błędów podczas tworzenie aplikacji (w szczególności błędów regresji). Dlatego na ogół bardzo chcemy je dodać do aplikacji, ale niestety często spotykamy się z oporem „góry”, bo pisanie testów zajmuje dużo czasu. Z doświadczenie zauważyłem, że jednym z powodów wydłużania czasu pisania testów są rozbudowane asserty. Dlatego w dzisiejszym wpisie chce Ci pokazać bibliotekę Fluent Asserti...
Ups! Właśnie do ciebie dotarło, że wraz z twoimi zmianami, do serwera powędrowało twoje hasło, zapisane gdzieś w kodzie! Natychmiastowo usuwasz hasło z plików źródłowych ❌, tworzysz nowy commit i ponownie: push.Uff… już po sprawie… Czy aby na pewno? 💣
Sztuka programowania 2206 dni, 5 godzin, 44 minuty temu 134 źrodło rozwiń
Cześć. Dziś postaram się opisać, jak zmigrowałem dosyć sporą ilość danych (110 mln wierszy) z SQL Servera do Elasticsearcha.
Bazy danych i XML 2210 dni, 3 godziny, 23 minuty temu 213 źrodło rozwiń
Często bywa tak, że do podjęcia jakiegoś nowego działania potrzebny jest nam impuls… czynnik, który przeważy szalę naszej mentalnej niepewności i sprawi, że finalnie powiemy „zrobię to”. W 2016 roku takim impulsem był dla mnie konkurs „Daj się poznać”, który ostatecznie zmotywował mnie to założenia tego bloga i dzielenia się swoją wiedzą z innymi ludźmi. Początki nie były takie jak sobie wyobrażałem. Towarzyszył mi ciągły strach i obawa przed napisaniem czegoś nazbyt trywialnego, mało ciekawego czy najzw...
Wykonując codzienną pracę w IDE powielamy fragmenty kodu reprezentujące wzorce i szablony poprzez klepanie literka po literce lub Ctrl + C i Ctrl +V. W celu ułatwienia i przyspieszenia procesu wytwarzania oprogramowania warto zainteresować się czymś takim jak snippet. Snippet to wycinek kodu źródłowego do wielokrotnego użycia. Wielu z was, na co dzień korzysta z snippetów takich jak np. ctor, prop, for, class, attribute, cw, exception, etc. Przyznajcie przyspiesza to wam pracę. W artykule w zwięzły sposó...
W ramach testów jednostkowych może być potrzebne porównywanie wartości obiektów zamiast ich referencji. W dzisiejszym artykule poruszę temat jak porównywać obiekty w testach jednostkowych, jeżeli nie została przesłonięta metoda Equals. Proponowane rozwiązania nie będą wiązały się z dodaniem logiki wymaganej przez testy jednostkowe do klas domenowych. Na początek w ramach wprowadzenia do tematu kilka słów o typie object.
Sztuka programowania 2248 dni, 6 godzin, 35 minut temu 142 źrodło rozwiń
W tym wpisie pokażę jak można otworzyć konsolę bezpośrednio z Visual Studio z od razu ustawionym katalogiem projektu. Dodamy opcję Git Bash do menu głównego Visual Studio 🙂
Tworząc wartościowe treści możemy komunikować się z swoimi czytelnikami i przyciągać nowych użytkowników. Z każdym kolejnym wpisem wypracowałem proces tworzenia artykułów, który u mnie na blogu sprawdza się. Sprawdź mnie i przekonaj się jak za pomocą aplikacji Trello zaplanowałem działania zmierzające do kreowania treści na niniejszym blogu.
Co oznaczają pojęcia boxing i unboxing? Jeśli ktoś kiedyś przygotowywał się do rozmowy kwalifikacyjnej czy do zaliczenia z podstaw języka C# na studiach, na pewno słyszał/czytał, że powyższe pytanie to pewniak na 100% o to spytają. Może i tak było, ale czy oprócz wykutych regułek orientujecie się, kiedy boxing występuję w praktyce na placu boju. W artykule omówię znane mi przykłady boxingu.
Sztuka programowania 2262 dni, 6 godzin, 3 minuty temu 201 źrodło rozwiń
Na początku miesiąca miałem przyjemność udać się do Danii, aby wziąć udział w firmowym hackatonie. Wraz z dwoma osobami pracowałem tam nad prostym projektem, który miał niejako rozszerzyć możliwości GitHuba. Bez wchodzenia w zbędne szczegóły dotyczące samego projektu, całe flow prezentowało się następująco...