RegExpFiddle.com

Jag började för ett tag sedan med en ny webbtjänst vid namn av RegExpFiddle.com som skall underlätta experimenterande med Regular Expression.

Tjänsten är fortfarande inte är helt färdig och den kommer nog aldrig att bli helt färdig.

Under utvecklingen har jag andvänt mig av Jasmine BBD ramverk och till viss del även JSlint.com

RegExpFiddle.com

Jag har jobbat en del med en ny webbtjänst i helgen. Den nya webbtjänsten skall underlätta testningen av ”regular expressions”. Du hittar webbtjänsten på adressen på RegExpFiddle.com

JavaScript Patterns

JavaScript Patterns av Stoyan Stefanov är en riktigt bra bok om hur man skriver bra JavasSript kod. Dock är det ingen bok för nybörjare.

JavaScript Patterns

Publicerat den
Kategoriserat som Boktips

JSLint

JSlint.com är en jätte bra sajt för kolla kvaliteten på din JavaScript kod.

Publicerat den
Kategoriserat som Länktips

Hello World!

JSguru.net

[javascript]
(function(){
alert("Hello world jsguru.net is born");
})();
[/javascript]

Java concurrency in practice inlägg 2

Nu har det blivit lite förändringar i koden för mitt Memory spel igen. Jag har gått från en flerdimensionell array till Collections.synchronizedList(new ArrayList()); och sett att mina tester går igenom.

Java concurrency in practice

Köpte en ny bok för inte så länge sedan om Java concurrency som verkar riktigt bra. Jag har börjat titta lite på vad jag kan göra med mina nyvunna kunskaper på mitt Memory spel. Memory spelet är hur som helst uppdaterat med små förbättringar i koden.

localStorage test

Idag testade jag localStorage på en av mina sajter och jag måste säga att det är väldigt coolt 🙂

Jag valde att spara alla inmatning i localStorage tills man valt skicka väg formuläret. namnet på formulär fältet används som nyckel i localStorage men det det bör inte vara något större problem att kombinera formulärets id eller action attribut.

[javascript]
ls = {
set : function(name, value){
if(window.localStorage){
localStorage.removeItem(name);
localStorage.setItem(name, value);
}
},
get : function(name){
if(window.localStorage){
return localStorage.getItem(name);
}
},
clear : function() {
if(window.localStorage){
return localStorage.clear();
}
}
};

[/javascript]
[javascript]
$(document).ready(function(){

$(”:input”).each(function(){
if($(this).val() == ”” && ls.get($(this).attr(”name”)) != ””){
$(this).val(ls.get($(this).attr(”name”)));
}
});

$(”:input”).change(function(){
if($(this).val() != ””){
ls.set($(this).attr(”name”), $(this).val());
}
});

$(”form”).submit(function(){
form = this;
$(form).find(”:input”).each(function(){
ls.set($(this).attr(”name”), ””);
});
});
});
[/javascript]