Marcus Olsson

Frilansande webbutvecklare

18 januari 2015 av Marcus Olsson

Laravel-tips del 3 – View composers

Ofta när man programmerar en applikation så stöter man förr eller senare på problemet att man har en variabel som man vill ska vara tillgänglig i alla vyer, eller kanske rentutav alla vyer som använder en särskild layout – något som man i Laravel inte löser särskilt bra med det vanliga hederliga with() i controllern, då variabeln endast blir tillgänglig i den aktuella vyn.

public function getIndex() {
	return View::make('public.frontpage')
	       ->with('title', 'startsida')
}

Man kan även så klart använda View::share(), som kommer att sätta variabeln i alla vyer (kanske genom att lägga till dem i BaseController?). Eller som somliga rekommenderar; att använda Laravels IoC-container för att sätta upp kod som kan registrera och "dela" på variabler.

Men, nu handlar det här om view composers.

View composers är en intressant och användbar funktion i Laravel som man kanske inte används jätteofta, trots att de kan vara otroligt användbart för att just sätta variabler i utvalda vyer.

Det enklaste sättet att använda en view composer är:

View::composer(array('*'), function($view) {
	$view->with('foo', 'bar');
});

Den här koden lägger man enklast in i en fil som alltid inkluderas (tips: skapa viewcomposers.php och dra med den i autoload-classmap i composer.json – eller kanske filters.php).

Det fina här är att du kan välja vyn (eller vyerna) som variabeln ska vara tillgänglig i, du behöver inte fundera på vilka routes eller vilken controller som ska använda dem.

Detta är enormt användbart om man är längre fram i utvecklingen av en applikation och man kommer på att man alltid behöver en variabel definerad, för att slippa skriva kod som:

@if(isset($foo) && $foo == 'bar')
	<p>Ett litet meddelande</p>
@endif

Men, tillbaka till fler exempel med composers. I exemplet ovan använder vi en asterisk, *, för att visa att variabeln ska vara tillgänglig för alla vyer. Man man kan på likadant vis ange specifika vyer:

View::composer(array('public.frontpage', 'public.login'), function($view) {
	$view->with('foo', 'bar');
});

Eller om man så önskar, en layout:

View::composer(array('layouts.main'), function($view) {
	$view->with('foo', 'bar');
});

Det blir ett litet annorlunda tänk, då man faktiskt jobbar med namnen på vy/blade-filerna istället för routes eller controllers som man vanligtvis gör i Laravel. Spana in dokumentationen för att läsa mer.

16 januari 2015 av Marcus Olsson

Vad är darodar.com och iloveitaly.co?

Om du använder dig av Google Analytics så har du säkert de senaste månaderna sett en hel del trafik under referrals ("hänvisningar") från bl.a. darodar.com och iloveitaly.co. Säkerligen rör det sig om dussintalet besök också som på mindre sajten kan fördärva statistiken. Varför då? Jo – detta rör sig inte om riktiga besökare alls.

'Darodar.com loveitaly.co'

Några klyftiga personer har kommit på att man kan skicka falsk data direkt till Google Analytics utan att behöva köra den Javascript-koden som man får från Google. De behöver bara gå igenom alla UA-id:n (ens unika id man får från Google, t.ex: UA-3150000-1) slumpmässigt. Detta utnyttjar de till att skicka data om spam-sidor – nyfikna sajtägare vill såklart spana in var ens trafik kommer fram, och så landar man på någon skräpsida eller referral-länk.

Besöken är alltså inte riktiga besök, utan endast falsk data.

Detta verkar fungera väldigt bra för spammarna, då jag i alla fall på mina sidor och de jag driftar åt mina kunder har märkt en markant uppgång i trafiken under januari – dessutom har det tillkommit en gäng liknande sidor.

Hur löser man det här problemet då?

Det finns dessvärre ingen jättebra lösning som åtgärdar alla spam-sidor samtidigt i nuläget, men om du upptäcker spam-sidor liknande darodar, iloveitaly och andra, då kan du för varje sida välja att blockera dem från att registreras i Google Analytics.

Logga in på Google Analytics, och gå igenom följande steg:

  1. Klicka på Admin (Administratör)
  2. Klicka på Property/Tracking Info (Webbegendom/Spårningsinformation)
  3. Klicka på Referral Exclusion List (Undantagslista för länk)
  4. Här kan du lägga till alla domänerna som inte önskar ska finnas med i din Google Analytics-traffik.

'Darodar.com loveitaly.co traffik'

I slutändan är det bara Google som kan göra någonting åt det här genom att ändra i sitt system så att spam av den här sorten inte kommer igenom och tillåts hos Google Analytics. När detta kan tänkas ske finns det i nuläget ingen som vet.

14 januari 2015 av Marcus Olsson

Google ger sig in i domänbranschen

Inte en direkt nyhet då Google Domains har haft en stängd beta under en längre tid – men nu har de även öppnat upp betan alla användare i USA, och presenterade en rad nya features för deras produkt.

  • Kopplingar till populära plattformar så som Shopify och Squarespace
  • Koppling till deras egna bloggverktyg Blogger
  • Flera nya domänändelser (.computer, .rentals, .gallery m.fl.)
  • Bättre DNS-hantering
  • Anonym registrering (för de toppdomänerna som tillåter det)

Det är spännande att se Google ge sig in i en bransch där de faktiskt ligger långt efter många konkurrenter, men domäner är onekligen något som har saknats i deras produktportfolio. Kan även tänka mig att de även kommer att erbjuda en förenklad/automatisk koppling till Google Apps inom en snar framtid – en produkt jag aldrig skulle klara mig utan.

Google Domains är en så länge stängd för svenska användare (man kommer åt tjänsten, men kan inte köpa/transfer domäner ännu), men om man så önskar kan man välja att bli kontaktad när de lanserar i Sverige.

Läs mer i Googles blogginlägg.

7 januari 2015 av Marcus Olsson

Nytt år, nya friska tag

Efter ett kort juluppehåll (första semestern på 18 månader!) så är 2015 äntligen här, med nya möjligheter och utmaningar.

Jag har ett par riktigt spännande projekt i pipeline:en som kommer att släppas under året. Vidare så kommer jag även att testa en rad olika nya saker (arbetsmetoder med mera) under året – beroende på hur de lyckas så är tanken att det kommer ett inlägg om detta med.

2015 är även året då Laravel (ramverket som används i en klar majoritet av mina projekt) kommer att få en ordentlig uppdatering i.o.m. 5.0 (tidigare 4.3), så tanken att lära sig andra språk och ramverk kommer att få skjutas upp lite framtill nya projekt hanteras effektivt med 5.0. Kan kanske låta som en mindre detalj – men kommer ändå att påverka en del hur jag jobbar och lägger upp min tid framöver.

Som vanligt, är du på jakt efter en webbutvecklare så är du varmt välkommen att kontakta mig – jag tar för tillfället emot nya små till medelstora projekt.

Vi hörs!

19 december  2014 av Marcus Olsson

God jul och gott nytt år!

God jul och gott nytt år!

God jul och gott nytt år önskar jag alla kunder och läsare som jag har haft under året!

Jag kommer att vara på julledighet från i dag (19 december) fram till den 7 januari, och kommer tyvärr endast ha möjlighet att sporadiskt svara på mail under den här tiden (läs mitt tidigare nyhetsbrev för mer information).

Ta väl hand om varandra, så hörs vi i januari igen!

11 december  2014 av Marcus Olsson

Årets mest lästa inlägg – 2014

Även i år är det dags att titta tillbaka på vad man egentligen har skrivit under året – och vad folk faktiskt läser. Publicerar "rapporten" någon vecka tidigare än vanligt då jag är på resande fot under jul och nyår.

I år steg antalet totala besök med runt 20%, detta till trots att jag byggde om URL-strukturen i mitten av året, vilket medförde att flera sidor föll hos Google under flera veckor.

Min "svit" är också fortfarande obruten, minst ett inlägg i månaden i nu 38 månader i sträck är jag uppe i (snittet ligger dock på fem inlägg i månaden under den perioden), något som jag är väldigt glad för.

Hur som, de mest lästa inläggen för 2014!

  1. Cloudflare, värt att använda?
    Mina tankar kring DNS/CDN-tjänsten Cloudflare, som jag använder till de flesta av mina projekt. Spoiler: DNS-delen är ovärderlig, var försiktig med CDN-bitarna.

  2. iPad tips – Läs pdf-filer i iBooks, utan iTunes
    "Klassiskt" inlägg ifrån 2010(!) som alltid har legat på topp bland de mest lästa artiklarna här på marcusolsson.me. Jag själv använder inte någon iPad längre (Xcodes simulator undanräknad), och är något tveksam till om innehållet fortfarande är aktuell.

  3. Frontendutvecklare eller front end-utvecklare?
    Ja, vad heter det egentligen?

  4. Stripe finns nu i Sverige (i β-form i alla fall)
    Det första inlägget från 2014 på listan, om när Stripe tillkännagav att de äntligen har öppnat upp sin beta i Sverige.

  5. Tummen upp för linnéuniversitetet
    Inför varje terminsstart kommer det en hel del folk och läser min text om webbprogrammeringsprogrammet vid LNU. Får även ett par mail om året som jag givetvis gärna svarar på.

  6. Sätt upp din utvecklingsmiljö för PHP-utveckling med Homebrew
    Snabbguide till att komma igång med *AMP-stacken med hjälp av Homebrew i MacOS X.

  7. Dela inlägg på Twitter och Facebook – utan att använda plugins eller bibliotek
    Kodexempel på hur man enklare kan skapa "dela"-knappar för Twitter och Facebook utan att använda sig av några plugins.

  8. Snabbstarta ditt projekt med Flight, php-activerecord och Twig
    Ännu mer kodexempel, här om hur man kan koppla ihop micro-ramverket "Flight-PHP" med phpActiverecord och Twig för att bygga små till medelstora applikationer. Något som jag fortfarande använder som bas till många projekt.

  9. Säkerhet på nätet – en liten lathund
    Tidigare i år efter en rad uppseendeväckande dataintrång skrev jag om ett par enkla grundregler för hur man kan skydda sig på internet.

  10. Främlingsfientliga avslöjas via hashningen hos Disqus
    Fjolårets överlägset mest lästa inlägg, där jag skrev om hur Researchgruppen förmodligen gick tillväga när du avslöjande en rad rasistiska utalanden från flera SD-politiker.

Kanske värt att nämna är också att min projektsida har ökat antalet besökare med över 500% i år, min kontaktsida är inte långt därifrån. Detta hör sannolikt i hop med att jag numera kör mitt egna race som frilansande webbutvecklare.

9 december  2014 av Marcus Olsson

Google gör om reCaptcha

Här kommer en trevlig nyhet för oss som inte är särskilt förtjusta i det flera år gamla öppna captcha systemet som Google har tillhandahållit för att förebygga och förhindra SPAM:

Googles gamla reCaptcha

Google kommer nu att göra en ordentlig översyn och uppdatering av systemet, vilket innebär att man inte kommer att behöva göra så mycket mer än att klicka i en checkbox.

Googles nya reCaptcha

Hur går det här till då? Om du som de allra flesta internetanvändarna använder någon av Googles tjänster så som deras sökmotor, Gmail och/eller andra produkter, så lagras en enkel cookie på din datorn som talar om hur du har använt dem. De kan sedan använda den här datan för att dra slutsatser kring om du är en människa eller inte.

Det nya Captcha-systemet använder även en rad andra parametrar, t.ex. rörelsemönstret på muspekaren för att förbättra resultatet.

För att skydda webbplatserna så kan man fortfarande bli tillfrågad att fylla i en "klassisk" captcha om systemet är osäker; men även här har de gjort ändringar för mobilanvändare:

Google kitten reCaptcha

Läs mer om systemet på Googles "Webmaster Central Blog".

25 november 2014 av Marcus Olsson

Äger du inte ditt egna namn på webben? Nu finns det inga ursäkter längre

.SE (Stiftelsen för internetinfrastruktur) har just nu en kampanj där man gratis kan registrera sitt egna namn som en .se-domän helt gratis under ett år (därefter så kostar det ca. 100kr/år). Det finns inga som helst ursäkter till att inte göra detta (om du inte redan har vill säga).

Med ditt egna domännamn kan du enklare styra bilden av dig själv på nätet när någon googlar ditt namn – se det som en enkel (och nu alltså gratis) chans att marknadsföra dig själv, något som kan vara ovärderligt längre fram.

Har du ett vanligt namn, och motsvarande domän är ledig – grattis! Då är det bara att plocka upp den så snart du kan, i morgon kan den vara borta, och du är då i en sämre position att göra dig själv synbar.

För er med ett mer ovanligt namn, då är ert egna domännamn en billig försäkring om t.ex. någonting mindre smikrande skulle dyka upp om er i sökresultaten. Dessutom så har ni större chans att råka ut för s.k. domänpirater – någon annan som tar ert namn för att sedan antingen sälja tillbaka det dyrt, eller för att använda domänen för att sprida falska uppgifter, och för att sedan ta betalt för att plocka bort dem.

Kampanjen hittar du just på domanpirater.se.

19 november 2014 av Marcus Olsson

Google visar nu om en webbplats är mobilanpassad

Google mobile-friendly

Google verkar arbeta mer intensivt än någonsin för att förändra hur SERP:en (Search Engine Result Page) presenteras och inte bara hur sidorna rankas i deras algoritm. Tidigare i år plockade de bl.a. bort Google+ profilen som är länkade till webbplatserna (till mångas förtret som lade ner tid på den kopplingen).

I går så meddelade Google via Webmaster Central Blog att de nu direkt i sökresultatet kommer att visa om en webbplats är användarvänlig på en mobil. En uppdatering som faktiskt är vettig – hur många gånger har man inte med sin iPhone surfat in på en sida för att upptäcka att den är obrukbar på en liten skärm; med knappar som sitter för tätt, innehåll som är för brett och tvingar en att scrolla i sidled eller t.o.m. använder flash (en sällan skådad syn numera, tack och lov).

Det enda som extra som visas är kort och gott orden "Mobile-friendly".

Är du osäker på om din webbplats klassas som "mobilvänlig" så kan du använda Googles Mobile-Friendly Test – där får du också förslag på punkter som ska åtgärdas.

Google not mobile-friendly

Och när du ändå är i farten, varför inte optimera sidan – någon som faktiskt även påverkar sökresultaten. PageSpeed Insights är en bra plats att börja på.

Funktionen kommer stegvis att lanseras världen runt inom de kommande veckorna enligt Google, men i Chrome för iOS så verkar det redan vara implementerat (på Google.com i alla fall).

11 november 2014 av Marcus Olsson

Firefox Developer Edition

Mozilla Firefox Developer Edition

Mozilla släppte igår en ny variant av Firefox (efter att ha utannonserat en "webbläsare för utvecklare"), som de rätt och slätt kallar för "Firefox Developer Edition".

Webbläsaren är helt enkelt en gren av vanliga Firefox, men där de har plockat in alla utvecklingverktyg som de kunde hitta – för att sedan lansera det som ett paket. Bland annat ingår WebIDE (för att skriva, testa och köra kod direkt ifrån webbläsaren) och Valence för att debugga Chrome och Safari för iOS direkt i Firefox.

Det största skillnaden på ytan är annars temat, som har fått liknande design som utvecklingsverktygen i "standardutgåvan" av Firefox – och en ny fin ikon, så klart.

Som alltid så är Firefox gratis att ladda ner och använda, och just Developer Edition hittar du här – med om Mozillas tankar om projektet kan du läsa på bl.a. Mozilla Hacks.