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 3604 dni, 16 godzin, 24 minuty 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 3606 dni, 15 godzin, 35 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 3609 dni, 13 godzin, 22 minuty 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 3609 dni, 23 godziny, 6 minut temu 270 źrodło rozwiń
Ponieważ z knockout.js mam do czynienia od dłuższego czasu (dokładnie od wersji 1.0 ;) ), postanowiłem podzielić się moimi spostrzeżeniami ze tymi, którzy chcą wykorzystać ten framework w swojej pracy, jak również osobami które już go stosują oraz generalnie wszystkim zainteresowanym w pisaniu ustrukturyzowanych skryptów JS.
Sztuka programowania 3611 dni, 21 godzin, 33 minuty temu 313 źrodło rozwiń
Kolejna część cyklu – zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/optymalizacja-kodu-c-sharp–czesc-3
Sztuka programowania 3612 dni, 14 godzin, 30 minut temu 213 źrodło rozwiń
Jeżeli korzystasz z NHibernate i Json.NET i chcesz bezpośrednio serializować obiekty biznesowe pobrane z bazy danych przy użyciu NHibernate do formatu JSON to bardzo szybko napotkasz na problem w postaci wyjątku: Error getting value from 'ReadOnly' on 'NHibernate.Proxy.DefaultLazyInitializer'. Problem ten powstaje w momencie gdy próbujesz serializować encję pobraną przez NHibernate, która posiada niezainicjowane wiązania z innymi encjami (obiekty proxy do obsługi lazy loading). Klasa serializująca prze...
Architektura 3612 dni, 14 godzin, 30 minut temu 114 źrodło rozwiń