Niniejszy post jest 200-tną notatką na blogu.... Tak zacna i okrągła okazja zostaje niniejszym wykorzystana jako pierwszy z cyklu postów o podstawach programowania. Jednak nie mam zamiaru opisywać poszczególnych konstrukcji językowych ani też kolejnych bibliotek, nie będę również mówił o efektywnych algorytmach. Pisał będę o tym jak pisać aplikacje aby można było je długo i efektywnie rozwijać. Przejdę po zasadach SOLID (ale nie tylko tych 5 podstawowych), przejdę po TDD oraz kilku innych aspektach, któr...
Strona głównaUżytkownik
arek | użytkownik
Każdy programista ma swoją listę ulubionych narzędzi – takich jakie sprawdzają się w codziennej pracy. Warto poznać czego używają inni dlatego zachęcam do opisania swojego. Poniżej mój warsztat (na dzień dzisiejszy), który wygląda następująco (w kolejności zwiększenia komfortu pracy i produktywności):NCrunch dodatek do Visual Studio do Continious Testing. Dodatek ten dział w tle i jeśli tylko może, to kompiluje kod i uruchamia testy jednostkowe. Efekt jest taki, że przestając pisać nawet na kilka sekun...
Wczoraj Gutek opublikował swoją odpowiedź na maila zatytułowanego "Prośba o radę…". Los chciał, że dostałem maila o identycznym tytule, jednak innej zawartości. Jakaś zorganizowana akcja, żeby dać piątaka?:). Odpisanie na niego zajęło mi dobre półtorej godziny i doszedłem do wniosku że publikacja tego co się urodziło może być faktycznie dobrym pomysłem.
Całkiem niedawno napisałem krótki artykuł, gdzie wykorzystałem koncepcję wyrażeń lambda i w oparciu o nie zbudowałem prosty system zdarzeń dla okienek Windows. Wyrażenia Lambda wprowadzone wraz z C++0x są na tyle uniwersalnie zbudowane, że z łatwością mogą być skonsumowane przez algorytmy ze standardowej biblioteki STL. Oto przykład z find_if:
Mechanizm Canvas jest nowym elementem HTML5, który służy do dynamicznego rysowania oraz modyfikowania grafik bitmapowych z wykorzystaniem skryptów w języku JavaScript. Przeglądarka Internet Explorer 9 operuje na obiekcie Canvas przy użyciu akceleracji sprzętowej procesora karty graficznej (GPU). W tym artykule skupimy się na podstawowych informacjach o obiekcie Canvas, na jego programowaniu w JavaScript oraz stworzymy kilka przykł...
Test jednostkowy to nic innego jak kod wykonujący inny kod w kontrolowanych warunkach. Jego zadaniem jest weryfikacja (bez ingerencji programisty), że testowany kod działa poprawnie. Robi to w sposób dość banalny: autor testu dostarcza dane wejściowe (input), test wykonuje pewne instrukcje i sprawdza, czy rezultat działań (output) zgodny jest z oczekiwaniami. W świecie idealnym każdy test bada jedną ścieżkę wykonania jednej metody. Czy jednak jedyną rolą testów jednostkowych jest sprawdzenie działania ...
Architektura 4640 dni, 18 godzin, 30 minut temu 385 źrodło rozwiń
Ciekawostka: jak uzyskać RouteData z czystego URLa? Nie taka prosta sprawa... Ale najpierw: po co? Tutaj odpowiedź banalna: aby umożliwić wykorzystanie opisanego niedawno mechanizmu w sytuacji, gdy mamy całą strukturę menu zdefiniowaną na zewnątrz aplikacji (np. w bazie danych). Struktura taka mogłaby zawierać wygodne pary kontroler/akcja (+ew. area) i wtedy nie ma problemu, ale jeśli jest inaczej - to trzeba się uciec do tematu niniejszego posta.
Przegląd najlepszych sesji z NDC. Niesamowicie przydatne. Kudos procent
agenda oraz filmy z NDC 2011. 3 dni, 7 różnych sesji jednocześnie. Masa materiału do oglądania
Prezentacja jest już dostępna na Vimeo. Miejscami kod przykładów może być mało czytelny ale przyjrzeć im się można z bliska na Prezi. //========================================= Przy okazji chciałbym podziękować wszystkim, którzy wyrazili swe opinie w ankiecie konferencyjnej. Jest to dla mnie najcenniejsze źródło informacji. Z 22 opinii tekstowych, 20 z nich odbieram jako bardzo ciepłe i przyjazne. Wasze słowa są na prawdę motywacją do tego aby następnym razem poświęcić jeszcze więcej czasu (po ob...
Architektura 4658 dni, 1 godzinę, 12 minut temu 111 źrodło rozwiń
Dzisiejszy news dotyczący Marketplace dla Windows Phone donosi o poszerzeniu dostępności sklepu z aplikacjamu na WP o kolejne kraje. Do aktualnej 16 krajów dochodzi 19 nowych, a wśród nich także POLSKA… Nowe kraje to:BrazilChileColombiaCzech RepublicDenmarkFinlandGreeceHungaryIndiaJapanNetherlandsNorwayPolandPortugalRussiaSouth AfricaSouth KoreaSwedenTaiwan W związku z tą informacją postanowiłem przetestować Zune bez zmienionych ustawień lokalizacji. Wynik pozytywny! Nie ma informacji, że produkt nie jes...
Mobile development 4659 dni, 23 godziny, 40 minut temu 101 źrodło rozwiń
Jak wykorzystać TDD w codziennym życiu Autor: Arkadiusz Benedykt Opublikowano: 2011-07-20 Znamy już podstawy test driven development, pora wykorzystać tę wiedzę praktycznie. Do stworzenia prostego kodu będziemy potrzebowali Visual Studio 2010 oraz dostępne w nim środowisko testów jednostkowych – MS Tests. Tworzymy nowy projekt testowy. Poniżej znajduje się kod automatyczne generowany przez narzędzie: Kopiuj using System; using System.Text; using System.Collections.Generic; using System.Linq; using ...
Mamy problem z szeroko pojętą jakością oprogramowania. My, czyli nasza cywilizacja. Wciąż nie jesteśmy w stanie stworzyć oprogramowania, które nie będzie zawierało błędów. Nie jesteśmy też w stanie wychwycić wszystkich błędów na etapie testowania. I nie, nie chodzi mi tu (tylko) o błędy związane z bezpieczeństwem. Skutki błędów mogą być zarówno spektakularne (np. eksplozja rakiety Ariane 5), jak i tragiczne (np. ofiary śmiertelne źle działającego sprzętu medycznego). Mogą też być ciekawe, ostatnio przecz...
Panel bocznyStronaJerzy Piechowiak Na co dzień programista .NET (a hobbystycznie także PHP i JAVY), pasjonat informatyki w każdej postaci, a także dobrych filmów, książek i muzyki, a przed wszystkim zapatrzony w najlepszą blondynkę na świecie;)KategorieAndroidInternetP2PStronaWebmasteringDownloadKody źródłoweProgramowanieTekstyPopularne na bloguCiekawe i użyteczne aplikacje na Androida część 1Ciekawe i użyteczne aplikacje na Androida część 2VirtualBox Tutorial - ...
Numerowane zakładki Chyba każdy kto kiedyś programował w Delphi był potem rozczarowany standardowymi bookmarkami w VS. Jak działają bookmarki w VS? Skrótem Ctrl+K; Ctrl+K ustawiamy bookmarka. Możemy ich mieć dowolną ilość. Bookmarki możemy sobie podejrzeć w okienku dla nich przeznaczonym: Możemy sobie zmieniać ich nazwę, ale nie kolejność. I to jest właśnie ten element który jest niekoniecznie fajny. Poruszanie się po bookmarkach Ctrl+K;Ctrl+N (następna) oraz Ctrl+K;Ctrl+P (poprzednia) przechodzi ...
W piątek ESRI wypuściło nowe API dla JavaScript, poprawiające pewne funkcje jak i w końcu wykonujące odpowiednie operacje – przy query zamiast robić POST zaczęli robić GET, tak jak należy :) Jak się jednak okazało, zupełnie przypadkiem zmiana ta spowodowała, że przestała działać nasza aplikacja. Dosłownie, wystarczyło zmienić numerek wersji API i wszystko śmigało. Co lepsze na innej aplikacji wykorzystującej ten sam kod nowe API działało. Po trzech godzin analizy znaleźliśmy powód, który uszedł by nasz...
Niedawno spotkałem się z zabawnym bugiem w Visual Studio. Zauważyłem go w VS 2005, ale udało mi się go odtworzyć w VS 2010, zresztą nie jest to trudne. Poniżej bardzo prosty kawałek kodu, który pozwoli wyjaśnić o co chodzi:
Kompilowanie widoków zaoszczędza dużo czasu na sprawdzanie poprawności działania aplikacji. Niestety sam proces kompilacji wydłuża się i to znacznie. Dlatego szukałem sposobu, aby można było kompilować wybiórczo: z widokami lub bez. Niestety nie ma prostego przełącznika w Studio ani wbudowanego skrótu klawiaturowego. Na szczęście trafiłem przypadkiem na stary już post pewnego Marka J. Millera, gdzie zwyczajnie pokazuje jak uzależnić kompilację widoków od konfiguracji trybu kompilacji. Studio skompiluje w...
Test Driven Development Autor: Arkadiusz Benedykt Opublikowano: 2011-07-08 Szybki rozwój technologiczny oraz dynamicznie zmieniające się wymagania rynku powodują, że dzisiejszy programista powinien być Agile – zwinny, giętki ogólnie elastyczny. Na tej fali powstało wiele metodologii, które mają na celu szybsze dostarczanie produktu do klienta. Bez względu na to, czy te metodologie są skuteczne, czy nie, mają jedną wspólną wadę – wymagają zmiany sposobu pracy całego zespołu. Czy możliwe jest prowadzenie ...