Inżynieria oprogramowania w ujęciu systemowym.
Zintegrowane podejście do metodyk,
technologii (głównie Java EE), architektury i rozwoju ścieżki kariery programisty.
poniedziałek, 22 lutego 2016
piątek, 22 stycznia 2016
21 lat po wzorcach
Na kanale JDD pojawiła się prezentacja Ralpha Johnsona - jednego z autorów klasycznej i znanej chyba każdemu programiści pozycji http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612
Książka (i jej pochodne) ukształtowała mnie, community Java i .NET, część pokolenia...
Dzięki niej zaczęliśmy myśleć innymi metaforami niż uczono nas na uczelni. U mnie osobiście "namacalne" metafory każdego wzorca rozwinęły spojrzenie kinestetyczno-wizualne na strukturę kodu, które do tej pory jest podstawą mojego poczucia estetyki. Z czasem wzorce odpinamy jak boczne kółka w rowerku, ale sam sposób budowania myśli i komunikowania się z zespołem pozostaje.
Ralph opowiada o tym co motywowało autorów oraz o zmianach jakie poczyniłby w drugiej edycji od strony merytorycznej jak i co do formy.
Książka (i jej pochodne) ukształtowała mnie, community Java i .NET, część pokolenia...
Dzięki niej zaczęliśmy myśleć innymi metaforami niż uczono nas na uczelni. U mnie osobiście "namacalne" metafory każdego wzorca rozwinęły spojrzenie kinestetyczno-wizualne na strukturę kodu, które do tej pory jest podstawą mojego poczucia estetyki. Z czasem wzorce odpinamy jak boczne kółka w rowerku, ale sam sposób budowania myśli i komunikowania się z zespołem pozostaje.
Ralph opowiada o tym co motywowało autorów oraz o zmianach jakie poczyniłby w drugiej edycji od strony merytorycznej jak i co do formy.
poniedziałek, 28 grudnia 2015
Generowanie diagramów architektonicznych w C4
Jestem wielkim fanem podejścia C4 w dokumentowaniu architektury - co widać na video w poprzednim poście:)
C4 sprawdza się nie tylko dla nowych projektów oraz do nadawania struktury myślom podczas szkoleń... przydaje się również jako "mapa" podczas misji ratunkowych w projektach ze spuścizną:)
Polecam świetną prezentację twórcy C4 na temat narzędzi do automatycznego generowania diagramów. Moim zdaniem generowane nie mają takiej wartości w opowiadaniu historii jak ułożone ręcznie, ale lepsze taki niż żadne aby przedzierać się przez spuściznę:)
Prezentacje jest wartościowa z uwagi na przemyślane komentarze autora z meta-poziomu: kiedy, dlaczego i po co warto stosować dany rodzaj informacji wizualnej oraz rysowanie czego nie ma żadnej wartości:)
https://www.youtube.com/watch?v=oDpdaXt0HQI
//=================
W dużych projektach dodaję M (jak Moduł) tworząc Context Container Module Component Class
gdzie moduł grupuje komponenty.
Moduł można sobie wyobrazić jako jednostkę logiczną (Bounded Context z DDD) czy jako produkt (np. moduł magazynowy czy sprzedaży w ERP) a komponent jako np jednostkę deploymentu (np. klienty, AI itd).
Traktowanie komponentu dosłownie jako @Component w Springu (jak pokazuje przykładowo Brown) wydaje mi się skrajnie niepraktyczne poza malutkimi systemami, ale każdy może sobie popróbować sam co ma dla niego wartość...
C4 sprawdza się nie tylko dla nowych projektów oraz do nadawania struktury myślom podczas szkoleń... przydaje się również jako "mapa" podczas misji ratunkowych w projektach ze spuścizną:)
Polecam świetną prezentację twórcy C4 na temat narzędzi do automatycznego generowania diagramów. Moim zdaniem generowane nie mają takiej wartości w opowiadaniu historii jak ułożone ręcznie, ale lepsze taki niż żadne aby przedzierać się przez spuściznę:)
Prezentacje jest wartościowa z uwagi na przemyślane komentarze autora z meta-poziomu: kiedy, dlaczego i po co warto stosować dany rodzaj informacji wizualnej oraz rysowanie czego nie ma żadnej wartości:)
https://www.youtube.com/watch?v=oDpdaXt0HQI
//=================
W dużych projektach dodaję M (jak Moduł) tworząc Context Container Module Component Class
gdzie moduł grupuje komponenty.
Moduł można sobie wyobrazić jako jednostkę logiczną (Bounded Context z DDD) czy jako produkt (np. moduł magazynowy czy sprzedaży w ERP) a komponent jako np jednostkę deploymentu (np. klienty, AI itd).
Traktowanie komponentu dosłownie jako @Component w Springu (jak pokazuje przykładowo Brown) wydaje mi się skrajnie niepraktyczne poza malutkimi systemami, ale każdy może sobie popróbować sam co ma dla niego wartość...
piątek, 6 listopada 2015
Architektura dla średnio zaawansowanych programistów
Na początku tego roku stworzyłem prezentację, która podsumowuje kilka ładnych lat mojej pracy i zamyka tym samym pewien etap: "Co było pierwsze: kod czy architektura?"
Została zarejestrowana podczas tegorocznej edycji http://dotnetconf.pl/ (również: Devoxx, Infoshare i kilka mniejszych) i możecie obejrzeć ją w całości poniżej:
Slajdy:
Prezentacja z uwagi na brak czasu omawia wyłanianie się kodu z architektury. Natomiast podejście Emergent Design gdzie architektura wyłania się z kodu można zobaczyć tutaj począwszy od 50. minuty (w nieco gorszej jakości audio i video):
Wiele osób pytało o materiały, więc pomyślałem, że warto zrobić moją prywatną listę książek, które polecam na początek:
Mam do Was prośbę: podajcie w komentarzach swoje propozycje "must read" wraz z krótkim komentarzem dlaczego warto.
Została zarejestrowana podczas tegorocznej edycji http://dotnetconf.pl/ (również: Devoxx, Infoshare i kilka mniejszych) i możecie obejrzeć ją w całości poniżej:
Slajdy:
Prezentacja z uwagi na brak czasu omawia wyłanianie się kodu z architektury. Natomiast podejście Emergent Design gdzie architektura wyłania się z kodu można zobaczyć tutaj począwszy od 50. minuty (w nieco gorszej jakości audio i video):
Wiele osób pytało o materiały, więc pomyślałem, że warto zrobić moją prywatną listę książek, które polecam na początek:
- S. Brown Software architecture for developers - prosta i skuteczna metodyka rysowania diagramów, które mają sens i wnoszą wartość do projektu; dzięki tej książce dowiecie się, że słowo architektura nie ma sensu w IT jeżeli nie dodasz do niego przymiotnika
- V. Vernon Implementing DDD - nawet jeżeli nie interesujesz się DDD, to znajdziesz tutaj kompendium wiedzy o współczesnych stylach arch w kontekście nietrywialnego przykładu dziedzinowego
- C. Larman Applying UML and Patterns - tytuł jest zmyłką;) książka nie traktuje o UML, została napisana w czasach gdy UML dodawał +20 do sprzedaży;) autor przedstawia kompletny zwinny proces produkcji softu
- Seria Pattern oriented software architecture - to po prostu trzeba mieć w domu na półce... początkowe tomy są dla wszystkich, końcowe są zorientowane na specyficzne problemy
Swego czasu popełniłem również serię artykułów dla programistamag.pl Receptury projektowe - niezbędnik początkującego architekta, którą można pobrać całkowicie darmowo tutaj: http://bottega.com.pl/artykuly-i-prezentacje#receptury
Tutaj można znaleźć projekt, który ilustruje omawiane techniki https://github.com/BottegaIT/ddd-leaven-v2
Tutaj można znaleźć projekt, który ilustruje omawiane techniki https://github.com/BottegaIT/ddd-leaven-v2
Polecam również Udi Dahan.
Mam do Was prośbę: podajcie w komentarzach swoje propozycje "must read" wraz z krótkim komentarzem dlaczego warto.
środa, 1 lipca 2015
Konkurs na Confiturze
Bottega jako partner tegorocznej Confitury zaprasza uczestników konferencji do konkursu (a właściwie dwóch).
2. Dokończ mema:
3. Autor mema, który zebrał najwięcej głosów wygrywa drona Syma X8C (z kamerką HD:)
Konkurs 1: Rozśmiesz nas
1. Wchodzisz na stronę, której adres znajdziesz w sobotę w naszej ulotce znajdującej w materiałach dla uczestników. Znajdziesz tam aplikację (cloud, rest, node.js:), która pozwala na tworzenie memów. Konkurs przeznaczony jest tylko dla uczestników konferencji, dlatego musisz podać maila (nie zbieramy maili, organizatorzy przekazali nam hashe waszych maili)2. Dokończ mema:
przykład:
Konkurs 2: Głosuj na memy
1. Wchodzisz na stronę, której adres znajdziesz w sobotę w naszej ulotce znajdującej w materiałach dla uczestników. Znajdziesz tam aplikację (cloud, rest, node.js:), która pozwala na głosowanie na stworzone w Konkursie 1 memy. Konkurs przeznaczony jest tylko dla uczestników konferencji, dlatego musisz podać maila (nie zbieramy maili, organizatorzy przekazali nam hashe waszych maili)
2. Głosujesz na memy, które są śmieszne/nie są czerstwe (wyłaniając tym samym zwycięzcę Konkursu 1)
3. Wśród głosujących rozlosujemy 3 egzemplarze książki:
piątek, 8 maja 2015
Video: Jesteś ekspertem i co dalej?
Prezentacja "Jesteś ekspertem i co dalej? Ścisły przewodnik po materii miękkiej dla ekspertów IT - część II", którą pokazywałem na JUGach w Poznaniu, Wrocławiu, Lublinie i Łodzi oraz na 4Developers doczekała się porządnych slajdów i video (na warszawskim JUG).
Zajawka: https://www.facebook.com/BottegaITSolutions/videos/vb.213242472061197/964224023629701/?type=2&theater
Prezentacja 2h 20 min:)
Prezi: https://prezi.com/dllleqt07g33/jestes-ekspertem-i-co-dalej
Zainteresowanych dalszym zgłębianiem tematu odsyłam do źródeł: http://art-of-software.blogspot.com/2015/01/materiay-ze-spotkania.html
Prezentacja jest ekstraktem z szerszego, zakrojonego na kilka dni programu: Projektowanie kariery z uwzględnieniem architektury Twojego mózgu. Tutaj opis: http://bottega.com.pl/pdf/program_architektura_kariery.pdf
Zajawka: https://www.facebook.com/BottegaITSolutions/videos/vb.213242472061197/964224023629701/?type=2&theater
Prezentacja 2h 20 min:)
Prezi: https://prezi.com/dllleqt07g33/jestes-ekspertem-i-co-dalej
Zainteresowanych dalszym zgłębianiem tematu odsyłam do źródeł: http://art-of-software.blogspot.com/2015/01/materiay-ze-spotkania.html
Prezentacja jest ekstraktem z szerszego, zakrojonego na kilka dni programu: Projektowanie kariery z uwzględnieniem architektury Twojego mózgu. Tutaj opis: http://bottega.com.pl/pdf/program_architektura_kariery.pdf
środa, 8 kwietnia 2015
Szkolenie DDD do wygrania na drabinie ekspertów.
Podczas tegorocznej konferencji 4Developers zorganizowaliśmy własną ścieżkę firmy Bottega: "Drabina ekspertów".
Plan dostępny tutaj http://4developers.org.pl/pl/agenda/agenda/
Strona nie jest do końca restful;) więc wklejam plan:
Jak widać pomysł na ścieżkę jest prosty: nasi trenerzy omawiają kolejne "szczeble" stosu architektonicznego. Elementami drabiny są zarówno technologie i metodyki jak również style architektoniczne. Całość w formie spójnej narracji, gdzie koniec prezentacji jednego eksperta jest punktem wyjścia do prezentacji kolejnego.
Moje pierwsze (i ostanie, obiecuję :) ) video:
https://www.facebook.com/video.php?v=942724792446291&set=vr.947246991994071&type=2&theater
A tutaj Mateusz pokazuje jak powinno wyglądać video promujące ścieżkę
https://www.facebook.com/video.php?v=947246991994071&set=vb.213242472061197&type=2&theater
Konkurs!
Uczestnicy naszej ścieżki będą mogli wygrać udział w szkoleniu otwartym z zakresu Domain Driven Design, które odbędzie się w dniach 5-7 maja w Lublinie.
Podczas każdej z prezentacji na naszej ścieżce padnie pytanie. Wśród osób, które odpowiedzą na wszystkie pytania wylosujemy nagrodę.
Plan dostępny tutaj http://4developers.org.pl/pl/agenda/agenda/
Strona nie jest do końca restful;) więc wklejam plan:
- Kiedy, jak i po co migrować na NoSQL Mariusz Gil
- CQRS dla każdego Maciej Aniserowicz
- Do you think you're doing microservice architecture? What about infrastructure and provisioning? Marcin Grzejszczak, Łukasz Szczęsny
- Skalowanie i integracja systemów w asynchronicznym stylu - wzorce i style architektoniczne Szymon Szylhabel
- Rest w praktyce - tej dobrej i tej złej Jakub Kubryński
- Przejrzysty i testowalny kod na Androidzie? Spróbujmy z Clean Architecture Michał Charmas
- Patterns and tools that make tests fun again:) Łukasz Szydło
- Splitting the monolith. Digital media makeover. A tale of micro services, continuous delivery and organisational change Mateusz Kwaśniewski
- Drogi rozwoju eksperta Artur Król
Jak widać pomysł na ścieżkę jest prosty: nasi trenerzy omawiają kolejne "szczeble" stosu architektonicznego. Elementami drabiny są zarówno technologie i metodyki jak również style architektoniczne. Całość w formie spójnej narracji, gdzie koniec prezentacji jednego eksperta jest punktem wyjścia do prezentacji kolejnego.
Moje pierwsze (i ostanie, obiecuję :) ) video:
https://www.facebook.com/video.php?v=942724792446291&set=vr.947246991994071&type=2&theater
A tutaj Mateusz pokazuje jak powinno wyglądać video promujące ścieżkę
https://www.facebook.com/video.php?v=947246991994071&set=vb.213242472061197&type=2&theater
Konkurs!
Uczestnicy naszej ścieżki będą mogli wygrać udział w szkoleniu otwartym z zakresu Domain Driven Design, które odbędzie się w dniach 5-7 maja w Lublinie.
Podczas każdej z prezentacji na naszej ścieżce padnie pytanie. Wśród osób, które odpowiedzą na wszystkie pytania wylosujemy nagrodę.
Subskrybuj:
Posty (Atom)

