C#

Caching w Azure Function – czyli jak podpiąć Redis’a

Pewnie już wiecie, ale tak w ramach przypomnienia… Microsoft przygotował niewielki zestaw bardzo przydatnych komponentów, które pozwalają na zintegrowanie naszej funkcji z następującymi usługami: Azure Storage, Azure Event Hubs, Azure Service Bus, Azure Mobile Apps, Azure Cosmos DB, Azure Notification Hubs, Twilio, SendGrid. Lista ta pozwala na zaspokojenie różnorakich scenariuszy. Ale jak zawsze chcielibyśmy coś więcej. Dzisiaj chciałbym Wam pokazać jak w bardzo łatwy sposób można dodać cache do naszej funkcji. W przykładzie zostanie wykorzystany Redis. Pewnie zastanawiacie się po co? Niejednokrotnie mówiłem, że funkcje powinny być atomowe, bezstanowe, szybkie, … Rzeczywistość nie zawsze jest taka różowa. Czasami musimy coś [...]

By |2019-05-12T16:03:45+02:002 października 2017 |.net, Azure Functions, C#|0 komentarzy

Azure Functions – Lessons learned

Ostatnio wszystkie tematy związane z Chmurą oraz pojęciem Serverless stały się bardzo modne. Jednym z takich elementów są Azure Functions. Na stronie Microsoftu można przeczytać, że: Azure Functions to rozwiązanie umożliwiające łatwe uruchamianie małych fragmentów kodu („funkcji”) w chmurze. Możesz napisać tylko kod rozwiązujący aktualny problem, nie martwiąc się o całą aplikację ani infrastrukturę do jej uruchomienia. Dzięki usłudze Functions programowanie może być jeszcze wydajniejsze i można korzystać z wybranego języka programowania, takiego jak C#, F#, Node.js, Python lub PHP. Płać tylko za czas działania kodu — platforma Azure jest skalowana zgodnie z potrzebami. Usługa Azure Functions pozwala tworzyć na [...]

By |2019-05-12T16:06:50+02:006 czerwca 2017 |.net, Azure Functions, C#|0 komentarzy

Pakiet Moq.EntityFramework.Helpers

Na blogu pojawiły się ostatnio dwa wpisy pokazujące w jaki sposób mnożna zamockować DbSet<TEntity> wykorzystując Moq: wywołania synchroniczne – Mockowanie typów DbContext oraz DbSet z wykorzystaniem Moq wywołania asynchroniczne – EntityFramework – testowanie zapytań asynchonicznych Opisane rozwiązania połączyłem w jednej bibliotece i opublikowałem jako pakiet NuGet – Moq.EntityFramework.Helpers. […]

Lightning talk – Autofixture

Zachęcam do pobrania i przejrzenia prezentacji z mojego lightning talka dotyczącego biblioteki AutoFixture. Zadaniem tej biblioteki jest ograniczenie części Arrange, a tym samym kosztów utrzymania kodu w testach jednostkowych poprzez ułatwienie nam tworzenia obiektów. Prezentację można ściągnąć z GitHuba – AutoFixture - Lightning talk. Prezentacja przedstawia przykłady użycia wspominanej biblioteki oraz zawiera porównanie AutoFixture do innych bibliotek dostarczających podobną funkcjonalność. Oczywiście na GitHubie znajduje się również kod z przykładami.

dynamic – Code review

Microsoft z każdą wersją wprowadza pewne nowe elementy do języka, które teoretycznie powinny poprawić możliwości języka, jak komfort pracy programisty. Od wersji .net 4.0 wprowadzono nowy typ – [mark]dynamic[/mark]. Jego użycie pozwala na wykonanie czynności, które będą dopiero znane w momencie wykonania aplikacji. W dużym skrócie oznacza to, że kompilator pozwoli na wywołanie dowolnej akcji na obiekcie bez zgłoszenia błędu. Kod zostanie bez problemu skompilowany, nawet, jeśli nie istnieje metoda do której się odwołujemy. Błąd wystąpi dopiero w momencie wykonania kodu, jeśli nie będzie tej metody. […]

By |2013-05-14T12:48:34+02:0014 maja 2013 |C#|5 komentarzy

Przydatne konwertery

Konwertery – krótkie klasy i jednocześnie bardzo przydatne elementy, bez których bindowanie niektórych wartości w XAMLu byłoby bardzo kłopotliwe. Mają one zastosowanie w projektach typu Winodws Phone, Silverlight oraz WPF. Praktycznie w większości tego typu projektów mnożna od razu przekleić te najważniejsze. Dla mnie są to: [list] string / Uri -> BitmapImage bool -> Visibility Color -> SolidColorBrush String + StringFormat [/list] W dalszej części wiadomości znajdziecie ich implementację… […]

By |2013-06-10T13:45:32+02:007 maja 2013 |C#, Windows Phone, WPF|0 komentarzy

Ach ta rekurencja…

Jakiś czas temu straciłem dwa dni na znalezienie prostego błędu. Został on popełniony całkowicie nieświadomie. Zresztą jak większość błędów. Zachowanie aplikacji było całkiem nietypowe – po otworzeniu program się po prostu zamykał. Pewnie zadajecie sobie pytanie, co w tym nietypowego. Otóż po podpięciu debuggera pod aplikację nie otrzymywaliśmy ani jednej wskazówki, co może być nie tak. Aplikacja po prostu zamykała się, a debugger zostawał odpinany od programu. […]

By |2012-12-03T07:50:32+01:003 grudnia 2012 |C#, Windows Phone|2 komentarze

lock (this) – za i przeciw

Ostatnio przeglądając kod udało mi się znaleźć następujący fragment: lock (this) { // Do something } Do zsynchronizowania dostępu do współdzielonego zasobu używany jest obiekt, w którym występuje ten fragment kodu. Teoretycznie fragment ten jest poprawny. Co więcej w programie nie wystąpił żaden problem z zakleszczeniem. […]

By |2013-06-10T13:25:05+02:0013 stycznia 2012 |C#|11 komentarzy

Windows Phone Fast Application Switching

Wraz z pojawieniem się nowej wersji Windows Phone – Mango zmienił się model zarządzania programami. Do tej pory istniały tylko cztery stany w których mogła znajdować się aplikacja. W momencie ponownego uruchamiania aplikacji programiści musieli za każdym razem zadbać, aby wszystkie dane zostały ponownie wczytane. Miało to na celu zapewnienie dużej wydajności telefonu oraz jego długiego czasu działania. Idea była i nadal jest bardzo słuszna, ale została lekko zmodyfikowana. […]

By |2012-06-18T13:03:01+02:0013 grudnia 2011 |C#, Windows Phone|0 komentarzy

Hybrydowa aplikacja WPF z parametrami

Hmmmmm…… Co to jest hybrydowa aplikacja WPF? Próbowałem znaleźć jakieś inne określenie na ten problem, ale niestety to wydaje się najtrafniejsze. Pojęciem aplikacja hybrydowa WPF będę nazywał aplikację, które działa i prezentuje wyniki działania w konsoli, jak również we własnym oknie. Dodatkowo aplikacja powinna wspierać przekazywanie parametrów w trakcie startu. […]

By |2013-06-10T13:26:35+02:008 grudnia 2011 |C#, WPF|12 komentarzy