Konferencja MTS 2012 już za nami. Jest co wspominać. Miło było być uczestnikiem tego wydarzenia. Jak co roku, również tym razem największą wartość dla mnie miały dwie rzeczy: możliwość spotkania ludzi dzielących podobne pasje i zainteresowania (a tym razem często także i interesy!) oraz merytoryka prezentacji.
Bazy danych i XML 3850 dni, 8 godzin, 56 minut temu 110 źrodło rozwiń
Opis, trzech wzorców asynchroniczności stosowanych w .net framework.
Sztuka programowania 3850 dni, 8 godzin, 56 minut temu 224 źrodło rozwiń
Klasa XmlSerializer służy do serializacji całych klas. Za pomocą atrybutu XmlIgnore można wykluczyć właściwości, których nie chcemy zapisywać. Problem pojawia się gdy w klasie pochodnej chcemy wykluczyć jakieś pola z klasy bazowej tj.:class Employee { publicstring FirstName { get; set; } } class Manager:Employee { //...} Serializaując Employee chcemy zapisać FirstName. Z kolei serializując Manger nie chcemy już tego robić. Jak uzyskać taki efekt? Dodając atrybut XmlIgnore w Employee spowoduje...
Sztuka programowania 3850 dni, 8 godzin, 56 minut temu 81 źrodło rozwiń
Tworzenie obiektów w .Net jest utożsamiane z zarezerwowaniem dla nich pewnej pamięci, a następnie wykonaniem konstruktora(domyślnego lub parametryzowanego). Jednak w pewnych przypadkach wykonywanie kodu zawartego w konstruktorze może być niepożądane. Istnieje jednak sposób by tego uniknąć.
Ze względu na premierę Windowsa 8 oraz Windows Phone 8 firma Microsoft przygotowała specjalną promocję przygotowaną dla indywidualnych programistów. Od wczoraj programiści mogą już...
Mobile development 3852 dni, 8 godzin, 47 minut temu 269 źrodło rozwiń
Wpis o tym dlaczego w projektach na Windows Phone, Silverlight do serializacji binarnej używam biblioteki SharpSerializer oraz jak przeportowałem ją na .NET 4.5 oraz Windows Runtime.
Mobile development 3852 dni, 8 godzin, 47 minut temu 52 źrodło rozwiń
Kontrolka użytkownika (web user control) jest komponentem, który działa bardzo podobnie do zwykłej strony ASP.NET. Elementy, metody oraz akcje definiuje się zupełnie identycznie. Różnica jest taka, że kontrolki ascx umieszcza się na stronach aspx. Jest to świetny sposób na zgromadzenie w oddzielnym pliku współpracujących ze sobą kontrolek, a co za tym idzie odseparowanie ich zdarzeń od pozostałej logiki. Artykuł ten opisuje, jak ...
W C# można implementować interfejsy na dwa sposoby: jawny oraz niejawny. Rozważmy poniższy interfejs:interface ISerializable { void Serialize(string path); } Implementacja jawna:class ExplicitImplementation:ISerializable { #region ISerializable Membersvoid ISerializable.Serialize(string path) { thrownew NotImplementedException(); } #endregion } Implementacja niejawna:class ImplicitImplementation:ISerializable { #region ISerializable Membersvoid ISerializable.Serial...
Sztuka programowania 3853 dni, 10 godzin, 24 minuty temu 131 źrodło rozwiń
Rozpoznaję taki jakby pattern przeładowanych metod dla string.Format(…). Jest wykorzystywany w wielu miejscach we Frameworku jak i poza nim. Chciałem zwrócić uwagę na ILog.DebugFormat() w bibliotece log4net oraz na Console.WriteLine().
Sztuka programowania 3853 dni, 10 godzin, 24 minuty temu 110 źrodło rozwiń
Visual Studio to potężne narzędzie i tak na dobrą sprawę ciężko wykorzystać wiele z możliwości dostarczonych przez projektantów Microsoftu. Spora grupka programistów ogranicza się do podstawowego zakresu funkcji - Solution Explorerem>, IntelliSense i ewentualne prostego debugowania. Tymczasem liczba opcji dostępnych w tym IDE jest porażająca. Sam często odkrywam nowe funkcje przez przypadek, lub wynajduję ich opis w Internecie. Po jakimś czasie zastanawiam się tylko, jak mogłem wcześniej programować bez ...
Ostatnio mam okazję pisać aplikację dla Windows Phone 7 i potrzebowałem do niej wykresów. Padło na darmową wersję amChart for WPF and Silverlight – Quick Charts for WPF, Silverlight and Windows Phone 7 (http://wpf.amcharts.com/quick/general). Dodatek jest udostępniony za darmo bez brandingu i bezpośrednich odniesień do firmy na dodatek mega plus za udostępnienie kodu (https://github.com/ailon/amCharts-Quick-Charts) na licencji Ms-PL (http://opensource.org/licenses/ms-pl.html). Wykresy wyglądają dość ciek...
Życie programisty byłoby prostsze, gdyby zawsze używał explicite CultureInfo gdy korzysta z ToString() oraz string.Format(...).
Sztuka programowania 3854 dni, 17 godzin, 53 minuty temu 140 źrodło rozwiń
Serializator XML'owy platformy .NET jest bardzo łatwy i przyjemny w użyciu, ale czasami jego działanie może sprowadzić nas na manowce. Poniższy kod obrazuje o co mi chodzi. Zacznijmy od przykładowej, bardzo prostej klasy, którą będziemy serializować...
Jak automatycznie generować skrypt bazy danych np. w celu okresowego przebudowywania programu instalacyjnego ze względu na zmianę struktury tejże bazy.
Bazy danych i XML 3855 dni, 13 godzin, 56 minut temu 70 źrodło rozwiń
O strukturach na blogu pisałem już wielokrotnie m.in.: “Klasy i struktury w C#”, “Dlaczego struktury nie mogą posiadać konstruktora bez parametrów?”, “StructLayout – wprowadzenie”, “StructLayout–zastosowanie”. W pierwszych z tych postów, przedstawiającym różnice między klasami a strukturami napisałem, że co prawda struktury nie mogą dziedziczyć po klasach ale mogą za to implementować interfejsy. Dzisiaj chciałbym rozszerzyć to o kilka słów gdyż w tamtym wpisie ograniczyłem się tylko do stwierdzenia, że j...
Sztuka programowania 3856 dni, 14 godzin, 47 minut temu 98 źrodło rozwiń
„Ciemno wszędzie, głucho wszędzie, Co to będzie, co to będzie?” … ano będzie, będzie! a raczej jest! pierwszy odcinek drugiego sezonu codingtv();! Dzisiaj zaczynamy tworzyć instalator naszego bloga. Przygotowujemy metodę do uaktulniania ustawień bazy danych w web.confgu i standardowo omawiamy komentarze z poprzedniego odcinka. Pamiętamy również o naszym konkursie i zgodnie z obietnicą dzisiaj wylosowaliśmy zwycięzcę
Knockout jest javascriptowym frameworkiem, pozwalającym na wprowadzenie w obrębie interfejsu użytkownika, wzorca MVVM (Model View ViewModel) - w ramach projektu, przy którym obecnie pracuję często go stosujemy - warto się z nim zapoznać (więcej o knockoutjs tutaj). W wielkim skrócie, pozwala on na "podpięcie" elementów interfejsu, takich jak na przykład textbox'y, do modelu danych - aktualizacja wartości w tak podpiętym textbox'ie powoduje aktualizację wartości w modelu, a co za tym idzie w innych elemen...
O dwóch sposobach inicjalizacji właściwości obiektu pisałem już tutaj. Dziś chciałbym pokazać jak zainicjalizować kolekcję używając “nowego” mechanizmu wprowadzonego w C# 3.0. Z poprzedniego post’a wiadomo, że właściwości można ustawiać tak:internalclass Person { public Person() { } public List
Hi everyone, I was thinking about subject of this post. I tried invent something what wasn't written yet. After few days I asked myself: "What should I expect during reading about programming in Metro?" .The answer: "Workshop!" But not basic "hands-on-lab" which give you some information and recommend you to read many articles if you would like to know more. I was expecting "driving" through all process of project . From bussiness case, architecture, development backend, to Metro application im...
Mobile development 3860 dni, 2 godziny, 10 minut temu 49 źrodło rozwiń
W zeszłym tygodniu na dotNETomaniaku wypromowano artykuł na temat interfejsów. Zapoznałem się z nim i odnoszę wrażenie, że autor nie rozumie w pełni roli interfejsu i myli go z klasą bazową. O taką pomyłkę rzeczywiście nietrudno, wiele klas buduje bowiem swoją funkcjonalność na podstawie interfejsów, ale to nie oznacza automatycznie, że interfejs jest ich przodkiem, zaczynem. Trzeba zacząć od tego, że choć interfejs umieszcza się w definicji klasy tak samo jak klasę dziedziczoną...
Sztuka programowania 3860 dni, 5 godzin, 23 minuty temu 97 źrodło rozwiń