Największa zaleta mikro-serwisów, a mianowicie pojedyncza odpowiedzialność, często bywa również problemem, a raczej wyzwaniem. Załóżmy, że nasz system ma następujący mikro-usługi:CustomerService – podstawowe informacje o klientach AddressService – wyszukiwarka adresów CreditCardDetails – dane o kartach Nie chce wymieniać tutaj długiej listy, ale wyobraźmy sobie...
Sztuka programowania 3510 dni, 22 godziny, 58 minut temu 412 źrodło rozwiń
Przemysław Walkowski Kontynuując temat bezpieczeństwa, chce zająć się tematem certyfikatów ich tworzeniem i obsługą. Omówię co to jest PKI, CA, X.509. To o czym nie wspomniałem w ostatnim poście a może przydać się w tym poście to wiedza o tym, że algorytm asymetryczny z kluczem publicznym i prywatnym ma możliwość szyfrowania danych przy pomocy klucza publicznego jak i prywatnego. Gdy zaszyfrujemy dane kluczem prywatnym, będziemy mieć możliwość...
Sztuka programowania 3513 dni, 1 godzinę, 56 minut temu 447 źrodło rozwiń
Ale o czym dzisiaj, dzisiaj o obcisłości po angielsku w programowaniu. Słowo tight będzie jednym z bohaterów wpisu. A nawet tight coupling, czyli coś mocno wiążącego. Co tak mocno wiąże w programowaniu? Moim zdanie new jest temu winny. Wiąże bowiem ono ze sobą klienta, klasę którą korzysta z new aby zaspokoić swoje potrzeby, oraz dostarczyciela usługi, czyli klasę, która jest w stanie zaspokoić tę (tą) potrzebę.
Sztuka programowania 3518 dni, 12 godzin, 27 minut temu 545 źrodło rozwiń
Rzecz być może dla niektórych mało istotna, dla niektórych w ogóle nie istotna, ale niezależnie od istotności sprawy – myślę, że warta wpisu na blogu. NUnit posiada dwa modele asercji:Classic Assert ModelConstraint-Based Assert Model (wprowadzony w wersji 2.4) Semantyka klasycznego modelu jest wszystkim dobrze znana: Assert.AreEqual(5, sum); Assert.AreSame(personA, personB); Assert.IsTrue(condition); As...
Sztuka programowania 3518 dni, 12 godzin, 27 minut temu 123 źrodło rozwiń
W niniejszym artykule przyjrzymy się w jaki sposób możemy przetestować klasy generyczne za pomocą funkcjonalności NUnita pod nazwą Generic Test Fixture. Dla przykładu, weźmy sobie metodę dodawania w generycznej klasie kalkulatora: public class GenericCalculator
Sztuka programowania 3518 dni, 12 godzin, 27 minut temu 188 źrodło rozwiń
Przemysław Walkowski Pracując długo jako programista C# trzeba uważać na stan, w którym ciągle i ciągle używamy tych samych metod na osiągnięcie podobnych celów. Człowiek jest istotą, która bardzo szybko się przyzwyczaja przez co przestaje korzystać ze wszystkich udogodnień jakie oferuje środowisko. Poniżej kilka przykładów składni w C#, o których nie zawsze pamiętamy. In i out ...
Sztuka programowania 3523 dni, 10 godzin, 32 minuty temu 688 źrodło rozwiń
W .net ASP.MVC są różne mechanizmy. Są też takie, które umożliwiają zbadanie argumentów przesłanych do akcji, jak i argumentów oczekiwanych w akcji. I właśnie o nich dzisiaj. Można je wykorzystywać na dobry i zły sposób, jak każde narzędzie. Najpierw mały pokaz a potem filozofowanie...
Sztuka programowania 3524 dni, 13 godzin, 30 minut temu 214 źrodło rozwiń
OObsługa błędów nigdy nie była łatwym zadaniem, ale w większości przypadków zawsze wiedziałem z czego mogę skorzystać. Myślałem że z ASP.NET MVC będzie podobnie, a może nawet lepiej (w końcu jest to dosyć dobrze przemyślana platforma, co wielokrotnie już podkreślałem na blogu) i po części tak jest w istocie - mamy tu wręcz nadmiar możliwości...
Sztuka programowania 3526 dni, 13 godzin, 38 minut temu 398 źrodło rozwiń
W dwunastym już odcinku (czas leci!) mam przyjemność ponownie podywagować na temat bardzo mi bliski: testy. A konkretnie: testowanie w kontekście wykorzystania “isolating frameworks”, czyli po ludzku: mocków. Partnerem w rozmowie jest Paweł Klimczyk – programista, prelegent i “szef dotnetów na fejsie” :), czyli grup .NET Developers Poland oraz .NET Developers Poland Job Market. Na Twitterze: @pwlklm. Podczas audycji możecie posłuchać o tym co to są mocki i na jakie grupy się je dzieli (i czy ma to sens)...
Sztuka programowania 3532 dni, 8 godzin, 3 minuty temu 125 źrodło rozwiń
Przemysław Walkowski Bezpieczeństwo jest szerokim tematem i ma jeden poważny minus nigdy się do końca nie wie czy to co się wie na temat bezpieczeństwa jest wystarczające do tego by powiedzieć, że aplikacja, którą napisaliśmy jest bezpieczna. Zawsze się znajdzie, ktoś kto powie, że jakieś zabezpieczenie jest słabe lub niewystarczające. Mimo tego, podstawy trzeba znać, poniżej opisuje podstawy zabezpieczeń aplikacji C#. Z części 1...
Sztuka programowania 3535 dni, 20 godzin, 5 minut temu 439 źrodło rozwiń
Dobry programista zawsze będzie się starał pisać czytelny kod. Kluczem do sukcesu jest w tym przypadku ciągła refaktoryzacja wsparta wzorcami projektowymi. Wzorce projektowe w wielu przypadkach pozwalają na zapewnienie elastycznych i skalowalnych rozwiązań, a ponadto sprzyjają w tworzeniu unikalnego kodu. Oczywiście nieodpowiednio użyte mogą również zaszkodzić - tak jak inne rzeczy w naszym codziennym życiu;-)
Sztuka programowania 3535 dni, 20 godzin, 5 minut temu 359 źrodło rozwiń
Today I want to introduce a Circuit Breaker – one of the reactive design patterns, especially useful in areas such as web services interop. They main role is to act as a decorator around your code to ensure, that you can quickly respond on any reliability problems.
Sztuka programowania 3539 dni, 6 godzin, 50 minut temu 143 źrodło rozwiń
Stylistic conventions My approach to them is the following: as far as they are, their content is of minor importance to me, however it is more comfortable to use standards that apply in a given environment. In example, in C#, brackets usually appear in the new line, contrary to JS/Java. In my opinion, stylistic conventions should be practical, which means that they should be supported by tools that we use, such as VS, R#, StyleCop, jsHint etc. It is important not to stand up against the default IDE fo...
Sztuka programowania 3540 dni, 12 godzin, 8 minut temu 98 źrodło rozwiń
Jeśli ktoś spytałby mnie o element który kojarzy mi się z programowaniem niezależnie od zastosowanego języka, to odpowiedziałbym prosto - instrukcje warunkowe. Wszelkiej maści IFy i switche pojawiają się w praktycznie każdym szanującym się języku programowania i tak naprawdę trudno sobie wyobrazić jakąkolwiek sensowną aplikację, która by z nich nie korzystała. I choć w teorii dają one wiele dobrego, to w praktyce, przy nieodpowiednim użyciu, mogą w sposób znaczący obniżyć czytelność tworzonego kodu.
Sztuka programowania 3541 dni, 3 godziny, 40 minut temu 447 źrodło rozwiń
Napisz odpowiedź Serializacja jest procesem przekształcania obiektów, do postaci tekstowej lub binarnej. .NET framework zapewnia nam kilka klas, takich jak XMLSerializer, DataContractJsonSerializer czy BinaryFormatter, które umożliwiają serializację danych do różnych formatów. Ponadto, do dyspozycji mamy wiele bibliotek firm trzecich, przez co wybór najlepszej metody staje się o wiele trudniejszy. Generalnie, każde narzędzie, czy format posiada swoje wady i zalety, dlatego też wybierając rozwiązania do ...
Sztuka programowania 3548 dni, 11 godzin, 47 minut temu 436 źrodło rozwiń
Przemysław Walkowski.Ostatnio chciałem serializować i deserializować liste gdzie typem listy był interfejs. Chciałem do tego wykorzystać XmlSerializer-a. Okazało się, że przy użyciu tej klasy nie można serializować listy interfesjów do XML-a. Już chciałem szukać dlaczego nie można ale miałem trochę czasu i stwierdziłem, że tym razem zrobimy to w trudny sposób. Poniżej prezentuje jak można serializować i deserializować listę interfejsów.
Sztuka programowania 3551 dni, 9 godzin, 33 minuty temu 447 źrodło rozwiń
When writing unit tests you repeatedly need to create the target object and all its dependencies. Whenever you modify constructor parameters list you need to modify your tests. Therefore maintaining tests with hard coded dependencies is painful and time consuming operation. AutoMock will create object where all its dependencies will be mocked and injected at run time.
Sztuka programowania 3551 dni, 9 godzin, 33 minuty temu 235 źrodło rozwiń
Doskonałym uzupełnieniem wpisów o testach parametryzowanych i kombinatorycznych jest omówienie tzw. „teorii”. Teoria jest specjalnym rodzajem testu, w którym weryfikujemy dane twierdzenie przy pomocy założeń (ang. assumptions).
Sztuka programowania 3551 dni, 9 godzin, 33 minuty temu 171 źrodło rozwiń
Today I want to present a different point of view on C# applications design. If you are programming in that language most of the time, it’s probably not what you’re used to see. However I found it interesting, because it allows to achieve a few important goals...
Sztuka programowania 3552 dni, 11 godzin, 21 minut temu 297 źrodło rozwiń
strona głównakategorieo blogurssLINQ to ExcelBartosz Lewandowski, 2015-02-11 23:48:30kategoria: C# Dostęp do arkusza programu Excel poprzez mechanizmy bazy danych był już opisywany na łamach naszego bloga. Oprócz wykorzystania mechanizmów OleDB, możemy odpytywać arkusz Excel poprzez technologię LINQ to Excel. Oczywiście wykonamy to w Visual Studio i C#. Pierwszym krokiem jest dodanie do projektu bibliotek LINQ To Excel. Wybieramy więc w Visual Studio opcję Tools -> Library Package Manager -> Package ...
Sztuka programowania 3552 dni, 11 godzin, 21 minut temu 206 źrodło rozwiń