Zapytajcie go na czym polega praca analityka.
Moim zdaniem na tym: http://it-consulting.pl/autoinstalator/wordpress/2016/05/03/wiedza-a-nauka-i-prawda
Inżynieria oprogramowania w ujęciu systemowym.
Zintegrowane podejście do metodyk,
technologii (głównie Java EE), architektury i rozwoju ścieżki kariery programisty.
wtorek, 3 maja 2016
czwartek, 24 marca 2016
Systemy złośliwe
"Problemy, w których rozwiązaniu mają pomóc budowane złożone systemy są zwykle „problemami złośliwymi” (Rittel i Webber, 1973). „Problem złośliwy” to taki skomplikowany problem, w którym jest tak wiele powiązanych ze sobą bytów, że nie istnieje jego ostateczna specyfikacja. Prawdziwy charakter problemu objawia się dopiero w miarę opracowywania rozwiązania."
Znalezione u Jarka: TDD – czy same testy to wymagania? który argumentuje jak zwykle celnie i bez potrzeby dobijania drugim strzałem:)
Znalezione u Jarka: TDD – czy same testy to wymagania? który argumentuje jak zwykle celnie i bez potrzeby dobijania drugim strzałem:)
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:
Subskrybuj:
Posty (Atom)