The most important thing I learn in 2015 is that clean code is everything. You can have bad performance or logical errors or even security issues. But without clean code you cannot fix anything above, because you don't understand the code. The regular expressions were always dramatic for fast reading. Unless there was a variable which describes it well, I need a lot of time to understand what exactly is going on. Just let look on the JavaScript example...
Strona głównaUżytkownik
Adi Ochmann | użytkownik
Moq to najpopularniejszy framework do tworzenia atrap w .NET. W tej części kursu poznamy jego składnię i podstawowe możliwości.
Sztuka programowania 3231 dni, 14 godzin, 39 minut temu 140 źrodło rozwiń
Metoda Split dzieli łańcuch znaków na części w zależności od separatora, który został przekazany w parametrach. Ostatnio jednak natknąłem się na plik CSV, który oprócz tego, że jest rozdzielony przecinkami to na dodatek ma jeszcze ogranicznik pól. Parsowanie takiego pliku metodą String.Split nie będzie prawidłowe. Poniżej implementacja metody String.Split z możliwością zdefiniowania ogranicznika pól(checkSeparator)...
Sztuka programowania 3217 dni, 2 godziny, 15 minut temu 177 źrodło rozwiń
Gdy tworzymy kod jakiejś własnej paczki nugetowej, bardzo często wykorzystujemy kompilację w wariancie Any CPU. Dzięki temu docelowa DLLka zadziała zarówno na x86 jak i x64, ale również i na ARM w sytuacji gdy mamy do czynienia z systemami mobilnymi. Niestety nie zawsze jest tak kolorowo i prosto, i czasem Any CPU po prostu nie zadziała - np. w sytuacji gdy mamy składowe DLLki przygotowane pod określone platformy/architektury...
Napisany przez paweltymura on Ponieważ mam tą przyjemność refactorować czasem naprawdę stary kod (z czasów .NET 1) to trafiam na takie fajne fragmenty “jak to się robiło kiedyś”. Kod który jest pod moją opieką staram się poprawiać, testować i upraszczać używając najnowszych sztuczek. Do kodu!
Sztuka programowania 3203 dni, 18 godzin, 9 minut temu 438 źrodło rozwiń
W internecie znaleźć można mnóstwo sposobów na zwalidowanie modelu. Najlepszym sposobem jest zastosowanie atrybutów z przestrzeni System.ComponentModel.DataAnnotations, ponieważ walidacja odbywa się automagicznie. Niestety kiedy te same atrybuty wykorzystamy do parametrów akcji, to już tak automagicznie nie jest. W tym poście zaprezentuję problem oraz pokażę jak można sobie z nim poradzić.
Sztuka programowania 3200 dni, 1 godzinę, 2 minuty temu 270 źrodło rozwiń
Słowo kluczowe yield – obecne w języku C# od dawien dawna – w prosty sposób może przyczynić się do poprawy wydajności naszego kodu. Jak działa? Gdzie go używać? Jak może przyczynić się do poprawy działania aplikacji? Przekonajmy się...
Sztuka programowania 3200 dni, 1 godzinę, 2 minuty temu 467 źrodło rozwiń
Visual Studio umożliwia w bardzo prosty sposób podpisywanie bibliotek, które rozwijamy w ramach solucji. Dzięki takiemu podpisowi możemy potwierdzać nie tylko ich autentyczność, ale także zapewnić, że w żadnej aplikacji, która ich używa, nie zostaną złośliwie podmienione. Dlaczego mielibyśmy się w ten sposób zabezpieczać?
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 3194 dni, 3 godziny, 53 minuty temu 247 ź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 3194 dni, 3 godziny, 53 minuty temu 673 źrodło rozwiń
Napisany przez paweltymura on Co lepsze Github czy Bitbucket? Nie wiem czy ktoś stanął przed takim pytaniem, i czy czasem ktoś je sobie zadaje. A ponieważ ja czasem tak, to dziś odpowiem czemu wybrałem jak wybrałem. Github i Bitbucket to repozytoria kodu w chmurze. W każdym z nich za pomocą git’a (ktoś teraz używa coś innego?) możesz wrzucić swój kod i podziwiać, dzielić się z innymi, kasować, w sumie robić cokolwiek...
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 3187 dni, 2 godziny, 57 minut temu 401 źrodło rozwiń
A quick run through about the fundamental pattern of game development - the game loop.
Daj się poznać 2016 3181 dni, 13 godzin temu 65 ź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 3184 dni, 3 godziny, 25 minut temu 402 ź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 3181 dni, 13 godzin temu 138 źrodło rozwiń
W poprzedniej części opisałem wymagania wobec projektu MemoryVisualizer. Teraz pora przejść do konkretów, czyli technologii. Dla przypomnienia, piszę narzędzie, które pozwoli za pomocą jakiegoś języka zapytań wizualizować pamięć procesu .NETowego.
Daj się poznać 2016 3181 dni, 19 godzin, 35 minut temu 95 źrodło rozwiń
Many of the programmers falls into the trap of creating too many unnecessary abstractions in code, that may introduce even more chaos and maintenance issues, instead of simplifying overall project structure and providing some real benefit. One of such abstractions, that have been discussed countless number of times, is the (one and only) repository pattern.
Architektura 3181 dni, 13 godzin temu 238 źrodło rozwiń
W 30. odcinku DevTalka zagłębiamy się w… kontenery! I to nie takie znane z Dependency Injection. Chodzi o kontenery na zupełnie innym poziomie. Docker? Rings a bell? Moim Gościem jest Michał Dudak. Michał to trochę-więcej-niż-programista :). Może poczytać go na blogu i pooglądać w roli prelegenta na różnych konferencjach. Na Twitterze: @michaldudak. Nie ma co przedłużać, temat jest ciekawy, a materiału sporo! Enjoy! http://traffic.libsyn.com/devtalk/DevTalkE30-MichalDudak-Containers.mp3Zasubskrybu...
Architektura 3180 dni, 12 godzin, 31 minut temu 89 źrodło rozwiń
Today applications need to be more and more asynchronous and process more information in parallel. Every programming language has its own way of dealing with asynchronous programming. Some are designed for such purposes (like Erlang) but the others, more popular ones, are not. Is there no hope for Java, .Net or JavaScript developers? I think there is.
Konkurs Daj Się Poznać właśnie wystartował, więc skoro postanowiłem wziąć w nim udział, to należy Ci się obszerna informacja cóż takiego mam zamiar przygotować i o czym będę pisał przez następne 10 tygodni, a może i dłużej. Na pierwszy ogień idą algorytmy genetyczne!
Daj się poznać 2016 3181 dni, 13 godzin temu 313 źrodło rozwiń