Strona głównaUżytkownik

Admu | użytkownik

Admu
Admu
474,03
134 dni, 11 godzin, 51 minut temu
30 marca, 2017
dotnetomaniak.pl

Z reguły naszą logikę biznesową umieszczamy w klasach serwisowych. Czasem są one większe, a czasem mniejsze. Zastanówmy się, jak mógłby wyglądać nasz kod, gdybyśmy dla każdej metody z serwisu tworzyli osobną klasę. Wykorzystamy do tego bibliotekę MediatR. Jeśli ktoś się zastanawia po co, odpowiedź jest prosta: aby zwiększyć spójność i zmniejszyć sprzężenie. Na razie nie będziemy się zagłębiać w takie pojęcia jak CQRS czy CQS. Naszym celem jest rozbicie klas na mniejsze i zmiana tego, jak je wołamy. Po ty...

Tagi: C#, Narzędzia
Źródło: www.admu.pl
Dziel się z innymi:
Klasa per metoda z wykorzystaniem MediatR – ADMU Blog

Sztuka programowania 133 dni, 9 godzin, 42 minuty temu Admu 132 źrodło rozwiń

Jakiś czas temu pisałem o tym, że gdy tworzymy API, warto dodać narzędzie Swagger. Umożliwia ono w szybki i prosty sposób przetestować nasze API (tutaj). Zdarza się jednak tak, że aby móc korzystać z naszego API, dane żądanie (request) musi być zautoryzowane, czyli np. posiadać odpowiedni token. Swagger umożliwia autoryzację żądań na wiele sposobów. W tym poście opiszę jak to zrobić, gdy potrzebujemy Bearer token.

Tagi: C#, Narzędzia, testy
Źródło: www.admu.pl
Dziel się z innymi:
Autoryzacja żądań w Swagger – ADMU Blog

Narzędzia 153 dni, 10 godzin, 28 minut temu Admu 90 źrodło rozwiń

Z reguły nasze aplikacje posiadają jakąś logikę biznesową (o ile nie piszemy prostego CRUD). Chciałbym jednak zaznaczyć, że nie mam tu na myśli logiki w rozumieniu walidacji czy reguł biznesowych, np. brak możliwości zmiany wartości jakiegoś pola, gdy pewne warunki nie zostaną spełnione. Chodzi mi bardziej o logikę procesu, np. gdy klient złoży zamówienie, musimy mu wysłać wiadomość e-mail. Ta logika nie dotyczy obiektu zamówienia, ale jest z nim związana. Skoro wiemy, że będziemy musieli przechowywać g...

Tagi: C#, Narzędzia
Źródło: www.admu.pl
Dziel się z innymi:
Jak grupować logikę biznesową w klasach – ADMU Blog

Sztuka programowania 182 dni, 11 godzin, 4 minuty temu Admu 128 źrodło rozwiń

Ostatnio pisałem o tym, co możemy zrobić, gdy nasze metody zwracają rezultat i chcemy go zmapować na odpowiedni kod http (tutaj). W tym poście podam podobne rozwiązanie, gdy nasze metody rzucają wyjątki, zamiast zwracać rezultat.

Źródło: www.admu.pl
Dziel się z innymi:
Jak obsłużyć zwracanie wyjątku w WebAPI – ADMU Blog

Narzędzia 196 dni, 10 godzin, 51 minut temu Admu 90 źrodło rozwiń

Jakiś czasem temu pisałem o tym, że nasze metody mogą zwracać rezultat lub zgłaszać wyjątek (tutaj). Zastanówmy się, jak mogłoby wyglądać nasze API, aby status rezultatu był mapowany na odpowiedni kod Http. Mamy dwie możliwości: wspólna metoda w klasie bazowej lub filtr.

Tagi: C#, Narzędzia, WebAPI
Źródło: www.admu.pl
Dziel się z innymi:
Jak obsłużyć zwracanie rezultatu w WebAPI – ADMU Blog

Narzędzia 210 dni, 10 godzin, 57 minut temu Admu 87 źrodło rozwiń

Jakiś czas temu pisałem o testach w kontekście API (tutaj). W tym poście postaram się opisać jak napisać podobne testy, ale gdy nasza aplikacja komunikuje się poprzez kolejkę. Pokaże to z wykorzystaniem biblioteki MassTransit.

Źródło: www.admu.pl
Dziel się z innymi:
Testy kolejek z MassTransit – ADMU Blog

Narzędzia 224 dni, 10 godzin, 56 minut temu Admu 61 źrodło rozwiń

Często na GitHubie w opisach projektów można zobaczyć Badge – odznaki pokazujące status builda, pokrycia kodu, status testów i innych rzeczy. Jak zrobić coś takiego i czy w ogóle warto?

Dziel się z innymi:
Badge na GitHub – shields.io – Programmer-girl

Inne 296 dni, 10 godzin, 44 minuty temu Weronika Mularczyk 44 źrodło rozwiń

Często w naszych aplikacjach mamy do czynienia z datami. Najczęściej używamy ich przy polach takich jak data utworzenia (np. CreatedAt) lub data modyfikacji (np. ModifiedAt), ale są też inne miejsca. Wtedy z reguły stosujemy DateTime.UtcNow. Niestety w testach ciężko jest potem coś z taką datą zrobić. Nie mamy żadnej możliwości ustawienia tej daty na jakąś inną, aby przetestować czy nasza aplikacja działa poprawnie. Sprawa się jeszcze bardziej komplikuje, gdy mamy logikę biznesową uzależnioną od takiej ...

Źródło: www.admu.pl
Dziel się z innymi:
Daty – jak sobie z nimi radzić – ADMU Blog

Narzędzia 287 dni, 10 godzin, 8 minut temu Admu 169 źrodło rozwiń

Witajcie w sześćdziesiątym odcinku Ostrej Piły. W tym trochę technicznie – porozmawiamy o zarządzaniu zależnościami. Z naszym gościem, porozmawiamy o jakie zależności możemy mieć w projekcie i czy zawsze trzeba nimi zarządzać a jeśli tak to jak możemy to zrobić. A na koniec o tym czy w świecie .NET grozi powtórka sytuacji z left-pad? Miłego słuchania. 🎶

Źródło: ostrapila.pl
Dziel się z innymi:
Zarządzanie zależnościami – Ostra Piła

Inne 310 dni, 11 godzin, 10 minut temu macabre13 69 źrodło rozwiń

Jedziemy z 61. odcinkiem Ostrej Piły. W nim, razem z naszym gościem, porozmawiamy o wystarczająco dobrym oprogramowaniu. Czy zawsze powinniśmy cisnąć kod aby była najlepszy z możliwych czy jest jakiś poziom przy którym możemy powiedzieć, że to co mamy jest good enough? A na koniec konkurs.

Źródło: ostrapila.pl
Dziel się z innymi:
Good enough software – Ostra Piła

Inne 295 dni, 10 godzin, 36 minut temu macabre13 34 źrodło rozwiń

Kiedyś bardzo lubiłem bibliotekę AutoMapper. Była ona z reguły jedną z pierwszych bibliotek, jakie zawsze dodawałem do projektu na samym początku. Pozwalała mi tworzyć mnóstwo obiektów i mapować je do woli, poświęcając na to niewiele czasu „programistycznego”. Była świetna! Aż do momentu, gdy zaczęła być jedną z największych bolączek.

Źródło: www.admu.pl
Dziel się z innymi:
AutoMapper to zło – ADMU Blog

Sztuka programowania 301 dni, 10 godzin, 42 minuty temu Admu 259 źrodło rozwiń

Ostatnio pisałam o tym, jak skonfigurować odpowiedni Board Process dla serwisu Boards naszego projektu. Dzisiaj czas na konkrety dotyczące tworzenia tablic i zarządzania zadaniami.

Dziel się z innymi:
Azure DevOps – Boards – Programmer-girl

Narzędzia 310 dni, 11 godzin, 10 minut temu Weronika Mularczyk 35 źrodło rozwiń

Często gdy mamy napisać jakiś kod, okazuje się, że już gdzieś napisaliśmy taki sam lub podobny. Wtedy stajemy przed dylematem – czy zduplikować go, czy użyć ponownie?

Źródło: www.admu.pl
Dziel się z innymi:
Duplikować kod czy nie duplikować? – ADMU Blog

Sztuka programowania 315 dni, 11 godzin, 2 minuty temu Admu 130 źrodło rozwiń

W ramach urlopu i siedzenia w domu postanowiłam zaprogramować coś ciekawego w celu poszerzenia swoich umiejętności dotyczących m.in. .NET Core i Web API. Tak powstał pet projekt MyNozbe oparty na Nozbe. W trakcie programowania natknęłam się na ciekawy problem dotyczący Entity Frameworka, którym chciałam się z Wami podzielić.

EntityFramework – IncludeFilter() i IncludeOptimized() – Programmer-girl

Bazy danych i XML 317 dni, 11 godzin, 47 minut temu Weronika Mularczyk 136 źrodło rozwiń

Jakiś czas temu pisałam na temat innych serwisów Azure DevOps – Repos i Pipelines. Dzisiaj czas na Boards i konkretny problem ustawienia procesu dla naszego projektu.

Dziel się z innymi:
Azure DevOps – Boards Process – Programmer-girl

Z reguły gdy tworzymy jakąś aplikację jest to jedna wielka aplikacja albo zbiór małych aplikacji, które w mniejszym lub większym stopniu się ze sobą komunikują. Ponadto często jest tak, że architektura większości z nich jest dokładnie taka sama. Czy to aby na pewno dobre podejście?

Tagi: architektura
Źródło: www.admu.pl
Dziel się z innymi:
Wybór architektury – ADMU Blog

Architektura 329 dni, 1 godzinę, 46 minut temu Admu 141 źrodło rozwiń

Pisząc aplikację zwykle piszemy testy. Raczej nie muszę wyjaśniać po co 🙂 Czy tworząc różne procedury lub funkcje na bazie danych też sprawdzamy ich poprawność pisząc testy? Tu już niekoniecznie. A szkoda, bo pisanie testów w tSQLt nie różni się za bardzo od pisania zwykłych testów jednostkowych...

Dziel się z innymi:
tSQLt czyli testy SQL – Programmer-girl

Bazy danych i XML 331 dni, 10 godzin, 51 minut temu Weronika Mularczyk 58 źrodło rozwiń

W tym odcinku rozmawiamy o tym kto to jest trudny klient. Omawiamy różne typy oraz zastanawiamy się czy da się z sytuacji z takowym klientem wykaraskać. Podoba ci się to co robimy? Wesprzyj nas dzieląc się tym co tworzymy z innymi, wystawiając nam recenzję lub zostając naszym patronem.

Źródło: ostrapila.pl
Dziel się z innymi:
Trudny klient – Ostra Piła

Inne 337 dni, 10 godzin, 49 minut temu macabre13 40 źrodło rozwiń

General Responsibility Assignment Software Patterns (GRASP) to zbiór 9 zasad określających, jaką odpowiedzialność powinno się przypisywać określonym obiektom i klasom w systemie. Wszystkie te zasady odpowiadają na część problemów z oprogramowaniem, które są wspólne dla prawie każdego projektu. Techniki te nie zostały wymyślone w celu stworzenia nowych sposobów pracy, a jedynie w celu lepszego udokumentowania oraz standaryzacji starych, wypróbowanych i przetestowanych zasad programowania. Jest więc to kol...

Tagi: wzorce
Źródło: www.admu.pl
Dziel się z innymi:
GRASP – ADMU Blog

Sztuka programowania 342 dni, 10 godzin, 41 minut temu Admu 60 źrodło rozwiń

Na przestrzeni lat powstało bardzo dużo projektów. Część z nich była łatwiejsza w utrzymaniu, część trudniejsza. Analiza tych projektów pozwoliła zauważyć, że są pewne zasady, które powodują łatwiejszy ich rozwój. Te zasady zostały połączone w zbiory zasad. Najbardziej popularnym i powszechnie stosowanym zbiorem zasad jest SOLID. Postaram się opisać te zasady z pragmatycznego punktu widzenia.

Tagi: wzorce
Źródło: www.admu.pl
Dziel się z innymi:
SOLID – pragmatycznie – ADMU Blog

Architektura 358 dni, 1 godzinę, 42 minuty temu Admu 91 źrodło rozwiń

1 2 3

Najaktywniejsi

1
(32 895,6)
2
(32 816,53)
3
(27 178,29)
4
(21 178,88)
5
(20 336,33)
6
(13 018,14)
7
(10 531,65)
8
(9 775,28)
9
(8 801,31)
10
(6 837,96)
11
(6 214,22)
12
(5 393,84)
13
(4 157,41)
14
(4 026,73)
15
(3 908,07)
16
(3 599,64)
17
(3 448,35)
18
(3 318,39)
19
(3 224,66)
20
(3 221,45)