This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-02-10
Channels
- # aatree (4)
- # admin-announcements (1)
- # beginners (62)
- # boot (279)
- # business (14)
- # cider (1)
- # cljsrn (3)
- # clojure (88)
- # clojure-czech (3)
- # clojure-madison (2)
- # clojure-poland (117)
- # clojure-russia (74)
- # clojurescript (168)
- # core-async (8)
- # css (6)
- # datavis (39)
- # datomic (67)
- # devcards (2)
- # dirac (1)
- # editors (9)
- # emacs (13)
- # events (2)
- # hoplon (2)
- # jobs (9)
- # ldnclj (38)
- # lein-figwheel (9)
- # leiningen (7)
- # luminus (4)
- # off-topic (77)
- # om (114)
- # omnext (1)
- # onyx (221)
- # parinfer (10)
- # portland-or (5)
- # proton (3)
- # re-frame (24)
- # reagent (14)
- # ring-swagger (13)
jak dla mnie zaczynanie od monolitu to proszenie sie o klopoty bo jak juz sobie uswiadomisz ze cos zjebales to wszystko jest tak zaplatane ze i tak nic z tym nie zrobisz 😛 a tak na serio to mysle ze kwestia podejscia, obecnie dla mnie jakis mikroserwisy sie bardziej sprawdzaja. dziele sobie zawsze jakos funkcjonalnie ze kazdy ma robic jedna rzecz i przynajmniej mam w miare maly codebase w kazdym
Bo nagle jakiś bardzo inteligentny człowiek wsadził logikę do callbacku lifecyclowego modelu
no ale w mikroserwisach jak chcesz czesc zupdateowac to nie musisz calej apki ponownie deployowac tylko sobie jeden mikroserwis zmieniasz i spoko
plus kwestia gdzie sie ta aplikacja znajduje, bo wiadomo nie bede pisac mikroserwisow na desktopa, ale tutaj tez wole mocna separacje
przecież to bez znaczenia czy masz monolit czy mikroserwisy. spaghetti da się zrobić i w jednym i drugim podejściu. to raz mikroserwisy można uruchomić na jednym jvm a monolit można rozproszyć
wiem ze sa pewne wady jak np deployowanie to masakra w porownaniu do monolitu (z reguly) albo dochodza kolejne problemy jak service discovery
jak dla mnie tak, jak odkryje ze gdzies mialem jakis blad to nie musze wszystkiego deployowac ponownie. tylko sobie ubijam mikroserwis i szybko stawiam nowy
Ja generalnie nie mówię, że mikro są złe, tylko po prostu to nie jest dobry wybór na początek, jak jeszcze nie znasz dokładnie swojej domeny.
Ale jak już ją dość dobrze znasz, i twoja aplikacja jest już pewnej skali to na pewno ma to wiele zalet (vide Netflix).
no ale to i tak czy piszesz monolit czy mikroserwisy musisz sie wczesniej zastanowic nad domena rozbic na jakies funkcjonalnosci i wtedy zaczac klepac. i wydaje mi sie ze latwiej zmergowac 2 serwisy w jeden w systemie gdzie masz dosc luzne polaczenia niz w monolicie w ktorym latwiej (a przynajmniej dla mnie ;p) narobic zamieszanie i pracujesz nad jednym codebase'm.
no co komu pasuje. ja mam skrzywienie ze nawet apka desktopowa to tak naprawde 2 osobne czesci, ale nie mowie ze to jedyne sluszne podejscie tylko takie jakie mi obecnie najbardziej pasuje
Nie no, znaczy jasne że SRP, blah blah blah, ale wydaje mi sie że pewne rzeczy jest trudno ocenić a priori
Czytam tak sobie teraz DDD Evansa właśnie i są różne takie przykłady a propos rozumienia dziedziny i jak to może być niekoniecznie trywialne
Ja się zupełnie zgadzam z tym że taka separacja po bounded contextach jest jak najbardziej na rzeczy (Evans nawet miał prezentację na jakiejś konferencji ostatnio o mikroserwisach w kontekście DDD)
a co do designu od ogolu do szczegolu to calkiem spoko prezentacje widzialem ostatnio: https://www.youtube.com/watch?v=Tb823aqgX_0 o odwrotnym podejsciu
Jakby co to to jest ta prezka o której mówiłem - https://www.youtube.com/watch?v=yPvef9R3k-M
no tez o DDD duzo slyszalem wiec sobie prezentacje obadam, ale kiedys pracowalem przy jednym systemie ktory podobno zalozenia DDD spelnial i to byla tragedia
to u nas jakos doszlo do tego, ze chcemy ustalic “jezyk systemu” i pozostawic reszte kwestii kreatywnosci ownerow poszczegolnych modulow
no, ale projekt rozpina sie w sumie na kilka takich wyraznych domen i one sie pokrywaja jakby z tym jak ludzie w biurze siedza 😄
A nie że przychodzi koleś i chce aplikację do zarządzani spedycją, a ty nie wiesz jak działają listy tranzytowe czy inne rzeczy
A dużo klientów myśli na zasadzie "ej dobra małpki, ja wam mówie zróbcie aplikacje, ale nie wytłumaczę wam jak, domyślajcie się"
a najbardziej wkurzajace jest gdy ludzie maja pisac cos co jakistam projektant wyrysowal ale nie maja najmniejszego pojecia co to jest i po co i jest wieczny ping pong
DDD to właśnie taka odpowiedź na to, że spoko analityk sobie przeanalizuje, może nawet dobrze
wydaje mi sie ze generalnie podzial na analitykow/projektantow/programistow jest dosc sztuczny
To prędzej czy później ten pięknie zaprojektowany a priori model się rozjedzie z rzeczywistością
jak kiedys pracowalem przy projekcie w domenie ktorej kompletnie nie znalem to mialem staly kontakt z klientem
wiadomo, ze projekty sa rozne itp ale mam wrazenie ze programisci pracuja zdecydowanie szybicej i lepiej jak maja dosc wolna reke 😜
No nie mogą mieć też za wolnej, bo zarządznie programistami to jak wypasanie kotów, ale tak - za duże ograniczenia śmierdzą.
No i Evans też to porusza, że każdy z programistów powinien być w jakimś stopniu analitykiem, a przynajmniej powinno być kilkuta takich którzy są dobrymi analitykami i programistami jednocześnie