Ta bort mellanrum och tab-tecken från databas-värde

Jobbar med en databas där jag för länge sen hade importerat emailadresser från Excel eller liknande, kommer intee ihåg nu.

Märkte dock att det var massa tomma spaces efter själva emailadressern och letade efter ett sätt att ta bort dem. Detta svar kändes ju eom en bra lösning.

UPDATE [User] SET Email= LTRIM(RTRIM(Email))

Mellanrum kvarstod dock och då funderade jag istället på om de kanske var tab-tecken. Mycket riktigt efter ett tips så kunde jag köra det som behövdes.

UPDATE [User] SET Email=REPLACE(Email,char(9),'')

By Jesper Lind

Uppgradera från ASP.NET Mvc 2 till Mvc 3

1. Fixa web.configs

Sök på följande sträng i ditt projekt (finns i några web.configs):

System.Web.Mvc, Version=2.0.0.0

Och replaca den med denna:

System.Web.Mvc, Version=3.0.0.0

Se till att du har följande längst ner i web.config:

<runtime>    
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>     
</assemblyBinding> 
</runtime>
Referera rätt namespace:
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

2. Sätt project GUID

Högerklicka på ditt projekt och välj unload. Sen edit project.

Byt ut (Gamla Mvc 2):

F85E285D-A4E0-4152-9332-AB1D724D3325

Mot (Mvc 3):

E53F8FEA-EAE0-44A6-8774-FFD645390401

3. Lägg till värden i app.config

 <add key="webpages:Version" value="1.0.0.0"/>
 <add key="ClientValidationEnabled" value="true" />
 <add key="UnobtrusiveJavaScriptEnabled" value="true" />
By Jesper Lind

Redigera vilken sajt som helst i webbläsaren

Ok det här är coolt faktiskt. Paul Buchheit, skaparen bakom bland annat Gmail och Friendfeed, postade just på den senare sajten en kod för att kunna redigera text direkt i webbläsaren. Den gör body till en contenteditable helt enkelt.

Jag har fått det att fungear på Safari, Firefox och Chrome, mac versioner. Och jag hör folk som säger det funkar på IE och PC versioner också.

Lägg till följande som ett bokmärke, akivera och börja skriv direkt på skärmen.

javascript:document.body.contentEditable=(document.body.contentEditable!='true');void%200

Eller klicka på denna länk för att testa på vår sajt.

By Jesper Lind

Redirecta allt till root med htaccess

Hade fått tillgång till en ftp-server med en väldigt massa filer på från många år tillbaka som är indexerade av google. En herrans röra kan man säga.

Tanken är att vi ska utveckla en ny sajt och under tiden så ville jag att inga av de gamla filerna skulle gå att nå. Servern är av typen Apache som jag inte är så van att arbeta med. Så efter ett intensivt googlande och testande så tror jag att jag fått till en bra redirect-regel.

Denna redirectar endast html och php-filer och fungerar på mappar. Alla anrop på nämnda dokumenttyper skickas till rootmappen.

Options +FollowSymlinks RewriteEngine On RewriteCond %{THE_REQUEST} ^GET\ .*(php|html|htm)\ HTTP RewriteRule ^(.*).(php|html|htm)$ / [R=301,L]
By Jesper Lind

Snabb Firefox

firefox3-feature

Dessa tips kommer från Jim Westergren's "Make Firefox run up to 4 times faster" och gäller 3.0.9 av webbläsaren Firefox. För mer detaljerad information om vad varje inställning läs mer på Jim's artikel.

Dessa instälningar passar bra för användare med bredband, surfar mycket och använder många flikar i webbläsaren samtidigt.

För att ändra dessa värden skriv about:config i adressfältet, tryck enter och bekräfta att du lovar att vara försiktig. Sen ändra befinfliga värden enligt följande.

browser.history_expire_days_min;10
browser.sessionhistory.max_total_viewers;1
browser.tabs.tabMinWidth;80
layout.spellcheckDefault;2
network.http.max-connections;100
network.http.max-connections-per-server;20
network.http.max-persistent-connections-per-server;8
network.http.pipelining;true
network.http.pipelining.maxrequests;8
network.http.proxy.pipelining;true
network.http.request.max-start-delay;0
network.prefetch-next;false

Två värden som inte finns i standardkonfigurationen kan även läggas till:

config.trim_on_minimize;true
nglayout.initialpaint.delay;100

Ni som har många flikar öppna kan också prova att förminska dess bredd för att fler ska få plats:

browser.tabs.tabMinWidth;70

Med dessa ändringar blev läsaren äntligen snabb. Upplevde en stor förbättring i bland annat Google Reader.

By Jesper Lind

Redigera hosts-filen på OS X

DNS-servrar håller reda på vilka domännamn som ska kopplas till vilket IP. Ibland kan man vilja överlagra dessa på sin egen maskin, t ex när man utvecklar en testsajt eller liknande.

Hur man gör för att ändra sin hosts-fil på Windows har vi skrivit om tidigare.

På OS X är förhavandet liknande i senare versioner av operativstemet, här är Apples guide.

Man måste ha rättigheter till rooten för att kunna se private-mappen filen ligger under. Vi har tidigare skrivit om hur man visar gömda filer på OS X.

När man väl har tillräckliga rättigheter navigerar man till mappen /private/etc/hosts och öppnar man den får upp något som liknar detta.

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1	localhost

Man måste dock vara inloggad som root-användare för att spara ändringar, så det räcker inte bara att öppna den i en textredigerare och försöka spara. Här är två sätt man kan ändra den.

1. Ändra hosts genom att skriva över med kopia

Kopiera filen och lägg den på skrivbordet. Redigera spara. Dra den sen till /private/etc/hosts och släpp. Nu får du skriva in ditt lösenord för att bekräfta att du har rättigheter att modifiera filen.

2. Ändra hosts med textredigerare i Terminalen

Med detta sätt behöver du inte slå på att visa gömda filer som vi skrev inledningsvis om. Här använder vi en redigera som startas från terminalen. Finns en del men i detta exemplet använder vi en som heter GNU nano 2.0.1.

Öppna först teminalen.

Skriv: sudo pico /private/etc/hosts

Bekräfta ditt lösen för att få root-rättigheter.

Nu får du upp textredigeraren och du kan modifiera filinnehållet. Spara ändringar genom ctrl-o och stäng ner editorn med ctrl-x.

By Jesper Lind

SQL Replace för att skapa Slugs

Har på många tidigare projekt använt Id-nummer i url:erna för att IIS och .NET haft så dåligt stöd för att skapa användarvänliga url:er. Gör nu om en del gamla sidor till ASP.NET MVC och lägger över dem till IIS 7-servrar som har bättre stöd för url-omskrivning.

Brukar lägga till ett speciellt databas-fält för att spara den sista delen av url:en som ska vara till för att identifiera blogginlägget, produkten, kategorien eller vad det nu handlar om och basera denna på den äldre titeln. Använder det uttryck som även Wordpress använder för att beskriva ett sånt fält, "Slug".

Här är ett skript som jag precis körde på en sådan databas. Detta byter ut de tecken jag inte vill ha i url:erna mot ett vanligt bindestreck, gör om allt till gemener och byter ut å,ä,ö mot a,a,o.

UPDATE BlogPost SET Slug=Lower(Title);
UPDATE BlogPost SET Slug=REPLACE(Slug,'å','a');
UPDATE BlogPost SET Slug=REPLACE(Slug,'ä','a');
UPDATE BlogPost SET Slug=REPLACE(Slug,'ö','o');
UPDATE BlogPost SET Slug=REPLACE(Slug,' ','-');
UPDATE BlogPost SET Slug=REPLACE(Slug,'&','-');
UPDATE BlogPost SET Slug=REPLACE(Slug,'/','-');
UPDATE BlogPost SET Slug=REPLACE(Slug,'-','-');
UPDATE BlogPost SET Slug=REPLACE(Slug,'.','-');
UPDATE BlogPost SET Slug=REPLACE(Slug,',','-');
UPDATE BlogPost SET Slug=REPLACE(Slug,'_','-');
By Jesper Lind