This post is a part of preparation for 70-483 exam. Information written down here are related with the part Manage program flow. First of all I decided to explain the differences between concepts which come along with a phrase multithreading...
Programowanie rozproszone 3897 dni, 4 godziny, 34 minuty temu 103 źrodło rozwiń
Tuple. Dobro czy zło? Subiektywizm każe mi powiedzieć, że straszne zło. Obiektywizm – zło umiarkowane/neutralność. Zamysłem przy tworzeniu Tuple było ułatwienie zagnieżdżania struktur. Na papierze wygląda nieźle, natomiast jest bardzo nadużywane w projektach, co czyni je nieczytelnymi. Osobiście uważam, że Tuple może być wykorzystany przy tworzeniu prototypów, kiedy chcemy zobaczyć, czy dany kod robi dokładnie to, o co nam chodzi, inaczej mówiąc – do tworzenia działającej metody. Zaraz po tym, konieczn...
Sztuka programowania 3895 dni, 7 minut temu 282 źrodło rozwiń
Today’s post opens the series of my notes I will collect during preparation for the Microsoft exam 70-483 which focuses on programming in C#...
W poprzednim wpisie Czas UTC a DateTime.Kind byłem zbyt mało stanowczy lub nie wyczerpałem tematu Maciek w komentarzu podzielił się linkiem i skomentował krótko – DateTime.Now praktycznie nigdy nie ma sensu Autor podlikowanego posta (The case against DateTime.Now) proponuje aby DateTime.Now i DateTimeKind.Local zostały w następnej wersji .NET oznaczone jako [Obsolete]. Postaram się streścić ten ar...
Ostatnio pierwszy raz w życiu miałem okazję ustawiać nagłówki HTTP odnośnie cachowania. Pogłębiłem trochę temat i okazało się, że trzeba myśleć nie w kategoriach czasu lokalnego, tylko czasu uniwersalnego. Na nasze: zamiast DateTime.Now trzeba używać DateTime.UtcNow. Wstęp: Przechowujesz datę i czas? Może warto w UTC? DateTime ma właściwość Kind typu DateTimeKind: public enum D...
Temat czytelności kodu jest bardzo dyskusyjny. Mam na myśli to, że jest tutaj wiele “zależy”. Funkcję, którą dziś opisuję, popełniłem kilka dni temu, nie myśląć specjalnie o tym, że będą ją tutaj omawiał. Spójrz najpierw na oryginalny kod poniżej krytycznym okiem, a później zapraszam do mojej analizy “dlaczego tak, a nie inaczej”.
Sztuka programowania 3903 dni, 17 godzin, 37 minut temu 467 źrodło rozwiń
Cztery lata temu, popełniłem post „Zapomnijcie o windows forms”. Po czterech latach i wielu innych technologiach po drodze wracam do tematu. Ostatnio miałem okazję napisać mała aplikację w WPF, to był raczej test, a nie aplikacja dla klienta, jednak nie zmienia to faktu, że musiałem przysiąść i to napisać :) Nie wiem czy to tylko mnie tyczy, czy są też inni ludzie którzy podobnie myślą, ale osobiście nie zobaczyłem, żadnych pozytywnych zmian w tej technologii mimo upływu 48 miesięcy.
All about the null-coalescing operator (better known as ??) in C#.
Zapewne większość z Was miała do czynienia z aplikacjami pisanymi przy wykorzystaniu ASP.NET MVC. Zapewne pracowaliście nad jakimś projektem, im bliżej końca, tym co raz częściej wkradają się błędy, aplikacja jest na tyle duża, że łatwo wstawić przez przypadek do widoku jakieś duperele, jest mnóstwo resource’ów, które bardzo ciężko ogarnąć, mapowanie view-model to jakiś koszmar. Brzmi źle? Wcale nie musi tak być. Oto kilka porad (subiektywnych), w jaki sposób możemy uniknąć bałaganu:
Sztuka programowania 3918 dni, 9 minut temu 406 źrodło rozwiń
Main menuMain pageAboutContact Share article via: From time to time there is a need of having a container to store different types objects. Of course there are KeyValuePairs, or some custom generic solutions, but managing the keys and values can be complicated or even over-complicated in some cases, and creating your own generic data structure can take some time, and bring additional code in the project. And here, there comes the concept of Tuple. Tuple has been introduced by Microsoft...
Architektura 3922 dni, 3 godziny, 39 minut temu 240 źrodło rozwiń
An application which I'm currently developing has quite complicated authorization system. That is why, we can not use role based authorization, and basically every developer is obliged to call appropriate security check method in every controller action he or she writes. As You probably know it is quite easy to forget about that, therefore I decided to write a test which would check whether all controller's action invokes this security critical function. After hours of searching for some anchor point, I ...
Praktycznie każdy jako-tako przemyślany system z jaką-taką architekturą zawiera “klasy z logiką”. Przez “jako-tako przemyślaną architekturę” rozumiem fakt, że cała logika nie siedzi bezpośrednio w kontrolerach czy innym tego typu bycie, a w dedykowanych… “miejscach”.
Architektura 3937 dni, 24 minuty temu 307 źrodło rozwiń
This article is a continuation of my previous article. It shows how to create a custom intern pool that does not fragment the LOH and how to further improve it.
I think almost every .NET developer is familiar with INotifyPropertyChanged interface. Typical implementation of this interface looks more or less like that: public class NotifyPropertyBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged( Expression
This article describes some of the pitfalls that one may encounter while working with string in a high frequency environment. Most notably it exposes some of the problems with string Intern Pool.
Czasami można zaobserwować następujący kod:int[] firstArray = Enumerable.Range(1, 1000).ToArray(); int[] secondArray = Enumerable.Range(1, 1000).ToArray(); foreach (int item in firstArray) { Process(item); } foreach (int item in secondArray) { Process(item); } Mam na myśli sytuacje kiedy mamy kilka osobnych tablic, ale przetwarzanie ich jest takie same lub bardzo podobne. Inny przykład to przetworzenie tablicy, a potem pojedynczego elementu pochodzącego z innego źródła...
Sztuka programowania 3962 dni, 20 godzin, 57 minut temu 211 źrodło rozwiń
Na początek roku post minimalistyczny - kilka linków, które gnieżdziły się w mojej głowie ostatnio. Co dalej z Windows, Windows Phone, C#, Visual Studio? Odpowiedź już za niecałe 3 miesiące na BUILD 2014! Pierwsze przecieki o Windows 8.1 Update 1, który ma się ukazać w marcu tuż przed BUILD (choć ciekawszy wydaje się bardziej mglisty “Threshold”). Interesujące rozważania na temat języków programowania prosto z Microsoft. Sienna - genialny przykład minimalistycznej roboczej aplikacji Windows Store, takie...
The dynamic keyword has been part of the C# language for quite a while now. I thought I know it well, yet I stumbled upon an interesting case that surprised me.The code that works Here's a piece of code that I started with. This code works like you would expect.
Sztuka programowania 4002 dni, 7 godzin temu 115 źrodło rozwiń
Pokazany sposób tworzenia prostego kontenera IoC w C#.
Sztuka programowania 4011 dni, 6 godzin, 14 minut temu 899 źrodło rozwiń
Tło problemu - jest wystawiony opasły Windows Service po remotingu. Implementacja to wielka klasa z dziesiątkami metod, typowe legacy code. Z pewnych architektonicznych przyczyn zostało postanowione, że cykl życia komponentów rejestrowanych w Castle, wykorzystywanych w wyżej wymienionych, dziesiątkach metod, musi by...
Sztuka programowania 4034 dni, 36 minut temu 133 źrodło rozwiń