W trakcie prac nad dosyć skomplikowanym systemem walidacyjnym zastosowałem interfejsy i System.Reflection aby uprościć wywoływanie kolejnych reguł biznesowych.
Sztuka programowania 1427 dni, 22 godziny, 38 minut temu 259 źrodło rozwiń
~ MJIQueryable W przypadku IQueryable, wszystkie wyniki najpierw odfiltrowujemy po stronie bazy danych, a następnie przekazujemy do aplikacji.IEnumerable W przypadku IEnumerable, wszystkie wyniki z bazy danych najpierw ładujemy do pamięci, a następnie odfiltrowujemy po stronie aplikacji. W przypadku zapytań do bazy danych, dużo lepszym pomysłem będzie stosowanie IQueryable, ponieważ można skorzystać z dobrodziejstw SQL, co znacznie przyspieszy szybkość działania zapytania oraz zmniejszy ruch wewną...
Sztuka programowania 1427 dni, 22 godziny, 38 minut temu 232 źrodło rozwiń
Yet another week, yet another code tip for you folks! Today’s post is going to be short and easy but I hope that useful at the same time (at least for the C# beginners). Let’s start! C# logical operators One of the first things we learn when starting discovering some new programming language are operators. There are plenty of them including arithmetic operators, bitwise operators and… logical operators. In C# two most common ones are „&&” for conjunc...
Sztuka programowania 1427 dni, 22 godziny, 38 minut temu 139 źrodło rozwiń
Concurrency conflicts in web applications can be quite troublesome. They occur when the same record in database is selected and then updated by more than one user. Can cause changes loss and be very frustrating for your users. In this post I describe the most important differences between optimistic concurrency and pessimistic concurrency.
Sztuka programowania 1427 dni, 22 godziny, 38 minut temu 125 źrodło rozwiń
Hi there! I’ve just had to sort some list alphabetically with specific values on top. Here is one of the possible solution. Worth to know:OrderBy sorts items in ascending order [a, b, c, d] [1,2,3,4]Can be use with boolean functionFalse = 0True = 1 So if we use: list.OrderBy(item => item == "Cat"); Item that equals „Cat” will be placed as last element, because as the only element returns true(1) as a result + as it was mention before OrderBy s...
Sztuka programowania 1429 dni, 21 godzin, 34 minuty temu 75 źrodło rozwiń
W ostatnim poście napisałem na końcu, że mój algorytm jest O(n^2). Co to właściwie oznacza? Problem złożoności obliczeniowej to pytanie “Jak długo mój algorytm będzie działał?” Najprostsza odpowiedź jest “To zależy”. Ale od czego?
Sztuka programowania 1429 dni, 21 godzin, 34 minuty temu 151 źrodło rozwiń
Czas: początek dwudziestego pierwszego wieku. Dzień bliżej nieokreślony. Pora dnia: zaraz po obiedzie. Miejsce: Biuro Microsoft’u. Bohaterowie: Osoby odpowiedzialne za WPF. O tym jak prosto poradzić i ładnie poradzić sobie z NotifyIcon.
Sztuka programowania 1432 dni, 20 godzin, 12 minut temu 150 źrodło rozwiń
OData... daje tak dużo i tak dużo może zabrać. Mi zabrała kilka dni z życia. Nikomu tego nie życzę!
Sztuka programowania 1434 dni, 19 godzin, 21 minut temu 138 źrodło rozwiń
W programowaniu funkcyjnym pracuje się często znacznie bliżej matematyki, a co za tym idzie pewne pojęcia brzmią bardzo skomplikowanie choć wcale takie być nie muszą. Dziś zobaczymy czym jest monada oraz jak F# ułatwia nam korzystanie z monad przez wyrażenia komputacyjne.
Sztuka programowania 1434 dni, 19 godzin, 21 minut temu 107 źrodło rozwiń
Web idzie tak szybko do przodu, że łatwo się zgubić i zapomnieć, że pewne rzeczy nie są jeszcze tak powszechnie dostępne jakby się wydawało. Na przykład taka rzecz jak wgrywanie plików. Pamiętam czasy, że by to zrobić to trzeba było mieć flash. Potem się to robiło magicznie za pomocą iframe... a ja kto jest teraz?
Sztuka programowania 1437 dni, 5 godzin, 18 minut temu 312 źrodło rozwiń
Siadam do kodu i piszę… i piszę… i piszę… a potem save, commit, push. Done? No, nie bardzo. Jeśli pracujesz w TDD, to dobrze wiesz co to jest: red, green, refactor. REFACTOR!, REFAKTORYZACJA! Czyli moment kiedy po prawie skończonej pracy porządkujemy kod. To sprowadza się do posprzątania śmieci, usunięcia zbędnych zmiennych, metod i ...
Sztuka programowania 1437 dni, 5 godzin, 18 minut temu 194 źrodło rozwiń
Formatowanie kodu to jedna z podstawowych czynności jaką możemy zrobić w ramach refaktoryzacji. Jest proste i bezbolesne (pod warunkiem, że w Twoim języku programowania nie programuje się białymi znakami*). Daje szybki efekt w postaci czytelniejszego kodu a to jest bardzo ważne, zresztą pisałem już o tym tutaj. Visual Studio posiada ...
Sztuka programowania 1441 dni, 50 minut temu 214 źrodło rozwiń
Zmiany lub raczej poprawki i ulepszenia do out i ref w C#.
Sztuka programowania 1441 dni, 7 godzin, 53 minuty temu 160 źrodło rozwiń
It’s unbelievable how sometimes we can do simple things so complicated. Fortunately in programming world we have something what is called “refactoring” and we really should do it as often as we can.
Sztuka programowania 1442 dni, 10 godzin, 41 minut temu 41 źrodło rozwiń
Top mentioned books on stackoverflow.comPosted by Lazy
Sztuka programowania 1442 dni, 10 godzin, 41 minut temu 113 źrodło rozwiń
As you may already know I really, really like LINQ. One day I'll probably join together all my posts about this incredible featureand release pretty neat compendium/one-oh-one about this great feature. But while I'm not sitting and joining every post from this blog that have word "LINQ" in it into one, big pile, let's talk a bit about joining and grouping collections in LINQ.
Sztuka programowania 1446 dni, 19 godzin, 4 minuty temu 127 źrodło rozwiń
Różnica pomiędzy ?: a ?? w nawiązaniu do posta http://rph-blog.pl/view/9/ pod tytułem "Niezwykły operator ternarny ?: w C++". Dementujemy kłamstwa.
Sztuka programowania 1452 dni, 5 godzin, 4 minuty temu 192 źrodło rozwiń
In the previous post about Topshelf and Quartz.NET I mentioned that there is a chance to configure the inversion of control container instead of manually pointing which implementation we want to use. In this post, I will explain how to do just that, using a few popular inversion of control containers – Ninject and StructureMap. If you prefer any other container, please let me know. I’ll do my best to include it here. Plain projec...
Sztuka programowania 1453 dni, 20 godzin, 24 minuty temu 178 źrodło rozwiń
Pewnego razu trafiło mi się na facebookach takie pytanie „dlaczego z listy konwertuje na IEnumerable a odwrotnie nie” -cytat jest skopiowany żywcem, autor wolałby pozostać anonimowy. Jako że nie ma głupich pytań i każdy kiedyś zaczynał, odpowiem koledze i innym ciekawym. Ciekawi? No to lecim:)
Sztuka programowania 1455 dni, 41 minut temu 357 źrodło rozwiń
For the last 2 years Angular Team at Google, with huge support of the community, has been working on a new Angular framework. It has been completely rewritten with better performance and ready to use even outside the browser. In this article I want to introduce you to the basics of Angular 2+; we will build a small web application using angular-cli tool.
Sztuka programowania 1455 dni, 41 minut temu 85 źrodło rozwiń