Flera domännamn på samma webserver

 LAMP, Operativsystem, PHP, Ubuntu, Webbutveckling  Kommentarer inaktiverade för Flera domännamn på samma webserver
Jun 022017
 

Intetsägande bild till den här artikelnHär kan du som utvecklare i LAMP (Linux, Apache, MySQL, PHP) se hur man sätter upp vhosts.
vhost används när du vill koppla flera domänadresser till en och samma server som bara har en IP adress.

Till exempel kanske du vill ha www.exempel1.com till katalogen /var/www/www.exempel1.com
och www.exempel2.com till /var/www/www.exempel2.com

Jag har tidigare skrivit om hur du sätter upp vhost i MacOS. Det är exakt samma princip i Ubuntu, bara lite andra filnamn.

Continue reading »

JavaScript – The language without context.

 Javascript och jQuery, Nyheter, Webbutveckling  Kommentarer inaktiverade för JavaScript – The language without context.
Apr 012017
 

The peanut
You received a peanut.
You do not have the context. There is no way you know why you received a peanut and what to do with it.

If you feel hungry and I have peanuts, you ask me for a peanut, you get a peanut and you eat it.
That is context.

Lets say you want to do other stuff while you wait for a peanut. You want to surf on your phone.
You feel hungry, you say ”I am hungry, can anyone give me a peanut”, and then you start surfing on your phone.
I hear your message and I have peanuts, I give you a peanut. When you receive a peanut, then you eat it.

Now you do not need to know the extended context. It has been reduced to: ”When you receive a peanut, then you eat it.”.
I saw that you reacted this way and found it amusing, so I gave you another peanut, and another…

The Chinese businessmen
A group of Chinese businessmen have traveled to Sweden to look at a secret new prototype that the Chinese company are developing in Sweden. All information is in need to know basis.

The Chinese businessmen have traveled far, they are tired and hungry. Their secret task is to measure the prototype and call a secret buyer and relay the information. If the buyer say OK then the prototype will be shipped to the buyer. The Chinese businessmen are met at the factory by a very polite person.
– I am your personal contact person. I will always be at your side while you are here at the factory. The prototype is in the storage. If you give me instructions what to do with the prototype then I promise to execute them.

The Chinese businessmen really needed the prototype so they said:
– Your instructions are to bring the prototype back here. We will wait.
– Yes, I understand.

The contact person smiled and stood absolutely still.

What can we learn from the peanut and the prototype?
In JavaScript there is no way you can hide your context.
If you try then you end up with a peanut in your hand and a smiling Swede at your site.

Continue reading »

Redis

 Admin, Databas, Installation, MacOS, Magento, PHP, Webbutveckling  Kommentarer inaktiverade för Redis
Aug 112016
 

redisRedis lagrar nyckel+data i minnet och är mycket snabb på just detta.
Den används för att få bättre prestanda på webbsidor genom att lagra färdiga resultat i Redis och sedan hämta dem vid behov.

Redis hemsida: http://redis.io

I den här guiden ska jag använda Redis + PHP på MacOS 10.11
Jag förutsätter att du har Homebrew installerad på din Mac.

Continue reading »

Sätta upp vhost på OSX – Apache

 MacOS, Webbutveckling  Kommentarer inaktiverade för Sätta upp vhost på OSX – Apache
Aug 072016
 

vhostNär du surfar till webbservern Apache från ett domännamn så tittar apache i vhost-filen om det domännamnet finns,
om det finns i filen så tittar den var domännamnets filer finns på hårddisken och laddar in rätt fil.
Om domännamnet inte finns i vhost-filen så använder den grundinställningarna.
Källa: getgrav

Continue reading »

OSX – MySQL databas

 Databas, Webbutveckling  Kommentarer inaktiverade för OSX – MySQL databas
Aug 022016
 

mysqlHär beskriver jag hur du på OSX 10.11 (Macintosh) installerar databasen MySQL.

Är MySQL installerad?

Ta reda på det så här:
find / -iname ”mysql”

Installera MySQL

Om du har homebrew installerad kan du göra så här:

brew search mysql
brew install mysql

Jag fick mysql-5.7.12 installerad.

Continue reading »

PostgreSQL

 Databas, Webbutveckling  Kommentarer inaktiverade för PostgreSQL
Jun 252016
 

100x58_1Mitt intresse för PostgreSQL (PSQL) beror på att jag skapar en plattform som ska ha stöd för de mest kända databaserna, PostgreSQL är en av dem. När jag programmerar i övrigt så använder jag aldrig PSQL för den har paradoxalt nog för många finesser som du tvingas ta ställning till när du egentligen bara vill skapa en databas men en tabell och några index. PSQL skulle nog bli mer populär om den kom i en enklare version där bra-nog är ledord.

I min plattform kommer du enkelt att kunna använda bland annat PostgreSQL, men det kräver att den är installerad och fungerar. Här berättar jag hur du kommer igång på MacOS 10.11.5

Allmänt om PSQL
Hemsida: https://www.postgresql.orgWikipedia: https://en.wikipedia.org/wiki/PostgreSQL

Continue reading »

 Posted by at 17:44

Felsöka xdebug

 Felsökning, PHP, Problemlösning  Kommentarer inaktiverade för Felsöka xdebug
Jun 112016
 

xdebugI och med att jag uppgraderade till PHP 7.0 var jag också tvungen att uppgradera till xdebug 2.4. Det var inga problem i Ubuntu 16.04 men när jag gjorde uppgraderingen i OSX 10.11.5 då gick något snett.
Det finns många bra guider på nätet för att uppgradera till PHP 7.0 och xdebug, till exempel den här.

Den här artikeln är uppdaterad 2017-05-13 efter att jag åter fått felsöka xdebug i MacOS.

Så om det nu går fel med xdebug, hur ska man felsöka?

Continue reading »

Öppna APIer

 Filosofi, Nyheter, Webbutveckling  Kommentarer inaktiverade för Öppna APIer
Feb 072016
 

openapiDu har kanske hört talas om begreppet API. Med ett API kan du fråga saker, lagra data och utföra saker.
Till exempel om du vill veta vilka Bring uthämtningsställen som är närmast postnummer 12345 kan du ställa en fråga och få ren data tillbaka.
Ett annat exempel är att hitta radiosändningar från Sveriges radio där ett speciellt lag förekommer.

Ett API kan också vara skyddat av ett loginkonto för att skydda dina data.
Till exempel har Twitter ett API som du kan använda för att skapa inlägg mm.
Alla stora webbsiter har ett API för att sedan bygga ett gränssnitt ovanpå det.
En del tillhandahåller sitt API helt gratis men av praktiska skäl begränsar hur många frågor du får ställa per tidsenhet.
Med ett API som är gratis att använda kan alla programmerare skapa tilläggstjänster som gör att ursprungstjänsten blir mer populär.

Continue reading »

Patchar – snabblagningar

 Webbutveckling  Kommentarer inaktiverade för Patchar – snabblagningar
Nov 132015
 

heart-48522_1280Tänk dig att du är mjukvaruutvecklare och har en gedigen kedja med hur du hanterar uppgifter, utvecklar kod, dokumenterar, granskar, testar, levererar.
Det är ett bra sätt att jobba men det tar tid från uppgift till leverans.
Senaste leveransen hade, trots alla tester, ett litet fel i sig och nu går det inte att köpa något på siten, detta måste fixas nu.

Vi tar den enkla vägen och gör en patch – en snabblagning.
När vi hittat var felet är tar vi en kopia av filen som ska ändras.
Vi åtgärdar felet, ser om det fungerar lokalt och skapar en patch.

Continue reading »

Funktionsvariabler

 Javascript och jQuery, Nyheter, PHP, Webbutveckling  Kommentarer inaktiverade för Funktionsvariabler
Okt 042015
 

Du kan skicka in variabler i funktioner i de flesta programmeringsspråk. Det kan se ut så här:

function MyFunction($myData1 = 123, $myData2 = 'Hello')

Om du skriver så här:

MyFunction(,'Hej');

så betyder det att du nöjer dig med standardvärdet på första variabeln, och sätter ett eget värde på den andra variabeln.

Om du råkar blanda ihop det hela och skriver:

MyFunction('Hej', 456);

Då måste MyFunction göra en kontroll av varje variabel att den innehåller det som förväntats.
Programmeringsspråk som har en inbyggd kontroll av variablernas datatyp kommer att protestera. Men PHP och Javascript har inte detta (PHP har en svag kontroll i senare versioner av PHP)

Jag ska presentera ett förslag för dig så får du fundera på det. Det här förslaget fungerar i alla programmeringsspråk men jag ger dig ett exempel i PHP och i Javascript.

Continue reading »