Rättvis rekrytering med HappyRecruiting.se

maj 31st, 2013 av Tobias
HappyR Logotype

För ganska exakt ett år sedan började jag jobba på en startup inom rekrytering. Det var mycket hemlighetsmakeri i början och jag försökte ligga lite lågt med vad vi jobbade med. Det var först i augusti som vi kom ut med en beta-version av happyrecruiting.se. Tiden gick fort och den sista november hade vi …

WordPress, Symfony2 och Nginx

september 21st, 2012 av Tobias
logo_symfony

För knappt en månad sen delade jag med mig av hur man konfigurerar Symfony2 på en Nginx-server. Idag vill jag visa hur jag har gjort för att köra både Symfony2 och WordPress på samma webbplats med en Nginx server.

Om du har Symfony2 i rooten och WordPress i en underkatalog så ska du använda dig …

Satellitsidor

september 9th, 2012 av Tobias
Satellit

Denna miniartikel går igenom vad en satellitsida är och hur dem bäst används för att öka din konvertering. Jag tror det är lättast att förklara allt utifrån ett exempel. Säg att jag har en webbplats som säljer skruvar och muttar. Domänen som jag har min webshop på är www.nyholms-järnhandel.se. Detta är namnet på vårt fiktiva …

Experiment med indexering av sökreslutat

lexikon

För ett par år sen var det gynnsamt att indexera sina sökresultat. Man fick då massor av så kallad long tail trafik. Men nu har jag läst att sökmotoroptimerare inte alls rekommenderar att man indexerar sina sökresultat. Jag har dock inte sett några tester eller bevis på detta. Så det är exakt det jag tänker göra nu.

Jag har ett lexikon som har legat online i ca 2 år. Den har en stabil ranking på sina 3 viktigaste nyckelord. Den har ett jämt besökarantal samt inkomst. Detta är dem 3 sakerna som jag ska hålla ett öga på för att se om det förändras; ranking, besökarantal och inkomst.

Jag tänker successivt bygga upp en sitemap med sökningar som folk gör. Sitemappen ska inte innehålla sökningar som inte ger resultat. Jag ska också  se till att varje sökning får en unik url. Detta kommer att innebära att webbplatsen som nu har …

Skrivet september 5th, 2012 av Tobias

Symfony2 och Nginx

logo_symfony

Jag har börjat testa experimentera med andra webbserverar än Apache. Jag har hört mycket gott om Nginx så jag tänkte att jag skulle prova. Jag läste mycket på bland annat nginx.org och diverse andra forum och bloggar för att lära mig grunderna och hur jag skulle konfigurera webbserver. Det skiljer sig något från Apache, speciellt med redirects. Men jag lyckades till slut sätta upp en webbplats med Symfony2 som är korrekt konfigurerad. Eftersom jag lade ner massor av timmar på att lösa problemet så vill jag gärna dela med mig av lösningen.

Här är min konfiguration för att köra Symfony:

Självklart bör du också inkludera vanliga direktiv likt dessa:

Skrivet augusti 25th, 2012 av Tobias

Order by Rand() i Symfony2

random

Att hämta en slumpmässig rad från en MySQL är ganska enkelt. Man lägger till ORDER BY RAND() i slutet på sin query. Nackdelen är att det går extremt långsamt. Den har en tidskomplexitet på O(n*log(n)). Det är därför Doctrine har valt att inte implementera den funktionen. Men vad gör man då om man vill plocka ut en slumpmässig rad från en tabell?

Man ska göra slumpmässigheten i applikationen. En naiv lösning är att hämta alla rader och göra en array_rand() på resultatet. Detta är naturligtvis inte optimalt då det tar massa minne i onödan. En lösning som jag brukar använda mig av är denna:

Detta letar efter det största id som du har i din tabell. Sen slumpar den ett värde (rand) mellan 0 och det största id. Vi returnerar sedan en rad i tabellen som är närmast större eller lika med vårt slumpade värde.

Jag vill dock varna att …

Skrivet augusti 8th, 2012 av Tobias

WordPress och Symfony2 på samma webbplats

logo_symfony

I alla fall nästan. Jag läste en kommentar på symfony.com om att man borde göra en wordpress-klon i Symfony2. Hans tanke var då att man hade det perfekta CMSet i det perfekta ramverket. Jag håller dock inte riktigt med honom.  Jag håller inte med honom alls för att vara helt ärlig. WordPress är lätt att skriva om i Symfony2. Det tar/tog mig inte mer än en vecka. (Ja, jag skrev om det till Utestället.) Det som är det fina med WordPress är alla tusentals plugin och teman som finns. Det tar lång tid att skriva dessa och det är inget man vill göra. ”Don’t reinvent the wheel”.

Det man ska göra om man vill ha det perfekta CMSet och det perfekta ramverket är att använda sig av Apaches alias. Man säger helt enkelt till Apache att ”om besökaren vill åt /blogg så hämta info från denna mapp: /var/www/wordpress”. Sen …

Skrivet juli 26th, 2012 av Tobias

MySQL-index gör skillnad

mysql-table-index

Jag satt nyligen med ett projekt som hade en stor databas. Jag använde Symfony2 för att utvecklingen skulle gå snabbt och för att sidan skulle bli stabil och säker. Projektet var av den typen att ibland var man tvungen att göra tusentals queries per request. Såklart så var det inte perfekta queries. De såg ut ungefär så här:

SELECT * FROM Persons WHERE name=”Tobias Nyholm”;

Om man har 50 000 rader i den tabellen så kommer det gå långsamt. Varje query tog ungefär 200 millisekunder. 1000 queries tar ungefär 200 sekunder vilket är på tok för lång tid. Lösningen var dock enkel. Jag satte ett unikt index på name. Det innebär att MySQL behöver mer hårddisk för att lagra indexet. Men hårddisk är billigare än både minne och CPU så det är inga problem. Samma query med index tar 2 millisekunder. Jag tog alltså ner exekveringstiden till 1% med …

Skrivet juni 15th, 2012 av Tobias

Sökmotorerna fuskblåser upp sitt index

Blow up balloon

Det är ju känt för alla sökmotorer har enorma index. När man gör en googlesökning så ser man ofta att det står att det är över 100 000 resultat som finns. Idag gjorde jag en site-sökning på Bing. Sökningen var på www.calculator.nu. Den webbplatsen har ca 20 undersidor. Bing talade om för mig att det fanns 103 resultat att visa. Snopet tänkte jag och gick till sidan 2. Då hade man ändrats sig och visade istället att det fanns 18 indexerade sidor. Typiskt Bing att försöka blåsa upp siffrorna på deras index tänkte jag. Jag började experimentera lite med Google för att se om de gjorde samma sak. Vid samma sökning fick jag upp ”Ungefär 20 resultat”. Mycket rimligare.

Men jag var inte nöjd än. Jag gjorde en sökning på mitt namn. Jag fick då en 104 000 resultat. Jag försökte gå till resultat nummer 10 000 men det fick …

Skrivet juni 5th, 2012 av Tobias

Hemsida för restauranger

utestallet

Vi har nu gjort klart en bra grund till ett av våra projekt som vi jobbar med nu. Projektet heter Utestället. Det går ut på att göra det enkelt att skapa en hemsida för restauranger. En krögare eller caféägare registrerar sig på Utestället och har sedan att administrationssystem likt wordperss för att redigera sidor, utseende och även widgets. Vi ligger precis i startgroparna med detta projekt. Vi har tyvärr inte 1000-tals teman och plugin än. Men vi kommer komma dit. Vi tar en sak i sänder tills vi är där.

Skrivet maj 2nd, 2012 av Tobias