Rest API is cool but what will you going to say about making is also fully asynchronous with async and await keywords? I invite you to read.
Często spotykam następujące konstrukcje:class RiskInfo { publicint Condition{get;set;} publicdouble Score{get;set;} } Innymi słowy, kontener na kilka prostych zmiennych. Jeśli ktoś nie zna zasady działania Garbage Collector, gorąco zachęcam do przeczytania np. mojego cyklu artykułów o GC. Usunięcie obiektu z pamięci to nie prosta sprawa i naprawdę wiele musi zostać wykonanych operacji w tle. Z tego względu, jeśli klasa jest mała i posiada wiele instancji, wtedy dużo lepiej skonwertować ją do s...
Sztuka programowania 4070 dni, 3 godziny, 14 minut temu 235 źrodło rozwiń
W FP bardzo cenimy sobie rozwój, jednym z dobrych sposobów zdobywania wiedzy jest uczestniczenie we wszelkiego rodzaju konferencjach i eventach. Jak co roku, kilka osób wybrało się na kolejną edycję konferencji GeeCon, tym razem do Krakowa, w celu poszerzania horyzontów w Javovym świecie. Zapraszam na relację z konferencji opracowaną przez Zespół w składzie: Marcin Kania, Grzegorz Masłowski, Paweł Rychlik.
A to niespodzianka…serwery w chmurze czasu nie liczą – czyżby były tak szczęśliwe? Wracając do meritum sprawy…jeżeli macie kilka…dziesiąt serwerów w Azure, które robią coś razem zauważycie mały problem… niezgodność czasu. W przypadku serwerów jakie mamy w projekcie PlaceChallenge, to było od 2 do 47 sekund – powiedziałbym, że dość dużo. Po rozmowie z miłym Panem z Indii wiadomo co jest problemem… problem to Hyper-V, który hostuję te maszyny. Hyper-V (wirtualizator) ma problem z odpowiednim synchro...
Architektura 4070 dni, 3 godziny, 14 minut temu 127 źrodło rozwiń
Visual Studio 2012 ma wsparcie dla nUnit. Wcześniej wspierał oficjalnie wyłącznie własne testy jednostkowe. Należy jednak najpierw zainstalować adapter. Wystarczy przejść do Tools –> Extensions and Updates –> Online –> Visual Studio Gallery –> Tools –> Testing i wybrać NUnit Test adapter: Po instalacji do dyspozycji mamy Test Explorer (VS): Najciekawszą chyba częścią jest możliwość sprawdzenia pokrycia kodu przez testy: Klikając na którąś z pozycji zostaniemy przekierowani bezpośrednio do kodu. ...
Problem wraca jak bumerang, więc to czas by to opisać – Azure generuje dużo wykresów, dużo danych i w sumie dla normalnego człowieka niewiele z tego wiadomo kiedy finalnie pokaże się jakaś kwota do zapłacenia. Bo jak to płacić? Ale za co? Czego ile i kiedy zużyłem? Na te pytania wykresy odpowiadają średnio… Zacznijmy od podstaw, logujemy się do panelu zarządzania usługą Windows Azure – link tutaj. Po zalogowaniu z belki górnej wybieramy View my bill Następnie wybieramy aktywną subskryp...
W tej części omówię jak wykonać kilka prostych technik, tj. jak:zgrupować testy za pomocą atrybutu [TestCase],testować wyjątki,testować zdarzenia. Na tapetę idzie przykład dzielenia; chcemy napisać funkcjonalność i testy mając na uwadze, że:metoda Divide należy do klasy Calculator,metoda Divide przyjmuje dwa parametry wejściowe — obydwa typu int; zwracanym ...
Sztuka programowania 4071 dni, 4 godziny, 12 minut temu 164 źrodło rozwiń
Wczoraj był dniem kiedy miałem nadzieje, w końcu zakończyć kodowanie jednego z wrapperów na Azure SDK, który miał zarządzać usługami, które aktualnie buduje. Mam taki dziwny zwyczaj, że jak zastępuje czyjś kod (tu: Microsoft) to sprawdzam najpierw jak podeszli do tematu by nie powtórzyć czegoś co mi się nie podobało w poprzedniej implementacji lub/i nauczyć się czegoś ciekawego by dołączyć to do mojej nowej implementacji. Tak też było i tym razem: znajduję w kodzie jednej z bibliotek taki oto kod:Thread...
Architektura 4071 dni, 4 godziny, 12 minut temu 162 źrodło rozwiń
Klasa jest typu referencyjnego i pozwala na przechowanietaich typów jak: konstruktory, destruktory, stałe, pola, metody, właściwości, indeksatory, operatory, zdarzenia, obiekty delegowane, klasy, interfejsy, struktury. Definicję klasy zapisujemy za pomocą słowa kluczowego class:class Program { }Klasy posiadają dwa rodzaje modyfikatorów dostępu: public - klasy dostępne są w całym naszym projekcie oraz innych projektach, do ktorych dodamy referencjeinternal - klasa jest dostępna jedynie w ramach jedn...
Opublikowano Moje eksperymenty z malinką i termometrami muszą na razie poczekać na lepsze czasy. W między czasie jednak sporo się dzieje dookoła zatem: Zarezerwuj sobie 12 października bo wtedy odbędzie się konferencja dotnetconf. Jak nazwa wskazuje będzie o dotnecie a występować będą : Maciej Aniserowicz, Maciej Grabek, Tomasz Janczuk, Jakub Gutkowski, Mirosław Pragłowski i Łukasz Gąsior czyli obsada bardzo zacna. Tematyka również niczego sobie, zobaczymy jak to wyjdzie bo konferencja odbędzie się pi...
Potrzebowałem funkcję do konwertowania długości pliku w bajtach na zjadliwą dla użytkownika formę. Zgodnie z tdd najpierw należy napisać test: [Test] [Row(1, "1 B")] [Row(1024, "1 KB")] [Row(2000, "1,95 KB")] [Row(1048576, "1 MB")] [Row(1537500, "1,47 MB")] [Row(5242880, "5 MB")] [Row(1073741824, "1 GB")] public void ToFileSize_Tests(int value, string expected) { var fileSize = value.ToFileSize(); Assert.AreEqual(expected, fileSize); } a potem wygooglować odpow...
Sztuka programowania 4072 dni, 15 godzin, 54 minuty temu 104 źrodło rozwiń
Nie jest tajemnicą, że dużo i dużych serwisów ma specjalne tagi po stronie klienta i serwera, które sprawdzają z jaką przeglądarką mają do czynienia zanim zaczną obrabiać HTML/CSS/JS. To aspekt historyczny, który w dużej mierze zakładał, że każda przeglądarka inaczej rozumie te elementy (HTML/CSS/JS) przez co potrzeba osobnych plików – a w rzeczywistości rozdzielał użytkowników Chrome/Opery/Firefoxa i Safarii od Internet Explorera, który w teorii wszystko wspierał najgorzej, inaczej i dla niego należało ...
Załóżmy, że w kodzie zobaczymy enum’a np.:publicenum Colors { Black, Red, Yellow }; Jeśli budujemy framework lub jakąkolwiek bibliotekę należy być świadomym zagrożeń wynikających z wewnętrznej budowy enum’a. Warto zajrzeć do Reflector’a aby przekonać się o tym:.classpublic auto ansi sealed Colors extends [mscorlib]System.Enum { .field publicstatic literal valuetype ConsoleApplication1.Colors Black = int32(0) .field publicstatic literal valuetype ConsoleApplication1.Colors Red = i...
Sztuka programowania 4074 dni, 9 godzin, 45 minut temu 252 źrodło rozwiń
XAdES to najbardziej popularny format podpisu elektronicznego w Polsce. Występuje on w kilku odmianach: zwykły, ze stemplem czasowym, dodatkowymi informacjami itd. Czasami zachodzi potrzeba zweryfikowania podpisu elektronicznego w .NET. Jakiś czas temu miałem podobny problem. Pokopałem trochę w Google i w MSDN i znalazłem w .NET Framework ciekawą klasę SignedXml...
Sztuka programowania 4076 dni, 5 godzin, 57 minut temu 1398 źrodło rozwiń
W ostatnim wpisie przedstawiłem aspekt do obsługi wyjątków. Dzisiaj trochę więcej o samych aspektach dla metod. Oprócz wyświetlenia nazwy metody czy przekazanych parametrów można wyciągnąć trochę więcej informacji. Dla przypomnienia, parametry można wyświetlać następująco:publicoverridevoid OnEntry(MethodExecutionArgs args) { var argValues =new StringBuilder(); foreach (var argument in args.Arguments) { argValues.Append(argument.ToString()).Append(","); } Console.WriteLin...
Sztuka programowania 4076 dni, 5 godzin, 57 minut temu 103 źrodło rozwiń
Jakiś czas już się tutaj nie odzywałem, w tym poście sprzed trzech miesięcy wspominałem nawet dlaczego (od tego czasu udało się napisać jeszcze tylko dwa wpisy...). Wszystko to za sprawą tytułowego RSS readera, nad którym pracowałem w pocie czoła.... a którego pomysł zrodził się, jak pewnie się domyślacie za sprawą zamknięcia przez google swojego readera. Z jednej strony niby zewsząd słychać glosy, że format RSS się kończy bla, bla, bla... Ja jednak bez readera nie mogę się obejść - od przeglądania najno...
If you were asked to mention new features of C# 5.0, then you would probably say, first of all, async / await. However, on MSDN there is list of changes that could hardly be considered as well-known, even after almost 1 year after .NET 4.5 RTM was published. In this post I briefly explain one of them, that in my opinion is worth remembering.
Sztuka programowania 4078 dni, 16 godzin, 42 minuty temu 181 źrodło rozwiń
In my previous post I wrote about first steps in creating Rest-full API by using ApiController. Now it`s time to make next step and go a little bit dipper inside web services created in MVC. In this post I want to describe two very important aspect:creating a real life scenario for web service implementation of POCO entityextend presented scenario and make it asynchronous To complete this tutorial one more class is needed. This class is a simple fake of some database which is wrapper around a very few c...