Najprawdopodobniej spotkałeś się z tym problemem: Kod zastany, napisany przez nas lub nie, na pewno nie perfekcyjny i ostatecznie bez testów jednostkowych (ang. legacy code). Co teraz? Wstrzymać dotychczasowe prace nad projektem i pisać testy jednostkowe? A może całkowicie zaniechać pisania testów, bo skoro nigdy nie było testów, to po co pisać je teraz? Do tej pory omawialiśmy TDD z perspektywy pisania...
Sztuka programowania 1602 dni, 10 godzin, 36 minut temu 222 źrodło rozwiń
Dzień dobry bardzo! Trochę czasu minęło od publikacji ostatniego odcinka podcastu, ale mam nadzieję, że dzisiejsza rozmowa odkupi me grzechy 😉 Moim gościem był Paweł Łukasik – programista, blogger, lider Wrocławskiej grupy .NET oraz założyciel znanego i lubianego agreagtu treści – dotnetomaniak.pl. Dzisiejszy odcinek jest dość szczególny, ponieważ w końcu tematyka jest ściśle powiązana z .NET-tem. Paweł opowiedział o Intermediate Language. Czym jest IL? Co możemy dzięki niemu osiągnąć? Jakie narzędzia...
Sztuka programowania 1603 dni, 22 godziny, 19 minut temu 149 źrodło rozwiń
Description of my journey in search of good documentation. Main documentation principles with examples
Sztuka programowania 1605 dni, 9 godzin, 40 minut temu 60 źrodło rozwiń
Do you know the trees used in Cassandra, Git, Bitcoin or Lucene? Check this post to find interesting trees, usually not covered on Computer Science lectures.
Sztuka programowania 1606 dni, 9 godzin, 39 minut temu 116 źrodło rozwiń
Czasami zachodzi potrzeba stworzenia aplikacji okienkowej z oknem konsoli w tle. Może ona służyć np. do łatwiejszego śledzenia poczynań programu, co w rezultacie pozwala na łatwiejsze znajdowanie błędów w kodzie. Po stworzeniu pustego projektu WPF App i jego kompilacji domyślnie konsola nie jest wyświetlana. Można jednak temu zaradzić. Wpis opisuje sposób rozwiązania tego problemu w Visual Studio, jednak w innych IDE też powinien działać. Pierwszą rzeczą jaką należy zrobić, jest utworzenie nowego pusteg...
Sztuka programowania 1606 dni, 9 godzin, 39 minut temu 199 źrodło rozwiń
Automapper jest bardzo interesującą biblioteką. Może ona służyć do „przepisywania” danych (object-object).
Sztuka programowania 1612 dni, 10 godzin, 30 minut temu 288 źrodło rozwiń
Behavior Driven Development – dosyć niedawno nawet słyszałem, że to Test Driven Development Done Right 🙂 Co, jak, czemu i po co? Czytaj by się dowiedzieć jak ja to widzę :)
Sztuka programowania 1615 dni, 9 godzin, 38 minut temu 221 źrodło rozwiń
Jeśli API, z którego musisz skorzystać dostarcza Ci dane w 'brzydkiej' formie, zmapuj je. Dodaj warstwę abstrakcji i ukryj złe struktury.
Sztuka programowania 1615 dni, 9 godzin, 38 minut temu 158 źrodło rozwiń
Kolejne zadanie rekrutacyjne na tapecie. Autor przedstawia kilka możliwych rozwiązań, wraz z analiza wad i zalet każdego z rozwiązań.
Sztuka programowania 1615 dni, 9 godzin, 38 minut temu 276 źrodło rozwiń
Tym razem omówiona ciekawa właściwość języka python. Na przykładzie zadania rekrutacyjnego
Sztuka programowania 1615 dni, 9 godzin, 38 minut temu 201 źrodło rozwiń
Xamarin.Forms nie jest lekiem na całe zło i w praktyce nie da się za pomocą tej technologii zrobić w pełni natywnego efektu, stosując dostępne standardowo kontrolki. Idea tego rozwiązania jest inna. Do worka zwanego Xamarin.Forms trafiają takie elementy, które da się jakoś uwspólnić pomiędzy obsługiwanymi systemami. Innymi słowy po użyciu określonej kontrolki i tak w rzeczywistości zostanie wykorzystana ta natywna, która w danym systemie jest najbardziej zbliżona funkcjonalnie i wizualnie. I tak np. Form...
Sztuka programowania 1615 dni, 22 godziny, 36 minut temu 45 źrodło rozwiń
Krok po kroku opis rozwiązania zadania rekrutacyjnego. Zaczynamy od rozwiązania najprostszego i stopniowo je poprawiamy. Przykłady w c++
Sztuka programowania 1616 dni, 5 godzin, 3 minuty temu 413 źrodło rozwiń
There are many ways to perform a validation of our models living within the system. Whether there’s an incoming request from the user who would like to create an account or there’s a need to ensure about the correct amount of money in a bank transaction, the validation process should always (I really mean that) take place. In today’s post, I’d like to present one of the possible solutions that might help you validate your entities.
Sztuka programowania 1618 dni, 3 godziny, 42 minuty temu 162 źrodło rozwiń
Klasa (immutable) Tuple istniała aż od .NET Framework 4.0. W C# 7.0 mamy jednak wsparcie dla tuple od strony języka. Jednym z problemów klasy Tuple było, że każda właściwość nazywała się kolejno Item1, Item2 itp. W tym wpisie dowiemy się jak to rozwiązano w C# 7.0
Sztuka programowania 1622 dni, 9 godzin, 45 minut temu 391 źrodło rozwiń
ASP .NETPiotr Zieliński1 Comment ASP.NET Core ułatwia w znaczący sposób IoC. Przede wszystkim wbudowano w framework dosyć prostą implementację IoC. Oznacza to, że w wielu przypadkach nie trzeba już instalować zewnętrznych framework’ow takich jak AutoFac. W pliku Startup znajdziemy metodę ConfigureServices: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); ...
Sztuka programowania 1622 dni, 9 godzin, 45 minut temu 266 źrodło rozwiń
Today we are going to have a little break from our CQRS/ES journey, but I hope you’ll like that article anyway. Meet Aspect-Oriented Programming! An approach that’s going to change the way of writing our code and more importantly will help us to keep it clean and simple (in most cases). The idea Writing the code we can often observe that the certain group of the non-business functionalities is copied in many areas, and moreover, it affects other parts of our system. Here we can include: creating datab...
Sztuka programowania 1622 dni, 9 godzin, 45 minut temu 168 źrodło rozwiń
Last time I wrote a post about the commands. Events are quite similar to the commands – the main difference between these 2 patterns is that the events are related to the things that have actually happened to our entity e.g. by invoking the command. They’re also a core part of the DDD (Domain Driven Desing) and can be easily implemented within our software solution.
Sztuka programowania 1624 dni, 2 godziny, 56 minut temu 164 źrodło rozwiń
Niedawno zacząłem praktyki, gdzie biorę udział w eksperymencie porównania 3 metodyk pisania oprogramowania: TDD, ITL i NUT. TDD spodobało mi się szczególnie, więc postanowiłem napisać tego posta i pokazać przykładowy workflow w TDD.
Sztuka programowania 1627 dni, 5 godzin, 18 minut temu 288 źrodło rozwiń
Just how long does garbage collection take in .NET? Which generation takes longer?
Sztuka programowania 1627 dni, 5 godzin, 18 minut temu 123 źrodło rozwiń
Od 2 miesięcy pracuję w nowej firmie i już widzę pozytywne rezultaty – och jak mi się chce! No i te nie pozytywne – och jak nie mam czasu! Ale ponieważ słabuję, w łóżku odpaliłem elixira. Co to, po co i co z tym dalej...?
Sztuka programowania 1630 dni, 9 godzin, 49 minut temu 236 źrodło rozwiń