Turbolinks – Gör din webbapplikation snabbare

Vad Turbolinks gör är något så enkelt och simpelt att jag undrade varför jag inte testat göra detta på egen hand tidigare. Istället för att ladda hela sidan så hämtar Turbolinks en sida endast genom att plocka ut body-taggen. Med andra ord så läses inte alla resurser och bibliotek in igen varje gång du klickar på en länk vilket gör att varje sidladdning blir väldigt lättviktig. Självklart kan du använda dig av cache för att spara på krafterna men om du både har cache och Turbolinks så får du verkligen en snabb applikation.

Det är väldigt enkelt att implementera Turbolinks. Med NPM kan du dra hem filerna genom följande kommando:

npm install --save turbolinks

Sedan lägger du bara till detta i din applikation:

var Turbolinks = require("turbolinks")
Turbolinks.start()

Nu är allt klart! Turbolinks plockar upp alla klick på ”a href”-länkar och sköter resten åt dig.

Turbolinks

Password cracking – Ditt lösenord är INTE säkert

Undrar du vad någon kan göra när de kommer över en databas med lösenord? Förutsatt att de faktiskt är krypterade så tar det lite tid att knäcka dem. Det tar i alla fall några sekunder för ett par miljarder lösenord. Ja, du läste rätt.

Kolla på klippet nedan där allt förklaras i mer detalj:

(Byt lösenord när du kollat på klippet)

Dropzone.js – Att ladda upp filer kunde inte vara enklare

Här kommer ett litet tips på ett litet javascript bibliotek som gör det möjligt att busenkelt ladda upp filer med ”drag and drop”.

Dropzone Logo

Börja med att inkludera filerna från en CDN (du kan självklart ladda hem filerna lokalt också):

https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.3.0/min/dropzone.min.js

Sedan behöver du bara skriva följande:

var Dropzone = require("dropzone");

<form action="/file-upload"
      class="dropzone"
      id="my-awesome-dropzone"></form>

Nu är allt färdigt! Du har nu en liten ”dropzone” som du kan dra filer till som sedan skickas till din form action.

Vill du veta mer så bara gå in på Dropzone.js’s hemsida och så kan du läsa vidare där om eventuella anpassningar.

Liten uppdatering

Laddade precis upp en liten uppdatering som gör att det finns en liten ikon längst upp till höger i titeln på inläggen. De indikerar vilken typ av inlägg (kategori) det är och jag kommer framöver fokusera på tre huvudkategorier; Tips, Video och Nyheter men även en fjärde som heter Blogg med inlägg som detta.

Klicka på ikonerna för att läsa alla inlägg under samma kategori. Hoppas ni gillar det!

Mailtrap.io – Fånga upp och testa mailutskick

Mailtrap Logo

Jag vet att jag inte är ensam om att inte tycka om att skapa HTML och CSS strukturen på ett mail. Även om det börjar bli lite lättare tack vare bättre och ”snällare” e-postklienter så är det fortfarande en pärs.

Som tur är så finns det verktyg som Mailtrap som gör det lite enklare och du slipper även spamma din egna inkorg med massa testutskick. Enkelt att sätta upp och gratis om du bara testar 2 utskick/sekund och nöjer dig med en inkorg.

Några bonus features du får med Mailtrap är att du kan analysera om ditt mail är klassat som spam eller om det är svartlistat av någon anledning. Hela strukturen på mailet plus headers med mera kan visas och det blir genast mycket enklare att få en korrekt struktur.

Rekommenderas starkt till er som jobbar med mailutskick!

Mailtrap Info

f.lux – Night Shift för din Mac

”Night Shift” är något du kan använda på iOS idag men inte på din Mac. Det som händer är att din skärm går från det blåa skenet till ett mer behagligt beige-liknande sken. Snällare mot ögonen helt enkelt.

Night Shift

Att sitta och jobba på kvällarna när det är mörkt runt omkring mig är något jag gör väldigt ofta. Med f.lux får jag ”Night Shift” på min Mac också och det blir genast mer behagligt för ögonen när jag jobbar länge i det skenet.

f.lux

Ladda ner f.lux här och testa själv!

PHPUnit testdox parameter

Ett litet tips jag läste om nyligen var att lägga till parametern testdox när du kör PHPUnit. Detta gör att du ser alla dina test utskriva snyggt och prydligt med en liten checkbox.

phpunit --testdox BankAccountTest
PHPUnit 5.5.0 by Sebastian Bergmann and contributors.

BankAccount
 [x] Balance is initially zero
 [x] Balance cannot become negative

Tweaks på temat och tillbaka från de döda

Efter en lång tid borta från bloggen tyckte jag det var dags för att fixa de små skavanker som uppstått när jag inte uppdaterat bloggen. Till exempel var typsnittet helt fel och en hel del annat var buggat.

Typsnittet heter numera Raleway och Bootstrap används för att bygga upp och strukturera sidan. Jag tycker det går snabbare att fixa till allt på sidan när man har det i grunden. Sist men inte minst så använder jag Font Awesome för att visa snygga ikoner lite här och där.

Generera setter & getter med Symfony i Vim

Detta är väldigt specifikt för både Vim och Symfony men jag kände mig lite extra lat och ville ha något enkelt för att generera setters och getters efter jag skapat en ny attribute i min doctrine entity.

Exempel på attribute:

/**
 * @var string
 *
 * @ORM\Column(name="name", type="string", length=255)
 */
 private $name;

 
Den här funktionen plockar ut korrekta namn på bundles och filer för att sen generera en komplett entity åt dig med hjälp av Symfony’s console. Jag valde att inte skapa en backup men du kan enkelt ta bort ”–no-backup” och så får du en backup om du föredrar det. Snabbkommandot jag valde är <leader>ge som står för ”generate entity”. Ta bort eller ändra till det du föredrar.

Lägg in detta i din .vimrc:

map <leader>ge :GenerateSetterAndGetter<CR>
command! GenerateSetterAndGetter call GenerateSetterAndGetter()

function! GenerateSetterAndGetter()
  let path = expand('%:p')
  let matches = matchlist(path, '\(.\+\)\/src\/\(.\+\)\/\(.\+\)\/Entity\/\(.\+\)\.php')
  if len(matches) > 0
    execute(printf('!php app/console doctrine:generate:entities %s%s:%s --no-backup', matches[2], matches[3], matches[4]))
  else
    echo 'This is no entity'
  endif
endfunction

Jeffrey Way snackar om enkelhet och mer

Jag har gillat i stort sett allt Jeffrey Way gjort ända sedan den där gången jag såg hans klipp på tuts+. Idag är han förmodligen mest känd för vad han gör för Laravel’s community genom bland annat Laracasts.com.

Här är i alla fall ett tal han gjorde på Laracon EU nyligen och det handlar dels om enkelhet som jag skrev om i mitt förra inlägg. Han radar även upp i stort sett ALLT som en ny utvecklare ”måste” lära sig. Intressant och bra tal. Stay awhile and listen.