Npm van php?quote:Op zondag 19 april 2020 18:35 schreef Aether het volgende:
[..]
Meer Composer: https://getcomposer.org/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | CklrIGJlbiBlZW4gbm9vYiBvZnpvLCB3YW50IGlrIGtyaWpnIGhldCBuaWV0IHZvb3IgZWxrYWFy IG9tIG1ldCBuYW1lc3BhY2VzIGFuZCBjbGFzc2VzIHRlIHdlcmtlbi4KCltjb2RlXQo8P3BocAoj IHNyYy9Gb28vQmF6LnBocApuYW1lc3BhY2UgXEZvb1xCYXI7CmNsYXNzIEJheiB7CiAgICBwdWJs aWMgJHZhciA9ICdhIGRlZmF1bHQgdmFsdWUnOwogICAgcHVibGljIGZ1bmN0aW9uIGRpc3BsYXlW YXIoKSB7CiAgICAgICAgZWNobyAkdGhpcy0+dmFyOwogICAgfQp9Cj8+ClsvY29kZV0KCkRlIHRl c3Q6CgpbY29kZV0KPD9waHAKCnVzZSBGb29cQmFyOwp1c2UgUEhQVW5pdFxGcmFtZXdvcmtcVGVz dENhc2U7CgpjbGFzcyBGb29CYXJUZXN0IGV4dGVuZHMgVGVzdENhc2UgewogICAgcHVibGljIGZ1 bmN0aW9uIHRlc3RJbnN0YW50aWF0aW9uKCkgewoKICAgICAgICAkaW1wb3J0ID0gbmV3IEZvb1xC YXJcQmF6KCk7CiAgICAgICAgLy8kdGhpcy0+YXNzZXJ0SW5zdGFuY2VPZignQmF6JywgJGltcG9y dCk7CiAgICB9Cn0KCj8+ClsvY29kZV0KClpvZHJhIGlrIHBocHVuaXQgdGVzdHMgZHJhYWk6Cgpb Y29kZV0KMSkgRm9vQmFyVGVzdDo6dGVzdEluc3RhbnRpYXRpb24KRXJyb3I6IENsYXNzICdGb29c QmFyXEJheicgbm90IGZvdW5kClsvY29kZV0KCkVuIGhldCBtYWFrdCBuaWV0IHVpdCBvZiBpayB1 c2UgRm9vXEJhciwgdXNlIFxGb29cQmFyIGdlYnJ1aWssIG9mIGRhdCBpayAkdGhpbmcgPSBuZXcg Rm9vXEJhclxCYXogb2YgXEZvb1xCYXJcQmF6IG9mIGFsbGVlbiBCYXogZ2VicnVpaywgZGUgZm91 dG1lbGRpbmcgaXMgZGF0IGhldCBuaWV0IHdlcmt0LiBXaGF0IGFtIEkgbWlzc2luZz8K |
Use statements werken niet zoals met perl, je moet een corresponderende mappenstructuur hebben. Maw je Baz.php class moet in de src/Foo/Bar folder staan, en je moet in je test dan ook "use Foo/Bar/Baz" hebben. Een use statement is in php niks meer dan definitie van een alias, het doet vanzichzelf helemaal niks, en laadt ook geen bestanden of folders in ofzo.quote:Op zondag 19 april 2020 22:11 schreef slacker_nl het volgende:
Ok, om om de cloudfare protectie heen te komen, even m'n bericht gebase64-ed. Wil je het lezen: base64 -d en je bent golden.
[ code verwijderd ]
Dit is wat ik begrepen heb:quote:Op zondag 19 april 2020 22:29 schreef Farenji het volgende:
[..]
Use statements werken niet zoals met perl, je moet een corresponderende mappenstructuur hebben. Maw je Baz.php class moet in de src/Foo/Bar folder staan, en je moet in je test dan ook "use Foo/Bar/Baz" hebben. Een use statement is in php niks meer dan definitie van een alias, het doet vanzichzelf helemaal niks, en laadt ook geen bestanden of folders in ofzo.
Nope, de conventie is 1 class per file met dezelfde naam als de file. Dus src/Snarf/Gronk.php met daarin class Gronk en namespace Snarf. In andere files doe je dan "use Snarf/Gronk;" en dan "$gronk = new Gronk;", of zonder use stmt: "new \Snarf\Gronk;".quote:Op zondag 19 april 2020 22:45 schreef slacker_nl het volgende:
[..]
Dit is wat ik begrepen heb:
namespace Foo => src/Foo.php, in Foo.php kan je een class neerplempen, laten we zeggen class Foodle.
Dan kan ik in een andere file, use Foo\Foodle; doen en dan kan ik $thing = new Foo\Foodle(); zeggen en dan moet het werken, right?
Bij gebrek aan een smiley waar het hoofd ontploft. Die path voorbeelden onder aan de pagina zijn ook mind is blown verhaal.quote:Op zondag 19 april 2020 23:06 schreef Farenji het volgende:
[..]
Nope, de conventie is 1 class per file met dezelfde naam als de file. Dus src/Snarf/Gronk.php met daarin class Gronk en namespace Snarf. In andere files doe je dan "use Snarf/Gronk;" en dan "$gronk = new Gronk;", of zonder use stmt: "new \Snarf\Gronk;".
Als je autoloading gebruikt (zoals met composer) moet je de psr-4 standaard volgen anders werkt het niet.
https://www.php-fig.org/psr/psr-4/
1 | { "autoload" : { "psr-4" : {"//Foo//" : "src" }}} |
Ja dat klopt.quote:Op zondag 19 april 2020 23:17 schreef slacker_nl het volgende:
[..]
Bij gebrek aan een smiley waar het hoofd ontploft. Die path voorbeelden onder aan de pagina zijn ook mind is blown verhaal.
Ik denk dat ik het snap, dus als ik in de composer.json het volgende zeg:
[ code verwijderd ]
Dan is de file src/Bar.php, met namespace Foo, eigenlijk 'Foo/Bar'? En in die file heb ik dan ook een class die Bar heet. Ja? Nee, maybe?
Waarom?quote:Op zaterdag 10 oktober 2020 11:44 schreef DevFreak het volgende:
[..]
Het valt me op dat ik en andere PHP'ers altijd spontaan jeuk krijgen van NPM.
Hm vind zowel npm als yarn fijner werken dan composer juist.quote:Op zaterdag 10 oktober 2020 11:51 schreef DevFreak het volgende:
[..]
Composer werkt gewoon veel prettiger. Is even geleden, maar i had er destijds ruzie mee.
Terecht, wat een ellendige cluster fuck is dat zeg. Sowieso dat hele js ecosysteem is dikke ellende. Honderd miljoen miljard packages die vaak bestaan uit triviale oneliners omdat js nog steeds geen fatsoenlijke core libs heeft.quote:Op zaterdag 10 oktober 2020 11:44 schreef DevFreak het volgende:
[..]
Het valt me op dat ik en andere PHP'ers altijd spontaan jeuk krijgen van NPM.
Klopt, ik moet ook echt helemaal niks van dat JS hebben. Het is al bijzonder lastig om de autoloading functionerend te krijgen...quote:Op zaterdag 10 oktober 2020 12:07 schreef Farenji het volgende:
[..]
Terecht, wat een ellendige cluster fuck is dat zeg. Sowieso dat hele js ecosysteem is dikke ellende. Honderd miljoen miljard packages die vaak bestaan uit triviale oneliners omdat js nog steeds geen fatsoenlijke core libs heeft.
Autoloading?quote:Op zaterdag 10 oktober 2020 12:17 schreef DevFreak het volgende:
[..]
Klopt, ik moet ook echt helemaal niks van dat JS hebben. Het is al bijzonder lastig om de autoloading functionerend te krijgen...
Wat ze bij Google doen met V8 moeten ze lekker zelf weten, maar ik kijk lekker de andere kant op.
Al moet ik zeggen dat NPM binnen .NET best redelijk werkt zolang je het niet verneukt.
De hoeveelheid packages is wel een punt bij javascript ja.quote:Op zaterdag 10 oktober 2020 12:07 schreef Farenji het volgende:
[..]
Terecht, wat een ellendige cluster fuck is dat zeg. Sowieso dat hele js ecosysteem is dikke ellende. Honderd miljoen miljard packages die vaak bestaan uit triviale oneliners omdat js nog steeds geen fatsoenlijke core libs heeft.
De taal op zich is prima, maar inderdaad, veel code in het ecosysteem moet vaak backwards-compatible zijn. Vandaar dat de libraries soms wat verouderd aanvoelen. Maar functioneel werkt het prima.quote:Op zaterdag 10 oktober 2020 12:00 schreef FlippingCoin het volgende:
[..]
Hm vind zowel npm als yarn fijner werken dan composer juist.
Vind sowieso het PHP ecosysteem altijd zo ouderwets aanvoelen vergeleken bij dat van JS. Maar goed kan komen doordat ik recent weer met PHP moet werken.
Asynchroniteit is een beetje raar in javascript, het is een synchrone taal die taken door de environment uit kan laten voeren. Je hebt wel await en ze promises wat best fijn werkt, hiernaast zijn ze bezig met wat reactive elementen die nu in rxjs zitten in de taal te trekken. Het probleem is dat je ook oudere browsers wilt ondersteunen en daar heb je polyfils voor nodig. Ik weet niet per se of dat met andere talen anders zou zijn.quote:Op zaterdag 10 oktober 2020 14:30 schreef DevFreak het volgende:
[..]
De taal op zich is prima, maar inderdaad, veel code in het ecosysteem moet vaak backwards-compatible zijn. Vandaar dat de libraries soms wat verouderd aanvoelen. Maar functioneel werkt het prima.
Het is alleen heel zuur dat je een externe library moet gebruiken voor high-performance computing (async, nieuwe threads).
Ik moest even opzoeken wat het isquote:Op zaterdag 10 oktober 2020 14:54 schreef FlippingCoin het volgende:
[..]
Asynchroniteit is een beetje raar in javascript, het is een synchrone taal die taken door de environment uit kan laten voeren. Je hebt wel await en ze promises wat best fijn werkt, hiernaast zijn ze bezig met wat reactive elementen die nu in rxjs zitten in de taal te trekken. Het probleem is dat je ook oudere browsers wilt ondersteunen en daar heb je polyfils voor nodig. Ik weet niet per se of dat met andere talen anders zou zijn.
Ik neem toch aan dat je geen high performance computing in PHP probeert te doen.quote:Op zaterdag 10 oktober 2020 14:30 schreef DevFreak het volgende:
[..]
De taal op zich is prima, maar inderdaad, veel code in het ecosysteem moet vaak backwards-compatible zijn. Vandaar dat de libraries soms wat verouderd aanvoelen. Maar functioneel werkt het prima.
Het is alleen heel zuur dat je een externe library moet gebruiken voor high-performance computing (async, nieuwe threads).
Jawel, ik ben de boel open aan het breken hier.quote:Op zaterdag 10 oktober 2020 15:12 schreef Monolith het volgende:
[..]
Ik neem toch aan dat je geen high performance computing in PHP probeert te doen.
Gebruik dan gelijk Rust.quote:Op zaterdag 10 oktober 2020 15:17 schreef DevFreak het volgende:
[..]
Jawel, ik ben de boel open aan het breken hier.
Das een beetje tldw;quote:
Hilarische video, zelf ook niet helemaal gezien hoor. Het begin is leuk. Kreeg het doorgestuurd van een vriend.quote:Op zaterdag 10 oktober 2020 17:55 schreef Monolith het volgende:
[..]
Das een beetje tldw;
Samenvatting?
1 2 3 4 5 | time company gak value ---- ------- --- ----- 1603696423188897549 Advanced Micro Devices 79.3 81.96 1603696423188897549 BAM Groep Koninklijke 1.168 1.15 1603696423188897549 Basic-Fit 20.25 22.55 |
1 | SELECT ((value / gak) * 100) - 100 AS "difference" FROM stocks GROUP BY company |
Ik ken influx db zelf niet, maar zo te zien hebben ze daar mean als aggregate functie voor het gemiddelde:quote:Op woensdag 28 oktober 2020 22:36 schreef xaban06 het volgende:
Ik ben voornamelijk een OPS engineer. Daarbij doe ik af en toe DEV. Dev is dus niet mijn sterkste kant.
Ik heb een InfluxDB database waar in ik 1 keer per dag bij houd wat de waarde van een aandeel op dat moment is (value) + prijs waar ik het voor heb gekocht (gak).
Dat ziet er zo uit:
[ code verwijderd ]
In Grafana wil ik van ieder aandeel zien wat mijn rendement is (in procenten). Daarvoor gebruik ik de volgende query:
[ code verwijderd ]
Opzich werkt dat gewoon goed. Nu wil ik een 2e query maken, waarin ik het gemiddelde rendement van alle aandelen bij elkaar per dag wil zien (in procenten). Helaas kom ik er met verschillende queries niet uit.
Uiteraard kan ik mijn rendement al berekenen bij het invoeren van data in mijn database, zodat ik het in de query niet meer hoef te berekenen. Maar dat doe ik liever niet. Als het met een query on-the-fly kan doe ik het liever op die manier.
Iemand?
Dat is een aggregate function en aggregate en non-aggregate mag je niet mixen in een query. Dan nog, zou ik de correcte query niet weten.quote:Op woensdag 28 oktober 2020 22:42 schreef Monolith het volgende:
[..]
Ik ken influx db zelf niet, maar zo te zien hebben ze daar mean als aggregate functie voor het gemiddelde:
https://influxdbcom.readt(...)aggregate_functions/
1 | ERR: mixing aggregate and non-aggregate queries is not supported |
Welke non-aggregate zou je dan gebruiken?quote:Op woensdag 28 oktober 2020 22:45 schreef xaban06 het volgende:
[..]
Dat is een aggregate function en aggregate en non-aggregate mag je niet mixen in een query. Dan nog, zou ik de correcte query niet weten.
quote:Op woensdag 28 oktober 2020 22:50 schreef Monolith het volgende:
[..]
Welke non-aggregate zou je dan gebruiken?
Ik zou gokken op zoiets:
SELECT MEAN((value / gak) * 100) - 100)
From stocks group by time (1d)
1 2 3 | > SELECT MEAN(((value / gak) * 100) - 100) FROM stocks ERR: expected field argument in mean() > |
Ah ja, Daar was ik al bang voor.quote:
quote:Op woensdag 28 oktober 2020 22:58 schreef Monolith het volgende:
[..]
Ah ja, Daar was ik al bang voor.
Zo uit mijn hoofd levert dit hetzelfde resultaat:
SELECT (MEAN(value) / MEAN(gak) * 100) - 100 From stocks
1 2 3 4 5 6 7 8 | > SELECT (MEAN(value) / MEAN(gak) * 100) - 100 From stocks GROUP BY time(1d) name: stocks time mean_mean ---- --------- 1603670400000000000 3.5091412669487028 1603756800000000000 2.1996276389281775 1603843200000000000 0.932876324809385 > |
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |