Learnit Training
« Terug naar alle thema's

Trainingen Software ontwikkeling

Hieronder vind je een overzicht van onze trainingen omtrent het creëren en ontwikkelen van software. Of het nu gaat om verschillende onderdelen van Java, Oracle of het leren programmeren in PHP of C++: Learnit biedt al deze trainingen maatgericht en zowel individueel als voor grote groepen (ook incompany) aan.

Klassikaal

CursusnaamDuur
































E-Learning

CursusnaamDuur





[link]

Praktische voorbeelden van de programmeertaal Python

In zijn vorige blog liet trainer André zien dat de programmeertaal Python overal om ons heen gebruikt wordt. Van de foto's die telescopen maken tot Netflix en Dropbox, Python speelt vaak een belangrijke rol. In dit blog zal André door middel van voorbeelden laten zien hoe je Python in de praktijk kan gebruiken

Excel

Gegevens in een excel bestand aanpassen, nieuwe kolommen toevoegen, een trend ontdekken in een reeks gegevens, fouten uit gegevens halen en missende gegevens invullen. Dit kun je allemaal heel eenvoudig en snel doen met een Python programma. Daarnaast kun je de instellingen bewaren zodat je het gemakkelijk op dezelfde manier kan hergebruiken.

Python paketten

Miljoenen mensen over de hele wereld gebruiken Python, een gratis taal met vele pakketten. Voor het snel en efficiënt bewerken van gegevens zijn de pakketten numpy, pandas en pyplot belangrijk. Met numpy kunnen snel gegevens bewerkt worden, pandas is zeer geschikt om tabellen te bewerken en met pyplot kun je grafieken maken van de gegevens.

Stel je voor dat er een lange lijst met getallen vermenigvuldigd moet worden met een getal. Dat doe je in numpy zoalks hieronder staat weergegeven.

Je hoeft niet ieder getal met 20 te vermenigvuldigen. Dat gebeurt in een keer.

Zoals je hieronder ziet kun je ook makkelijk lijsten met getallen bij elkaar optellen.

Met pandas kun je gegevens uit een excel bestand halen, bewerken en weer terugschrijven. Laten we als voorbeeld een klein excel bestand nemen met winst- en verliespunten in een competitie.

We lezen deze data in met pandas.

Vervolgens tellen we de punten op met pandas.

Hierna kunnen we data terug schrijven naar het excel bestand.

Het bestand ziet er nu zo uit.

In het laatste voorbeeld kun je zien dat het ook eenvoudig is om een grafiek van de tabel te maken.

De conclusie die we kunnen maken naar aanleiding van deze voorbeelden is dat je Python op heel veel manieren kunt gebruiken om jouw werkzaamheden een stuk makkelijker te maken. De voorbeelden zijn natuurlijk maar een klein deel van de verschillende mogelijkheden die Python biedt.

Heeft deze blog je interesse gewekt? Kijk dan vooral het gratis webinar terug. Hierin besprak André in een half uur hoe makkelijk je Python in de praktijk kan gaan gebruiken. Kijk hem hier terug!

[link]

Webscraping met Python: gegevens binnen handbereik

Iedereen maakt er wel eens gebruik van: websites waarbij je verschillende producten of diensten met elkaar kan vergelijken. Wil je een hotel boeken? Klik de aankomstdatum aan en vul de bestemming in op een site als expedia.nl die verschillende hotels en prijzen van aanbieders met elkaar vergelijkt. Op zoek naar nieuwe sneakers? Typ sneakers in op beslist.nl en vul bijvoorbeeld in welke maat je hebt en naar wat voor kleur sneakers je op zoek bent. Op deze manier ben jij in staat om jouw perfecte sneakers te vinden. Handig toch! De techniek die het mogelijk maakt om op deze snelle manier te zoeken, wordt ook wel webscraping genoemd.

Wat is webscraping?

Webscraping stelt mensen in staat om belangrijke gegevens van een site te halen of maakt het mogelijk om te zoeken naar bepaalde kenmerken op een website. Naar keuze kunnen gegevens automatisch en periodiek opgehaald of opgeslagen worden. Websitebeheerders kunnen gebruik maken van verschillende programmeertalen om webscraping mogelijk te maken, waaronder Python. De module ‘Beautiful Soup’ is erg handig voor webscraping, en ‘numphy’ en ‘pandas’ maken het analyseren een stuk gemakkelijker. Webscraping zorgt ervoor dat bezoekers van bijvoorbeeld een vergelijkingswebsite gemakkelijk en snel de informatie kunnen vinden die zij nodig hebben. Handig dus voor websites als expedia.nl, die eigenlijk gewoon slim gebruik weten te maken van de gegevens en informatie van andere websites. Expedia trekt als het ware klanten doordat het bedrijf in staat is om gegevens van andere websites op een slimme manier te bundelen en zo te weergeven dat de pagina aantrekkelijk is voor consumenten die op zoek zijn naar een hotel.

Voordelen webscraping

De belangrijkste voordelen van webscraping op een rijtje:

  • Automatisch belangrijke gegevens ophalen van een website
  • Eenvoudige manier om meer inzichten te krijgen in door middel van data-analyse
  • Gemakkelijk en snel bruikbare data opslaan

Samengevat: webscraping is handig voor iedereen die wil leren hoe je het optimale kan halen uit het verwerken van data van je eigen website!

Webinar en Training Python

Ben jij geïnteresseerd in webscraping en wil jij hier een korte introductie webinar over volgen? Klik dan hier om het afgelopen webinar van expert-trainer André terug te kijken via ons YouTube kanaal. Wist je dat Learnit naast webinars ook diverse trainingen in Python aanbiedt op verschillende niveaus? Wanneer je nog geen tot weinig ervaring hebt met Python is onze training Python programmeren basis echt iets voor jou. In deze driedaagse training maak je kennis met de basisbegrippen en functies in Python. Heb je al ervaring met programmeren in Python? Dan is de training Python programmeren vervolg iets voor jou! Om ons volledige overzicht met trainingen met betrekking tot Python te bekijken, klik hier.

[link]

Wat houdt de RET-methode precies in?

Vaak zijn het niet de gebeurtenissen zelf die ons van streek maken, maar de manier waarop we over deze gebeurtenissen nadenken en de manier waarop we daarmee omgaan. De RET-methodiek van psycholoog Albert Ellis is speciaal gericht op het leren omgaan met deze belemmerende gedachten over gebeurtenissen. De gedachte achter deze methodiek is dat iedereen met behulp van het zogenoemde ABC-schema en met een stappenplan, zelfverzekerder in zijn schoenen komt te staan, met als gevolg dat je flexibeler met gebeurtenissen om weet te gaan en dat je besluitvaardiger op weet te treden wanneer dit nodig is. Merk je zelf dat je vaak aan het piekeren bent of uren wakker kunt liggen als er een belangrijk besluit zit aan te komen? Lees dan deze blog en kom erachter of de RET-methode zinvol kan zijn voor jou!

Waar staat RET voor?

De afkorting RET staat voor Rationeel Emotieve Therapie. Centraal binnen de RET-methode staat de relatie tussen het denken en de emoties. Het uiteindelijke doel van het toepassen van deze methode is om mensen weerbaarder te maken tegen stressvolle situaties. Zo focust de methode zich bijvoorbeeld op het omzetten van ineffectieve gedachten en gevoelens naar gedachten en gevoelens die juist wel effectief werken in een situatie die normaliter stress op zou kunnen leveren. Om dit voor elkaar te krijgen is het belangrijk dat je inzicht krijgt in de werking van je lichaam en geest, zodat je je eigen gedrag beter kunt begrijpen. Dit klinkt natuurlijk hartstikke mooi, maar hoe krijg je zoiets voor elkaar?

Het ABC-schema van RET

Het ABC-schema van RET houdt in dat er een gebeurtenis of aanleiding voor een bepaalde situatie plaatsvindt (A) waar je gedachten over hebt (B) en deze gedachten hebben vervolgens consequenties voor je eigen gedrag (C). Let op: het is belangrijk om je te realiseren dat de RET-methode ervan uitgaat dat de gedachten (B) de oorzaak zijn van je gedag (C) en dus niet dat een bepaalde gebeurtenis (A) de oorzaak is van je uiteindelijke gedrag (C). Oftewel, C wordt verklaard door B. Aan de hand van het ABC-schema kun je je vervolgens met behulp van acht verschillende stappen focussen op het veranderen van je eigen gedrag. Ben je benieuwd naar deze stappen? Bekijk dan eens onze training RET: stoppen met piekeren, waarin deze stappen uitgebreid aan bod komen.

Voor wie is de RET methode nuttig?

Twijfel je of de RET-methode nuttig kan zijn voor jou? Bekijk dan de onderstaande karakterschetsen om erachter te komen of deze methode aan jou besteed is:

  • De perfectionist. Gedachten die vaak bij een perfectionist opkomen zijn: “Ik mag geen fouten maken”, of: “Ik faal want ik had het beter kunnen doen”.
  • De rampendenker. Rampendenkers zijn mensen die vaak het idee hebben en soms ook uitspreken dat iets niets lukt of dat ze iets niet op tijd af gaan krijgen.
  • De liefdesverslaafde. Dit type mensen wil altijd door alles en iedereen leuk gevonden worden en vindt het daarom lastig om bijvoorbeeld grenzen aan te geven.
  • Het verwende nest. Hiermee worden types bedoeld die gewend zijn dat alles goed gaat. Wanneer dit vervolgens niet het geval blijkt te zijn, schieten ze in de stress.

Herken je jezelf niet in bovenstaande karakterschetsen? Ook dan kan de RET-methode waardevol zijn voor jou! Bekijk de training hieronder om meer te weten te komen over deze methodiek.

Training RET

Denk je na het lezen van deze blog dat de RET-methode wel eens een uitkomst zou kunnen bieden voor je eigen stress en gepieker? Bekijk dan eens onze training RET: stoppen met piekeren. In deze training komt niet alleen kennis aan bod over de RET-methode, maar ga je ook direct aan de slag met het oefenen van casussen. Dit zorgt ervoor dat je na deze training in staat bent om zelfverzekerder, flexibeler en besluitvaardiger op te treden! Klik hier om meer te lezen over de training of om je direct in te schrijven. [link]

Top 10 populairste programmeertalen

Eind vorig jaar werd een lijst bekend gemaakt met de populairste programmeertalen van 2020. Niet geheel verrassend stond C als ultieme favoriet nog steeds bovenaan de lijst van de TIOBE’s index. Python wist dit jaar wel voor een verrassing te zorgen: voor het eerst in de geschiedenis heeft Python Java namelijk ingehaald en vinden we Python op plek 2 en Java op plek 3 in de top 10. Naast Python, winnen ook R, Perl en Go aan populariteit. R eindigde zelfs verrassend op plek 9 in de top 10 lijst; TIOBE heeft R daarom bestempeld als ‘programming language of the year 2020’.

Waarom wint Python aan populariteit?

De CEO van TIOBE’s INDEX Paul Jansen zei over de inhaalslag van Python op Java: “Some time ago I had a flat tire and called the road patrol to help me out. The mechanic asked about my living and when I used the word ‘software’ in my answer, he smiled and started talking very enthusiastically about his own passion: programming in Python. From that moment on, I knew Python would become ubiquitous.” Waren het tien jaar geleden vooral software engineers die zich bezighouden met de verschillende programmeertalen, tegenwoordig zie je dat steeds meer mensen op de werkvloer over programmeervaardigheden beschikken. Dit heeft alles te maken met het feit dat er een tekort is aan klassieke programmeurs. Bovendien is een programmeertaal als Python relatief gemakkelijk in gebruik als je met grote hoeveelheden data wil werken. Wil je zelf met data aan de slag maar heb je nog geen of weinig kennis van een programmeertaal? Bekijk dan eens onze cursussen Python programmeren basis of Python voor data-analyse. Kun je al aardig overweg met Python? Dan is de cursus Python programmeren vervolg echt wat voor jou!

Waarom wint 'R' aan populariteit?

Big data is een term die de meeste mensen ongetwijfeld vaker voorbij horen komen. Programma’s als R zijn uitermate geschikt om deze zogenoemde big data om te zetten in bruikbare informatie voor organisaties en daarnaast is R een stuk eenvoudiger in gebruik dan een taal als 'C'. Wist je bijvoorbeeld dat R één van de programmeertalen is die werd gebruikt voor het vinden van een COVID-19 vaccin? Daarnaast zie je steeds vaker dat universiteiten en hogescholen statische programma’s als Stata, SAS en SPSS inruilen voor statische programmeertalen als R. Beroepsgroepen waarin veel statische analyses voorkomen maken ook steeds vaker gebruik van R, denk bijvoorbeeld aan data-analisten, wiskundigen, econometristen maar ook marketeers. Het voordeel van een programma als R is dat het niets kost: het is een ‘open source’ project, dat iedereen kan gebruiken én verbeteren. Daarnaast staat R bekend om het feit dat je data gemakkelijk kan visualiseren met packages als 'ggplot2', waarmee je bijvoorbeeld een grafiek kan maken.

[link]

Zó geef je goed advies!

De mate waarin je advies wordt begrepen, geaccepteerd en gebruikt hangt voor een groot deel af van hoe je zelf het advies brengt. Als adviseur ben jij ongetwijfeld de specialist in jouw vakgebied, maar hoe overtuig je andere mensen van jouw kennis en kunde? Met de tips in deze blog til je jouw adviesvaardigheden naar een hoger niveau!

  • Timing. Probeer je in te leven in de persoon of personen voor wie je advies is bedoeld. Denk na over de plaats en het tijdstip waarop je het advies geeft. Weet je toevallig dat iemand een drukke week heeft en dat diegene gestrest is? Misschien is het dan een beter idee om even met je advies te wachten.

  • Organiserend vermogen. Vergeet vooral niet dat jij de specialist bent en probeer dit ook uit te stralen. Wil je professioneel overkomen dan doe je er goed aan om ervoor te zorgen dat je zaakjes altijd op orde hebt. Zorg er dus voor dat je niet te laat komt en vergeet ook geen belangrijke afspraken of documenten.
  • Analyserend vermogen. Goed advies kun je eigenlijk pas geven nadat je eerst alle benodigde informatie hebt verzameld en geanalyseerd. Ga daarom altijd eerst in gesprek met de klant. Luister naar de klant maar stel zelf ook gerichte vragen. Het is belangrijk om op de hoogte te zijn van de situatie zodat je gericht advies kan geven.
  • Vooruit denken. Advies is veranderlijk. Als je een goede adviseur wil worden of blijven dan is het belangrijk om je ogen en oren open te houden. Verandert er iets binnen jouw vakgebied? Zijn er dingen waarmee rekening gehouden moet worden in de toekomst? Als adviseur is het belangrijk dat je op de hoogte bent van de nieuwe trends en ontwikkelingen binnen jouw vakgebied.
  • Communiceren. De manier van communiceren speelt een grote rol als je wil dat jouw advies ter harte wordt genomen. Let er daarom goed op met wat voor personen of organisatie je te maken hebt, en probeer je manier van communiceren hierop af te stemmen. Zorg er daarnaast ook voor dat de klant voor wie het advies is bedoeld, zich op zijn gemak voelt bij jou. Vraag bijvoorbeeld of die persoon zelf nog wat wil aankaarten voor het adviesgesprek, of biedt wat te drinken aan tijdens het gesprek.
  • Wil jij je eigen skills verbeteren op het gebied van adviesvaardigheden? Bekijk dan eens onze driedaagse training Adviesvaardigheden en leer je advies zo overtuigend mogelijk over te brengen, met resultaat! Ontwikkel daarnaast je eigen persoonlijke adviesstijl met behulp van een Learnit trainer.

    [link]

    Python is overal

    In zijn vorige blog liet trainer André zien dat je in Python snel een programma kan maken dat zinvolle dingen doet: een bestand lezen en analyseren, data bewerken en daar vervolgens een grafiek van maken. In dit blog laat de trainer zien waar Python wordt gebruikt.

    Zwart gat

    Op de foto hierboven is een zwart gat te zien. Het beeld is gemaakt door acht telescopen – verspreid over de wereld gedurende zevende dagen in 2017. De telescopen ontvingen data van een zwart gat dat op 55 miljoen lichtjaren van ons verwijderd is.

    Bij de bewerking van die data kwam Python om de hoek kijken. Vrij toegankelijke en beschikbare modules van de programmeertaal, zoals Numpy en Pandas hielpen het zwarte gat weer te geven. Klik hier voor meer informatie.

    Netflix

    Ook streamingdienst Netflix gebruikt Python. Het bedrijf gebruikt de programmeertaal om het streamen van video’s te verbeteren. Python legt vast welke netwerkapparatuur actief is. Daardoor registreert de taal veranderingen in het netwerk, om te analyseren of een apparaat nog goed functioneert.

    Verder gebruikt de streamingdienst Python om ervoor te zorgen dat de geografische opslag van content zo is georganiseerd dat een video zo snel mogelijk beschikbaar is voor een gebruikter. In dit techblog over Netflix vind je nog meer toepassingen waarvoor Python wordt gebruikt.

    Dropbox

    De populaire tool Dropbox gebruikt Python voor bijna al zijn functies: opslag, sharing, synchronisiatie, permissiemanagement en meer. Het bedrijf kocht in 2012 Guido van Rossum, bedenker van Python, weg bij Google. Daardoor heeft Dropbox sindsdien de best denkbare support op het gebied van Python.

    Frameworks

    Voor Python zijn verschillende webframeworks geschreven. Een van de populairste is Django. Dit framework, oorspronkelijk geschreven voor een bekende Amerikaanse krant, is uitgegroeid tot een universeel toepasbaar framework.

    Met Django maak je eenvoudig een website. Python maakt het makkelijk om coderegels te schrijven en Django zorgt ervoor dat je zonder veel moeite structuur krijgt. Daardoor kan je je website onderhouden en bijvoorbeeld uitbreiden.

    Schermafbeelding van www.nationalgeographic.com, een website gebouwd met Django.

    Een zeer in het oog vallende toepassing van Python is de bijdrage die de programmeertaal heeft aan Kunstmatige Intelligentie (AI). Google is zeer actief op het gebied van AI en gebruikt Python om het AI-netwerk aan te sturen.

    Het Python-package dat het bedrijf daarvoor ontwikkeld heeft, heet Pytorch. Het opzetten van een AI-netwerk is niet eenvoudig. Veel andere manieren om zo’n netwerk op te zetten maken het noodzakelijk om vooraf een grote hoeveelheid data vast te leggen. Pytorch maakt het mogelijk het netwerk op te zetten, terwijl je het AI creëert.

    Kortom: steeds meer bedrijven en organisaties gebruiken Python, omdat de taal makkelijk te leren is en omdat er zeer veel modules voor Python beschikbaar zijn om datgene te doen wat zij belangrijk vinden. Dus als je in je eigen toekomst bent geïnteresseerd, dan verdiep je je in Python.

    Gratis webinar

    André gaf op 16 juli 2019 een webinar over Python. ,,Ik ga daar vooral laten zien hoe makkelijk Python te gebruiken is’’, zei de trainer. Kijk hem hier terug.

    [link]

    Python: de taal voor iedereen

    Python is een programmeertaal waarin iedereen snel kan leren programmeren. Met deze taal kun je relatief simpel een klein programmaatje te maken, een website ontwikkelen, of een applicatie maken. Python wordt ook veel gebruikt voor kunstmatige intelligentie, of voor het analyseren van data. Kortom Python is overal.

    Het is zinvol om te weten dat Python is bedacht in 1989 door een Nederlander, Guido van Rossum. Van Rossum werkte bij het Centrum voor Wiskunde en Informatica in Amsterdam en wilde op een eenvoudige manier programma's schrijven voor een project dat werd uitgevoerd op het instituut.

    Groeiende belangstelling

    Hoewel de taal aanvankelijk alleen maar werd gebruikt door een handvol personen, nam de belangstelling snel toe. Door de deskundige begeleiding van Van Rossum werd het gebruik alleen maar groter. De Nederlandse poldermentaliteit heeft ervoor gezorgd dat de gebruikersgroep van Python vriendelijk en open is, voor iedereen die met Python wil werken.

    Op dit moment bestaan er duizenden Python-bestanden, modules genoemd, waarmee de gebruiker de software kan schrijven die hij nodig heeft. Zo is het in Python eenvoudig om een tekstbestand te openen, om te tellen welke woorden erin voorkomen en hoe vaak. Daarna kan de gebruiker in een paar Python-zinnen de meest voorkomende woorden eruit halen en er een grafiek van maken.

    Analyseren met Python

    Ook het downloaden van data van een website kan gedaan worden in een paar Python-regels. Python wordt veel gebruikt voor data-analyse. Een bedrijf wil bijvoorbeeld een analyse maken over het nut van de advertenties die het plaatst op verschillende lokale media.

    Daarvoor moet een koppeling gemaakt worden tussen het gebied waar de media verschijnen en de verkoop in de winkels daar ter plaatse. Ook nu kan Python helpen. In een paar regels is er een analyse, en als je wilt ook grafieken. Als het nuttig is om de data in een Excel spreadsheet te zetten, kost dat maar een regels Python.

    Ook voor wetenschappelijk rekenen en kunstmatige intelligentie wordt veel gebruik gemaakt van Python. Alle kunstmatige intelligentieplatformen zijn geschikt gemaakt om door Python gebruikt te worden en omdat de taal zo gemakkelijk te leren is maken veel wetenschappers en ingenieurs er gebruik van.

    De firma Tiobe houdt bij welke taal veel gebruikt wordt. In deze rangschikking staat Python op de derde plaats. Zeer waarschijnlijk gaat Python nog verder stijgen.

    De conclusie is dat wanneer je programmeren nodig hebt in je baan, Python de taal is om te leren. In een paar dagen tijd kun je al kleine, maar nuttige programma's schrijven om bijvoorbeeld website data te analyseren of om het gebruik van netwerk apparatuur te monitoren. [link]

    Programmeren kun je leren!

    Bezoek een willekeurige vacaturesite en je ziet het direct: er is een ongekend grote vraag naar programmeurs. Ben je op zoek naar een goedbetaalde baan met uitstekende toekomstperspectieven, dan is leren programmeren een must. Zelfs voor banen waarin je niet direct zelf programmeert is een programmeertaal een uitstekende toevoeging aan je CV. Er zijn echter talloze programmeertalen, dus waar kan je nu het best beginnen? En welke talen zijn interessant met het oog op de toekomst? We maakten een overzicht van de 10 belangrijkste programmeertalen. Talen waar je vervolgens ook direct een training in kan volgen: laat die banen maar komen!

    Java

    Java was jarenlang de meest-gevraagde programmeertaal voor werkgevers. Hoewel deze sinds kort voorbijgestreefd is door SQL, is het nog steeds erg populair. Java is de standaard voor veel enterprise software, wordt door meer dan 9 miljoen ontwikkelaars gebruikt en wordt gebruikt om meer dan 7 miljard (!) apparaten wereldwijd aan te sturen. Haar populariteit dankt de programmeertaal vooral aan de simpliciteit en leesbaarheid van de code, wat het een goed startpunt maakt voor beginnende programmeurs. Ook is een van de grondbeginselen van Java de compatibiliteit die ervoor zorgt dat oudere applicaties blijven werken.

    SQL

    Je treft SQL overal aan. Database technologieën als MySQL, PostgreSQL en MicrosoftSQL houden banken, universiteiten, ziekenhuizen, kleine en grote bedrijven draaiend. Het is niet overdreven om te stellen dat iedere computer en ieder persoon met toegang tot technologie op de een of andere manier met SQL in aanraking komt. Zo hebben iOS en Android apparaten toegang tot SQLite, een SQL database, en zijn er talloze mobiele applicaties die direct van SQL gebruik maken.

    C

    C stamt uit de vroege jaren 70, toen het werd ontwikkeld als een generieke, algemene programmeertaal. Als een van de oudste programmeertalen die er is, geeft C ons de bouwstenen voor andere populaire talen als C++, Java, Javascript en Python. C zelf wordt vooral gebruikt voor besturingssystemen en industriële applicaties.

    C++

    C is een object-oriented programmeertaal gebaseerd op C. Sinds de taal in de jaren 80 werd ontwikkeld is deze gebruikt voor het ontwikkelen van Adobe en Microsoft applicaties, MongoDB databases en grote delen van Mac OS/X besturingssysteem. Het wordt door velen gezien als de beste programmeertaal om te leren voor applicaties waarbij de prestaties van groot belang zijn, zoals games of audio-/videobewerking.

    iOS / Objective C / Swift

    Tot 2014 was Objective C de programmeertaal die door het Apple besturingssysteem werd gebruikt. Het speelt een rol in Apple’s OS X, iOS en zijn API’s. Lange tijd was het de taal waarin je als programmeur iPhone applicaties moest schrijven, tot Apple enkele jaren geleden met zijn eigen programmeertaal kwam: Swift. Swift lijkt in veel manieren erg op C++ en haar voorganger Objective C, maar is voor de meeste programmeurs iets makkelijker te leren.

    Javascript

    Javascript – niet te verwarren met Java – wordt veel gebruikt om interactiviteit aan websites toe te voegen en wordt ondersteund door alle grotere internetbrowsers. Niet alleen kan het gebruikt worden voor simpele functionaliteit als popups of simpele spellen, het vormt ook de basis voor Node.js – Een server technologie die veel in real-time communicatie wordt gebruikt.

    PHP

    PHP was in feite nooit bedoelt als programmeertaal. De Deens-Canadese programmeur Rasmus Lerdorf ontwikkelde PHP in 1994 als een serie tools die hem in staat stelden zijn persoonlijke website (Personal HomePage) te managen. Tegenwoordig hebben we de betekenis van de afkorting veranderd naar Hypertest Pre-Processor en wordt de taal op servers gebruikt om HTML-websites dynamisch te genereren. PHP is gemakkelijk te leren, maar bezit daarnaast veel geavanceerde functionaliteit die voor ervaren programmeurs van grote waarde is.

    HTML / CSS

    HTML vormt de basis voor webpagina’s. Dit doet de programmeertaal door in feite een structuur neer te zetten die door andere talen uitgebreid of aangepast kan worden. Zo kan Javascript worden gebruikt om geavanceerde interactiviteit toe te voegen en beïnvloedt CSS de presentatie, opmaak en lay-out van webpagina’s. Hoewel PHP vanaf een server HTML kan genereren, is kennis van HTML en CSS voor web-ontwikkelaars een absolute must.

    Python

    Python is een server-side programmeertaal voor websites en mobiele applicaties. Het is een relatief gemakkelijke taal om te leren, dankzij de leesbaarheid en bondigheid van de code. In Python is het veelal mogelijk om een concept in minder regels uit te drukken dan in vele andere talen. Python wordt gebruikt in applicaties als Instagram en Pinterest in de vorm van het web-framework Django. Google, Yahoo! en NASA maken allen gebruik van Python.

    Ruby

    Ruby is – net als Python – een programmeertaal die zeer gebruiksvriendelijk is voor beginnende programmeurs. Tegelijkertijd is de object-oriented taal zeer dynamisch en daarmee populair voor het ontwikkelen van websites en mobiele apps. Het is de basis van het Ruby on Rails framework dat door Groupon, Shopify, Scribd en GitHub wordt gebruikt.

    Vul de lijst aan!

    Natuurlijk zijn er nog veel meer programmeertalen. We hebben slechts een paar van de populairste voor je op een rijtje gezet. Heb jij toevoegingen? Mis je een taal die je zelf echt vaak gebruikt? Deel je kennis en ervaring met ons!

    Zelf een (andere) programmeertaal leren?

    Wil je zelf een (andere) programmeertaal leren? Ontdek dan snel onze workshops en cursussen. Je leert onder begeleiding van een ervaren trainer op efficiënte wijze de basis van programmeren. Ben je al wat verder? Dan is het mogelijk om je in te schrijven voor een training voor gevorderden. Je gaat dan dieper in de op de materie. Zo’n training is niet alleen leuk, maar ze sluit ook goed aan op de praktijk. Zo weet je zeker dat je met je nieuwe kennis en vaardigheden direct wat kunt doen!

    [link]

    SQL-database exporteren naar CSV

    Met PHP kun je eenvoudig informatie uit je database aanbieden aan je bezoekers in een CSV bestand. CSV (Comma Separated Values) is een simpel formaat waarbij alle waarden gescheiden worden door een komma. Het is o.a. te openen met Excel, waarna je er data-analyses op los kunt laten of er grafieken van kunt maken.

    We gaan hier een PHP script schrijven dat resultaten uit onze database haalt en deze in een CSV bestand zet. In ons geval de uitslagen van cursus examens.

    De eerste stap is het ophalen van de gegevens uit de database. Daarbij maken we gebruik van PDO (5 redenen om PDO te gebruiken met SQL databases).

    $db_user = 'learnit';
    $db_pass = 'geheim';
    $db_name = 'uitslagen';
    $db_host = 'localhost';
    
    try {
        $db = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8", 
                      $db_user, 
                      $db_pass, 
                      // Als een error optreed moet PDO een exception gooien
                      array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    	$query = "SELECT id, naam, email, resultaat FROM Uitslagen";
    	$pds = $db->query($query); 
    } catch(PDOException $ex) {
        echo "An Error occured: " . $ex->getMessage(); 
    	exit();
    }	
    

    We maken hier gebruik van een try-catch om exceptions die bij een verbindingprobleem kunnen optreden af te vangen. Het resultaat van de query is een PDOStatement Object. Hier kunnen we de records uit halen, maar eerst moeten we nog voorbereidingen treffen:

    header('Content-Type: text/csv' );
    header('Content-Disposition: attachment; filename="resultaten.csv');
    

    Met behulp van de header functie passen we de HTTP header aan. We willen dat de bezoeker het bestand direct kan downloaden. Dat doen we door in de header aan te geven dat het om een CSV bestand gaat en dat het "resultaten.csv" heet.

    Nu het openen van de standard output kunnen we het CSV bestand zelf gaan schrijven:

    $fp = fopen('php://output', 'w');
    fputs($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
    

    In het CSV bestand willen we gebruik maken van de UTF-8 encoding. Om er voor te zorgen dat Excel herkent dat het hier om een UTF-8 encoding gaat moeten het CSV betand beginnen met 0xEF,0xBB,0xBF.

    Nu kunnen we de eerste regel aan het CSV bestand toevoegen. Deze bevat de kopjes van de gegevens:

    fputs($fp, "id, naam, email, resultaat\r\n");
    

    De \r\n aan het einde van de string geeft een regeleinde aan. Als we deze niet zouden toevoegen zouden volgende gegevens achter worden geplakt ipv op een nieuwe regel. Let op: dit werkt alleen in strings met dubbele quotes.

    De volgende lus herhalen we zolang er records gefetched kunnen worden. Deze zet de gegevens in het CSV bestand.

    
    while($uitslag = $pds->fetch(PDO::FETCH_ASSOC)) {
    	fputcsv ($fp, $uitslag, ','); 
    }
    

    Bij het schrijven naar het bestand worden we geholpen door de fputcsv() functie. Deze schrijft het array naar het CSV bestand. Het derde argument van deze functie is het scheidingsteken. In plaats van de komma (,) zouden we ook een ander scheidings teken kunnen gebruiken, bijvoorbeeld de puntkomma (;). Om het geheel af te maken sluiten we netjes de file:

    fclose($fp);
    

    Het gehele script:

    <?php
    $db_user = 'learnit';
    $db_pass = 'geheim';
    $db_name = 'uitslagen';
    $db_host = 'localhost';
    			
    try {
        $db = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8", 
                      $db_user, 
                      $db_pass, 
                      array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
                      );
    	$query = "SELECT id, naam, email, resultaat FROM Uitslagen";
    	$pds = $db->query($query); 
    } catch(PDOException $ex) {
       	echo "An Error occured: " . $ex->getMessage(); 
    	exit();
    }	
    
    header('Content-Type: text/csv' );
    header('Content-Disposition: attachment; filename="uitslagen.csv"');
    
    $fp = fopen('php://output', 'w');	
    fputs($fp, chr(0xEF) . chr(0xBB) . chr(0xBF) );
    fputs($fp, "id, naam, email, resultaat\r\n");
    while($uitslag = $pds->fetch(PDO::FETCH_ASSOC)) {
    	fputcsv ($fp, $uitslag, ','); 
    }
    fclose($fp);
    ?>
    

    Training SQL Basis

    Ben jij geïnteresseerd in het leren van deze programmeertaal? Ontdek met een SQL-training data die eerder verborgen voor je is gebleven. In onze tweedaagse training SQL Basis leer je alle belangrijke ins en outs van SQL!

    [link]

    SQL - tips voor de WHERE command!

    Bij het selecteren van gegevens uit een database moet je vaak een filter samenstellen. Hier 5 tips om veel voorkomende fouten te voorkomen bij het filteren met WHERE.

    Alle voorbeelden kun je ook hier zelf uit proberen op sqlfiddle.com met de Uitslagen database.

    Tip 1

    Als je filtert op tekst moet deze tussen enkele quotes worden geplaatst. Maar het kan natuurlijk voorkomen dat de gezochte tekst zelf een quote bevat. Deze kun je 'escapen' door twee in plaats van één quotes te typen. De quote die wordt geëscaped wordt dan niet langer als afsluiting gezien, maar als onderdeel van de tekst. De query om alle studenten uit 's-Gravenhage te zoeken ziet er als volgt uit:

    SELECT  *
    FROM    Uitslagen
    WHERE   plaats = '''s-Gravenhage';
    

    Tip 2

    Het blijft onhandig dat niet overal ter wereld de komma als decimaal teken wordt gebruikt. Dit levert voor ons Nederlanders nog al eens verwarring op. In de ANSI standaard van SQL is gekozen voor de Amerikaanse getalnotatie. In queries moeten decimalen dus ALTIJD genoteerd worden met een punt.

    SELECT  *
    FROM    Uitslagen
    WHERE   resultaat >= 8.5
    

    Laat je niet verwarren als je in het resultaat een komma ziet, de komma heeft in een query een heel andere betekenis.

    Tip 3

    Het is mogelijk om meerdere filtervoorwaarden te combineren, bijvoorbeeld door zowel een AND als een OR te gebruiken:

    SELECT  *
    FROM    Uitslagen
    WHERE   plaats = 'Amsterdam' OR plaats = '''s-Gravenhage' 
            AND resultaat >= 8.5
    

    Er zit hier een addertje onder het gras: voorwaarden worden niet van links naar rechts gecombineerd. De AND operator bindt sterker dan de OR. Onze voorbeeld query resulteert in:

    • Alle studenten uit Amsterdam;
    • Alle studenten uit 's-Gravenhage met resultaat van minimaal 8,5.

    Dat was echter niet wat we voor ogen hadden, we wilden alleen de studenten uit 's-Gravenhage en Amsterdam zien die minimaal een 8,5 scoren. We zien nu ook studenten uit Amsterdam die minder dan een 8,5 scoren. Gelukkig is dit eenvoudig op te lossen door gebruik te maken van haakjes:

    SELECT  *
    FROM    Uitslagen
    WHERE   (plaats = 'Amsterdam' OR plaats = '''s-Gravenhage') 
            AND resultaat >= 8.5
    

    Tip 4

    Het tonen van alle studenten met een cijfer in de range 8,5 t/m 9 kan met de volgende query:

    SELECT  *
    FROM    Uitslagen
    WHERE   resultaat >= 8.5 AND resultaat <=9
    

    Voor het selecteren van een range is echter ook een apart keyword beschikbaar. Het keyword BETWEEN maakt de query iets korter. Deze kan op volgende manier worden gebruikt:

    SELECT  *
    FROM    Uitslagen
    WHERE   resultaat BETWEEN 8.5 AND 9
    

    Maar let op, het keyword BETWEEN kan het nogal eens verwarring opleveren; bij ons Nederlanders wordt BETWEEN vaak vertaald met 'tussen'. Echter ook de cijfers met grenswaarden, in ons voorbeeld 8,5 en 9, worden getoond in het resultaat. Een betere vertaling van BETWEEN is 'van ... tot en met'.

    Tip 5

    Om queries compacter te schrijven kun je soms gebruik maken van het IN keyword. Bijvoorbeeld om alle studenten uit Amsterdam, Rotterdam en 's-Gravenhage te tonen:

    SELECT  *
    FROM    Uitslagen
    WHERE   plaats = 'Amsterdam' OR 
            plaats = 'Rotterdam' OR 
            plaats =  '''s-Gravenhage'
    

    Dat kan ook zo:

    SELECT  *
    FROM    Uitslagen
    WHERE   plaats IN ('Amsterdam', 'Rotterdam',  '''s-Gravenhage')
    

    De laatste notatie is niet alleen veel korter, maar ook veel makkelijker uit te breiden.

    Training SQL Basis

    Ben jij geïnteresseerd in het leren van deze programmeertaal? Ontdek met een SQL-training data die eerder verborgen voor je is gebleven. In onze tweedaagse training SQL Basis leer je alle belangrijke ins en outs van SQL!

    [link]

    Bezoekerswachtwoorden veilig opslaan met PHP? Gebruik Hashing!

    Regelmatig lees je in de krant of op het internet dat wachtwoorden van internet gebruikers op straat liggen, en dat terwijl makers van website dit op een eenvoudige manier kunnen voorkomen. Kom erachter hoe je diefstal van wachtwoorden kan voorkomen door deze blog te lezen!

    Wat is het gevaar?

    In tegenstelling tot computers zijn mensen niet echt goed in onthouden. Toch moet je overal wachtwoorden voor onthouden. Met als gevolg dat veel mensen één wachtwoord gebruiken voor meerdere websites. Dit brengt een groot beveiligingsrisico met zich mee. Als een wachtwoord uitlekt zijn gelijk alle accounts toegankelijk waar dit wachtwoord is hergebruikt.

    Hoe voorkom je diefstal van bezoekerswachtwoorden?

    De beste oplossing om wachtwoorden niet te laten stelen, is ze simpelweg niet te bewaren! In plaats daarvan gaan we de hash van het wachtwoord opslaan. Een hashfunctie maakt een wachtwoord onherkenbaar. Op basis van de hash is het onmogelijk de invoer te achterhalen. Een hashfunctie levert altijd hetzelfde resultaat op bij dezelfde invoer. Een sterke hashfunctie zorgt daarbij ook voor dat twee verschillende teksten niet in dezelfde hash resulteren (als dit wel gebeurt is er sprake van een collision). Zelfs als het hackers lukt om een database met hashes te bemachtigen hebben ze nog geen wachtwoorden in handen.

    Hoe gebruik je de hash functies van PHP?

    Sinds PHP 5.5 is het erg eenvoudig geworden om wachtwoorden te hashen met behulp van de functie password_hash(). Deze functie heeft één verplicht argument: het wachtwoord. Daarbij kan met het tweede argument aangegeven worden welk hashing algoritme er gebruikt moet worden. Als je dit niet opgeeft wordt er standaard gebruik gemaakt van het sterke BCrypt algoritme. Naast hashing voegt deze functie ook een Salt toe, die beschermt tegen Rainbow Tables. Het genereren van de hash gaat als volgt:

     
      $wachtwoord = 'Geheim-Wachtwoord';
      $hash = password_hash($wachtwoord, PASSWORD_BCRYPT);
      echo $hash;
    

    De gegenereerde hash is een tekenreeks van 60 karakters en kan er als volgt uit zien: $2y$10$Se3mLsHueAYTM­3G4Wd9hTuyfzPCRYtafI­mcOSO2U0H4290jPU.SGO. Uit deze hash is het onmogelijk het wachtwoord te achterhalen. Deze hash kun je dus veilig in je database opslaan.

    Om te controleren of iemand een correct wachtwoord heeft ingevoerd gebruiken we de functie password_verify(). Deze geven we twee argumenten mee, het wachtwoord dat is ingevoerd bij inloggen en de hash die we hadden opgeslagen.

    
      $hash = '$2y$10$Se3mLsHueAYTM3G4Wd9hTuyfzPCRYtafImcOSO2U0H4290jPU.SGO';
      $wachtwoord = 'Onzin';
    
      if (password_verify( $wachtwoord, $hash)){
          echo 'Correct wachtwoord';
      } else {
        echo 'Incorrect wachtwoord';
      }
    

    In dit geval zal het gebruikerswachtwoord een andere hash opleveren dan in onze database stond opgeslagen. Zo kunnen we controleren of het ingevoerde wachtwoord correct is, zonder het originele wachtwoord op te hoeven slaan. Zelfs als een hacker toegang krijgt tot onze database is er geen wachtwoord te vinden.

    Trainingen PHP

    Wist je dat Learnit diverse trainingen in PHP aanbiedt? Tijdens onze training PHP Programmeren Basis helpt jou een stuk vooruit in de wereld van PHP met behulp van praktische voorbeelden. In de training PHP Programmeren Vervolg brengen we jouw PHP programmeervaardigheden naar een hoger niveau waarbij je een professionele programmeerstijl krijgt en alle technieken die nodig zijn voor een volwassen webaplicatie leert. Klik hier voor het gehele overzicht in PHP trainingen van Learnit.