FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies #123: Zoals de boer het ook zou doen!
cablegunmasterwoensdag 25 mei 2016 @ 22:28
php.jpg

Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL
djkoelkastwoensdag 25 mei 2016 @ 23:05
Omdat het topic bijna vol was nog geen reacties op mijn oproep, dus nog een poging:

Ik ben al een hele tijd bezig een systeem van de grond te krijgen waar ik als verzamelaar van oude tv-beelden samen met een groepje collegaverzamelaars onze collectie kan bijhouden.
De basis van het systeem is door iemand gebouwd, die later van de radar is verdwenen helaas.
Vervolgens was er iemand anders die het zou oppakken, maar die had ook minder tijd dan verwacht.
Ik weet wat ik vraag, het is hobby, dus ik heb geen budget. Ik kan wel in ruil iets doen waar ik goed in ben: video digitaliseren, videobewerking, voice-overwerk, mixen/remixen dat soort dingen.

Hier zijn wat plaatjes van hoe het nu is:

chgQecl.jpg

pWunxFN.jpg

Het werkt alleen nog niet helemaal en het is nog lang niet af. Ik hoop dat iemand zin heeft hier in te helpen. Uiteraard mag je het systeem meenemen in je portfolio.
cablegunmasterdonderdag 26 mei 2016 @ 11:43
quote:
0s.gif Op woensdag 25 mei 2016 23:05 schreef djkoelkast het volgende:
Omdat het topic bijna vol was nog geen reacties op mijn oproep, dus nog een poging:

Ik ben al een hele tijd bezig een systeem van de grond te krijgen waar ik als verzamelaar van oude tv-beelden samen met een groepje collegaverzamelaars onze collectie kan bijhouden.
De basis van het systeem is door iemand gebouwd, die later van de radar is verdwenen helaas.
Vervolgens was er iemand anders die het zou oppakken, maar die had ook minder tijd dan verwacht.
Ik weet wat ik vraag, het is hobby, dus ik heb geen budget. Ik kan wel in ruil iets doen waar ik goed in ben: video digitaliseren, videobewerking, voice-overwerk, mixen/remixen dat soort dingen.

Hier zijn wat plaatjes van hoe het nu is:

[ afbeelding ]

[ afbeelding ]

Het werkt alleen nog niet helemaal en het is nog lang niet af. Ik hoop dat iemand zin heeft hier in te helpen. Uiteraard mag je het systeem meenemen in je portfolio.
Waarin is het geschreven? Toch niet een "eigen" php framework? want dan kan je de hele zooi wegtiefen en iemand anders vragen etc. :P

Daarnaast is er nog een JS topic of is dat ook al helemaal weg? ik zag het laatste deel 11 was maar geen animo meer. :{
djkoelkastdonderdag 26 mei 2016 @ 12:22
quote:
0s.gif Op donderdag 26 mei 2016 11:43 schreef cablegunmaster het volgende:

[..]

Waarin is het geschreven? Toch niet een "eigen" php framework? want dan kan je de hele zooi wegtiefen en iemand anders vragen etc. :P
php/mysql/smarty
Of er verder nog iets is gebruikt weet ik niet, dan moet je even zeggen hoe ik dat vind.
BrainOverfloWdonderdag 26 mei 2016 @ 13:41
quote:
0s.gif Op donderdag 26 mei 2016 11:43 schreef cablegunmaster het volgende:
Daarnaast is er nog een JS topic of is dat ook al helemaal weg? ik zag het laatste deel 11 was maar geen animo meer.
DIG / [HTML, CSS, JS] Frontend #45: topic nummer++
Sitethiefdonderdag 26 mei 2016 @ 13:54
quote:
0s.gif Op donderdag 26 mei 2016 12:22 schreef djkoelkast het volgende:

[..]

php/mysql/smarty
Of er verder nog iets is gebruikt weet ik niet, dan moet je even zeggen hoe ik dat vind.
Doe eens een printscreen van de root dir van het project?
djkoelkastdonderdag 26 mei 2016 @ 14:25
quote:
0s.gif Op donderdag 26 mei 2016 13:54 schreef Sitethief het volgende:

[..]

Doe eens een printscreen van de root dir van het project?
ylu9Dyu.jpg

In de basis is het een simpel project, een soort kaartenbak. Per kaart kun je dan aangeven wat er allemaal op staat (+ eventueel afbeeldingen, maar dat zit er nog niet in).
Daarnaast zit er een userniveau op

Admin kan alles
User kan alleen zijn eigen kaarten bewerken en andere inzien
Gast met account kan alleen kaarten inzien
Gast zonder account kan niks

De basis van het usersysteem zit er ook al in.
ViPeRIIdonderdag 26 mei 2016 @ 16:21
En hebben jullie al duidelijk dan wat het zou moeten kunnen en waar dat afwijkt met wat het nu kan?
Plaatje van de root geeft niet veel hoop aangezien er geen framework gebruikt is maar dat het zelf geschreven is
djkoelkastdonderdag 26 mei 2016 @ 16:31
quote:
0s.gif Op donderdag 26 mei 2016 16:21 schreef ViPeRII het volgende:
En hebben jullie al duidelijk dan wat het zou moeten kunnen en waar dat afwijkt met wat het nu kan?
Plaatje van de root geeft niet veel hoop aangezien er geen framework gebruikt is maar dat het zelf geschreven is
Er is geen jullie, er is alleen ik.
Ik weet precies waar het heen moetm het is al een heel eind, alleen nog niet af. Van wat ik heb gehoord zit het wel goed in elkaar.
Ik heb wel basiskennis php maar zoiets maken gaat mijn pet ruim teboven.
Stukje uit de code van videoband.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$band_id 
= (isset($_GET["band_id"])) ? $_GET["band_id"] : 0;

if(
$band_id 0){
    
$band_fragmenten $fragmenten->getFragmenten($band_id);
    
    
//Aanvullen tot eventueel 10 rijen
    
for($i=count($band_fragmenten);$i 10$i++){
        
$band_fragmenten[$i] = array();
        
$band_fragmenten[$i]["fragment_id"] = "";
        
$band_fragmenten[$i]["band_id"] = 14;
        
$band_fragmenten[$i]["start"] = "";
        
$band_fragmenten[$i]["einde"] = "";
        
$band_fragmenten[$i]["omschrijving"] = "";
        
$band_fragmenten[$i]["is_compleet"] = 0;
        
$band_fragmenten[$i]["is_gecapt"] = 0;
        
$band_fragmenten[$i]["is_stereo"] = 0;
        
$band_fragmenten[$i]["komt_onder"] = 0;
        
$band_fragmenten[$i]["is_onkijkbaar"] = 0;
        
$band_fragmenten[$i]["is_storing"] = 0;
    }
    
    
    
$smarty->assign("band_fragmenten"$band_fragmenten);
}
?>

Ik vind het ook leuk om dit te leren, dus als er iemand is die zegt: laten we het helemaal opnieuw maken in een framework, dan leer je daar meteen van; dat zou ook tof zijn.
ViPeRIIdonderdag 26 mei 2016 @ 16:43
JE had het over collega verzamelaars die ook bijdrage moeten kunnen leveren, vandaar dat ik de vraag stelde of er een pakket van eisen is.

Aan de hand van het stukje code kan ik in ieder geval vaststellen dat het niet fantastisch in elkaar gezet is, maar goed..
djkoelkastdonderdag 26 mei 2016 @ 16:50
quote:
0s.gif Op donderdag 26 mei 2016 16:43 schreef ViPeRII het volgende:
JE had het over collega verzamelaars die ook bijdrage moeten kunnen leveren, vandaar dat ik de vraag stelde of er een pakket van eisen is.

Aan de hand van het stukje code kan ik in ieder geval vaststellen dat het niet fantastisch in elkaar gezet is, maar goed..
Ja de anderen die er gebruik van gaan maken hebben alleen verder geen input (over het bouwen, natuurlijk wel data die ze gaan vullen), die mogen het systeem ook gebruiken ;)
TwenteFCdonderdag 26 mei 2016 @ 20:42
quote:
0s.gif Op donderdag 26 mei 2016 16:31 schreef djkoelkast het volgende:

[..]

Er is geen jullie, er is alleen ik.
Ik weet precies waar het heen moetm het is al een heel eind, alleen nog niet af. Van wat ik heb gehoord zit het wel goed in elkaar.
Ik heb wel basiskennis php maar zoiets maken gaat mijn pet ruim teboven.
Stukje uit de code van videoband.php
[ code verwijderd ]

Ik vind het ook leuk om dit te leren, dus als er iemand is die zegt: laten we het helemaal opnieuw maken in een framework, dan leer je daar meteen van; dat zou ook tof zijn.

:P Omschrijf eens heel duidelijk in één post en desnoods met zelf getekende schermontwerpen wat je wil bereiken wel welke regels waar van kracht zijn. (Zoals wat je bijvoorbeeld over de gast/gebruiker/admin beschreef)

Ik heb nog wel eens momentjes dat ik mij kapot verveel en dan maar random dingen ga programmeren.
djkoelkastdonderdag 26 mei 2016 @ 21:19
quote:
19s.gif Op donderdag 26 mei 2016 20:42 schreef TwenteFC het volgende:

[..]

:P Omschrijf eens heel duidelijk in één post en desnoods met zelf getekende schermontwerpen wat je wil bereiken wel welke regels waar van kracht zijn. (Zoals wat je bijvoorbeeld over de gast/gebruiker/admin beschreef)

Ik heb nog wel eens momentjes dat ik mij kapot verveel en dan maar random dingen ga programmeren.
Misschien handig als ik je een inlog geef, dan heb je een idee van de feel.
Ook heb ik het ooit uitgeschreven (dit loopt al van 2014, dus ik moet e.e.a. even terug opzoeken).
Wat we nu hebben is:

videoband > post-itje in de hoes
Ja dat deelt ook lastig, als ik moet vragen hey heb jij dat en dat programma? oh even al mijn hoezen openen en op de post-itjes lezen ;)
TwenteFCdonderdag 26 mei 2016 @ 21:28
quote:
0s.gif Op donderdag 26 mei 2016 21:19 schreef djkoelkast het volgende:

[..]

Misschien handig als ik je een inlog geef, dan heb je een idee van de feel.
Ook heb ik het ooit uitgeschreven (dit loopt al van 2014, dus ik moet e.e.a. even terug opzoeken).
Wat we nu hebben is:

videoband > post-itje in de hoes
Ja dat deelt ook lastig, als ik moet vragen hey heb jij dat en dat programma? oh even al mijn hoezen openen en op de post-itjes lezen ;)
Het gaat mij vooral om bepaalde regels, ik lees dit bijvoorbeeld als:

quote:
Gast met account kan alleen kaarten inzien
Gast zonder account kan niks
Een gast in jouw bewoording moet nog steeds account hebben. Als jij nog meer van dit soort verassingen hebt dan is het handig om deze vooraf te weten :P

Voor de rest heb je wel gelijk, het is niet super ingewikkeld in het kort;

Een gebruiker met de juiste rechten klikt op maak nieuwe video.
Gebruiker krijgt een formulier, en vult deze in.
Gebruiker vult een aantal regels in.
Gebruiker klikt op opslaan, en afhankelijk van "is openbaar" kan de rest deze bekijken vanuit een lijst?

Zelf kan de gebruiker hieraan wijzigingen aanbrengen, en een admin kan dat ook.

Weet alleen niet of bandnummer een verplicht veld is, en wat locatie precies betekent in deze context. En of jij die afbeeldingen waar jij het eerder over had bij een video of bij een fragment wil opslaan.

Mis ik dan verder nog iets?
#ANONIEMvrijdag 27 mei 2016 @ 05:11
quote:
0s.gif Op donderdag 26 mei 2016 16:31 schreef djkoelkast het volgende:

[..]

Er is geen jullie, er is alleen ik.
Ik weet precies waar het heen moetm het is al een heel eind, alleen nog niet af. Van wat ik heb gehoord zit het wel goed in elkaar.
Ik heb wel basiskennis php maar zoiets maken gaat mijn pet ruim teboven.
Stukje uit de code van videoband.php
[ code verwijderd ]

Ik vind het ook leuk om dit te leren, dus als er iemand is die zegt: laten we het helemaal opnieuw maken in een framework, dan leer je daar meteen van; dat zou ook tof zijn.

auw mijn ogen :'( nederlands gebruiken in programmeren is best wel slecht.

ik zou voor dit een klein framework nemen, al zou je het ook wel met een aantal classes kunnen oplossen.
djkoelkastvrijdag 27 mei 2016 @ 12:38
quote:
1s.gif Op vrijdag 27 mei 2016 05:11 schreef totalvamp het volgende:

[..]

auw mijn ogen :'( nederlands gebruiken in programmeren is best wel slecht.

ik zou voor dit een klein framework nemen, al zou je het ook wel met een aantal classes kunnen oplossen.
Het is wel meteen duidelijk wat de functie doet natuurlijk ;)
#ANONIEMvrijdag 27 mei 2016 @ 12:42
quote:
0s.gif Op vrijdag 27 mei 2016 12:38 schreef djkoelkast het volgende:

[..]

Het is wel meteen duidelijk wat de functie doet natuurlijk ;)
Ik zie geen functie :P

Ik begon zelf ook in het Nederlands, maar na een echte baan te hebben heb ik dat maar snel afgeleerd.
djkoelkastvrijdag 27 mei 2016 @ 12:47
quote:
19s.gif Op donderdag 26 mei 2016 21:28 schreef TwenteFC het volgende:

[..]

Het gaat mij vooral om bepaalde regels, ik lees dit bijvoorbeeld als:

[..]

Een gast in jouw bewoording moet nog steeds account hebben. Als jij nog meer van dit soort verassingen hebt dan is het handig om deze vooraf te weten :P

Voor de rest heb je wel gelijk, het is niet super ingewikkeld in het kort;

Een gebruiker met de juiste rechten klikt op maak nieuwe video.
Gebruiker krijgt een formulier, en vult deze in.
Gebruiker vult een aantal regels in.
Gebruiker klikt op opslaan, en afhankelijk van "is openbaar" kan de rest deze bekijken vanuit een lijst?

Zelf kan de gebruiker hieraan wijzigingen aanbrengen, en een admin kan dat ook.

Weet alleen niet of bandnummer een verplicht veld is, en wat locatie precies betekent in deze context. En of jij die afbeeldingen waar jij het eerder over had bij een video of bij een fragment wil opslaan.

Mis ik dan verder nog iets?
Site is alleen toegankelijk met een account. Geen account is geen toegang.
Toegang is op 3 niveaus:

Gast (met account): kan alleen banden kijken die op openbaar staan
User: heeft eigen banden, kan eigen banden invoeren/editen, kan alle banden van alle andere users ook zien (ook die niet openbaar staan). Een user kan gastaccounts aanmaken.
Admin: kan alle banden en users zien en editen

Dat is nu zo gedaan:

Kom je op de site moet je inloggen, anders zie je niks.
Ben je ingelogd dan heb je een userlevel ID 1, 2 of 3 (admin, user, gast)
In level 3 zie je alleen de knop bladeren en zoeken. Er wordt gewoon met een "if openbaar then laten zien"-statement gewerkt.
In level 2 zie je ook de knop invoeren en users, waar je alleen de users die bij jouw id horen ziet uiteraard
In level 1 zie je alles

Die functies zitten er momenteel al wel in en dat werkt nu ook. Alleen het invoeren van de banden dat werkt nog niet helemaal, het zoeken nog helemaal niet, het bladeren is nog niet af.

Bandnummer is altijd verplicht, maar elke user heeft zijn eigen nummering, al kan het ook zijn dat er 2 users zijn met bandnummer 00001 bijvoorbeeld, maar dat dat andere banden zijn. Dat is nu in de database zo gedaan door een userID uniek te maken en het bandnummer op zichzelf niet.

De afbeeldingen zouden gewoon bij de band komen. Dan kun je een foto van de band en/of screenshots uploaden.

Dan het zoeken, op alle velden moet gezocht kunnen worden. Dus bijvoorbeeld: geef een lijst van alle Betamaxbanden van alle users. Of alleen die van mij.
Of geef alle banden weer waar de tekst "honeymoon" in voorkomt, stel dat ik de Honeymoonquiz zoek.
djkoelkastvrijdag 27 mei 2016 @ 12:48
quote:
0s.gif Op vrijdag 27 mei 2016 12:42 schreef totalvamp het volgende:

[..]

Ik zie geen functie :P

Ik begon zelf ook in het Nederlands, maar na een echte baan te hebben heb ik dat maar snel afgeleerd.
is_onkijkbaar of is_unwatchable, ik weet niet, ik vind zelf in dit geval NL geen probleem, maar ik heb het niet geschreven. Wel geholpen met welke velden er moesten komen en die zullen vast door mijn schuld zo zijn genoemd :P
Lightvrijdag 27 mei 2016 @ 12:57
quote:
0s.gif Op vrijdag 27 mei 2016 12:48 schreef djkoelkast het volgende:

[..]

is_onkijkbaar of is_unwatchable, ik weet niet, ik vind zelf in dit geval NL geen probleem, maar ik heb het niet geschreven. Wel geholpen met welke velden er moesten komen en die zullen vast door mijn schuld zo zijn genoemd :P
Ik zou dan altijd gaan voor een naam die als uitgangspunt heeft dat je iets wel mag, dus is_watchable (of is_kijkbaar, als je toch Nederlands wilt). Dat maakt het redeneren als je de code later terugleest veel makkelijker.
djkoelkastvrijdag 27 mei 2016 @ 12:58
quote:
0s.gif Op vrijdag 27 mei 2016 12:57 schreef Light het volgende:

[..]

Ik zou dan altijd gaan voor een naam die als uitgangspunt heeft dat je iets wel mag, dus is_watchable (of is_kijkbaar, als je toch Nederlands wilt). Dat maakt het redeneren als je de code later terugleest veel makkelijker.
Het invulveld heeft een vinkje voor een fragment wat onkijkbaar is. Dus aangevinkt betekent: dit fragment is onkijkbaar. Als je dat in de db gaat omdraaien is dat wellicht niet handig. Maar ik ben geen programmeur ;)
KomtTijd...vrijdag 27 mei 2016 @ 16:39
Unwatchable, srsly? Is "hidden" geen betere term?
Monolithvrijdag 27 mei 2016 @ 16:42
quote:
1s.gif Op vrijdag 27 mei 2016 16:39 schreef KomtTijd... het volgende:
Unwatchable, srsly? Is "hidden" geen betere term?
Als ik het goed interpreteer is de videoband niet te bekijken. Hidden lijkt me dan niet de juiste term.
djkoelkastvrijdag 27 mei 2016 @ 17:57
quote:
0s.gif Op vrijdag 27 mei 2016 16:42 schreef Monolith het volgende:

[..]

Als ik het goed interpreteer is de videoband niet te bekijken. Hidden lijkt me dan niet de juiste term.
Klopt, te veel storing bijvoorbeeld. Niet om aan te zien :P
Maar de databasevelden zijn wellicht mede daarom gewoon NL gehouden. Mij stoort het niet.
Monolithvrijdag 27 mei 2016 @ 18:13
quote:
0s.gif Op vrijdag 27 mei 2016 17:57 schreef djkoelkast het volgende:

[..]

Klopt, te veel storing bijvoorbeeld. Niet om aan te zien :P
Maar de databasevelden zijn wellicht mede daarom gewoon NL gehouden. Mij stoort het niet.
Ik ben ook altijd gewend geweest om alles in het Engels te doen, maar ik doe nu een groot project waarbij echt alle specs (als in honderden pagina's aan BRD / FO / TO, vele modellen, enzovoort) in het Nederlands is, waardoor het nauwelijks nog te doen is om geen Nederlands te gebruiken in de code aangezien terminologie nogal door elkaar loopt en dan helemaal niet meer te herleiden is.
#ANONIEMvrijdag 27 mei 2016 @ 18:26
quote:
1s.gif Op vrijdag 27 mei 2016 18:13 schreef Monolith het volgende:

[..]

Ik ben ook altijd gewend geweest om alles in het Engels te doen, maar ik doe nu een groot project waarbij echt alle specs (als in honderden pagina's aan BRD / FO / TO, vele modellen, enzovoort) in het Nederlands is, waardoor het nauwelijks nog te doen is om geen Nederlands te gebruiken in de code aangezien terminologie nogal door elkaar loopt en dan helemaal niet meer te herleiden is.
Iemand heeft zijn werk dan niet goed gedaan :P
Monolithvrijdag 27 mei 2016 @ 18:32
quote:
0s.gif Op vrijdag 27 mei 2016 18:26 schreef totalvamp het volgende:

[..]

Iemand heeft zijn werk dan niet goed gedaan :P
Dat is een feit. Ik zit aan alle kanten opgescheept met conflicterende specs waar ik weer achteraan kan jagen. :P
Maar goed, het is ook wel weer een prachtig AINO / Water-scrum-fall project.
#ANONIEMvrijdag 27 mei 2016 @ 18:50
quote:
1s.gif Op vrijdag 27 mei 2016 18:32 schreef Monolith het volgende:

[..]

Dat is een feit. Ik zit aan alle kanten opgescheept met conflicterende specs waar ik weer achteraan kan jagen. :P
Maar goed, het is ook wel weer een prachtig AINO / Water-scrum-fall project.
Ik had koppig geweest en alles Engels gemaakt :P
Specs in NL kan wel, maar niks in de database/code zou NL moeten zijn.
#ANONIEMvrijdag 27 mei 2016 @ 19:01
quote:
0s.gif Op vrijdag 27 mei 2016 18:50 schreef totalvamp het volgende:

[..]

Ik had koppig geweest en alles Engels gemaakt :P
Specs in NL kan wel, maar niks in de database/code zou NL moeten zijn.
Als het gaat om terminologie zoals een voorbereidingsbesluit zodat geen omgevingsvergunning kan worden afgegeven overeenkomstig het bestemmingsplan zolang dat nog niet conform het tracébesluit is aangepast, dan kun je dat helemaal niet naar het Engels vertalen.

En als dat niet kan, waarom zou je dan andere termen waarvoor er wel een Engelse vertaling is dan wel vertalen?
Monolithvrijdag 27 mei 2016 @ 19:02
quote:
0s.gif Op vrijdag 27 mei 2016 18:50 schreef totalvamp het volgende:

[..]

Ik had koppig geweest en alles Engels gemaakt :P
Specs in NL kan wel, maar niks in de database/code zou NL moeten zijn.
Dat voegt in dit geval juist heel veel extra complexiteit toe. Juist omdat er op veel vlakken nog onduidelijkheid is over domeinobjecten en hun eigenschappen maken vertalingen het nog lastiger communiceren. Ik merk al dat een aantal andere leveranciers allen weer hun eigen Engelse vertaling hebben gemaakt die onderling weer verschillen, wat weer veel meer uitzoekwerk vergt.
De code / documentatie is ook in het Engels waar het niet dergelijke domeinspecifieke terminologie betreft natuurlijk. Providers worden natuurlijk geen aanbieders en Events geen Gebeurtenissen en dergelijke.
#ANONIEMvrijdag 27 mei 2016 @ 19:08
Veel belangrijker qua kosmopolitisch denken is wmb. om Unicode goed te ondersteunen.

Wij hebben bijv. een studenten-bijbaan-medewerker die, laten we zeggen, Hömmen van achternaam heet, en die de ö in de bestandsnaam dan invoert als 'o' + U+0308 'COMBINING DIAERESIS'. De software die de uploads moet verwerken bij ons is extern ontwikkeld en kan niet met UTF-8 omgaan en kan zo'n bestand dan niet lezen. :')
TwenteFCvrijdag 27 mei 2016 @ 19:20
quote:
0s.gif Op vrijdag 27 mei 2016 19:01 schreef Igen het volgende:

[..]

Als het gaat om terminologie zoals een voorbereidingsbesluit zodat geen omgevingsvergunning kan worden afgegeven overeenkomstig het bestemmingsplan zolang dat nog niet conform het tracébesluit is aangepast, dan kun je dat helemaal niet naar het Engels vertalen.

En als dat niet kan, waarom zou je dan andere termen waarvoor er wel een Engelse vertaling is dan wel vertalen?
Achja als puntje bij paaltje komt; Als het maar consistent gebeurt.
Maar als ik ooit in een codebase moet duiden waar alles in het Tsjechisch is geschreven dan ben ik wel fucked.
Monolithvrijdag 27 mei 2016 @ 19:25
quote:
19s.gif Op vrijdag 27 mei 2016 19:20 schreef TwenteFC het volgende:

[..]

Achja als puntje bij paaltje komt; Als het maar consistent gebeurt.
Maar als ik ooit in een codebase moet duiden waar alles in het Tsjechisch is geschreven dan ben ik wel fucked.
Wat dat betreft is het voor mijn werkgever niet ongunstig dat de terminologie in het Nederlands is. De software is formeel eigendom van de klant ondanks dat hij door ons wordt ontwikkeld en beheerd, dus dat maakt de boel offshoren een stuk lastiger. :P
cablegunmastermaandag 30 mei 2016 @ 09:24
quote:
0s.gif Op donderdag 26 mei 2016 16:43 schreef ViPeRII het volgende:
JE had het over collega verzamelaars die ook bijdrage moeten kunnen leveren, vandaar dat ik de vraag stelde of er een pakket van eisen is.

Aan de hand van het stukje code kan ik in ieder geval vaststellen dat het niet fantastisch in elkaar gezet is, maar goed..
Dit beaam ik. :P
cablegunmastermaandag 30 mei 2016 @ 09:27
quote:
0s.gif Op vrijdag 27 mei 2016 17:57 schreef djkoelkast het volgende:

[..]

Klopt, te veel storing bijvoorbeeld. Niet om aan te zien :P
Maar de databasevelden zijn wellicht mede daarom gewoon NL gehouden. Mij stoort het niet.
Ik wil best wel een keer een opzet maken, maar dan eerst een opzet qua documenten (inzicht van database en schermpjes. Zelf werk ik redelijk snel met dit soort projecten , vraag is wat is de vergoeding? Uurloon ? (ben bijna student af) maar, heb best zin in een side project.

Dan gooi ik alles overhoop en herschrijf ik het in laravel met een bootstrap uiterlijk (netjes en overzichtelijk) . Alleen dan is de vraag wat is de vergoeding die er tegenoverstaat ten opzichte van het werk? :P

Ik doe wel alles in engels.

PM DM etc.. dan kunnen we zien of er een mouw aan te passen is.
#ANONIEMmaandag 30 mei 2016 @ 09:36
quote:
0s.gif Op maandag 30 mei 2016 09:27 schreef cablegunmaster het volgende:

[..]

Ik wil best wel een keer een opzet maken, maar dan eerst een opzet qua documenten (inzicht van database en schermpjes. Zelf werk ik redelijk snel met dit soort projecten , vraag is wat is de vergoeding? Uurloon ? (ben bijna student af) maar, heb best zin in een side project.

Dan gooi ik alles overhoop en herschrijf ik het in laravel met een bootstrap uiterlijk (netjes en overzichtelijk) . Alleen dan is de vraag wat is de vergoeding die er tegenoverstaat ten opzichte van het werk? :P

Ik doe wel alles in engels.

PM DM etc.. dan kunnen we zien of er een mouw aan te passen is.
In een eerder bericht stond dat hij video's kan digitaliseren etc.

Is Laravel nog een beetje handig? Al tijden geen PHP meer gedaan (alles is JS tegenwoordig).
cablegunmastermaandag 30 mei 2016 @ 09:41
quote:
1s.gif Op maandag 30 mei 2016 09:36 schreef totalvamp het volgende:

[..]

In een eerder bericht stond dat hij video's kan digitaliseren etc.

Is Laravel nog een beetje handig? Al tijden geen PHP meer gedaan (alles is JS tegenwoordig).
Geweldig, simplistisch en het is naar mijn weten sneller te leren dan Zend, vanwege laracast (de hoeveelheid filmpjes die je snel de tutorials door nemen) Grote hoeveelheid documentatie , en een grote hoeveelheid voorbeelden.

Laravel is in mijn opzicht handiger dan Zend, een eigen gemaakt framework.

http://draad.nu/hoe-laravel-de-wereld-en-draad-overneemt/
http://gathering.tweakers.net/forum/list_messages/1624149
https://laracasts.com/

Graag hoor ik ook negatieve berichten van laravel aangezien ik niet weet wat er op tegen is om het niet te gebruiken:

http://laravel.io/forum/12-21-2014-why-i-am-not-using-laravel

Laravel is haast geen PHP te noemen. (soort van Java achtige taal lijkt het nu op ). :P Dit is alleen maar voordelig naar mijn mening.

[ Bericht 6% gewijzigd door cablegunmaster op 30-05-2016 10:14:27 ]
Sitethiefmaandag 30 mei 2016 @ 10:14
Het enige negatieve wat ik soms met Laravel ondervind is dat vanwege al het weg abstracten van code het soms lastig is te achterhalen waarom dingen soms fout gaan. Maar dat is ook een stukje gebrek aan ervaring omdat ik pas een paar maanden met Laravel bezig ben.
djkoelkastmaandag 30 mei 2016 @ 10:21
quote:
0s.gif Op maandag 30 mei 2016 09:27 schreef cablegunmaster het volgende:

[..]

Ik wil best wel een keer een opzet maken, maar dan eerst een opzet qua documenten (inzicht van database en schermpjes. Zelf werk ik redelijk snel met dit soort projecten , vraag is wat is de vergoeding? Uurloon ? (ben bijna student af) maar, heb best zin in een side project.

Dan gooi ik alles overhoop en herschrijf ik het in laravel met een bootstrap uiterlijk (netjes en overzichtelijk) . Alleen dan is de vraag wat is de vergoeding die er tegenoverstaat ten opzichte van het werk? :P

Ik doe wel alles in engels.

PM DM etc.. dan kunnen we zien of er een mouw aan te passen is.
Vergoeding is een wederdienst en mijn eeuwige dank, niet iets financiëels. Het wordt een reclamevrij, inkomstenvrij hobbyproject onder een aantal gekke verzamelaars van oude videobeelden. Omdat Beeld & Geluid (het instituut wat bedoeld is om beelden te bewaren) vaak genoeg doodleuk dingen kwijtraakt, niet heeft, of als het door derden wordt aangeboden niet nodig acht want "we hebben hier al genoeg van".
Monolithmaandag 30 mei 2016 @ 10:25
quote:
0s.gif Op maandag 30 mei 2016 10:14 schreef Sitethief het volgende:
Het enige negatieve wat ik soms met Laravel ondervind is dat vanwege al het weg abstracten van code het soms lastig is te achterhalen waarom dingen soms fout gaan. Maar dat is ook een stukje gebrek aan ervaring omdat ik pas een paar maanden met Laravel bezig ben.
Eigenlijk geldt voor elk framework in een OO-taal wel dat er een zekere leercurve is. Zeker als je niet al te bekend bent met design patterns en OO-concepten. Java stacktraces zijn ook notoir intimiderend voor de beginnende ontwikkelaar, zeker als je b.v. ook nog eens Java EE gebruikt. :P
cablegunmastermaandag 30 mei 2016 @ 10:26
quote:
0s.gif Op maandag 30 mei 2016 10:21 schreef djkoelkast het volgende:

[..]

Vergoeding is een wederdienst en mijn eeuwige dank, niet iets financiëels. Het wordt een reclamevrij, inkomstenvrij hobbyproject onder een aantal gekke verzamelaars van oude videobeelden. Omdat Beeld & Geluid (het instituut wat bedoeld is om beelden te bewaren) vaak genoeg doodleuk dingen kwijtraakt, niet heeft, of als het door derden wordt aangeboden niet nodig acht want "we hebben hier al genoeg van".
Het klinkt als een tof project, ergens vind ik het wel leuk om te doen, twijfel vanwege tijd en de weinige financiële vergoeding. Ik zal iets moeten hebben om van te leven als bijbaan. dan is dit project helaas nietvoor mij maar ik blijf het interessant vinden :o . Vanwege dat ik nog een projectje zoek om aan te klieren en dingen te maken.

quote:
0s.gif Op maandag 30 mei 2016 10:25 schreef Monolith het volgende:

[..]

Eigenlijk geldt voor elk framework in een OO-taal wel dat er een zekere leercurve is. Zeker als je niet al te bekend bent met design patterns en OO-concepten. Java stacktraces zijn ook notoir intimiderend voor de beginnende ontwikkelaar, zeker als je b.v. ook nog eens Java EE gebruikt. :P
Jup , daarbij heeft het mij geholpen om software patterns op te zoeken. Hoe dit zit in combinatie met laravel (laracasts had er een filmpje over) ik kende de huidige software patterns al maar toepassen op laravel vond ik nog wat lastig.
Monolithmaandag 30 mei 2016 @ 10:37
quote:
0s.gif Op maandag 30 mei 2016 10:26 schreef cablegunmaster het volgende:
Jup , daarbij heeft het mij geholpen om software patterns op te zoeken. Hoe dit zit in combinatie met laravel (laracasts had er een filmpje over) ik kende de huidige software patterns al maar toepassen op laravel vond ik nog wat lastig.
Een goed framework abstraheert ook veel van die patronen gewoon weg. Binnen Java EE kun je bijvoorbeeld simpelweg van een class een singleton maken met een @Singleton annotatie, een Interceptor met een @Interceptor annotatie, observers zijn simpelweg een kwestie van een methode maken die een Event parameter heeft met @Observes, ORM is een kwestie van @Entity annotaties met wat extra annotaties voor verdere configuratie, enzovoort.
cablegunmastermaandag 30 mei 2016 @ 20:31
quote:
0s.gif Op maandag 30 mei 2016 10:21 schreef djkoelkast het volgende:

[..]

Vergoeding is een wederdienst en mijn eeuwige dank, niet iets financiëels. Het wordt een reclamevrij, inkomstenvrij hobbyproject onder een aantal gekke verzamelaars van oude videobeelden. Omdat Beeld & Geluid (het instituut wat bedoeld is om beelden te bewaren) vaak genoeg doodleuk dingen kwijtraakt, niet heeft, of als het door derden wordt aangeboden niet nodig acht want "we hebben hier al genoeg van".
Meh. schets een use class diagram of schrijf het hele verhaal op hoe het inelkaar steekt screenshots erbij hoe het eruit moet komen te zien en ik zal eens iets inelkaar flatsen.
Kost wel tijd, kan drie maanden ongeveer duren max maar dan is het er wel :P
TwenteFCmaandag 30 mei 2016 @ 21:26
quote:
0s.gif Op maandag 30 mei 2016 20:31 schreef cablegunmaster het volgende:

[..]

Meh. schets een use class diagram of schrijf het hele verhaal op hoe het inelkaar steekt screenshots erbij hoe het eruit moet komen te zien en ik zal eens iets inelkaar flatsen.
Kost wel tijd, kan drie maanden ongeveer duren max maar dan is het er wel :P
:o 3 maand?! Ik heb het al bijna af. :P
cablegunmastermaandag 30 mei 2016 @ 21:36
quote:
19s.gif Op maandag 30 mei 2016 21:26 schreef TwenteFC het volgende:

[..]

:o 3 maand?! Ik heb het al bijna af. :P
Oh nou afmaken die hap . _O- mwhoah , dan moet het ook online komen te staan, ik zit met rijlessen, vriendin en thesis. :X
TwenteFCmaandag 30 mei 2016 @ 21:42
quote:
0s.gif Op maandag 30 mei 2016 21:36 schreef cablegunmaster het volgende:

[..]

Oh nou afmaken die hap . _O- mwhoah , dan moet het ook online komen te staan, ik zit met rijlessen, vriendin en thesis. :X
:P Ik maak het tussen het gamen en series kijken door. Ben overdag ook al 8 uur bezig met webapps bouwen vandaar dat ik ook nog niks had gezegd om geen loze beloftes te doen.

Maar niet dat je straks 6 sites hebt om het bij te houden.
cablegunmasterdinsdag 31 mei 2016 @ 08:51
quote:
19s.gif Op maandag 30 mei 2016 21:42 schreef TwenteFC het volgende:

[..]

:P Ik maak het tussen het gamen en series kijken door. Ben overdag ook al 8 uur bezig met webapps bouwen vandaar dat ik ook nog niks had gezegd om geen loze beloftes te doen.

Maar niet dat je straks 6 sites hebt om het bij te houden.
Nee begrijpelijk, dat is ook niet het idee. Zolang al die 6 klanten niks willen is het ok , maar als ze allemaal watwillen dan ben je 24/7 bezig _O- .

Wat is je software stack om het te bouwen ? :).
#ANONIEMdinsdag 31 mei 2016 @ 11:04
Ik gebruik tegenwoordig Meteor als stack. Voor een nieuwe cryptocurrency.

Is gebaseerd op NodeJS en Mongo
cablegunmasterdinsdag 31 mei 2016 @ 12:55
quote:
19s.gif Op maandag 30 mei 2016 21:26 schreef TwenteFC het volgende:

[..]

:o 3 maand?! Ik heb het al bijna af. :P
Oh is de huidige implementatie van jou? Of bouw je zelf een systeem ernaast? Naar aanleiding van de gegeven gegevens op dit topic? :P
djkoelkastdinsdag 31 mei 2016 @ 13:23
Ik weet van niets, ik heb cablegunmaster wat gegevens gemaild.
TwenteFCdinsdag 31 mei 2016 @ 18:14
quote:
0s.gif Op dinsdag 31 mei 2016 12:55 schreef cablegunmaster het volgende:

[..]

Oh is de huidige implementatie van jou? Of bouw je zelf een systeem ernaast? Naar aanleiding van de gegeven gegevens op dit topic? :P
:P obv wat hier gepost, mijn voornaamste reden om dit te maken is omdat ik een excuus zoek om Algolia ( https://www.algolia.com/ ) eens te proberen.

Ik werk tegenwoordig bijna alleen nog maar met Laravel.
BrainOverfloWdinsdag 31 mei 2016 @ 18:25
quote:
19s.gif Op dinsdag 31 mei 2016 18:14 schreef TwenteFC het volgende:

[..]

:P obv wat hier gepost, mijn voornaamste reden om dit te maken is omdat ik een excuus zoek om Algolia ( https://www.algolia.com/ ) eens te proberen.

Ik werk tegenwoordig bijna alleen nog maar met Laravel.
Hoe bevalt Algolia tot nu toe?
TwenteFCdinsdag 31 mei 2016 @ 18:44
quote:
1s.gif Op dinsdag 31 mei 2016 18:25 schreef BrainOverfloW het volgende:

[..]

Hoe bevalt Algolia tot nu toe?
;) Ben eerst het "saaie" spul aan het maken, anders gaat het project /dev/null nadat ik met de search klaar ben. Zal wanneer het af is 't project wel op github gooien en dan kan djkoelkast het gebruiken en anderen verbeteringen pushen. :P
cablegunmasterwoensdag 1 juni 2016 @ 14:42
quote:
19s.gif Op dinsdag 31 mei 2016 18:14 schreef TwenteFC het volgende:

[..]

:P obv wat hier gepost, mijn voornaamste reden om dit te maken is omdat ik een excuus zoek om Algolia ( https://www.algolia.com/ ) eens te proberen.

Ik werk tegenwoordig bijna alleen nog maar met Laravel.
Ziet er leuk uit :), beetje overkill denk ik? :P
Monolithwoensdag 1 juni 2016 @ 15:01
quote:
0s.gif Op woensdag 1 juni 2016 14:42 schreef cablegunmaster het volgende:

[..]

Ziet er leuk uit :), beetje overkill denk ik? :P
Volstrekte overkill natuurlijk, maar het is ook meer een PoCje voor zover ik begrijp. Iets dergelijks wordt pas echt interessant als je wat grotere en diverse collecties documenten / objecten krijgt.
Al is het natuurlijk wel aardig dat er wat basale correctie op de zoekinput zit, ongetwijfeld zaken als stemfiltering, edit distance, synonyms, stopwords etcetera waardoor het nog net wat meer functionaliteit biedt dan een simpele 'LIKE' in MySQL.
cablegunmasterwoensdag 1 juni 2016 @ 17:09
quote:
0s.gif Op woensdag 1 juni 2016 15:01 schreef Monolith het volgende:

[..]

Volstrekte overkill natuurlijk, maar het is ook meer een PoCje voor zover ik begrijp. Iets dergelijks wordt pas echt interessant als je wat grotere en diverse collecties documenten / objecten krijgt.
Al is het natuurlijk wel aardig dat er wat basale correctie op de zoekinput zit, ongetwijfeld zaken als stemfiltering, edit distance, synonyms, stopwords etcetera waardoor het nog net wat meer functionaliteit biedt dan een simpele 'LIKE' in MySQL.
Dat is altijd leuk :Y . Vroeg me al af wat voor servers eigenlijk gebruik van maken, zie google zoiets al weg gebruiken maar op welk niveau je zoiets nodig zou moeten hebben weet ik niet. (aangezien de kosten).
Monolithwoensdag 1 juni 2016 @ 17:14
quote:
0s.gif Op woensdag 1 juni 2016 17:09 schreef cablegunmaster het volgende:

[..]

Dat is altijd leuk :Y . Vroeg me al af wat voor servers eigenlijk gebruik van maken, zie google zoiets al weg gebruiken maar op welk niveau je zoiets nodig zou moeten hebben weet ik niet. (aangezien de kosten).
Search technologie wordt wel redelijk breed ingezet. Meestal iets Lucene based zoals ElasticSearch of SOLR.
Bij een beetje webshop met een flink assortiment wil je bijvoorbeeld natuurlijk de optie bieden om makkelijk te zoeken naar producten. Aan die producten zitten een hoop aspecten (naam, omschrijving, categorie met eventueel subcategorieën, maten, merk, enzovoort). Je wilt dan zoekresultaten geven die eigenlijk zoeken in al dat soort aspecten, maar daarbij wel weer relevantiescores kunnen hanteren zodat je bijvoorbeeld een match op productnaam zwaarder kunt wegen dan op productomschrijving. Ook allerhande zaken die ik aanhaalde als spelcorrectie / suggestie, stemming waardoor het niet uitmaakt of je bijvoorbeeld op 'fiets' of 'fietsen' zoekt, enzovoort zijn dan handig.
Voor dat soort zaken is SQL fulltext search niet echt geschikt.
TwenteFCwoensdag 1 juni 2016 @ 18:13
quote:
0s.gif Op woensdag 1 juni 2016 17:14 schreef Monolith het volgende:

[..]

Search technologie wordt wel redelijk breed ingezet. Meestal iets Lucene based zoals ElasticSearch of SOLR.
Bij een beetje webshop met een flink assortiment wil je bijvoorbeeld natuurlijk de optie bieden om makkelijk te zoeken naar producten. Aan die producten zitten een hoop aspecten (naam, omschrijving, categorie met eventueel subcategorieën, maten, merk, enzovoort). Je wilt dan zoekresultaten geven die eigenlijk zoeken in al dat soort aspecten, maar daarbij wel weer relevantiescores kunnen hanteren zodat je bijvoorbeeld een match op productnaam zwaarder kunt wegen dan op productomschrijving. Ook allerhande zaken die ik aanhaalde als spelcorrectie / suggestie, stemming waardoor het niet uitmaakt of je bijvoorbeeld op 'fiets' of 'fietsen' zoekt, enzovoort zijn dan handig.
Voor dat soort zaken is SQL fulltext search niet echt geschikt.
Ik werk inderdaad bij een groothandel met een zakelijke webshop, de voornaamste punten waarom ik Algolia interessant vind.

- Geen ontwikkelingskosten naast de implementatie
- Faceted & fuzzy search
Monolithwoensdag 1 juni 2016 @ 18:47
quote:
19s.gif Op woensdag 1 juni 2016 18:13 schreef TwenteFC het volgende:

[..]

Ik werk inderdaad bij een groothandel met een zakelijke webshop, de voornaamste punten waarom ik Algolia interessant vind.

- Geen ontwikkelingskosten naast de implementatie
- Faceted & fuzzy search
Het lijkt inderdaad wel een leuke dienst, al denk ik toch wel dat je het nodige zult moeten ontwikkelen qua feeding en later eventueel allerhande optimalisatie / customization. ElasticSearch en SOLR werken ook wel vrij eenvoudig out of the box als je er kennis van hebt, hoewel dat voor veel mensen wel even een zekere leercurve zal zijn.
xaban06maandag 6 juni 2016 @ 16:05
Ik heb een stukje HTML, waar ik bepaalde informatie uit wil halen. Zie de HTML code hieronder en zie ook wat ik er uit wil halen.

Dit zou met regular expressions kunnen, maar ik heb er zoveel over gelezen, maar ik kan gewoon geen reg exp maken, helaas.

Dus los ik het op met explode op <tr id="CF-7-ShowRow">, vervolgens een explode op <td class="value">, etc.

Zou iemand mij willen helpen :@
1
2
3
4
5
  <tr id="CF-7-ShowRow">
    <td class="label">Some text</td>
    <td class="value">
Dit is wat ik eruit wil halen</td>
  </tr>
Lightmaandag 6 juni 2016 @ 20:41
quote:
0s.gif Op maandag 6 juni 2016 16:05 schreef xaban06 het volgende:
Ik heb een stukje HTML, waar ik bepaalde informatie uit wil halen. Zie de HTML code hieronder en zie ook wat ik er uit wil halen.

Dit zou met regular expressions kunnen, maar ik heb er zoveel over gelezen, maar ik kan gewoon geen reg exp maken, helaas.

Dus los ik het op met explode op <tr id="CF-7-ShowRow">, vervolgens een explode op <td class="value">, etc.

Zou iemand mij willen helpen :@
[ code verwijderd ]

Waarom zou je hier een regex willen gebruiken? Html is nou niet bepaald regulier. Met DOMDocument moet je meer kunnen doen, die is speciaal ontwikkeld om met xml en html om te kunnen gaan.
Sitethiefdinsdag 7 juni 2016 @ 11:12
quote:
0s.gif Op maandag 6 juni 2016 20:41 schreef Light het volgende:

[..]

Waarom zou je hier een regex willen gebruiken? Html is nou niet bepaald regulier. Met DOMDocument moet je meer kunnen doen, die is speciaal ontwikkeld om met xml en html om te kunnen gaan.
Yup.

En anders is er altijd nog http://simplehtmldom.sourceforge.net/

Ik zie zo vaak mensen het wiel opnieuw uitvinden als we het over PHP hebben :'( .
#ANONIEMmaandag 13 juni 2016 @ 18:25
Mijn Python begint opeens PHP te schrijven? :{ Is dit een bug?

u8a6PGO.jpg
BrainOverfloWmaandag 13 juni 2016 @ 18:30
quote:
10s.gif Op maandag 13 juni 2016 18:25 schreef d4v1d het volgende:
Mijn Python begint opeens PHP te schrijven? :{ Is dit een bug?

[ afbeelding ]
Dat is een feature!
Monolithmaandag 13 juni 2016 @ 18:33
quote:
10s.gif Op maandag 13 juni 2016 18:25 schreef d4v1d het volgende:
Mijn Python begint opeens PHP te schrijven? :{ Is dit een bug?

[ afbeelding ]
Als je dan echt flauwe Pythongrappen wil maken is het eigelijk 'begint plots PHP te schrijven'. :P
cablegunmastermaandag 20 juni 2016 @ 14:37
Vraagje is Ecmascript een subset van Javascript? De uitleg van Wikipedia vond ik verwarrend.

Iets met eerst was het Javascript conform naar Ecma script en dan weer conform de regels van Ecmascript is javascipt een subset taal gebaseerd op Ecmascript (ECMA-262?)

*verwart*
BrainOverfloWmaandag 20 juni 2016 @ 19:58
quote:
0s.gif Op maandag 20 juni 2016 14:37 schreef cablegunmaster het volgende:
Vraagje is Ecmascript een subset van Javascript? De uitleg van Wikipedia vond ik verwarrend.

Iets met eerst was het Javascript conform naar Ecma script en dan weer conform de regels van Ecmascript is javascipt een subset taal gebaseerd op Ecmascript (ECMA-262?)

*verwart*
ECMAScript is de standaard voor een paar talen, JavaScript, JScript en ActionScript. Dit is een blauwdruk met een hele set aan afspraken over hoe de taal moet werken. JavaScript is dus een implementatie van de regels van ECMAScript, net als JScript en ActionScript.

Die verwarring komt door de volgorde waarin deze talen en de standaard ontwikkeld zijn. Sun Microsystems kwam met JavaScript. Vervolgens vond Microsoft dat een mooie taal maar die hadden geen zin om patenten te gaan betalen aan Sun dus die maakte een afgeleide taal, JScript.

Daarna is er besloten om één standaard voor deze talen te maken waardoor ze wel hetzelfde blijven maar iedere partij onder zijn eigen patenten kan blijven werken. Dit standaard is ECMAScript geworden.

Vanuit deze standaard is later ActionScript ontwikkeld voor gebruik in Flash.

Nu ECMAScript er is worden daar nieuwe regels in opgenomen die vervolgens geïmplementeerd worden in JavaScript, JScript en ActionScript.

Dus hoewel je kunt zeggen dat ECMAScript is ontstaan uit JavaScript, is de huidige versie van JavaScript een implementatie van ECMAScript.

Overigens hebben al deze talen ook hun eigen functionaliteiten ontwikkeld die buiten de standaard regels vallen.

Ter info, er is ook een topic voor front-end talen: DIG / [HTML, CSS, JS] Frontend #45: topic nummer++
cablegunmastermaandag 20 juni 2016 @ 21:54
quote:
0s.gif Op maandag 20 juni 2016 19:58 schreef BrainOverfloW het volgende:

[..]
Bedankt :)! dit verheldert een hele hoop.
Dit is precies wat ik zocht en dat topic van CSS raak ik elke keer weer kwijt. (inactief topic en niet te vinden in DIG met ctrl + F.
Aetherwoensdag 22 juni 2016 @ 17:37
If PHP Were British.
Darkomenvrijdag 9 september 2016 @ 09:32
*kuch* STOF *kuch*
Where my PHPeeps at?!

Bij een klant van mij heb ik het probleem dat is_writeable() aangeeft dat een folder niet schrijfbaar is, maar ik kan wel nieuwe bestanden in de folders plaatsen?

IIS users hebben volledige rechten op de folders, iemand een idee?

PHP Version 5.5.34
Windows Server 2012 R2 Datacenter Edition i586
Rockfirevrijdag 9 september 2016 @ 09:53
quote:
0s.gif Op vrijdag 9 september 2016 09:32 schreef Darkomen het volgende:
*kuch* STOF *kuch*
Where my PHPeeps at?!

Bij een klant van mij heb ik het probleem dat is_writeable() aangeeft dat een folder niet schrijfbaar is, maar ik kan wel nieuwe bestanden in de folders plaatsen?

IIS users hebben volledige rechten op de folders, iemand een idee?

PHP Version 5.5.34
Windows Server 2012 R2 Datacenter Edition i586
Ik weet dat in ieder geval in WordPress er een aparte functie is om te kijken of een folder onder windows schrijfbaar is: https://developer.wordpre(...)ons/win_is_writable/
Darkomenvrijdag 9 september 2016 @ 11:06
quote:
0s.gif Op vrijdag 9 september 2016 09:53 schreef Rockfire het volgende:

[..]

Ik weet dat in ieder geval in WordPress er een aparte functie is om te kijken of een folder onder windows schrijfbaar is: https://developer.wordpre(...)ons/win_is_writable/
Ik doe iets vergelijkbaars, ik kijk eerst of de directory schrijfbaar is, zo ja, prima.
Zo niet dan kijk ik of ik toch niet stiekem een een bestand er in kan zetten dmv touch();
Als dat ook niet lukt dan is de directory echt niet schrijfbaar.

Ik vond het alleen zo raar dat een is_writetable() dat aangeeft.
KomtTijd...vrijdag 9 september 2016 @ 11:29
Geen windows server gebruiken?
Darkomenvrijdag 9 september 2016 @ 11:49
quote:
14s.gif Op vrijdag 9 september 2016 11:29 schreef KomtTijd... het volgende:
Geen windows server gebruiken?
Altijd een goede oplossing,echter had deze client een eigen windows server. (van vroeger)
Zit nog te denken aan een voorgebouwde linux VM te leveren of een andere oplossing.
#ANONIEMdinsdag 13 september 2016 @ 00:55
quote:
0s.gif Op vrijdag 9 september 2016 09:32 schreef Darkomen het volgende:
*kuch* STOF *kuch*
Where my PHPeeps at?!

Bij een klant van mij heb ik het probleem dat is_writeable() aangeeft dat een folder niet schrijfbaar is, maar ik kan wel nieuwe bestanden in de folders plaatsen?

IIS users hebben volledige rechten op de folders, iemand een idee?

PHP Version 5.5.34
Windows Server 2012 R2 Datacenter Edition i586
weet je ook zeker dat php rechten heeft op die folder?
Darkomendinsdag 13 september 2016 @ 08:27
Yup, voor zover ik van dit van iis weet.
Alle users in de groep iis_users hebben volledige rechten tot de folder.
Aetherdonderdag 15 september 2016 @ 09:21
The MySQL 8.0.0 Milestone Release is available.
#ANONIEMvrijdag 16 september 2016 @ 03:10
quote:
0s.gif Op dinsdag 13 september 2016 08:27 schreef Darkomen het volgende:
Yup, voor zover ik van dit van iis weet.
Alle users in de groep iis_users hebben volledige rechten tot de folder.
weet je ook zeker dat php onder iis users valt en niet zijn eigen user is?
KomtTijd...vrijdag 16 september 2016 @ 09:30
quote:
En, is die al resistent tegen golunksi's exploit of brengen ze hem gewoon uit met known zero-days die ze in oktober misschien een keer gaan patchen?
Aethervrijdag 16 september 2016 @ 09:46
quote:
14s.gif Op vrijdag 16 september 2016 09:30 schreef KomtTijd... het volgende:

[..]

En, is die al resistent tegen golunksi's exploit of brengen ze hem gewoon uit met known zero-days die ze in oktober misschien een keer gaan patchen?
Dit is geen productieversie ;)
quote:
https://news.ycombinator.com/item?id=12481348

• morgo 3 days ago
Product Manager for the MySQL Server here. Happy to answer questions!

• hdjjhhvvhga 3 days ago
Does this release have the recent SQL code execution bug patched?

• morgo 3 days ago
No.
quote:
• v64 3 days ago
The latest stable release of MySQL is 5.7, no? Why the jump to 8.0?

• morgo 3 days ago
6.0 was a canceled release. 7.x. is used by Cluster. 8.0 makes it easy to follow as "it just drops the 5".


[ Bericht 5% gewijzigd door Aether op 16-09-2016 09:59:27 ]
KomtTijd...vrijdag 16 september 2016 @ 10:08
...maar waarom werk je überhaupt aan nieuwe versies als je niet eens de capaciteit hebt om zero-days te patchen? Ik bedoel, gooi dan gewoon gelijk de handdoek in de ring en accepteer dat je het zoveelste open-source product kapot gemaakt hebt met je wanbeleid.
TwenteFCmaandag 5 december 2016 @ 18:29
Topic weer even tot leven wekken omdat het kan.

|:( Waarom maken (grote) bedrijven api's die gewoon debiel werken?

https://scm.commerceinterface.com/api-doc/v3/#endpoint

Heb het genot om hier mee te werken en dan krijg je een adres i.t.t. de demo terug als "Straatnaam huisnummer" in één veld terwijl je het later voor de adreslabel weer uit elkaar mag trekken.. sommige mensen.. kunnen wij adressen straks alsnog handmatig gaan controleren als er weer een "2e Straatnaam 1944 13-A 3e verdieping van onder" tussenzit. fml.
Scarlet_Dragonflydinsdag 6 december 2016 @ 08:58
quote:
19s.gif Op maandag 5 december 2016 18:29 schreef TwenteFC het volgende:
Topic weer even tot leven wekken omdat het kan.

|:( Waarom maken (grote) bedrijven api's die gewoon debiel werken?

https://scm.commerceinterface.com/api-doc/v3/#endpoint

Heb het genot om hier mee te werken en dan krijg je een adres i.t.t. de demo terug als "Straatnaam huisnummer" in één veld terwijl je het later voor de adreslabel weer uit elkaar mag trekken.. sommige mensen.. kunnen wij adressen straks alsnog handmatig gaan controleren als er weer een "2e Straatnaam 1944 13-A 3e verdieping van onder" tussenzit. fml.
Ik zie geen straatnaam/huisnummer los van elkaar staan in de demo die je daar geeft.
Daarnaast vraag ik me af waarom je ze weer los van elkaar wilt trekken? Hoe/waar ga je dat voor gebruiken? Ga je dan zelf ook rekening houden met adressen waar het huisnummer vóór de straatnaam staat (zoals in de VS)?
TwenteFCdinsdag 6 december 2016 @ 18:59
quote:
0s.gif Op dinsdag 6 december 2016 08:58 schreef Scarlet_Dragonfly het volgende:

[..]

Ik zie geen straatnaam/huisnummer los van elkaar staan in de demo die je daar geeft.
Daarnaast vraag ik me af waarom je ze weer los van elkaar wilt trekken? Hoe/waar ga je dat voor gebruiken? Ga je dan zelf ook rekening houden met adressen waar het huisnummer vóór de straatnaam staat (zoals in de VS)?
Dat is nog het ergste, in de demo niet nee. Bij hen in productie wel.
Het moet losgetrokken worden omdat wij het weer los van elkaar bij postnl moet aanleveren om een adreslabel terug te krijgen.
Lightwoensdag 7 december 2016 @ 21:21
quote:
19s.gif Op maandag 5 december 2016 18:29 schreef TwenteFC het volgende:
Topic weer even tot leven wekken omdat het kan.

|:( Waarom maken (grote) bedrijven api's die gewoon debiel werken?

https://scm.commerceinterface.com/api-doc/v3/#endpoint

Heb het genot om hier mee te werken en dan krijg je een adres i.t.t. de demo terug als "Straatnaam huisnummer" in één veld terwijl je het later voor de adreslabel weer uit elkaar mag trekken.. sommige mensen.. kunnen wij adressen straks alsnog handmatig gaan controleren als er weer een "2e Straatnaam 1944 13-A 3e verdieping van onder" tussenzit. fml.
Ze geven aan dat er 2 regels voor het adres beschikbaar zijn, address1 en address2. Dat in de ene in het voorbeeld alleen het huisnummer staat en in de andere de straatnaam, lijkt me toeval. Ze moeten toch iets om in het voorbeeld beide adresregels te gebruiken.
TwenteFCdonderdag 8 december 2016 @ 18:20
quote:
0s.gif Op woensdag 7 december 2016 21:21 schreef Light het volgende:

[..]

Ze geven aan dat er 2 regels voor het adres beschikbaar zijn, address1 en address2. Dat in de ene in het voorbeeld alleen het huisnummer staat en in de andere de straatnaam, lijkt me toeval. Ze moeten toch iets om in het voorbeeld beide adresregels te gebruiken.
Ze doen ook wel iets, address1 op "Straatnaam 11a" zetten en address2 op null zetten.
:P Vandaar ook dat het mij irriteert, en wat het erger maakt is dat ik 100% zeker weet dat ze het zelf los opslaan ergens.
Lightdonderdag 8 december 2016 @ 18:25
quote:
19s.gif Op donderdag 8 december 2016 18:20 schreef TwenteFC het volgende:

[..]

Ze doen ook wel iets, address1 op "Straatnaam 11a" zetten en address2 op null zetten.
:P Vandaar ook dat het mij irriteert, en wat het erger maakt is dat ik 100% zeker weet dat ze het zelf los opslaan ergens.
Ik heb geen idee wat ze doen, en of ze überhaupt om verschillende velden vragen. Maar je zou natuurlijk bij de aanbieder van de API kunnen informeren of ze huisnummer apart hebben en kunnen aanleveren. Het kan als extra veld, dus dat zou verder geen impact mogen hebben.
Nattekatdonderdag 8 december 2016 @ 18:41
Ik heb ooit een regex mogen maken die rekening moest houden met alle uitzonderingen die er zijn. Nog steeds glipt er af en toe een hele rare doorheen :')

Nou scheelt het gelukkig dat 99% van de adressen gewoon "straatnaam huisnummer toevoeging" zijn.
Monolithdonderdag 8 december 2016 @ 18:48
quote:
1s.gif Op donderdag 8 december 2016 18:41 schreef Nattekat het volgende:
Ik heb ooit een regex mogen maken die rekening moest houden met alle uitzonderingen die er zijn. Nog steeds glipt er af en toe een hele rare doorheen :')

Nou scheelt het gelukkig dat 99% van de adressen gewoon "straatnaam huisnummer toevoeging" zijn.
Een regex is vrij simpel, gewoon .+ :P
Voor validatie of extractie lijkt een regex mij nou niet bepaald de meest geschikte optie.
Als je wilt weten of iets een geldig adres is of er onderdelen uit wilt extraheren, dan kun je beter iets van een search engine of iets dergelijks gebruiken. Ook i.v.m. spelfouten en dergelijke.
Nattekatdonderdag 8 december 2016 @ 18:55
quote:
0s.gif Op donderdag 8 december 2016 18:48 schreef Monolith het volgende:

[..]

Een regex is vrij simpel, gewoon .+ :P
}:|

quote:
Voor validatie of extractie lijkt een regex mij nou niet bepaald de meest geschikte optie.
Als je wilt weten of iets een geldig adres is of er onderdelen uit wilt extraheren, dan kun je beter iets van een search engine of iets dergelijks gebruiken. Ook i.v.m. spelfouten en dergelijke.
Spelfouten zijn niet zo erg. Het is onderdeel van een systeem dat gegevens uit een lijst met verpakte orders haalt en vervolgens op de site van de vervoerder alle velden invult. Die site filtert de eventuele stijlfouten er wel uit, en dan moet het ook nog door en persoon daadwerkelijk verzonden worden.

Voor wat het moet doen, werkt het perfect.
TwenteFCdonderdag 8 december 2016 @ 19:04
quote:
1s.gif Op donderdag 8 december 2016 18:55 schreef Nattekat het volgende:

[..]

}:|

[..]

Spelfouten zijn niet zo erg. Het is onderdeel van een systeem dat gegevens uit een lijst met verpakte orders haalt en vervolgens op de site van de vervoerder alle velden invult. Die site filtert de eventuele stijlfouten er wel uit, en dan moet het ook nog door en persoon daadwerkelijk verzonden worden.

Voor wat het moet doen, werkt het perfect.
Bezig met een gelijksoortig iets, van de api die ik hierboven postte direct door naar de CIF Api van PostNL.Ik zie dat ze sinds kort een nieuw veld hebben "StreetHouseNrExt" dus ik speel hem gewoon direct door nu. Af en toe een boete vanwege een incorrect adres is goedkoper dan alles controleren.

:P Maar ik blijf het raar vinden want dit is ook niet het eerste bedrijf dat dit flikt.

quote:
0s.gif Op donderdag 8 december 2016 18:25 schreef Light het volgende:

[..]

Ik heb geen idee wat ze doen, en of ze überhaupt om verschillende velden vragen. Maar je zou natuurlijk bij de aanbieder van de API kunnen informeren of ze huisnummer apart hebben en kunnen aanleveren. Het kan als extra veld, dus dat zou verder geen impact mogen hebben.
Al gedaan maar was "technisch niet mogelijk" (wat ik altijd een onzin antwoord vind), maarja dan houdt het op.
Monolithdonderdag 8 december 2016 @ 19:06
quote:
1s.gif Op donderdag 8 december 2016 18:55 schreef Nattekat het volgende:

[..]

}:|

[..]

Spelfouten zijn niet zo erg. Het is onderdeel van een systeem dat gegevens uit een lijst met verpakte orders haalt en vervolgens op de site van de vervoerder alle velden invult. Die site filtert de eventuele stijlfouten er wel uit, en dan moet het ook nog door en persoon daadwerkelijk verzonden worden.

Voor wat het moet doen, werkt het perfect.
Als het doet wat het moet doen is het prima natuurlijk. ;)
Vaak zie je bij adressen echter dat het belangrijk is om ook te controleren of het een bestaand adres is en / of wat de bijbehorende locatie / postcode is. Dan is een regex doorgaans niet het juiste middel.
Nattekatdonderdag 8 december 2016 @ 19:09
quote:
1s.gif Op donderdag 8 december 2016 19:06 schreef Monolith het volgende:

[..]

Als het doet wat het moet doen is het prima natuurlijk. ;)
Vaak zie je bij adressen echter dat het belangrijk is om ook te controleren of het een bestaand adres is en / of wat de bijbehorende locatie / postcode is. Dan is een regex doorgaans niet het juiste middel.
Die regex moet de staat, huisnummer en toevoeging onderscheiden. Dat lijkt me wel een belangrijke eerste stap voor je het in wat voor api dan ook gaat gooien.
KomtTijd...donderdag 8 december 2016 @ 19:12
quote:
19s.gif Op donderdag 8 december 2016 19:04 schreef TwenteFC het volgende:


[..]

Al gedaan maar was "technisch niet mogelijk" (wat ik altijd een onzin antwoord vind), maarja dan houdt het op.
Dat is gewoon marketingjargon voor "we willen het niet of we kunnen het niet" ja :')
Monolithdonderdag 8 december 2016 @ 19:14
quote:
1s.gif Op donderdag 8 december 2016 19:09 schreef Nattekat het volgende:

[..]

Die regex moet de staat, huisnummer en toevoeging onderscheiden. Dat lijkt me wel een belangrijke eerste stap voor je het in wat voor api dan ook gaat gooien.
Dat kan, maar als je de boel ik een Lucene index gooit en bijvoorbeeld kijkt naar de Levenshtein distance, dan kun je wel matchen en het daadwerkelijke adres achterhalen. Kun je ook nog allerhande andere tokenization hanteren voor meer opties.
Lightdonderdag 8 december 2016 @ 20:58
quote:
19s.gif Op donderdag 8 december 2016 19:04 schreef TwenteFC het volgende:

[..]

Bezig met een gelijksoortig iets, van de api die ik hierboven postte direct door naar de CIF Api van PostNL.Ik zie dat ze sinds kort een nieuw veld hebben "StreetHouseNrExt" dus ik speel hem gewoon direct door nu. Af en toe een boete vanwege een incorrect adres is goedkoper dan alles controleren.

:P Maar ik blijf het raar vinden want dit is ook niet het eerste bedrijf dat dit flikt.

[..]

Al gedaan maar was "technisch niet mogelijk" (wat ik altijd een onzin antwoord vind), maarja dan houdt het op.
Aan de andere kant heb je te maken met een Amerikaanse(?) organisatie die waarschijnlijk de hele wereld als marktgebied wil. Waarom zou je dan een apart veld maken voor huisnummer? En, zoals ik al aangaf, ik heb geen idee hoe ze het adres aan de (Nederlandse) bezoekers vragen. Als ze gewoon invulveldjes hebben voor 2 adresregels, dan hebben ze de data niet gescheiden.
TwenteFCdonderdag 8 december 2016 @ 21:04
quote:
0s.gif Op donderdag 8 december 2016 20:58 schreef Light het volgende:

[..]

Aan de andere kant heb je te maken met een Amerikaanse(?) organisatie die waarschijnlijk de hele wereld als marktgebied wil. Waarom zou je dan een apart veld maken voor huisnummer? En, zoals ik al aangaf, ik heb geen idee hoe ze het adres aan de (Nederlandse) bezoekers vragen. Als ze gewoon invulveldjes hebben voor 2 adresregels, dan hebben ze de data niet gescheiden.
:P 6zu307Y.png
TwenteFCdonderdag 8 december 2016 @ 21:08
Maar nu dit topic toch weer een beetje leeft, heeft iemand hier wel eens tegen SAP/EDI aangepraat vanuit PHP en dan voornamelijk dingen DESADV/ORDER/INVOICE messages?
Lightdonderdag 8 december 2016 @ 21:09
quote:
19s.gif Op donderdag 8 december 2016 21:04 schreef TwenteFC het volgende:

[..]

:P [ afbeelding ]
Dan lijkt het er idd op dat ze straat en huisnummer apart opslaan. En dan moeten ze het ook apart kunnen aanleveren.
Monolithdonderdag 8 december 2016 @ 21:13
quote:
0s.gif Op donderdag 8 december 2016 21:09 schreef Light het volgende:

[..]

Dan lijkt het er idd op dat ze straat en huisnummer apart opslaan. En dan moeten ze het ook apart kunnen aanleveren.
Er is een aparte invoer. Zegt niet direct iets over de de opslag. ;)
Lightdonderdag 8 december 2016 @ 21:15
quote:
1s.gif Op donderdag 8 december 2016 21:13 schreef Monolith het volgende:

[..]

Er is een aparte invoer. Zegt niet direct iets over de de opslag. ;)
True. Dan moet je eigenlijk bekijken hoe het eruit ziet als je de adresgegevens gaat bewerken.
Lightdonderdag 8 december 2016 @ 21:20
En als we het over adressen hebben, is https://www.mjt.me.uk/pos(...)eve-about-addresses/ wel interessant leesvoer.
xaban06woensdag 28 december 2016 @ 11:01
Ik heb de volgende string: " 84331 GB / 88282 GB avail"
Daaruit wil ik de 2 getallen uit halen. Met awk in bash is dat simpel (awk {'print $1 $4'}), maar PHP kent helaas geen awk. Wat is een (simpele) alternatief, behalve exploden op spaties (kan wel, maar lelijk).
Tijnwoensdag 28 december 2016 @ 11:11
quote:
0s.gif Op woensdag 28 december 2016 11:01 schreef xaban06 het volgende:
Ik heb de volgende string: " 84331 GB / 88282 GB avail"
Daaruit wil ik de 2 getallen uit halen. Met awk in bash is dat simpel (awk {'print $1 $4'}), maar PHP kent helaas geen awk. Wat is een (simpele) alternatief, behalve exploden op spaties (kan wel, maar lelijk).
Er is niks lelijk aan exploden op spatie en vervolgens het 1e en 4e element te pakken, hoor. Dat is in feite hetzelfde als wat je met awk doet.
Nattekatwoensdag 28 december 2016 @ 11:21
Ik ben dan een fan van regex :Y
preg_match in php.
JeSuisDroppiewoensdag 28 december 2016 @ 11:36
Een regex lijkt me duurder qua resources dan een explode.
Scarlet_Dragonflywoensdag 28 december 2016 @ 12:18
Een explode op spaties is precies wat awk onder water doet.
xaban06woensdag 28 december 2016 @ 12:38
Oke oke, dank jullie wel allemaal :)
Skunk-mzondag 1 januari 2017 @ 14:50
Ik snap er geen kut van.. ik heb deze code:

1
2
3
4
5
6
7
8
9
<?php
if(isset($_GET['id'])){
    if(isset(
$_COOKIE['tijden'])){ setcookie("tijden"$_COOKIE['tijden']."s".$_GET['id']."-".time(), time()+(60*60*30)); }else{ setcookie("tijden"$_GET['id']."-".time(), time()+(60*60*30)); }

include(
'incl.php');

echo 
json_encode(array($d[0][0], $d[0][1], $d[0][4]));
}
?>

incl.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$mysqli 
= new mysqli("localhost","root","","r");
if (
$mysqli->connect_errno) echo "Error - Failed to connect to MySQL: " $mysqli->connect_error;
$r $mysqli->query("SELECT * FROM f ORDER BY s DESC");
$d = array();
while(
$row mysqli_fetch_array($r)) {
       
$d[$row[0]] = array($row[0], $row[1], $row[2], $row[3], $row[4]);    
}
mysqli_close ($mysqli);

if(isset(
$_COOKIE['tijden'])){
    
$a explode('s'$_COOKIE['tijden']);
    
$z "";
    foreach(
$a as $b){
        
$c explode('-'$b);
$x $d[$c[0]][4];
        if((
$c[1]+$x) > time()){
            unset(
$d[$c[0]]);
            
$z .= $b."s";
        } 
    }
    
$z substr($z0, -1);
    if(
$z != ""){ setcookie("tijden"$ztime()+(60*60*30)); }else{ setcookie("tijden"""1); };

}
$d array_values($d);
?>

Als er nog geen cookie bestaat en ik geef id=1 of wat dan ook mee dan werkt het dan staat er een cookie genaamd tijden met 1-32435354 oid als ik dan nog een keer laad met id=2 oid dan veranderd er niks, dan blijft de cookie hetzelfde, als ik incl.php niet include, dan doet ie het wel dan heb ik een cookie met 1-23434534s2-34545646 oid
de setcookie onderaan in incl.php werkt wel, dat weet ik omdat als de tijd verstreken is het eruit word gehaald.
Wat is het probleem hier?
zoemzondag 1 januari 2017 @ 15:11
Het zou erg helpen als je je code leesbaarder schrijft (liefst volgens de psr-2 standaard). Schrijf de if statements netjes uit op nieuwe regels en gebruik beschrijvende namen. Je maakt er nu bijna een sport van om zo min mogelijk karakters en regels te gebruiken :P

Random tips:
- Doe een SELECT kolom1, kolom2 FROM ipv SELECT * FROM, zodat je die array(..) constructie niet hoeft te maken
- Gebruik mysqli_fetch_assoc, zodat je niet met vage numerieke indices moet werken
Alfjezondag 1 januari 2017 @ 15:13
Begin eens met het fatsoenlijk indenten van je code, dat maakt het stuk leesbaarder. Het kan ook helpen om je variabelen een naam te geven die aangeeft wat ze voorstellen in plaats van letters.

Het is mij nu een compleet raadsel wat er gebeurt en wat je wilt dat er gebeurt. Als je dingen netjes opschrijft wordt het ook een stuk makkelijker om erover na te denken en te vinden waar je fout zit.
H.Witkampzondag 1 januari 2017 @ 15:42
Je gebruikt setcookie in het bestand incl.php. De setcookie die je voor include('incl.php') gebruikt wordt dan overschreven.

De cookie die je met setcookie zet wordt pas met de volgende request meegestuurd dus de inhoud van $_COOKIE['tijden'] veranderd niet gelijk na setcookie.

Wat je zou kunnen doen is
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(isset($_GET['id'])){
    if(isset(
$_COOKIE['tijden'])){ 
        
$cookie $_COOKIE['tijden']."s".$_GET['id']."-".time();        
     }else{ 
        
$cookie $_GET['id']."-".time();
    }
}

include(
'incl.php');

echo 
json_encode(array($d[0][0], $d[0][1], $d[0][4]));
}
?>

en dan in incl.php $cookie gebruiken ipv $_COOKIE['tijden'].
Alfjezondag 1 januari 2017 @ 15:57
Sorry als mijn post wat negatief overkwam, ik heb je code een beetje herschreven als voorbeeld hoe je dingen leesbaarder kunt maken en makkelijker fouten op kan sporen. Leer jezelf dit aan en je gaat enorm veel tijd en frustratie besparen op langere termijn.

Overigens niet getest:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

const COOKIE_NAME 'tijden';
const 
THIRTY_MINUTES 60 60 30;

if (isset(
$_GET['id'])) {
    
$newEntry $_GET['id'] . "-" time();
    
$prepend = isset($_COOKIE[COOKIE_NAME]) ? $_COOKIE[COOKIE_NAME] . 's' '';
    
$expiryTime time() + THIRTY_MINUTES;
    
setcookie(COOKIE_NAME$prepend $newEntry$expiryTime);

    include(
'incl.php');

    echo 
json_encode(array($data[0][0], $data[0][1], $data[0][4]));
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php

$mysqli 
= new mysqli('localhost''root''''r');

if (
$mysqli->connect_errno) {
    echo 
"Error - Failed to connect to MySQL: " $mysqli->connect_error;
}

$result $mysqli->query('SELECT * FROM f ORDER BY s DESC');

$data = array();
while(
$row mysqli_fetch_array($result)) {
    
$data[$row[0]] = array($row[0], $row[1], $row[2], $row[3], $row[4]);
}
mysqli_close ($mysqli);

if(isset(
$_COOKIE[COOKIE_NAME])){
    
$entries explode('s'$_COOKIE[COOKIE_NAME]);
    
$newCookie '';
    foreach(
$entries as $entry){
        list(
$id$time) = explode('-'$entry);
        
$seconds $data[$id][4];
        if ((
$time $seconds) > time()) {
            unset(
$data[$id]);
            
$newCookie .= $entry 's';
        }
    }
    
// remove last s from newCookie
    
$newCookie substr($newCookie0, -1);

    if (
$newCookie != '') {
        
setcookie(COOKIE_NAME$newCookietime() + THIRTY_MINUTES);
    } else {
        
// unset cookie
        
setcookie(COOKIE_NAME''1);
    }
}
$data array_values($data);
Ik hoop dat je inziet dat het nu al een stuk duidelijker is wat er gebeurt. In php hoef je de afsluit tag niet te gebruiken, het is verstandig dit ook niet te doen, kan rare fouten opleveren als je er per ongeluk een spatie of enter achter hebt staan.

Waar het mis gaat is wat H. Witkamp al aangeeft. Als je setcookie doet dat veranderd dat niet je $_COOKIE array zolang je script nog loopt. Als het script bij de if op regel 17 aankomt is deze dus nog zo als die was aan het begin van je script.
Skunk-mzondag 1 januari 2017 @ 16:33
Iedereen bedankt voor de reacties.

quote:
0s.gif Op zondag 1 januari 2017 15:42 schreef H.Witkamp het volgende:
Je gebruikt setcookie in het bestand incl.php. De setcookie die je voor include('incl.php') gebruikt wordt dan overschreven.

De cookie die je met setcookie zet wordt pas met de volgende request meegestuurd dus de inhoud van $_COOKIE['tijden'] veranderd niet gelijk na setcookie.

Wat je zou kunnen doen is
[ code verwijderd ]

en dan in incl.php $cookie gebruiken ipv $_COOKIE['tijden'].
bedankt, dit was het, hiermee is het opgelost, klinkt logisch al verwachtte ik dat het script wel zou weten dat het veranderd zou moeten zijn omdat ie dat zelf gedaan heeft, misschien als ik $_COOKIE['tijden'] had gebruikt om de waarde aan te passen, had ie dat wel geweten ga ik vanuit, niet geprobeert, dan kan je alleen de verlooptijd niet instellen ga ik vanuit, maar dat gebeurde dan verderop wanneer de cookie weer geset werd, maarja $cookie werkt prima.

quote:
0s.gif Op zondag 1 januari 2017 15:57 schreef Alfje het volgende:
Sorry als mijn post wat negatief overkwam, ik heb je code een beetje herschreven als voorbeeld hoe je dingen leesbaarder kunt maken en makkelijker fouten op kan sporen. Leer jezelf dit aan en je gaat enorm veel tijd en frustratie besparen op langere termijn.

Overigens niet getest:
[ code verwijderd ]

[ code verwijderd ]

Ik hoop dat je inziet dat het nu al een stuk duidelijker is wat er gebeurt. In php hoef je de afsluit tag niet te gebruiken, het is verstandig dit ook niet te doen, kan rare fouten opleveren als je er per ongeluk een spatie of enter achter hebt staan.

Waar het mis gaat is wat H. Witkamp al aangeeft. Als je setcookie doet dat veranderd dat niet je $_COOKIE array zolang je script nog loopt. Als het script bij de if op regel 17 aankomt is deze dus nog zo als die was aan het begin van je script.
Ja ik weet het, mijn autistische hoofd blokkeert als ik een naam moet bedenken voor zo'n ding dus gebruik ik gewoon een random letter uit het alfabet, zodat ik door kan, meestal beginnende bij abcd en als ik niet meer weet wat de laatste letter was gebruik ik zxy etc. of ga ik 2 letters gebruiken, heb er persoonlijk niet al teveel last van maar kan me voorstellen dat als iemand anders kijkt ie denkt wat heb jij er nou weer neergekwakt, alleen als ik oude scipts van mezelf van jaren terug bekijk snap ik er niet direct veel van, maar of dat met fatsonelijke benamingen veel zou schelen betwijfel ik, want ik begrijp ze nog altijd sneller als het gemiddelde door iemand anders gemaakte script, omdat het toch nog ergens in mn geheugen zit, maar ik zal eraan proberen te werken.

Dat van de afsluittag wist ik niet, hoezo zou je fouten krijgen als je er een spatie of enter achter hebt staan? je kunt toch gewoon php afsluiten en dan html erachter poten en eventueel later weer php openen. ik weet niet wat voor een fouten daardoor moeten komen.
Alfjezondag 1 januari 2017 @ 17:36
quote:
Dat van de afsluittag wist ik niet, hoezo zou je fouten krijgen als je er een spatie of enter achter hebt staan? je kunt toch gewoon php afsluiten en dan html erachter poten en eventueel later weer php openen. ik weet niet wat voor een fouten daardoor moeten komen.
Als je headers mee wilt sturen met je response moet je die headers altijd sturen voordat je andere output genereert anders krijg je een foutmelding. Als je in bestanden die verder geen html ofzo bevatten een afsluittag zet en daarachter per ongeluk een spatie of enter dan ga je al output genereren. Als je dan heel ergens anders verderop een header wilt sturen krijg je een fout en die is verdomd lastig op te sporen.
KomtTijd...zondag 1 januari 2017 @ 19:04
Psr2 stelt sowieso dat pure-php bestanden geen closingtags mogen bevatten. Het is ook ontzettend lelijk want ofwel je kunt je document niet afsluiten met een newline, ofwel je krijgt headers already sent problemen.
Skunk-mzondag 1 januari 2017 @ 21:19
Dat is allemaal nieuw voor mij ik dacht zelfs dat het verplicht was om af te sluiten, maarja bedankt voor de info.
snorvanJohanDerksenzaterdag 18 februari 2017 @ 21:40
Zouden jullie mij kunnen helpen? Ik wil een functie programmeren die de eerste circa 150 woorden van een artikel op de home pagina zet (à la GeenStijl). Hoe pak ik dit aan?
BrainOverfloWzaterdag 18 februari 2017 @ 22:23
quote:
0s.gif Op zaterdag 18 februari 2017 21:40 schreef snorvanJohanDerksen het volgende:
Zouden jullie mij kunnen helpen? Ik wil een functie programmeren die de eerste circa 150 woorden van een artikel op de home pagina zet (à la GeenStijl). Hoe pak ik dit aan?
Dat zou je met de volgende paar regels kunnen doen.

1
2
3
4
5
6
7
8
9
10
11
function limitWords($text, $limit)
{    
    //Breek de tekst in array van woorden
    $words = explode(" ", $text);

    //Pak de woorden vanaf het begin van de tekst tot aan het limiet
    $words = array_slice($words, 0, $limit);

    //Plak de overgebleven woorden weer aan elkaar tot een tekst.
    return implode(" ", $words);
}
Skunk-mzaterdag 18 februari 2017 @ 23:55
Ik kan niet zo snel een java topic vinden, maar waarom is java zo belachelijk ingewikkeld vergeleken met php/mysql/html/javascript.

Ik wou java gaan leren om beetje te kloten met het maken van android apps, ben nou een of andere tutorial van tweakers aan het volgen, maar het ziet er ten eerste allemaal onnodig ingewikkeld uit en bij die tweakers zo nu en dan challenges (dat hoort erbij) die echt totaal niks te maken hebben met wat je al gedaan hebt, en het grootste probleem nu even, is dat de code die hij krijgt als ie een standaard layout ding kiest totaal anders is als wat ik krijg (ziet er bij hem in mijn ogen stuk simpeler uit, maar uiteraard nog steeds ingewikkeld wat inherent is aan java in mijn noob-ogen) maar daar schiet ik dus verder niet heel veel mee op.

Maar heeft iemand een fatsoenlijke java/android tutorial? ik heb in php ook nog nooit OOP gedaan.
Het liefst zoals vroeger op school dat je wat lesmateriaal krijgt en tussendoor wat opdrachtjes, maar die moeten dan wel te maken hebben met wat je tot dan toe hebt geleerd uiteraard.

[ Bericht 50% gewijzigd door Skunk-m op 19-02-2017 00:01:09 ]
FlippingCoinzondag 19 februari 2017 @ 00:00
quote:
0s.gif Op zaterdag 18 februari 2017 23:55 schreef Skunk-m het volgende:
Ik kan niet zo snel een java topic vinden, maar waarom is java zo belachelijk ingewikkeld vergeleken met php/mysql/html/javascript.

Ik wou java gaan leren om beetje te kloten met het maken van android apps, ben nou een of andere tutorial van tweakers aan het volgen, maar het ziet er ten eerste allemaal onnodig ingewikkeld uit en bij die tweakers zo nu en dan challenges (dat hoort erbij) die echt totaal niks te maken hebben met wat je al gedaan hebt, en het grootste probleem nu even, is dat de code die hij krijgt als ie een standaard layout ding kiest totaal anders is als wat ik krijg (ziet er bij hem in mijn ogen stuk simpeler uit, maar uiteraard nog steeds ingewikkeld wat inherent is aan java in mijn noob-ogen) maar daar schiet ik dus verder niet heel veel mee op.

Maar heeft iemand een fatsoenlijke java/android tutorial? ik heb in php ook nog nooit OOP gedaan.
Het liefst zoals vroeger op school dat je wat lesmateriaal krijgt en tussendoor wat opdrachtjes, maar die moeten dan wel te maken hebben met wat je tot dan toe hebt geleerd uiteraard.
Met als je de OO principes nog niet snapt, zou ik beginnen met de basis van datastructuren et cetera, dit hoeft niet lang te duren maar dan snap je tenminste wat je doet.
Skunk-mzondag 19 februari 2017 @ 00:03
quote:
1s.gif Op zondag 19 februari 2017 00:00 schreef FlippingCoin het volgende:

[..]

Met als je de OO principes nog niet snapt, zou ik beginnen met de basis van datastructuren et cetera, dit hoeft niet lang te duren maar dan snap je tenminste wat je doet.
kheb paar weken terug tutorialtje gevolgd voor oop met php, in php weet ik wel hoe ik een class gebruik enzo, maar classes maken en de reden ervoor enzo dat begrijp ik niet helemaal ofzo, kan ik mn hersens nog niet omheen binden of hoe zeg je dat. maar ik heb nou een torrentje gedownload genaamd: intro to java programming by udacity
ff kijken of dat wat is.

EDIT: zie nu een andere torrent met tutorial, ook van udacity genaamd developing android apps.. misschien is dat een betere voor mijn doeleinden.
KomtTijd...zondag 19 februari 2017 @ 01:39
quote:
0s.gif Op zondag 19 februari 2017 00:03 schreef Skunk-m het volgende:

[..]

kheb paar weken terug tutorialtje gevolgd voor oop met php, in php weet ik wel hoe ik een class gebruik enzo, maar classes maken en de reden ervoor enzo dat begrijp ik niet helemaal ofzo, kan ik mn hersens nog niet omheen binden of hoe zeg je dat.
Als je dat niet begrijpt, weet je ook nog niet hoe je het gebruikt.

Het kan inderdaad in het begin vrij ingewikkeld overkomen (been there, done that). Het echte voordeel ga je pas merken bij wat grotere applicaties. Als je duizenden regels procedurele code onder elkaar hebt, wordt het echt chaos. OOP is basically een manier om je code te groeperen in stukken met een bepaalde verantwoordelijkheid. Zodat je structuur aan kunt brengen en het júíst begrijpelijk en leesbaar blijft.
Zonder die structuur is OOP ook weinig waard. Dus zomaar je procedurele code in een class zetten heeft ook weinig nut.

Stel je hebt een class Fruit, met een method getColor() en return type string. Dan hoef je de code daarin niet eens meer te lezen, je weet al precies wat die method doet en waarvoor je hem kunt gebruiken.
Bij procedure code ontbreekt die context waardoor je de code zelf moet gaan ontcijferen en de kans uiteindelijk groot is dat je het maar opnieuw typt. Als je codebase wat groter wordt of je met meerdere mensen samenwerkt, kun je je dat gewoon niet meer permitteren. Daarnaast, naarmate je het programmeren beter in de vingers krijgt, ben je verhoudingsgewijs steeds minder tijd kwijt aan het bedenken/typen van de code zelf, en steeds meer aan het lezen en interpreteren van bestaande code. Dan is die context ook cruciaal.

Tot zover het belang, hoe het werkt kun je veel beter van zo'n tutorial leren dan van mij, dus dat laat ik achterwege.
FlippingCoinzondag 19 februari 2017 @ 01:52
quote:
0s.gif Op zondag 19 februari 2017 00:03 schreef Skunk-m het volgende:

[..]

kheb paar weken terug tutorialtje gevolgd voor oop met php, in php weet ik wel hoe ik een class gebruik enzo, maar classes maken en de reden ervoor enzo dat begrijp ik niet helemaal ofzo, kan ik mn hersens nog niet omheen binden of hoe zeg je dat. maar ik heb nou een torrentje gedownload genaamd: intro to java programming by udacity
ff kijken of dat wat is.

EDIT: zie nu een andere torrent met tutorial, ook van udacity genaamd developing android apps.. misschien is dat een betere voor mijn doeleinden.
Zelf leer ik het liefst uit een boek, maar dat is compleet persoonlijk.

Verder heeft een klasse voor een beginnend programmeur twee doelen, enerzijds fungeert het als een blauwdruk en anderzijds als een logische afscheiding.

Stel je wilt een aantal fietsen maken, een stuk of twintig met een bepaald frame en ze moeten kunnen rijden, dan ga je niet iedere keer maar wat aankloten, maar maak je een keer een ontwerp wat je vervolgens volgt. In java maak je dus de klasse fiets met de vorm van het frame en de grootte van de wielen en manier waarop die rijd, nu kan je zoveel fietsen(objecten) maken als je wilt en weet je dat ze kunnen rijden(methode).

Het tweede nut, de logische afscheiding, als je een klasse voor een fiets maakt, dan kan je hier het gedrag(methoden) en andere eigenschappen van een fiets plaatsen en verwachten.
Lightzondag 19 februari 2017 @ 02:10
quote:
0s.gif Op zaterdag 18 februari 2017 22:23 schreef BrainOverfloW het volgende:

[..]

Dat zou je met de volgende paar regels kunnen doen.
[ code verwijderd ]

Waarom gebruik je de limit parameter van explode niet? Dan krijg je een kleinere array terug, heb je splice ook niet meer nodig.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
/**
 * @param string $text
 * @param int $limit
 * @return string
 */
function limitWords($text$limit)
{    
    
// Breek de tekst in array met $limit woorden (+ 1 voor de rest van de woorden in $text)
    
$words explode(' '$text$limit 1);

    
// Gooi de rest van de tekst weg, zodat er maximaal $limit woorden over blijven.
    // Dit gaat ook goed als $text minder dan $limit woorden bevat.
    
unset($words[$limit]);

    
//Plak de overgebleven woorden weer aan elkaar tot een tekst.
    
return implode(' '$words);
}
?>


[ Bericht 1% gewijzigd door Light op 19-02-2017 16:56:44 ]
mstxzondag 19 februari 2017 @ 08:11
quote:
1s.gif Op zondag 19 februari 2017 01:52 schreef FlippingCoin het volgende:
Verder heeft een klasse voor een beginnend programmeur twee doelen, enerzijds fungeert het als een blauwdruk en anderzijds als een logische afscheiding.
Daar heb je dan weer interfaces voor. O-)
FlippingCoinzondag 19 februari 2017 @ 11:35
quote:
1s.gif Op zondag 19 februari 2017 08:11 schreef mstx het volgende:

[..]

Daar heb je dan weer interfaces voor. O-)
Een interface is in mijn belevenis weer meer een contract waarin je afspreekt wat iets doet en wat het teruggeeft en nodig heeft, maar het niet boeit hoe het gebeurt.
zoemzondag 19 februari 2017 @ 12:44
quote:
1s.gif Op zondag 19 februari 2017 08:11 schreef mstx het volgende:

[..]

Daar heb je dan weer interfaces voor. O-)
De klasse ís de blauwdruk. Interfaces zijn net als overerving, traits, etc onderdelen van die blauwdruk.
snorvanJohanDerksenzondag 19 februari 2017 @ 13:20
quote:
0s.gif Op zaterdag 18 februari 2017 22:23 schreef BrainOverfloW het volgende:

[..]

Dat zou je met de volgende paar regels kunnen doen.
[ code verwijderd ]

Bedankt held
BrainOverfloWzondag 19 februari 2017 @ 16:21
quote:
0s.gif Op zondag 19 februari 2017 02:10 schreef Light het volgende:

[..]

Waarom gebruik je de limit parameter van explode niet? Dan krijg je een kleinere array terug, heb je splice ook niet meer nodig.
[ code verwijderd ]

Omdat ik daar simpelweg niet aan gedacht heb. Zoals altijd zijn er meerdere manieren om probleem op te lossen.

Echter zou ik zelf toch voor mijn oplossing blijven kiezen. Want hoewel je geen splice nodig hebt, heb je wel die unset nodig, dus qua regels code levert het je geen voordeel op.

Je krijgt er echter wel de onhandigheid voor terug dat arrays op positie 0 beginnen, terwijl de limit parameter vanaf 1 telt. Hierdoor moet je met '$limit + 1' gaan klooien om de juiste limiet te krijgen.

Je moet er dan echter wel weer bij stil staan dat door de 0 telling van de array het element met de af te knippen tekst een key heeft gelijk aan '$limit', niet aan '$limit + 1'. Anders word de rest van de tekst er weer vrolijk aangeplakt. Iets wat in jouw voorbeeld dus gebeurt is ;)

De mogelijkheid dat $words minder elementen heeft dan de $limit is geen issue aangezien array_slice dan gewoon alle elementen terug geeft.

Dat je zonder limiet op je explode een grotere array terug krijgt lijkt me ook niet echt een issue als je de overbodige elementen er de volgende regel toch uit gooit en tenzij je de complete werken van Shakespear wil gaan exploden zal het qua performance ook geen merkbaar verschil hebben schat ik zo in.
Lightzondag 19 februari 2017 @ 16:41
quote:
0s.gif Op zondag 19 februari 2017 16:21 schreef BrainOverfloW het volgende:

[..]

Omdat ik daar simpelweg niet aan gedacht heb. Zoals altijd zijn er meerdere manieren om probleem op te lossen.

Echter zou ik zelf toch voor mijn oplossing blijven kiezen. Want hoewel je geen splice nodig hebt, heb je wel die unset nodig, dus qua regels code levert het je geen voordeel op.

Je krijgt er echter wel de onhandigheid voor terug dat arrays op positie 0 beginnen, terwijl de limit parameter vanaf 1 telt. Hierdoor moet je met '$limit + 1' gaan klooien om de juiste limiet te krijgen.

Je moet er dan echter wel weer bij stil staan dat door de 0 telling van de array het element met de af te knippen tekst een key heeft gelijk aan '$limit', niet aan '$limit + 1'. Anders word de rest van de tekst er weer vrolijk aangeplakt. Iets wat in jouw voorbeeld dus gebeurt is ;)
Heb ik toch niet goed genoeg opgelet :(
quote:
De mogelijkheid dat $words minder elementen heeft dan de $limit is geen issue aangezien array_slice dan gewoon alle elementen terug geeft.

Dat je zonder limiet op je explode een grotere array terug krijgt lijkt me ook niet echt een issue als je de overbodige elementen er de volgende regel toch uit gooit en tenzij je de complete werken van Shakespear wil gaan exploden zal het qua performance ook geen merkbaar verschil hebben schat ik zo in.
Als het gaat om de complete werken van Shakespeare zou ik niet gaan afkappen op een aantal woorden, maar op een aantal letters (en dan terugzoeken naar de laatste spatie).
EDMAN-donderdag 9 maart 2017 @ 10:47
MySQL n00b hier met een vraagje.

Ik heb 1 tabel 'Verpakkingen' met 60,000 artikelen. Één artikelnummer kan verschillende verpakkingen hebben uiteraard:
Artikel nummer 1. Artikelverpakking: Doos, Container, Fles, Box
D.w.z.: 4 regels met hetzelfde nummer.

Hoe kan ik hier 1 regel van maken?
Artikelnummer 1 - Doos, Container, Fles, Box
Artikelnummer 2 - Fles, Doos
etc.

Dank alvast
mstxdonderdag 9 maart 2017 @ 12:33
quote:
0s.gif Op donderdag 9 maart 2017 10:47 schreef EDMAN- het volgende:
MySQL n00b hier met een vraagje.

Ik heb 1 tabel 'Verpakkingen' met 60,000 artikelen. Één artikelnummer kan verschillende verpakkingen hebben uiteraard:
Artikel nummer 1. Artikelverpakking: Doos, Container, Fles, Box
D.w.z.: 4 regels met hetzelfde nummer.

Hoe kan ik hier 1 regel van maken?
Artikelnummer 1 - Doos, Container, Fles, Box
Artikelnummer 2 - Fles, Doos
etc.

Dank alvast
https://dev.mysql.com/doc(...)unction_group-concat
EDMAN-donderdag 9 maart 2017 @ 13:27
quote:
Thanks! Daar heb ik ook zitten kijken, maar kwam er niet helemaal uit. Nu een halfbakken oplossing (alles in 1 veld met scheidingsteken) naar de collega gestuurd. In excel kan hij er wel losse velden van maken.

Vraag:
Klant wil 1 artikelnummer per regel, met daarachter de gegevens

Eerst function aangemaakt: ArtVerpList

Go
ALTER Function dbo.ArtVerpList(@Artikelnummer as varchar(25))
RETURNS varchar(MAX)
AS
BEGIN
DECLARE @List varchar(100)
SELECT @List = COALESCE(@List + ' | ', '') +
CAST(Verpakking AS varchar(15)) + ', ' + CAST(Gewicht as varchar(20)) + ', ' + CAST(Factor as varchar(20))
FROM ArtikelVerpakkingen
WHERE Artikelnummer=@Artikelnummer
ORDER BY Verpakking

RETURN @List
END
GO

SELECT Artikelnummer, Verpakkingen=dbo.ArtVerpList(Artikelnummer)
FROM ArtikelVerpakkingen
GROUP BY Artikelnummer
ORDER BY Artikelnummer

Uitkomst:
Artikelnummer Verpakkingen
000001 ST, 0.00, 1.00
000002 M2, 213.00, 1.00 | ST, 213.00, 1.00
000003 ST, 600.00, 1.00
000004 LG, 108.00, 60.00 | M2, 135.00, 76.00 | PAK, 1080.00, 600.00 | ST, 1.80, 1.00
mstxdonderdag 9 maart 2017 @ 15:09
quote:
0s.gif Op donderdag 9 maart 2017 13:27 schreef EDMAN- het volgende:

[..]

Thanks! Daar heb ik ook zitten kijken, maar kwam er niet helemaal uit. Nu een halfbakken oplossing (alles in 1 veld met scheidingsteken) naar de collega gestuurd. In excel kan hij er wel losse velden van maken.

Vraag:
Klant wil 1 artikelnummer per regel, met daarachter de gegevens

Eerst function aangemaakt: ArtVerpList

Go
ALTER Function dbo.ArtVerpList(@Artikelnummer as varchar(25))
RETURNS varchar(MAX)
AS
BEGIN
DECLARE @List varchar(100)
SELECT @List = COALESCE(@List + ' | ', '') +
CAST(Verpakking AS varchar(15)) + ', ' + CAST(Gewicht as varchar(20)) + ', ' + CAST(Factor as varchar(20))
FROM ArtikelVerpakkingen
WHERE Artikelnummer=@Artikelnummer
ORDER BY Verpakking

RETURN @List
END
GO

SELECT Artikelnummer, Verpakkingen=dbo.ArtVerpList(Artikelnummer)
FROM ArtikelVerpakkingen
GROUP BY Artikelnummer
ORDER BY Artikelnummer

Uitkomst:
Artikelnummer Verpakkingen
000001 ST, 0.00, 1.00
000002 M2, 213.00, 1.00 | ST, 213.00, 1.00
000003 ST, 600.00, 1.00
000004 LG, 108.00, 60.00 | M2, 135.00, 76.00 | PAK, 1080.00, 600.00 | ST, 1.80, 1.00
Zo te zien is dit MS SQL? Dan is het niet zo gek dat MySQL functies niet werken.
EDMAN-donderdag 9 maart 2017 @ 15:14
quote:
1s.gif Op donderdag 9 maart 2017 15:09 schreef mstx het volgende:

[..]

Zo te zien is dit MS SQL? Dan is het niet zo gek dat MySQL functies niet werken.
Zoals gezegd, ben een n00b. Ik dacht dat hetzelfde was
mstxdonderdag 9 maart 2017 @ 15:48
quote:
0s.gif Op donderdag 9 maart 2017 15:14 schreef EDMAN- het volgende:

[..]

Zoals gezegd, ben een n00b. Ik dacht dat hetzelfde was
Nee de basis SQL-functies zoals SELECT/UPDATE/INSERT zijn vaak het zelfde, maar daar houden de overeenkomsten tussen de verschillende implementaties (MySQL/MSSQL/Postgres etc) wel ongeveer op :P

https://en.m.wikibooks.org/wiki/SQL_Dialects_Reference
BrainOverfloWvrijdag 28 april 2017 @ 15:28
Even een vraagje over het gebruik van Git. Hoewel dat hier een beetje off-topic ligt, gok ik er op dat er hier wel ontwikkelaars tussen zitten die ook Git gebruiken.

Als ik in een bestaande branch werk kan ik mijn update naar remote sturen met
1git push

werk ik echter in een nieuwe branch die nog nooit naar remote gestuurd is moet ik deze aanmaken met:
1git push --set-upstream origin <branchName>

Bestaat er een enkel commando dat zegt, push naar brach, als deze niet bestaat, maak de branch automatisch aan?
KomtTijd...zaterdag 29 april 2017 @ 00:17
Die ken ik niet. Maar thefuck komt er aardig in de buurt: https://github.com/nvbn/thefuck
FlippingCoinzaterdag 29 april 2017 @ 00:20
quote:
0s.gif Op vrijdag 28 april 2017 15:28 schreef BrainOverfloW het volgende:
Even een vraagje over het gebruik van Git. Hoewel dat hier een beetje off-topic ligt, gok ik er op dat er hier wel ontwikkelaars tussen zitten die ook Git gebruiken.

Als ik in een bestaande branch werk kan ik mijn update naar remote sturen met
[ code verwijderd ]

werk ik echter in een nieuwe branch die nog nooit naar remote gestuurd is moet ik deze aanmaken met:
[ code verwijderd ]

Bestaat er een enkel commando dat zegt, push naar brach, als deze niet bestaat, maak de branch automatisch aan?
Je kan toch gewoon git checkout -b branchnaam doen en deze dan pushen naar origin?
BrainOverfloWzaterdag 29 april 2017 @ 00:41
quote:
1s.gif Op zaterdag 29 april 2017 00:20 schreef FlippingCoin het volgende:

[..]

Je kan toch gewoon git checkout -b branchnaam doen en deze dan pushen naar origin?
Als ik dat doe met een branch die nog niet bestaat op origin, krijg ik een melding dat ik die branch via de set-upstream aan moet maken op origin.

Het leek mij handig om één commando onder mijn alias te hebben die pushed ongeacht of die branch die ik wil pushen al bestaat op origin of nog aangemaakt moet worden.
BrainOverfloWzaterdag 29 april 2017 @ 00:43
quote:
14s.gif Op zaterdag 29 april 2017 00:17 schreef KomtTijd... het volgende:
Die ken ik niet. Maar thefuck komt er aardig in de buurt: https://github.com/nvbn/thefuck
Die lijkt sowieso wel handig en leuk gevonden.
FlippingCoinzaterdag 29 april 2017 @ 00:45
quote:
0s.gif Op zaterdag 29 april 2017 00:41 schreef BrainOverfloW het volgende:

[..]

Als ik dat doe met een branch die nog niet bestaat op origin, krijg ik een melding dat ik die branch via de set-upstream aan moet maken op origin.

Het leek mij handig om één commando onder mijn alias te hebben die pushed ongeacht of die branch die ik wil pushen al bestaat op origin of nog aangemaakt moet worden.
Lijkt mij veel moeit voor weinig, zo vaak maak je nou ook weer niet een branch aan, en het scheelt een commando.
BrainOverfloWzaterdag 29 april 2017 @ 01:13
quote:
1s.gif Op zaterdag 29 april 2017 00:45 schreef FlippingCoin het volgende:

[..]

Lijkt mij veel moeit voor weinig, zo vaak maak je nou ook weer niet een branch aan, en het scheelt een commando.
Ik vind het interessant om mijn workflow zo vloeiend mogelijk te krijgen. Als er zo'n commando geweest zou zijn had ik die in mijn aliasses om kunnen wisselen en was ik weer een stap kwijt juist zonder veel moeite te hoeven doen.

Sowieso ligt je hoeveelheid nieuwe branches ook maar net aan je werkwijze. Ik heb vaak een grotere feature waar ik enkele dagen/weken aan werk. In de tussentijd komen er dan kleinere features, wijzigingen en bugfixes voorbij die ik dan in losse branches bouw en naar de server push. Dus ik zit makkelijk op meerdere branches per week.
Losse bugfixes, aanpassingen en nieuwe kleine features waar ik
FlippingCoinzaterdag 29 april 2017 @ 01:14
quote:
0s.gif Op zaterdag 29 april 2017 01:13 schreef BrainOverfloW het volgende:

[..]

Ik vind het interessant om mijn workflow zo vloeiend mogelijk te krijgen. Als er zo'n commando geweest zou zijn had ik die in mijn aliasses om kunnen wisselen en was ik weer een stap kwijt juist zonder veel moeite te hoeven doen.

Sowieso ligt je hoeveelheid nieuwe branches ook maar net aan je werkwijze. Ik heb vaak een grotere feature waar ik enkele dagen/weken aan werk. In de tussentijd komen er dan kleinere features, wijzigingen en bugfixes voorbij die ik dan in losse branches bouw en naar de server push. Dus ik zit makkelijk op meerdere branches per week.
Losse bugfixes, aanpassingen en nieuwe kleine features waar ik
Ja ik werk ook vaak met verschillende branches, en een workflow optimaliseren is wel cool inderdaad. Heb je al automated building en testing et cetera?
BrainOverfloWzaterdag 29 april 2017 @ 01:18
quote:
1s.gif Op zaterdag 29 april 2017 01:14 schreef FlippingCoin het volgende:

[..]

Ja ik werk ook vaak met verschillende branches, en een workflow optimaliseren is wel cool inderdaad. Heb je al automated building en testing et cetera?
Ja we hebben al scripts via Gulp en Webpack draaien die alle asset afhandeling doet en zo. Momenteel ben ik nog bezig om testing goed onder de knie te krijgen.
FlippingCoinzaterdag 29 april 2017 @ 01:27
quote:
0s.gif Op zaterdag 29 april 2017 01:18 schreef BrainOverfloW het volgende:

[..]

Ja we hebben al scripts via Gulp en Webpack draaien die alle asset afhandeling doet en zo. Momenteel ben ik nog bezig om testing goed onder de knie te krijgen.
Ah, ik laat nu het compilen, testen en deployen door Jenkins regelen, verder nog niet veel gekeken wat er nog meer mogelijk is.
Monolithzaterdag 29 april 2017 @ 11:02
quote:
1s.gif Op zaterdag 29 april 2017 01:27 schreef FlippingCoin het volgende:

[..]

Ah, ik laat nu het compilen, testen en deployen door Jenkins regelen, verder nog niet veel gekeken wat er nog meer mogelijk is.
Jenkins en build tools als gulp en webpack vullen elkaar aan.
Blue Ocean is overigens net gereleased, dat is wel een behoorlijke (UI) upgrade die het veel makkelijker maakt om build pipelines te maken.
Chandlerzaterdag 20 mei 2017 @ 16:15
Hey all, alweer een tijdje geleden dat ik een vraagje had maar nu heb ik er weer 1

Ik gebruik deze regex voor urls parsen

RewriteRule ^huisje/([^/.]+)/([^/.]+)/([^/.]+)?.html$

de eerste regex is voor provincie
2e is voor stad
3e is voor de naam.

Echter komt er in de stad wel eens een slash (/) voor, hoe moet ik hier mee omgaan? want de URL's werken niet met deze regex en logisch gezien ook niet anders... Hoe zouden jullie dit aanpakken?
Monolithzaterdag 20 mei 2017 @ 16:36
quote:
0s.gif Op zaterdag 20 mei 2017 16:15 schreef Chandler het volgende:
Hey all, alweer een tijdje geleden dat ik een vraagje had maar nu heb ik er weer 1

Ik gebruik deze regex voor urls parsen

RewriteRule ^huisje/([^/.]+)/([^/.]+)/([^/.]+)?.html$

de eerste regex is voor provincie
2e is voor stad
3e is voor de naam.

Echter komt er in de stad wel eens een slash (/) voor, hoe moet ik hier mee omgaan? want de URL's werken niet met deze regex en logisch gezien ook niet anders... Hoe zouden jullie dit aanpakken?
Gebruik maken van url encoding.
Lightzaterdag 20 mei 2017 @ 21:23
quote:
0s.gif Op zaterdag 20 mei 2017 16:15 schreef Chandler het volgende:
Hey all, alweer een tijdje geleden dat ik een vraagje had maar nu heb ik er weer 1

Ik gebruik deze regex voor urls parsen

RewriteRule ^huisje/([^/.]+)/([^/.]+)/([^/.]+)?.html$

de eerste regex is voor provincie
2e is voor stad
3e is voor de naam.

Echter komt er in de stad wel eens een slash (/) voor, hoe moet ik hier mee omgaan? want de URL's werken niet met deze regex en logisch gezien ook niet anders... Hoe zouden jullie dit aanpakken?
Een plaatsnaam met een slash? Hebben we die in Nederland?
Chandlerzondag 21 mei 2017 @ 09:59
quote:
1s.gif Op zaterdag 20 mei 2017 16:36 schreef Monolith het volgende:

[..]

Gebruik maken van url encoding.
Dat doe ik reeds, maar helaas geeft dat niet de oplossing.

@Light: blijkbaar in Duitsland...
zoemzondag 21 mei 2017 @ 10:14
quote:
0s.gif Op zaterdag 20 mei 2017 16:15 schreef Chandler het volgende:
Hey all, alweer een tijdje geleden dat ik een vraagje had maar nu heb ik er weer 1

Ik gebruik deze regex voor urls parsen

RewriteRule ^huisje/([^/.]+)/([^/.]+)/([^/.]+)?.html$

de eerste regex is voor provincie
2e is voor stad
3e is voor de naam.

Echter komt er in de stad wel eens een slash (/) voor, hoe moet ik hier mee omgaan? want de URL's werken niet met deze regex en logisch gezien ook niet anders... Hoe zouden jullie dit aanpakken?
Misschien loop je hier tegenaan mbt encoded slashes.

Is het noodzakelijk om met mod_rewrite de parameters te ontfutselen? Ik zou gewoon alle ^huisje/(.+) urls redirecten naar je app en het daar verder afhandelen.
mscholzondag 21 mei 2017 @ 10:18
quote:
0s.gif Op zondag 21 mei 2017 09:59 schreef Chandler het volgende:

[..]

Dat doe ik reeds, maar helaas geeft dat niet de oplossing.

@Light: blijkbaar in Duitsland...
ik heb dat nog nooit voorbij zien komen, heb je een voorbeeldje?

kan je de / niet vervangen door een -?
Chandlerzondag 21 mei 2017 @ 10:46
quote:
0s.gif Op zondag 21 mei 2017 10:14 schreef zoem het volgende:
Misschien loop je hier tegenaan mbt encoded slashes.
Dat is inderdaad het probleem!! en daarvoor moet ik dus een 'oplossing' zoeken...

Wat is nu wijsheid.... database aanpassen mbt / (kan ik natuurlijk bij opbouw van deze database vervangen door een andere teken) of.....

quote:
1s.gif Op zondag 21 mei 2017 10:18 schreef mschol het volgende:
ik heb dat nog nooit voorbij zien komen, heb je een voorbeeldje?

kan je de / niet vervangen door een -?
Lanitz-Hassel-Tal / Spielberg is een voorbeeld naam... en idd ik denk dat ik die naam maar moet veranderen....
Lightzondag 21 mei 2017 @ 10:52
quote:
0s.gif Op zondag 21 mei 2017 09:59 schreef Chandler het volgende:

[..]

Dat doe ik reeds, maar helaas geeft dat niet de oplossing.

@Light: blijkbaar in Duitsland...
Ah, daar wel, bijvoorbeeld Frankfurt/Main en Frankfurt/Oder.
zoemzondag 21 mei 2017 @ 10:53
Het lijkt me onwaarschijnlijk dat er naast een "Lanitz-Hassel-Tal / Spielberg" ook een "Lanitz-Hassel-Tal - Spielberg" bestaat, dus je zou de slash kunnen vervangen inderdaad. Aan de andere kant zijn er zo bizar veel gekke uitzonderingen op adresgegevens, dus aannames mbt adresgegevens zijn ook tricky.
Lightzondag 21 mei 2017 @ 10:54
quote:
0s.gif Op zondag 21 mei 2017 10:46 schreef Chandler het volgende:

[..]

Dat is inderdaad het probleem!! en daarvoor moet ik dus een 'oplossing' zoeken...

Wat is nu wijsheid.... database aanpassen mbt / (kan ik natuurlijk bij opbouw van deze database vervangen door een andere teken) of.....

[..]

Lanitz-Hassel-Tal / Spielberg is een voorbeeld naam... en idd ik denk dat ik die naam maar moet veranderen....
Een ander teken gebruiken lijkt me niet handig, dat zorgt voor verwarring bij de gebruikers. Wat zoem verder voorstelde, de afhandeling (grotendeels) naar php verplaatsen, lijkt me handiger.
Monolithzondag 21 mei 2017 @ 11:05
quote:
0s.gif Op zondag 21 mei 2017 10:54 schreef Light het volgende:

[..]

Een ander teken gebruiken lijkt me niet handig, dat zorgt voor verwarring bij de gebruikers. Wat zoem verder voorstelde, de afhandeling (grotendeels) naar php verplaatsen, lijkt me handiger.
Dat of even aan de slag met de allowencodedslashes in mod rewrite inderdaad. Volgens mij heb ik dat een jaar geleden ook nog een keer op die manier opgelost.
mscholzondag 21 mei 2017 @ 11:15
quote:
0s.gif Op zondag 21 mei 2017 10:46 schreef Chandler het volgende:

[..]

Dat is inderdaad het probleem!! en daarvoor moet ik dus een 'oplossing' zoeken...

Wat is nu wijsheid.... database aanpassen mbt / (kan ik natuurlijk bij opbouw van deze database vervangen door een andere teken) of.....

[..]

Lanitz-Hassel-Tal / Spielberg is een voorbeeld naam... en idd ik denk dat ik die naam maar moet veranderen....
dat lijkt gemeente / plaatsnaam te zijn...
Chandlerzondag 21 mei 2017 @ 11:27
Ik denk dat ik de slash gewoon ga vervangen, op zich maakt het weinig uit voor de site zelf..

Thanks voor alle input!! ;)
cablegunmastervrijdag 30 juni 2017 @ 13:27
en up :) . leven we nog allemaal ?
KomtTijd...vrijdag 30 juni 2017 @ 14:10
Nee. Iedereen is dood. Einde.

cablegunmastervrijdag 30 juni 2017 @ 15:07
quote:
14s.gif Op vrijdag 30 juni 2017 14:10 schreef KomtTijd... het volgende:
Nee. Iedereen is dood. Einde.

:X Gemakkelijker om drop table te zeggen dan de selectie die net dood is een query voor te schrijven. :o
#ANONIEMzaterdag 1 juli 2017 @ 23:00
Dat moment dat je ervan wordt weerhouden te coden door een klein praktisch dingetje.
#ANONIEMzondag 2 juli 2017 @ 17:38
Wat vinden jullie van PHP 7?

De ondersteuning van laatste PHP 5.x versie stopt al in 2018.
#ANONIEMdinsdag 4 juli 2017 @ 12:42
Het is hier wel erg stil aan het worden...
#ANONIEMvrijdag 7 juli 2017 @ 19:04
Wtf. Iedereen over op speelgoedtaal NodeJS ofzo?

Anyway, voor degenen die dit lezen,

Ik ben bezig met een nieuw framework en ben nu bezig met een nieuwe implementatie van een authenticatiesysteem.
Monolithvrijdag 7 juli 2017 @ 19:08
quote:
7s.gif Op vrijdag 7 juli 2017 19:04 schreef DevFreak het volgende:
Wtf. Iedereen over op speelgoedtaal NodeJS ofzo?

Anyway, voor degenen die dit lezen,

Ik ben bezig met een nieuw framework en ben nu bezig met een nieuwe implementatie van een authenticatiesysteem.
NodeJS is geen taal. JavaScript is de taal, NodeJS is een runtime.

Overigens is speelgoedtaal ook hoe de gemiddelde ontwikkelaar in een wat serieuzere taal over PHP denkt. :P
#ANONIEMvrijdag 7 juli 2017 @ 19:35
quote:
1s.gif Op vrijdag 7 juli 2017 19:08 schreef Monolith het volgende:

[..]

NodeJS is geen taal. JavaScript is de taal, NodeJS is een runtime.

Overigens is speelgoedtaal ook hoe de gemiddelde ontwikkelaar in een wat serieuzere taal over PHP denkt. :P
iknow, ik mag wel wat preciezer zijn :D

quote:
Overigens is speelgoedtaal ook hoe de gemiddelde ontwikkelaar in een wat serieuzere taal over PHP denkt. :P
Ligt eraan wat je met een taal doet natuurlijk :)
De meeste webdevelopers die in C# schrijven hebben ooit PHP 5.x aangeraakt en ja, in vergelijking met PHP 7.x zit daar een wereld van verschil. Als ze vervolgens zeggen dat het geen multithreading/websockets ondersteund begin ik al hard te lachen.

Ik zie gebrek aan kennis toch wel als een bedreiging voor de PHP community. Daardoor zitten we nu opgezadeld met troep zoals NodeJS.

[ Bericht 4% gewijzigd door #ANONIEM op 07-07-2017 19:37:25 ]
Monolithvrijdag 7 juli 2017 @ 19:57
quote:
7s.gif Op vrijdag 7 juli 2017 19:35 schreef DevFreak het volgende:

[..]

iknow, ik mag wel wat preciezer zijn :D

[..]

Ligt eraan wat je met een taal doet natuurlijk :)
De meeste webdevelopers die in C# schrijven hebben ooit PHP 5.x aangeraakt en ja, in vergelijking met PHP 7.x zit daar een wereld van verschil. Als ze vervolgens zeggen dat het geen multithreading/websockets ondersteund begin ik al hard te lachen.

Ik zie gebrek aan kennis toch wel als een bedreiging voor de PHP community. Daardoor zitten we nu opgezadeld met troep zoals NodeJS.
Afgezien van het beperkte toepassingsgebied van een taal als PHP is het grootste manco van de taal net als bij JavaScript gewoon dat er heel veel mis is met het fundament. Het is en blijft een laagdrempelig mengelmoesje van een niet al te consistente C wrapper en een halfbakken poging om OO principes uit Java over te nemen.

Net als bij JavaScript zijn er wel heel wat frameworks en libraries die de problemen met het fundament repareren, maar het laat zo veel ruimte over voor enorm slechte code dat dat in de praktijk ook erg gebruikelijk is.

Ik heb er zelf ook al tijden niets meer mee gedaan, maar als ik zo even zoek op multithreading in PHP kom ik uit op pthreads. Als ik dat lees dan komt dat in de verste verte niet in de buurt bij wat volwassen talen als C# en Java bieden. Dit is echt de minimale implementatie die 20 jaar geleden al in Java zat.

C# had ik overigens ook al een jaar of acht niet meer gedaan, maar recentelijk weer een project mee gedaan en die taal heeft echt wel flinke stappen gemaakt.

Java is wat conservatiever qua ontwikkeling ook ivm backwards compatibility, maar de kracht van de JVM is dan weer dat je er ook gewoon andere talen op kunt bouwen die de gigantische diversiteit aan Java libraries kunnen gebruiken, dus als Java als taal je niet bevalt pak je Scala of Kotlin.
Syntixdonderdag 13 juli 2017 @ 21:24
Ik ben op zoek naar een gratis of goedkoop php/mysql script voor het volgende:
Het sorteren, bijhouden (managen) en ordenen van oefenstof (trainingen/trainingsonderdelen) voor 1 of meerdere sporten.

Ik heb oefenstof met afbeeldingen (oefeningen) waar ik tekst (uitleg) aan wil toevoegen. Tevens wil ik deze oefenstof weer makkelijk kunnen terugvinden in de database door categorieën (bijv. leeftijd) toe te voegen en tags (onderwerp van een oefening, bijv., lay-up oid).

Ik kan mij indenken dat leraren, coaches of trainers iets soortgelijks moeten gebruiken om hun les-, trainingsmateriaal bij te houden, maar tot op heden heb ik nog niet iets soortgelijks kunnen vinden.

Ik heb een voorbeeld kunnen vinden uit het voetbal:

https://www.az.nl/voetbalschool/zoeken
Om te zoeken in leeftijdscategorieën en onderwerpen (tags)

en

http://www.az.nl/basistec(...)rstand/15?catid=8674
Als voorbeeld van een afbeelding met daaronder uitleg over de oefening.

Weet iemand van een dergelijk php/mysql script af of iets soortgelijks?

(de vraag of ik dit zelf kan maken is nee en ik heb ook geen tijd ervoor om dit te leren)
slacker_nlvrijdag 14 juli 2017 @ 13:30
quote:
0s.gif Op vrijdag 28 april 2017 15:28 schreef BrainOverfloW het volgende:
Even een vraagje over het gebruik van Git. Hoewel dat hier een beetje off-topic ligt, gok ik er op dat er hier wel ontwikkelaars tussen zitten die ook Git gebruiken.

Als ik in een bestaande branch werk kan ik mijn update naar remote sturen met
[ code verwijderd ]

werk ik echter in een nieuwe branch die nog nooit naar remote gestuurd is moet ik deze aanmaken met:
[ code verwijderd ]

Bestaat er een enkel commando dat zegt, push naar brach, als deze niet bestaat, maak de branch automatisch aan?
Wat wil je bereiken?

Ik heb zelf de volgende workflow, upstream is de upstream repo, origin is m'n eigen repo
1
2
3
4
5
6
7
8
git checkout -t upstream/mainline -b naam-van-de-tak
git push origin naam-van-de-tak:naam-van-de-tak

# fiddle fiddle

git add foo/bar
git commit -m "Mooie commit message"
git push origin naam-van-de-tak:naam-van-de-tak

Ik snap niet waarom je --set-upstream in je push gooit. Dat is (volgens mij) alleen nodig om de branch te tracken, maw, als je een git pull doet dat je van die specifieke remote die specifieke branch bij pulled.

Ik gebruik tracking branches om zo de upstream variant te kunnen volgen en net voor m'n final MR een rebase te kunnen uitvoeren waardoor de tree schoon blijft van merges.
BrainOverfloWvrijdag 14 juli 2017 @ 14:31
quote:
0s.gif Op vrijdag 14 juli 2017 13:30 schreef slacker_nl het volgende:

[..]

Wat wil je bereiken?

Ik heb zelf de volgende workflow, upstream is de upstream repo, origin is m'n eigen repo
[ code verwijderd ]

Ik snap niet waarom je --set-upstream in je push gooit. Dat is (volgens mij) alleen nodig om de branch te tracken, maw, als je een git pull doet dat je van die specifieke remote die specifieke branch bij pulled.

Ik gebruik tracking branches om zo de upstream variant te kunnen volgen en net voor m'n final MR een rebase te kunnen uitvoeren waardoor de tree schoon blijft van merges.
Wat ik, inmiddels succesvol, wou bereiken is dat ik zonder nadenken commando's af kan vuren in mijn terminal om dingen van/naar git te sturen.

Die upstream melding onderbrak dat steeds omdat Git dan zeurt dat de stream niet bestaat. Dan moet ik met de cursor de suggestie selecteren en plakken om door te kunnen.

Nu met de suggestie van KomtTijd... kan ik voor iedere branch de zelfde serie commando's door blijven typen tot het gepushed is.

Wat ik nu doe, met zelfgemaakte shortcodes, is
1
2
3
4
5
6
7
8
9
10
11
12
# Ik zit in een up-to-date master
gcb newFeature                # git checkout -b newFeature

# Werk aan de feature

gac "Feature doet dit & dat" # git commit -am "Feature doet dit & dat"
gps                          # git push

# Hier gaat Git, als het de eerste push is, zeuren dat ik
# 'git push --set-upstream origin newFeature' moet gebruiken

fuck                         # Git pushed als nog met de upstream.

Het gaat echt om een pietluttige versimpeling van mijn workflow maar het werkt toch net wat fijner om gewoon het toetsenbord niet los te hoeven laten om de cursor naar de terminal te navigeren die meestal op een 2e scherm weggeschoven staat.
KomtTijd...vrijdag 14 juli 2017 @ 17:20
Ja lekker is die he? Daar gebruik ik fuck ook het meest voor.

Ik moet ook nog eens wat handige aliases voor git commando's invoeren. -am gebruik ik nooit meer trouwens, dat heeft me iets te vaak in de kont gebeten met onbedoelde diffs.
BrainOverfloWvrijdag 14 juli 2017 @ 19:19
quote:
10s.gif Op vrijdag 14 juli 2017 17:20 schreef KomtTijd... het volgende:
Ja lekker is die he? Daar gebruik ik fuck ook het meest voor.

Ik moet ook nog eens wat handige aliases voor git commando's invoeren. -am gebruik ik nooit meer trouwens, dat heeft me iets te vaak in de kont gebeten met onbedoelde diffs.
Ja die werkt prima, dank voor de tip ^O^.

Ik doe meestal nog wel even snel een git status en/of git diff om te zien wat ik commit. Uiteraard netjes gealiassed naar 'gs' en 'gd'. Daarmee tot nu toe nog geen hele grote errors gemaakt.

De enige fout die ik nog wel makkelijk maar is om mijn commit te maken, en soms al te pushen, om er dan achter te komen dat een nieuw gemaakt bestand nog niet toegevoegd is.
#ANONIEMzondag 16 juli 2017 @ 16:24
quote:
1s.gif Op vrijdag 7 juli 2017 19:57 schreef Monolith het volgende:

[..]

Afgezien van het beperkte toepassingsgebied van een taal als PHP is het grootste manco van de taal net als bij JavaScript gewoon dat er heel veel mis is met het fundament. Het is en blijft een laagdrempelig mengelmoesje van een niet al te consistente C wrapper en een halfbakken poging om OO principes uit Java over te nemen.

Net als bij JavaScript zijn er wel heel wat frameworks en libraries die de problemen met het fundament repareren, maar het laat zo veel ruimte over voor enorm slechte code dat dat in de praktijk ook erg gebruikelijk is.

Ik heb er zelf ook al tijden niets meer mee gedaan, maar als ik zo even zoek op multithreading in PHP kom ik uit op pthreads. Als ik dat lees dan komt dat in de verste verte niet in de buurt bij wat volwassen talen als C# en Java bieden. Dit is echt de minimale implementatie die 20 jaar geleden al in Java zat.

C# had ik overigens ook al een jaar of acht niet meer gedaan, maar recentelijk weer een project mee gedaan en die taal heeft echt wel flinke stappen gemaakt.

Java is wat conservatiever qua ontwikkeling ook ivm backwards compatibility, maar de kracht van de JVM is dan weer dat je er ook gewoon andere talen op kunt bouwen die de gigantische diversiteit aan Java libraries kunnen gebruiken, dus als Java als taal je niet bevalt pak je Scala of Kotlin.
Sorry, ik ben een aantal dagen "off the line" geweest.

C# heeft zeker grote stappen gemaakt. Kijk alleen al hoe gemakkelijk MS het heeft gemaakt om asynchroom te programmeren.

Ik zit er over na te denken een klein spelletje o.i.d. te maken en zou graag een combinatie willen zien van PHP en SignalR (webpagina's serven en authenticatie etc. met PHP, en SignalR integreren). Ik zou ook over kunnen gaan op ASP.NET, maar ik blijf liever gebruik maken van PHP.

Ik denk dat het technisch wel mogelijk zou moeten zijn maar heb op het moment nog geen idee hoe dit vorm zou kunnen geven.
Monolithzondag 16 juli 2017 @ 16:55
quote:
7s.gif Op zondag 16 juli 2017 16:24 schreef DevFreak het volgende:

[..]

Sorry, ik ben een aantal dagen "off the line" geweest.

C# heeft zeker grote stappen gemaakt. Kijk alleen al hoe gemakkelijk MS het heeft gemaakt om asynchroom te programmeren.

Ik zit er over na te denken een klein spelletje o.i.d. te maken en zou graag een combinatie willen zien van PHP en SignalR (webpagina's serven en authenticatie etc. met PHP, en SignalR integreren). Ik zou ook over kunnen gaan op ASP.NET, maar ik blijf liever gebruik maken van PHP.

Ik denk dat het technisch wel mogelijk zou moeten zijn maar heb op het moment nog geen idee hoe dit vorm zou kunnen geven.
Gewoon de Javascript client van SignalR gebruiken in je PHP applicatie als je staat op PHP.
Of simpelweg gewoon zelf websockets gebruiken. Ik weet niet wat je precies wilt gaan doen verder, maar er zijn vast de nodige PHP libraries te vinden die daarvoor al wat basisfunctionaliteit bieden.
#ANONIEMzondag 16 juli 2017 @ 17:09
quote:
0s.gif Op zondag 16 juli 2017 16:55 schreef Monolith het volgende:

[..]

Gewoon de Javascript client van SignalR gebruiken in je PHP applicatie als je staat op PHP.
Of simpelweg gewoon zelf websockets gebruiken. Ik weet niet wat je precies wilt gaan doen verder, maar er zijn vast de nodige PHP libraries te vinden die daarvoor al wat basisfunctionaliteit bieden.
Ik zit te denken aan iets heel simpels zoals boter-kaas en eieren spelletje of een chatprogramma, zodat ik mezelf eindelijk eens bekend kan maken met SignalR. Heb er al veel over gelezen en gehoord en heb het ook al in actie gezien. Ik kan er behoorlijk enthausiast van worden.

Mijn kennis van ASP.NET is echter beperkt dus daarom blijf ik voor simpele dingen als het serveren van webpagina's en inloggen liever nog even hangen op PHP. Maar dan is dus de vraag hoe je het C# programma beveiligd. Ik moet nog even uitzoeken hoe dit allemaal zit. Op basis van wat ik tot nu toe gezien heb, heb je sowieso IIS/Azure nodig.

[ Bericht 0% gewijzigd door #ANONIEM op 16-07-2017 17:09:09 ]
Monolithzondag 16 juli 2017 @ 17:29
quote:
7s.gif Op zondag 16 juli 2017 17:09 schreef DevFreak het volgende:

[..]

Ik zit te denken aan iets heel simpels zoals boter-kaas en eieren spelletje of een chatprogramma, zodat ik mezelf eindelijk eens bekend kan maken met SignalR. Heb er al veel over gelezen en gehoord en heb het ook al in actie gezien. Ik kan er behoorlijk enthausiast van worden.

Mijn kennis van ASP.NET is echter beperkt dus daarom blijf ik voor simpele dingen als het serveren van webpagina's en inloggen liever nog even hangen op PHP. Maar dan is dus de vraag hoe je het C# programma beveiligd. Ik moet nog even uitzoeken hoe dit allemaal zit. Op basis van wat ik tot nu toe gezien heb, heb je sowieso IIS/Azure nodig.
Er is geloof ik ook een .Net Core variant van SignalR, dus die is dan cross platform en niet afhankelijk van een Windows server.

Als je toch met SignalR aan de slag gaat zou ik eerlijk gezegd PHP er toch echt wel tussenuit knikkeren. Als je in PHP fatsoenlijke applicaties bouwt met bijvoorbeeld een MVC structuur, dan is dat in C# niet heel anders. Bouw je front-end in iets als Angular en bouw back-end services gewoon als REST.
Boze_Appelzondag 16 juli 2017 @ 17:56
quote:
1s.gif Op zondag 16 juli 2017 17:29 schreef Monolith het volgende:

[..]

Er is geloof ik ook een .Net Core variant van SignalR, dus die is dan cross platform en niet afhankelijk van een Windows server.

Als je toch met SignalR aan de slag gaat zou ik eerlijk gezegd PHP er toch echt wel tussenuit knikkeren. Als je in PHP fatsoenlijke applicaties bouwt met bijvoorbeeld een MVC structuur, dan is dat in C# niet heel anders. Bouw je front-end in iets als Angular en bouw back-end services gewoon als REST.
Laravel REST en dan is het verder weinig boeiend wat voor frontend er tegenaan babbelt. Zou zelf voor React gaan. Veel mooier in de zin hoe het omgaat met verschillende statussen waar je applicatie zich bevindt,
Monolithzondag 16 juli 2017 @ 18:00
quote:
7s.gif Op zondag 16 juli 2017 17:56 schreef Boze_Appel het volgende:

[..]

Laravel REST en dan is het verder weinig boeiend wat voor frontend er tegenaan babbelt. Zou zelf voor React gaan. Veel mooier in de zin hoe het omgaat met verschillende statussen waar je applicatie zich bevindt,
Ja, maar het gaat hier om het gebruik maken van SignalR. Dan moet je toch is C# gaan ontwikkelen en is een PHP laagje voor andere zaken eigenlijk loze ballast.
Ik zou eens kijken naar zoiets:
https://docs.microsoft.co(...)cations-with-signalr
Boze_Appelzondag 16 juli 2017 @ 18:01
quote:
1s.gif Op zondag 16 juli 2017 18:00 schreef Monolith het volgende:

[..]

Ja, maar het gaat hier om het gebruik maken van SignalR. Dan moet je toch is C# gaan ontwikkelen en is een PHP laagje voor andere zaken eigenlijk loze ballast.
Ik zou eens kijken naar zoiets:
https://docs.microsoft.co(...)cations-with-signalr
Oh, sorry, my bad, ik dacht dat ik in het PHP/MySQL-topic zat.
Monolithzondag 16 juli 2017 @ 18:03
quote:
16s.gif Op zondag 16 juli 2017 18:01 schreef Boze_Appel het volgende:

[..]

Oh, sorry, my bad, ik dacht dat ik in het PHP/MySQL-topic zat.
Het afraden van PHP past ook prima in zo'n topic. :P
Boze_Appelzondag 16 juli 2017 @ 18:05
quote:
1s.gif Op zondag 16 juli 2017 18:03 schreef Monolith het volgende:

[..]

Het afraden van PHP past ook prima in zo'n topic. :P
Jaja, Bart.
#ANONIEMzondag 16 juli 2017 @ 18:23
Meh.
PHP gaat hem niet worden.

Morgen maar verder aan mijn ASP.NET cursus. :)

Het werd eigenlijk sowieso wel tijd om aan ASP te beginnen. Wat nieuws leren kan nooit geen kwaad.

[ Bericht 22% gewijzigd door #ANONIEM op 16-07-2017 18:26:04 ]
Monolithmaandag 17 juli 2017 @ 18:09
quote:
7s.gif Op zondag 16 juli 2017 17:56 schreef Boze_Appel het volgende:

[..]

Laravel REST en dan is het verder weinig boeiend wat voor frontend er tegenaan babbelt. Zou zelf voor React gaan. Veel mooier in de zin hoe het omgaat met verschillende statussen waar je applicatie zich bevindt,
Omtrent React speelt overigens wat gedoe met licensing.
Boze_Appeldinsdag 18 juli 2017 @ 13:45
quote:
0s.gif Op maandag 17 juli 2017 18:09 schreef Monolith het volgende:

[..]

Omtrent React speelt overigens wat gedoe met licensing.
Ja, ze zijn aan het zijkwijven, dat weet ik. Denk niet dat het ergens heen gaat. Het is spierballen laten zien.
slacker_nldinsdag 18 juli 2017 @ 18:29
quote:
0s.gif Op vrijdag 14 juli 2017 14:31 schreef BrainOverfloW het volgende:

[..]

Wat ik, inmiddels succesvol, wou bereiken is dat ik zonder nadenken commando's af kan vuren in mijn terminal om dingen van/naar git te sturen.

Die upstream melding onderbrak dat steeds omdat Git dan zeurt dat de stream niet bestaat. Dan moet ik met de cursor de suggestie selecteren en plakken om door te kunnen.

Nu met de suggestie van KomtTijd... kan ik voor iedere branch de zelfde serie commando's door blijven typen tot het gepushed is.

Wat ik nu doe, met zelfgemaakte shortcodes, is
[ code verwijderd ]
Ik heb voor het up-to-date houden van m'n master niks nodig, ik fetch gewoon 1x per dag m'n upstream en dan ben ik "bij", voordat ik m'n code aanbied rebase ik en dan is het klaar.

ik heb wel een mini shell functie die de tracking branch voor me opzet:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
nr FOO-XXXXX Dit is mijn vet kekke feature of bug branch

# vim vim vim

git gui # dit werkt zoveel fijner dan git add -p

# Dit kan je automaten, maar .. meh.
git co sprint
git reset --hard upstream/sprint
git merge -
git push upstream sprint:sprint

# Rinse repeat
nr FOO-XXXXX Nog meer dingen

Het nr scriptje/alias ding is dit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
nr=alias new_repo upstream/master

new_repo () {
        if [ $# -lt 3 ]
        then
                echo "Empty branch, ticket or name" >&2
                return 1
        fi
        local branch=$1
        local ticket=$2
        shift
        shift
        local name=$(echo $@ | sed -e 's/ \+/_/g')
        ticket=$(echo $ticket | sed -e 's/^FOO\-\?//i')
        local br="FOO-$ticket-$name"
        git co -t $branch -b "$br"
        if [ $? -eq 0 ]
        then
                git push origin "$br:$br"
        fi
}

Ik denk overigens wel dat jij moet kijken naar: https://git-scm.com/docs/git-config, en dan in het specifieke naar push.* config items. Zie ook: https://stackoverflow.com(...)pstream-all-the-time
bondagezaterdag 2 september 2017 @ 10:28
Iemand hier een idee of een MyISAM tabel gebruik kan maken van meerdere threads? Ik kan er bijzonder weinig over vinden en het meeste is oude meuk. Wat ik wel kan vinden is dat het beter is over stappen op InnoDB, deze engine zou dat wel moeten kunnen.

Ik vraag dit omdat mij opvalt dat MySQL maar een enkele core gebruikt als ik een zware query uitvoer, het doorzoeken van een DB met 120.000.000 records duurt dan ook onnodig lang.

htop_mysql.png

Voordat ik de tabel om ga zetten (tijdrovende klus) wil ik echter zeker weten of het gaat helpen of dat het eventueel toch mogelijk is met MyISAM.

De serverversie die ik gebruik is: 5.7.19-0ubuntu0.16.04.1
Lightzondag 3 september 2017 @ 09:50
quote:
8s.gif Op zaterdag 2 september 2017 10:28 schreef bondage het volgende:
Iemand hier een idee of een MyISAM tabel gebruik kan maken van meerdere threads? Ik kan er bijzonder weinig over vinden en het meeste is oude meuk. Wat ik wel kan vinden is dat het beter is over stappen op InnoDB, deze engine zou dat wel moeten kunnen.

Ik vraag dit omdat mij opvalt dat MySQL maar een enkele core gebruikt als ik een zware query uitvoer, het doorzoeken van een DB met 120.000.000 records duurt dan ook onnodig lang.

[ afbeelding ]

Voordat ik de tabel om ga zetten (tijdrovende klus) wil ik echter zeker weten of het gaat helpen of dat het eventueel toch mogelijk is met MyISAM.

De serverversie die ik gebruik is: 5.7.19-0ubuntu0.16.04.1
Het klinkt alsof je een query uitvoert waar je geen goede indexes voor hebt. Dan moet MySQL een full table scan doen, en met 120 miljoen rijen duurt dat even. Ik zou beginnen met een EXPLAIN SELECT voor die zware query om te zien waar de verbeteringen kunnen worden gedaan.
bondagezondag 3 september 2017 @ 10:09
quote:
0s.gif Op zondag 3 september 2017 09:50 schreef Light het volgende:

[..]

Het klinkt alsof je een query uitvoert waar je geen goede indexes voor hebt. Dan moet MySQL een full table scan doen, en met 120 miljoen rijen duurt dat even. Ik zou beginnen met een EXPLAIN SELECT voor die zware query om te zien waar de verbeteringen kunnen worden gedaan.
Er zit een index op het veld waar ik op query. Ik heb een hele simpele uitgevoerd, dit duurt ongeveer een halve minuut om weer te geven...

Dit is de EXPLAIN output:

1
2
id     select_type     table     partitions     type     possible_keys     key     key_len     ref     rows     filtered     Extra     
1      SIMPLE          fok_post  NULL           ref      year              year    2          const     12029801     100.00     NULL

Ik zie verder ook niet heel veel schijfactiviteit als ik de query uitvoer. De server bevat twee 15k SAS schijven in RAID1, ik kan me haast niet voorstellen dat dit het probleem veroorzaakt.
zoemzondag 3 september 2017 @ 10:23
In de EXPLAIN kun je zien dat MySQL 12M rows moet doorzoeken, dus dat is niet efficient. Hoe ziet de query eruit? Overigens kan een index op jaartal relatief inefficiënt zijn door de lage selectiviteit.
bondagezondag 3 september 2017 @ 10:34
quote:
0s.gif Op zondag 3 september 2017 10:23 schreef zoem het volgende:
In de EXPLAIN kun je zien dat MySQL 12M rows moet doorzoeken, dus dat is niet efficient. Hoe ziet de query eruit? Overigens kan een index op jaartal relatief inefficiënt zijn door de lage selectiviteit.
Gewoon, zo: SELECT * FROM `fok_post` WHERE `year` = 2012

Ik heb nog meer indexen, het jaar veld en index gebruik ik om de set te minimaliseren tijdens het bijwerken van de Sphinx index. Simpele select query's zijn overigens wel gewoon snel, als ik een topic zoek aan de hand van een id dan gaat dat in milliseconden. Het is alleen bij grote resultaat sets dat het zo lang duurt.

Of zijn mijn verwachtingen te hoog? Ik zou haast denken dat een server met 24 cores en 96 gig aan geheugen dit wel aan zou moeten kunnen. Het is echter net zo snel/traag als mijn vorige server die een simpele twee core Celeron en 16gig geheugen had :')
zoemzondag 3 september 2017 @ 10:52
Id's zijn uniek, dus logisch dat je vrijwel instant resultaat hebt. Bij de jaartallen zijn er waarschijnlijk ~20 unieke waardes, dus het kan zijn dat de optimizer kiest voor een full table scan. Gezien filtered op 100% staat lijkt dat ook het geval te zijn.
Lightzondag 3 september 2017 @ 10:57
Sowieso zou ik de snelheden van queries als

1SELECT * FROM fok_post WHERE year = 2012
1SELECT * FROM fok_post WHERE id < 12000000

Dan neem ik aan dat je in beide gevallen ongeveer evenveel records terugkrijgt. (Dat kun je nog vergelijken met een SELECT COUNT(*))

Data transfer bij zulke aantallen rijen is ook een belangrijke factor.
bondagezondag 3 september 2017 @ 11:19
quote:
0s.gif Op zondag 3 september 2017 10:52 schreef zoem het volgende:
Id's zijn uniek, dus logisch dat je vrijwel instant resultaat hebt. Bij de jaartallen zijn er waarschijnlijk ~20 unieke waardes, dus het kan zijn dat de optimizer kiest voor een full table scan. Gezien filtered op 100% staat lijkt dat ook het geval te zijn.
Als hij een full scan doet lijkt me het nog redelijk snel... Op zich maakt het niet zoveel uit dat het 30 sec. duurt voordat Sphinx de resultaten heeft, het viel me gewoon op dat ik weinig verschil merk ten opzichte van mijn vorige server en dat er slechts één core wordt gebruikt als ik de query uitvoer.

quote:
0s.gif Op zondag 3 september 2017 10:57 schreef Light het volgende:
Sowieso zou ik de snelheden van queries als
[ code verwijderd ]

[ code verwijderd ]

Dan neem ik aan dat je in beide gevallen ongeveer evenveel records terugkrijgt. (Dat kun je nog vergelijken met een SELECT COUNT(*))

Data transfer bij zulke aantallen rijen is ook een belangrijke factor.
1SELECT * FROM fok_post WHERE id < 12000000

Dat duurde ongeveer 2 seconden... Het totaal is inderdaad redelijk gelijk aan elkaar.

Disk I/O even getest, dit is de output:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root@thuisserver:~# hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   16568 MB in  2.00 seconds = 8291.40 MB/sec
 Timing buffered disk reads: 594 MB in  3.00 seconds = 197.76 MB/sec

root@thuisserver:~# time sh -c "dd if=/dev/zero of=testfile bs=100k count=1k && sync"

1024+0 records in
1024+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.0728517 s, 1.4 GB/s

real    0m0.774s
user    0m0.008s
sys     0m0.072s
zoemzondag 3 september 2017 @ 11:31
Naar InnoDB converteren zou ik zelf wel gedaan hebben. MyISAM wordt niet echt meer doorontwikkeld en in MySQL 5.6+ kent MyISAM amper nog voordelen boven InnoDB.

Ik vrees dat je deze query met de huidige dataset niet kan versnellen. Wellicht valt de data anders op te vragen (in batches met year=A and id BETWEEN x AND y) of kijken of partitioning iets kan betekenen.
bondagezondag 3 september 2017 @ 11:38
quote:
0s.gif Op zondag 3 september 2017 11:31 schreef zoem het volgende:
Naar InnoDB converteren zou ik zelf wel gedaan hebben. MyISAM wordt niet echt meer doorontwikkeld en in MySQL 5.6+ kent MyISAM amper nog voordelen boven InnoDB.

Ik vrees dat je deze query met de huidige dataset niet kan versnellen. Wellicht valt de data anders op te vragen (in batches met year=A and id BETWEEN x AND y) of kijken of partitioning iets kan betekenen.
Ik ga een kopie van de tabel maken en hem omzetten, kan ik eea testen. Het omzetten gaat een middagje duren denk ik...
qu63dinsdag 20 februari 2018 @ 22:47
Topic is al wat langer stil, maar ik hoop toch dat jullie me kunnen helpen..

Uit een var_dump($test) komt het volgende naar voren:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
object(InstagramAPI\Response\DirectInboxResponse)#637 (3) {
  ["httpResponse"]=>
  object(GuzzleHttp\Psr7\Response)#645 (6) {*knip*}
  ["_compiledPropertyMapLink":"LazyJsonMapper\LazyJsonMapper":private]=>
  &array(9) {*knip*}
  ["_objectData":"LazyJsonMapper\LazyJsonMapper":private]=>
  array(5) {
    ["inbox"]=>
    array(5) {
      ["threads"]=>
      array(20) {
       array(27) {
          ["thread_id"]=>
          string(39) "340282366841710300949128162281775301401"
          ["users"]=>
          array(1) {
            [0]=>
            array(9) {
              ["pk"]=>
              int(12345678)
       *knip*
     }
  }
}
Hoe kan ik die 20 arrays in 'threads' nu benaderen?
print_r($test->inbox->threads) geeft geen resultaat..

Ik vermoed zelf dat het het te maken heeft met die ':private', maar hoe ik daar omheen kan werken.....
Na de threads array komen nog 4 arrays, deze weggelaten omdat deze niet relevant zijn. De code hier is dus niet volledig, maar dat maakt niet uit voor hoe ik die array wil benaderen.
WyriHaximusdinsdag 20 februari 2018 @ 22:58
quote:
0s.gif Op dinsdag 20 februari 2018 22:47 schreef qu63 het volgende:
Topic is al wat langer stil, maar ik hoop toch dat jullie me kunnen helpen..

Uit een var_dump($test) komt het volgende naar voren:
[ code verwijderd ]

Hoe kan ik die 20 arrays in 'threads' nu benaderen?
print_r($test->inbox->threads) geeft geen resultaat..

Ik vermoed zelf dat het het te maken heeft met die ':private', maar hoe ik daar omheen kan werken.....
Na de threads array komen nog 4 arrays, deze weggelaten omdat deze niet relevant zijn. De code hier is dus niet volledig, maar dat maakt niet uit voor hoe ik die array wil benaderen.
Als ik moet gokken $test->getInbox()->getThreads()

https://github.com/mgp25/(...)nboxResponse.php#L10
https://github.com/mgp25/(...)/DirectInbox.php#L12
qu63dinsdag 20 februari 2018 @ 23:01
quote:
Ja, dat dacht ik dus ook.....

1AH01071: Got error 'PHP message: PHP Fatal error: Uncaught LazyJsonMapper\\Exception\\LazyJsonMapperException: Unknown function "getThreads". in *bla*/LazyJsonMapper.php:2099\nStack trace:\n#0 *bla*.php(134): LazyJsonMapper\\LazyJsonMapper->__call('getThreads', Array)\n#1 {main}\n thrown in*bla*LazyJsonMapper.php on line 2099\n'
WyriHaximusdinsdag 20 februari 2018 @ 23:03
quote:
0s.gif Op dinsdag 20 februari 2018 23:01 schreef qu63 het volgende:

[..]

Ja, dat dacht ik dus ook.....
[ code verwijderd ]

Ok maar wat geeft var_dump($test->getInbox()); dan als class terug? :)
qu63dinsdag 20 februari 2018 @ 23:14
quote:
6s.gif Op dinsdag 20 februari 2018 23:03 schreef WyriHaximus het volgende:

[..]

Ok maar wat geeft var_dump($test->getInbox()); dan als class terug? :)
var_dump($test->getInbox()->getThreads()); geeft:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
array(20) {
  [0]=>
  object(InstagramAPI\Response\Model\DirectThread)#637 (2) {
    ["_compiledPropertyMapLink":"LazyJsonMapper\LazyJsonMapper":private]=>
    &array(29) {
      *blablabullshit*
    }
    ["_objectData":"LazyJsonMapper\LazyJsonMapper":private]=>
    array(27) {
      ["thread_id"]=>
      string(39) "123456789123456789123456789123456789123456"
      ["users"]=>
      array(1) {}
      *etc etc etc*
      }
    }
  }
En dan nog 19 andere arrays met dezelfde opmaak...
WyriHaximusdinsdag 20 februari 2018 @ 23:18
quote:
0s.gif Op dinsdag 20 februari 2018 23:14 schreef qu63 het volgende:

[..]

var_dump($test->getInbox()->getThreads()); geeft:
[ code verwijderd ]

Je hebt 20 instances van DirectThread in je array zitten. Dus foreach (test->getInbox()->getThreads() as $thread) {$thread->method()} en je kunt $thread aanspreken. *O*
qu63dinsdag 20 februari 2018 @ 23:34
quote:
99s.gif Op dinsdag 20 februari 2018 23:18 schreef WyriHaximus het volgende:

[..]

Je hebt 20 instances van DirectThread in je array zitten. Dus foreach (test->getInbox()->getThreads() as $thread) {$thread->method()} en je kunt $thread aanspreken. *O*
1
2
3
4
foreach ($test->getInbox()->getThreads() as $thread123)
{
    $thread123->method();
}
1AH01071: Got error 'PHP message: PHP Fatal error: Uncaught LazyJsonMapper\\Exception\\LazyJsonMapperException: Unknown function "method". in blabla.php
-O-

T irritante is dat ik wéét dat ik dichtbij zit, maar het werkt dus net niet.. In een var_dump komt alle info voorbij die ik wil hebben, ik kan deze alleen neit direct benaderen omdat ze dus in een "["_objectData":"LazyJsonMapper\LazyJsonMapper":private]" array zitten..
ViPeRIIwoensdag 21 februari 2018 @ 00:00
quote:
0s.gif Op dinsdag 20 februari 2018 23:34 schreef qu63 het volgende:

[..]
[ code verwijderd ]

[ code verwijderd ]

-O-

T irritante is dat ik wéét dat ik dichtbij zit, maar het werkt dus net niet.. In een var_dump komt alle info voorbij die ik wil hebben, ik kan deze alleen neit direct benaderen omdat ze dus in een "["_objectData":"LazyJsonMapper\LazyJsonMapper":private]" array zitten..
Hij bedoelde de method die je wil gebruiken. Nu heb ik de voorgeschiedenis niet gelezen,maar ik denk dat je de inhoud wil zien?
Dan kan je een van de volgende methods gebruiken:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/**
 * DirectThreadItem.
 *
 * @method ActionLog getActionLog()
 * @method string getClientContext()
 * @method DirectExpiringSummary getExpiringMediaActionSummary()
 * @method mixed getHideInThread()
 * @method string getItemId()
 * @method mixed getItemType()
 * @method mixed getLike()
 * @method DirectLink getLink()
 * @method mixed getLiveVideoShare()
 * @method Location getLocation()
 * @method DirectThreadItemMedia getMedia()
 * @method Item getMediaShare()
 * @method Placeholder getPlaceholder()
 * @method Item[] getPreviewMedias()
 * @method User getProfile()
 * @method Item getRavenMedia()
 * @method DirectReactions getReactions()
 * @method ReelShare getReelShare()
 * @method string[] getSeenUserIds()
 * @method StoryShare getStoryShare()
 * @method string getText()
 * @method mixed getTimestamp()
 * @method string getUserId()
 * @method bool isActionLog()
 * @method bool isClientContext()
 * @method bool isExpiringMediaActionSummary()
 * @method bool isHideInThread()
 * @method bool isItemId()
 * @method bool isItemType()
 * @method bool isLike()
 * @method bool isLink()
 * @method bool isLiveVideoShare()
 * @method bool isLocation()
 * @method bool isMedia()
 * @method bool isMediaShare()
 * @method bool isPlaceholder()
 * @method bool isPreviewMedias()
 * @method bool isProfile()
 * @method bool isRavenMedia()
 * @method bool isReactions()
 * @method bool isReelShare()
 * @method bool isSeenUserIds()
 * @method bool isStoryShare()
 * @method bool isText()
 * @method bool isTimestamp()
 * @method bool isUserId()
 * @method $this setActionLog(ActionLog $value)
 * @method $this setClientContext(string $value)
 * @method $this setExpiringMediaActionSummary(DirectExpiringSummary $value)
 * @method $this setHideInThread(mixed $value)
 * @method $this setItemId(string $value)
 * @method $this setItemType(mixed $value)
 * @method $this setLike(mixed $value)
 * @method $this setLink(DirectLink $value)
 * @method $this setLiveVideoShare(mixed $value)
 * @method $this setLocation(Location $value)
 * @method $this setMedia(DirectThreadItemMedia $value)
 * @method $this setMediaShare(Item $value)
 * @method $this setPlaceholder(Placeholder $value)
 * @method $this setPreviewMedias(Item[] $value)
 * @method $this setProfile(User $value)
 * @method $this setRavenMedia(Item $value)
 * @method $this setReactions(DirectReactions $value)
 * @method $this setReelShare(ReelShare $value)
 * @method $this setSeenUserIds(string[] $value)
 * @method $this setStoryShare(StoryShare $value)
 * @method $this setText(string $value)
 * @method $this setTimestamp(mixed $value)
 * @method $this setUserId(string $value)
 * @method $this unsetActionLog()
 * @method $this unsetClientContext()
 * @method $this unsetExpiringMediaActionSummary()
 * @method $this unsetHideInThread()
 * @method $this unsetItemId()
 * @method $this unsetItemType()
 * @method $this unsetLike()
 * @method $this unsetLink()
 * @method $this unsetLiveVideoShare()
 * @method $this unsetLocation()
 * @method $this unsetMedia()
 * @method $this unsetMediaShare()
 * @method $this unsetPlaceholder()
 * @method $this unsetPreviewMedias()
 * @method $this unsetProfile()
 * @method $this unsetRavenMedia()
 * @method $this unsetReactions()
 * @method $this unsetReelShare()
 * @method $this unsetSeenUserIds()
 * @method $this unsetStoryShare()
 * @method $this unsetText()
 * @method $this unsetTimestamp()
 * @method $this unsetUserId()

In jouw geval $thread123->getText(); ?
qu63woensdag 21 februari 2018 @ 08:09
quote:
0s.gif Op woensdag 21 februari 2018 00:00 schreef ViPeRII het volgende:

[..]

Hij bedoelde de method die je wil gebruiken. Nu heb ik de voorgeschiedenis niet gelezen,maar ik denk dat je de inhoud wil zien?
Dan kan je een van de volgende methods gebruiken:
[ code verwijderd ]

In jouw geval $thread123->getText(); ?
Ah, natuurlijk.

Helaas krijg ik dan een "Unknown function "getText"" terug.

Vanavond maar weer verder klooien..
Lightwoensdag 21 februari 2018 @ 22:51
quote:
0s.gif Op woensdag 21 februari 2018 08:09 schreef qu63 het volgende:

[..]

Ah, natuurlijk.

Helaas krijg ik dan een "Unknown function "getText"" terug.

Vanavond maar weer verder klooien..
Een Thread bevat ThreadItems, die zul je eerst moeten ophalen voordat je ze kunt gebruiken. Dan wordt het zoiets:

1
2
3
4
5
6
7
8
9
<?php
foreach ($test->getInbox()->getThreads() as $thread123)
{
    
$items $thread123->getItems();
    foreach(
$items as $item) {
        echo 
$item->getText();
    }
}
?>

En natuurlijk kun je ook andere dingen doen in plaats van echo.
qu63donderdag 22 februari 2018 @ 21:08
quote:
0s.gif Op woensdag 21 februari 2018 22:51 schreef Light het volgende:

[..]

Een Thread bevat ThreadItems, die zul je eerst moeten ophalen voordat je ze kunt gebruiken. Dan wordt het zoiets:
[ code verwijderd ]

En natuurlijk kun je ook andere dingen doen in plaats van echo.
Die echo was alleen om wat output te zien ;)

Uiteindelijk werkend gekregen door alles maar te herschrijven ipv uit te zoeken waar het prices fout ging :')

Code was gelukkig toch wel toe aan een review..
#ANONIEMwoensdag 30 mei 2018 @ 11:41
Schopje.

Nog mensen bezig met leuke projectjes? :)

Ben zelf bezig met een nieuw sociaal netwerk. Niks bijzonders, gewoon voor de lol totdat ik start met mijn nieuwe baan.

Wat gebruiken jullie voor frameworks? Ik heb een hele tijd mijn eigen PHP7-based framework gebruikt maar ben sinds een jaar helemaal over op Laravel. Ik gebruik momenteel op de front-end nog altijd Bootstrap maar overweeg binnenkort eens te kijken naar Materialize.

Ik overweeg ook voor de lol een keer te gaan kijken naar Hacklang van Facebook. Misschien dat ik er een nieuw mini-framework voor kan gaan schrijven als ik de tijd heb. Wat betreft eigen code kun je strict programmeren onder Laravel, maar verder vind ik de dynamic code wat tegen vallen in de libraries.

[ Bericht 21% gewijzigd door #ANONIEM op 30-05-2018 11:44:07 ]
#ANONIEMzaterdag 2 juni 2018 @ 08:27
:'(
urselzaterdag 2 juni 2018 @ 12:26
Ik zit eigenlijk volledig in CakePHP de laatste 2/3 jaar. Mee begonnen omdat ze het hier op het werk hebben. Cake2 is een drama. 3 is eigenlijk best wel leuk.

Daarom eigenlijk nooit de moeite genomen om in de hype van Laravel te stappen.

Ben momenteel met een projectje bezig om de scores van het klaverjassen bij te kunnen houden. :7
#ANONIEMzaterdag 2 juni 2018 @ 12:29
quote:
0s.gif Op zaterdag 2 juni 2018 12:26 schreef ursel het volgende:
Ik zit eigenlijk volledig in CakePHP de laatste 2/3 jaar. Mee begonnen omdat ze het hier op het werk hebben. Cake2 is een drama. 3 is eigenlijk best wel leuk.

Daarom eigenlijk nooit de moeite genomen om in de hype van Laravel te stappen.

Ben momenteel met een projectje bezig om de scores van het klaverjassen bij te kunnen houden. :7
cool

CakePHP 2 hoor ik inderdaad weinig goeds over.
Ik ga van Laravel switchen naar Symfony gezien mijn nieuwe werkgever dit vraagt. Wordt vaak gebruikt voor heel grote projecten.
Faux.zaterdag 2 juni 2018 @ 12:32
quote:
0s.gif Op zaterdag 2 juni 2018 12:26 schreef ursel het volgende:
Ik zit eigenlijk volledig in CakePHP de laatste 2/3 jaar. Mee begonnen omdat ze het hier op het werk hebben. Cake2 is een drama. 3 is eigenlijk best wel leuk.

Daarom eigenlijk nooit de moeite genomen om in de hype van Laravel te stappen.

Ben momenteel met een projectje bezig om de scores van het klaverjassen bij te kunnen houden. :7
Cake? Daar hoor ik ook weinig meer over, is dat nog steeds een ding?
Monolithzaterdag 2 juni 2018 @ 12:56
quote:
13s.gif Op zaterdag 2 juni 2018 08:27 schreef DevFreak het volgende:
:'(
PHP al jaren niet meer aangeraakt. Enkel nog Java / Scala / C# / F# / Python en als het echt moet JavaScript. :P
urselzaterdag 2 juni 2018 @ 14:04
Cake is inderdaad nog aardig actief. Volgt ook netjes de laatste PHP standaarden. Redelijk low profile om mee te beginnen.
Was eigenlijk zelf wel redelijk positief verrast door 3.
#ANONIEMwoensdag 6 juni 2018 @ 08:47
quote:
1s.gif Op zaterdag 2 juni 2018 12:56 schreef Monolith het volgende:

[..]

PHP al jaren niet meer aangeraakt. Enkel nog Java / Scala / C# / F# / Python en als het echt moet JavaScript. :P
ik vind PHP leuker en mooier dan Python
Aetherwoensdag 6 juni 2018 @ 09:26
quote:
1s.gif Op zaterdag 2 juni 2018 12:56 schreef Monolith het volgende:

[..]

PHP al jaren niet meer aangeraakt. Enkel nog Java / Scala / C# / F# / Python en als het echt moet JavaScript. :P
Ik zou dan eens kijken naar PHP 7.x om de veranderingen en nieuwe features te bekijken.
Bijvoorbeeld hier: PHP 5.6 to PHP 7.0 (plus de guides voor hogere versies).
Monolithwoensdag 6 juni 2018 @ 10:35
quote:
7s.gif Op woensdag 6 juni 2018 08:47 schreef DevFreak het volgende:

[..]

ik vind PHP leuker en mooier dan Python
Ik heb niet zo veel met Python als taal an sich (indentations als language construct :') ), maar het is wel leuk voor even wat snelle data sciencey REPL dingetjes met visualisaties in Jupyter notebooks.

quote:
2s.gif Op woensdag 6 juni 2018 09:26 schreef Aether het volgende:

[..]

Ik zou dan eens kijken naar PHP 7.x om de veranderingen en nieuwe features te bekijken.
Bijvoorbeeld hier: PHP 5.6 to PHP 7.0 (plus de guides voor hogere versies).
Ik weet wel dat het minder beroerd is dan een jaar of wat geleden hoor, maar het blijft echt volkomen inferieur aan talen die van meet af aan goed zijn opgezet. PHP is ook een stuk beperkter in haar toepassingsgebieden. Het blijft een back-endtaaltje. Serieuze middlewaretoepassingen gaan mensen er hopelijk niet mee schrijven.
Aetherwoensdag 6 juni 2018 @ 11:01
quote:
0s.gif Op woensdag 6 juni 2018 10:35 schreef Monolith het volgende:

Ik weet wel dat het minder beroerd is dan een jaar of wat geleden hoor, maar het blijft echt volkomen inferieur aan talen die van meet af aan goed zijn opgezet. PHP is ook een stuk beperkter in haar toepassingsgebieden. Het blijft een back-endtaaltje. Serieuze middlewaretoepassingen gaan mensen er hopelijk niet mee schrijven.
Ligt er maar aan hoe de taal gebruikt wordt en niet iedere taal is inderdaad handig voor elke toepassing.

FlippingCoinwoensdag 6 juni 2018 @ 11:26
quote:
7s.gif Op woensdag 6 juni 2018 08:47 schreef DevFreak het volgende:

[..]

ik vind PHP leuker en mooier dan Python
Python is toch wel heerlijk als je snel even wat moet neerzetten. :P

Verder ook erg veel goed libraries voor, dingen als TensorFlow et cetera. *O*

Is er geen algemren dev topic?
#ANONIEMwoensdag 6 juni 2018 @ 12:58
quote:
1s.gif Op woensdag 6 juni 2018 11:26 schreef FlippingCoin het volgende:

[..]

Python is toch wel heerlijk als je snel even wat moet neerzetten. :P

Verder ook erg veel goed libraries voor, dingen als TensorFlow et cetera. *O*

Is er geen algemren dev topic?
nee, is misschien wel een idee om een keer naar te kijken
Monolithwoensdag 6 juni 2018 @ 17:39
quote:
7s.gif Op woensdag 6 juni 2018 11:01 schreef Aether het volgende:

[..]

Ligt er maar aan hoe de taal gebruikt wordt en niet iedere taal is inderdaad handig voor elke toepassing.

Dat eerste vind ik altijd maar een beetje een non-argument. Als iets in de basis niet goed is, dan is het dat niet.

PHP is geschikt voor laagdrempelig webdevelopment. Daar is het prima voor, al kan dat tegenwoordig ook vaak sneller en efficiënter in andere talen omdat de tooling beter is.
Boze_Appelwoensdag 6 juni 2018 @ 17:46
Elke fatsoenlijke programmeur gebruikt natuurlijk Piet.
#ANONIEMdonderdag 7 juni 2018 @ 08:27
quote:
2s.gif Op woensdag 6 juni 2018 17:46 schreef Boze_Appel het volgende:
Elke fatsoenlijke programmeur gebruikt natuurlijk Piet.
Pussy. Brainfuck of Assembly.
#ANONIEMdonderdag 7 juni 2018 @ 16:40
Wat vinden we van de PSR-2 coding standard?

Ik heb iets tegen brackets die niet o pde volgende lijn staan. C# stijl.
TheNightIsFullOfTerrorsdonderdag 7 juni 2018 @ 17:39
quote:
7s.gif Op donderdag 7 juni 2018 16:40 schreef DevFreak het volgende:
PSR-2 coding
Tjah niet echt rare dingen die ze stellen maar ja, elk bedrijf en persoon heeft zo zijn eigen kleine aanpassingen. Zelf ben ik er wel voorstander ervan om als ik { } gebruik dit op nieuwe regels te doen ja. Bij dingen zoals css niet omdat je/ik dat niet zovaak hoeft te veranderen dus dat mag best wat compact (en zijn ook geen tig regels dus ja).
TheNightIsFullOfTerrorsdonderdag 7 juni 2018 @ 17:42


[ Bericht 100% gewijzigd door TheNightIsFullOfTerrors op 07-06-2018 17:43:22 ]
Monolithdonderdag 7 juni 2018 @ 19:15
quote:
7s.gif Op donderdag 7 juni 2018 16:40 schreef DevFreak het volgende:
Wat vinden we van de PSR-2 coding standard?

Ik heb iets tegen brackets die niet o pde volgende lijn staan. C# stijl.
Ik vind het vooral een totaal irrelevante discussie. Indentation als code construct zoals in Python daarentegen is echt één van de domste ideeën ooit.
FlippingCoindonderdag 7 juni 2018 @ 19:23
quote:
1s.gif Op donderdag 7 juni 2018 19:15 schreef Monolith het volgende:

[..]

Ik vind het vooral een totaal irrelevante discussie. Indentation als code construct zoals in Python daarentegen is echt één van de domste ideeën ooit.
Vind het even wennen maar niet vervelend werken. Het switchen wel, mis dan steeds brackets en haakjes rond if statement. :')
Monolithdonderdag 7 juni 2018 @ 19:28
quote:
1s.gif Op donderdag 7 juni 2018 19:23 schreef FlippingCoin het volgende:

[..]

Vind het even wennen maar niet vervelend werken. Het switchen wel, mis dan steeds brackets en haakjes rond if statement. :')
Nou ja vooral dat. Maar sowieso zou het best overzichtelijk kunnen zijn als je de CC laag houdt. Maar ja, dan krijg je code geschreven door de gemiddelde hobbyist voor je kiezen...
FlippingCoindonderdag 7 juni 2018 @ 19:45
quote:
1s.gif Op donderdag 7 juni 2018 19:28 schreef Monolith het volgende:

[..]

Nou ja vooral dat. Maar sowieso zou het best overzichtelijk kunnen zijn als je de CC laag houdt. Maar ja, dan krijg je code geschreven door de gemiddelde hobbyist voor je kiezen...
Is ook wel aardig makkelijk om Python beetje aan te beunen ja. :P
zoemdonderdag 7 juni 2018 @ 20:02
quote:
7s.gif Op donderdag 7 juni 2018 16:40 schreef DevFreak het volgende:
Wat vinden we van de PSR-2 coding standard?

Ik heb iets tegen brackets die niet o pde volgende lijn staan. C# stijl.
Het belangrijkste is overigens niet zozeer wélke standaard, maar wel dat je één standaard hanteert. Dit maakt het makkelijker om overzicht in de code te houden en het straalt rust uit. Zeker als je met een team binnen hetzelfde project werkt wil je niet allerlei dingen door elkaar.

Nu is psr-2 natuurlijk wel een handige standaard, omdat 1) het een goed gedocumenteerde standaard is en 2) de meeste serieuze libraries dit hanteren. Op m'n werk wordt iedereen in ieder geval geacht php volgens psr-2 te programmeren. Als code reviewer ben ik daar alert en streng op, al snap ik dat je af en toe wel eens een uitzondering kan hebben.
quote:
1s.gif Op donderdag 7 juni 2018 19:15 schreef Monolith het volgende:

[..]

Ik vind het vooral een totaal irrelevante discussie. Indentation als code construct zoals in Python daarentegen is echt één van de domste ideeën ooit.
De vraag in exact die vorm is inderdaad irrelevant. Het gebruik van een standaard daarentegen niet.

Maar dan moet je yaml ook vervelend vinden met al die spaties? :P Niet dat het een programmeertaal is...
Monolithdonderdag 7 juni 2018 @ 20:26
quote:
16s.gif Op donderdag 7 juni 2018 19:45 schreef FlippingCoin het volgende:

[..]

Is ook wel aardig makkelijk om Python beetje aan te beunen ja. :P
Zoals ik in een eerdere post al aangaf is het echt ideaal om even snel wat verkennende data science te doen, maar ik moet er toch niet aan denken om er een serieuze applicatie in te schrijven. Helemaal niet samen met een paar matige developers. :P

@zoem, YAML vind ik nog net wat minder erg aangezien je er geen volledige applicaties in schrijft. Al kunnen docker files ook best onoverzichtelijk worden.
FlippingCoindonderdag 7 juni 2018 @ 20:31
quote:
1s.gif Op donderdag 7 juni 2018 20:26 schreef Monolith het volgende:

[..]

Zoals ik in een eerdere post al aangaf is het echt ideaal om even snel wat verkennende data science te doen, maar ik moet er toch niet aan denken om er een serieuze applicatie in te schrijven. Helemaal niet samen met een paar matige developers. :P

@zoem, YAML vind ik nog net wat minder erg aangezien je er geen volledige applicaties in schrijft. Al kunnen docker files ook best onoverzichtelijk worden.
toch is het wel een taal met bizar veel goede libraries, in AI ook een veelgebruikte taal naast C++.
Monolithdonderdag 7 juni 2018 @ 20:35
quote:
16s.gif Op donderdag 7 juni 2018 20:31 schreef FlippingCoin het volgende:

[..]

toch is het wel een taal met bizar veel goede libraries, in AI ook een veelgebruikte taal naast C++.
Python? Ja dat zeg ik. Samen met R het meest gebruikt voor data science. Numpy / SciPy / Seaborn / etcetera zijn ideaal voor data science.
Toch zie ik vaak met name modelontwikkeling in Python, waarbij uiteindelijk het model in een Java omgeving of iets dergelijks wordt geïntegreerd.
webbyplusmaandag 4 maart 2019 @ 11:03
Hi,

Een irritant probleempje; ik heb in een form een textarea. De inhoud van deze textarea verstuur ik middels een post naar een PHP-pagina die de inhoud opslaat in een textfile;
1
2
3
4
5
6
7
8
9
  if (isset($_POST['input']))
  {
    $txt = $_POST['input'];
    $myfile = fopen("output.txt", "w") or die("Unable to open file!");
    fwrite($myfile, $txt);
    fclose($myfile);
  }
?>

Echter bij het opslaan in de file wordt de text gemanipuleerd opgeslagen.
Een aanhalingsteken (") wordt bijvoorbeeld opgeslagen met een slash ervoor (\").
Ik wil echter dat er geen manipulatie plaats vindt. Iemand een tip hoe ik dit kan voorkomen?

bvd,
Webster
Faux.maandag 4 maart 2019 @ 11:09
quote:
0s.gif Op maandag 4 maart 2019 11:03 schreef webbyplus het volgende:
Hi,

Een irritant probleempje; ik heb in een form een textarea. De inhoud van deze textarea verstuur ik middels een post naar een PHP-pagina die de inhoud opslaat in een textfile;
[ code verwijderd ]

Echter bij het opslaan in de file wordt de text gemanipuleerd opgeslagen.
Een aanhalingsteken (") wordt bijvoorbeeld opgeslagen met een slash ervoor (\").
Ik wil echter dat er geen manipulatie plaats vindt. Iemand een tip hoe ik dit kan voorkomen?

bvd,
Webster
Lijkt alsof er magic quotes aanstaan. Welke versie van php gaat dit om?
webbyplusmaandag 4 maart 2019 @ 11:17
quote:
11s.gif Op maandag 4 maart 2019 11:09 schreef Faux. het volgende:

[..]

Lijkt alsof er magic quotes aanstaan. Welke versie van php gaat dit om?
Ah.... hij stond nog op een oude versie van php (5), na aanpassing naar 7 draait hij wel :-) thx
Faux.maandag 4 maart 2019 @ 11:18
quote:
0s.gif Op maandag 4 maart 2019 11:17 schreef webbyplus het volgende:

[..]

Ah.... hij stond nog op een oude versie van php (5), na aanpassing naar 7 draait hij wel :-) thx
Np :)
vuurvliegiemaandag 4 maart 2019 @ 20:06
Aangezien je myfile etc gebruikt kan ik me voorstellen dat je dit gekopieerd hebt van iets als w3schools en verder niet echt veel ervanaf weet, dus zeg ik het volgende maar even:
Hangt ervanaf wat je mensen laat plaatsen in die textarea maar erg veilig en/of AVG-proof is het waarschijnlijk niet.
NoXiadonderdag 14 maart 2019 @ 11:26
Een klein vraagje. Met een form sla ik text op en dit werkt prima:

1
2
3
4
5
<?php
$data 
$_POST['xtrainfo'] . "\r\n";

$ret file_put_contents('data.txt'$dataFILE_APPEND LOCK_EX);
?>

Bij elke submit wordt er een nieuwe regel toegevoegd aan de txt file.

Alleen tijdens het uitlezen van de txt file worden de nieuwe regels genegeerd en komt alles achter elkaar te staan. Een <br> werkt dan weer wel maar dit ziet er niet uit.

1
2
3
4
5
<?php
$inhoud 
file_get_contents('./data.txt'FILE_USE_INCLUDE_PATH);

echo 
$inhoud;
?>

Iemand een idee om dit op te lossen?
Tijndonderdag 14 maart 2019 @ 11:31
Dit gebeurt omdat de output als HTML wordt gezien en daarin betekent een linebreak niks.

Een manier om dit op te lossen is door de output als tekst te presenteren. Dat kan door een “content-type” aan de header mee te geven:

1
2
3
4
<?php
header
('content-type: text/plain');
echo 
$inhoud;
?>

Een andere oplossing is door de linebreaks om te zetten naar <br> elementen. Daar is een ingebouwde functie voor aanwezig, genaamd nl2br:

1
2
3
<?php
echo nl2br($inhoud);
?>
NoXiadonderdag 14 maart 2019 @ 12:02
quote:
2s.gif Op donderdag 14 maart 2019 11:31 schreef Tijn het volgende:
Dit gebeurt omdat de output als HTML wordt gezien en daarin betekent een linebreak niks.

Een manier om dit op te lossen is door de output als tekst te presenteren. Dat kan door een “content-type” aan de header mee te geven:
[ code verwijderd ]

Een andere oplossing is door de linebreaks om te zetten naar <br> elementen. Daar is een ingebouwde functie voor aanwezig, genaamd nl2br:
[ code verwijderd ]

Dankjewel. Dat was simpel :) Ik ben voor de laatste optie gegaan en het werkt!
Faux.donderdag 14 maart 2019 @ 12:08
Dat is het mooie van PHP, een hele hoop is gewoon lekker simpel.
#ANONIEMzondag 17 maart 2019 @ 19:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

namespace App
{
    require 'vendor/autoload.php';

    use Psr\Http\Message\ServerRequestInterface;
    use React\EventLoop\Factory;
    use React\Http\Response;
    use React\Http\Server;

    /**
     * Class Program
     * [nosml]@package[/nosml] App
     */
    final class Program
    {
        /**
         * @vAr string
         */
        private static $_uri;

        /**
         * [nosml]@return[/nosml] void
         */
        public static function main(): void
        {
            self::$_uri = '192.168.10.10:80';

            $loop = Factory::create();

            $webServer = new Server(function(ServerRequestInterface $request) {
                return new Response(
                    \Illuminate\Http\Response::HTTP_OK,
                        [
                            'Content-Type:' => 'text/plain'
                        ],

                    "Hello!"
                );
            });

            $socket = new \React\Socket\Server(self::$_uri, $loop);

            $webServer->listen($socket);

            $webServer->on('connection', function() {
                echo 'browser' . PHP_EOL;
            });

            echo "Listening on " . self::$_uri . "..." . PHP_EOL;

            $loop->run();
        }
    }

    Program::main();
}

* DevFreak doet niet aan simpel

[ Bericht 0% gewijzigd door #ANONIEM op 17-03-2019 19:55:36 ]
Faux.zondag 17 maart 2019 @ 20:28
quote:
17s.gif Op zondag 17 maart 2019 19:54 schreef DevFreak het volgende:

[ code verwijderd ]

* DevFreak doet niet aan simpel
Zo spannend is dit niet toch :@
#ANONIEMzondag 17 maart 2019 @ 21:35
quote:
11s.gif Op zondag 17 maart 2019 20:28 schreef Faux. het volgende:

[..]

Zo spannend is dit niet toch :@
valt mee, maar ik probeer de webserver ertussenuit te slopen
embedguyzondag 17 maart 2019 @ 21:54
quote:
7s.gif Op zondag 17 maart 2019 21:35 schreef DevFreak het volgende:

[..]

valt mee, maar ik probeer de webserver ertussenuit te slopen
Webserver? Nginx/apache bedoel je? Dan is dat wel een stuk makkelijker dan dit ja met php. Ben zelf eigenlijk niet anders gewend, tja; nodejs :p

Wat is dat [nosml] gebeuren eigk voor?

[ Bericht 3% gewijzigd door embedguy op 17-03-2019 22:05:19 ]
Faux.zondag 17 maart 2019 @ 22:00
quote:
7s.gif Op zondag 17 maart 2019 21:35 schreef DevFreak het volgende:

[..]

valt mee, maar ik probeer de webserver ertussenuit te slopen
Waarom?
#ANONIEMmaandag 18 maart 2019 @ 11:39
quote:
1s.gif Op zondag 17 maart 2019 21:54 schreef embedguy het volgende:

[..]

Webserver? Nginx/apache bedoel je? Dan is dat wel een stuk makkelijker dan dit ja met php. Ben zelf eigenlijk niet anders gewend, tja; nodejs :p

Wat is dat [nosml] gebeuren eigk voor?
Ghehe. Volgens mij is het in NodeJS heus niet gemakkelijker dan in PHP. :)

Ik ben zelf totaal geen fan van JavaScript op een server dus ik vind dit een betere oplossing.

quote:
11s.gif Op zondag 17 maart 2019 22:00 schreef Faux. het volgende:

[..]

Waarom?
Omdat webservers als jaren absolete zijn. Door zelf met sockets te werken hoef je slechts één instance van Laravel te starten en daarmee per server tot 50.000 clients verwerken, inclusief shared resources. :P

En dan krijg je dus de dingen die we tot voor kort alleen gewend waren van ASP.NET MVC en NodeJS. Alhoewel... PHP kon dit natuurlijk al langer, maar niet met zulke mooie abstractie als dit.

Verder is PHP als taal natuurlijk een heel stuk volwassener en meer gebruikt dan NodeJS.

[ Bericht 4% gewijzigd door #ANONIEM op 18-03-2019 13:13:09 ]
embedguymaandag 18 maart 2019 @ 22:55
quote:
7s.gif Op maandag 18 maart 2019 11:39 schreef DevFreak het volgende:

[..]

Ghehe. Volgens mij is het in NodeJS heus niet gemakkelijker dan in PHP. :)

Nope, hetzelfde idee als dit. Maar ik bedoelde dat de 'normale php' manier makkelijker is. Tja, dan heb je de voordelen ook niet.

Als je bijvoorbeeld iets wilt uitlezen van een file of als je zelf een request wilt doen,verloopt de response dan ook weer via een callback zodat je echt alles async kan doen? Wel leuk dat 't kan in php.
Monolithmaandag 18 maart 2019 @ 22:59
quote:
7s.gif Op maandag 18 maart 2019 11:39 schreef DevFreak het volgende:


Verder is PHP als taal natuurlijk een heel stuk volwassener en meer gebruikt dan NodeJS.
NodeJS is ook geen taal, maar een platform.
JavaScript is verder ook niet meer of minder volwassen dan PHP in mijn ogen.
slacker_nldinsdag 19 maart 2019 @ 07:21
quote:
0s.gif Op maandag 18 maart 2019 22:59 schreef Monolith het volgende:

[..]

NodeJS is ook geen taal, maar een platform.
JavaScript is verder ook niet meer of minder volwassen dan PHP in mijn ogen.
Beide zijn rottalen.
WyriHaximuswoensdag 20 maart 2019 @ 22:38
quote:
0s.gif Op dinsdag 19 maart 2019 07:21 schreef slacker_nl het volgende:

[..]

Beide zijn rottalen.
Ben maar begonnen met C leren, dat is pas een leuke taal :Y Hoi slak :W
FlippingCoinwoensdag 20 maart 2019 @ 22:44
quote:
6s.gif Op woensdag 20 maart 2019 22:38 schreef WyriHaximus het volgende:

[..]

Ben maar begonnen met C leren, dat is pas een leuke taal :Y Hoi slak :W
Vind je? :D

Moet nu voor een vak met sensoren werken met C maar vind het meegeven van arrays en itereren over verzamelingen en zo maar een gekut vergeleken met een taal als Go.
Monolithwoensdag 20 maart 2019 @ 22:47
quote:
6s.gif Op woensdag 20 maart 2019 22:38 schreef WyriHaximus het volgende:

[..]

Ben maar begonnen met C leren, dat is pas een leuke taal :Y Hoi slak :W
Pak dan gewoon gelijk Rust. :P
slacker_nldonderdag 21 maart 2019 @ 07:22
quote:
6s.gif Op woensdag 20 maart 2019 22:38 schreef WyriHaximus het volgende:

[..]

Ben maar begonnen met C leren, dat is pas een leuke taal :Y Hoi slak :W
Daar ben ik nu ook soort van mee bezig. Ik wil iets in git krijgen en doe soms wat met de lastpass cli client. Beide zijn geschreven in C. Best leuk :)
#ANONIEMdonderdag 21 maart 2019 @ 09:43
quote:
0s.gif Op maandag 18 maart 2019 22:59 schreef Monolith het volgende:

[..]

NodeJS is ook geen taal, maar een platform.
JavaScript is verder ook niet meer of minder volwassen dan PHP in mijn ogen.
Hmm, PHP is met 7.3 toch wel volwassener en beter dan je denkt... :)

7.4 komt er ook aan en brengt nog veel meer verbeteringen met zich mee.
Monolithdonderdag 21 maart 2019 @ 09:45
quote:
7s.gif Op donderdag 21 maart 2019 09:43 schreef DevFreak het volgende:

[..]

Hmm, PHP is met 7.3 toch wel volwassener en beter dan je denkt... :)

7.4 komt er ook aan en brengt nog veel meer verbeteringen met zich mee.
Hoe weet je dat? Ik vergelijk PHP en JavaScript.
#ANONIEMdonderdag 21 maart 2019 @ 09:47
quote:
0s.gif Op donderdag 21 maart 2019 09:45 schreef Monolith het volgende:

[..]

Hoe weet je dat? Ik vergelijk PHP en JavaScript.
Ach, kom... het zijn twee totaal verschillende talen met verschillende doeleinden.
Monolithdonderdag 21 maart 2019 @ 09:48
quote:
7s.gif Op donderdag 21 maart 2019 09:47 schreef DevFreak het volgende:

[..]

Ach, kom... het zijn twee totaal verschillende talen met verschillende doeleinden.
Klopt, ik vind het allebei niets. :P
Maar dat doet niets af aan het feit dat de één niet meer of minder volwassen is dan de ander.
#ANONIEMdonderdag 21 maart 2019 @ 09:53
quote:
0s.gif Op donderdag 21 maart 2019 09:48 schreef Monolith het volgende:

[..]

Klopt, ik vind het allebei niets. :P
Maar dat doet niets af aan het feit dat de één niet meer of minder volwassen is dan de ander.
Ik vind PHP zelf eigenlijk een vrij robuuste taal. Wat me derhalve wel stoort zijn de frameworks. Ze zuigen állemaal. Je moet goed bij blijven omdat migreren anders bijna niet te doen is.

Ik zit opm ijn werk nu ook met een groot Laravel 4.2 platform, dat ze willen migreren naar 5.8. Nu is het sowieso wel kut geschreven allemaal, maar ik verwacht dat ik de komende 6 maanden nog bezig ben met dit grapje.
Monolithdonderdag 21 maart 2019 @ 09:56
quote:
7s.gif Op donderdag 21 maart 2019 09:53 schreef DevFreak het volgende:

[..]

Ik vind PHP zelf eigenlijk een vrij robuuste taal. Wat me derhalve wel stoort zijn de frameworks. Ze zuigen állemaal. Je moet goed bij blijven omdat migreren anders bijna niet te doen is.

Ik zit opm ijn werk nu ook met een groot Laravel 4.2 platform, dat ze willen migreren naar 5.8. Nu is het sowieso wel kut geschreven allemaal, maar ik verwacht dat ik de komende 6 maanden nog bezig ben met dit grapje.
Doe mij maar gewoon Java of C# in een enterprise omgeving, iets als Haskell voor nichetoepassingen en van die wat hippere dingetjes als Go, Kotlin en Rust om een beetje mee aan te klooien vooralsnog.
Faux.donderdag 21 maart 2019 @ 09:58
quote:
16s.gif Op woensdag 20 maart 2019 22:44 schreef FlippingCoin het volgende:

[..]

Vind je? :D

Moet nu voor een vak met sensoren werken met C maar vind het meegeven van arrays en itereren over verzamelingen en zo maar een gekut vergeleken met een taal als Go.
Welk vak?
FlippingCoindonderdag 21 maart 2019 @ 10:12
quote:
11s.gif Op donderdag 21 maart 2019 09:58 schreef Faux. het volgende:

[..]

Welk vak?
Oh voor studie. :@
Farenjidonderdag 21 maart 2019 @ 10:43
quote:
7s.gif Op donderdag 21 maart 2019 09:53 schreef DevFreak het volgende:

[..]

Ik vind PHP zelf eigenlijk een vrij robuuste taal. Wat me derhalve wel stoort zijn de frameworks. Ze zuigen állemaal. Je moet goed bij blijven omdat migreren anders bijna niet te doen is.

Ik zit opm ijn werk nu ook met een groot Laravel 4.2 platform, dat ze willen migreren naar 5.8. Nu is het sowieso wel kut geschreven allemaal, maar ik verwacht dat ik de komende 6 maanden nog bezig ben met dit grapje.
Laravel 4.2, die is bijna prehistorisch! Er is heel veel gebeurd sinds de pakweg 5 jaar dus upgraden zal best een klus zijn inderdaad. Ik werk inmiddels al een jaar bijna uitsluitend met laravel en vind het op zich best goed, zeker voor niet al te grote sites. Bij echt grote complexe applicaties loop je toch uiteindelijk tegen de beperkingen aan, en al die magic die er onder de motorkap gebruikt wordt daar word ik ook steeds minder fan van.

Maar dat php een robuuste taal is, daar ben ik het echt niet mee eens. Dankzij het dikke tapijt van laravel is het te doen maar plain php blijft een gammele bende vol pitfalls. De nieuwere versies voegen wel wat leuke dingen toe maar de basis verandert niet echt en daar loop ik nog steeds wel eens tegenaan. Wat dat betreft liever python of perl, daar is beduidend beter over nagedacht.
#ANONIEMdonderdag 21 maart 2019 @ 13:36
quote:
0s.gif Op donderdag 21 maart 2019 10:43 schreef Farenji het volgende:

[..]

Laravel 4.2, die is bijna prehistorisch! Er is heel veel gebeurd sinds de pakweg 5 jaar dus upgraden zal best een klus zijn inderdaad. Ik werk inmiddels al een jaar bijna uitsluitend met laravel en vind het op zich best goed, zeker voor niet al te grote sites. Bij echt grote complexe applicaties loop je toch uiteindelijk tegen de beperkingen aan, en al die magic die er onder de motorkap gebruikt wordt daar word ik ook steeds minder fan van.

Maar dat php een robuuste taal is, daar ben ik het echt niet mee eens. Dankzij het dikke tapijt van laravel is het te doen maar plain php blijft een gammele bende vol pitfalls. De nieuwere versies voegen wel wat leuke dingen toe maar de basis verandert niet echt en daar loop ik nog steeds wel eens tegenaan. Wat dat betreft liever python of perl, daar is beduidend beter over nagedacht.
Ja I know. Ze snappen het ook gewoon echt niet hier dat het migreren weleens langer dan 4 maanden kan duren, zeker met die belachelijke kutcode waar het nu uit bestaat... :r
#ANONIEMdonderdag 21 maart 2019 @ 13:45
quote:
0s.gif Op donderdag 21 maart 2019 10:43 schreef Farenji het volgende:

[..]

Laravel 4.2, die is bijna prehistorisch! Er is heel veel gebeurd sinds de pakweg 5 jaar dus upgraden zal best een klus zijn inderdaad. Ik werk inmiddels al een jaar bijna uitsluitend met laravel en vind het op zich best goed, zeker voor niet al te grote sites. Bij echt grote complexe applicaties loop je toch uiteindelijk tegen de beperkingen aan, en al die magic die er onder de motorkap gebruikt wordt daar word ik ook steeds minder fan van.

Maar dat php een robuuste taal is, daar ben ik het echt niet mee eens. Dankzij het dikke tapijt van laravel is het te doen maar plain php blijft een gammele bende vol pitfalls. De nieuwere versies voegen wel wat leuke dingen toe maar de basis verandert niet echt en daar loop ik nog steeds wel eens tegenaan. Wat dat betreft liever python of perl, daar is beduidend beter over nagedacht.
Maar wacht even...

Wanneer je tien jaar geleden had gezegd dat PHP een bende is vol pitfalls had ik het met je eens geweest. Ben je wel goed op de hoogte van alle ontwikkelingen en verbeteringen die PHP 7+ gebracht heeft? Ik zou graag een concreet voorbeeld willen zien van dingen waar je tegenaan loopt t.o.v. Python, want ik vind het erg meevallen.
Monolithdonderdag 21 maart 2019 @ 15:19
quote:
7s.gif Op donderdag 21 maart 2019 13:45 schreef DevFreak het volgende:

[..]

Maar wacht even...

Wanneer je tien jaar geleden had gezegd dat PHP een bende is vol pitfalls had ik het met je eens geweest. Ben je wel goed op de hoogte van alle ontwikkelingen en verbeteringen die PHP 7+ gebracht heeft? Ik zou graag een concreet voorbeeld willen zien van dingen waar je tegenaan loopt t.o.v. Python, want ik vind het erg meevallen.
Het gaat al mis bij de implementatie van basale data structures.
Farenjidonderdag 21 maart 2019 @ 16:33
quote:
7s.gif Op donderdag 21 maart 2019 13:45 schreef DevFreak het volgende:

[..]

Maar wacht even...

Wanneer je tien jaar geleden had gezegd dat PHP een bende is vol pitfalls had ik het met je eens geweest. Ben je wel goed op de hoogte van alle ontwikkelingen en verbeteringen die PHP 7+ gebracht heeft? Ik zou graag een concreet voorbeeld willen zien van dingen waar je tegenaan loopt t.o.v. Python, want ik vind het erg meevallen.
Ik vind vooral de variable scope van php superkut. In php zijn alle variabelen vanzelf global dus als je binnen een block (bijv een loop) een variabele zet dan is ie buiten dat block opeens ook gezet. Dat is gaar. Maar functies hebben dan opeens weer een eigen scope, waardoor je overal met "function ($foo) use ($bar)" moet werken. Geen enkele andere taal die ik ken doet dat zo. Daardoor is het ook onmogelijk om bijv een "strict pragma" te hebben wat je in perl hebt. Dan word je gedwongen om alle variabelen te instantieren voordat je ze gebruikt en compileert je applicatie niet eens meer als je bijv ergens een tikfout in een variabelenaam hebt. PHP geeft minder fucks hierom en dan zou je onvoorspelbare resultaten kunnen krijgen.

Verder vind ik het kut dat php geen aparte types voor hash (dictionary) en array heeft. Dit zijn heel andere types met andere werking maar in php is het allemaal hetzelfde, een "associative hash". Die numerieke keys kan hebben of string keys, met allemaal pitfalls. En dan heb je ook nog de StdClass objecten. Verwarrend en irritant.

En dan iets wat php nog steeds heeft is die shitload aan inconsequente functies allemaal binnen de core. Tig verschillende sort functies waar 1 had volstaan, functie argumenten die anders zijn, de ene keer $needle, $haystack en de andere keer $haystack, $needle, bijvoorbeeld. Je hebt "str_replace" maar ook "strcomp", zonder underscore opeens.

En dan de type hinting die op zich nice is, maar ook inconsequent is. Doe je:

1function (Foo $foo) {}

En je geeft daar een Bar instance aan mee borkt ie, terecht. Maar doe je:

1function (string $i) {}

En je geeft daar een int aan mee, dan borkt ie niet maar cast ie je int gewoon stilletjes naar string. Het is het allemaal gewoon net niet.
Crutchvrijdag 22 maart 2019 @ 09:46
Toch, als je ermee om weet te gaan, kun je nog prachtig een clean architecture toepassen.
En daarin is PHP echt wel gegroeid.
NoXiavrijdag 22 maart 2019 @ 14:02
Iemand die mij kan helpen?

1
2
3
4
5
6
7
8
<?php
$vorigedag 
date('d-m-Y',strtotime("-1 days")); // 20-03-2019
$vorigejaar =date("Y",$vorigedag);                //    2019
$vorigemaand =date("m",$vorigedag);                //    03
$vorigeday=date("d",$vorigedag);                //    20
$vorigeNaamvanDag date("l"mktime(0,0,0,$vorigemaand,$vorigeday,$vorigejaar));
$vorigedagTXT ='./'.$vorigejaar.'/'.$vorigemaand.'/'.$vorigedag.'.txt'// 2019/03/21-03-2019.txt
?>

Output:
11970/01/21-03-2019.txt

in plaats van
12019/03/21-03-2019.txt


Wat doe ik fout?
mstxvrijdag 22 maart 2019 @ 14:10
Date() verwacht een int als 2e argument en niet een datum als d-m-Y.
mstxvrijdag 22 maart 2019 @ 14:17
1
2
3
<?php
 $vorigedagTXT 
". /"date("Y/m/d-m-Y"strtotime("-1 day")). ".txt" ;
?>
NoXiavrijdag 22 maart 2019 @ 14:25
quote:
1s.gif Op vrijdag 22 maart 2019 14:17 schreef mstx het volgende:

[ code verwijderd ]

Ah, veel beter! Dankje :)
#ANONIEMvrijdag 22 maart 2019 @ 16:38
quote:
0s.gif Op donderdag 21 maart 2019 16:33 schreef Farenji het volgende:

[..]

Ik vind vooral de variable scope van php superkut. In php zijn alle variabelen vanzelf global dus als je binnen een block (bijv een loop) een variabele zet dan is ie buiten dat block opeens ook gezet. Dat is gaar. Maar functies hebben dan opeens weer een eigen scope, waardoor je overal met "function ($foo) use ($bar)" moet werken. Geen enkele andere taal die ik ken doet dat zo. Daardoor is het ook onmogelijk om bijv een "strict pragma" te hebben wat je in perl hebt. Dan word je gedwongen om alle variabelen te instantieren voordat je ze gebruikt en compileert je applicatie niet eens meer als je bijv ergens een tikfout in een variabelenaam hebt. PHP geeft minder fucks hierom en dan zou je onvoorspelbare resultaten kunnen krijgen.

Verder vind ik het kut dat php geen aparte types voor hash (dictionary) en array heeft. Dit zijn heel andere types met andere werking maar in php is het allemaal hetzelfde, een "associative hash". Die numerieke keys kan hebben of string keys, met allemaal pitfalls. En dan heb je ook nog de StdClass objecten. Verwarrend en irritant.

En dan iets wat php nog steeds heeft is die shitload aan inconsequente functies allemaal binnen de core. Tig verschillende sort functies waar 1 had volstaan, functie argumenten die anders zijn, de ene keer $needle, $haystack en de andere keer $haystack, $needle, bijvoorbeeld. Je hebt "str_replace" maar ook "strcomp", zonder underscore opeens.

En dan de type hinting die op zich nice is, maar ook inconsequent is. Doe je:
[ code verwijderd ]

En je geeft daar een Bar instance aan mee borkt ie, terecht. Maar doe je:
[ code verwijderd ]

En je geeft daar een int aan mee, dan borkt ie niet maar cast ie je int gewoon stilletjes naar string. Het is het allemaal gewoon net niet.
Inhoudelijk heb je deels zeker gelijk, maar het andere deel klopt niet. Ik kom hier later nog op terug. :)

[ Bericht 0% gewijzigd door #ANONIEM op 22-03-2019 16:38:41 ]
embedguyvrijdag 22 maart 2019 @ 20:14
quote:
14s.gif Op vrijdag 22 maart 2019 14:02 schreef NoXia het volgende:
Iemand die mij kan helpen?
[ code verwijderd ]

Output:
[ code verwijderd ]


in plaats van
[ code verwijderd ]



Wat doe ik fout?
Just a note;
Houd er rekening mee dat *willekeurig-moment* - "1 dag" niet altijd de vorige dag oplevert (zoals je denk ik aanneemt). Je hebt namelijk nog dingen als Day Light Saving die ervoor kunnen zorgen dat het nog steeds dezelfde dag is als je de berekening niet in UTC uitvoert.

[ Bericht 0% gewijzigd door embedguy op 22-03-2019 20:19:40 ]
slacker_nlmaandag 25 maart 2019 @ 09:32
Als je gaat rekenen met tijd moet je altijd de tijd converten naar UTC dan de berekening doen en daarna weer terug naat je lokale tijdzone. Dan ben je in 99,999999% van de tijd veilig.

Rekenen met tijd is echt kut door alle tijdzones, daglichtspaartijden, veranderingen van bovengenoemde op willekeurige momenten (google op Amsterdamse tijd en eventueel op 1mei 1940 voor als je met software werkt waarbij je software potentieel met bejaarden werkt).
bloemetjeklaverdinsdag 26 maart 2019 @ 20:44
quote:
7s.gif Op vrijdag 22 maart 2019 16:38 schreef DevFreak het volgende:

[..]

Inhoudelijk heb je deels zeker gelijk, maar het andere deel klopt niet. Ik kom hier later nog op terug. :)
Wanneer ongeveer? :p Ben wel benieuwd.

Bedoel zelf heb ik het idee dat hij gelijk heeft in wat hij zegt maar dat hij gewoon de voorkeur voor strict heeft om het zo maar te zeggen. PHP is wat losjes, dat weet iedereen, om dan te gaan zeggen dat je dat persoonlijk helemaal niet fijn vindt, tjah oke. Is je eigen voorkeur/mening. Voor mij werkt het prima, niet omdat ik niet precies genoeg werk, misschien wel juist omdat ik precies genoeg werk met een taal waarbij dat niet nodig is waardoor het niet helemaal haywire gaat.

Als je moeite hebt met scope etc van een taal omdat deze afwijkt van een andere taal dan tjah.. superkut dan voor hemzelf zoals hij al zegt
embedguydinsdag 26 maart 2019 @ 21:33
quote:
0s.gif Op maandag 25 maart 2019 09:32 schreef slacker_nl het volgende:
Als je gaat rekenen met tijd moet je altijd de tijd converten naar UTC dan de berekening doen en daarna weer terug naat je lokale tijdzone. Dan ben je in 99,999999% van de tijd veilig.

Rekenen met tijd is echt kut door alle tijdzones, daglichtspaartijden, veranderingen van bovengenoemde op willekeurige momenten (google op Amsterdamse tijd en eventueel op 1mei 1940 voor als je met software werkt waarbij je software potentieel met bejaarden werkt).
Of een library gebruiken die daar rekening mee houdt.

Maar ik had het even opgezocht en je kan voor PHP globaal instellen dat new Date() altijd een utc date retourneert, kan goed dat dat ook de default is aangezien dat lokale tijden niet heel veel sense maken voor een taal die bedoeld is om op servers te draaien.
#ANONIEMwoensdag 27 maart 2019 @ 10:13
quote:
0s.gif Op donderdag 21 maart 2019 16:33 schreef Farenji het volgende:

[..]

Ik vind vooral de variable scope van php superkut. In php zijn alle variabelen vanzelf global dus als je binnen een block (bijv een loop) een variabele zet dan is ie buiten dat block opeens ook gezet. Dat is gaar. Maar functies hebben dan opeens weer een eigen scope, waardoor je overal met "function ($foo) use ($bar)" moet werken. Geen enkele andere taal die ik ken doet dat zo. Daardoor is het ook onmogelijk om bijv een "strict pragma" te hebben wat je in perl hebt. Dan word je gedwongen om alle variabelen te instantieren voordat je ze gebruikt en compileert je applicatie niet eens meer als je bijv ergens een tikfout in een variabelenaam hebt. PHP geeft minder fucks hierom en dan zou je onvoorspelbare resultaten kunnen krijgen.
Dit klopt deels. Je refereert nu waarschijnlijk naar procedureel geschreven PHP-code, waarbij dit in ieder geval het standaardgedrag was onder versie 5.x. Ik ken echter geen enkele programmeur die hedendaags nog procedurele PHP-code schrijft. Tegenwoordig is het object-georiënteerd programmeren actueel, waarbij je dan werkt met classes, properties en functies met hun eigen visibility levels.

Zelfs voor de meest simpele applicaties pas ik OOP toe. Een simpel voorbeeld:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

namespace TCPChat
{

    use React\EventLoop\Factory;
    use React\Socket\ConnectionInterface;
    use React\Socket\Server;

    /**
     * Class Application
     * @package TCPChat
     */
    final class Application
    {
        /**
         * @return void
         */
        public static function main(): void
        {
               // Je code hier
        }
    }

    Application::main();
}

Zoals je ziet staat hier niets in de global namespace.

quote:
Verder vind ik het kut dat php geen aparte types voor hash (dictionary) en array heeft. Dit zijn heel andere types met andere werking maar in php is het allemaal hetzelfde, een "associative hash". Die numerieke keys kan hebben of string keys, met allemaal pitfalls. En dan heb je ook nog de StdClass objecten. Verwarrend en irritant.
Dit is volstrekte nonsens. De Zend-engine biedt ons verscheidene datastructuren aan, zoals je hier kunt lezen:

https://www.php.net/manual/en/spl.datastructures.php

Zit al jaren in de SPL.

quote:
En dan iets wat php nog steeds heeft is die shitload aan inconsequente functies allemaal binnen de core. Tig verschillende sort functies waar 1 had volstaan, functie argumenten die anders zijn, de ene keer $needle, $haystack en de andere keer $haystack, $needle, bijvoorbeeld. Je hebt "str_replace" maar ook "strcomp", zonder underscore opeens.

En dan de type hinting die op zich nice is, maar ook inconsequent is. Doe je:
[ code verwijderd ]

En je geeft daar een Bar instance aan mee borkt ie, terecht. Maar doe je:
[ code verwijderd ]

En je geeft daar een int aan mee, dan borkt ie niet maar cast ie je int gewoon stilletjes naar string. Het is het allemaal gewoon net niet.
Dit gedrag is in PHP >7.0 allang aangepast en dus niet meer van toepassing. In PHP 7.4 wordt het zelfs allemaal nog veel mooier, met onder andere static typed class properties. Ik kan niet wachten tot december. :)

quote:
0s.gif Op dinsdag 26 maart 2019 20:44 schreef bloemetjeklaver het volgende:

[..]

Wanneer ongeveer? :p Ben wel benieuwd.

Bedoel zelf heb ik het idee dat hij gelijk heeft in wat hij zegt maar dat hij gewoon de voorkeur voor strict heeft om het zo maar te zeggen. PHP is wat losjes, dat weet iedereen, om dan te gaan zeggen dat je dat persoonlijk helemaal niet fijn vindt, tjah oke. Is je eigen voorkeur/mening. Voor mij werkt het prima, niet omdat ik niet precies genoeg werk, misschien wel juist omdat ik precies genoeg werk met een taal waarbij dat niet nodig is waardoor het niet helemaal haywire gaat.

Als je moeite hebt met scope etc van een taal omdat deze afwijkt van een andere taal dan tjah.. superkut dan voor hemzelf zoals hij al zegt
^ zie hier :P

Er heerst nogal wat desinformatie omtrent PHP waardoor de taal ten onrechte in een negatief daglicht gesteld wordt. Het is om gek van te worden.

[ Bericht 1% gewijzigd door #ANONIEM op 27-03-2019 10:21:18 ]
NoXiavrijdag 29 maart 2019 @ 09:33
SQL hell!

Waarom werkt een simpele select van een IP adres niet?

1select * from ip_database where IP = 'ip adres hier''

Bij het selecteren van een ID komt het ip adres wel gewoon naar voren. Moet een IP adres anders opgeslagen worden? Wordt nu opgeslagen als varbinary(16). Of moet ik het IP adres via een andere weg uit de DB trekken?

Gaat hij over zijn nek door de puntjes?
#ANONIEMvrijdag 29 maart 2019 @ 10:22
quote:
14s.gif Op vrijdag 29 maart 2019 09:33 schreef NoXia het volgende:
SQL hell!

Gaat hij over zijn nek door de puntjes?
Nee door ''' i.p.v. ''
NoXiavrijdag 29 maart 2019 @ 10:26
quote:
0s.gif Op vrijdag 29 maart 2019 10:22 schreef phoenyx het volgende:

[..]

Nee door ''' i.p.v. ''
1SELECT * FROM `ip_database` WHERE IP = "8.8.8.8"
levert ook niets op terwijl de row wel gewoon in de database staat.
#ANONIEMvrijdag 29 maart 2019 @ 10:41
quote:
14s.gif Op vrijdag 29 maart 2019 10:26 schreef NoXia het volgende:

[..]
[ code verwijderd ]

levert ook niets op terwijl de row wel gewoon in de database staat.
Lijkt me dat er een bepaalde omzetting nodig is, cast ofzo om het overeen te laten komen.
Bedoel als je in de database kijkt met phpmyadmin of een workbench kan het best zo zijn dat je 8.8.8.8 ziet omdat die het omzetten naar iets leesbaars. Zij weten immers dat het varbinary is dus zetten 0x5468697320697320612074657374 om naar 8.8.8.8 of wat dan ook.

Dus je moet de 8.8.8.8 converten of casten ofzo naar varbinary voordat je vergelijking iets op gaat leveren. Sla zelf ook ip's op maar gewoon als varchar, nooit echt aan binary gedacht om zoiets mee op te slaan

[ Bericht 23% gewijzigd door #ANONIEM op 29-03-2019 11:25:55 ]
NoXiavrijdag 29 maart 2019 @ 11:53
quote:
0s.gif Op vrijdag 29 maart 2019 10:41 schreef phoenyx het volgende:

[..]

Lijkt me dat er een bepaalde omzetting nodig is, cast ofzo om het overeen te laten komen.
Bedoel als je in de database kijkt met phpmyadmin of een workbench kan het best zo zijn dat je 8.8.8.8 ziet omdat die het omzetten naar iets leesbaars. Zij weten immers dat het varbinary is dus zetten 0x5468697320697320612074657374 om naar 8.8.8.8 of wat dan ook.

Dus je moet de 8.8.8.8 converten of casten ofzo naar varbinary voordat je vergelijking iets op gaat leveren. Sla zelf ook ip's op maar gewoon als varchar, nooit echt aan binary gedacht om zoiets mee op te slaan
Thanks. Ik had deze ook op varchar staan maar die kreeg ik er ook niet uit gepompt. Daarna veranderd naar varbinary. Maar dit werkte ook niet.

Ik ga nog even verder kloten.
NoXiavrijdag 29 maart 2019 @ 13:46
Als ik

1SELECT * FROM `ip_database` WHERE `IP` LIKE "%8.8.8.8%"
doe krijg ik hem wel 8)7 :N
zoemvrijdag 29 maart 2019 @ 13:56
Had je al gekeken naar inet_pton() en inet_ntop()? Dan kun je ipv4/6 converteren van/naar binary. Voor ipv4 only kun je kijken naar int in combinatie met inet_ntoa() en inet_aton().
#ANONIEMvrijdag 29 maart 2019 @ 13:57
quote:
14s.gif Op vrijdag 29 maart 2019 13:46 schreef NoXia het volgende:
Als ik
[ code verwijderd ]

doe krijg ik hem wel 8)7 :N
Oke misschien spaties die hij dan meeneemt in de vergelijking?
NoXiavrijdag 29 maart 2019 @ 14:18
quote:
0s.gif Op vrijdag 29 maart 2019 13:56 schreef zoem het volgende:
Had je al gekeken naar inet_pton() en inet_ntop()? Dan kun je ipv4/6 converteren van/naar binary. Voor ipv4 only kun je kijken naar int in combinatie met inet_ntoa() en inet_aton().
Deze kon ik niet. Hier ga ik naar kijken.

quote:
0s.gif Op vrijdag 29 maart 2019 13:57 schreef phoenyx het volgende:

[..]

Oke misschien spaties die hij dan meeneemt in de vergelijking?
Leek mij inderdaad ook logisch. Maar heb geen spatie kunnen ontdekken. Vaag hoor.

Nog even gecheckt met

1UPDATE ip_database SET IP = LTRIM(RTRIM(IP))

0 rijen bijgewerkt.

[ Bericht 12% gewijzigd door NoXia op 29-03-2019 14:31:52 ]
#ANONIEMvrijdag 29 maart 2019 @ 14:39
Weet eigenlijk niet waarom ik over spaties begon. like pakt het gewoon ook op zo'n manier die voor ons leesbaar is. Dus is een verkapte soort van cast in dit geval (maar dan dus zonder 1 op 1 vergelijking).
#ANONIEMvrijdag 29 maart 2019 @ 21:04
Heb het nu thuis even nagedaan.. maar bij mij werkt gewoon alles wat jij probeert..
SELECT * FROM `ip_database` WHERE IP = "8.8.8.8" - dit dus ook bijvoorbeeld, met varbinary(16). Ben nu wel benieuwd wat jij anders doet of anders is..
#ANONIEMdinsdag 2 april 2019 @ 19:57
wat een stilte
cablegunmasterdonderdag 20 juni 2019 @ 09:15
quote:
17s.gif Op dinsdag 2 april 2019 19:57 schreef DevFreak het volgende:
wat een stilte
ja ik was aan het werk of factorio aan het spelen laatst *O* Factorio (vervolg op openttd) maar dan machinaal.

Oh en mijn backend voor mijn Socket message parser heb ik ook gefixed :) .

Java:
SPOILER
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
//SocketMessageParser.  *O* 
public class SocketMessageParser {

    private final static int MASK_SIZE = 4;
    private Boolean messageReady = false;
    private String message;
    private int messageLength = 0;

    private List content = new ArrayList<>();
    private List maskList = new ArrayList<>();
    private SocketMessageState state = END_MESSAGE;

    private void reset() {
        state = END_MESSAGE;

        message = null;
        messageLength = 0;
        messageReady = false;

        content.clear();
        maskList.clear();
    }

    /**
     * Message parsed to string.
     * ONLY IMPLEMENTED STEP 1 (if size is smaller as 126)
     *
     * @param input is based on the
     */
    public void parseMessage(int input) {
        switch (state) {
            case END_MESSAGE:
                //Check if its end of message
                if (checkBitActivated(7, input)) {
                    reset();
                }
                state = LENGTH;
                break;
            case LENGTH:
                if (checkBitActivated(7, input)) {
                    messageLength = (input - 128); //shift to remove last bit
                    state = MASK;
                } else {
                    messageLength = input;
                }
                break;
            case MASK:
                if (maskList.size() < MASK_SIZE) {
                    maskList.add(input);
                    if (maskList.size() == MASK_SIZE) {
                        state = CONTENT;
                    }
                }
                break;
            case CONTENT:
                if (content.size() < messageLength) {
                    content.add(input);
                    if (content.size() == messageLength) {
                        state = END_MESSAGE;
                        decodeMessage();
                        messageReady = true;
                    }
                }
                break;
            default:
                reset();
                break;
        }
    }

    /**
     * @param bitFromRight (0 - 7) is range.
     */
    private Boolean checkBitActivated(int bitFromRight, int value) {
        return ((value >> bitFromRight) & 0x01) == 1;
    }

    /**
     * Get unsigned byte from Integer.
     * https://android.jlelse.eu/java-when-to-use-n-8-0xff-and-when-to-use-byte-n-8-2efd82ae7dd7
     */

    private void decodeMessage() {
        byte[] decoded = new byte[content.size()];

        for (int i = 0; i < content.size(); i++) {
            decoded[i] = (byte) (content.get(i) ^ (maskList.get(i % 4)));
        }
        message = new String(decoded, StandardCharsets.UTF_8);
        System.out.println(message);
    }


    public boolean getMessageReady() {
        return messageReady;
    }

    public String getMessage() {
        return message;
    }
}


//socketResponse.java (stuur bericht in byte array  terug want zo werken sockets)
    private byte[] sendCommandBack(String s) {

        int length = s.length();
        byte startByte = (byte) 129;
        byte[] destinationBuffer = new byte[0];
        if (length <= 125) {

            byte[] startBuffer = new byte[2];
            byte lengthByte = (byte) s.length();
            startBuffer[0] = startByte;
            startBuffer[1] = lengthByte;

            byte[] endBuffer = s.getBytes(UTF_8);
            destinationBuffer = new byte[endBuffer.length + startBuffer.length];

            System.arraycopy(startBuffer, 0, destinationBuffer, 0, startBuffer.length);
            System.arraycopy(endBuffer, 0, destinationBuffer, 2, endBuffer.length);

        } else {
            //TODO bigger split up message.
        }

        return destinationBuffer;
    }
Werkt Perfect (althans single threaded getest als ik meerdere connecties heb moet ik nog eens kijken of ik alle variabelen goed gezet heb maar meerdere berichten achter elkaar kan het versturen en ontvangen . *O*

[ Bericht 44% gewijzigd door cablegunmaster op 20-06-2019 11:03:24 ]
MrNilesvrijdag 17 april 2020 @ 12:02
in deze corona tijden spelen we nogal eens een dobbelspel met andere mensen.
Zelfde spelletje gekoch, en dan videobellen en dobbelen voor de camera.
Op zich werkt het wel, maar heel handig gaat het niet.

Wellicht bestaat het al...dan krijg ik het niet gevonden

Nu moet het vast mogelijk zijn om een soort Gameroom te maken om met meerdere mensen op meerdere locaties, dezelfde dobbelstenen online te kunnen zien.

Hoe werkt zoiets...waar moet ik beginnen?
Alfjevrijdag 17 april 2020 @ 13:06
http://rolldicewithfriends.com/
slacker_nlzondag 19 april 2020 @ 18:25
Vroegah, had PHP Pear voor als een repository voor packages, waarbij men modules en zulks kon delen. Is dat nog steeds een ding of is het inmiddels iets anders geworden?
Aetherzondag 19 april 2020 @ 18:35
quote:
0s.gif Op zondag 19 april 2020 18:25 schreef slacker_nl het volgende:
Vroegah, had PHP Pear voor als een repository voor packages, waarbij men modules en zulks kon delen. Is dat nog steeds een ding of is het inmiddels iets anders geworden?
Meer Composer: https://getcomposer.org/
slacker_nlzondag 19 april 2020 @ 20:48
quote:
7s.gif Op zondag 19 april 2020 18:35 schreef Aether het volgende:

[..]

Meer Composer: https://getcomposer.org/
Ok, think I have it. Thanks