To jest mój pierwszy wpis w zakresie ścieżki certyfikacyjnej Microsoftu, jednak na ten temat można poczytać także u Bartosza Dybowskiego (niemało z resztą) i Macieja Zbrzeżnego, stąd taki a nie inny tytuł. Chcę dorzucić swoje trzy grosze w tym temacie, ponieważ przekonałem się na własnej skórze jak bardzo pomocne są wszelkie informacje na temat egzaminów, tym bardziej jeżeli jest to początek przygody z certyfikacją. Między innymi dla...
20.03.2013 Średnio raz w miesiącu NHibernate doprowadza mnie do białej gorączki wyjątkiem: System.Transactions.TransactionAbortedException: The transaction has aborted. ---> System.Data.SqlTypes.SqlTypeException: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM. Powodem powstania tego wyjątku jest niewypełnienie (lub błąd w definicji mapowania) właściwości DateTime obiektu biznesowego zapisywanego do bazy danych. Problem w tym, że treść tego komunikatu jest tak ogó...
Sztuka programowania 2896 dni, 22 godziny, 45 minut temu 154 źrodło rozwiń
Załóżmy, że mamy timer, który co jakiś próbuje połączyć się np. z usługą:internalstaticclass Sample { publicstaticvoid Main() { using (Timer timer =new Timer(Run, null,0,1000)) { Thread.Sleep(500000); } } privatestaticvoid Run(Object state) { Console.WriteLine("Operacja, ktora moze potrwac czasami nawet kilka minut."); } } Powyższy kod w wielu sytuacjach jest poprawny. Należy jednak mieć na uwadze, że operacje takie jak połączenie z bazą danych ...
Sztuka programowania 2900 dni, 15 godzin, 47 minut temu 145 źrodło rozwiń
W związku z tym, że jest to ostatni wpis z serii przygotowawczej do egzaminu MCSD 70-480 oraz z uwagi na fakt, że o selektorach sporo napisałem już w poprzednim poście, dziś raczej krótko, zwięźle i na temat. Zapoznamy się dziś w takim razie ze sposobami odnoszenia się do elementów w arkuszach CSS, dowiemy się jak implementować dziedziczenie styli oraz jak je nadpisywać, przyjrzymy się też sposobom na wykorzystanie pseudo-klas i pseudo-elementów. Jak widać, po części jest to więc mała powtórka z poprzedn...
I would like to show you, good library to working with REST architecture.
“Kult mrówy” – tak bym określił stosunek do sposobu pracy bardzo często spotykany u, szczególnie młodych, programistów. Mrówa nie robi nic innego, tylko zapier… Wstaje rano, idzie do roboty, siedzi tam cały dzień, potem cały wieczór, wraca do domu żeby się kimnąć, i tak w kółko. I uważa, że tak powinno być. Jest fajnie, jest MOC!! Niezależ...
Zgodnie z tytułem dzisiejszego wpisu, zajmiemy się dziś jedną z większych zalet biblioteki jQuery jaką jest możliwość pobierania referencji do obiektów DOM za pomocą selektorów CSS. W związku z tym, na początek przyjrzymy się jak z tej możliwości korzystać, a następnie przejdziemy do opisu różnego rodzaju selektorów oferowanych nam przez CSS3, a które stosować możemy do wyszukiwania elementów w drzewie obiektów DOM. Jest to już przedostatni wpis z cyklu MCSD 70-480, zapraszam więc niniejszym do lektury.W...
Chciałbym rozpocząć nowy cykl na blogu, tym razem o PLINQ. Dzisiaj zaczniemy od podstaw czyli czym jest LINQ oraz kiedy z niego korzystać. PLINQ to skrót od Parallel Linq czyli są to zapytania wykonywane równolegle. W dzisiejszym świecie, programiści starają się zrównoleglić co tylko jest możliwe. Samodzielne pisanie LINQ w sposób równoległy jest dość niewygodne i dlatego Microsoft wprowadził PLINQ. Należy oczywiście zawsze pamiętać, że próba zrównoleglenia operacji, które muszą po prostu zostać wykona...
Sztuka programowania 2901 dni, 9 godzin, 27 minut temu 222 źrodło rozwiń
Egzamin zbliża się wielkimi krokami, a mi zostały jeszcze do opanowania (i omówienia na niniejszym blogu) trzy zagadnienia! W związku z tym w dzisiejszym wpisie zajmiemy się animacjami przy użyciu "tranzycji"; przyjrzymy się dwu- i trój- wymiarowymi transformacjami; zapoznamy się z "media queries" służącymi do uzależniania wyglądu aplikacji w zależności od rodzaju "medium", na którym wyświetlana jest strona; dowiemy się także, jak za pomocą CSS3 pokazywać i ukrywać elementy dokumentu HTML.
O tym czym jest Git, wie chyba każdy programista. O konwencjach i wzorcach stosowanych podczas produkcji do rozwoju repozytorium słyszało jednak zdecydowanie mniej osób, zaś jeszcze mniej stosowało je w praktyce. W tym poście postaram się poruszyć ten temat w kontekście git flow - narzędzia do integracji systemu kontroli wersji ze strategią procesu tworzenia oprogramowania.
Nadszedł czas na drugą część opisu zagadnienia związanego z "elastycznymi interfejsami" w HTML5 (oczywiście nadal w ramach przygotowań do egzaminu 70-480 należącego do ścieżki certyfikacyjnej MCSD Web Applications). Wpis ten poświęcony będzie takim zagadnieniom jak opływanie elementów blokowych, wyrównywanie do siatki oraz definiowanie regionów. Myślę, że nie ma sensu tracić czasu na przydługie wstępy, przejdźmy więc do rzeczy!Opływanie elementów blokowych Myślę, że temat definiowania opływania elementó...
Podczas pisania prostego tool’a do komunikacji po porcie szeregowym natknąłem się na cechę C#, której dotąd nie znałem. Mowa tutaj o akcesorach (ang. accessors)addi removedla zdarzeń. Przeczytałem wiele różnych artykułów na temat różnych mechanizmów tego języka, widziałem wiele “żywego” kodu, jednak nie przypominam sobie żebym się wcześniej gdzieś z tym spotkał. Ok, tyle tytułem wstępu a teraz do rzeczy. Z reguły korzystając z mechanizmu zdarzeń używa się...
Wielokrotnie pisałem o różnych metodach definiowania sekcji krytycznej w kodzie. Do dyspozycji mamy spinning, który nie usypia wątku. Tak naprawdę dla systemu Windows, taki wątek wciąż istnieje i wykonuje pracę – innymi słowy marnuje czas CPU. Jeśli chcemy zatrzymać wątek na krótko wtedy jest to bardzo wydajne ponieważ nie musimy zmieniać kontekstu (BARDZO kosztowne), korzystać z funkcji Windows (spinning to czysta metoda .NET) czy planować (scheduling) następnych wątków. Jeśli mechanizmy takie jak spin...
Sztuka programowania 2903 dni, 8 godzin, 38 minut temu 80 źrodło rozwiń
Tak mnie dzisiaj naszło, podsumowałem liczbę linii kodu, którą dzisiaj wygenerowały moje palce czasami z pomocą resharpera, ctrl+c, ctrl+v i mojego konwertera klas na knockout JS. Łącznie dziś napisałem: 4956 linii kodu, w tym cshtml: 2141, C#: 1771 i JS: 1044. Czy jest to wydajna praca? Czy to nie jest wydajna praca? Popatrzmy na taski, całość zamknęła 20 tasków i 4 Product Backlog Items i około 5 bugów. Czy to już jest wydajnie?
O tym, że Microsoft chciałby “uskrypcić” C#, pierwszy raz usłyszałem w 2009 roku na MVP Summit. Efektem takich zapowiedzi jest projekt Roslyn – czyli Compiler As A Service. Idea bardzo interesująca i zacna, jej implementacja – z tego co czytałem – również. Glenn Block (m.in.) wziął Roslyn, wziął NuGeta, wziął C#, wziął fajny pomysł i zainicjował projekt ScriptCS. Idea jest prosta (wyjaśniona w większych szczegółach na blogu G...
Jedyna taka w Polsce, niepowtarzalna konferencja obejmująca swym zakresem wyłącznie technologię SharePoint odbędzie się w następujących miastach: Gdynia, Warszawa, Wrocław. Właśnie została uruchomiona rejestracja.
Po krótkiej weekendowej przerwie, wracam do przygotowań do egzaminu. Od zeszłego tygodnia jestem już zapisany na konkretny termin (21 marca), a więc czas przejść do decydującego odliczania ;) Do omówienia zostały mi już tylko cztery tematy więc myślę, że się wyrobię... Zgodnie z tematem posta, dziś zajmiemy się interfejsem użytkownika w HTML5. Dowiemy się zatem, jak korzystać z modelu "flexbox" oraz jak stworzyć layout wielokolumnowy. Do zagadnień należących do tego obszaru należą też nowe możliwości CSS...
Operacje na plikach mogą być bardzo czasochłonne. Z tego względu, dobrym zwyczajem jest umieszczenie kodu w osobnym wątku. Często popełnianym błędem jest samodzielne tworzenie wątku:internalstaticclass Sample { publicstaticvoid Main() { var reader =new FileStream(@"c:\setup\1.txt", FileMode.Open); Task.Factory.StartNew(()=>ReadAsync(reader)); } privatestaticvoid ReadAsync(Stream reader) { byte[]buffer=newbyte[100]; reader.Read(buffer, 0, 100); reader.Clos...
Sztuka programowania 2906 dni, 6 godzin, 25 minut temu 162 źrodło rozwiń
Jakiś czas temu dostałem w swoje ręce nowiutką "Pro ASP.NET MVC4" Apress'a. Znajdują się w niej działy 13 i 14 poświęcone routingowi. Są tam zaprezentowane ciekawe testy oraz podkreślone jest ich znaczenie w całej aplikacji. Nawet jeśli pomija się testowanie innych części, test routingu jest wręcz wskazany. Schematy URL mogą stać się szybko bardzo skomplikowane i łatwo jest o nagłe, nieoczekiwane i niepożądane zachowania. Ostatnio postanowiłem także bliżej zapoznać się z frameworkiem Nsubstitute. Jes...
To jedyne przykazanie w całym Devkalogu pozostawione w oryginalnej formie. Nie kradnij srajtaśmy z biura? Owszem, nie kradnij, ale ja nie o tym. Nie kradnij poprzez piracenie oprogramowania/muzyki/filmów? Owszem. Ale ja nie o tym. Dawno temu, jeszcze w 2008 roku, Jeremy Millernapisał: If you’re writing ADO.Net code by hand, you’re stealing from your employe...
Sztuka programowania 2906 dni, 16 godzin, 10 minut temu 270 źrodło rozwiń