Przejdź do głównej zawartości

Posty

Wyświetlanie postów z marzec, 2017

dot net core i ciągłe wdrażanie aplikacji w VSTS

Dzisiaj opowiem o tym jak możemy skonfigurować ciągłe wdrożenie naszej aplikacji za pomocą Visual Studio Team Services. Moim celem będzie automatyzacja procesu wdrożenia aby przebiegał on w następujący sposób: 1. Programista wykonuje zmianę w kodzie i wysyła swoje zmiany do repozytorium git 2. Serwer ciągłej integracji wykrywa zmianę w systemie git i wykonuje następujące czynności: - pobranie projektu z gita - zbudowanie projektu - ewentualne uruchomienie testów jednostkowych, integracyjnych i systemowych - przygotowanie projektu do umieszczenia na docelowym serwerze - skopiowanie projektu na docelowy serwer. Naszym celem jest ograniczenie pracy programisty do punktu pierwszego. Cała reszta, tj. punkt 2 zostaje wykonana przez serwer ciągłej integracji. Serwerem tym może być Jenkins, TeamCity, albo VSTS. O tym właśnie dzisiaj opowiemy. Co należy zrobić aby go skonfigurować? Po pierwsze wejść tu: https://www.visualstudio.com/pl/ Na początku konfigurujemy projekt, dodajemy

Perfect Life - pierwsze demo

Dotychczas pisałem o wymaganiach, historiach użytkownika i o scenariuszach. Dzisiaj jednak pokażę jak wygląda aplikacja. Kiedyś miałem problem. Tworzyłem wiele projektów, które pochłonęły mnóstwo mojego czasu ale ostatecznie nigdy nie ujrzały światła dziennego. Dlaczego? Ponieważ sądziłem, jest za wcześnie a aplikacja musi być dopracowana do perfekcji aby można było ją zaprezentować światu. Jakiś czas temu przeczytałem książkę Lean Startup: Po lekturze tej książki zrozumiałem, że można od samego początku, dosłownie od pierwszego dnia tworzenia aplikacji, publikować ją w sieci. Co więcej - można pobierać opłaty za korzystanie z niego. Brzmi to zaskakująco, ale takie rozwiązania istnieją na rynku. Co zyskamy? Zysk będzie taki, że możemy od pierwszego dnia zbierać feedback od użytkowników naszej aplikacji oraz mamy gwarancję, że prędzej czy później nasz produkt będzie dostępny dla szerszego grona odbiorców. Postanowiłem więc, że od pierwszego dnia swojego życia, aplikacja mobil

WebDriver - 2 triki, które zaoszczędzą kilka godzin Twojego czasu.

Osoby, które pracują ze mną na co dzień doskonale wiedzą, że jestem wielkim fanem testów automatycznych. Ostatnio w pracy napotkałem kilka ciekawych przypadków, którymi chciałbym się dziś z Wami podzielić. Na początek przypomnijmy poziomy testowania: 1. Testy jednostkowe 2. Testy integracyjne 3. Testy Systemowe O ile testy jednostkowe są prawie zawsze stosowane przez programistów, o tyle dwa pozostałe poziomy są czasami zaniedbywane. Dzisiaj skupiamy się na testach systemowych. Można je robić ręcznie klikając, wpisując i czytając co pokazuje nam przeglądarka www. Można też zautomatyzować cały ten proces. I do tego właśnie służy WebDriver. Pokażę w tym wpisie dwa triki, które pomogą Ci zaoszczędzić sporo czasu jeśli programujesz testy akceptacyjne w środowisku .NET(C#) z wykorzystaniem biblioteki Selenium WebDriver. Mam coś dla osób chcących zwiększyć swoje umiejętności w temacie programowania testów systemowych w WebDriverze: http://toolsqa.com/selenium-c-sharp/. Szczeg

Specflow czyli BDD w praktyce

Dzisiaj pokażę w praktyce w jaki sposób zbieram wymagania korzystając z narzędzia Specflow. Na początku przypomnę nasze historie użtkownika. Potem skonfigurujemy dodatek Specflow Visual Studio. Na końcu pokażę jak wygląda język Gherkin i zaimplementujemy pierwszą historię użytkownika US1. Oto lista funkcjonalności, które będę implementował w aplikacji Perfect Life: US1: Jako użytkownik aplikacji mobilnej chcę ekran logowania aby mieć możliwość zapisywania swoich postępów US2: Jako użytkownik aplikacji mobilnej chcę mieć kalkulator wskaźnika BMI aby móc mierzyć poziom swojej kondycji US3: Jako użytkownik aplikacji mobilnej chcę widzieć wykresy aby móc wizualnie interpretować swoje postępy US4: Jako użytkownik aplikacji mobilnej chcę mieć możliwość rozwiązania quizu, żeby zbadać wskaźnik Body Age US5: Jako użytkownik aplikacji mobilnej chcę pobierać pliki PDF aby mieć dostęp do planów dietetycznych US6: Jako administrator aplikacji chcę zapisywać dane telemetryczne aby móc an

Nowy sposób na dołączanie zasobów w ASP.NET CORE

Dzisiaj opowiem o problemie, z którym na pewno się spotkałeś jeśli stworzyłeś jakąś aplikację internetową. Opowiem też jak można rozwiązać problem z użyciem ASP.NET Core i kiedy warto rozważyć użycie nowego sposobu. Chodzi o dołączanie bibliotek javascript, które w tradycyjnej formie wygląda w ten sposób: <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"> W pokazanym kodzie tworzymy element języka HTML o nazwie script z atrybutem src, który definiuje lokalizację pliku z kodem JavaScript. W naszym przypadku dołączamy do strony bibliotekę jquery stworzoną przez Johna Resiga. Przy okazji polecam świetną książkę o języku JavaScript: Tajemnice JavaScriptu. Podręcznik Ninja Dodatkowo jak widać, skorzystaliśmy z biblioteki umieszczonej na serwerze CDN Zamiast pobierać bibliotekę jQuery z internetu i dołączać do naszego projektu. W tym drugim przypadku nasz kod mógłby wyglądać następująco: <script src="~/lib/jquery/dist/jquery-2.2.0.m

Aplikacja 'Perfect Life' - planowanie funkcjonalności

W poprzednim wpisie przedstawiłem budowę historii użytkownika(ang. User Story). Dzisiaj korzystając z tego narzędzia zaplanujemy kilka funkcjonalności. Czas na zaplanowanie funkcjonalności aplikacji mobilnej Perfect Life. Aplikacja jest tworzona w oparciu o technologię Xamarin.Forms. Póki co jednak abstrahując od rozwiązań technologicznych skupimy się na funkcjonalnościach. Dobre planowanie swojej pracy to podstawa sukcesu każdego projektu programistycznego. US1: Jako użytkownik aplikacji mobilnej chcę ekran logowania aby mieć możliwość zapisywania swoich postępów US2: Jako użytkownik aplikacji mobilnej chcę mieć kalkulator wskaźnika BMI aby móc mierzyć poziom swojej kondycji US3: Jako użytkownik aplikacji mobilnej chcę widzieć wykresy aby móc wizualnie interpretować swoje postępy US4: Jako użytkownik aplikacji mobilnej chcę mieć możliwość rozwiązania quizu, żeby zbadać wskaźnik Body Age US5: Jako użytkownik aplikacji mobilnej chcę pobierać pliki PDF aby mieć dostęp do planó

Dziś Premiera Visual Studio 2017

Dzisiaj ważny dzień dla programistów .NET. Premiera środowiska programistycznego Visual Studio 2017. Relację na żywo można oglądać tutaj: https://launch.visualstudio.com/ Jutro będzie dzień warsztatów, w których możemy wziąć udział online. Nowe VS możemy pobrać ze strony: https://www.visualstudio.com/ Co ciekawe pobierając VS teraz otrzymasz 60 dni darmowego dostępu do Xamarin University. To ważne jeśli chcesz się nauczyć tworzyć aplikacje mobilne. Co nowego? Lepsza integracja z VSTS Live unit testing - zwróćmy uwagę na ikony po lewej stronie: Dodatkowe ikony: Wyszukiwanie metod po fragmencie nazwy. Code suggestions, czyli podpowiedzi na temat najlepszych praktyk w trakcie pisania kodu. Możemy zdefiniować własne sugestie dot. kodu i dodac własne konfiguracje edytora kodu: Dodatkowo pojawiły się dodatkowe ikony, dzięki którym łatwo się zorientować gdzie kończy się klasa, a gdzie namespace. Wygląda to nieźle. Inne usprawnienia o których mówił Scott Hanselman

Pierwsze planowanie - aplikacja Perfect Life - Xamarin

W każdym projekcie programistycznym pojawiają się pewne fazy. Niezależnie od tego czy projekt jest realizowany zgodnie z metodyką Waterfall, czy w modelu iteracyjnym, zawsze pojawia się planowanie. W metodyce SCRUM, najczęściej planujemy najczęściej raz na dwa tygodnie, to znaczy przed rozpoczęciem każdego sprintu. Bardzo ważna uwaga: Mimo, że w Scrumie z punktu widzenia zespołu deweloperów planowanie obejmuje jedynie najbliższe dwa tygodnie, to warto zauważyć potrzebę planowania projektu w szerszej perspektywie czasowej, dzięki czemu możemy wspólnie z klientem oszacować kiedy projekt zostanie ukończony, a zespół programistów będzie mógł lepiej wywiązać się ze swoich zadań znając kontekst i plany dotyczące projektu. A więc dzisiaj skupimy się na samym ustaleniu sposobu planowania pracy. W kolejnym wpisie planuję utworzenie kilku najważniejszych historii użytkownika. Wtedy to ustalimy jakie funkcjonalności będzie posiadała aplikacja Perfect Life i kto na stworzeniu danej funkcjonalnoś