Blogs van "Mijn projecten" 38

ICTscripters maakt gebruik van cookies. Door het gebruiken en browsen naar onze site gaat je automatisch akkoord met het gebruik van cookies. Klik hier voor meer informatie

  • Nieuw

    Voorwoord
    Oorspronkelijk was ik van plan om in het tweede deel een herbruikbaar formulierelement te introduceren voor het bouwen van rechtenbomen. In dit deel zou ook een MySQL-implementatie behandeld worden. Echter, tijdens het schrijven van het eerste deel raakten er wat ideeën in een stroomversnelling wat uiteindelijk uitmondde in een nieuwe, flexibelere versie waarbij het wel mogelijk is om een willekeurig aantal operatoren en operanden (rechten) aan een operator te koppelen. Ook het formulierelement heeft inmiddels een metamorfose ondergaan. Al met al ben ik een stuk tevredener over deze nieuwe variant. De oude variant was wel een noodzakelijke iteratie en vormde een prima uitgangspunt voor verdere ontwikkeling, dus deze was zeker niet overbodig of onaf.

    Dit tweede deel zal daarom niet meer gaan over het restant van deel #1, maar zal de nieuwe variant volledig behandelen waarbij onderdelen die reeds besproken waren kort behandeld zullen worden in hun nieuwe opzet. Mocht je toch… [Lees meer]
  • Samenvatting
    Dit artikel beschrijft een implementatie van een Access Control List (ACL). Uiteraard zijn er legio manieren om dit te doen en ook hoe je dit vervolgens inricht hangt af van hoe je de rechten zelf organiseert.

    Deze implementatie zal je in staat stellen om bronnen (resources) uitsluitend toegankelijk te maken voor gebruikers met voldoende rechten. Heel bondig samengevat bereiken we dit door geserialiseerde predicaten (Boolean statements) bij deze bronnen op te slaan in Poolse Notatie. De rest van dit artikel gaat je (hopelijk) duidelijk maken wat dit precies inhoudt.

    Allereerst zal er een korte schets gegeven worden van de achterliggende wens om bepaalde onderdelen van je website of applicatie af te schermen en alleen toegankelijk te maken voor bepaalde gebruikers. We gaan er hierbij vanuit dat er al een bepaald loginmechanisme aanwezig is, maar daarna is het zaak dat er een vorm van rechtenbeheer beschikbaar is in je code.

    Vervolgens behandelen we wat theorie en… [Lees meer]
  • Beste lezers,

    Na een halfjaar een 'eigen bedrijf' gehad te hebben met 3 anderen, werd het tijd om het te liquideren omdat geen van ons er verder mee wilde.
    In dit halfjaar hebben wij voor een rendement van 11% gezorgd voor onze 41 aandeelhouders. Dit komt doordat we al onze receptenkalenders hebben verkocht!

    Naast het rendement en inleg terug te betalen aan de aandeelhouders was het ook nodig om de eindbalans op te maken en terug te blikken op het afgelopen halfjaar.

    Het afgelopen halfjaar heb ik kennis mogen maken met het opzetten van een eigen product en bedrijf, waarbij ik de leiding had over de 3 anderen. Het was een ervaring waar ik geen spijt van heb. Het was hard werken omdat naast het eigen bedrijf ook gewoon 40 uur les / opdrachten waren die niet direct te maken hebben met het bedrijf.

    Al met al mogen wij niet klagen omdat van de 10 'bedrijven' die er waren wij 1 van de 3 zijn die winst hebben gemaakt. Waarbij onze aandeelhouders wel het meest hebben verdiend op de inleg.… [Lees meer]
  • Noot vooraf: eigenlijk was ik niet van plan dit artikel te publiceren (omdat deze eigenlijk nog steeds net compleet is), maar om nu de publicatiedatum continu vooruit te schuiven is ook zoiets. Daarom toch maar een verkorte versie die al met al toch nog redelijk lang is. Het is een vrij lang theoretisch verhaal wat voortborduurt op de vorige blogs. Mogelijk komt er ooit nog een vervolg in de vorm van een download of een concret(er)e implementatie.

    Noot vooraf: dit alles is bij elkaar, zoals gezegd, een (erg?) lang artikel geworden, maar ik denk dat het niet veel korter kan zonder dat bepaalde aspecten minder goed uit de verf zouden komen omdat over routing nu eenmaal veel te vertellen is, te meer omdat er op dit punt een heleboel zaken samenkomen in je applicatie.

    Inleiding
    Allereerst is het wellicht handig om een definitie te geven van wat ik in dit artikel versta onder routing. Routing in dit artikel omvat alle (basis)taken die verricht moeten worden ten aanzien van zowel de… [Lees meer]
  • Noot vooraf: Dit artikel verwijst regelmatig naar twee eerder geschreven artikelen over autoloading en een standaard PHP-klasse voor een standalone script. Omdat we in dit artikel een grote stap zetten richting een eenvoudig maar redelijk compleet systeem loont het misschien de moeite om deze twee artikelen eerst door te lezen zodat je wat meer op dezelfde golflengte zit bij het lezen van dit artikel, te meer omdat het geheel meer is dan de som van de individuele delen. Misschien kan het ook geen kwaad om hier een stevige bak koffie bij te nuttigen :).

    Inleiding
    Wanneer je grotere applicaties gaat schrijven wordt het steeds belangrijker dat deze een goede architectuur hebben. Op een zeker moment is het namelijk niet langer wenselijk of verstandig om deze te laten bestaan uit een verzameling van standalone scripts. Een goede mindset die hier, en eigenlijk overal, gehanteerd kan worden is Don't Repeat Yourself (DRY). Indien je een (soortgelijke) bewerking twee of meerdere keren aan het… [Lees meer]
  • Noot vooraf: bij het schrijven van dit artikel wordt verondersteld dat alle webpagina's en data gebruik maken van UTF-8 als character encoding.

    Inleiding
    Je zult je vast afvragen wat je je hierbij moet voorstellen. Wanneer je op regelmatige basis PHP code schrijft ben je hier ongetwijfeld wel eens tegenaan gelopen: je hebt de wens om een stuk code te schrijven die een bepaald voorgeschreven doel heeft: een importscript, een contactformulier of een ander script wat dient als basis voor een later uit te bouwen systeem (nieuwssysteempje, blog etc.).

    Kenmerkend aan dit soort scripts is dat ze, naast dat ze op de achtergrond mogelijk veel werk verzetten, (vaak maar niet altijd) output produceren die op het scherm wordt weergegeven, zij het debug-informatie die extra inzicht geeft in de toestand van een database of een tekst met UBB-codes die wordt omgezet naar een net artikel met gelimiteerde HTML-functionaliteit.

    Hoe dan ook, de output heeft een zeker formaat of Content-Type. Hierbij… [Lees meer]
  • Beste lezer,


    Op dit moment volg ik de opleiding tot software engineer te Fontys Hogescholen Eindhoven. Om een studie op HBO niveau af te ronden dient er een minor gevolgd te worden.


    Ik heb gekozen om de minor ondernemerschap te volgen om te kijken of het iets voor mij is en om even een half jaar iets minder met ICT bezig te zijn.


    We hebben een receptenkalender als product gemaakt die tot doel heeft mensen meer gevarieerd te laten eten en het momentje terug te brengen in de keuken door het te verbinden aan een agenda, waar je notities op kan zetten.


    Zo kan je genieten van wekelijks lekkere gerechten en daarbij je leven meer structuren door het op te schrijven op de agenda. Het product is samen met 3 anderen tot stand gekomen en onder leiding van Jong ondernemen.


    Foto's van het product kan in vinden in de bijlage. De receptenkalender is te koop voor 9,95 incl. BTW en exclusief verzendkosten.

    Dus zoek je een leuke gift om te geven tijdens de feestdagen, of wil je er een voor… [Lees meer]
  • Inleiding
    Tegenwoordig is PHP code voor een groot deel of zelfs geheel object georiënteerd. Hierbij omvat elk PHP bestand één class definitie. Als je zelf object georiënteerde code schrijft is eenzelfde aanpak waarschijnlijk aan te raden.

    Maar dan komt het moment dat je deze classes gaat gebruiken en objecten wilt creëren. Je zult dan deze classes op een of andere manier moeten invoegen in je eigen code om objecten te kunnen maken. Een manier om dit te doen is via require(), of wellicht beter, om te voorkomen dat je een fout krijgt wanneer je eenzelfde class opnieuw probeert in te voegen, require_once(). Nadat je op deze manier een PHP bestand hebt ingevoegd kun je objecten maken van de class die in het ingevoegde bestand staat gedefinieerd.

    Nota bene: dit verdient waarschijnlijk nog de voorkeur boven include() en include_once() omdat de twee laatstgenoemde functies enkel een waarschuwing produceren als het bestand in kwestie niet gevonden kan worden en (nog belangrijker) de uitvoer… [Lees meer]
  • In de laatste weken van het schooljaar heb ik bij ons op school het systeem van de digitale agenda in beeld gebracht doormiddel van screenrecording en daarbij uitleg gegeven. In het begin kreeg ik het programma Camstudio om mijn beeld mee op te nemen. Dit was in het begin een heel fijn programma alleen op een later moment liep deze alleen maar vast op ons school systeem. Een filmpje met Camstudio

    Op een gegeven moment kreeg ik Teamviewer als optie ik ben daarmee aan de slag te gaan en werkt prima en makkelijk. Of het programma daarvoor bedoeld is ik denk het niet helemaal maar wellicht een idee voor de ontwikkelaars. Een video met Teamviewer of deze

    Hoe neem je je scherm op met teamviewer 10

    1. Download Teamviewer (gratis)
    2. installeer Teamviewer
    3. Open Teamviewer
    4. Je krijgt twee opties "afstandsbediening" en "meeting" kies voor "Meeting"
    5. Daarna heb je drie keuze links in het scherm onder "host-meeting" kies daar de optie "presentatie" het icoontje met heet beeldschermpje.
    Vervolgens start hij… [Lees meer]
  • I had a raspberry pi laying around the house I hadn't used for a couple of months, due to the fact that it isn't strong enough to play super high quality resolution movies.
    The new raspberry pi fixes this problem, but I thought I could use the old one for a domotics system.

    Thanks to this raspberry pi
    - I control all my lights
    - I get a notification if someone enters my house (Motion detection sensor) and the alarm is on
    - The electric blanket for my girlfriend automatically starts heating half an hour before she goes to bed
    - I discovered which lamps are using more power (replaced them already)
    - The lights turn on when it gets darker
    - ...

    What does a raspberry pi look like?
    This is just a mini computer:


    How do I control sockets?
    Through a Z-wave controlled socket, a Fibaro Wall Plug:


    This cannot only control your sockets, but also measures the amount of electricity that's being used.

    How do I detect motion, measure the temperature and measure the light strength?
    Thanks to a… [Lees meer]