SignalR to bardzo sprytna biblioteczka pozwalająca na komunikację serwer->klient w aplikacjach internetowych. Sam jeszcze nie miałem okazji pobawić się nią w praktyce, ale pewnie już wkrótce… Póki co postanowiłem rozpowszechnić informację krążącą po sieci już od jakiegoś czasu. Jose M. Aguilar, ASP.NET MVP, napisał książkę o SignalR właśnie i udostępnił ją za friko. Wystarczy wejść na stronę http://www.campusmvp.net/signalr-ebook, podać swojego maila i c...
Wczoraj i przedwczoraj odbyła się konferencja dotnetConf, o której pisałem już wcześniej. Ten wpis stanowi krótkie podsumowanie całego wydarzenia.
Po mojej prezentacji o unit testach na 4Developers dostałem pytania typu “skąd uczyć się o testach?”, “jak zacząć?”, “jak poszerzyć wiedzę?”. Oto zatem moje rekomendacje Pluralsight (200 minut jest za darmo – trial – za resztę trzeba zapłacić, ale warto wykupić sobie chociaż miesięczny abonament za ~30$) Test-First Development Part I – podstawy unit testów, całkiem OK ale raczej wyłącznie dla nowicjuszy; na pewno super na start Test-First De...
Dzisiaj króciutka notka, ale mam nadzieję, że komuś przyda się. Załóżmy, że mamy kolekcję zawierającą np. DateTime. Naszym zadaniem jest zwrócenie maksymalnej wartości. Za pomocą LINQ łatwo to zrobić:DateTime[] dateTimeList=/.../; DateTime maxValue = dateTimeList.Max(); Niestety, w sytuacji gdy kolekcja zawiera 0 elementów dostaniemy wyjątek: “Sequence contains no elements”. Potrzebujemy funkcji MaxOrDefault, która niestety nie istnieje. Mamy do dyspozycji FirstOrDefault, SingleOrDefault, ale nie ma o...
Dziś krótki post informacyjny o zbliżającej się wielkimi krokami konferencji. Już niebawem odbędzie się konferencja ...
From few days I’m official member of codeguru redaction. I have hope the cooperation will be delightful. But now time is for rebellion!
Jeśli jest źle, i wiadomo że jest źle, to jest dobrze. Bo może być tylko lepiej. I czas na zmiany. Najważniejsze, aby być zadowolonym z siebie. Czerpać radość i satysfakcję z codziennych obowiązków i nie czuć się “gorszym” względem otoczenia. Wykorzystywać ogromne możliwości rzucane przez naszą profesję. Kilka lat temu miałem niemały kryzys odnośnie swojej roli w z...
Miałem ostatnio okazję implementować własny provider claimów do SharePointa. Jak prawie całe API SharePointa, ta kupa kupy woła o pomstę do nieba. Postanowiłem wykorzystać okazję i zaprezentować jak to złe API mogłoby wyglądać, gdyby ktoś w teamie odpowiedzialnym za “dev-experience” tego kolosa miał trochę oleju w głowie. Ale najpierw kilka słów wprowadzenia, czyli przedstawienie problemu.
Miało być tak pięknie. Zawód-programista. Spełnienie marzeń i nadziei. A tymczasem… Bury poranek, szaruga i dziki wicher. Deszcz zacina poziomo, zdaje się zostawiać bruzdy na polikach. Wtaczasz się sfatygowany do biura, składasz parasol… i masz ochotę zakopać się pod stertą suchych liści i tam przeczekać do emerytury. Opatrzności, zno...
Franz w “Psach” powiedział: “nie lubię Ruskich”. Ja teraz mówię: “nie lubię regionów”. Regiony to te małe śmierdziuchy rozpoczynane dyrektywą #region i kończone dyrektywą #endregion. To te potworki co pozwalają klasę z kilkoma tysiącami linii zwinąć do kilku linii, grupując kod choćby w bezsensowny sposób, i spełnić tym samym całkiem sensowną zasadę “klasa powinna mieścić się na jednym ekranie”. Moje podejrzenie jest takie, ż...
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...
“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ż...
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ę...
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?
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...
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.
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.
Opis najważniejszych właściwości języka TypeScript.