Gutek niedawno napisał o swoich przemyśleniach odnośnie programowania podczas jazdy samochodem. Takie myśli mogą nas dopaść wszędzie. Od tego naprawdę nie ma ucieczki… o ile jesteśmy faktycznie odpowiednio zaangażowani. Mnie ostatnio dopadły one podczas grania w doskonałe NFS: Most Wanted na Androida. Jeszcze p…asja? Czy już p…ierdolec? Dla tych którzy nie grali: są to wyścigi samochodowe;). Gracz otrzymuje kilka trybów wyścigów. Jest tam oczywi...
Jako, że w ostatnim moim wpisie, zajmowaliśmy się sposobami na nadawanie styli elementom tekstowym HTML5 za pomocą CSS3, dziś nadszedł czas na omówienie styli związanych z elementami blokowymi. Jak zwykle w tym "kursie" tematy do postów wybieram na podstawie informacji zawartych na stronach Microsoftu związanych z egzaminem MCSD: 70-480. W związku z tym zajmiemy się dziś takimi właściwościami CSS3 jak: właściwości zmieniające wygląd elementów blokowych; właściwości zmieniające efekty graficzne elementów;...
W celu optymalizacji każdy procesor posiada swój cache. Temat jest dosyć rozbudowany bo zwykłe cache jest podzielony na kilka warstw aby przyśpieszyć dostęp do niego. W dzisiejszym w poście chciałbym wprowadzić pojęcie cache line co jest tak naprawdę po prostu wpisem w pamięci podręcznej. Jeśli procesor czyta jakieś dane to umieszcza je w cache line. Cache line to nie tylko jedna, pojedyncza zmienna a na przykład 64 bajty. Jeśli zatem czytamy pojedynczą zmienną Int32, w rzeczywistości procesor przeczyta...
Sztuka programowania 3613 dni, 6 godzin, 57 minut temu 196 źrodło rozwiń
WebAuthenticationBroker jest ciekawą klasą umożliwiającą autoryzację użytkownika poprzez protokół OAuth 2.0. Czy możemy jednak zrobić coś równie dobrego? Oczywiście, że tak.W tym wpisie zostanie przedstawiony sposób stworzenia swojego brokera do logowania użytkownika w wybranym serwisie.
Sztuka programowania 3613 dni, 6 godzin, 57 minut temu 107 źrodło rozwiń
I am a software developer. From my experience I can say, that this is one of the best jobs someone can do. It is creative, demanding and extremely rewarding plus it has an awesome community with friendly and intelligent people. When i was entering the work market in my first company i had various assumptins ans misconceptions that i learned in university. Boy i was soo wrong about a lot of things. In this post i want to dosciss some of them.You are passionate, hard working and very engaded, sorry that’s ...
Z pewnością zdolnych/dobrych programistów jest cała masa. Prawdopodobnie większość z nas ma coś ciekawego do powiedzenia, spostrzeżenia do przekazania, dobre praktyki warte stosowania na szeroką skalę. Aż żal, że ogromna część takiej wiedzy/przemyśleń się po prostu marnuje. Dziesiątki niezaimplementowanych ulepszeń w bibliotekach, setki nierozpoczętych dyskusji, czy ...
Jedną z bardzo ważnych spraw w tworzeniu oprogramowania jest jego specyfikacja definiująca, co i jak ma zostać stworzone. Jej forma nie jest ważna, zaś sam fakt posiadania jej ułatwia znacząco pracę i wypływa pozytywnie na wydajność pracy programisty. Nie zależnie od tego jakiego rodzaju metodykę stosujemy w projekcie, zawsze siadając do pracy powinniśmy wiedzieć co mamy zrobić. Nie musimy wiedzieć jak ale co jest bardzo ważne. To co powinno definiować dokładnie wynik naszej pracy, nasz cel.
Tak jak zapowiedziałem w ostatnim wpisie, w dniu dzisiejszym przechodzimy do ostatniej grupy zagadnień związanych z egzaminem MCSD: 70-480, a więc do tematu styli CSS3. Pierwszy z postów poświęconych temu zagadnieniu, zgodnie z tytułem wpisu, dotyczyć będzie stylowania elementów tekstowych HTML5. W związku z tym poruszone będą zagadnienia takie jak: nadawanie styli dotyczących wyglądu tekstu; stylowanie fontów; określanie odstępów, akapitów oraz wyrównania; nadawanie styli łącznikom oraz efekt cienia rzu...
W dzisiejszym postem zakończymy omawianie zagadnień związanych z dostępem i zabezpieczaniem danych. Zgodnie z tytułem tego wpisu, zajmiemy się dziś serializacja i deserializacją danych: omówię więc binarny format danych (JSON i XML omówiłem już w poprzednim wpisie); przyjrzymy się metodzie 'serialize' dostępnej w ramach biblioteki jQuery, a także dowiemy się jak wysłać formularz z poziomu języka JavaScript; spojrzymy także jeszcze raz na obiekt 'XMLHttpRequest', tym razem w kontekście wysyłania danych, a...
Jeżeli szukasz dobrego frameworka do MVVM dla WinRT, to koniecznie zobacz nowy ciekawy framework -StyleMVVM.
Sztuka programowania 3616 dni, 6 godzin, 20 minut temu 288 źrodło rozwiń
Czasami zachodzi potrzeba serializacji obiektów, które powinny mieć maksymalnie jedną kopie w tym samym AppDomain. Klasycznym przykładem jest System.DBNull, którego deklaracja wygląda następująco:[SerializableAttribute] [ComVisibleAttribute(true)] publicsealedclass DBNull : ISerializable, IConvertible Załóżmy, że mamy klasę, w której jedna z właściwości ma wartość System.DBNull. Oczywiście podczas serializacji i potem deserializacji nie chcemy tworzyć nowej instancji DBNull – jest to sprzeczne z ...
Sztuka programowania 3616 dni, 6 godzin, 20 minut temu 104 źrodło rozwiń
Załóżmy, że mamy następujący kod:[Serializable] class Person { publicstring Name { get; set; } } Atrybut Serializable mówi, że będzie wspierana serializacja za pomocą IFormatter (np. BinaryFormatter). Jeśli chcemy wspierać ten mechanizm, zawsze powinniśmy tworzyć jawnie backing-field. Kompilator w końcu może wygenerować tak naprawdę dowolną nazwę. Zajrzyjmy do Reflector, aby zobaczyć jak wygląda wewnętrzna struktura: Wygenerowane pole to:[CompilerGenerated] privatestring
Sztuka programowania 3618 dni, 19 godzin, 23 minuty temu 145 źrodło rozwiń
Witam w kolejnym wpisie z cyklu "egzamin MCSD: 70-480"! W odcinku dzisiejszym zajmiemy się tematem konsumowania danych w języku JavaScript. Zgodnie z tym co napisane jest na temat wymagań na stronach Microsoftu, w poście niniejszym powinniśmy zająć się takimi zagadnieniami jak konsumowanie danych w formacie JSON oraz XML; pobieranie danych z webservice'ów; ładowanie danych z innych źródeł za pomocą obiektu 'XMLHTTPRequest'. Postaram się więc poruszyć te zagadnienia podpierając się przykładami kodu. Zapra...
Targetowanie projektu na architekturę x86 przy współpracy z natywnymi bibliotekami może nie być eleganckim rozwiązaniem, zwłaszcza jeśli dostępna jest w wersji 32 i 64 bitowej. Można tego uniknąć dokonując wyboru wersji biblioteki natywnej w czasie wykonywania programu.
Po odłożeniu kodu na weekend, jego przeglądzie i uwzględnieniu komentarzy, można uznać proces refaktoryzacji za zakończony. Pisząc „proces” mam tu na myśli wykonanie refaktoryzacji o ściśle określonym celu – w tym przypadku było to stworzenie mechanizmu importu, który zastąpi używany obecnie. Nie wchodziły zatem w ten proces...
Sztuka programowania 3618 dni, 19 godzin, 23 minuty temu 82 źrodło rozwiń
Opis najważniejszych właściwości języka TypeScript.
Dziś kontynuować będziemy temat formularzy w HTML5. W poprzednim poście, opisałem walidację dostarczaną bezpośrednio przez kontrolki formularzy. Jak jednak widzieliśmy, pozwalają one tylko na przeprowadzenie podstawowych walidacji, takich jak sprawdzenie czy wprowadzono dane w pola wymagane, czy w pole typu 'email' wprowadzono prawidłowy email. Ponadto omówiliśmy sposób na definiowanie walidacji wprowadzanych danych za pomocą wyrażeń regularnych (atrybut 'pattern'). Jeśli więc chcielibyśmy dokonać bardz...
Kolejnym głównym zagadnieniem wymaganym na egzaminie MCSD 70-480, jest dostęp i zabezpieczanie danych (ang. access and secure data). Pytania z tego zakresu stanowią 26% wszystkich pytań na egzaminie. W związku z tym, dzisiejszym postem rozpoczynam omawianie tego zagadnienia. Pierwszym z tematów jakie w ramach tego zagadnienia Microsoft zaleca poznać, jest kwestia wykorzystania, wprowadzonych w HTML5, elementów służących do tworzenia formularzy. Oprócz tego, w HTML5 wprowadzona została możliwość zdefiniow...
In this post, I want to share some details about my Visual Studio 2012 configuration. You can find here a list of plugins, some options and various customization that I am using.Some thoughts I am not using any GIT integration tool. I don’t need it. Console and bash is all, I need. I am mostly using 2 split window setup. All the tool windows are pinned out if i need them i can use CTRL+TAB. I am trying to not use mouse at all.ExtensionsR# Tool that you can’t live without. Finally i got my personal ...
W celu wykonania jakiegoś kodu za pomocą refleksji, należy najpierw zebrać informację o danym polu. Załóżmy, że mamy następującą klasę:class Sample { publicvoid PrintSomething() { Console.WriteLine("Something"); } } W celu wykonania metody za pomocą refleksji można:object sample =new Sample(); MethodInfo info=sample.GetType().GetMethod("PrintSomething"); info.Invoke(sample, null); Generalnie obiekty takie jak MemberInfo czy MethodInfo pożerają mnóstwo pamięci – są one dość ciężk...
Sztuka programowania 3620 dni, 22 godziny, 16 minut temu 125 źrodło rozwiń