Poster taggade med ‘jobb’

Maven, som tillämpar en livscykelbaserad ansats, kommer med en tydligt fördefinierad bygg- och distribueringsprocess där användaren endast behöver lära sig ett litet antal kommandon för att bygga sin artefakt. I POM:en talar vi om hur projektet ska se ut och vad det ska innehålla. Här definierar vi upp hur projektet paketeras och vilka beroenden det har. Hur Maven sedan hanterar projektet när det utför sitt jobb bestäms genom mål (goals) knutna till ett gäng bestämda faser (phases) i olika livscykler (lifecycles).

Kort och gott innebär detta att du, när du kör ett Mavenkommando, talar om för Maven att gå igenom ett antal faser och att exekvera de mål som hör till varje fas.

Illustration över Mavens olika nivåer
Illustration över Mavens olika nivåer

Maven har tre inbyggda livscykler:

  • default (även kallad build) som hanterar deployment
  • clean som sköter rensning av projekt
  • site som hanterar projektdokumentering

Var och en av dessa cykler innehåller ett antal faser som representerar ett specifikt steg i cykeln. Exempelvis innehåller defaultcykeln fasen compile som ansvarar för kompilering av källkoden. Trots att varje fas har en specifik uppgift kan sättet den utför sin uppgift på variera då det är de mappade målen som i slutändan bestämmer vad som faktiskt sker. Vilka mål som knyts till vilken fas bestäms dels och framöverallt genom sättet artefakten paketerats men också genom de plugins som sugs in i projektet.

Som bilden ovan visar kan ett mål kan vara knutet till ett, flera eller inga faser precis som en fas kan innehålla noll eller flera mål. Ett fristående mål kan exekveras utanför livscykeln samtidigt som ett mål mappat mot flera faser körs en gång för varje mappning. Faser innehållandes multipla mål exekverar dessa i samma ordning som de deklarerats i POM:en. Däremot kommer en fas utan några mål aldrig att exekveras.

Defaultcyklen – för många användare den mest betydelsefulla cykeln då den fungerar som en generell modell för en applikations byggprocess – innehåller sammanlagt 23 faser. Nedan listar jag de mest framträdande av dessa:

Validate
Bekräftar att projektet är korrekt och att all information som behövs för att slutföra ett bygge finns tillgänligt.

Compilie
Komplilerar källkoden.

Test
Testar den kompilerade koden mot uppsatta tester.

Package
Paketerar den kompilerade koden till ett distribuerbart format (exempelvis .jar).

Integration-test
Om så är nödvändigt läggs den paketerade koden ut i en miljö anpassad för att köra integrationstester i.

Verify
Kör uppsatta kontroller för verifiering av paketets giltighet samt kontrollerar att paketet möter alla kvalitetskriterier.

Install
Installerar paketet i det lokala repot och kan nu användas som ett beroende i andra projekt lokalt.

Deploy
Kopierar det slutgiltiga paketet till ett remote repo för delning med andra projekt och utvecklare.

Utöver dessa faser tillkommer mellanfaser vilka bland annat hanterar förberedelser som att kopiera och flytta resurser till rätt kataloger samt post-process-steg som att städa upp efter körda tester. Här hittar ni den kompletta listan över faser.

Höstterminen sparkade igång rejält igår med en mycket trevlig after work på Cygnikontoret! Det var grym uppslutning och det bjöds på bland annat Limbo av Jonas och Mikael Elm. Sedan gick vi vidare till nyöppnade Bishops Arms som ligger ett par kvarter från kontoret.

Det är en hel del jobb för Metro just nu så vi har finbesök på kontoret av Anders som jobbar med AllaStudier. Emil B kommer och förstärker från nästa vecka och de kommer att jobba med AllaStudier fram till början av september. Efter det kommer Emil B och Anders att påbörja uppdrag hos Max Matthiessen.

Säljet jobbar med att svara på en RFI gällande en sajt för ett stort fackförbund och det verkar riktigt spännande. Vi rullar även på med rekryteringen och har lite kandidater i pajpen. Framför allt så har vi fått bra respons på våra annonser gällande juniora utvecklare – det plingar in ansökningar varje dag!

Nästa lördag är det dags för Bellmanstafetten igen och vi ställer som vanligt upp med tre starka lag.

Nästa Cygni-aktivitet är höstkickoffen som går av stapeln på Thoresta Herrgård den 9-10 september. Temat kommer att vara sälj och som vanligt konfererar vi på fredagen följt av middag och sedan hemfärd på lördag morgon.

Hoppas att ni får en riktigt härlig helg allihopa!

Nu är det återigen kortvecka och sommarstämningen börjar märkas av ordentligt. Trots det händer det massvis på kontoret!

Veckans viktigaste nyhet är att hemmabioanläggningen på kontoret är fixad – i princip… Bild och ljud fungerar samtidigt för första gången sedan Elton ”lillankan” Hedström var här och trixade för några månader sedan :-) Obs att subwoofern dock fortfarande är trasig och är inlämnad för lagning.

En annan rolig nyhet är att vi fortfarande ligger högst på Google-sökningen Stockholms bästa konsultbolag och det beror så klart på att vi har Stockholms bästa konsulter. En annan framgångsfaktor är att vi gör roliga saker tillsammans för att ”bygga laget”. Nu är det ju inte så många aktiviteter under sommaren – den enda aktivitet som står på agendan (som jag känner till) är Pollux-frukosten den 7/7. Annars så drar det hela igång igen i augusti med Midnattsloppet den 13/8 och after work på kontoret den 18/8. Höstterminens preliminära schema ser ut så här:

  • 2011-08-13: Midnattsloppet
  • 2011-08-18: After work på kontoret
  • 2011-08-27: Bellmanstafetten
  • 2011-09-09: Höstkickoff med övernattning
  • 2011-09-28: Konsultmöte
  • 2011-10-20: Konsultmöte
  • 2011-11-09: Konsultmöte
  • 2011-12-01: Konsultmöte
  • 2011-12-16: Julmiddag

Utöver detta kommer vi så klart att sockra detta med fler After Works, frukostar och Cygniluncher.

Vår nya sajt cygni.se innehåller ju en mängd olika informationsflöden för att hålla sajten levande. Stacktrace, jobbannonser och pressmeddelanden har vi ju haft tidigare men Cygnibloggen är ett nytt flöde som visar lite vad som händer här på kontoret. Jag har nu även lagt till ytterligare ett flöde som kallas Läst på Cygni som innehåller länkar till olika tekniska artiklar som vi Cygnianer läst. Jag har beskrivit hur detta fungerar tidigare men kort så går det hela ut på att bookmarka/tagga intressanta artiklar via Delicious och sen fixar Twitterfeed, Twitter och WordPress-plugins resten.

Beläggningen inför hösten börjar se riktigt bra ut nu – vi har konkreta säljhugg på i stort sett alla som kommer loss under augusti/september. Mikael Thorsson blev idag klar för Aftonbladet och börjar där 5/9. Under denna och nästa vecka är det intervjuer på ett stort spelbolag samt för en av Sveriges största sajter. Spelbolaget har redan bestämt sig för att ta in Patrik Brännström som exekverade en bländande intervju idag så han börjar där 1/9 efter sin föräldraledighet. Den stora svenska sajten känns också superkul eftersom de verkar driva roliga och utmanande projekt som nog passar oss perfekt.

Jag har lagt ut en rekryteringsannons på LinkedIn för att testa lite nya rekryteringskanaler. Jag kommer dessutom att börja jobba med ett par nya rekryteringsfirmor för att se ifall vi kan hitta potentiella Cygnianer. Det känns som att vi kommer att ha bra sprutt på rekryteringen inför hösten.

Hoppas att ni får en härlig midsommar. Själv drar jag otippat nog till Göteborg och har Googlat upp lite GBG-fakta. I fotbollslaget IFK Göteborg fanns 1982 inte mindre än fyra Glenn: Glenn Hysén, Glenn Strömberg, Glenn Schiller och Glenn Holm.

IFK Göteborg 1982
Den omedelbara frågan som poppar upp då är naturligtvis vad som händer om Glenn Hysén gifter sig med Glenn Close :-)

Vi försöker hålla vår sajt levande genom kontinuerligt fylla på sajtens innehåll via olika informationsflöden. Våra nuvarande flöden inkluderar:

  • Stacktrace: vår gemensamma teknikblogg där vi skriver allt från korta tips till längre artiklar
  • Cygnibloggen: här kan du läsa om vad som hänt på Cygnis konsultmöten, senaste nytt från Cygnis kontor och reflektioner från ledningen
  • Pressmeddelanden: officiella nyheter om nya kunder, ramavtal och liknande
  • Jobbannonser: här postar vi kontinuerligt nya jobb och karriärsmöjligheter på Cygni

Twitterintegration
Idag så fyller vi på med ett nytt informationsflöde som vi kallar Läst på Cygni. Det innehåller länkar till olika artiklar som konsulterna på Cygni läst den senaste tiden.

Några av våra konsulter driver detta flöde genom att skapa bokmärken för intressanta artiklar via Delicious och tagga dem med en speciell tagg. Delicious erbjuder automatiskt ett RSS-flöde för varje sådan tagg och detta flöde läser vi in via online-tjänsten Twitterfeed för att sedan pumpa allt vidare till twitter.com/cygniab och paper.li/cygniab. Eftersom cygni.se är en WordPress-sajt så finns ett otal integrationer färdiga mot Twitter så innehållet från twitter.com/cygniab behövde bara CSS:as för att det skulle passa bra med det övriga innehållet.

Så… kolla gärna in detta informationsflöde som visas på flera av våra sidor här på cygni.se, följ oss på twitter.com/cygniab eller läs vår tidning på paper.li/cygniab! Diagrammet till höger som är genererat via yUML illustrerar flödet grafiskt för den intresserade.

Jag läste en intressant och nästan lite oroande intervju med Cliff Click i TheServerSide om Javas minnesmodell, trådsäkerhet, multiprocessorsystem och problem runt detta. Flera CPUer eller andra CPU-familjer (speciellt icke-x86 CPUer) ger komplikationer för multitrådade javaprogram. Det finns risk att ditt program slutar fungera, går betydligt långsammare eller timeoutar om du lämnar din enprocessormiljö.

Intervjun är tekniskt avancerad och lärorik – läs den!. För er som inte orkar läsa den följer här en sammanfattning av vad jag tyckte var intressant och som jag fattade något av.

Läs mer >>

Torben berättade att MySQL 5 just släppts! Det är ju en stor nyhet, så det första man försöker göra är ju att läsa på lite om de nya grejerna. Men klickar du på ”Read the Whitepaper” så får du, istället för snygg och överskådlig information, ett registreringsformulär i ansiktet. Sånt tycker jag är väldigt tråkigt, och jag förstår inte hur ett bolag kan lägga ner så mycket jobb på att hindra folk från att läsa säljinformation om deras produkter…

Det verkar förresten som om jag inte är ensam om mina åsikter om detta