Poster taggade med ‘programmering’

Apache Camel är ett javabaserat integrationsramverk som innehåller en mängd komponenter. När man konfigurerar kan man använda Spring xml, annoteringar och en Java DSL. Allt är väl beskrivet på Camels hemsida. Eftersom Scala är utvecklat för att enkelt kunna integrera med Java och Javas ramverk är det inte konstigt att är väldigt enkelt att integrera Scala-komponenter i Camel. Det finns även en Scala DSL som kan användas för att konfigurera Camel-routar med. Jag har skrivit ett litet Scala-Camel projekt, WeirdTranslator för att visa på hur Scala i Camel kan fungera. WeirdTranslator är  en variant på viskleken, man tar en mening och översätter den mellan ett antal språk och avslutar med att översätta till ursprungsspråket. I detta fallet finns det två vägar att få in och ut text antingen via GTalk, XMPP, och direkt med en TCP socket.

Läs mer >>

Detta inlägg ingår i serien Spring från början och kommer att förklara designmönstren Inversion of Control (IoC) och Dependency Injection (DI).

Inversion of Control

Inversion of Control (IoC) är egentligen ett samlingsnamn på en mängd mönster. Dessa mönster uppträder ofta i ramverk. Huvudpoängen är att det inte är den egna applikationskoden som styr programflödet utan att detta sköts av ramverket. IoC är också lite informellt känt som ”Hollywood Principle” – ”don’t call us, We’ll call you.”
Läs mer >>

Snart är det sommar och vad passar bättre än lite javalektyr i hängmattan?

Effective Java av Joshua Bloch
Det här är en allmän bok som berör mycket som en javautvecklare stöter på i vardagen. Boken är uppdelad i 10 kapitel med ett antal tips i varje, totalt 57st. Tipsen är av allmän karaktär och är därför relativt tidlösa och obundna till ev ramverk som används. Ibland kan tipsen kännas basala men läs vidare, motiveringarna är mycket bra och där finns mycket att hämta. Många gånger är tipsen kopplade till missar eller framgångsrecept i javas API.

Det är inte en förstabok i java utan kräver att man kan språket. I och med dess ganska breda och grundläggande upplägg rekommenderar jag den inte för experter. Tex om man har jobbat mycket med parallell programmering i java bör man inte köpa boken för dess kapitel om trådning.

Joshua har arbetat mycket med API-design vilket märks i boken, mycket av vad han skriver är riktat till utvecklare av återanvändbara komponenter. Även om man inte jobbar med API-design finns det stora fördelar med att arbeta med återanvändbarhet i åtanke.

Överlag tror jag att få har glädje av allt innehåll i boken men alla har glädje av något.

Självtestfråga:
Arv, delegering samt dekorering är tre sätt att realisera återanvändbarhet av kod. Vad finns det för fördelar/nackdelar mellan arv/dekorering? Vad är det för skillnad mellan dekorering och delegering?

Känns frågan relevant? Vill du veta svaret? Läs boken

Mer info om boken

Java theory and practise
Om du är sugen på mer av samma sort kan jag rekommendera Brian Goetz artiklar i ”Java theory and practise”, han är en av utvecklarna bakom mjukvaran findbugs. Nivån och upplägget är likt det i Effective Java.

Ex på fråga man får besvarad i artikeln Safe construction techniques: Vad kan det finnas för fallgropar med att starta en ny tråd i en konstruktor?

Samtliga artiklar