vrijdag 9 april 2021

Visual Studio CODE

In het vorige nieuws-item maakten we ons zorgen over het feit dat "Brackets" nog maar tot 1 september 2021 ondersteund wordt.
Met "Visual Studio CODE" hebben we een waardig alternatief, het biedt zeker hetzelfde als "Brackets" en is bovendien beschikbaar onder Windows, MAC-OS en Linux. Webontwikkelaars moeten wel zorgen dat ze de volgende extensies activeren.

"Open PHP/HTML/JS in browser"
Deze extensie zorgt er voor dat we onze scripts kunnen uitvoeren op onze test-server (Xamp).

"PHP IntelliSense"
Deze extensie zorgt voor ondersteuning tijdens het coderen in PHP.

"PHPfmt PHP-Formatter"
Door deze extensie te gebruiken kunnen we onze PHP scripts formateren. Werkt zoals "Indent" bij "Brackets".

"Smarty"
Deze extensie zorgt er voor dat de editor Smarty code en de extensie .tpl herkent.


Wanneer je nog wat tijd over hebt kan je gerust wat experimenteren met "Visual Studio CODE". Maar, geen paniek, tot het einde van dit schooljaar kan je nog altijd verder met "Brackets".

Micky

vrijdag 5 maart 2021

On September 1, 2021, Adobe will end support for Brackets.

Begin deze week kregen we het bericht dat Adobe stopt met het ondersteunen van "Brackets".
Net zoals bij jullie kwam deze melding voor ons ook als een verrassing. Voor de opleiding web-applicaties gaan we "brackets " nog gebruiken tot het einde van dit jaar zodat jullie geen andere editor moeten aanleren.
Ondertussen gaan wij, de lesgevers web-ontwikkeling en web-design, op zoek naar een goed alternatief. Wanneer we er eentje gevonden hebben krijgen jullie hierover via deze weg de nodige informatie.

Micky

vrijdag 29 januari 2021

Log-files

In de informatica wordt een log gebruikt om alle gebeurtenissen van een bepaald proces bij te houden, ook wel loggen genoemd. Logs worden gewoonlijk opgeslagen in een bestand, een logbestand of log-file genoemd.
Wij gaan in onze applicatie ook log-files gebruiken. Zoals een exception log waar we voor alle "exceptions" bijhouden waar, wanneer en wat de exception handling triggerde, een security-log waar we bijhouden wie wanneer en hoe aanlogde, een activity-log waar bijgehouden wordt wie wanneer en wat gedaan heeft enz.
In onze applicaties gaan we onze te loggen gegevens in een csv-file plaatsen, we openen deze file als volgt:

$_pointer = fopen("../logs/error_log.csv","ab");

We openen de file om een csv-lijn toe te voegen,"append" (a).Maar hier schuilt een addertje onder het gras. de methode "append" gaat deze actie enkel uitvoeren wanneer de csv-file al bestaat.
Waarom gebruiken we dan niet een methode die de file automatisch aanmaakt?
Methodes die files automatisch aanmaken vergen meer tijd en processingpower en dit voor, in ons geval, een actie die slechts één maal voorkomt. Dit maakt wel dat wij de log-files zelf, manueel, moeten aanmaken in het begin van ons ontwikkel-process.

Micky

dinsdag 26 januari 2021

Lengte van de smarty-template naam.

Recent hadden we een probleem met smarty, wat er ook gedaan werd, de smarty template verscheen maar niet aan de client-side.
We probeerden van alles en toen we bijna aan het einde van ons latijn waren probeerden we de wel erg lange naam van de template korter te maken en wonder boven wonder, het werkte.
Wat was nu het probleem, er is een beperking aan de lengte van de naam voor een smarty-template.
Maar, nergens staat vermeld wat die maximum lengte dan wel zou zijn.
Om problemen met template namen zoveel mogelijk te vermijden stel ik voor dat we ons houden aan een maximum lengte van 20 characters, extensie (.tpl) niet inbegrepen.

Micky

dinsdag 19 januari 2021

"POST" of "GET"?

Wanneer we gegevens van een webpagina naar een andere verzenden, kunnen we kiezen tussen GET en POST. Als we de GET-methode gebruiken, worden de waarden verzonden met behulp van een reeks "sleutel = waarde" -paren in de URL. Als we de POST-methode kiezen, worden de waarden verzonden in de HTTP-requestbody en zijn ze niet duidelijk zichtbaar in de browser. Het HTTP-protocol codeert echter geen gegevens die op internet worden verzonden. Daarom kan een aanvaller deze gegevens lezen door het netwerkverkeer te gaan "sniffen". In dat geval zijn zowel GET- als POST-gegevens duidelijk zichtbaar voor de aanvaller. Zelfs als de POST-gegevens niet onmiddellijk zichtbaar zijn in de URL, zijn ze nog steeds aanwezig in het HTTP-pakket.
Als we geen HTTPS gebruiken, zal het gebruik van POST de gegevens dus niet veiliger maken.
Bij het gebruik van HTTPS worden zowel GET- als POST-gegevens versleuteld. Een aanvaller die de gegevens weet te lezen, kan deze niet ontcijferen.
Bij gebruik van de GET-methode worden de gegevens echter wel weergegeven in het URL-veld van de browser. Dit is niet per se een veiligheidsrisico. Het wordt echter gemakkelijker om die gegevens per ongeluk te delen door simpelweg de URL te delen. Het is veel moeilijker om per ongeluk POST-gegevens te delen, omdat deze nooit duidelijk zichtbaar zijn op het scherm.
Om deze reden is het best de POST-methode te gebruiken.

Micky

vrijdag 15 januari 2021

Bootstrap

De cursus web-ontwikkelaar heeft aan de client-side een grote beperking, in geen enkele module wordt er aandacht besteed aan "responsiveness". Projecten van webontwikkelaars zijn dan meestal enkel geschikt voor laptops en desktops, kleinere formaten worden niet ondersteund.
Nu is het niet de bedoeling om "responsiveness" onder te brengen in een andere module, maar om een efficient antwoordt te bieden op de vraag naar applicaties voor alle scherm-formaten. Dit antwoordt vinden jullie in "Bootstrap".
Bootstrap is een CSS- en JavaScript-framework waarmee je op eenvoudige wijze websites en webapps vormgeeft. Het framework is gebouwd rond de principes van Responsive Web Design, waardoor websites er goed uitzien op alle scherm-formaten. Bootstrap bevat ook user interface-componenten als knoppen, "hamburger-menu", drop-downmenu's, tabel lay-outs, een gridsysteem om snel een lay-out in te stellen en tal van JavaScript-componenten waarmee je dynamische onderdelen aan een site kan toevoegen.
Het book "bootstrap 4" van Peter kassenaar (ISBN 9789059408364) is een goede start maar je vindt natuurlijk ook informatie op W3schools.

Micky

donderdag 23 december 2020

Het avondtraject webontwikkelaar

Inschrijven voor de verschillende modules van het avondtraject Webontwikkelaar is voor velen een moeilijke oefening. Voor welke vakken schrijf ik me in voor het eerste jaar, welke het tweede jaar en is er nog een derde jaar.
Hoe komt het dat er voor het avondtraject webontwikkeling maar 5 modules vermeld worden en voor de dag trajecten 8 modules,... . Het is een mysterie zoals het monster van Lochness, niemand weet wat of hoe en het komt regelmatig terug. In de video gaan we proberen om het misterie van de volgorde der modules voor eens en altijd op te lossen.

Micky

maandag 7 december 2020

SQL datatype VARCHAR

Het uitzoeken hoeveel characters een naam, email, straat, ... maximum kan hebben is geen eenvoudige opdracht. En toch, jarenlang moesten database-designers zich hiermee bezig houden. Het was namelijk een goede design praktijk om het aantal characters voor een VARCHAR zo klein mogelijk te houden. Nu, vanaf MySQL 5.5, hoeft dit niet meer, sterker nog een string met een variabele lengte kan nu tot 65535 characters lang zijn en het heeft geen enkel nut meer om die lengte vooraf te beperken. Onze database zal er niet sneller,trager, groter of kleiner door worden.
Maar laten we VARCHAR nu eens van naderbij bekijken. VARCHAR gingen we als datatype gebruiken voor een naam, email, url, rekeningnummer enz.. Kort gezegt voor niet doorlopende teksten. Wel, een naam of andere kandidaat voor VARCHAR met een lengte van tot 65535 characters, ik zie het niet echt gebeuren.
Daarom, geen gezeur, alle geschikte velden krijgen meteen VARCHAR(255) als datatype. Langere strings zullen doorlopende teksten zijn, met leestekens, tags, ... en daarvoor zijn er betere datatypes.

Micky

vrijdag 4 december 2020

PHP 8

De release van een nieuwe PHP, versie 8, is voor begin deze maand voorzien (dec 2020).
Echte grote veranderingen staan niet op het programma. Behalve dan als het om de verwerkings snelheid gaat want deze zal significant verhogen.
Gaan we dit merken in onze applicaties ? Waarschijnlijk niet, de grootste vertragers binnen onze applicaties zijn het transport over het internet en onze databases.
MySQL wordt wel steeds efficienter en onze netwerksnelheden gaan ook steeds hoger zodat ook daar snelheidswinst te rapen zal vallen. We zien wel.
Wat de cursus betreft valt er op het eerste zicht geen noodzakelijke aanpassingen te bespeuren. Als er toch nog iets speciaal te rapporteren is laat ik jullie dit onmiddellijk weten.

Micky

vrijdag 4 december 2020

Eerste bericht

Vanaf vandaag ga ik deze pagina gebruiken om intersante "wist je datjes" met de jullie te delen. Informatie die in normale omstandigheden gewoon in de klas verteld wordt. In corona tijden moeten we dit anders aanpakken daarom deze webpagina.

Micky