Stacktrace

Sida 10/22:1...8910111220...22

Idag startar vi en spännande artikelserie: Spring från början! Vi är några Stacktrace-skribenter som planerar att tillsammans ge en steg-för-steg-introduktion till Spring. Vi kommer att börja från grunden med att beskriva designmönstret Dependency Injection och varför det är relevant för Spring. Sen kommer vi att bygga vidare med olika sätt att sätta ihop och konfigurera Spring-applikationer och fortsätta med att gå in på Springs utmärkta stöd för andra ramverk och tekniker.

Artikelserien vänder sig i första hand till nybörjare och relativt oerfarna Spring-utvecklare, men alltefter som vi går in på djupet i olika teknikområden hoppas och tror vi att  det ska finnas intressant information även för de mer erfarna.

Vi kommer att uppdatera den här texten med en aktuell innehållsförteckning varje gång ett nytt avsnitt finns tillgängligt, så sätt gärna ett bokmärke här!

Innehållsförteckning

Fastän man inte är en Linux-admin så är det inte helt ovanligt att man hamnar i situationer där man måste knacka ihop ett eller flera skript som gör något smart och nyttigt. Om du då är som mej och måste sitta och googla en massa för att lyckas få skriptet att göra den enklaste grejen så är det här tipset kanske något för dej. Jag tänkte visa hur enkelt det är att använda sig utav Groovy när man skriver sina shellskript. 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

Tänkte bara att jag skulle tipsa om en nättidning, Full Circle. Detta är en tidning där alla artiklar har en koppling till Ubuntu. Den fyllde precis 1 år och det kommer ett nytt nummer varje månad, vilket betyder att det just nu finns 12 nummer att läsa. Det är kanske inte en tidning som riktar sig mot en Linux-guru, utan snarare mot oss vanliga Linux-diggare. Men är man en Linux-guru så är det inget som hindrar från att man bidrar med intressanta artiklar som har en koppling till Ubuntu.

Häromdagen råkade jag hitta eclipse-pluginen q4e som gör att du kan använda Maven 2 från Eclipse IDE. Projektet huserar på Google Code och några av de features som nämns är:

  • Köra Maven goals från IDE:n
  • Dependency management via Maven POM, automatisk nedladdning av beroenden
  • Hålla Eclipse classpath i sync med Maven POM
  • Beroendegraf
  • Import av Maven 2 projekt
  • Wizard för att skapa nya projekt genom archetypes
  • Möjlighet att importera parent projekt (POM projekt)
  • Möjlighet att avbryta Maven-byggen
  • Beroendeanalysverkty
  • WTP-stöd 

Pluginen har väldigt många av de features som finns i pluginen m2eclipse som jag tidigare skrivit om här. Efter att ha labbat lite med pluginen så har jag fått känslan av att q4e är stabilare, rappare och snyggare än m2eclipse, dock krävs Eclipse 3.3  (m2eclipse går att köra på Eclipse 3.2). För mer information gällande q4e rekommenderar jag deras wiki och denna jämförelse mellan m2eclipse och q4e.

Som de flesta vet så finns det fyra olika synlighetsnivåer för metoder och fält i en klass i Java – private, protected, ”package private” och public. I vissa fall kanske jag vill ha en metod som är privat för klasser utanför min komponent (där det ofta är en paktstruktur med flera nivåer), men som samtidigt är tillgänglig inom komponenten. Så länge alla mina klasser ligger inom ett paket (t.ex. se.cygni.blah) så kan jag alltid sätta ”package protected” på de metoderna, men oftast används en hierarkisk paketstruktur, vilket försvårar. In kommer nu då ”superpackages” i Java 7, som också ger lite mer godis när man skapar komponenter. Elliotte Rusty Harold har skrivit en bra artikel om de nya superpaketen på java.net och den hittar ni här.

Elliotte har också två nyhetssidor som jag tycker är värda att nämna, Cafe au Lait för javanyheter och Cafe con Leche för xml-nyheter.

För ett tag sedan så skrev jag en liten intro till Grails, och då använde jag version 1.0RC1, nu har äntligen Grails 1.0 släppts. Mer kan läsas här och du kan ladda ner Grails här.

Personligen så gillar jag Grails, men för att jag verkligen skall sugas in så krävs det betydligt bättre IDE stöd. Jag har iof bara testat stödet i Eclipse, men det suger. Vad jag har läst så skall IntelliJ:s stöd vara rätt kasst oxå. Det sägs att nästa version av NetBeans skall ha stöd för Grails (pluginer för Groovy och Grails började utvecklas till NetBeans i november -07), förhoppningsvis kommer det att vara bra. Men visst tusan vore det skoj att få vara med i ett ”riktigt” projekt som använder Grails…

Yahoo! har just meddelat att alla som har ett Yahoo!-konto kommer att kunna använda detta som ett OpenID inom kort. Det är naturligtvis ett riktigt stort steg för användandet av OpenID-konton. Men ärligt talat hade jag blivit ännu gladare om de istället hade meddelat att man hade kunnat använda vilket OpenID som helst för att skapa konton och använda tjänster hos Yahoo!

Nu väntar vi bara på Google! Kommer de att göra ”rätt sak” och låta mig logga in på mina Google-tjänster med mitt OpenID?

Läs mer om vad OpenID är för något i min introduktions-artikel.

Sida 10/22:1...8910111220...22