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 4271 dni, 12 godzin, 43 minuty 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 4274 dni, 10 godzin, 30 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 4274 dni, 20 godzin, 14 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 4276 dni, 18 godzin, 42 minuty temu 314 źrodło rozwiń
Kolejna część cyklu – zapraszam do lektury: http://msdn.microsoft.com/pl-pl/library/optymalizacja-kodu-c-sharp–czesc-3
Sztuka programowania 4277 dni, 11 godzin, 39 minut temu 215 ź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 4277 dni, 11 godzin, 39 minut temu 116 źrodło rozwiń
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 4280 dni, 20 godzin, 44 minuty 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 4280 dni, 20 godzin, 44 minuty 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 ...