söndag 30 september 2012
Grails och JavaOne - Nytt JUG-möte!!
Hej på er!
Efter sommarens lite för långa uppehåll så drar vi igång jug:en igen!!
Vi öppnar starkt med en favorit i repris, Adam berättar om Grails och kanske lite Groovy också (??)
Sen kommer vi även få några intryck från JavaOne från JUG:ens representant over there, Demas.
Vi kör onsdagen den 10/10 i Persistent Solutions/Knowits lokaler på Trädgårdsgatan 5 (ovanför systemet vid Juneporten). Persistent Solutions bjuder på mackor.
Anmäl er via Google Groups
Väl mött!!
/Martin
P.S Ni har väl inte glömt att gå med i Google Groups gruppen??
torsdag 20 september 2012
Agil utveckling. Tio punkter i en utvecklares arbete som gör skillnad
Att vara utvecklare är inte ett åtta till fem jobb. Det är mer ett åtta till kvart över fem jobb. Vi måste konstant lägga tid och energi på att bli bättre. Detta gäller inte bara teknik utan även metodik.
Agil utveckling är mer än scrum boards och stå upp möten. Det är helt avgörande att du stoppar rätt metoder i den process som scrum utgör.
"Vill bara säga att det var riktigt bra föredrag! Har redan haft användning för kunskaperna
(har argumenterat för att bryta ned åtgärderna till max 8 h (med hänvisning till ditt föredrag)
på ICC retrospektivet)"
- Hans-Jörgen Wirehag, Jordbruksverket.
Presentationen:
Agil utveckling. Tio punkter i en utvecklares arbete som gör skillnad
TOC
2. Acceptera tre enkla sanningar
3. Leverera ofta
4. Sätt ambitionsnivån högt, och håll kvar den där
5. Gör dig själv onödig
6. Få situationen att synas tydligt
7. Gör teamet ansvarig
8. Heja på varandra
9. Det finns inte bara en ledare
10. Kaizen
http://agilemanifesto.org/
Scrum checklist från Crisp:
https://dl.dropbox.com/u/1018963/Scrum-Checklist/Scrum-checklist.pdf
Martin Fowler i ämnet "The New Methodology"
http://martinfowler.com/articles/newMethodology.html
Scrum är ingen metodik:
http://www.rational-scrum.com/2010/03/scrum-is-not-an-agile-methodology/
DDD, Skillnaden mellan entiteter och value objects:
http://devlicio.us/blogs/casey/archive/2009/02/13/ddd-entities-and-value-objects.aspx,
http://pragprog.com/book/pad/practices-of-an-agile-developer
Domain Driven Design Quickly:
http://www.infoq.com/news/2006/12/domain-driven-design
Clean code:
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
Fitnesse:
https://github.com/unclebob/fitnesse
Readable code - and the long lost secret of how to achieve it from JavaZone on Vimeo.
Uncle bobs svar:
https://gist.github.com/3753571
mvh
@demassinner
Agil utveckling är mer än scrum boards och stå upp möten. Det är helt avgörande att du stoppar rätt metoder i den process som scrum utgör.
"Vill bara säga att det var riktigt bra föredrag! Har redan haft användning för kunskaperna
(har argumenterat för att bryta ned åtgärderna till max 8 h (med hänvisning till ditt föredrag)
på ICC retrospektivet)"
- Hans-Jörgen Wirehag, Jordbruksverket.
Presentationen:
Agil utveckling. Tio punkter i en utvecklares arbete som gör skillnad
TOC
- Punkterna
- Tongivande källmaterial
- Länkar
- Böcker
- Källkod som är läsvärd
- Underhållande i ämnet läsa kod
Punkterna
1. Prata samma språk2. Acceptera tre enkla sanningar
3. Leverera ofta
4. Sätt ambitionsnivån högt, och håll kvar den där
5. Gör dig själv onödig
6. Få situationen att synas tydligt
7. Gör teamet ansvarig
8. Heja på varandra
9. Det finns inte bara en ledare
10. Kaizen
Tongivande källmaterial
Länkar
Manifesto for Agile Software Developmenthttp://agilemanifesto.org/
Scrum checklist från Crisp:
https://dl.dropbox.com/u/1018963/Scrum-Checklist/Scrum-checklist.pdf
Martin Fowler i ämnet "The New Methodology"
http://martinfowler.com/articles/newMethodology.html
Scrum är ingen metodik:
http://www.rational-scrum.com/2010/03/scrum-is-not-an-agile-methodology/
DDD, Skillnaden mellan entiteter och value objects:
http://devlicio.us/blogs/casey/archive/2009/02/13/ddd-entities-and-value-objects.aspx,
Böcker
Practices of an Agile Developer:http://pragprog.com/book/pad/practices-of-an-agile-developer
Domain Driven Design Quickly:
http://www.infoq.com/news/2006/12/domain-driven-design
Clean code:
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
97 Things Every Programmer Should Know:
Källkod som är läsvärd
Spring framework på git:
Fitnesse:
https://github.com/unclebob/fitnesse
Underhållande i ämnet läsa kod
Readable code - and the long lost secret of how to achieve it from JavaZone on Vimeo.
Uncle bobs svar:
https://gist.github.com/3753571
mvh
@demassinner
måndag 10 september 2012
Agil utveckling hos Jönköping Developer Dojo
Ni har väl inte missat att Demas ska prata om Agil utveckling på Jönköping Developer Dojo den 19/9!!!!
Missa inte detta!!
Mer info, och möjlighet att anmäla sig finns här:
http://www.linkedin.com/groups?gid=2588858&trk=hb_side_g
För övrigt så går vi en ny spännande höst till mötes och återkommer så snart som möjligt med ett datum för en ny träff med jug:en!
/Martin
onsdag 22 augusti 2012
Sommaren är inte slut än
Under någon veckas tid (då bloggen var oerhört tätt trafikerad) så gjorde vi en undersökning och ställde frågan om ni använder facelets. Av de åtta, mej själv inte inräknad, som svarade på undersökningen så var det bara en som svarade ja!
Nå, jag tar det som en inbjudan att evangelisera om facelets (kronjuvelen i JSF 2.0) inom en snar framtid...
Demas förbereder en föreläsning om agil utveckling och vilka verktyg det erbjuder utvecklaren. Håll ögonen på Jönköping Developer Dojo om ni är intresserade av att höra mer om detta.
Nå, jag tar det som en inbjudan att evangelisera om facelets (kronjuvelen i JSF 2.0) inom en snar framtid...
Demas förbereder en föreläsning om agil utveckling och vilka verktyg det erbjuder utvecklaren. Håll ögonen på Jönköping Developer Dojo om ni är intresserade av att höra mer om detta.
tisdag 3 juli 2012
AW fredagen den 6/7
Hej på er,
För er som kan och vill så träffas vi på Twin för lite after work kl 17:00.
Om ni anmäler er via får nya (!) google group:
https://groups.google.com/forum/?fromgroups#!forum/jkpgjug
så bjuder Sogeti på öl!
Väl mött!
/Jkpgjug (Martin)
torsdag 21 juni 2012
Certifierings race!
Certifierings race!
Säga vad man vill om certifieringar men de som har tagit dem vet att:- De är inte enkla (details matters)
- Det går inte utan ansträngning
- Man är en bättre utvecklare efteråt
Dessutom har Oracle i många fall sett till att höja priser och arbetsinsats. Man blir numera satt i skolbänken helt enkelt.
Ett annat problem är att det inte finns kursliteratur till alla certifieringar medans det till de populär områdena finns bra böcker och test cert.
Kostnad och arbetsinsatsen har alltså skjutit i höjden.
Trots att vissa är skeptiska till certifieringar så är vi i Jönköping Java User Group inte det, tvärt om!
Vi skall försöka få igång någon eller några studiecirklar för att peppa de hågade.
Eric Borgström har heroiskt tagit på sig att vara certifierings general. Har ni frågor eller vill ha råd så prata med honom. Polls och intresseanmälningar tas snart in.
Eric Borgstrom
@subgeneric
mvh
@demassinner
onsdag 13 juni 2012
Hej
Jag tänkte följa upp min föreläsning om Gradle på senaste mötet.
Tänk er följande scenario... vi utvecklar en web-applikation som kräver vissa externa resurser. När jag utvecklar applikationen har jag alla dessa resurser på min egen maskin. När kunden testar så har de en speciell testmiljö, och de har även en helt separat driftsmiljö. Jag behöver alltså kunna köra applikationen lokalt i min IDE under utveckling, samt bygga en specifik WAR för testmiljön resp. driftsmiljön.
Hur gör man det i Gradle?
I mitt exempelprojekt så är de externa resurserna definierade i filen system.properties. Just den filen används när jag kör lokalt. För att få rätt inställningar för t.ex. testmiljön så har jag en annan fil, system-test.properties, som jag ska använda istället för den vanliga system.properties. I driftsmiljön gör jag på samma vis med filen system-prod.properties.
build.gradle
apply plugin: 'war'
webAppDirName = 'WebContent'
war {
excludes = [ '**/system*.properties' ]
webInf {
from ("$webAppDirName/WEB-INF") {
include ("system-" + target + ".properties")
rename { String fileName -> fileName.replace("-" + target, '') }
}
}
}
Först konfigurerar vi Gradle för att bygga en WAR
Eftersom jag använder Eclipse som IDE och deras standardnamn och filstruktur, så måste jag definiera en property, webAppDirName, som används av WAR plugin'en.
Nu är det dags att konfigurera "task" war.
Jag börjar med att exkluderar alla properties-filerna. Sedan inkluderar jag enbart den properties-fil som jag är intresserad av, dvs. "system-" + target + ".properties" där target är en variabel som definieras senare. Till sist döper jag om filen till rätt namn genom att ta bort target ur namnet.
Det är allt som behövs i skript väg!
Nu återstår bara att definiera variabeln target och att bygga. Starta cmd.exe
> gradle -Ptarget=test war
eller
> gradle -Ptarget=prod war
Det var allt som morsan skickade med!
PS. En liten tanke som jag har haft länge...
Varför finns det inga open-source refactoring-verktyg för databaser?
/Anders
Jag tänkte följa upp min föreläsning om Gradle på senaste mötet.
Tänk er följande scenario... vi utvecklar en web-applikation som kräver vissa externa resurser. När jag utvecklar applikationen har jag alla dessa resurser på min egen maskin. När kunden testar så har de en speciell testmiljö, och de har även en helt separat driftsmiljö. Jag behöver alltså kunna köra applikationen lokalt i min IDE under utveckling, samt bygga en specifik WAR för testmiljön resp. driftsmiljön.
Hur gör man det i Gradle?
I mitt exempelprojekt så är de externa resurserna definierade i filen system.properties. Just den filen används när jag kör lokalt. För att få rätt inställningar för t.ex. testmiljön så har jag en annan fil, system-test.properties, som jag ska använda istället för den vanliga system.properties. I driftsmiljön gör jag på samma vis med filen system-prod.properties.
build.gradle
apply plugin: 'war'
webAppDirName = 'WebContent'
war {
excludes = [ '**/system*.properties' ]
webInf {
from ("$webAppDirName/WEB-INF") {
include ("system-" + target + ".properties")
rename { String fileName -> fileName.replace("-" + target, '') }
}
}
}
Först konfigurerar vi Gradle för att bygga en WAR
Eftersom jag använder Eclipse som IDE och deras standardnamn och filstruktur, så måste jag definiera en property, webAppDirName, som används av WAR plugin'en.
Nu är det dags att konfigurera "task" war.
Jag börjar med att exkluderar alla properties-filerna. Sedan inkluderar jag enbart den properties-fil som jag är intresserad av, dvs. "system-" + target + ".properties" där target är en variabel som definieras senare. Till sist döper jag om filen till rätt namn genom att ta bort target ur namnet.
Det är allt som behövs i skript väg!
Nu återstår bara att definiera variabeln target och att bygga. Starta cmd.exe
> gradle -Ptarget=test war
eller
> gradle -Ptarget=prod war
Det var allt som morsan skickade med!
PS. En liten tanke som jag har haft länge...
Varför finns det inga open-source refactoring-verktyg för databaser?
/Anders
söndag 3 juni 2012
Vi har klarat av andra träffen i ordningen.
Vi lever fortfarande :)Vi var hela 18 pers närvarande. Det var inte vilka personer som helst! En otrolig kompetens samlades under ett par timmar. En grupp människor som är intresserade av att lära, men också att lära ut. Det finns ett klart existensberättigande för en JUG i Jönköping.
Vi avverkade två intressanta punkter under förra veckans träff: Gradle och JRebel. Dessutom så träffades vi och hade väldigt trevligt.
Anders och Björn hard at work!
Trevligt :)
Ett antal punkter kom upp som intresserade oss:
- Enkelt, öppet och lättviktigt
- Mail lista
- Kunskap över företagsgränser
- Bloggen
- Återkoppling till föreläsningar
- Blixttal
Enkelt öppet och lättviktigt
Vi försöker vara öppna och lyhörda för önskemål. Enterprise som vi är (ibland tråkiga) så motarbetar vi det i JUG:en. JUG:en skall vara kul.Vi kommer dessutom att försöka vara transparenta (skriva långa blogginlägg).
Mail listan
Vi funderade tillsammans en stund på hur vi skall kommunicera ut JUG:ens aktiviteter. Twitter, LinkedIn och blogg, alla har sina brister.Det primära behovet är enkelt, kommunicera ut när vi skall träffas igen och ta in anmälningar om närvaro.
En enkel traditionell mail lista togs snabbt fram som det enklaste sättet. Vi vågade inte föreslå det själva eftersom det är lite enterprise :)
Mail samlades in och vi kommer att starta en Google group inom kort.
Kunskap över företagsgränser
Flera deltagare höll med om problemet att driva kompetensutveckling endast inom det enskilda företagets väggar. Känslan av att man är för få till antalet och har svårt att få fart på den typen av grupper nämndes. Självklart är konkurrerar inte JUG:en med sådana satsningar om de finns och fungerar.Bloggen
Vi har uppenbarligen en blogg :) Vi kom efter JUG:en fram till att alla som har haft en föreläsning får blogga om den. På detta sätt så kan folk synas samtidigt som vi behåller ett fokusområde. Alla föreläsare kommer att få en inbjudan och är fria att skriva ett inlägg eller bara publicera sin presentation.Har ni några andra idéer så är vi i idel öra.
Återkoppling till föreläsningar
Anders Johansson funderade på hur man kan ta hand om följdfrågor på en föreläsning. Detta är en intressant aspekt som även kan kopplas till det försök vi gjorde att ta in frågor inför träffen via bloggen.Här har vi inte funderat klart ännu. Men kommentarer till blogg inlägget borde kunna tjäna detta syfte.
Vi skulle gärna vila göra reklam för just detta att kanske sätta sig ner och skriva in en fråga på bloggen inför en träff. Det kan vara svårt för en föreläsare att veta vad man vill veta. Det är ju nästan alltid på lånad tid som man förbereder sig. All hjälp mottas därför tacksamt.
Blixt tal
En kul och intressant sätt att få prata av sig lite är blixtal. Formen av ett antal 5-10 minuters föreläsningar ger alla chansen att få prata om något som intresserar dem just då. JUG:en är inte heller ett forum som kräver professionella föreläsare, men kanske en grund för att bli ;)Fördelar:
- Liten förberedelse
- Kan vara hur nischat som helst
Tack till Consid för förtäring och trevliga lokaler :)
Mvh
@swooboo @mekermo @demassinner
fredag 25 maj 2012
Ändrad lokal för mötet 30/5
Hej,
Vi kommer att vara i Consids lokaler på Barnarpsgatan 13, ingång jämte tobaksaffär. Samma tid 17:30 och samma spännande agenda! Öl & mackor utlovas förstås.
Anmäl er gärna på twitter, linkedin eller vad ni nu gillar bäst (röksignaler någon?)
Vi kommer att vara i Consids lokaler på Barnarpsgatan 13, ingång jämte tobaksaffär. Samma tid 17:30 och samma spännande agenda! Öl & mackor utlovas förstås.
Anmäl er gärna på twitter, linkedin eller vad ni nu gillar bäst (röksignaler någon?)
tisdag 15 maj 2012
Dear!
Det var mycket som vi vill behandla :)
När fotot togs hade jag ändå lyckats demontera ner typ 10 lappar.
In no particular order:
https://docs.google.com/spreadsheet/ccc?key=0AuqBSQwKKIaNdGllZkd1Nkpyem9idkNrMnRwdDI1MGc
Trevlig kväll all u nerds!
Det var mycket som vi vill behandla :)
När fotot togs hade jag ändå lyckats demontera ner typ 10 lappar.
In no particular order:
- Best practices
- Prata programmering med andra intresserade
- Post mortems från intressanta projekt
- ...
- Effektivitet (Pomodoro/GTD)
- Java update/nyheter
- JavaOne
- Open source projekt att hålla koll på
- Stjärnföreläsare
- JSF
- ...
- RequireJS
- GIT
- RequireJS
- Grails
- Clojure
- Kator
- Molnet
https://docs.google.com/spreadsheet/ccc?key=0AuqBSQwKKIaNdGllZkd1Nkpyem9idkNrMnRwdDI1MGc
Känns kul att jobba med ett så stort område, kreativt område
:)
Trevlig kväll all u nerds!
Prenumerera på:
Inlägg (Atom)







