Posts by Patrick

    Een datamapper is het object wat tussen je database (je model) en je controller in hangt. Het idee achter een datamapper is het dat je een object creëert waarin je functies stopt om bepaalde handelingen de verrichten in je database. Zeg dat je zoals je aangeeft een landen tabel hebt waar je gegeven uit ophaalt en terug in stopt dan heb je een datamapper met wellicht de functies:


    • readCountry(id)
    • readCountrys(void, array id)
    • updateCountry(id, array data)
    • updateCountrys(array id, array data)
    • deleteCountry(id)
    • deleteCountrys(array id)
    • createCountry(array data)


    Het feit dat je niet rechtstreeks een database query draait maar via een datamapper werkt heeft als handigheid mocht je bijvoorbeeld ooit de tabel wijzigen dan hoef je alleen je datamapper aan te passen om het op heel je website aan te passen. Daarnaast als je een andere database engine erachter hangt hoef je ook alleen je datamapper aan te passen.


    Met CI doe je al voornamelijk datamapping doormiddel van je model. Binnen je moddel map je alle data die je nodig hebt uit een specifieke tabel of een combinatie van tabellen en kan je uiteraard ook functies toevoegen die je anders via een helper zou doen. (readTop10Countrys() bijvoorbeeld).

    of in notepad++


    ctrl + h


    zoeken naar \r\n -> replace met -


    dan heb je bij de wit regels er tussen meerdere - nu achter elkaar. Vervolgens replace je de meerdere - met \r\n.
    En als laatste doe je de overgebleven enkele - replacen met een , done. :)


    Zonder programmering.


    Kan overigens dat je bij de ctrl + h wel de optie reguliere expressie aan moet zetten omdat hij anders de \r\n niet herkent.

    sinds vorig jarig (Toen we allemaal naar IBAN overgingen) zijn banken ook verplicht gesteld een nieuwe formaat voor betalingen te gaan gebruiken CAMT053 is dit om precies te zijn. Dit is een XML formatted layout waarop je de betalingen kan inlezen in je systeem. (dit is wel alleen voor zakelijke rekeningen)


    Hier de instructie vanuit de Rabobank:
    https://www.rabobank.nl/images/camt053_versie_1_29570860.pdf


    Daarnaast het oude formaat (MT940) kan je ook nog gebruiken, echter zal deze volgens mij eind dit jaar of begin volgend jaar uitgefaseerd gaan worden.

    Wat als je het niet gebruikt :'(?


    Vind sowieso dat cloud dienst nogal opgeblazen onderwerp is...
    Puur een hype waar je over 5 jaar echt helemaal niks meer van hoort. Een tijd geleden was agumented reality ook helemaal HET ding, jaar later hoor je er helemaal niks meer van vanwege de nieuwe hololens ed.

    Voor het veilig maken van je wachtwoord zou ik ook eens kijken naar hasing:
    http://php.net/manual/en/function.hash.php


    Anders is een rainbow table zo gemaakt of over je database heen gehaald. Sowieso wordt er al afgeraden om een MD5 HASH alleen te gebruiken. En meer richting blowfish hash / algoritme te gaan. i.c.m. een unieke hash per gebruiker wordt het vrij lastig om dan nog te bruteforce hacken.


    Ik zelf gebruik tegenwoordig SHA512 om mijn wachtwoorden op te slaan i.c.m. een random gegenereerde hash string website breed die elk half uur vernieuwd wordt. (Toevoeging op het wachtwoord wat eigenlijk voor elk wachtwoord het zelfde is alleen die er wel bij moet zitten bij het inloggen omdat anders het wachtwoord sowieso fout is).


    Daarnaast zoals Luc al in zijn query laat zien in plaats twee tabellen in je SELECT statement te hebben altijd een JOIN gebruiken wil je een goede query schrijven. Met joins heeft onderstaande afbeelding me veel geholpen om er goed uit te komen wanneer welke JOIN gebruikt moet worden:


    heb een laptop gekocht voor 250,


    Processor: Intel Core I5 vPro 3320M ( 4CPUs ) 2.6GHz met turbo tot 3.3GHz.
    Werkgeheugen: 8GB DDR3 ( max 16GB ).
    Videokaart 1: Intel HD 4000.


    is veel beter dan die andere, en unity3d, werkt er prima mee, moeiteloos, unreal nog niet getest


    Zodra je gaat modellen met unity3d houd het wel heel snel op, dat trekt een intel HD 4000 graphic driver gewoon niet. Het is niet voor niks dat vooral game designers af en toe met een triple GTX Titan Z draaien en dan nog een kwartier op een gerenderde model lopen te wachten... :)

    Om eerlijk te zijn voor 200 euro ga je niet een laptop vinden die unity, UT4 engine etc zonder problemen kan draaien.
    Voor UT4 engine heb je minimaal een GTX 460 nodig, nu is dat niet zo'n hele hoge spec.


    Voor unity3d heb je iets nodig dan ouder dan 2004 echter een onboard graphic card ondersteund zelden DX10+. Om niet te beginnen over photoshop daar heb je wel goede render power voor nodig van je met een onboard kaart niet gaat redden.


    Een budget voor 200 euro is heel krap vooral met wat je er mee wilt doen, als je dan in de goede richting gaat denken dan zit je al over de 200+ voor je grafische kaart.

    Kan ik een stuk programmering zien van de website,
    en dan a.u.b. verschillende onderdelen van de website en niet één onderdeel :-).


    Heb er interesse in maar ben meer benieuwd hoe de achter kant van de website is geprogrammeerd dan hoe de voorkant eruit ziet :-).

    Je kan constant een LEFT JOIN doen te voorkomen dat er ieder geval resultaten verloren gaan, echter een definitief antwoord kan ik pas gegeven als ik de query heb gezien.

    Je hebt maar 1 query nodig, waar je vervolgens direct overheen kan lussen;


    SQL
    SELECT COUNT(D.cat) AS aantalDownloads,C.* 
    FROM categorie AS C
    JOIN downloads AS D ON D.cat=C.id
    GROUP BY D.cat


    De query gaat niet helemaal werken in verband met het feit van je GROUP BY statement, de C.* geef je aan dat je alles van categorie wilt hebben echter door de GROUP BY kan je alleen velden meenemen die in een MAX() SUM() ed. staan of de D.cat zelf uiteraard.



    Zal het dan beter doen.

    I are busy,
    Druk met van alles wat :-).


    Though een push naar de master git accepteer ik altijd uiteraard :) als mensen goede toevoegingen hebben dan ben ik niet de beroerdste om ze toe te voegen!

    En waarom vind je dit geen goed idee?


    Zoals ik al aangaf W12 gaat heel anders met zijn CPU / RAM om waardoor de slijtage van je onderdelen een stuk sneller gaat om dat het idee van W12 is dat je RAM & CPU swapping doet geeft hij een programma altijd al zijn resources tot er een ander programma bij komt en swapt hij door met 2 programma's je CPU en ram gaan constant ondere grote druk staat.


    Dat is het idee van een server dat alles zo snel geswapt wordt.

    Je weet dat als je virtualbox gebruikt je de iso ook kan inladen in je virtualbox zonder dat je de CD hoeft te branden? Scheelt veel tijd en problemen meestal zoals je hierboven hebt.


    Daarnaast Win8.1 en Win12 tegelijk draaien waar één in virtuele omgeving, is inderdaad zwaarder voor je laptop, echter win8 vervangen door win12 is ook niet een heel slim idee omdat het gebruik van je CPU / RAM etc heel anders wordt ingezet met Win12.

    Let wel op als je dit doet dat je www-data ook nog schrijf rechten heeft, kan zijn i.v.m. met caching ed. dat de www-data user rechten nodig heeft om data weg te schrijven, daarnaast bijvoorbeeld bij een installatie dat www-data rechten heeft om een config file te schrijven etc.


    je bent beter af om een usergroup aan te maken waar jij en www-data inzitten en die vervolgens group owner rechten geeft, dan weet je zeker dat het goed gaat.