Ostatnimi czasy w jednym z projektów pociągnąłem sobie aktualizacje bibliotek przez Nuget'a. A że byłem leniwy to pociągnąłem je jak leci, nie patrząc co aktualizuje o change logu poszczególnych bibliotek nie mówiąc. Nie róbcie tego w domu! Jedną z aktualizacji była nowa wersja mechanizmu ASP.Net Identity...
Dołączę do grona piszących o nowościach w C# 6. Jedną z nich jest słowo kluczowe „nameof”. Po zainstalowania Visual Studio 2015 (do czego gorąco zachęcam) będzie można je sprawdzić w praktyce. Nameof zwraca w postaci stringa nazwę argumentu, który przekazujemy do metody nameof. Na początek praktyczny przykład zastosowania tego słówka kluczowego w WPF-ie. Podczas bindowania właściwości z zastosowaniem interfejsu INotifyPropertyChanged musimy...
Sztuka programowania 3747 dni, 18 godzin, 47 minut temu 592 źrodło rozwiń
Dzisiaj przekraczamy kolejne granice: poruszamy temat “miękki”! Rozmawiam z Rafałem Barszczewskim, a tematem naszych wywodów jest prowadzenie zespołu programistycznego – bycie team leaderem. Rafał od wielu lat pełni taką rolę w pracy zawodowej. Doświadczeniami i refleksjami dzieli się między innymi na swoim blogu. Mówimy między innymi o motywowaniu programistów, jak i ich krytykowaniu. O tym, jak zespół może podnosić swoje kompetencj...
I w ten właśnie sposób szykuje się pierwszy w historii bloga zgrany cykl postów :-) Ostatnio pomyślałem sobie, że fajnie by było, oprócz aplikacji internetowej, zrobić też aplikację mobilną. A jak już robić aplikację mobilną to na 3 najpopularniejsze systemy.
Sztuka programowania 3747 dni, 18 godzin, 47 minut temu 188 źrodło rozwiń
Akka.NET is a .NET port of famous actor model programming framework Akka, well known for the JVM community. This blog post discuss how in few lines of code we can distribute our computations by deploying actors on the remote machines. And all of that using F# functional API.
Programowanie rozproszone 3747 dni, 18 godzin, 47 minut temu 101 źrodło rozwiń
W ostatnim czasie otworzyłem mały cykl wpisów na temat Universal Apps, ponieważ jest to obecnie dość bliski mi zawodowo temat. Sama koncepcja tego rozwiązania, wydaje się być odważna, ale wygląda jednak na to, że ktoś to w Microsofcie całkiem sprytnie to przemyślał. Oczywiście kilka elementów jeszcze tutaj kuleje, ale w tej chwili projekty Universal Apps przypominają trochę tworzenie stron responsywnych. Mamy jednolity backend i tak naprawdę zmienia się głównie frontend (XAML), choć w tym akurat przypadk...
Sztuka programowania 3747 dni, 18 godzin, 47 minut temu 106 źrodło rozwiń
Do eksportu danych jest masa pluginów, i jak coś macie to trzymajcie się tego :) ja nie miałem, płacić za wersję 2012 nie chciałem a i też nie miałbym możliwości jak tego zainstalować na serwerze :) Więc musiałem znaleźć inny sposób. I co mnie zaskoczyło sposób był pod ręką cały czas, ale trzeba było o nim „wiedzieć” (opcja na pewno istnieje od SSMS 2008) :)...
Bazy danych i XML 3747 dni, 18 godzin, 47 minut temu 264 źrodło rozwiń
Kolekcje z System.Collections.Generic są wszystkim dobrze znane. Czasami jednak zachodzi potrzeba skorzystania z typów immutable. Ogólnie o tych obiektach pisałem tutaj. Szczególnie w środowisku wielowątkowym są one przydatne. Jak można przeczytać we wspomnianym poście, obiekty takie nigdy nie mogą zostać zmienione a modyfikowanie stanu polega na tworzeniu nowej instancji. Ktoś mógłby zasugerować, że mamy w końcu ReadOnlyCollection. Niestety, interfejs uniemożliwia modyfikacje tej kolekcji wyłącznie ...
C#, Narzędzia progamistyczne.NET Często podczas pracy firmach finansowych przychodzi czas na typowe zadanie zamiany liczby z postaci cyfrowej na postać liczbową w języku polskim. Szukałem w internecie gotowej implementacji takiego algorytmu, sprawdzonego i przetestowanego z otwartymi kodami i… okazało się, że nic nie znalazłem do C#. Nie było nigdzie implementacji takiego konwertera w .NET dlatego poniżej zrobiłem własną implementację. Poniżej warunki t...
W poprzednim wpisie obiecywałem, porównać wydajność kolekcji immutable z klasycznymi typami z System.Collections.Generic. W dzisiejszym benchmarku, porównamy zarówno zużycie pamięci, jak i czas potrzebny na dodanie węzłów. Zacznijmy od klasycznych (zmiennych) typów:var list =new List
Just as natural pearls grow from grains of sand that have irritated oysters, these programming pearls have grown from real problems that have irritated real programmers. I just finished reading Jon Bentley’s book: Programming Pearls. I read this book after Scott Hanselman’s and Jeff Atwood’s recommendations. The problems analyzed in this book are still actual. However, I think that today programmers face slightly different challenges...
Sztuka programowania 3750 dni, 5 godzin, 38 minut temu 135 źrodło rozwiń
Dużo w ostatnim czasie piszę o aplikacjach uniwersalnych, a wcześniej również sporo było tekstów o WPF. Co łączy oba tematy? Oprócz XAMLa który pojawia się w obu tych technologiach, pewnym dość istotnym łącznikiem jest wzorzec architektoniczny MVVM. MVVM pozwala na rozbicie logiki naszej aplikacji na pewne określone elementy. Mamy widoki, modele oraz tajemniczy element ViewModel. ViewModel to klasa, która zawiera uporządkowane i wypełnione danymi klasy modelu, pasujące do pewnego określonego widoku. Inny...
Sztuka programowania 3752 dni, 19 godzin, 5 minut temu 514 źrodło rozwiń
Czasami pisząc aplikację claims-aware musimy zaktualizować dane, które są przechowywane w Claims. Takich przypadków może być wiele, na przykład użytkownik zaktualizował imię czy też nazwisko, a może adres. Jeżeli nie zaktualizujemy Claims a polegamy na nich to przy odwołaniu się do wartości danego claim otrzymamy błędne informacje – stare. Może to prowadzić do pewnych komplikacji ...
Sztuka programowania 3755 dni, 18 godzin, 17 minut temu 164 źrodło rozwiń
The article describes a simple solution to log client side JavaScript errors together with back-end exceptions. No additional library is needed, although ELMAH is handy at this point
VS 2015 usprawnił, moim zdaniem znaczącą sposób analizy kodu. Sam sposób podpowiedzi również został poprawiony i coraz bliżej im do Resharper, a w pewnych sprawach, jak zobaczymy, daje potencjalnie większe możliwości. Zacznijmy od przykładu pokazanego w prezentacji VS 2015. Załóżmy, że chcemy zaimplementować interfejs ISerializable:class Sample :ISerializable { } Jeśli tylko namespace zawierający ISerializable nie został dołączony, naciskamy ctrl+. i wyświetli się następujące menu: Nowością jest ...
Ten post jest pierwszym z cyklu poświęconego architekturze systemów informatycznych. Zaczynamy od wyjaśnienia pojęć logiki biznesowej i logiki aplikacji na przykładzie małej aplikacji ASP.NET MVC. Więcej na temat MVC w kolejnym artykule. Już teraz zapraszam. Uczestnicząc w dyskusjach zarówno w życiu zawodowym jak i wirtualnym spotykam się z myleniem wymienionych w tytule artykułu pojęć, bądź używaniem ich zamiennie...
Architektura 3757 dni, 12 godzin, 17 minut temu 886 źrodło rozwiń
Czwarty odcinek to badanie nowych gruntów: wyjście poza .NET! Moim gościem jest Sławomir Sobótka: założyciel firmy Bottega IT Solutions, trener, blogger, architekt. Wywodzi się ze środowiska Javy i można go spotkać na bardzo wielu konferencjach i grupach związanych z tą właśnie technologią. Rozprawiamy o Domain Driven Design, a Sławek jest jednym z najbardziej rozpoznawalnych polskich ekspertów w tym obszarze. Podczas rozmowy opowiada nam jakie korzyś...
Aplikacja której tworzenie omówię to: Agile Playing Poker. Proste narzędzie do szacowania czasu realizacji w projektach prowadzonych metodyką Agile. W ramach bloga opiszę tworzenie jej na iPhone. Wersji na Androida będzie przedmiotem warsztatów w ramach spotkań Warsaw Official .NET User Group i na stronie Meetup będą podane szczegóły.Zmiana sposobu myślenia… Pisanie aplikacji na iOS wymaga zrozumienia działania tego systemu. Dlatego tez na początku podzielę się swoimi spostrzeżeniami dotyczącymi systemu...
Mobile development 3758 dni, 18 godzin, 5 minut temu 151 źrodło rozwiń
Jedną z rzeczy, które zostały mi po niedawno ukończonych studiach jest moja praca dyplomowa, którą chętnie się podzielę: Jakość a XP. Zapraszam do lektury – komentarze mile widziane! Uwaga: byłem zmuszony zmieścić się z tematem w maksymalnie 32 stronach.