Niedawno pojawiła się wersja RC VS 2015. Wraz z nią, dodano nowe narzędzie diagnostyczne. O performance hub pisałem już wielokrotnie. Visual Studio coraz więcej narzędzi zewnętrznych wbudowuje w IDE. Mamy zatem już do dyspozycji profilery jak i o RC, diagnozowanie ruchu sieciowego....
Strona głównaUżytkownik
rroszczyk | użytkownik
Ostatnio na blogu sporo o SOA. W poprzednim wpisie, poruszyłem temat kompatybilności, teraz czas na coś, co ma na celu zminimalizowanie ilości różnych wersji usług. Najprostszym sposobem na uniknięcie problemów z kompatybilnością jest po prostu nie wprowadzenie niekompatybilnych zmian. Consumer-driven contracts to prosty sposób, aby mieć pod kontrolą śledzenie zmian oraz ich wpływ na konsumentów naszej usługi. Zwykle usługi posiadają pewien schemat (schema) czyli po prostu kontrakt. Najbardziej restry...
Programowanie rozproszone 3505 dni, 7 godzin, 2 minuty temu 94 źrodło rozwiń
Microsoft od zawsze stawiał na kontrolki w swoich aplikacjach. Mieliśmy z nimi do czynienia w Windows Forms, ASP.NET, WPF, a także Silverlight. Nie mogło ich oczywiście zabraknąć również w aplikacjach uniwersalnych. Każda z kontrolek ma swój zestaw właściwości oraz zdarzeń, które z założenia mają zaspokajać podstawowe potrzeby użytkowników. W praktyce, zestaw ten często jest niewystarczający. Co zrobić w takiej sytuacji? Zamiast kombinować z istniejącymi właściwościami i metodami, możemy spróbować stworz...
Mobile development 3505 dni, 7 godzin, 2 minuty temu 206 źrodło rozwiń
Jak wiemy, ASP.NET 5 jest cross platform, i na razie nie ma IDE takiego z okienkami, wizardami itp które by umożliwiało nam pisanie aplikacji w nim (nie licząc Visual Studio). To znaczy, że za każdym razem jak tworzymy projekt musimy go ręcznie samemu utworzyć – stworzyć plik, dodać konfigurację, stworzyć klasę startową itp itd. Ogólnie męczące. Na szczęście, projekt Omnisha...
Yesterday I had a pleasure to speak at .NET Developers Association meetup in Redmond, about building web applications with TypeScript...
Request pipeline w ASP.NET 5 działa na zasadzie middleware, co to znaczy? Dla mnie najprościej było to zrozumieć poprzez analogię do głuchego telefonu, zabawy w którą chyba każdy z nas się bawił :)Gluchy telefon Nie jestem pewny jakie są prawa autorskie tego obrazka, znalezione w sieci bez żadnego info...
Kompatybilność usług jest problemem w każdej architekturze SOA, ale w przypadku mikro-usług staje się jeszcze bardziej widoczna. W przyszłości chce napisać post o tzw. consumer-driven contracts, które znacząco mogą zminimalizować potrzebę wersjonowania usług. W każdym razie, bardzo prawdopodobne, że w pewnym momencie zajdzie potrzeba wprowadzenia zmiany, która nie jest kompatybilna wstecz. Jeśli nasz system składa się np. z 20 usług to musimy mieć mechanizm, który zagwarantuje nam, że nie wprowadzimy zm...
Programowanie rozproszone 3511 dni, 17 godzin, 24 minuty temu 211 źrodło rozwiń
NavigationStrona głównaO MniePrelekcjeGutek30th April, 2015pro , asp.net vnext, docker, windows Chcielibyście móc przetestować własną aplikację ASP.NET 5 na linuxie będąc na windowsie? Nic prawie prostszego :) Jednak zanim to będzie możliwe potrzebne jest zainstalowanie Dockera. By tego dokonać możecie zrobić przejść przez kroki tutaj lub przeczytać niżej jak ja to zrobiłem. Najpierw trzeba zainstalować Boot2Docker (link do instalki), z tego względu, że docker nie działa na razie na Windowsach, wymaga...
Tego się nie spodziewałem, ale… MS wypuściłem całkiem ładny edytor tekstu ze wsparciem intellisense i debug który działa na wszystkich platformach! Co prawda wykorzystuje on OmniShartp i do tego Electron ale, ok jest spoko, wygląda trochę jak Atom czy Sublime (ma nawet podobne jak nie te same skróty), do tego ma wsparcie dla GIT i pewnie w przyszłości dla rozszerzeń (głosować! ;)). Już teraz można pobrać jego previ...
Kestrel to serwer webowy umożliwiający hostowanie aplikacji .NET na różnych środowiskach w tym Linux i Mac._ Pamiętacie komendy z poprzedniego postu? Jeżeli chcemy hostować aplikację webową (której jeszcze nie mamy i pewnie w tym poście też jej mieć nie będziemy ;)) na wszystkich możliwych platformach to musimy lekko zmodyfikować nasz projekt dodając odpowiednie zależności i tworząc nową komendę. Komenda ta będzie p...
Architektura 3514 dni, 8 godzin, 4 minuty temu 95 źrodło rozwiń
W ASP.NET w końcu !!! w końcu !!! nie ma pliku csproj! Czy tam vbproj czy nawet SLN… Ja! :) no fajnie nie? :) Teraz wszystko działa wokół project.json file, który jest definicją naszego projektu jak i! definicją paczki nuget. Czyli jak się domyślacie referencje teraz pomiędzy projektami to referencje za pomocą paczek nuget…
Architektura 3514 dni, 8 godzin, 4 minuty temu 148 źrodło rozwiń
Dobra build trwa, ale i pewne rzeczy zostały już jakoś „ustabilizowane”, może warto o kilka prostych informacji co i jak :) Skarbnicą wiedzy teraz jest repozytorium Home ASPNET na Github. Tutaj znajdziecie informacje jak zainstalować DNVM (.NET Version Manager) na różnych platformach i jakie ekstra kroki są wymagane w zależności od środowiska (Linux, na macu za bardzo nie ma).
Architektura 3514 dni, 8 godzin, 4 minuty temu 102 źrodło rozwiń
Enum jest bardzo pożyteczną konstrukcją, której używam praktycznie w każdym, nawet najmniejszym projekcie. Enumeracja ma praktycznie same zalety - przede wszystkim pozwala na definiowanie stałych wartości, które później można łatwo użyć w dowolnym miejscu w naszym kodzie. Jak na razie wszystko jest jasne i oczywiste. Mniej znaną właściwością enumów jest praca w trybie flagi, dzięki czemu enumeracja dostaje dodatkowego kopa;-) Przykład umieszczony w dalszej części tekstu pokaże jakie może to przynieść kor...
Sztuka programowania 3517 dni, 9 godzin, 35 minut temu 382 źrodło rozwiń
Dzisiaj ostatnia warstwa modelu, która zdecydowanie często jest pomijana w implementacjach REST. Moim zdaniem, w przypadku publicznych API jest bardzo ważna, szczególnie w środowisku mikro-serwisów, gdzie nawigacja jest utrudniona ze względu na liczbę usług. HATEOAS to skrót od Hypertext As The Engine Of Application State. Mechanizm dostarcza możliwość nawigacji przez zasoby bez wiedzy o konkretnych adresach URL. Załóżmy, że mamy bazę klientów w systemie i możemy w niej:Wylistować listę klientów.Zwróci...
Specflow fajny jest, piszemy scenariusze czytelne dla ludzi a pod spodem szaleje xunit i sprawdza. Jest tylko jedne problem, aktualnie specflow.xunit instaluje xunit 2.0 a do pliku .feature.cs generuje kod...
W dwóch postach poruszałem już temat dokumentacji usług REST. Ręczne tworzenie plików JSON dla swagger jest dosyć czasochłonne i łatwo potem zapomnieć przy jakiś modyfikacjach o aktualizacji dokumentacji. Dla ASP.NET MVC WebAPI na szczęście jest Swashbuckle.
Wiadomo, że każdy projekcie są testy. W części z nich są testy jednostkowe, w innych są testy integracyjne, w innych testy programistyczne - programista klika i jak działa to działa, a w jeszcze innych test na produkcji u klienta razem z milionami użytkowników. Generalnie każdy jakieś test ma. Wiadomo jak jest w projektach komercyjnych, klient chce aplikację działająca, wykonaną z najnowszymi i najlepszymi technikami, najlepiej napisaną przez juniorów, bez testerów i PM...
Sztuka programowania 3524 dni, 18 godzin, 21 minut temu 284 źrodło rozwiń
Martin Fowler, kilka lat temu pisał o tzw. Richardson maturity model, którego autorem jest tak naprawdę Leonard Richardson. Groźnie brzmiąca nazwa, jak zwykle nie opisuje nic bardzo skomplikowanego. Nie mniej jednak, model ten doskonale opisuje założenia usług RESTful. W zasadzie nie ma framework’ów, które wymuszałyby poprawną implementację REST, stąd niezbędne jest zrozumienie jakie są założenia tych usług. Programiści zbyt często luźno interpretują pojęcie REST. Moim zdaniem, w momencie, gdy REST wchod...
Programowanie rozproszone 3525 dni, 19 godzin, 24 minuty temu 530 źrodło rozwiń
Sporo w ostatnim czasie pisałem o wzorcach projektowych. Starałem się w miarę dokładnie zgłębić ten temat i po stworzeniu kilku tekstów z tego cyklu, naszło mnie na małą refleksję - wzorce projektowe są nierozerwalnie związane z polimorfizmem. Jeśli spojrzymy na poszczególne przypadki (zwłaszcza te z grupy konstrukcyjnych wzorców projektowych), to szybko przekonamy się, że elementem spójnym jest wspólny interfejs. Pojawia się on naprawdę w wielu wzorcach.
Sztuka programowania 3528 dni, 1 godzinę, 19 minut temu 529 źrodło rozwiń
Jakiś czas temu, pisałem o Swagger, jako sposobie na dokumentacje REST API. Dzisiaj chciałbym pokazać kolejny mechanizm na generowanie dokumentacji, tym razem napisany przez Microsoft i dostępny od razu w ASP.NET. Od kilku lat jest on już dostępny bez żadnych dodatkowych instalacji. Jeśli uruchomimy przykładową aplikację WebAPI, zobaczymy w prawym górnym rogu link do API:
Sztuka programowania 3530 dni, 19 godzin, 22 minuty temu 206 źrodło rozwiń