Bewijs Materiaal: Functionele Dingen Programmeren

“Ik pas de content van die 32 websites die ik beheer wel handmatig aan…”
 
Omschrijving
 
Back-end development.
Hierbij komt de techniek kijken waarbij informatie, aan de kant van de server, verwerkt wordt (bijv. in een database). Hiermee kan de informatie op één plek beheerd worden en kunnen meerdere clients van dezelfde data gebruik maken. Het beheren van de content kan ook via een webinterface gebeuren, een zogenaamd Content Management Systeem (CMS). 
Bij het uitwerken van de code is efficiëntie van groot belang. De hoeveelheid data die van server naar client gaat moet zo laag mogelijk zijn en het moet voor een programmeur niet te veel tijd kosten om onderdelen aan de code toe te voegen of aanpassingen te doen. Hergebruik van code, aanbrengen van structuur en het generiek opzetten van code is daarom belangrijk. 
Een ander onderdeel dat bij efficiëntie hoort, is het gebruik maken van onderdelen die al bestaan of te specialistisch zijn om zelf te bouwen, denk aan een bestaande library of het gebruik van een API. Kwaliteitscheck: je weet wanneer je code zelf moet schrijven of gebruik kan maken van libraries of het aanroepen van data uit een API. Je geeft nog steeds blijk van kennis wat er in de library of de API gebeurt, ondanks dat het niet jouw code is.
Uitdagingen
  • je hebt een website gebouwd, gevoed door een database, waarbij inhoud (content), logica (programmeren) en opmaak van elkaar gescheiden zijn zodat overzicht en structuur ontstaat.
  • een website gebouwd waarmee de content van een website beheert kan worden (eenvoudig CMS):
    • CRUD functionaliteit
    • JOIN(s)
    • Selections (bijv WHERE, LIKE, ORDER BY)
  • je weet wanneer je code zelf moet schrijven of gebruik kan maken van libraries of API om op die manier tijd te besparen.
  • je weet hoe je een bestaande library kunt implementeren in jouw project zodanig dat je de functies in de library kunt aanspreken en dit kunt aantonen in projecten die je zelf gemaakt hebt. 
  • je kunt objectgeoriënteerde code schrijven (tot enkelvoudige overerving) om op deze manier complexe code te structureren

Bewijs Materiaal 

  • Ik heb bij sprint 2 mijn website met een database moeten maken. Hierbij heb ik voor elke pagina de PHP code boven neergezet en de html code beneden, dit is voor mij een mooie manier om de php code te onderscheiden van de html5 code. Ik wil dit u liever zelf laten omdat anders dit bestand te groot is door de fotos die ik dan zou uploaden die niet eens heel de code weer kunnen laten geven.
  • Mijn website QRP maakt gebruik van 3 CRUD funtionaliteiten waarbij bepaalde pagina’s gebruik maken van JOINs. Ook heb ik natuurlijk gebruik moeten maken van veel WHEREs en soms ORDER BY, LIKE heb ik niet hoeven te gebruiken wel weet ik wat het doet. Ik wil dit u ook liever zelf laten zien want het is eenmaal veel gedoe om elke sql code hier te plakken.
  • Met periode 2 kwam ik na een tijdje erachter dat het soms best wel handig is om van een library of API gebruik te maken. Ik gebruik het vooral om veel tijd te besparen en het herhalende werk te vermijden. In mijn geval gebruikte ik een korte library met variabelen en mijn database connection, die ik op elke pagina kon gebruiken zodat ik niet elke keer de variabelen moet aanmaken of voor elke pagina de database connectie informatie moet veranderen. Hieronder kan ik wel een voorbeeld geven.Screen Shot 2016-01-23 at 3.16.44 PM
  • Als er veel code is die ik zelf zou kunnen schrijven voor een funtionaliteit maar het is een ontzettend lange code dan kan je die code importeren met php via een require of require_once of een include. Het verschil met een  include is dat bij een fout in code de hele php code een fatal error geeft en de php code dus niet uitvoert. Bij een require of require_once is dat niet het geval dan wordt de code wel uitgevoerd. Ik zelf heb de require_once frequent gebruikt om ervoor te zorgen dat ik de code kon testen. Een voorbeeld van veel herhalende code is hierboven en hieronder te zien. De code van hieronder gaat nog veel verder door. Screen Shot 2016-01-23 at 3.28.33 PM
  • Met de Arduino periode maakte ik een grondlegging aan mijn kennis voor objectgeoriënteerde code. Object georiënteerde code is een manier voor programmeurs om verschillende taken in classes aan te geven. Hieronder is een klein voorbeeldje daarvan. Met een speedcourse heb ik geleerd hoe ik dit toepas met JQuery op een php site. Ik zal dit u verder toelichten bij de assesment als dat nodig blijkt.
  • Screen Shot 2016-01-23 at 3.23.03 PM

 

 

Update

Bewijs Materiaal 2

  • je hebt een website gebouwd, gevoed door een database, waarbij inhoud (content), logica (programmeren) en opmaak van elkaar gescheiden zijn zodat overzicht en structuur ontstaat.

In periode 3 heb ik aan een project/website gewerkt waarbij inhoud (content), logica (programmeren) en opmaak van elkaar gescheiden zijn zodat overzicht en structuur ontstaat. 

Screen Shot 2016-04-11 at 7.08.59 PM

  • een website gebouwd waarmee de content van een website beheert kan worden (eenvoudig CMS):
  • CRUD functionaliteit
  • JOIN(s)
  • Selections (bijv WHERE, LIKE, ORDER BY)

Mijn website QRP maakt gebruik van 3 CRUD funtionaliteiten waarbij bepaalde pagina’s gebruik maken van JOINs. Ook heb ik natuurlijk gebruik moeten maken van veel WHEREs en soms ORDER BY, LIKE heb ik niet hoeven te gebruiken wel weet ik wat het doet. Ik wil dit u ook liever zelf laten zien want het is eenmaal veel gedoe om elke sql code hier te plakken.

  • je weet wanneer je code zelf moet schrijven of gebruik kan maken van libraries of API om op die manier tijd te besparen.

In periode 3 hebben we gebruik gemaakt van twee api’s: yummly en instagram. Hierbij hebben we zeker veel tijd bespaart want als ik moet denken hoeveel tijd we kwijt zouden zijn aan het maken van een code die een database maakt van recepten op basis van internet search results dan zouden we nu nog niet klaar zijn. Het schrijven van code die gerbuik maakt van een api of library daarentegen is veel minder werk omdat dat in mijn ervaring maar hoogstens een uur of drie uur hoort te duuren. Ook heb ik gebruik gemaakt van een library voor php voor databases.

cle1-3 yummly.php api bwijs materiaal

cle1-3 Instagram api bewijs materiaal

cle1-3 Mathijs Perik db.php code bewijsmateriaal die het zelf had geschreven zodat hij het in de toekomst niet meer zelf hoefde te schrijven:

 

In periode 1 heb ik gebruik gemaakt van een library waarbij veel muziek noten gedefineerd werden dit bespaarde heel veel tijd dat ik anders gebruikt had om zelf uit te zoeken welke frequenties met de arduino buzzer muziek noten maken.

Screen Shot 2016-01-23 at 3.28.33 PM

 

  • je weet hoe je een bestaande library kunt implementeren in jouw project zodanig dat je de functies in de library kunt aanspreken en dit kunt aantonen in projecten die je zelf gemaakt hebt.

In periode 3 heb ik gebruik mogen maken van Mathijs Perik zijn eigen library om databases aan te roepen. Ik heb deze functies aan kunnen roepen waardoor ik resutaten kreeg in mijn website. cle1-3 database.php bewijsmateriaal

  • je kunt objectgeoriënteerde code schrijven (tot enkelvoudige overerving) om op deze manier complexe code te structureren

In periode 3 heb ik objectgeoriënteerde code leren schrijven en meteen toegepast in mijn code en ook in het project cle1-3 markthal main.js code.