Posts by Patrick

    Hiya,


    Nice dat je wilt leren :-). Als je wat feedback wilt; wellicht kan je hier wat mee.


    Composer psr-4;
    Je gebruikt composer maar niet de Autoloading functie ervan. Je registreert nu je eigen autoloading functie. Als je iets van standarisatie in je code wilt voegen (psr-4 inclusief dus namespaces) dan raad ik je aan de autoloading functie te gebruiken.



    https://getcomposer.org/doc/01-basic-usage.md#autoloading



    Controllers;


    In je controllers zie ik eigenlijk constant terug dat je de zelfde models in laad, wellicht met wat logica verplaatsen naar je base class? Of in je middelware afvangen? Voelt op één of andere manier niet geheel lekker om je __construct in je controller zelf aan de te roepen :-).



    Hierdoor heb je ook kans dat je zaken in base controller wordt overschreven. Ik zou zelf iets van een setup() functie o.i.d. creeren welke wordt aangeroepen in plaats van de __construct functie.



    Type hinting


    Soms gebruik je type hinting (executables) en soms niet (controllers) pick one, doe het wel of doet het niet (DOE HET WEL! :-)). En als je dan toch bezig met ook gelijk type hinting voor je return meepakken:



    PHP
    public function foo(string $bar) : string
    {
         return $bar;
    }


    Zelfde programmeren
    Het zelfde programmeren en uniform tabs etc gebruiken is lastig, wellicht een tool als StyleCI? Trekt in één keer je code recht naar een standaard waardoor je code ook een stuk cleaner en overzichtelijker lijkt :-).



    Er zullen vast nog meer tips zijn :-); maar keep up the good work; indereen begint ergens.

    Check ook even de concurrentie mailtopay.nl :-),
    Doen precies hetzelfde en nog wat extra dingen, kan je nog ideeën van op doen.


    Overigens werkt het daar voornamelijk met iDeal professional zodat de betaling rechtstreeks op de rekening van de klant komt i.p.v. met een derden partij er tussen :)

    Je kan op zoveel manieren beginnen... dat je HTML / CSS moet kunnen, ja ligt eraan wilt je frontend developer worden? Of een backend developer? Wil je alles kunnen en dus een Full stack developer zijn.


    Wil je alleen de achterkant bouwen en de voorkant niet,
    Dan is lichte kennis over HTML / CSS / Javascript prima en dan zou ik me sneller verdiepen in PHP of andere taal (Python voor Devops bijvoorbeeld).


    Maar vergeet ook niet de tools welke erbij gebruikt worden tegenwoordig als je naar PHP alleen kijkt:


    - Composer
    - GIT
    - CI
    - Tests (Naar mijn mening toch belangrijk om ook te doen)


    Ha frenzo,


    Mocht het nog nodig zijn, wil ik je graag helpen :-). Stuur maar PB.

    Hoe dan ook Laravel,
    alleen al de implementatie van eloquent en wat je er mee kan doen is al geweldig.


    Blade vanwege de andere aanpak als template parser.


    Queue's om je website super snel te houden...


    en dan natuurlijk het eco systeem om alles netjes te houden (horizon, forge ed.)

    Je bedoelt een bestaand framework zoals ZF, Laravel etc?
    Ja en nee. De bron moet ik je even schuldig blijven maar ik heb ergens een argument gelezen dat als je als bedrijf software ontwikkelt en daarbij inhouse bedrijfsspecifieke of -kritische applicaties of functionaliteit hebt, dat er best iets voor te zeggen is om dit gewoon zelf from scratch te ontwikkelen.


    Je moet daarbij wel beproefde principes en methoden gebruiken uiteraard gezien, ahem, het kleurrijke verleden van 'mafia games', maar je kunt deze best toepassen zonder de gebruikmaking van een framework. Je maakt dan in zekere zin een applicatiespecifiek framework. Dit komt de software ook ten goede omdat deze is afgestemd (tailored to fit) op het systeem, in plaats van een of ander prefab ding waar je misschien wat muren uit moet slopen.


    Mwah daar ben ik het niet helemaal mee eens de beproefde frameworks hebben niet voor niks zoveel progrmmeurs die het gebruiken. In framework zitten heel veel zaken waar ik persoonlijk zelf half over nadenk als ik iets implementeer. Wellicht miscchien niet de meest optimale kezue maar een login systeem bijvoorbeeld welke door 1000'den mensen gecontroleerd / bekeken en gebruikt wordt beschouw ik als veilig.


    Ik wil niet na hoeven te denken over standaard functionaliteit, ik wil niet elke keer als ik een external API wil aanvliegen eerst heel de API wrapper zelf te schrijven, ik wil een composer package binnen harken welke naar mijn mening betrouwbaar is en die gebruiken. Ik wil makkelijk dependency injections gebruiken, relation models w/e zonder dat ik er zelf heel erg over na hoef te denken hoe de onderlaag werkt.


    Wil ik weten hoe het werkt? Uit eindelijk wel maar als ik aan het programmeren ben aan mijn eigen project wil ik snel door kunnen en met mijn core bezig zijn en niet eerst rand zaken bouwen / verbeteren aanpassen om zaken voor elkaar te krijgen.


    En de overhead van een framework? Mwah die merk je amper tot niet op een normale website (face it, hoeveel 100K+ websites bouw je nou echt in de maand :-)). Daarnaast de termen lazy loading ed. is ook normaal in deze tijd.


    Then again, voor zelf bouw is ook genoeg te zeggen, en veel composer packages die worden geschreven worden ook middels scratch gebouwd, hell ik ben blij met die programmeurs, die denken over zaken na waar ik niet / nauwelijks of nooit aan zou denken. :)

    Tijd voor simpelweg password_hash() + password_verify()? :p

    Agreed...


    Although is het wellicht toch handiger om het eigenlijk in een framework te gieten waar ik de laatste tijd toch meer voorstander van ben geworden als het gaat voor beginnende programmeurs om zaken te leren.

    /Offtopic
    Als het juist iets is waar ik altijd snel vanaf wilt dan is het wel UBB. Ondanks dat UBB zijn voordelen heeft tikt het gewoon minder makkelijk weg dan markdown + het scheelt wat onduidelijkheid bij het uitlezen van je database als je het mij vraagt :-).
    /Offtopic/


    Composer / npm zijn zo mogelijk de meest verwelkome tools die de development wereld de afgelopen tijd met snelle stappen vooruit heeft gebracht. Ondanks dat een early devver wellicht een shared hosting heeft is het voor een early devver ook belangrijk dat hij depedency management leert als je het mij vraagt.. :)

    Ik zit met m'n VPS bij transip :-).


    Nu ben ik ook geen ster in het configgen van een server en te onderhouden ervan. Nu is een LAMP setup nog wel te doen. Though de email trafficing etc. laat ik dan weer wel via transip email lopen. Aka voor 12,- de maand klaar :-).


    en heb ik wel cmd line toegang tot mijn server wel zo makkelijk om icm met composer te gebruiken.

    Waarom? Omdat de licentie dit zegt?

    Citaat

    De GNU General Public License of kortweg de GPL is een copyleftlicentie voor software, bedacht door Richard M. Stallman van GNU, die (in het kort) stelt dat je met de software mag doen wat je wilt, inclusief aanpassen en verkopen, mits je dat recht ook doorgeeft aan anderen en de auteur(s) van de software vermeldt. Concreet komt het voorgaande erop neer dat als men software die onder de GPL is gepubliceerd wil verspreiden, daar de broncode bij zal moeten worden gevoegd. Deze broncode mag dan weer verder worden verspreid onder de GPL. Iedereen kan ervoor kiezen zijn of haar programma onder de voorwaarden van deze licentie te publiceren.


    Is het gebaseerd op de criminals revamped van deze git? https://github.com/Pattoow/Criminals
    Zo ja dan zit je wel met een redelijk probleem als je hem closed source houdt onder de licentie waar die valt...


    Just saying...

    varbinary is een algemeen opslag veld zolang je er geen index op gaat zetten ga je geen performance issue's krijgen. Then again als je er wel een index op zet en dan een clusted dan zal je performance issues never nooit niet merken. (Tot je over de 50mil+ gaat dan wellicht een 0.1s delay).


    Het gaat vooral om je query die er omheen zit wat de snelheid bepaald van de query of er en een table scan uitgevoerd moet worden of niet. Dus het zal heel erg afhangen ook van de rest van je DB hoe de performance zal zijn.

    Als je de MySQL page er op na lijst is de functie zoals jij deze aangeeft voor beide een goede combo voor te maken.


    Linkje:
    https://dev.mysql.com/doc/refm….html#function_inet6-aton


    Op die pagina:



    Mocht je er maar een veld voor hebben kan je vrij gemakelijk een CASE WHEN statement invoeren. En dat zou ook niet hoeven:



    SQL
    SELECT HEX(INET6_ATON('IP'));
    
    
    SELECT INET6_NTOA(UNHEX('IP'));


    Kan je de IP's als HEX opslaan scheelt ook weer ruimte in je database. Wil je het plain op slaan dan verwijder je de HEX / UNHEX.
    Echter zal je altijd met een INT of een varbinary field moeten werken. Met hex values kan je iets makkelijker overweg.


    Overigens een index maken op een IP field lijkt me niet echt de meest slimme keus in je database design. Zou ik zelf eerder voor een foreign key relatie met een andere tabel maken (mocht het IP uniek moeten zijn per user bijvoorbeeld). Of een clusted index maken in geval de tabel op zich zelf moet staan.

    goedemorgen,


    Ik had vanmorgen wat tijd over en ik dacht he, laat ik eens kijken of ik git nog redelijk snap en hoe het werkt. En dan is het gelijk een mooi moment een wat te updaten en iets nieuws toe te voegen.


    Bij deze is er een Development branche aangemaakt waarin een update zit verwerkt voor het vliegveld. Met deze update is het mogelijk om een eigenaar aan te wijzen voor het betreffende vliegveld van dat land. De eigenaar van het vliegveld kan dan de prijs bepalen voor hoeveel er gevlogen mag worden uit dat land.


    (Url naar branche: https://github.com/Pattoow/Criminals/tree/Development)


    Screenshot:


    Daarnaast zijn er wijzigingen aangebracht in de installer en handmatige sql bestand om de nieuwe SQL tabel te ondersteunen.
    Als laatste zijn de TPL bestanden voor het menu gewijzigd zodat vliegveld gewoon vanuit het menu benaderbaar is.


    Opbouwende kritiek is fijn, eventuele ideeën ook. Reactie met alleen afkraken kan je achterwegen laten ^^