Kilka dni temu minęło pół roku odkąd zmieniłem pracę. Swego czasu popełniłem tekst na ten temat, w którym szerzej opisywałem powody mojej decyzji. Z perspektywy czasu wciąż jestem zdania, że była to dobra decyzja i właściwy moment. Praca w Insysie przynosi mi sporo satysfakcji. Mam też okazję by nauczyć się czegoś nowego i podszkolić się w wielu różnych obszarach. Można więc powiedzieć, że mi się udało, ale nie zawsze jest tak kolorowo...
Only two weeks and in Wrocław will happen the greatest event ever! One week full of meetings with technology. And everything started at end of November.. The original idea come from Kraków, where I’ve spoke at second edition of this event. And I thought, that in Wrocław also meet a lot of user groups. But did anyone count them? Probably not. But I can. Of course not alone So I share my idea of GeekWeekWro with Mirek who co-organize three user groups: wroc.net, DDD and DRUG. I co-organize Women...
I am happy and proud to be a part of a wonderful team at the moment which was formed in only couple of months. I wanted to share some ideas and practices which made us more happy as developers. I came up with this recipe:Ingredients:6 motivated and knowledgeable developersinteresting projectone room
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...
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 ...
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
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ś...
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.
Jak wiemy Microsoft powołał projekt udostępnienia kodu źródłowego .NET-a. O czym można poczytać na tym blogu .NET. Są tam opisane szczegóły dotyczące motywów działania, jak i planów na przyszłość, które są obiecujące. Zachęcam do przeglądania tego udostępnionego kodu i nauki programowania poprzez podpatrywanie rozwiązań stosowanych przez kolegów z zespołu tworzącego .NET. Osobiście od jakiegoś czasu używam poniższych stron do badan...
Wszyscy chyba wiemy co stało się po ostatnich wyborach samorządowych. Jak to program Kalkulator1 robi furorę w internecie, jak to kilka dni po głosowaniu nie znamy ich wyników, i tak dalej. Jeśli nie wiesz to kilka linków: Niebezpiecznik: Problemy w PKW. Zliczanie głosów wyborców się opóźnia – zawiódł system informatycznyNiebezpiecznik: Cały świat ogląda i komentuje kod źródłowy obsługujący polskie wyboryNaTemat: Kto...
Po omówieniu kolejek, dziś opiszę pracę z topikami i subskrypcjami w usłudze Microsoft Azure Service Bus. Tak jak poprzednio, w prezentowanych przykładach wiadomość przesyłana pomiędzy nadawcą i odbiorcą będzie zawierała obiekt zamówienia...
Before Web Jobs The convenient way of hosting websites on Azure is to host them as a PaaS (Platform as a Service) way. Then, there is no need to worry about details of virtual machines or application managements and OS updates as ‘someone’ is taking care of that for us. Current Azure compute instances can be divided into three main categories:Web Role – front-end/web server instancesWorker Role – back-end/.Net application instancesVW Role – virtual machine instances The first two are supplied with VHD ...
Dziś ważny dzień nie tylko z uwagi na nowy build Windows 10. Dziś pojawiły się premiery wskazujące na obrany w sumie już wcześniej od VS 2013 Update 2 kierunek lepszego wspierania konkurencyjnych do Windows systemów w aplikacjach klienckich i serwerowych. Ukoronowaniem tego jest choćby emulator dla Android w Visual Studio 2015 (nie wspominając o tym, że niedawno zostały wydane darmowe aplikacje Office na Android i iOS, a opaska Band wspiera wszystkie systemy mobilne). Może faktycznie jak trudno jest pok...
Dzisiaj znów kilka drobnych nowości z C# 6.0 Pierwsza z nich to możliwość połączenia using z klasami statycznymi, których sposób użycia przypomina trochę przestrzenie nazw. Zaprezentuję to na przykładzie klasy Console. Posiada ona kilka statycznych metod m.in. WriteLine:Console.WriteLine("Hello World!"); W nowej wersji, będziemy mogli dołączyć każdą klasę statyczną, tak jak zwykłą przestrzeń nazw:using System.Console; namespace ConsoleApplication2 { class Program { staticvoid Main(s...
NavigationStrona głównaO MniePrelekcjeGutek6th November, 2014pro , c#, json.net, reflections Pisząc jeden system, doszliśmy do wniosku w firmie, że trzeba zrobić testy integracyjne. Wiemy, że poszczególne części systemu same w sobie działają tak jak chcemy, albo dokładniej tak jak myślimy, że mają działać :) Część systemu, którą chcieliśmy przetestować była odpowiedzialna za słanie wiadomości poprzez szynę, jej odbiór, następnie odpowiedni processing uzależniony od danych wejściowych i tych w bazie dan...
Recently Microsoft Azure introduced the New D-Series Virtual Machine Sizes. The “greatest” available VM has 16 cores, and 112 GB RAM. I thought it would be cool to create one, and play with it for a while. Not for a month, because that would cost almost $1000 (~700-800 EURO). However, what is cool about Azure – you can scale VM down when you are not using it. Even to the cheapest option – A0 Basic (~10 EURO / ...
W poprzednim temacie opisałem czym jest Azure Service Bus oraz jak rozpocząć korzystanie z tej usługi. Dziś zajmę się tematem kolejek (Queues). Pokażę w jaki sposób zarządzać kolejkami z poziomu kodu oraz jak oprogramować wysyłanie i odbieranie wiadomości. W prezentowanych przykładach wiadomość przesyłana pomiędzy nadawcą i odbiorcą będzie zawierała obiekt zamówienia: public class Order { public...
DevTalk #01 za nami. Kurtyna opadła, emocje zwiędły, każdy żuczek toczy swoją kulkę życia dalej… Tak? NIE! Wcale nie! Nic nie opadło, nic nie zwiędło! Wręcz przeciwnie: emocje są nadal, nabuzowanie nie ustąpiło! Bo wiecie co? Nie spodziewałem się hiszpańskiej inkwizycji! Feedback po pierwszym odcinku był tak miażdżąco zajebisty, że po prostu szok. Daliście mi ogromnego powera, dzięki wielkie! Żeby lekko zarysować rozmiar sukcesu: na sam...
Dzisiaj kolejna nowa funkcjonalność w c#. Zacznijmy od przykładu:publicclass Point { publicdouble Dist => Math.Sqrt(X * X + Y * Y); publicdouble X; publicdouble Y; } X oraz Y to zwykłe pola (tak nie powinno się ich definiować jako publiczne ale to tylko przykład). Następnie Dist to dziwny twór… Wiemy, że mamy tam wyrażenie lambda, które wywołuje Math.Sqrt i robi obliczenia. Zobaczymy jak możemy z tego skorzystać w kodzie:Point point =new Point(); point.X =5; point.Y =6; double dist = point...
W nowej wersji c# zdecydowano się zezwolić na konstruktory bezparametrowe w strukturach danych. Kiedyś pisałem dlaczego, nie można było ich definiować w poprzednich wersjach języka. Chodziło po prostu o wydajność, szczególnie podczas alokacji tablic danych. Dodam, że w CLR zawsze było dozwolone posiadanie konstruktorów bezparametrowych i wyłącznie c# na to nie zezwalał. W C# 6.0 możliwe już jest napisanie własnego konstruktora bez parametrów, ale wciąż należy pamiętać o możliwych problemach wydajnościow...