I ett av våra projekt behövde jag ”tvätta” data som kom in via importer från diverse externa källor. Tvättningen består av att ta bort HTML-element såsom script-taggar, styling-attribut och för att ge ett bättre skydd mot XSS.
Då hittade jag jsoup som är ett litet javabibliotek för att enkelt kunna parsa/tvätta HTML
Läs mer >>
Så här i semestertider så är det inte helt ovanligt att man hamnar på nåt ställe som saknar bredbandsuppkoppling. I det här tipset så tänkte jag visa hur enkelt du kan använda din Androidtelefon som modem till din dator via USB tethering. Jag själv har en HTC Hero med Android 2.1 och på datorn har jag Ubuntu 10.04. Läs mer >>
Läste på InfoQ att en första publik version av EGit har releasats. EGit är en Eclipse-plugin för Git som vi tidigare diskuterat här på Stacktrace.
Se våra tidigare inlägg om Git-tricks eller en mer utförlig artikel om Distribuerad versionshantering med Git.
Jag har testat EGit och den funkar bra. Dock föredrar jag personligen att använda prompten/shellet för push, pull, branch och commit men EGit medför dock att det blir väl synligt i Eclipse vilka filer som inte är versionshanterade, vilka filer som är modifierade etc.
- cygni
- 29 mars 2010
- Kommentering avstängd
Max Matthiessen är Sveriges ledande oberoende rådgivare inom personförsäkring och långsiktigt trygghetssparande.
Cygni har idag tecknat avtal med Max Matthiessen om att leverera konsulttjänster inom avancerad javautveckling och systemarkitektur.
Tänkte tipsa om ett trevligt verktyg vid namn Ack som jag hittade häromdagen. Det är en ”bättre version” av det gamla klassiska grep-kommandot.
Ponera följande, om du vill hitta alla förekomster av strängen ”Test” i dina javafiler men hoppa över alla filer i dina dolda subversion-kataloger kan du köra följande grep-kommando:
grep Test $(find . -name '*.java' | grep -v .svn)
Med verktyget ack ser kommandot ut så här:
ack-grep --java Test
Lite trevligare tycker jag. Ack stöder en rad filtyper såsom perl, java, C# etc och installationen är smidig – i alla fall om du kör Ubuntu. Dessutom är output:en från kommandot lite lättare att tolka…
Kolla in Ack vetja!
- cygni
- 15 mars 2010
- Kommentering avstängd
Cygni har idag tecknat avtal om att leverera konsulttjänster till ett av Nordens ledande logistikföretag. Cygni skall delta i ett projekt som utvecklar ett helt nytt och verksamhetskritiskt system för bättre logistikflöden. Det var Cygnis expertis inom moderna plattformar och javaramverk som avgjorde valet av konsultleverantör.
Jag har en applikation som har körts en längre tid på Debian 4.0. Nu så har jag fått nya servrar med Ubuntu 9.10 och helt plötsligt så tog uppstart av applikationen allt från några millisekunder till flera minuter. Skumt… Så det var bara att börja steppa koden för att ta reda på varför det tog sån tid att starta. Läs mer >>
Nu när Spring Security 3 precis har släppts så gav jag mig på att uppgradera mitt projekt till den nya releasen.
Utan att läsa på så uppdaterade jag min pom.xml och belönades med ett trasigt bygge.
Ovanligt nog så har Spring släppt en release som inte är bakåtkompatibel, man har nämligen flyttat på de flesta klasser du använder, t ex Userdetails och GrantedAuthority.
I de flesta fall rör det sig om att bara ändra dina importer men det är ju inte en drop-in uppgradering.
Använder ni dessutom Spring Web Flow bör ni vänta med uppgraderingen eftersom Web Flow 2 har ett beroende på en flyttad Spring Security klass. Googlar man på det så ser man att folk har löst problemet genom att skriva en egen Web Flow patch, så det går att komma vidare om man vill.
Men som sagt, att uppgradera till Spring Sercurity 3 är lite krångligare än vad du kanske tror.
Rena kommandoradsapplikationer i Java kanske inte hör till vanligheterna nu mera, men det finns tillämpningar. Jag håller för tillfället på med ett sådant program. Det är en slags (av prestandaskäl) multitrådad övervakningsapplikation. Varje tråd ligger och pollar en databas efter något att arbeta med i ganska täta (några sekunders) intervall. När tråden hittar något att processa, så pratar den bl.a. JDBC med en stordatorapplikation.
Denna typ av beteende skulle vara ganska svårt att få till inom ramen för en appserver. Att starta trådar är ju inte aktuellt. Att använda Quartz eller ha ett cron-jobb som anropar en EJB via wget eller liknande skulle vara möjligt men verkar lite krystat, speciellt då den pollar så pass ofta.
En vanlig Java-applikation fick det bli, således. Vad bör man tänka på när man skriver en sådan applikation? Den är ju nästan som en slags server, som skall köra kontinuerligt. Den får inte gå ner så lättvindigt och den kommer sannolikt köra på en Linuxburk i ett serverrum någonstans utan något egentligt användargränssnitt. Här kommer således några tips för den standalone-inriktade.
Läs mer >>