dotnetomaniak.pl

Strona głównaUżytkownik

Krzysztof_DevKR | użytkownik

Krzysztof_DevKR
Krzysztof_DevKR
678,73
18 godzin, 34 minuty temu
10 stycznia, 2018
dotnetomaniak.pl

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).

Tagi: SOLID
Źródło: www.seeitsharp.pl
Dziel się z innymi:
LSP, czyli nie zadzieraj z kobietami - See IT Sharp

Sztuka programowania 1 dzień, 58 minut temu TomekS 81 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...

Źródło: plawgo.pl
Dziel się z innymi:
Postman – testowanie API - Blog Daniela Plawgo

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 ...

Źródło: plawgo.pl
Dziel się z innymi:
Jak zastąpić rozbudowany switch w aplikacji - Blog Daniela Plawgo

Sztuka programowania 42 dni, 49 minut temu danielplawgo 356 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...

Źródło: plawgo.pl
Dziel się z innymi:
Fluent Assertions - przyjemne asserty w testach - Blog Daniela Plawgo

Inne 62 dni, 39 minut temu danielplawgo 110 rozwiń

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? 💣

Źródło: devenv.pl
Dziel się z innymi:
Usuwanie haseł z repozytorium Git - DevEnv

Sztuka programowania 48 dni, 57 minut temu devenv 122 rozwiń

Cześć. Dziś postaram się opisać, jak zmigrowałem dosyć sporą ilość danych (110 mln wierszy) z SQL Servera do Elasticsearcha.

Źródło: itdepends.pl
Dziel się z innymi:
Migracja 110 mln wierszy z SQL Server do Elasticsearch

Bazy danych i XML 51 dni, 22 godziny, 35 minut temu Daniel Dziubecki 201 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...

Źródło: foreverframe.net
Dziel się z innymi:
Devstyle speakers - narodziny bogów sceny IT - Forever F[r]ame

Inne 51 dni, 22 godziny, 35 minut temu dpawlukiewicz 102 rozwiń

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ó...

Snippet w Visual Studio Code - DevKR

Narzędzia 65 dni, 22 godziny, 52 minuty temu Krzysztof_DevKR 48 rozwiń

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.

Jak porównywać obiekty w testach jednostkowych, jeżeli nie przesłonimy metody Equals - DevKR

Sztuka programowania 90 dni, 1 godzinę, 47 minut temu Krzysztof_DevKR 140 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 🙂

Tagi: git
Źródło: tomaszprasolek.pl
Dziel się z innymi:
Jak dodać skrót Git Bash do menu głównego Visual Studio - Tomasz Prasołek

Narzędzia 91 dni, 1 godzinę, 41 minut temu tomaszprasolek 86 rozwiń

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.

Źródło: devkr.pl
Dziel się z innymi:
Trello i zarządzanie procesem tworzenia wpisu na blog - DevKR

Narzędzia 98 dni, 15 minut temu Krzysztof_DevKR 73 rozwiń

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.

Boxing w C# - przypadki występowania - DevKR

Sztuka programowania 104 dni, 1 godzinę, 15 minut temu Krzysztof_DevKR 199 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...

Tagi: API, forwarding, ngrok
Źródło: foreverframe.net
Dziel się z innymi:
Szybkie testowanie lokalnego API z ngrok - Forever F[r]ame

Web 108 dni, 1 godzinę, 55 minut temu dpawlukiewicz 146 rozwiń

Kolejna edycja Hacktoberfest to bardzo dobra okazja do rozpoczęcia przygody z Open Source. W powyższym wpisie omówię krok po kroku jak wykonać pull request na GitHub, oraz wskażę kluczowe elementy, o których należy pamiętać przed rozpoczęciem kontrybucji do projektów Open Source.

Hacktoberfest - okazja na pierwszy Pull Request do Open Source - DevKR

Inne 113 dni, 1 godzinę, 51 minut temu Krzysztof_DevKR 69 rozwiń

Jakiś czas temu kolega pracujący po sąsiedzku podszedł do mnie z informacją, że natknął się na ciekawe zachowanie C#. Chodziło o niechciane wywoływanie przeładowania metody. Co prawda bieżący problem udało nam się rozwiązać, ale sam mechanizm pozostał dla mnie zagadką. Próbowałem szukać rozwiązania w książkach, które wcześniej czytałem, ale dopiero odpowiedź na maila, którego wysłałem do samego Erica Lipperta pozwoliła definitywnie stwierdzić co w trawie piszczy. Dziwne enumy – ot co :)

Tagi: C# .NET, Enum
Dziel się z innymi:
Meandry C#: dziwne enumy

Sztuka programowania 126 dni, 1 godzinę, 54 minuty temu pszczyg 232 rozwiń

The CQRS/CQS pattern works great, I immediately found a lot of benefits. It helps me to enforce separation of concerns, single responsibility and consistency in my codebase, as well as eliminate all that AOP magic with restoring full control over the code execution. Unfortunately, there is also a boring side of implementing CQRS - THE TYPING.

Dziel się z innymi:
[EN]CQRS snippets · Cezary Piątek Blog

Narzędzia 122 dni, 1 godzinę, 56 minut temu cezarypiatek 125 rozwiń

Jak wykonać prawidłowo wersjonowanie API? Odpowiemy sobie na to pytanie analizując produkty (Twitter, Facebook, YouTube, Google Maps, GitHub, GitLab, Azure) największych graczy na rynku.  Wyobraźmy sobie sytuacje nadchodzi dzień, w którym biznes podaje nowe wymaganie, wiąże się to z zmianą modelu przekazywanego do żądania. Zmiana modelu w aktualnym kodzie spowoduje, że klient nie otrzyma prawidłowej odpowiedzi dla...

Wersjonowanie API na 4 sposoby - DevKR

Sztuka programowania 122 dni, 1 godzinę, 56 minut temu Krzysztof_DevKR 182 rozwiń

Wraz z rozwojem aplikacji oraz zwiększaniem się liczby użytkowników, stajemy przed coraz większymi problem związanymi z wydajnością. Szczególnie istotne jest to w momencie, gdy na przykład ruch na stronie jest na tyle duży, że serwer, z którego korzystamy jest wykorzystywany w 100%. Jednym z sposobów, który w miarę szybko daje spore efekty, jest dodanie mechanizmu cachowania często używanych danych. W tym wpisie pokaże Ci bibliotekę CacheManager (https://github...

Źródło: plawgo.pl
Dziel się z innymi:
Jak cachować dane w .NET? Kilka słów o CacheManager oraz Redis - Blog Daniela Plawgo

Narzędzia 147 dni, 1 godzinę, 4 minuty temu danielplawgo 217 rozwiń

Dzisiejszy świat opiera się na bazach danych. W ramach testów jednostkowych zewnętrzne zależności np. do bazy danych mockujemy. Co w przypadku gdy popełniliśmy literówkę w nazwie procedury lub zapytaniu SQL, albo liczba przekazanych parametrów nie zgadza się.  W  celu rozwiązania powyższego problemu należy zaimplementować testy integracyjne z wykorzystaniem bazy danych. Testy integracyjne nie testują reguł bizneso...

TransactionScope - testy integracyjne z bazą danych - DevKR

Sztuka programowania 143 dni, 1 godzinę, 35 minut temu Krzysztof_DevKR 60 rozwiń

Test jednostkowy powinien trwać milisekundy, a tu mija pierwsza, piąta, dziesiąta sekunda, coś jest nie tak. Zaglądamy do kodu czyżby nasz test jednostkowy był uzależniony od kosztownej zewnętrznej zależności. Pudło, wszystkie rzeczywiste zależności na potrzeby testów jednostkowych zastały zastąpione przez atrapę (mock). W ramac...

Mock Frameworks - Wydajność testów jednostkowych - DevKR

Sztuka programowania 150 dni, 1 godzinę, 55 minut temu Krzysztof_DevKR 63 rozwiń

1 2