How many timers are in the .NET Framework? What assumptions do they have? Which timer would you use for implementing Speculative query execution?
Sztuka programowania 3154 dni, 15 godzin, 44 minuty temu 72 źrodło rozwiń
Behavior-driven development (BDD) is a process of developing the software that has evolved from the TDD (test-driven development). We can think of a BDD such as the feature driven approach to the TDD. The main advantage of the BDD over the TDD is the way the tests are being written, in a form of the story that can be understood both by the developers and the customers. In short, we can simply state that the BDD is the TDD done right – it makes use of the so called ubiquitous language which is the core pa...
Sztuka programowania 3154 dni, 15 godzin, 44 minuty temu 65 źrodło rozwiń
In this talk, I will present techniques for efficient incremental processing of complex analytical queries, ranging from classical SQL queries to linear algebra programs. Our system, called DBToaster, compiles declarative database queries into high-performance stream processing engines that keep query results (views) fresh at very high update rates. DBToaster uses a recursive query compilation algorithm that materializes a supporting set of higher-order delta views to achieve a substantially lower view m...
Sztuka programowania 3154 dni, 15 godzin, 44 minuty temu 26 źrodło rozwiń
CQS stands for the command query separation. There’s a chance that you may have not heard about it, but on the other hand the CQRS might ring a bell. Even though these 2 patterns have very much in common, there is a significant difference (definitely a bigger one than the additional “R” character within the CQRS acronym) in how do they apply to the architecture of our system. In this post I’ll focus on the CQS – the older brother of the CQRS – that will help you understand how to design the software that...
Sztuka programowania 3160 dni, 19 minut temu 178 źrodło rozwiń
Wszyscy wiedzą, że odpowiednia komunikacja w zespole projektowym jest bardzo ważna. Według statystyk „zła komunikacja” jest wymieniana jako jedna z głównych przyczyn opóźnień projektów. Doszło do tego, że pojęcie „dobra komunikacja” stała się frazesem i dla wielu wymówką w przypadku niepowodzeń z projektami. Nie jest to z pewnością trudność obiektywna, na którą nie mamy wpływu,...
Sztuka programowania 3160 dni, 3 godziny, 40 minut temu 195 źrodło rozwiń
Zwykle programiści korzystają z podstawowych typów dostarczonych przez C#, takich jak String, Int32 czy Double. W świecie programowania obiektowego można jednak pójść o krok dalej i budować własne typy danych. Przeważnie programiści korzystają z nich wyłącznie, gdy do zaimplementowania jest jakaś logika. Dlaczego nie tworzyć ich nawet w sytuacjach, gdy mają one przechowywać wyłącznie dane? Problem z podstawowymi typami takimi jak String Czy Int32 t...
Sztuka programowania 3163 dni, 5 godzin, 29 minut temu 217 źrodło rozwiń
Przedstawienie podstaw FluentValidation - 1 część cyklu.
Sztuka programowania 3163 dni, 20 godzin, 2 minuty temu 146 źrodło rozwiń
Napisany przez paweltymura on Książki są bardzo ważne w moim życiu. Chodzi o to zawodowe i prywatne. Biblioteka pozycji głównie beletrystycznych idzie w setki pozycji. Jest też kilka książek dotyczących programowania, które chciałbym tu wymienić, głownie dotyczących Clean Code, Agile, Pragmatic Programmer oraz DDD.
Sztuka programowania 3164 dni, 4 godziny, 31 minut temu 294 źrodło rozwiń
~ Jarosław StadnickiBogowie Słuchając wystąpień wujka Boba czy innych wielkich mówiących o czystym kodzie, solidzie, testach, architekturze, devopsach i innych słowach kluczowych można popaść w depresję: „O żesz, mój kod nigdy taki nie będzie, lepiej nikomu go nie pokaże, sam zamknę się w piwnicy i do końca życia będę żywic się ziemniakami i robakami które będą do mnie przypełzać”. Czy naprawdę tak jest? Czy kod który piszemy musi być jak kryształ?Obrazek Słuchając różnych podcastów, usłyszałem taka ...
Sztuka programowania 3167 dni, 14 godzin, 53 minuty temu 192 źrodło rozwiń
28/02/2016 ~ Jarosław Stadnicki Oskar i Kokos zebrali w swoich postach całkiem sporo materiału na temat skąd i jak można czerpać wiedzę i o tym jak się uczyć. Ich wpisy można znaleźć: Oskar: Nauka uczenia (się) Kokos: Jak się rozwijać? Ja dodam od siebie jeszcze jedną rzecz, która nie została wcześniej wymieniona, a moim zdaniem daje sporo. To podcasty. Słuchając ich nie tyle uczę się danej technologii, czy jednego słusznego rozwiązania, a raczej dowiaduje się o innych, alternatywnych do codziennej p...
Sztuka programowania 3169 dni, 13 godzin, 39 minut temu 138 źrodło rozwiń
Są takie słowa kluczowe w języku C#, bez których można się obejść. Tylko po co się ograniczać, jeśli ich zrozumienie może zaoszczędzić nam czas, liczbę linii kodu do napisania… i wzbudzić zazdrość wśród Javowców :) Zapraszam na trzy słowa o delegate.
Sztuka programowania 3172 dni, 4 godziny, 4 minuty temu 402 źrodło rozwiń
Take care of your test code Posted on by Michal Franc As developers we tend to write complicated unit tests that are hard to read and maintain. Maybe it comes from the feeling that test code is not a proper code ? There is some magic in writing ‘proper’ unit tests. Using word proper might not be even suitable here because how do you define ‘proper’. It is the same problem as with the definition of ‘unit, everyone has his own definition that depends on the context. Code below feels like not ‘proper’ ...
Sztuka programowania 3172 dni, 22 godziny, 14 minut temu 80 źrodło rozwiń
W tym wpisie poruszę kwestię tego, czy możemy stwierdzić, że dana metodyka/metodologia działa lub nie. Dowiesz się dlaczego robiąc niewłaściwe rzeczy poprawnie oraz właściwe rzeczy niepoprawnie możesz nie osiągnąć zamierzonego celu. Jeśli poprzednie zdanie jest dla ciebie „masłem maślanym” tym bardziej zachęcam do przeczytania wpisu by zrozumieć temat doboru metod i ich właściwego użycia. Zapraszam ...
Sztuka programowania 3175 dni, 3 godziny, 36 minut temu 397 źrodło rozwiń
Ten wpis dedykuje wszystkim fanatykom Ja na przykład uwielbiam Resharpera. Uważam, że warto go używać i na pewno samo Visual Studio nie wystarczy, by w nim programować. Jest to bardzo smutne, że Microsoft nie zdecydował się dodać tych magicznych funkcjonalności do swojego IDE, gdzie Eclipse od zawsze ma to za darmo 😉 Ja nie wyobrażam sobie przestać używać Resharepera, bo i dlaczego miałbym z niego rezygnować? Przez kilka lat swojej pracy przyzwyczaiłem się do pracy z nim i uważam, że dzięki niemu pracu...
Sztuka programowania 3175 dni, 3 godziny, 36 minut temu 401 źrodło rozwiń
Refactoring it should be a simple process. But when we ask a random developer, he will be afraid of it. But why are we so afraid?
Sztuka programowania 3176 dni, 16 godzin, 4 minuty temu 124 źrodło rozwiń
Napisany przez paweltymura on I pisząc wszyscy nie wyłączam z tego siebie W artykule w którym zamieniam foreach na Linq robiąc mały refaktoring dostałem dużą ilość feedbacku zwłaszcza od kolegi Revisa. Dzięki bardzo! Serce rośnie jak ktoś się interesuje. W pracy natomiast mam takiego swojego guru – programistę, który skwitował nasze (moje i Revisa) końcowe wypowiedzi "... ale Wy głupoty gadacie". I się zaczęło.
Sztuka programowania 3182 dni, 4 godziny, 32 minuty temu 673 źrodło rozwiń
Napisany przez paweltymura on Jak agregować tekst do String Buildera? Zazwyczaj robi się to tego typu kodem: public string GetPagedHtml() { StringBuilder sb = new StringBuilder(); foreach (var page in Pages) page.CollectHtml(sb, page.Index==0); return sb.ToString(); } Ale przecież można łatwiej, lepiej i przyjemniej... z Linq.Aggregate.
Sztuka programowania 3182 dni, 4 godziny, 32 minuty temu 247 źrodło rozwiń
Napisany przez paweltymura on Wzorzec Polecenia (Command) praktycznie każdy zna, więc nie owijając w bawełnę poniżej przykład z lampą i pilotem który tejże lampy funkcje ma włączać i wyłączać. Przykład ten dostaniecie w 2 sosach - obiektowym i funkcyjnym, który jak zwykle będzie prostszy krótszy i bardziej satysfakcjonujący... Do kodu!
Sztuka programowania 3182 dni, 4 godziny, 32 minuty temu 196 źrodło rozwiń
Zamień bóla na enuma. Dlaczego zamienić? Moim zdaniem czytelniej i jasno sformułowana myśl i łatwiej zrozumieć. Nie chodzi o prosty przypadek, gdzie zamiana polegałaby na zamianie true/false na MyEnum.True/MyEnum.False – nie nie, to byłoby szaleństwem. Ale może od razu do kodu, bo czas nagli dzisiaj. Pierwszy przypadek, wszystko działa jak należy...
Sztuka programowania 3183 dni, 4 godziny, 24 minuty temu 336 źrodło rozwiń
Warning: this post won't be about "boring" or "typical" algorithms from Computer Science which we all have learned on studies (like quick sort, merge sort, xxx sort, A*, FFT). Instead, this will be about other little-known, especially USEFUL algorithms, which people working as professional developers should know or heard of. Little-known. ID generation problems are usually overlooked. Database ID's I mean. Ask someone to name ID "types". Well, GUID, newsequentialid...
Sztuka programowania 3186 dni, 31 minut temu 116 źrodło rozwiń