Pokazywanie postów oznaczonych etykietą prezentacja. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą prezentacja. Pokaż wszystkie posty

piątek, 19 grudnia 2014

Video z prezentacji na JDD 2014: JPA i DDD

Mapowanie relacyjnono-obiektowe prawdziwych obiektów.

Slajdy: http://prezi.com/fsvd1xnvecff/mapowanie-relacyjno-obiektowe-prawdziwych-obiektow/

Główne tezy:
  • nie używaj lazy loadingu
  • uważaj na typ kolekcji
  • rozważ 3 sposoby optimistic locking
  • wzorzec Repository ma więcej sensu się wydaje
  • CQRS na ratunek

...a tu więcej do poczytania: http://bottega.com.pl/artykuly-i-prezentacje






Jak wciągnąć eksperta domenowego w wir modelowania


Główne tezy:
  • Model jest narzędziem komunikacji
  • Przydawki są ważne:)
  • Można myśleć funkcyjnie i programować obiektowo
  • Proces jest pochodną domeny
  • User story jest słabe - potrzebujesz domain story
  • Refaktoryzacja bez zrozumienia domeny jest zgubna






wtorek, 9 grudnia 2014

piątek, 25 października 2013

Wrocław 28 i 29 października

Szybki ogłoszenie:

Zapraszam wszystkich chętnych na otwarte spotkania w najbliższym tygodniu we Wrocławiu

niedziela, 2 grudnia 2012

Java User Group - Wrocław, Szczecin, Kraków

Entuzjastów inżynierii oprogramowania (niekoniecznie związanych z Javą), zapraszam na 3 prezentacje, które odbędą się w ramach lokalnych JUGów (wstęp wolny również dla uczestników spoza JUG)

Wrocław 4 grudnia:
Tematy: Techniki strukturyzacji architektury oraz rozwinięcie do Architektury Ports & Adapters.
Szczegóły pojawią się na stronie grupy.

Szczecin 10 grudnia:
Tematy: Techniki strukturyzacji architektury oraz rozwinięcie do Architektury Ports & Adapters.
Szczegóły pojawią się na stronie grupy.

Kraków 13 grudnia:
Temat i miejsce ustalamy na grupie dyskusyjnej Polish JUG. Więcej info pojawi się gdy ustalimy szczegóły.

niedziela, 2 września 2012

DDD w Łodzi

W imieniu swoim jak i liderów Łódzkiego JUGa zapraszam w najbliższy wtorek (4 września) o godzinie 18:30 na prezentację poświęconą Domain Driven Design.

Prezentacja będzie dosyć ogólna i nie jest związana ściśle z Javą, tak więc zapraszamy entuzjastów różnych technologii.

Strona wydarzenia
Dyskusja na grupie Łódzkiego JUG

//===============================

Prezentacja dostępna na prezi.com.
Prezentacja będzie koncepcyjnym rozwinięciem technik, o których mówiłem goszcząc w Łodzi ostatnim razem: Przewodnik strukturyzacji architektury systemu. 10,5 klasycznych technik programistycznych leżących u podstaw nowoczesnej inżynierii oprogramowania

niedziela, 1 lipca 2012

Confitura 2012 skonsumowana

Confitura 2012 za nami.
Na wstępie chciałbym podziękować wszystkim uczestnikom mojej prezentacji. Obdarzyliście mnie największymi brawami (uściślając: pod względem natężenia dźwięki i czasu trwania) jakie do tej pory dostałem w życiu!

Dziękuję, właśnie to sprawia, że warto pracować nad prezentacjami.

Nie chciałem mówić tego podczas prezentacji, ale zostało mi jeszcze ok 1/4 materiałów. Resztę możecie zobaczyć pod tym adresem. Słowa kluczowe z prezentacji pozwolą Wam na dalsze poszukiwania. Zresztą, taka była idea prezentacji: przegląd kilkunastu tematów i inspiracja do własnych poszukiwań.

Po prezentacji powtarzały się 2 pytania:
1. "O co chodzi z tymi 2 procesorami w mózgu i umysłem znajdującym się poza głównymi procesorami (poza mózgiem, w ciele)?"
Jedynie wspomniałem o tym, jednak rozwinięcie zajęłoby nam kilka godzin (a tak na prawdę kilka miesięcy:) Jedak - tak jak się spodziewałem - wzbudziło to spore zainteresowanie, dlatego odsyłam do 3 podstawowych źródeł: - Pragmatic Thinking and Learning: Refactor Your Wetware - lekka, łatwa i przyjemna synteza współczesnej wiedzy z zakresu neuropsychologii, psychologii, socjologii z elementami NLP. Napisana przez programistę, więc czyta się doskonale. Doskonała na początek.
- The Master and His Emissary: The Divided Brain and the Making of the Western World - głębsza i nieco bardziej bardziej wymagająca.
- wykłady profesora Włodzisława Ducha z zakresu wstępu do kognitywistyki.

2. "Jaki jest ten szósty poziom w Modelu Dreyfus?" - zaznaczyłem temat, ale nie zdążyłem o tym powiedzieć. Najwyższy poziom to Guru. Guru to taki Ekspert, który mówiąc wprost i bez ogródek nie jest dupkiem:) Idąc do takiego Eksperta zawsze dostaniemy, jeżeli nie odpowiedź dopasowaną do naszego poziomu, to "przynajmniej" natchnienie i kierunek w stronę samodzielnego rozwiązania.


//==================================

Niestety nigdzie nie mogłem naleźć wyjaśnienia fenomenu Twittera;)
O co kurcze chodzi z tym, że ludzie siedzą na prezentacji i zamiast wchłaniać zawartość, wolą tweetować. Czyli de facto "wypróżniać bufory", które zapełnił generator szumu (L-Brain w modelu 2 procesorów), łudząc się w narcystycznym przekonaniu, że kogoś może to interesować...:P

wtorek, 17 kwietnia 2012

Prezentacja na Silesia JUG

W najbliższy czwartek 19 kwietnia o 18:30 będę prowadził w ramach Silesia JUG prezentację "Ścisły przewodnik po aspektach miękkich dla ekspertów IT" - abstrakt i "slajdy" w tym poście.

Zainteresowanych (nie tylko ze świata Javy) zapraszam serdecznie.

sobota, 17 marca 2012

Prezentacje na 33rd Degree

W najbliższy wtorek 20. marca będę miał przyjemność przedstawić dwie prezentacje podczas konferencji 33rd Degree.

Niezdecydowanych co do wyboru ścieżki uczestników zapraszam do zapoznania się z prezentacjami. Co prawda są to jedynie "ścieżki myśli" (raczej dla mnie, prowadzące wątek), które bez narracji zawierają max. 20% treści, ale mam nadzieję, że pozwolą Wam zorientować się czy tematyka i jej zakres może być interesująca lub nie.


Pierwsza prezentacja będzie poświęcona zagadnieniom "miękkim". Tradycyjnie wplatam "miękkie" wątki w każdą swą prezentację, jednak tym razem będzie to 100% treści (i zero kodu:) Jednak doszyć szybko doprowadzimy do "ścięcia" się białka i wyszukania "twardych" konkretów - co symbolizuje gubernator na pierwszym "slajdzie":)

abstrakt: Ścisły przewodnik po aspektach miękkich dla ekspertów IT





Druga prezentacja jest dla odmiany techniczna w każdym calu - konkretne problemy i konkretne techniki inżynieryjne ich rozwiązania.

abstrakt: Przewodnik po strukturyzacji systemu. 10,5 klasycznych technik programistycznych leżących u podstaw nowoczesnej inżynierii oprogramowania





//===============================
Materiały są w wersji Alpha, błędy nie zostały jeszcze poddane korekcie:)

niedziela, 9 października 2011

Konferencja Warsjawa - kolejny warsztat DDD&CqRS Leaven

Zapraszam na konferencję Warsjawa, która odbędzie się w najbliższą sobotę (15 października) w Warszawie.

Warto dodać, że konferencja jest całkowicie darmowa:)

Podczas konferencji będziecie mogli uczestniczyć między innymi w naszych warsztatach, poświęconych projektowi DDD&CqRS Leaven.

Szczegółowy program warsztatów: https://github.com/warszawajug/warsjawa2011/wiki/Warsztaty-DDD-i-CqRS.

niedziela, 12 czerwca 2011

Trawienie Confitury

Na parking dotarliśmy o 0850 po 2 godzinach podróżny na dystansie 170km (widocznie gdzieś po drodze nastąpiło lokalne zagięcie czasoprzestrzeni). Następnie udaliśmy się do punktu rejestracji na 3. piętrze...

STOP!

Przepraszam, zapomniałem, że blog to nie zeszyt do polskiego, a post to nie sprawozdanie z wycieczki do muzeum w 4. klasie podstawówki;P



Na wstępie gratulacje i uznanie dla organizatorów za rozmach oraz podziękowania dla wolontariuszy.





Chciałbym podzielić się przemyśleniami z kilku prezentacji:

Pisz po pijaku, przeglądaj na trzeźwo
Bezkompromisowa i nonkonformistyczna forma. Wspaniała interakcja z publicznością, bez puszenia się i pokazywania jaki to ja jestem mądry. Doskonałe zakończenie dnia.

W momencie kiedy Piotr wniósł sześciopak piwa i żołądkową (bo poprzednicy rozdali wszystkie gadżety przeznaczone na nagrody dla uczestników) pomyślałem tylko: "wiedz, że coś się dzieje":)

Na prezentacji mieliśmy błyskotliwą syntezę dwóch - popularnych ostatnio w "miękkim" IT - koncepcji:
- Model mózgu składającego się z "procesorów" Rich i Linear
- Model kompetencji Braci Dreyfus
Synteza polegała na postawieniu tezy, że ekspert w danej dziedzinie (piąty poziom Dreyfus) myśli nad problemem głównie "procesorem" Rich.
Nie wiem czy istnieją badania potwierdzające tą hipotezę, ale mnie się podoba, bo wydaje się brzmieć sensownie - póki co "kupuję to".
To do czego dotarłem w literaturze tematu i co wiadomo na pewno, to fakt, że ekspert na pewno czasem (w twórczym uniesieniu) myśli mniej, jest to zjawisko tak zwanego "lśnienia" polegające na tym, że podczas małej aktywności mózgu (zużycie energii) dochodzi do wykonania dużej i przełomowej pracy intelektualnej. Zjawisko to można obserwować na rezonansach.

Widziałem duże zainteresowanie publiczności, więc polecam materiały:
- Pragmatic Thinking and Learning: Refactor Your Wetware - dowiecie się z niej na temat modelu R/L oraz kilkunastu innych arcyciekawych i przydatnych w życiu sprawach. Autor dokonał syntezy wieli zagadnień z psychologii, socjologii, kognitywistyki podając je na tacy tak abyśmy nie musieli już sami szukać. Najlepsza książka jaką czytałem w zeszłym roku. Książki pisane przez programistów zawsze są dobre...
- Developing Expertise: Herding Racehorses, Racing Sheep - prezentacja na temat Dreyfus.
Materiał z kategorii "musisz zobaczyć".
- Wspinaczka do profesjonalizmu - artykuł na temat Dreyfus, który popełniłem w zeszłym roku dla Software Developer's Journal.
Miło było usłyszeć na prezentacji kilka odniesień do tekstu:)

Wracając do prezentacji Piotra, warto zapamiętać dwie rady praktyczne - techniki na uruchamianie Rich "procesora":
- odwracanie problemu: jeżeli nie wiemy jak zoptymalizować kod, to może zastanówmy się jak go spowolnić; jeżeli nie wiemy jak zaprojektować ergonomiczne GUI, to zastanówmy się jak zaprojektować je w sposób ultra-autystyczny.
Dlaczego to działa? Odsyłam do książki "Pragmatic Thinking and Learning" a później dalej...
- pair programming: niewiele osób uświadamia sobie, co się dzieje podczas programowania w parach. Mianowicie driver programując (czyli myśląc symbolicznie) pracuje na swoim "linearnym procesorze" a pilot zwolniony z tych czynności może uruchomić "procesor rich" i dokonywać myślenia syntetycznego na zasadzie nieświadomego pattern matching.




Play!Framework - ewolucja w świecie aplikacji webowych
Można opowiedzieć o frameworku webowym w sensowny i poukładany sposób tak aby było od razu wiadomo o co chodzi i kiedy oraz do czego mogę go użyć?
Można!
Brawa dla Wojtka. Konkretnie, na temat, dobrze dobrane przykłady kodu, dobre rysunki, szeroki zakres wiedzy i wszystko w 45 min! Wyszło lepiej niż filmiki na oficjalnej stronie frameworka.
Szczerze mówiąc to zacząłem rozważać Play jako narzędzie do pewnych klas problemów. Dzięki Wojtek.


Warto zwrócić uwagę na prezentację jako wzór do naśladowania:
- kod na Youtube z komentarzem na żywo prowadzącego (na pewno się nie wywali i nie będziemy tracić czasu na słuchanie nieśmiesznych tłumaczeń, że na prezentacji nigdy nie działa)
- szeroki wachlarz tematów do omówienia do wyboru wg zainteresowania słuchaczy (z uwagi ograniczony czas prezentacji).

Jeszcze raz brawo.



Quo Vadis IT
Pana Tomasza pamiętam jeszcze z zamierzchłych czasów studenckich, gdy przyjeżdżał na nasze rodzime uczelnie i priczował na temat technologii Microsoftu. Dałem się wówczas uwieść - ale tylko na chwilę:)

Prezentacja bardzo ciekawa, z uwagi na tematykę. Spojrzenie na branżę IT z wysokości 10km, co pozwala zauważyć powtarzające się w czasie patterny.

Widać było też na jakim poziomie i jak wnikliwie MS analizuje potrzeby oraz nawyki Userów (prywatnie i w pracy) oraz jak dobrze rozumie przemiany społeczne i mentalne zachodzące w czasie.

Miazga. My robaczki siedzimy sobie i męczymy się z kodzikiem, podczas gdy wysoko ponad naszymi głowami ktoś obserwuje i planuje rzeczywistość na kilkanaście lat do przodu.




Re-fuck-toryzacja czyli sprowadzanie sp****go kodu na właściwe tory
Paweł - dzięki za odniesienie do posta na temat radzenia sobie ze złożonością.
Muszę jednak zwrócić uwagę, że to co wyszło podczas refaktoryzacji to nie była Strategia a raczej zmodyfikowany Chain of Responsibility. Zmodyfikowany w taki sposób, że każde ogniowo łańcucha odpowiadało na pytanie "czy umiesz zająć się problemem", a jeżeli tak to "zajmij się". Czasem stosuję takie konstrukcję - łańcuch zarządzany przez "managera" - zębatkę.

Taka "zębatka" może być sama w sobie implementacją interfejsu strategii. Czyli mamy złożenie 2 patternów: strategia na wyższym poziomie (wariacje rozwiązania dużego problemu), a jedną z implementacji strategii może być taka zębatka zarządzająca łańcuchem małych ogniw, które coś tam sobie liczą (mikro problemiki wchodzące w skład jednego z wariantu rozwiązań problemów wyższego rzędu).

Teledysk na koniec - rotfl. Dobre zdjęcia, ładny dom:)


Co do mojej prezentacji, to jak zwykle: trema, przez którą wychodzi inaczej niż się planowało. Gadzi mózg podpowiada, że jeżeli stoisz sam bez broni i bez schronienia przed liczną grupą jakiś osobników to najpewniej za chwilę zginiesz. Ehh instynkt.


//=======================================

Przy okazji podzielę się jednak ciekawą obserwacją odnośnie psycho-akustyki (którą ostatnimi czasy nieco się interesuję). Z uwagi na wielkość sali, konstrukcję ścian, siłę oraz ustawienia nagłośnienia (i kilkanaście innych niesprzyjających uwarunkowań pomieszczenia) pojawił się efekt echa. Nie pogłosu, który jest do zniesienia a echa, które jest dla mówiącej osoby zabójcze.

Jako, że jestem tak zwanym słuchowcem (nie jest to takie proste, ale przyjmijmy na potrzeby posta, że jest coś takiego jak słuchowcy) to taki efekt nie jest tylko drażniący. U mnie niemal uniemożliwia mówienie. Przez chwilę myślałem, że się rozpłaczę ucieknę ze sceny hehehe.

Nie wiem czy ktoś włączył tłumienie fal obitych, ale nie widziałem nikogo majstrującego przy wzmacniaczach. Jednak po kilku minutach efekt echa zniknął. Ehh mózg ma niesamowitą zdolność do kompensowanie bodźców. A to co słyszymy jest tylko tym co nam się wydaje:)

poniedziałek, 9 maja 2011

Ułóż swoją Confiturę 2011

Już tylko miesiąc pozostał do Confitury - największej i darmowa konferencji poświęconej Javie (konferencji znanej do tej pory pod nazwą Javarsovia).

Pod tym adresem można głosować na prezentacje, które chcielibyście zobaczyć 11 czerwca.

Ankieta nie zawiera abstraktów dlatego opiszę pokrótce 3 zgłoszone tematy. Liczę na feedback z Waszej strony (również krytyczny:) odnośnie:
- tematów (czy są interesujące)
- ich zakresu (czy nie jest zbyt pobieżny aby zbyt oczywisty)
- ew. propozycji zmian

1. Context and Dependency Injection w służbie Domain Driven Design

CDI bazuje na zdobyczach nowoczesnej inżynierii oprogramowania dostarczając silnych technik programistycznych. Jednak po przejrzeniu przykładów o złożoności "Hello world" można zadać sobie pytanie - kiedy, jak i do czego powinienem użyć tych technik w praktyce.

Podczas prezentacji przedstawię w jaki sposób możemy wykorzystać model programistyczny (styl/sposób podejścia do problemu) oferowany przez CDI do implementacji DDD.

Po krótkim wstępie na temat modelu programistycznego DDD oraz architektury aplikacji wykorzystamy mechanizmy CDI takie jak fabrykowanie w runtime, dekoratory, zdarzenia, interceptory do implementacji wszystkich Building Blocków DDD. W szczególności poświęcę wiele czasu na wykorzystanie zdarzeń do modelowania wydarzeń biznesowych orkiestrowanych w modelu Sagi.

Prezentacja z założenia przeznaczona jest dla uczestników początkujących w zgadnieniach CDi i DDD. Przedstawione techniki DDD będą na tyle ogólne, że z łatwością można implementować je na innych nić CDI platformach (np. Spring) na zasadzie analogii.


2. Domain Driven Design - Wszystko ma swoje miejsce i wszytko jest na miejscu

//prezentacja wygłoszona w zeszłym roku na NYAC

Czy zastanawialiście się co jest przyczyną rozkładu średnich i dużych
systemów? Czy jest on nieunikniony i jest jedynie kwestią czasu? A
może jednak istnieje jakiś sposób na utrzymanie entropii w ryzach?

Podczas prezentacji zobaczymy w jaki sposób Domain Driven Design
pomaga w okiełznaniu chaosu. W prezentacji znajdą się główne techniki
modelowania takie jak Ubiquitous Language, Bounded Context, Strategic
Design.

Zostaną przedstawione również podstawowe techniki implementacji DDD:
przykłady Building Blocks, Command-query Responsibility Segregation,
system zdarzeń (w tym Sagi), przypadki racjonalnego wykorzystania zarówno ORM jak i
czystego i SQL.


3. Command-query Responsibility Segregation - ewolucja architektury warstwowej w stronę modularyzacji i skalowania

//prezentacja wygłaszana na 4dev i 33rd degree

Z biegiem kariery, tworząc kolejny system lub aplikację, stajemy przed problemami innej klasy. Inna klasa problemu to inne wymagania odnośnie technologii, metodyki i architektury.

Popularne architektury (1/2/3) warstwowe mogą być nieodpowiednie do pewnych klas problemów - mogą np. narzucać nieracjonalne wykorzystanie ORM lub promować naiwne modelowanie domeny biznesowej.

Podczas prezentacji przedstawię nowe ujęcie warstw - architekturę Command-query Responsibility Segregation, która wspiera aplikacje średniej i dużej skali. Architektura CqRS promuje zdobycze nowoczesnej inżynierii oprogramowania takie jak: Domain Driven Design i noSQL, otwiera system na skalowanie oraz w naturalny sposób rozwiązuje typowe problemy z mapowaniem relacyjno-obiektowym.

Główne składowe nowej architektury to: dwa stosy warstw, rozwarstwienie logiki, zdarzeniowa komunikacja pomiędzy modułami oraz opcjonalnie Event Sourcing (składowanie danych w modelu behawioralnym - w przeciwieństwie do klasycznego modelu strukturalnego)

//=======================

Pierwsza z prezentacji jest całkowicie nowa - tym razem planuję lekką zmianę formuły i pokazanie dużej ilości kodu.
Drugą z prezentacji być może widzieliście na NYAC lub we Wrocławiu - planowałem pokazać ją również na zeszłorocznej Warsjavie ale niestety mały, głupi i właściwie martwy (bo niemetabolizujący a jedynie replikujący) wirus był ode mnie silniejszy:/
Trzecia z prezentacji zapewne dla większości z Was będzie replayem z kwietnia.


Zapraszam do głosowania, ale przede wszystkim do uczestnictwa w konferencji - na prawdę warto!

środa, 4 maja 2011

DDD i CqRS w Toruniu i Lublinie

Dziś post czysto ogłoszeniowy.

Lublin: 9. maja
Zapraszam na prezentację poświęconą CqRS, która przedstawię na lubelskich dniach informatyki (szczegóły).

Toruń: 13. maja
Zapraszam czytelników bloga z Torunia i okolic na dwie prezentacje poświęcone DDD i CqRS, które wygłoszę 13 maja w ramach toruńskiej grupy .NET (szczegóły).


//============================

Jeżeli ktoś widział te prezentacje na konferencjach NYAC, 4Develoeprs lub 33rd Degree to zapewniam, że pojawi się kilka nowych szczegółów:)

czwartek, 31 marca 2011

Dyskusje panelowe

Podczas 4Developers będę prowadził dyskusję na temat braków w Javie (na różnym poziomie) i sposobach, narzędziach oraz podejściach na ich uzupełnianie.

Podczas 33rd Degree będziemy (wraz z kolegami z SSEPP) prowadzić dyskusję na temat kompetencji, profesji i profesjonalizmu w naszej branży.


Formuła zakłada, że to Wy wnosicie wiedzę i doświadczenie oraz pytania i wątpliwości. To Wy nadajecie kierunek dyskusji w stronę, która Was interesuje.

4Developers

tytuł: Java - czego nam brakuje, co warto dodać?
temat przewodni:
Po pewnym czasie pracy z niektórymi narzędziami zaczynamy zauważać ich
braki - szczególnie gdy spróbujemy użyć narzędzi z innego zestawu.
Wszyscy mamy zapewne przemyślenia na temat pewnych braków w
technologii, której używamy.
Część z nas ma inspirujące doświadczenia z innymi technologiami i podejściami.
Podczas dyskusji chcemy zastanowić się nad sposobami uzupełnienia
naszego warsztatu na poziomie: składni, struktury, narzędzi, podejść,
itd.
Uzupełnienia poprzez: biblioteki, frameworki, pluginy, nowe best practices.


33rd Degree

tytuł: Dokąd zmierza Software Craftsmanship
temat przewodni:
Ruch Software Craftsmanship jest odpowiedzią na pojawiające się potrzeby problemy.

Jest to jednak ogólna idea. Warto jednak zastanowić się nad konkretami:
  • jakimi cechami powinien charakteryzować się profesjonalista
  • jaki zakres bazowych kompetencji powinien posiadać profesjonalista
  • ew. jakie poziomy kompetencji możemy próbować określać
  • być może zależy to od klasy problemów
  • czy nadszedł już czas na krystalizację profesji - czy mamy właściwą ilość doświadczeń
  • czy i kiedy warto mówić o profesjonalizmie - kiedy jest on potrzeby i kiedy wnosi wartość

//=============================

Jeżeli macie jakieś sugestie odnośnie prezentacji lub dyskusji to zapraszam do pisania komentarzy lub na prv.

środa, 30 marca 2011

Tydzień segregacji

Zbliżający się tydzień to dwie konferencje:
- 4 Developers
- 33rd Degree

Przygotowałem dla Was prezentację na temat Command-query Responsibility Segregation, którą przedstawię na obu konferencjach.


Poniżej wersja alfa.



Prezentacja zgodnie z najnowszymi trendami nie zawiera zbyt wiele tekstu - całość wymaga akompaniamentu paszczowego.

W świecie Javy mamy ostatnio stagnację (frameworki webowe już nie wychodzą co tydzień, a skoro najnowsze wersja Java EE wyszła rok temu to mamy kilka lat spokoju;). Jest to zatem dobry moment na ostrzenie piły - np zastanowienie się nad podstawami.

Ogólne przesłanie prezentacji: wybór narzędzia i podejścia powinien zależeć od klasy problemu.

W świecie Javy mamy z jednej strony platformę korporacyjną, która była pomyślana jako produkt dla klientów (wytwórców oprogramowania) wielkiej skali. Po nasyceniu tego rynku mamy widoczną zmianę strategii marketingowej i atakowanie małych softwarehousów. Z drugiej strony mamy mnogość rozwiązań typu generator jednowarstwowej aplikacji, którymi próbuje się kusić każdego - nawet duże softwarehousy.

W prezentacji przedstawię rozwiązania architektoniczne podpatrzone w świecie .NET. Nie są one specyficzne dla .NET ale w tej społeczności są mocniej rozwijane i dyskutowane niż w naszej.

Warto podkreślić, że koncepcja architektoniczna CqRS została wypracowana w ciągu kilku ostatnich lat przez community. Nie jest to zatem objawienie zesłane przez anonimowych pracowników jakiejś firmy, lecz wynik dyskusji i eksperymentów nad rzeczywistymi problemami. Jest to zatem owoc pracy ludzi żywo zaangażowanych w sprawę - stąd wartość.


Mottem dla mojej prezentacji będzie ewolucja architektury, czyli jej rozbudowa wraz ze wzrostem skali (komplikacji i wielkości) systemu. Wychodzę z założenia, że nie każde podejście może ewoluować.


Dla zainteresowanych prezentacją mam sugestię: warto wcześniej zapoznać się z moją prezentacją na temat Domain Driven Design. Nie jest to konieczne, ale jeżeli to zrobicie, to całość ułoży się w sumie w spójne rozwiązanie.
Link tutaj.



Tydzień segregacji właściwie zostanie wydłużony...

W kolejnym tygodniu Greg Young będzie prowadził otwarty wykład i 3-dniowe szkolenie na temat DDD i CqRS w Krakowie (szczegóły).

Nieczęsto zdarza się możliwość uczenia od mistrza, tak więc polecam:)




//=================================

Jeżeli ktoś ma uwagi/sugestie odnośnie prezentacji (treść, zakres) to piszcie w komentarzach lub na prv.
Będę bardzo wdzięczny za feedback:)

niedziela, 13 lutego 2011

DDD we Wrocławiu

Dzięki uprzejmości Pawła Szulca na vimeo pojawiła się moja prezentacja na temat Domain Driven Design (i kilku tematów dodatkowych), którą przedstawiłem podczas spotkania Wrocławskiego JUG.
część 1
część 2

Dziękuję wszystkim za aktywne uczestnictwo:)

//================================

Nawiązanie do community .NET jako przodującego w poszukiwaniu nowych (a może klasycznych?) i lepszych metod modelowania jest zabiegiem celowym, mającym na celu zdopingowanie Was do działania.

piątek, 4 lutego 2011

keepaliver.ping()

Sporo czasu minęło od ostatniego posta. Powód jak zwykle ten sam - zgodnie ze starym chińskim przysłowiem: "Jest czas na pracę i jest czas na zbieranie ryżu".

Ale mimo nawału pracy mam dla Was trochę materiałów:

1. Prezentacja "Software Craftsmanship - Język wzorców językiem profesjonalistów"
Dzięki uprzejmości Łukasza Lenarta na parleys pojawiła się moja prezentacja z zeszłorocznej javarsowi.

2. Prezentacja "Domain Driven Design. Wszystko jest na miejscu i wszystko ma swoje miejsce".
Najbliższy tydzień spędzam we Wrocławiu. Przy okazji, na zaproszenie Pawła Zubkiewicza - lidera wrocławskiego JUGa - opowiem o DDD; szczegóły.
Z braku czasu będzie to ta sama prezentacja, którą przedstawiałem na zeszłorocznym NYAC. Slajdy będą te same, ale od czerwca zgromadziłem nowe doświadczenia, o których będę chciał opowiedzieć.


Natomiast w kwietniu szykuję dla Was nowy materiał - prezentację "Command-query Responsibility Segregation - nowe, bardziej racjonalne podejście do warstw". Mam ambitny plan aby forma graficzna tej prezentacji była mocno odmienna od wszystkiego co do tej pory pokazywałem.

Materiał będzie można zobaczyć na konferencjach:
- 33rd Degree
- 4 Developers

Zapraszam serdecznie na obie konferencje. Myślę, że agenda 33rd Degree już teraz wygląda bardzo zachęcająco.
Natomiast jako członek komitetu programowego 4 Developers zdradzę, że również będzie ciekawie:)

//==========================

Kolejne posty merytoryczne powinny pojawić się pod koniec miesiąca.
Chociaż przyznam, że Java i inżynieria oprogramowania muszą konkurować o zasoby z moją nową zabawką - audiofilskim zestawem stereo, który trzeba co chwilę testować na nowych kablach, płytach i w nowych rozmieszczeniach (ostrzegam - nie dajcie się w to wciągnąć) ;P

piątek, 22 października 2010

Warsjawa 2010

Zapraszam wszystkich czytelników bloga na prezentację Domain Driven Design - Wszystko ma swoje miejsce i wszystko jest na miejscu, którą przedstawiam w najbliższą sobotę na konferencji Warsjawa.

Skrót:
Czy zastanawialiście się co jest przyczyną rozkładu średnich i dużych systemów? Czy jest on nieunikniony i jest jedynie kwestią czasu? A może jednak istnieje jakiś sposób na utrzymanie entropii w ryzach?

Podczas prezentacji zobaczymy w jaki sposób Domain Driven Design pomaga w okiełznaniu chaosu. W prezentacji znajdą się główne techniki modelowania takie jak Ubiquitous Language, Bounded Context, Strategic Design.

Zostaną przedstawione również podstawowe techniki implementacji DDD: przykłady Building Blocks, Command-query Responsibility Segregation, system zdarzeń, przypadki wykorzystania ORM i SQL - całość na przykładach w Seam lub Spring.

//===========================

Dla tych z Was, którzy byli w Krakowie na NYAC zaznaczam, że core prezentacji będzie taki sam.