Garść cytatów w kontekście Test Driven Development. Można je wykorzystać przy różnych okazjach, np. przy tworzeniu prezentacji albo przy rodzinnych bankietach ;)
Tytuł niniejszego wpisu zapożyczyłem z piosenki zespołu „Raz, Dwa, Trzy”. Uważam, że doskonale oddaje sens rozważań, którymi chciałbym się w tym wpisie zająć. Dość dawno temu usłyszałem ciekawą radę, aby nie nazywać spraw problemami, ponieważ słowo to niesie negatywny wydźwięk i podświadomie sprawia, że normalna sprawa rzeczywiście urasta do rangi problemu. Dlatego sprawy, które są zadaniami do zrealizowania nie powinny być problemami do rozwiązania, zadania matematyczne – nie powinny być ...
I have been playing with Node.js recently. Mostly doing some small hobby projects. One of them needed server side badly, some of the cool features were not possible with the client side only web app. I was thinking about using RoR, Asp.Net Mvc or NancyFX all of these frameworks suitable for the task. Then why Node ? Well, the answer is simple, FUN. There is a lot of hype around it. Community is very dynamic, lots of modules and extensions created on the daily basis. As a Passionate Developer, I also wa...
Bawiłem się ostatnio aplikacją (WPF, .NET 4.5, C# 5 async await), która wyświetla na żywo obraz z kamerki i skanuje go w poszukiwaniu pewnych informacji. Chcąc maksymalnie zwiększyć wydajność, doszedłem do implementacji Timera, który sam dostosowuje swój interwał, aby maksymalnie zrównoleglić periodyczne operacje i wykorzystać dostępne procesory.
Kilka dni temu musiałem opublikować aplikację która korzystała z bardzo prymitywnej bazy danych, zdecydowałem się na SQL CE jako, że wszystko mam już in place i nic nie musiałem dodatkowo robić. Z SQL Lite sprawa jest prosta, ściągamy wersję dla .NET i tworzymy strukturę katalogów jak opisane zostało to tutaj. Z SQL CE było podobnie, w VS 2010 za pomocą jednej magicznej opcji wszystko, co potrzebowaliśmy trafiało w odpowiednie miejsce: W VS 2012, niestety opcja ta została usunięta, więc bardzo łatwo j...
Za pomocą flag bitowych można wykonywać bitowe operacje na liście wartości stałych. Deklaracja jest podobna do deklaracji zwykłego enuma, jednak należy zwrócić uwagę na dwie rzeczy: Przed deklaracją należy dopisać [Flags], aby zaznaczyć, że będziemy korzystać z flag bitowych. Po drugie każdy element musi być kolejną potęgą liczby 2 (jeżeli tego jawnie nie podamy, każdy kolejny element będzie zwiększany o 1 i przy operacjach bitowych będą występować (naszym zdaniem) błędy), np:[Flags] enum Zwierze ...
This post is about my experience with job interviews. Ardua prima via est!
Microsoft z każdą wersją wprowadza pewne nowe elementy do języka, które teoretycznie powinny poprawić możliwości języka, jak komfort pracy programisty. Od wersji .net 4.0 wprowadzono nowy typ – dynamic. Jego użycie pozwala na wykonanie czynności, które będą dopiero znane w momencie wykonania aplikacji. W dużym skrócie oznacza to, że kompilator pozwoli na wywołanie dowolnej akcji na obiekcie bez zgłoszenia błędu. Kod zostanie bez problemu skompilowany, nawet, jeśli nie istnieje metoda do której się odwołu...
Ostatnio wspomniałem o problemach, na jakie możemy natrafić bawiąc się OAuth w wersji 1. W sieci istnieje wiele różnych providerów, skracających nasze męki przy autoryzacji, jednak wcale nie ukracają one mąk jakie musimy przejść gdy chcemy coś więcej niż tylko autoryzację. Na szczęście mały projekt RestSharp przychodzi nam na ratunek. Dzięki niemu za pomocą kilku prostych metod, możemy dodać nagłówek authorization do zapytania z odpowiednimi parametrami jak iż z automatycznym podpisywaniem zapytań. Prz...
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...