odcinek DevTalk to nie przelewki, oj nie. Dzisiaj trochę… potaplamy się w błocie. Do rozmowy zaprosiłem Jarosława Pałkę: znanego i uznanego programistę, architekta, managera, team leadera, prelegenta, bloggera i co tam jeszcze. Spotkać możecie go na bardzo wielu konferencjach, gdzie opowiada o Javie i ciężkiej orce w naszym zawodzie. Na Twitterze: @j_palka.
Strona głównaUżytkownik
markone | użytkownik
Architektura 2987 dni, 8 godzin, 10 minut temu 92 źrodło rozwiń
W dobie wielordzeniowych procesorów, umiejętność programowania współbieżnego jest niezwykle istotna. Scenariusz programowania synchronicznego, w którym wszystko wkładamy w jeden wątek i kolejkujemy może spowodować, że nasza aplikacja będzie funkcjonować gorzej od konkurencji. Dobrym tego przykładem są aplikacje operujące na żądaniach sieciowych. Przykładowo aplikacja mobilna może na starcie wymagać pobrania konfiguracji, ściągnięcia informacji na ekran typu "home", czy też aktywacji opcji auto-logowania...
Sztuka programowania 2984 dni, 1 godzinę, 39 minut temu 371 źrodło rozwiń
Architektura 2984 dni, 1 godzinę, 39 minut temu 733 źrodło rozwiń
Od pewnego czasu chodził mi głowie pomysł by napisać coś o DDD. Tak się złożyło, ze u mnie w firmie powstaje element systemu o nazwie Audit, który będzie służył do zarządzania (planowanie, wykonanie, raportowanie) audytami. Zdecydowałem się pokazać na blogu jak napisać taki system w oparciu o reguły DDD (głównie ze względu na to, że w obecnym projekcie nie korzystamy z DDD). Aby urealnić cały proces, wymagania które będziemy implementować będą pochodzić z rzeczywistej domeny. Oczywiście będzie ...
Architektura 2982 dni, 6 godzin, 22 minuty temu 261 źrodło rozwiń
W poprzednim wpisie przedstawiłem różnice pomiędzy logiką aplikacji, a logiką biznesową. Taki podział doskonale ilustruje zasadę podziału odpowiedzialności, tzw. Separation of Concerns, w skrócie SoC. Cofnijmy się do wspomnianego artykułu na moment i przypomnijmy sobie główne różnice pomiędzy logiką aplikacji, a logiką biznesową...
Sztuka programowania 3458 dni, 21 godzin, 29 minut temu 354 źrodło rozwiń
W ostatnim wpisie wspomniałem, że Web.Config został usunięty i zastąpiony project.json. Pokazałem, jak dodać referencje czy skonfigurować wersję framework’a. Web.Config jednak zawierał jeszcze jedną ważną sekcję – AppSettings. ASP.NET 5 wspiera różne typy plików konfiguracyjnych – JSON, INI oraz XML. Możemy wszystkie je dodać jednocześnie do solucji i nie spowoduje to konfliktów. Nie jesteśmy ograniczeni tylko do jednego typu czy pojedynczego pliku konfiguracyjnego. Dla testów, dodajmy 3 pliki, każdy w...
O projekcie Roslyn od dawna już słychać, ale jeszcze nigdy nie miałem okazji z niego poważnie korzystać, ani wspomnieć o tym na blogu. Czym jest więc Roslyn? W skrócie pisząc jest to “compiler as service”. Roslyn dostarcza API za pomocą, którego możemy komunikować się kompilatorem. Możemy zatem pisać programy, które rozpoznają kod (C#) i mogą go dynamicznie wykonywać. Innymi słowy, dzięki Roslyn jesteśmy w stanie załadować kod w formie czystego tekstu i w pamięci analizować go już jako strukturę dany...
« Darmowe konto Office 365 Tomasz Szulczewski| - 14:36|KarieraJak zostać freelancerem? To nie będzie wpis techniczny, ale bardzo często dotyczy branży IT, w której szczególnie praca jako freelancer jest dość często spotykana. Wielu z nas uważa, że zarabia za mało albo że projekty z którymi mamy styczność są znacząco poniżej naszych kwalifikacji. Spora część osób akceptuje ten stan, inni zmieniają pracę lub wyjeżdżają za granicę. Ja chciałbym Wam pokazać, że jest jeszcze inna dro...
O korzyściach z modyfikatora sealed, od strony projektowej pisałem już tutaj. Dzisiaj postanowiłem jednak napisać prosty program, który pokaże nam czy faktycznie są jakieś różnice wydajnościowe. Oczywiście jest to raczej ciekawostka dla ludzi zajmujących się c# internals. Jeśli zależy nam na optymalizacji, zawsze zaczynajmy od ulepszenia samego algorytmu (zmniejszenia jego złożoności), a w ostateczności sięgajmy po mikro-optymalizacje. Warto stosować wspominane wskazówki, ale ze względu na dobre praktyk...
Sztuka programowania 3633 dni, 54 minuty temu 243 źrodło rozwiń
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...
Do dzisiejszego wpisu zainspirowała mnie aplikacja, którą współtworzymy z Tymkiem Kęstowiczem. Potrzebowaliśmy połączyć naszą aplikację napisaną w MVC z bazą danych (tu wybór padł na MySQL). Zdecydowanie chcieliśmy uniknąć strzelania z armaty ...
Sztuka programowania 3629 dni, 18 godzin, 8 minut temu 280 źrodło rozwiń
Kolejny post o Unity 3d musi jeszcze chwilę poczekać. Niedawno zdobyłem nową dev-zabawkę (ekhm!) a mianowicie licencję na PostSharp. Gdyby ktoś nie wiedział – jest to narzędzie do programowania w stylu AOP – aspektowym spojrzeniu świata. Czym są aspekty nie będę pisał – można znaleźć na ten temat sporo informacji. Z lokalnego podwórka polecam DevTalk 02 czy tagi AOP lub PostSharp na dotnetomaniak.pl.Unboxing Samo narzędzie instaluje się bezproblemowo oraz fajnie się integruje z Visual Studio...
Wraz z pojawieniem się darmowej wersji Visual Studio Community 2013 została przez Microsoft udostępniony Update 4 dla Visual Studio 2013. Poza poprawkami i dodaniem nowych funkcji pojawiło się w nim nowe narzędzie programowania dla aplikacji mobilnych - Visual Studio Tools for Apache Cordova CTP 3.0. Jest to całkowity pakiet oparty o otwarte rozwiązanie Apache Cordova. Jest to rozwiązanie firmowane przez Microsoft i dostępne również w Visual Studio 2015 CTP. Co prawda Visual Studio Tools for Apache Cordo...
Mobile development 3631 dni, 5 godzin, 21 minut temu 226 źrodło rozwiń
Od razu po Nowym Roku wracamy z mocnym uderzeniem: na warsztacie tym razem znalazło się programowanie funkcyjne! Mój gość to Michał Łusiak – programista, prelegent, blogger. Możecie go znaleźć również na Twitterze: @mlusiak. W temacie programowania funkcyjnego rozprawiamy o tym po co odchodzić od “standardowego” obiektowego podejścia, jakimi językami warto się zainteresować a nawet: jak zacząć z F# nie mając możliwości jego komercyjnego zastos...
Sztuka programowania 3628 dni, 9 godzin, 45 minut temu 242 źrodło rozwiń
Programowanie nigdy nie było łatwe i szybkie, ale największe wyzwania stoją przed tymi, którzy chcą stworzyć prosty, czytelny, elastyczny i wydajny kod. Czy da się zawsze ładnie połączyć wszystkie elementy tej układanki? Niestety nie, ale to nie oznacza, że powinniśmy łatwo się poddawać.
Sztuka programowania 3631 dni, 5 godzin, 21 minut temu 512 źrodło rozwiń
W C# możemy tworzyć własne konwersji obiektów. Przy użyciu słów kluczowych Explicit i Implicit możemy przeprowadzić konwersję typów referencyjnych na wartościowe i odwrotnie. Na początek podstawy. Konwersje Implicit nie wymagają żadnych dodatkowych słów kluczowych, ponieważ kompilator dopuszcza tylko takie konwersje, które są bezpieczne (czyli na przykład takich, w których nie ma utraty precyzji). Przykład poniżej: int i = 1234; double d = i;...
Sztuka programowania 3628 dni, 9 godzin, 45 minut temu 196 źrodło rozwiń
Nadszedł czas na kolejną porcję przykładów z wykorzystaniem ThreadSafe collection. W tym poscie po krótce opisze do czego i w jaki sposób używać kolekcji ConcurrentStack
Sztuka programowania 3628 dni, 9 godzin, 45 minut temu 213 źrodło rozwiń
C#.NET, c#, CurrentCulture, globalization, InvariantCulture, stringprzemek Wiele razy stykam się z sytuacją, że gdy ReSharper podpowiada programistom, że należy użyć w metodzie ToString parametru CultureInfo, każdy wstawia tam najbezpieczniejsza wersję czyli InvariantCulture. A może czasem warto wstawić coś innego? Poniżej opisuje, czym jest CultureInfo i jak go używać. CultureInfo Klasa CultureInfo jest używana między innymi wtedy gdy chcemy rozwiązać problem używania odpowiednich separatorów...
Sztuka programowania 3627 dni, 20 godzin, 55 minut temu 302 źrodło rozwiń
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 ...
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ś...