Posts by Stefan.J

    Composition over Inheritance


    Ik zou voor deze toepassing geen overerving willen toepassen, omdat overerving hiervoor niet bedoeld is. Wellicht zijn de traits uit PHP, die ik nog nooit gebruikt heb, wel een goede optie?


    Daarnaast denk ik toch dat CodeIgniter hier wel iets voor zou moeten hebben.

    Enige Java-ervaring is op ICTScripters wel aanwezig. Niet zo veel, maar de mensen met kennis van Java hebben naar mijn idee ook echt wel wat kennis, wat bij de PHP-programmeurs nog wel eens tegen wil vallen.


    Zelf ben ik actief als Java-ontwikkelaar en programmeer dus bijna dagelijks in Java, voornamelijk webapplicaties.


    Java-ontwikkelaars worden in het beroepsveld veel gevraagd en tot nu toe steeds meer. Webapplicaties worden doorgaans ontwikkeld in Java of .NET en daarnaast heeft Java nog vele andere toepassingen, zoals Android, desktop applicaties, applets en vele microprocessoren kunnen ook worden geprogrammeerd in Java.

    Het lijkt erop dat je of een dependency mist, of de Hibernate versie niet met de Spring versie matched. Kun je je pom.xml eens posten?


    Je roept nu dat je ervan baalt dat je Java moet gebruiken in plaats van PHP, maar dat veranderd nog wel. Vooral als je enterprise applicaties moet gaan maken. De applicatie waar ik nu aan werk zou niet eens geschreven kunnen worden in PHP, en het is een webapplicatie.

    Als ik firebug open zie ik een POST request staan naar beta.php met daarin een id=..., dat lijkt mij correct. Echter, de response is een HTML-document.


    Kun je de code uit beta.php eens posten in zijn context (een if-statement ofzo?)

    Als ik een backup van mijn database wil maken en deze op een externe server wil zetten, zou ik daar SSH voor gebruiken. Op de productieserver maak je de backup, bijvoorbeeld met mysqldump, vervolgens zet je met een private public key pair een verbinding open naar de backupserver. Over deze verbinding kun je vervolgens de backup verzenden.


    Idealiter moet de backupserver wel in hetzelfde netwerk staan. Hoe dan ook, zorg dat er met de SSH-verbinding alleen het hoogstnodige gedaan kan worden, en deze verbinding niet zomaar iedereen toelaat.


    Behalve deze security risks, vraag ik me af hoe je performance eronder leidt, maar gezien de databasegrootte lijkt me dat nog wel te overzien (cronjob 's nachts).

    Het hoeft zeker geen domme opmerking te zijn dat je eerst je code moet fatsoeneren. Als je code netjes in elkaar steekt helpt dat je vaak al naar de oplossing van je probleem toe. In dit geval lijkt de code geen heel erg groot zooitje, maar toch zou ik willen aanbevelen om eerst je code netjes te hebben, en dan je probleem verder op te lossen.


    Ik begrijp dat de gebruiker/speler iets kan doen op de website, wat hij niet altijd mag doen. Wat is de feitelijke voorwaarde? Dus wanneer mag de speler de betreffende actie ondernemen of krijgt hij de beloning die het PHP-script hem geeft? Deze voorwaarde moet je in het PHP-script opnemen. Alle andere 'oplossingen' zijn feitelijk alleen maar dingen die het ingewikkelder maken.


    Bijvoorbeeld:


    PHP
    <?php
    
    
    if(time() > $requiredMinTime) {
        //Execute update statements
    }

    Blijft de named service wel draaien? Of stopt deze er helemaal mee? Ik denk dat je sowieso meer informatie zou kunnen verkrijgen door de named service eens niet te starten als service, maar gewoon via de terminal, en de output naar de terminal of naar file te schrijven.


    Daarnaast vraag ik me af, wat doet de named service exact voor je? Ik kan me iets indenken omdat ik weet van een DNS is, maar waarom draait deze service op jou machine?


    Wellicht nuttig: http://oreilly.com/openbook/linag2/book/ch06.html

    Ik heb wel eens van typefoutjes gehoord, ik zeg dan ook niet dat je typefoutjes maakt. Ik zeg wel dat je Nederlands voor geen kant klopt en je nog niet in staat bent om een punt aan het einde van een zin te plaatsen. En daarbij geef ik aan dat dat wellicht een reden is waarom mensen niet op jouw topics reageren.


    Ben coulant, en zal je niet direct bestraffen met een ban, maar als ik jou was zou ik je een beetje normaal opstellen, anders kun je dadelijk zelf lekker buiten gaan spelen.

    Behalve dat dit topic denk ik weinig gaat veranderen en voornamelijk voor ruzies gaat zorgen, erger ik (en ik ben vast niet de enigste) mij ontzettend aan de missende interpunctie in je berichten, snap er helemaal niks van...


    Wat is trouwens "om geboud"?


    Misschien moet je eerst eens zorgen dat je berichten schriftelijk goed in elkaar zitten, dan snappen we tenminste wat je wilt..

    PHP
    Waarom geleerd: Eerste programmeertaal die ik heb geleerd, uit hobby.
    Hoe geleerd: Voorbeelden, uitproberen en langzaam opbouwen
    Toekomstig gebruik: Vrijwel niet. Op dit moment eigenlijk alleen op ICTScripters om hulp aan te bieden.
    Waardevol om te leren: Wordt erg veel gebruikt, wat dat betreft nuttig. Verder niet tot nauwelijks toepasbaar bij serieuze applicaties.
    Moeilijkheid om te leren: Niet als je kunt programmeren.


    SQL
    Waarom geleerd: Databases heb je toch nodig he..
    Hoe geleerd: In beginsel uit voorbeelden. Later op school en op het werk.
    Toekomstig gebruik: Veel. Vooral voor Oracle en MySQL databases.
    Waardevol om te leren: Zeker. Zou iedere programmeur onder de knie moeten hebben.
    Moeilijkheid om te leren: Zonder uitbreidingen als PG-SQL niet.


    CSS
    Waarom geleerd: Website's vanmezelf, later voor webapplicaties.
    Hoe geleerd: Uitproberen en documentatie.
    Toekomstig gebruik: Veelvuldig bij de ontwikkeling van webapplicaties.
    Waardevol om te leren: Zeker.
    Moeilijkheid om te leren: Nee.


    JavaScript
    Waarom geleerd: Dynamiek toepassen aan webapplicaties, bijna onmisbaar.
    Hoe geleerd: In eerste instantie door uit te proberen, later serieus in verdiept.
    Toekomstig gebruik: Veelvuldig voor webapplicaties.
    Waardevol om te leren: Zeker als je webontwikkeling doet.
    Moeilijkheid om te leren: Ja. Velen claimen JavaScript te kunnen. Maar het prototyping paradigm is gewoon een hele andere als object orientatie.


    Java
    Waarom geleerd: Eerste instantie vanuit school. Nu mijn belangrijkste taal.
    Hoe geleerd: School en werk.
    Toekomstig gebruik: Veel voor mijn werk.
    Waardevol om te leren: Zeker. Mooie taal om object geörienteerd in te leren programmeren. Daarnaast een serieuze taal voor zowel desktop- als webapplicaties.
    Moeilijkheid om te leren: Ja. Java is een uitgebreide taal met veel standaarden.


    Visual Basic
    Waarom geleerd: Voor een schoolopdracht.
    Hoe geleerd: Prutsen en lachen.
    Toekomstig gebruik: Niet.
    Waardevol om te leren: Absoluut niet.
    Moeilijkheid om te leren: Nee, het is echter wel een belachelijke syntax.


    C
    Waarom geleerd: In een schoolsemester.
    Hoe geleerd: Vanuit school, ook wel eigen onderzoek/
    Toekomstig gebruik: Voorlopig niet veel.
    Waardevol om te leren: Ja, leert je echt programmeren. Weten hoe highlevel talen van binnen werken is zeer nuttig.
    Moeilijkheid om te leren: Redelijk. Pointers zijn voor veel mensen lastig te begrijpen.


    C++
    Waarom geleerd: Eigen interesse.
    Hoe geleerd: Toegepast in een schoolproject.
    Toekomstig gebruik: Voorlopig niet.
    Waardevol om te leren: Niet bijzonder veel toegevoegde waarde boven C om te leren. Wel om te gebruiken.
    Moeilijkheid om te leren: Als je C kunt, valt het reuze mee.


    Ruby
    Waarom geleerd: Voor mijn afstuderen. Sonar gebruikt de taal intern.
    Hoe geleerd: Voornamelijk eigen onderzoek.
    Toekomstig gebruik: Waarschijnlijk niet.
    Waardevol om te leren: Ja, ander paradigma en dat is nooit verkeerd.
    Moeilijkheid om te leren: Redelijk.


    Overigens zijn CSS en SQL wel talen, alleen geen programmeertalen. Wanneer kun je trouwens een programmeertaal? Beetje lastig om te zeggen. ;)

    Ik heb onze Fabien even opgezocht, en ik vind wel dat hij een sterk artikel heeft gelezen over DI: http://fabien.potencier.org/ar…t-is-dependency-injection


    Had je dat al gelezen? Want het legt het basisprincipe goed uit. Zo eenvoudig als mogelijk, zonder alle poespas, waar ik nu mee aankom. :)


    Stel je voor, je hebt de volgende classes:



    Dan moet je nu voor het maken van A-object, ook een B- en C-object maken. Een van de voordelen van een DI container, is het volgende. Ik heb zojuist een context geschreven, en die kan al het volgende:


    PHP
    $context = new Context();
    $a = $context->load('A');
    $a->hello();


    Dat is hip hé? Ik vraag om een instantie van A, en vanzelf zoekt de context de juiste classes op die A nodig heeft, en maakt ze voor mij aan. De context, die nog veel te simplistisch is, ziet er nu als volgt uit:



    Het wekt nu allemaal nog veel te automagisch, en de performance is waarschijnlijk ook als een bad-eend, maar dat is wel op te lossen.


    Helpt dit een beetje?