Fork me on GitHub
#clojure-norway
<
2022-08-26
>
slipset05:08:37

Hvilken dag er det i dag? hvilken dag er det idag? Er det zombie-dag? Ja!

😍 1
🧟 4
cjohansen06:08:59

Braaaaaaains morgen!

magnars07:08:24

God morgen, ja 😊 Her er Episode 26: Max Payne https://www.zombieclj.no/s02e26.html

cjohansen07:08:46

BrÄ slutt pÄ jula

magnars07:08:08

Som seg hĂžr og bĂžr. Andre juledag er det pĂ„ hue og rĂŠvva ut med juletre og nisser. 😅

oddsor09:08:15

Juletreet skal stÄ til langt uti januar! tree-shake

magnars09:08:51

For Ă„ vĂŠre ĂŠrlig sĂ„ har vi laaang jul her i huset ogsĂ„, men det passet ikke sĂ„ bra med narrativet her. 😅

oddsor09:08:19

helt fair, av og til mÄ realiteten tilpasse seg narrativet :thumbsup:

😁 1
magnars07:08:14

og inn med klassiske finske skytespill

😂 1
slipset08:08:27

I dagens episode hadde det vel vĂŠrt fint med et typesystem, idet health gikk fra Ă„ vĂŠre int til {:current int, :max int}?

magnars08:08:50

tja, hvor mange minutter hadde vi spart pÄ det? hvor mange minutter tapt?

slipset09:08:30

Uansett, poenget med Ä fordumme klienten er jo helt konge. Isteden for at klienten mÄ vÊre smart (og deale med tall og greier), sÄ endte dere med at klienten bare looper over noe data, og ferdig.

magnars09:08:21

veldig deilig konsept!

cjohansen09:08:16

Veldig fint nĂ„r man klarer Ă„ finne en sĂ„ ren arbeidsfordeling. Serveren er smart, klienten er dum. NĂ„r det blir “kode” pĂ„ klienten sĂ„ er noe gĂŠernt.

slipset10:08:08

Det er forĂžvrig en interresant pĂ„stand. Hos oss er vi helt klart delt i frontend og backend utviklere, selvom noen av oss er full stack. Historisk sĂ„ er frontenden skrevet med Backbone, hvilket betyr at backenden startet som en relativt dum database med et forferdelig spĂžrresprĂ„k, REST. Vi ser at vi “hele tiden” debaterer om hvor mye logikk som skal ligge pĂ„ frontend vs backend, hvor skreddersydde endepunktene skal vĂŠre for de operasjoner som gjĂžres, eks. PUT /api/user vs POST /api/user/reset-password

slipset10:08:39

Det er ogsÄ et spm om hvem som skal sÞrge for denormalisering av data, om det gjÞres pÄ frontend eller backend.

cjohansen10:08:05

VÄger meg pÄ en pÄstand til da: Det er lettere Ä hÄndheve en god arbeidsfordeling mellom frontend og backend nÄr de samme folka har tilgang pÄ begge steder. KjÞr debatt!

cjohansen10:08:40

Jeg tenker at det er lettere Ä ta gode valg pÄ kodens vegne om det ikke ogsÄ legger fÞringer for hvem som mÄ gjÞre jobben (og hvorvidt de er tilgjengelige, osv)

🎯 2
magnars10:08:45

Velkommen til Conway's law 🙂

😄 2
slipset10:08:16

Allé har tilgang, men ikke alle har viljen.

slipset10:08:05

Og, vi har videre forsterket Conway ved Ä ha forskjellige sprÄk foran og bak.

cjohansen10:08:29

Et frontend-team og et backend-team skaper en illusjon om et skarpt skille, som i praksis er en stor grĂ„sone. Det er noen ting som helt klart er “ren frontend”: designrammeverk, tilstandslĂžse komponenter, og lignende. Og sĂ„ er det “ren backend”: persistering, integrasjoner osv. Men dataflyt foregĂ„r pĂ„ begge sider av skillelinja. Det er lettere Ă„ lage god dataflyt om man ser pĂ„ helheten, heller enn halve jobben pĂ„ hver side av en mer eller mindre arbitrĂŠr grense.

cjohansen10:08:04

Jeg syns ihvertfall at det er mye morsommere Ă„ jobbe i web-prosjekter som ikke har denne delingen, for man kan se lĂžsningen mer under ett, og jeg opplever at mye av tiden min brukes “i midten” der, hvor ting kan vĂŠre bĂ„de frontend og backend, men hvor kontekst, gjeldende arkitektur, eksterne krav osv tipper balansen den ene veien eller andre.

🎯 4
slipset10:08:37

Ikke uenig.

hkjels10:08:30

Utrolig kjedelig Ä vente pÄ en bestilling som aldri fullfÞres. I mine Þyne sÄ er fordelingen back-end/front-end helt meningslÞs nÄr man har Clojure som kan leve pÄ begge sider

hkjels10:08:24

er man bundet av legacy og andre sprÄk, sÄ har jeg noe mer forstÄelse

msolli11:08:46

For Ă„ sette det pĂ„ spissen: Tenk om backend-teamet mĂ„tte koordinere med et database-team for Ă„ fĂ„ skrevet spĂžrringer. Det er jo ulike sprĂ„k! (SQL, Datalog osv.) Og koden kjĂžrer pĂ„ en annen maskin! PĂ„ en helt annet “stack”! Det blir jo absurd. Men det er den slags tankegang som synes Ă„ styre den utbredte oppdelingen i frontend og backend. Det er et skille som er trukket opp tvers over HTTP-protokollen og pĂ„ tvers av hensynet til brukerne (de bryr seg ikke nĂždvendigvis om hvor koden kjĂžrer og hvilket sprĂ„k den er skrevet i).

msolli11:08:53

Noen steder med frontend-team har jeg sett at de med hell har tatt kontroll over “sin” del av backenden ved Ă„ lage en egen web-backend (BFF - Backend For Frontend). Denne kan ha ansvar for web-greier, autentisering og den slags, og delegere til den “ekte” backenden for forretningslogikk.

augustl11:08:36

var pÄ et prosjekt hvor vi hadde teams for frontend/backend separert. Men det handlet mere om hvem som var i mÞter og hvem som var pÄdrivere osv. NÄr vi pÄ frontend/app trengte noe nytt i backend, lagde vi det sjÊl

cjohansen12:08:14

@msolli BFF Ă„pner for Ă„ ta bedre avgjĂžrelser for en stĂžrre del av kodebasen, men i byttet mot enda en HTTP-vegg 😅 Det blir bedre, men fortsatt vil det vĂŠre ting som mĂ„ “bestilles”, og Conway lever videre

msolli13:08:28

Absolutt - det var mer en observasjon jeg har gjort meg for noe som har fungert nĂ„r man ikke kan, i hvert fall pĂ„ kort sikt, ta kontroll over hele “verdikjeden”. Og sĂ„ kommer det jo an pĂ„ hvor ofte ting endrer seg i forretningen. Jo flere endringer, jo viktigere at ett team har kontroll pĂ„ alt sammen.

cjohansen13:08:18

Og det er helt klart bedre enn et helt strikt skille

restenb14:08:56

jeg har jobbet i systemer med mye fysikk-basert forretningslogikk som jeg ikke nÞdvendigvis skjÞnner eller bryr meg sÄ mye om. denne foregikk pÄ en annen server og/eller prosess enn min web-backend, hvor jeg hadde kontroll pÄ stacken frem til og med grensesnittet imot "alle de der ligningene", som noen andre jobbet med. det var egentlig fullstendig problemfritt.

☝ 1
👍 1
augustl14:08:29

noen ganger jobber Conway’s lov til vĂ„r fordel 🙂

restenb14:08:16

hehe, gitt at kommunikasjonen mellom partene er god nok sÄ er det Conway's lov i praksis det. nÄr jeg tenker tilbake, hadde vi god kommunikasjon. selv om "fysikerne" etterhvert ble mer programmeringskyndige og klÞdde seg inn i kodebasene jeg satt med, gikk det ogsÄ greit for det meste.

augustl14:08:32

godt poeng! Conway’s lov adresserer jo spesifikt kommunikasjonshierarkiet, ikke beslutningshierarkiet

teodorlu16:08:58

Hvis kompetanseskillet "noen kan frontend, andre kan backend" er problematisk, finnes det bedre mÄter Ä dele inn kompetanse? Som ikke antar at man trenger Ä kunne alt? Jeg har sett inndeling etter backend / frontend og inndeling etter "slice av produktet", men jeg har ikke sett noen andre mÄter Ä gjÞre det pÄ.

isak16:08:55

Jeg forstÄr egentlig ikke den tankegangen at man jobber pÄ backend og ikke gidder Ä lÊre seg litt frontend. Da hÄper jeg de jobber med noe ekstremt kompleks, som et operativ system, relational database, osv. Men hvis man har ekstremt god kommunikasjon og sammarbeid med noen som kan det gÄr det sikkert fint. Det blir kanskje ogsÄ litt mere gÞy enn Ä gjÞre hele featuren selv.