TDD – commit by commit String Calculator (I) In this series I want to share my approach to TDD. I will do a simple TDD kata, sharing with you all my decision and thoughts. It’s called commit by commit beacuse you will find here links to github with each step. There will be a commentary to each one of these. I encourage you to comment and show me the flaws in my “style” of TDD coding. I also want to learn from you. I do know that my approach has its problems and there is allways a wayt to do something b...
Sztuka programowania 3913 dni, 4 godziny, 19 minut temu 100 źrodło rozwiń
Introduction I think one of the most important features of Resharper is on-the-fly code quality analysis. Basically, every time Resharper finds possible pitfall in code, it indicates this with appropriate warning. The most common warning is "Possible System.NullReferenceException". You can easily reproduce it by writing this code List
Są momenty, w których jedyne co wypada zrobić do dać sobie samemu blachę z wykrzyknieniem: “kRRRRetynie!”. Tak miałem ostatnio, gdy po wdrożeniu kolejnej wersji systemu dostałem od klienta komunikat: “e ziom, nie działa!”. Po inwestygacji logów przyczyna okazała się dość prozaiczna: owszem, deploy poszedł, wszystko się udało, ale “użytkownik końcowy” nie zrobił (bo i skąd miał wiedzieć że trzeba to zrobić?) full-refresh, aby przeglądarka zaciągnęła now...
Mój mikro cykl o obsłudze ekranów dotykowych w JavaScript miał się zakończyć na poprzednim wpisie na ten temat, jednak szperając w google w poszukiwaniu materiałów do tych wpisów, natknąłem się na kilka JavaScriptowych bibliotek, które jak się okazuje pozwalają objeść problemy o których pisałem ostatnio. Postanowiłem więc, że fajnie będzie dopisać jeszcze jeden post na temat i opowiedzieć o jednej z takich właśnie bibliotek, a mianowicie Hand.js. Hand.js jest biblioteką, która powstała aby umożliwić pis...
Mobile development 3913 dni, 19 godzin, 31 minut temu 62 źrodło rozwiń
Spodobała mi się sama nazwa „Onion Architecture” jak i to co pod tą nazwą przedstawił Jeffrey Palermo. Niby zasady znane od dawna, a jednak zostały one umiejętnie pokazane na nowo. Niestety na sieci ciężko znaleźć szkielet przykładowej aplikacji, która spełniała by podstawowe założenia. W związku z tym na szybko zmontowałem takowy.
Architektura 3914 dni, 5 godzin, 23 minuty temu 358 źrodło rozwiń
O problemach życia ze sprzętem z wysokim DPI pisał Scott Hanselman już jakiś czas temu (Living a High-DPI desktop lifestyle can be painful). Ja, dotychczas nie miałem z tym problemów jako, że nie posiadałem takowego. Od jakiegoś czasu pracuję jednak na MacBook Pro Retina, który z rozdzielczością 2560×1600 wystawia mnie na wszystkie te problemy, o których w swoim poście pisał Scott. Dziwne to było na początku, ale po chwili przyzwyczajenia jakoś one szczególnie mi nie przeszkadzają. Ot kolejne problemiki ...
CultureInfo zawiera informacje regionalne, przydatne, jeśli chcemy dostosować naszą aplikację do różnym krajów. Używamy tej klasy m.in. do określenia formatowania liczb, dat czy po prostu języka w jakim wyświetlamy tekst. Jeśli korzystamy z domyślnych ustawień regionalnych, wtedy poniższy kod wyświetli prawidłową wartość...
Ostatnio Łukasz Gąsior opublikował książkę o ReSharperze, więc w ramach rozruszania ostatnio martwego bloga, w ramach promocji książki naszego kolegi w ramach popularyzacji wiedzy o ReSharperze oraz w ramach eksperymentu z Rafflecopter do zgarnięcia jest ebook “ReSharper Essentials”. Zapraszam
Cztery lata temu, popełniłem post „Zapomnijcie o windows forms”. Po czterech latach i wielu innych technologiach po drodze wracam do tematu. Ostatnio miałem okazję napisać mała aplikację w WPF, to był raczej test, a nie aplikacja dla klienta, jednak nie zmienia to faktu, że musiałem przysiąść i to napisać :) Nie wiem czy to tylko mnie tyczy, czy są też inni ludzie którzy podobnie myślą, ale osobiście nie zobaczyłem, żadnych pozytywnych zmian w tej technologii mimo upływu 48 miesięcy.
Tworząc stronę internetową często potrzebujemy sprawdzić poszczególne składowe bez wracania do środowiska programistycznego. Narzędzia w przeglądarce Internet Explorer pozwalają analizować elementy widziane na stronie ze względu na budowę kodu HTML i CSS oraz sprawdzić logikę napisaną w języku JavaScript. Za...
All about the null-coalescing operator (better known as ??) in C#.
Unit testing client-side of our web applications is a little bit cumbersome: we have Javascript but also move forward to TypeScript. We have plain code without modules or use requirejs to benefit from AMD. For each configuration the setup of unit test project is different. I think having all these samples in one place could help us to start TDD in client-side. All the sample are based on the sample application from my previous posts about unit testing JavaScript. Actually these are not 11 different sampl...
Sztuka programowania 3919 dni, 19 godzin, 15 minut temu 82 źrodło rozwiń
Dzisiaj wracam do tematu obsługi ekranów dotykowych, o której pisałem w jednym z ostatnich wpisów. Wspomniałem wówczas, że w Internet Explorer wygląda to wszystko trochę inaczej… I na tym mam zamiar się w skupić w dzisiejszym poście. Na wstępie zaznaczę, że zdarzenia wskaźnika (ang. pointer events) pojawiły się wraz z wypuszczeniem przez Microsoft Internet Explorera 10 – w wydaniu tym, wprowadzono zupełnie odmienny od opisanego przeze mnie poprzednio, model obsługi zdarzeń zarówno myszki jak i dotyku. M...
W sieci można znaleźć mnóstwo przykładów w jaki sposób projektować aplikację. Tyle samo, albo i więcej, jest pytań programistów. Jedni szukają wiedzy, bo dopiero wchodzą w ten fascynujący świat. Inni szukają tylko potwierdzenia czy własne pomysły się sprawdzą. Sam nie raz szukałem odpowiedzi na pytanie czy moja koncepcja jest już przez kogoś gdzieś użyta. Jeśli znalazłem rozwiązanie, które było podobnie zrealizo...
Architektura 3920 dni, 6 godzin, 12 minut temu 312 źrodło rozwiń
Hej! Ten post miałem napisać już bardzo dawno… Ostatnio jednak wziąłem się trochę poważniej za tego bloga, postanowiłem więc ponadrabiać trochę wpisowych zaległości, a oto jedna z nich! Mianowicie, w trakcie pisania Read Your Feed – mojego super mega czytnika RSS;-) (możecie sobie o tej aplikacji przeczytać w dziale „Moje projekty”, który znajdziecie w menu po lewej stronie lub klikając tutaj) musiałem jakoś rozwiązać problem przewijania treści. Z założenia miała to być aplikacja typu „one page applicati...
Dzisiaj kolejny wpis o podstawach ASP.NET MVC. Tym razem chciałbym pokazać czym różnią się metody RenderBody, RenderSection, RenderPage oraz RenderPartial. Zacznijmy od najbardziej znanej metody, RenderBody. Korzystamy z niej w przypadku zdefiniowanego Layout’u. Tworząc nowy, domyślny projekt automatycznie zostanie dodany w folderze shared plik _Layout.cshtml. Definiuje on domyślny szablon czyli zwartość, która jest powtarzana na każdej podstronie. Zamiast duplikować cześć wspólną (menu, stopka itp.) na...
Pragmatic Developer Coder / Ninja / Hacker / Programmer / Developer / Engineer even Rockstar. Quite a big list of names used to describe someone in our field. Why then it is really important for me feel as a “Developer” instead of a “Programmer” ? My first job. I am sitting at the desk, bashing the keyboard, creating code someone else thought about. Simple c...
W dzisiejszym wpisie poruszę temat tworzenia kontrolerów asynchronicznych a właściwie asynchronicznych akcji kontrolera. W tworze tym wykorzystuje się programowanie wielowątkowe przy użyciu słów kluczowych „async” oraz „await” wprowadzonych we frameworku .NET 4.5. Może nam się to przydać w sytuacji przetwarzania żądania wykonującego wiele operacji wejścia/wyjścia, silnie obciążającego połączenie sieciowe lub procesor. Opisywanej asynchroniczności nie należy mylić z JavaScript’owymi żądaniami asynchronicz...