De Devschuur Coffee Corner - Iteratie ⓬ Vorige deel Overzicht Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 77 ... 102 Laatste
Acties:
  • 585.991 views

Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 15:56

Koenvh

Hier tekenen: ______

Giesber schreef op donderdag 1 oktober 2020 @ 11:33:
[...]

De requirements zijn dan ook niet veranderd lijkt me.
HTTPS!!!!1!!1!1!1!1!2!
Wat als nu een Iraanse staatshacker m'n stem verandert met een MITM-aanval? :+

🠕 This side up


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08-10 20:31

.oisyn

Moderator Devschuur®

Demotivational Speaker

Hydra schreef op donderdag 1 oktober 2020 @ 10:43:
[...]


Wel mooi ook dat 'ie in 20 jaar ofzo niet veranderd is :D
Maar dat is niet waar ;)

Afbeeldingslocatie: http://poll.dezeserver.nl/results.cgi?pid=402997&layout=6&sort=prc

Afbeeldingslocatie: http://poll.dezeserver.nl/results.cgi?pid=402997&layout=8&sort=prc

Afbeeldingslocatie: http://poll.dezeserver.nl/results.cgi?pid=402997&layout=10&sort=prc

Afbeeldingslocatie: http://poll.dezeserver.nl/results.cgi?pid=402997&layout=13&sort=prc

Afbeeldingslocatie: http://poll.dezeserver.nl/results.cgi?pid=402997&layout=15&sort=prc

.edit: waardeloos dat ie nog steeds geen valide cert heeft. Nu cached de tweakers http proxy het resultaat.

[ Voor 14% gewijzigd door .oisyn op 01-10-2020 11:52 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Technically correct is the best kind of correct :)

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Vihaio
  • Registratie: November 2006
  • Laatst online: 06-10 17:30
.oisyn schreef op donderdag 1 oktober 2020 @ 11:49:
[...]


Maar dat is niet waar ;)

[Afbeelding]

[Afbeelding]

[Afbeelding]

[Afbeelding]

[Afbeelding]

.edit: waardeloos dat ie nog steeds geen valide cert heeft. Nu cached de tweakers http proxy het resultaat.
Oehh, dit mag niet volgens de algmene voorwaarden :o
De kleine lettertjes: Je mag deze polls overal gebruiken, maar de layouts van GoT, FOK!, TweakZone, ThemeParkClub, HackersFuture, TechZine, BouwEenPC, Autoweek en ML75 mogen alleen op de desbetreffende sites/fora gebruikt worden. Het is niet mogelijk een poll later nog te wijzigen, je kan 'm alleen sluiten. Mochten er tikfouten in je poll staan, mail dan even naar BOOTZ om het te laten verbeteren.
Ook fijn dat het nog steeds een beta-versie is.

Acties:
  • +2 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08-10 20:31

.oisyn

Moderator Devschuur®

Demotivational Speaker

Vihaio schreef op donderdag 1 oktober 2020 @ 12:03:

Oehh, dit mag niet volgens de algmene voorwaarden :o
Ik heb de poll niet gemaakt, ik ben nooit akkoord gegaan met die voorwaarden :+

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 15:54
Vihaio schreef op donderdag 1 oktober 2020 @ 12:03:
[...]
Ook fijn dat het nog steeds een beta-versie is.
Dat is zoals Google, die brengen hun producten ook enkel in beta uit :+ (Gmail was ook héél lang "beta"). :)

Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 08-10 18:52
Vraag me toch altijd af wat het nut is van zo'n (inmiddels voorbij gegane) jaartal/range bij het copyright gebeuren.

Ah de bedoeling is de datum van eerste publicatie en van significante wijzigingen.

[ Voor 27% gewijzigd door gekkie op 01-10-2020 14:00 ]


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15:47

alienfruit

the alien you never expected

Hacktoberfest is weer begonnen. Zucht. Ik heb er de kracht niet meer voor

[ Voor 31% gewijzigd door alienfruit op 01-10-2020 20:42 ]


Acties:
  • 0 Henk 'm!

  • Vihaio
  • Registratie: November 2006
  • Laatst online: 06-10 17:30
gekkie schreef op donderdag 1 oktober 2020 @ 13:57:
Vraag me toch altijd af wat het nut is van zo'n (inmiddels voorbij gegane) jaartal/range bij het copyright gebeuren.

Ah de bedoeling is de datum van eerste publicatie en van significante wijzigingen.
In Nederland is het ook niet nodig. Als jij watt tekst schrijft of software maakt heb je (of je werkgever) sowieso copyright daarover.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 07-10 19:27

Matis

Rubber Rocket

Hydra schreef op donderdag 1 oktober 2020 @ 10:43:
Wel mooi ook dat 'ie in 20 jaar ofzo niet veranderd is :D
Ben wel benieuwd. Hoeveel polls 403005, hoeveel stemmen.
Beetje statistieken. Standaard deviatie, normaalkromme, mediaan.....

Vragen vragen vragen.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Blomminator
  • Registratie: Augustus 2012
  • Niet online
Heeft iemand een goede site/tutorial waarmee ik tekst kan opmaken in sql? Ik moet een query maken (wat niet mn vak is) waarbij is op basis van karakters tellen de opmaak kan.
Het gaat om naam/adres/plek/etc. Maar omdat je nooit weet hoe lang een naam is, neem ik steeds 20 chars, en trek daar de naam vanaf (bijv 10) en moet dan 10 spaties maken. En dit voor alle velden. Erg omslachtig.. maar goed.
Ik kan wel beetje querien.. maar tellen, uitlijnen en meer is nog best complex, zeker over vele records...

Any good tips?

Acties:
  • +1 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 07-10 22:49

Douweegbertje

Wat kinderachtig.. godverdomme

Blomminator schreef op vrijdag 2 oktober 2020 @ 07:50:
Heeft iemand een goede site/tutorial waarmee ik tekst kan opmaken in sql? Ik moet een query maken (wat niet mn vak is) waarbij is op basis van karakters tellen de opmaak kan.
Het gaat om naam/adres/plek/etc. Maar omdat je nooit weet hoe lang een naam is, neem ik steeds 20 chars, en trek daar de naam vanaf (bijv 10) en moet dan 10 spaties maken. En dit voor alle velden. Erg omslachtig.. maar goed.
Ik kan wel beetje querien.. maar tellen, uitlijnen en meer is nog best complex, zeker over vele records...

Any good tips?
Een goed vaag verhaal voor een eigen topic d:)b

Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 11:18
Blomminator schreef op vrijdag 2 oktober 2020 @ 07:50:
Heeft iemand een goede site/tutorial waarmee ik tekst kan opmaken in sql? Ik moet een query maken (wat niet mn vak is) waarbij is op basis van karakters tellen de opmaak kan.
Het gaat om naam/adres/plek/etc. Maar omdat je nooit weet hoe lang een naam is, neem ik steeds 20 chars, en trek daar de naam vanaf (bijv 10) en moet dan 10 spaties maken. En dit voor alle velden. Erg omslachtig.. maar goed.
Ik kan wel beetje querien.. maar tellen, uitlijnen en meer is nog best complex, zeker over vele records...

Any good tips?
Douweegbertje schreef op vrijdag 2 oktober 2020 @ 08:00:
[...]


Een goed vaag verhaal voor een eigen topic d:)b
Er is maar één goede tip mogelijk, dus laten die maar gelijk geven.

Ruwe SQL ondersteund geen "opmaak". Het verwerkt alleen data. Wil je opmaak, dan zul je een andere tool moeten gebruiken zoals exporteren naar CSV en dan in bijv. Excel of Calc je opmaak regelen.

Next :)

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 13:47
IdentityServer wordt betaalde software (voor commerciële doeleinden):
https://leastprivilege.co...future-of-identityserver/

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Nu online
CurlyMo schreef op vrijdag 2 oktober 2020 @ 08:05:
[...]


[...]

Er is maar één goede tip mogelijk, dus laten die maar gelijk geven.

Ruwe SQL ondersteund geen "opmaak". Het verwerkt alleen data. Wil je opmaak, dan zul je een andere tool moeten gebruiken zoals exporteren naar CSV en dan in bijv. Excel of Calc je opmaak regelen.

Next :)
Als je leest wat hij wil is het niet wat ik denk dat jij denkt dat opmaak is.

Maar het vervangen van een stuk tekst door spaties.

Anyways een apart topic is het beste.

Acties:
  • 0 Henk 'm!

  • wackmaniac
  • Registratie: Februari 2004
  • Laatst online: 04-10 14:40
PdeBie schreef op vrijdag 2 oktober 2020 @ 08:09:
IdentityServer wordt betaalde software (voor commerciële doeleinden):
https://leastprivilege.co...future-of-identityserver/
Als je geld wilt verdienen met je (voormalig open source) werk is dat de enige manier denk ik. Geen idee of deze eraan gerelateerd is: https://twitter.com/hhariri/status/1311729914673090560

Gezien de tendens de laatste jaren waarbij open source-ontwikkelaars steeds vocaler worden over dat ze geen geld zien voor de tijd die erin wordt gestopt denk ik dat dit vaker gaat gebeuren de komende tijd.

Read the code, write the code, be the code!


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 11:18
Kalentum schreef op vrijdag 2 oktober 2020 @ 08:11:
[...]
Anyways een apart topic is het beste.
Dan wel, of RTFM :)

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 13:47
@wackmaniac Lijkt mij inderdaad gerelateerd aan IdentityServer. En ja terecht dat ze deze stap maken.
Als sponsoring niet blijkt te werken, dan kan je twee kanten op.

Helemaal stoppen of andere manieren van financiering opzoeken.

Acties:
  • 0 Henk 'm!

  • wackmaniac
  • Registratie: Februari 2004
  • Laatst online: 04-10 14:40
PdeBie schreef op vrijdag 2 oktober 2020 @ 09:15:
@wackmaniac Lijkt mij inderdaad gerelateerd aan IdentityServer. En ja terecht dat ze deze stap maken.
Als sponsoring niet blijkt te werken, dan kan je twee kanten op.

Helemaal stoppen of andere manieren van financiering opzoeken.
Er is natuurlijk nog een derde optie en dat is het laten zoals het is.

Ik sta er een beetje dubbel in. Ik vind dat iedereen beloond moet worden voor arbeid. Aan de andere kant is dit eenzelfde stap als bedrijven als Google ook nemen met bepaalde diensten en dan wordt er (ook) schande over gesproken. Als je kijkt naar Google Maps bijvoorbeeld; dat is jarenlang gratis en iedereen gebruikt het. Zodra er een groot marktaandeel is zegt Google dat je vanaf nu moet betalen.

Een dergelijke stap is een logische als je full-time bezig wilt gaan met je open source-werk. Je kan nu eenmaal niet leven van gebakken lucht. En donaties van bedrijven zijn zeldzaam. Ik probeer al tijden mijn baas ervan te overtuigen dat wij donaties zouden moeten doen aan de maintainers van bibliotheken die wij gebruiken, maar dat lijkt lastiger te zijn dan geld voor een licentie losweken.

Daarbij de kanttekening dat iemand de versie met de huidige gratis licentie forked en die vervolgens gaat ontwikkelen en gratis aanbieden. Beetje wat er gebeurde met Google Maps; ik zie tegenwoordig vaker Open Streetmap dan Google Maps embedded in websites.

Read the code, write the code, be the code!


Acties:
  • 0 Henk 'm!

  • DHH
  • Registratie: Augustus 2014
  • Laatst online: 07-09-2024

DHH

CurlyMo schreef op vrijdag 2 oktober 2020 @ 08:05:
[...]


[...]

Er is maar één goede tip mogelijk, dus laten die maar gelijk geven.

Ruwe SQL ondersteund geen "opmaak". Het verwerkt alleen data. Wil je opmaak, dan zul je een andere tool moeten gebruiken zoals exporteren naar CSV en dan in bijv. Excel of Calc je opmaak regelen.

Next :)
Am I a joke to you? :P

Ik snap je wel hoor, maar met FORMAT, PIVOT en GROUP BY GROUPING SETS kan je resultaten op zich best nog wel toonbaar maken om even snel een berekening met (sub)totalen te tonen en je geen zin hebt om te exporteren naar Excel.

Acties:
  • +2 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Afbeeldingslocatie: https://tweakers.net/i/KVZZM_zSPwVMK4Yj_BQDLpK3PgU=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/DC6HZQEReUnDKwvpDPvMH8QF.png?f=user_large



:+

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • +6 Henk 'm!

  • scosec
  • Registratie: Februari 2016
  • Laatst online: 07-10 12:10

Acties:
  • +1 Henk 'm!

  • Basti504
  • Registratie: Februari 2005
  • Laatst online: 09-10 21:42

Basti504

Niet de enige, wel de echte.

Als programmeur van industriële productielijnen kan ik me die frustratie van de operator goed voorstellen.

Heb zelf wel eens meegemaakt dat er vaak een zelfde onterecht alarm optrad binnen een machine waardoor de boel stopte en dus de operator naar het controlepaneel moest komen, op de reset knop drukken en vervolgens op de start knop. Toen we op locatie waren bleek het ineens minder erg te zijn, bleek dat de operator een tandenstoker tussen de reset knop geklemd had zodat het alarm direct gereset werd en de machine niet stopte.

Toch maar het daadwerkelijke probleem opgelost, en de reset knop aangepast dat die enkel werkt op een transitie van 0 naar 1 :+

...


Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 08-10 18:52
Mensen op de werkvloer worden van zelf buitengewoon creatief als je ze maar genoeg tergt.
(al helpt het meestal ook als je het ze gewoon vraagt om een beetje mee te denken)

Acties:
  • +1 Henk 'm!

  • Wilf
  • Registratie: Maart 2007
  • Niet online

Wilf

shuo cao cao

Doet me denken aan die aflevering van air crash investigation waar bleek dat piloten de zekering losdraaide van een alarm wat constant afgaat als je op de grond bent en een bepaalde handeling (die niet heel direct nodig was) nog niet had gedaan.

Dat bleek echter ook een ander alarmcircuit van spanning te voorzien, en uiteraard was dat circuit een keer nét nodig om piloten te waarschuwen voor een noodsituatie :+

Acties:
  • +3 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 16:16

Onbekend

...

Als je eens wist hoe lang het soms duurt voordat de programmeur het echte probleem van de gebruiker kan/mag zien. :)
Meestal gaat dat via een leidinggevende die er een eigen draai aan geeft, of het probleem helemaal niet door geeft. Of je hebt eindelijk eens rechtstreeks contact met de eindgebruiker en er komt ineens met een complete waslijst voorbij met wat er allemaal nog meer mankeert aan het systeem en dat ook nog nooit is doorgegeven. 8)7

Speel ook Balls Connect en Repeat


Acties:
  • +1 Henk 'm!

  • Wilf
  • Registratie: Maart 2007
  • Niet online

Wilf

shuo cao cao

We hebben bij zachte oplevering bij sommige klanten direct contact gezocht met de mensen op de vloer en aan hen een staat meegegeven met vragen en plek voor opmerkingen om zo meer te weten te komen dan "Hij doet het niet". Waar je dan vaak achter komt is dat mensen soms onbegrijpelijke dingen doen als iets bijvoorbeeld net een halve seconde te laat reageert of iets niet 100% volgens verwachting loopt.

In de staat stonden invulregels zoals 'wat trof je aan', 'beschrijf het probleem', 'wat heb je geprobeerd om het op te lossen', 'welke uitwerking had je oplossing', 'is het probleem verholpen', 'wat heb je gedaan om het te verhelpen' en dergelijke.

Dan kom je er dus achter dat er best veel mensen op de vloer denken dat een stekker ergens uittrekken en er dan weer instoppen een storing verhelpt. :+

Acties:
  • +2 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

Wilf schreef op vrijdag 2 oktober 2020 @ 22:54:
Dan kom je er dus achter dat er best veel mensen op de vloer denken dat een stekker ergens uittrekken en er dan weer instoppen een storing verhelpt. :+
Dat denken veel mensen omdat dat ook gewoon zo is. :)

Heeft geen speciale krachten en is daar erg boos over.


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15:47

alienfruit

the alien you never expected

PdeBie schreef op vrijdag 2 oktober 2020 @ 08:09:
IdentityServer wordt betaalde software (voor commerciële doeleinden):
https://leastprivilege.co...future-of-identityserver/
Dank je wel voor het plaatsen van de IdentityServer verandering. Ik was bezig met het implementeren van enkele OAuth standaarden die ik niet konden vinden in IS. Maar daar gaan we dan maar geen PRs meer voor openen.

[ Voor 37% gewijzigd door alienfruit op 03-10-2020 18:46 ]


Acties:
  • +1 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
bwerg schreef op zaterdag 3 oktober 2020 @ 10:44:
[...]

Dat denken veel mensen omdat dat ook gewoon zo is. :)
Is dat niet het hele idee van Kubernetes? Gewoon fokking veel pods lanceren die elkaar opvangen? ;)

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • +1 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 08-10 18:52
Wilf schreef op vrijdag 2 oktober 2020 @ 22:54:
Dan kom je er dus achter dat er best veel mensen op de vloer denken dat een stekker ergens uittrekken en er dan weer instoppen een storing verhelpt. :+
Na 1 keer bij de Appie een tijd gewacht te hebben tot zo'n tiener de stekker van de sap-hannes-machine eruit ragt, doe ik het in het vervolg wel zelf bij storing :p

Acties:
  • 0 Henk 'm!

  • Wilf
  • Registratie: Maart 2007
  • Niet online

Wilf

shuo cao cao

Je hebt storing en je hebt ‘storing’ en om bij live draaiende windows machines de stekker er uit te trekken omdat een synchronisatie nog niet klaar is bijvoorbeeld… sja :+

Acties:
  • +2 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 08-10 18:52
Tsja windows ... met z'n ik ga wel updaten waar het jou het vervelendste uit komt en ga dan miepen dat je de stekker er niet uit mag raggen, mis maar lekker de trein terwijl je naar m'n hypnotiserende ronddraaiende animated gifje kijkt, zodat illuminati bill gates de zoveelste je kan beinvloeden, 1984 .. windows 1995, Willem 11 .. zie de verbanden .. of zoiets. Het script voor m'n nieuwe sekte is nog een WIP :p

Maar goed de meeste meuk werkt toch met een microcontroller en heeft geen ramen, dus daar werkt de methode "Jolande Sap" heel goed. Zeker dus bij Sap-pers-machines, die daar naar vernoemd zijn, althans dat is dan mijn aanname :+

[ Voor 21% gewijzigd door gekkie op 03-10-2020 19:39 ]


Acties:
  • 0 Henk 'm!

  • Wilf
  • Registratie: Maart 2007
  • Niet online

Wilf

shuo cao cao

Oh ja het advies ‘have you tried turning it off & on again?’ heb ik ook echt wel eens gegeven maar voor 99,9999% van de storingen heb ik niet voor niets een GUI gebouwd op een dedicated controller die zelfstandig computers, lampen, deuren, rolluiken, alarmen, projectoren, audio servers, speakers en what not netjes uit zet danwel reboot.

Game developers krijg ik maar niet zo verzon games op Linux of PLC’s te schrijven :+ al heb ik zelf ook al zat games gemaakt mét plcs maar dat waren games met fysieke controllers en fysieke interface ipv een spiffy scherm-game :)

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23-09 14:00
Wilf schreef op zaterdag 3 oktober 2020 @ 19:49:
Oh ja het advies ‘have you tried turning it off & on again?’ heb ik ook echt wel eens gegeven maar voor 99,9999% van de storingen heb ik niet voor niets een GUI gebouwd op een dedicated controller die zelfstandig computers, lampen, deuren, rolluiken, alarmen, projectoren, audio servers, speakers en what not netjes uit zet danwel reboot.
Maar heb je dan ook een dedicated controller die de dedicated controller reset mocht dat nodig zijn? En eentje daarvoor? etc. :+

Acties:
  • 0 Henk 'm!

  • Wilf
  • Registratie: Maart 2007
  • Niet online

Wilf

shuo cao cao

Meestal zet je twee dezelfde controllers neer; een master en een slave. De slave doet niks anders dan wachten tot de master omvalt.

Maar ik heb ook wel eens twee verschillende (soorten) controllers met elkaar laten babbelen (in een low cost project); de ene stuurde zijn current settings (on change per belangrijke verandering, dus geen bulk) naar de andere en vice versa. Dit werd in een array gezet in beide apparaten. Gewoon in RAM.

Als er eentje omvalt en weer online komt vraagt hij eerst wat zijn laatste settings zijn aan het andere device en in welke stand het andere device staat. Een bijzonder functionele workaround in de praktijk, zolang de fout dus zit in één van die devices :) (In ieder geval met twee devices in dezelfde MER op twee verschillende sloffen.)

[ Voor 8% gewijzigd door Wilf op 05-10-2020 19:37 ]


Acties:
  • +1 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
armageddon_2k1 schreef op zaterdag 3 oktober 2020 @ 11:20:
Is dat niet het hele idee van Kubernetes? Gewoon fokking veel pods lanceren die elkaar opvangen? ;)
Nou, 'fokking veel' weet ik niet (meeste van onze services draaien er gewoon 2) maar hard 'crashen' als er iets echt mis is, is wel een best practice ja. Dan wordt er gewoon een nieuwe pod gestart en ondertussen wordt het verkeer naar de andere pods geroute.

Het is wel belangrijk om pod restarts in je dashboarding weer te geven. Het is over 't algemeen een goeie indicatie dat er echt iets mis is.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 08-10 18:52
Hangt er een beetje vanaf wat de potentiele gevolgen zijn van als je door gaat draaien op gecrashte meuk.
Als het stateless meuk, is .. who cares .. als een database begint te sputteren dan graag gelijk een vette alert en kijken of er niet een nog grotere puinzooi door ontstaat met dataverlies tot gevolg.

Acties:
  • 0 Henk 'm!

  • RagingPenguin
  • Registratie: December 2012
  • Niet online
gekkie schreef op maandag 5 oktober 2020 @ 19:53:
Hangt er een beetje vanaf wat de potentiele gevolgen zijn van als je door gaat draaien op gecrashte meuk.
Als het stateless meuk, is .. who cares .. als een database begint te sputteren dan graag gelijk een vette alert en kijken of er niet een nog grotere puinzooi door ontstaat met dataverlies tot gevolg.
Stateless is wel een voorwaarde om iets fatsoensgelijk te draaien op k8s. Je pods kunnen ook herstarten als er niks mis is. (of worden verwijderd als je automatisch downscaled)

[ Voor 4% gewijzigd door RagingPenguin op 05-10-2020 20:02 ]


Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 08-10 18:52
Er zijn er toch die dingen als PostgreSQL op k8s zetten in een of andere replicatie setup.
Zal vast handig zijn als je de toegenomen complexiteit kunt handelen, maar anders is dat toch ook niet echt risicoloos (voor iets wat doorgaans toch al moeilijk plat te krijgen is).

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
gekkie schreef op maandag 5 oktober 2020 @ 19:53:
Hangt er een beetje vanaf wat de potentiele gevolgen zijn van als je door gaat draaien op gecrashte meuk.
Als het stateless meuk, is .. who cares .. als een database begint te sputteren dan graag gelijk een vette alert en kijken of er niet een nog grotere puinzooi door ontstaat met dataverlies tot gevolg.
Die volg ik niet helemaal. Dat services stateless zijn is min of meer een voorwaarde om op K8s te draaien. En doordraaien op 'gecrashte meuk' zie ik al helemaal niet voor me. Over het algemeen lijkt het me niet dat je dat wil.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
gekkie schreef op maandag 5 oktober 2020 @ 20:38:
Er zijn er toch die dingen als PostgreSQL op k8s zetten in een of andere replicatie setup.
Zal vast handig zijn als je de toegenomen complexiteit kunt handelen, maar anders is dat toch ook niet echt risicoloos (voor iets wat doorgaans toch al moeilijk plat te krijgen is).
K8s is niet echt bedoeld voor databases e.d.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 08-10 18:52
Hydra schreef op dinsdag 6 oktober 2020 @ 09:21:
[...]
K8s is niet echt bedoeld voor databases e.d.
Dat weerhoudt dan weer niet iedereen er van :).

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
gekkie schreef op dinsdag 6 oktober 2020 @ 09:31:
Dat weerhoudt dan weer niet iedereen er van :).
Nouja, het kan an sich wel. Voor een secundaire database of cache is het prima. Maar een primaire productie database, vooral iets als Postgres of MSSQL, is zo gebonden aan de node waarop het draait dat het gewoon weinig zin heeft.

Maar ik heb sowieso weinig met bedrijven die zelf on-prem k8s gaan draaien. Ik zit nu (nog) bij een klant waar alles bij Google staat, en dus is het daar gewoon een kwestie van CloudSQL in je project hangen waarna je k8s services gewoon netjes met je DB (in ons geval Postgres) praten. Laat het ops werk maar door Google doen, die zijn er over 't algemeen een stuk beter in.

https://niels.nu


Acties:
  • +1 Henk 'm!

  • Pizzalucht
  • Registratie: Januari 2011
  • Laatst online: 16:26

Pizzalucht

Snotneus.

Hydra schreef op dinsdag 6 oktober 2020 @ 10:48:
[...]


Nouja, het kan an sich wel. Voor een secundaire database of cache is het prima. Maar een primaire productie database, vooral iets als Postgres of MSSQL, is zo gebonden aan de node waarop het draait dat het gewoon weinig zin heeft.

Maar ik heb sowieso weinig met bedrijven die zelf on-prem k8s gaan draaien. Ik zit nu (nog) bij een klant waar alles bij Google staat, en dus is het daar gewoon een kwestie van CloudSQL in je project hangen waarna je k8s services gewoon netjes met je DB (in ons geval Postgres) praten. Laat het ops werk maar door Google doen, die zijn er over 't algemeen een stuk beter in.
Ik heb zelf een tijd lang CloudSQL (MySQL) in productie gebruikt, ik heb een aantal keer gehad dat hij uit zichzelf besloot de slave primary te maken, buiten de onderhoudstijden, wat dan soms ook echt gewoon een kwartier duurde. Daar had hij dan misschien wel een reden voor, maar die reden was niet echt te achterhalen. Het gevoel van machteloosheid terwijl productie eruit ligt en je alleen maar naar een draaiend icoontje kan kijken is echt zo frustrerend. Als het werkt is het top, als het niet werkt is het verschrikkelijk. Daarbij is het ook nog eens heel duur.

Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Een paar keer per maand weigert mijn laptop in hibernation te gaan. Hij lockt, gaat uit en (volgens de event log) een seconde later weer aan. De troubleshooter blijft keer op keer beweren dat alles in orde is behalve de helderheid van mijn scherm want die past toch echt niet bij mijn energieprofiel :{ Bedankt troubleshooter, echt heel behulpzaam.

En dan werkt hibernation een dag later opeens weer dus dan stop ik weer met zoeken naar de oorzaak.

Ooit op een andere laptop wel met powercfg oid erachter gekomen dat een proces voorkomt dat hij in hibernation gaat maar die nuttige info moet je veertig lagen diep zoeken.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08-10 20:31

.oisyn

Moderator Devschuur®

Demotivational Speaker

Het kan ook windows update zijn. Dan schedulet ie een wake om een update uit te voeren, maar omdat hij dan vervolgens terugkomt van hybernation ipv een clean boot vindt die update nooit plaats. Ik heb het al een tijdje niet meer meegemaakt (misschien hebben ze het gefixt), maar dat was de reden dat mijn desktop vaak ineens weer aansprong na hybernation.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Wilf
  • Registratie: Maart 2007
  • Niet online

Wilf

shuo cao cao

Check ook even in event manager of gupdatem niet toevallig bezig is :D

Acties:
  • 0 Henk 'm!

  • pottink
  • Registratie: Augustus 2010
  • Laatst online: 06-10 10:24
Ik zie hier echt veel Laravel fanboys, terwijl dat framework toch echt zuigt.
Geen Symfony devvers hier? >:)

Acties:
  • 0 Henk 'm!

  • Tjolk
  • Registratie: Juni 2007
  • Laatst online: 14:13
Wut? :?

Tjolk is lekker. overal en altijd.


Acties:
  • 0 Henk 'm!

  • scosec
  • Registratie: Februari 2016
  • Laatst online: 07-10 12:10
pottink schreef op vrijdag 9 oktober 2020 @ 16:12:
Ik zie hier echt veel Laravel fanboys, terwijl dat framework toch echt zuigt.
Geen Symfony devvers hier? >:)
Want, mening?

Acties:
  • 0 Henk 'm!

  • pottink
  • Registratie: Augustus 2010
  • Laatst online: 06-10 10:24
Heeft nogal een speciale interpretatie van alles, zeker als je bijvoorbeeld meer SOLID wil gaan werken.
Vind de design decisions echt brak, bv. die facades zijn echt om te huilen.
Laravel is wel geschikt voor starters en kleinere projecten maar echt grote custom projecten zou ik hier toch niet durven op ontwikkelen.

Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 15:09
pottink schreef op vrijdag 9 oktober 2020 @ 16:12:
Ik zie hier echt veel Laravel fanboys, terwijl dat framework toch echt zuigt.
Geen Symfony devvers hier? >:)
Ik zie hier vooral veel mensen die PHP überhaupt niet serieus nemen. :P

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • hackerhater
  • Registratie: April 2006
  • Laatst online: 15:58
Symfony > Laravel naar mijn mening
Symfony dwingt je een bepaalde richting aan te houden en dat is een goed ding in grote projecten.

[ Voor 59% gewijzigd door hackerhater op 09-10-2020 16:38 ]


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Weinig frameworks zijn zo uitgesproken in hun stijltje als Laravel, dus er zit alleen maar meer een richting in. Maar het is wel goed mogelijk dat dat stijltje niet de jouwe is. ;)

Juist dat het zo ‘opionated’ is, is een kracht. Ze gaan voor fanatieke fans ipv een iets grotere doelgroep op alle manieren te pleasen.

Maar goed, daarom werkt deze troll ook zo goed op de vrijdagmiddag. :D

{signature}


Acties:
  • +1 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
pottink schreef op vrijdag 9 oktober 2020 @ 16:12:
Ik zie hier echt veel Laravel X fanboys, terwijl dat framework X's type toch echt zuigt.
Classic, works everytime.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • +1 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 15:56

Koenvh

Hier tekenen: ______

Mijn grootste probleem met Laravel is dat de "LTS"-versie niet zo lang ondersteund wordt (bug fixes twee jaar, security fixes nog een jaar erbij). Dat vind ik te weinig voor een zo omvattend raamwerk dat ook nog eens de neiging heeft redelijk wat aan te passen bij elke versie. De niet-LTS-versie is nog erger met nog geen jaar aan bug fixes. Zal vast wel Agile zijn ofzo, maar ik wil me liever kunnen focussen op het ding zelf, en niet op het aanpassen aan de laatste versie van Laravel.

🠕 This side up


Acties:
  • +2 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Dat woord fanboy is echt zo giftig. Alsof een afkeur alleen verklaard kan worden doordat anderen niet onafhankelijk, objectief en nuchter kunnen nadenken en er onmogelijk afwegingen zijn die in het voor- of nadeel uitvallen van een bepaalde keuze.

Ouderwets gevalletje van de man in plaats van de bal spelen. Dat terwijl een onderbouwde rant tegen Laravel juist heel leuk zou zijn om te lezen. Of tegen Symphony. Of whatever. Het gaat om de rant, niet om het framework :P

Maar, zoals @farlane zegt ja, goed uitgevoerde troll.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • +3 Henk 'm!

  • Giesber
  • Registratie: Juni 2005
  • Laatst online: 08-10 16:19
kenneth schreef op zaterdag 10 oktober 2020 @ 09:15:
Dat woord fanboy is echt zo giftig. Alsof een afkeur alleen verklaard kan worden doordat anderen niet onafhankelijk, objectief en nuchter kunnen nadenken en er onmogelijk afwegingen zijn die in het voor- of nadeel uitvallen van een bepaalde keuze.

Ouderwets gevalletje van de man in plaats van de bal spelen. Dat terwijl een onderbouwde rant tegen Laravel juist heel leuk zou zijn om te lezen. Of tegen Symphony. Of whatever. Het gaat om de rant, niet om het framework :P

Maar, zoals @farlane zegt ja, goed uitgevoerde troll.
Holala, we hebben hier een fanboy van het woord "fanboy" :P .

Acties:
  • 0 Henk 'm!

  • Neverwinterx
  • Registratie: December 2005
  • Laatst online: 07-10 11:34
Koenvh schreef op zaterdag 10 oktober 2020 @ 04:22:
Mijn grootste probleem met Laravel is dat de "LTS"-versie niet zo lang ondersteund wordt (bug fixes twee jaar, security fixes nog een jaar erbij). Dat vind ik te weinig voor een zo omvattend raamwerk dat ook nog eens de neiging heeft redelijk wat aan te passen bij elke versie. De niet-LTS-versie is nog erger met nog geen jaar aan bug fixes. Zal vast wel Agile zijn ofzo, maar ik wil me liever kunnen focussen op het ding zelf, en niet op het aanpassen aan de laatste versie van Laravel.
Interessant punt. Dat zie je tegenwoordig wel vaker. Zelfs Microsoft lijkt dat nu te doen met .NET Core (of binnenkort .NET 5, wie kan nog volgen in hun naming scheme). De .NET LTS wordt 3 jaar ondersteund telkens. En tegenwoordig maken ze vaker compatibility breaking changes of doen ze ineens een grote omgooi. Ik vraag me af hoeveel bedrijven die verwacht worden lange support te bieden aan hun klanten/industrie, nog gebruik gaan blijven maken van .NET. Zeker bij industriën waar extra veel belang wordt gehecht aan security, is het echt geen optie om op een platform te blijven dat geen security updates meer krijgt, zelfs al hangt je server niet rechtstreeks aan het internet.
Maar op die manier ben je meer bezig met het aanpassen van je software om mee te zijn met de versies en bulkt je code van de compiler directives om het verschil te maken tussen al die .NET versies (want tegelijk krijgt bijvoorbeeld het oude .NET 3.5 dan weer wel nog altijd security updates want dat zit te diep verweven in Windows...), dan dat je bezig bent met het updaten van je eigenlijk product.

Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 15:09
Neverwinterx schreef op zaterdag 10 oktober 2020 @ 12:25:
[...]


Interessant punt. Dat zie je tegenwoordig wel vaker. Zelfs Microsoft lijkt dat nu te doen met .NET Core (of binnenkort .NET 5, wie kan nog volgen in hun naming scheme). De .NET LTS wordt 3 jaar ondersteund telkens. En tegenwoordig maken ze vaker compatibility breaking changes of doen ze ineens een grote omgooi. Ik vraag me af hoeveel bedrijven die verwacht worden lange support te bieden aan hun klanten/industrie, nog gebruik gaan blijven maken van .NET. Zeker bij industriën waar extra veel belang wordt gehecht aan security, is het echt geen optie om op een platform te blijven dat geen security updates meer krijgt, zelfs al hangt je server niet rechtstreeks aan het internet.
Maar op die manier ben je meer bezig met het aanpassen van je software om mee te zijn met de versies en bulkt je code van de compiler directives om het verschil te maken tussen al die .NET versies (want tegelijk krijgt bijvoorbeeld het oude .NET 3.5 dan weer wel nog altijd security updates want dat zit te diep verweven in Windows...), dan dat je bezig bent met het updaten van je eigenlijk product.
In Javaland is de boel ook wel aardig op de kop gegooid. Waar voorheen een trage release schedule was met pakweg 4-5 jaar public support (en nog wel een stuk langer support voor mensen met een support contract), heb je nu enerzijds meer JDK aanbieders naast (voohreen) Sun / (nu) Oracle, maar anderzijds ook eens in de zoveel jaar weer een LTS release, met daartussen releases met nieuwe features die niet LTS zijn en pakweg een jaartje support hebben.
Op zich is men in Javaland ook nog wel weer behoorlijk conservatief in de zin dat de changes niet dusdanig breaking zijn dat je nauwelijks kunt upgraden. Het meest vervelende bij upgrades van Java <9 naar een versie hoger dan 9 is dat je voor een aantal zaken die standaard in de JDK zaten nu externe dependencies moet importeren.
Hoe langer je wacht, des te vervelender het wel wordt natuurlijk. Mag nog gezellig een vrij groot project gaan overbouwen naar cloud native vanuit logge on premise JBoss servers (ja, al lang uit de LTS) op een java versie die ook al lang uit de LTS is en qua code bestaat uit fantastisch onderhouden, niet gedocumenteerde procedurele brei doorspekt met 20 niveau's diep geneste control structures en loops. :')

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 26-09 12:50
Mugwump schreef op zaterdag 10 oktober 2020 @ 14:06:
Hoe langer je wacht, des te vervelender het wel wordt natuurlijk. Mag nog gezellig een vrij groot project gaan overbouwen naar cloud native vanuit logge on premise JBoss servers (ja, al lang uit de LTS) op een java versie die ook al lang uit de LTS is en qua code bestaat uit fantastisch onderhouden, niet gedocumenteerde procedurele brei doorspekt met 20 niveau's diep geneste control structures en loops. :')
Lees hier een mogelijke reden dat je software niet oneindig lang gaat ondersteunen.
'Moeten we niet naar de nieuwste versie gaan?'
'Nee joh, ondersteuning is nog tot 2024, we kijken over een paar jaar wel.'
Ergens in 2026: 'Het hele systeem werkt niet meer en we moeten nu naar de nieuwste versie!'
'Eeuhm ja leuk, maar 95% van je code is bagger. Wacht nog een (x aantal) jaar en dan is het wel opnieuw gemaakt.'

Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 15:09
Postman schreef op zaterdag 10 oktober 2020 @ 15:20:
[...]

Lees hier een mogelijke reden dat je software niet oneindig lang gaat ondersteunen.
'Moeten we niet naar de nieuwste versie gaan?'
'Nee joh, ondersteuning is nog tot 2024, we kijken over een paar jaar wel.'
Ergens in 2026: 'Het hele systeem werkt niet meer en we moeten nu naar de nieuwste versie!'
'Eeuhm ja leuk, maar 95% van je code is bagger. Wacht nog een (x aantal) jaar en dan is het wel opnieuw gemaakt.'
Precies, voor "levende" software vind ik een relatief korte LTS-periode helemaal niet zo slecht. Het zou iemand (anders dan de devs) ook meer incentive moeten geven om de boel bij de tijd houden. Doorgaans willen de devs wel vanwege alle nieuwe goodies, maar "geen security updates meer" is ook voor andere mensen nog wel eens een motivatie. :P

Nu lag het bij bovenstaand stuk software net zo hard aan de devs die zo bang zijn voor nieuwe dingen (wordt dan geen software developer, denk ik dan) dat er ook nooit moeite is gestoken in enige vorm van technologische vernieuwing. Die devs upgraden wordt de komende tijd nog net zo'n klus als de software. :P

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 15:56

Koenvh

Hier tekenen: ______

@Postman Het mooie aan Java is dat ze niet de neiging hebben om alles constant te "verbeteren" (lees: kapot te maken). Van 8 naar 9 vereist een paar extra imports (als je die gebruikt), en daarboven blijft alles volgens mij gewoon werken. Dat in tegenstelling tot Laravel en in zekere zin .NET Core waar ze elke keer het wiel opnieuw uitvinden.

🠕 This side up


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23-09 14:00
Koenvh schreef op zaterdag 10 oktober 2020 @ 15:43:
@Postman Het mooie aan Java is dat ze niet de neiging hebben om alles constant te "verbeteren" (lees: kapot te maken). Van 8 naar 9 vereist een paar extra imports (als je die gebruikt), en daarboven blijft alles volgens mij gewoon werken. Dat in tegenstelling tot Laravel en in zekere zin .NET Core waar ze elke keer het wiel opnieuw uitvinden.
Dat "mooie" van Java is dan ook meteen een nadeel. Ze hebben ooit een aantal grote ontwerpfouten gemaakt in Java en daar hebben we nu nog steeds last van.

Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 15:30

RayNbow

Kirika <3

ThomasG schreef op zaterdag 10 oktober 2020 @ 18:57:
[...]
Ze hebben ooit een aantal grote ontwerpfouten gemaakt in Java en daar hebben we nu nog steeds last van.
Zoals covariant arrays? :p

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 15:56

Koenvh

Hier tekenen: ______

@ThomasG Klopt, echter is dat met ongeveer alles het geval. Genoeg keuzes die achteraf gezien niet zo handig waren, of het nou om programmeertalen gaat (JavaScript), of dingen in de echte wereld (de bocht na de Houtribdijk bijvoorbeeld). Dan vind ik het belangrijker om te zorgen voor backwards compatibility dan het "oplossen" van het "probleem" (al is het vaak geen echt probleem, maar eerder een imperfectie).

🠕 This side up


Acties:
  • 0 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

En geen generics na type erasure, en dus geen zaken als generics in throwables.

Een hele redenering waarom multiple inheritance géén goed idee is en dat ze dat echt niet gaan ondersteunen, en het dan stiekem toch ondersteunen in de vorm van uit de klauwen gegroeide interfaces. Stiekem is dat natuurlijk geen legacy-probleem want ze kunnen morgen zeggen 'joh, we hebben eigenlijk al een slap aftreksel van multiple inheritance, dus waarom dan ook niet.

En, euhm, null. Als je een taal gewend bent wat goede alternatieven heeft voor null, dan zijn null-pointer exceptions echt ruk. Java is statisch getypeerd, behalve null.

[ Voor 27% gewijzigd door bwerg op 10-10-2020 20:23 ]

Heeft geen speciale krachten en is daar erg boos over.


Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 15:30

RayNbow

Kirika <3

bwerg schreef op zaterdag 10 oktober 2020 @ 20:21:
En, euhm, null. Als je een taal gewend bent wat goede alternatieven heeft voor null, dan zijn null-pointer exceptions echt ruk. Java is statisch getypeerd, behalve null.
De waarde null heeft een type, namelijk het type null. Het type null is een subtype van alle andere types in Java (behalve de primitives), zoals het type Object een supertype is van alle andere types in Java (behalve de primitives).

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 26-09 12:50
@Koenvh ik doelde eigenlijk ook meer op de implementatie van de software gemaakt met Java dan op Java zelf
* Postman is Java programmeur

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Koenvh schreef op zaterdag 10 oktober 2020 @ 15:43:
Dat in tegenstelling tot Laravel en in zekere zin .NET Core waar ze elke keer het wiel opnieuw uitvinden.
Dat is gek, bij ons Laravel project, welke tientallen manjaren groot is, was het halfjaarlijks bijwerken van Laravel de laatste 5 keer steeds een kwestie van 2 tot 6 uur. Nogmaals, je kan genoeg van het stijltje vinden, maar maintenance en het upgradepath zijn juist de sterke punten.

Dus ik weet niet wie je napraat, maar Laravel doet dus wél wat @Postman zegt. Elk half jaar draai je wat schroeven aan, met de LTS kan je dat een paar keer opsparen en that’s it.

{signature}


Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 15:56

Koenvh

Hier tekenen: ______

Voutloos schreef op zaterdag 10 oktober 2020 @ 21:55:
[...]
Dat is gek, bij ons Laravel project, welke tientallen manjaren groot is, was het halfjaarlijks bijwerken van Laravel de laatste 5 keer steeds een kwestie van 2 tot 6 uur. Nogmaals, je kan genoeg van het stijltje vinden, maar maintenance en het upgradepath zijn juist de sterke punten.

Dus ik weet niet wie je napraat, maar Laravel doet dus wél wat @Postman zegt. Elk half jaar draai je wat schroeven aan, met de LTS kan je dat een paar keer opsparen en that’s it.
Daarover verschillen we van mening. Wanneer ik het heb over backwards compatibility, dan bedoel ik niet dat je elk half jaar 2 tot 6 uur ergens aan moet sleutelen. Dan wil ik eigenlijk de oude code 1-op-1 over kunnen nemen. Ik heb geen probleem met de invulling van het upgradepath, maar met het feit dat er (zo vaak) een upgradepath nodig is.

Voorbeeldje: .NET Framework 3.5 SP 1 komt uit 2008, en heeft basisondersteuning tot 2029. Nu is dat allicht een beetje extreem, maar ik vind een half jaar dan ook weer erg kort :)

[ Voor 9% gewijzigd door Koenvh op 10-10-2020 23:58 ]

🠕 This side up


Acties:
  • 0 Henk 'm!

  • RagingPenguin
  • Registratie: December 2012
  • Niet online
RayNbow schreef op zaterdag 10 oktober 2020 @ 20:40:
[...]

De waarde null heeft een type, namelijk het type null. Het type null is een subtype van alle andere types in Java (behalve de primitives), zoals het type Object een supertype is van alle andere types in Java (behalve de primitives).
Wat een hele mooie formele definitie is waarom het ruk is. Opzich is er niks mis met het concept van een null-pointer, zolang maar niet elk referentie type magisch een union is van zijn eigen definitie en null (in een taal zonder union types...). Modern C# en typescript doen dit dan een stuk beter en verwachten dat je dingen expliciet nullable maakt als ze null zouden kunnen zijn en checken in de typechecker op null types. En ja, ik weet dat je het in beide talen kunt uitzetten.

Acties:
  • 0 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

RayNbow schreef op zaterdag 10 oktober 2020 @ 20:40:
[...]

De waarde null heeft een type, namelijk het type null. Het type null is een subtype van alle andere types in Java (behalve de primitives), zoals het type Object een supertype is van alle andere types in Java (behalve de primitives).
Mooie uitleg, maar dat doet helaas wel het hele concept van typering teniet. De hele toegevoegde waarde van typering is dat als je een object hebt van (een subtype van) type A, je dan weet dat je met dat object alles kan wat je met type A kan. Met null kan je juist helemaal niets, dus het is semantisch gezien juist géén subtype. De enige manier om null netjes in een typeringssysteem te stoppen is door het juist een supertype van Object te laten zijn. Waardoor je er helemaal niets mee kan, zodat je het net zo goed niet in je taal had kunnen stoppen. Wat een goed idee is voor elke programmeertaal waarin wordt geprobeerd weg te abstraheren van pointers.

Heeft geen speciale krachten en is daar erg boos over.


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 15:09
RagingPenguin schreef op zondag 11 oktober 2020 @ 08:44:
[...]


Wat een hele mooie formele definitie is waarom het ruk is. Opzich is er niks mis met het concept van een null-pointer, zolang maar niet elk referentie type magisch een union is van zijn eigen definitie en null (in een taal zonder union types...). Modern C# en typescript doen dit dan een stuk beter en verwachten dat je dingen expliciet nullable maakt als ze null zouden kunnen zijn en checken in de typechecker op null types. En ja, ik weet dat je het in beide talen kunt uitzetten.
Java heeft dan Optional geïntroduceerd om nog iets van expliciete null-checking af te dwingen, maar het blijft behelpen. Ik zie dat dat ook maar matig wordt begrepen. Gaan mensen parameters van type optional definiëren met het idee dat het dan null-safe zou zijn. Helaas, nullpointer op je Optional.map. :P

De JVM heeft natuurlijk wel een aantal vrij serieuze Java-alternatieven. Kotlin kent bijvoorbeeld wel weer nullable en non-nullabe types.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

Mugwump schreef op zondag 11 oktober 2020 @ 09:29:
[...]


Java heeft dan Optional geïntroduceerd om nog iets van expliciete null-checking af te dwingen, maar het blijft behelpen. Ik zie dat dat ook maar matig wordt begrepen. Gaan mensen parameters van type optional definiëren met het idee dat het dan null-safe zou zijn. Helaas, nullpointer op je Optional.map. :P
Ik zou eerder zeggen dat mensen die null in optionals gaan stoppen of null als waarde van een optional gebruiken het niet hebben begrepen, dan de mensen die, best wel terecht, aannemen dat men dat gewoon niet moet doen.

Dat is nou een gevalletje legacy-meuk. Je kan wel Optionals en nullable-annotaties gaan toevoegen, maar zodra je tegen een stuk code gaat aanpraten waar dingen niet mooi geannoteerd of ge-optional'd zijn, dan kom je toch niet meer onder het onhandige gedrag van null uit.

Heeft geen speciale krachten en is daar erg boos over.


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 15:09
bwerg schreef op zondag 11 oktober 2020 @ 09:34:
[...]

Ik zou eerder zeggen dat mensen die null in optionals gaan stoppen of null als waarde van een optional gebruiken het niet hebben begrepen, dan de mensen die, best wel terecht, aannemen dat men dat gewoon niet moet doen.

Dat is nou een gevalletje legacy-meuk. Je kan wel Optionals en nullable-annotaties gaan toevoegen, maar zodra je tegen een stuk code gaat aanpraten waar dingen niet mooi geannoteerd of ge-optional'd zijn, dan kom je toch niet meer onder het onhandige gedrag van null uit.
Natuurlijk hebben die het niet begrepen, maar dat is het punt niet.
Kijk met een return value kun je nog zelf afdwingen dat je nooit null return, want je schrijft immers zelf de code. Bij een public method heb je die controle niet. Sterker nog, dan biedt een optional parameter juist meer problemen, want dan wordt de expliciete nullcheck in de methode achterwege gelaten en loop je alleen maar een groter risico op nullpointers. Kun je wel zeggen, 'dat is het probleem van degene die het aanroept', maar dat lost het probleem niet op. Non-nullable types dwingen degene die je methode aanroept ook echt om daar iets in te stoppen dat niet null is en zijn daarmee tenminste inherent null-safe omdat je compile-time moet garanderen dat je er geen null in prakt.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 15:30

RayNbow

Kirika <3

RagingPenguin schreef op zondag 11 oktober 2020 @ 08:44:
[...]


Wat een hele mooie formele definitie is waarom het ruk is. Opzich is er niks mis met het concept van een null-pointer, zolang maar niet elk referentie type magisch een union is van zijn eigen definitie en null (in een taal zonder union types...).
Ik ben ook geen voorstander van dat het element null onderdeel maakt van elk referentietype, maar het ging me wat ver om dan maar aan te geven dat null niet statisch getypeerd is. :p
Modern C# en typescript doen dit dan een stuk beter en verwachten dat je dingen expliciet nullable maakt als ze null zouden kunnen zijn en checken in de typechecker op null types. En ja, ik weet dat je het in beide talen kunt uitzetten.
Ja, het standaard beschikken over een Maybe/Nullable/Optional/etc. typeconstructor maakt het leven beter, maar daar beschikt Java ook over (zoals al boven mij is aangekaart). Op een ander vlak is Java explicieter, waarbij een subset aan exceptions expliciet dienen te worden gemaakt.
(Nog beter zou imho een Either typeconstructor zijn :p)
bwerg schreef op zondag 11 oktober 2020 @ 09:29:
[...]

Mooie uitleg, maar dat doet helaas wel het hele concept van typering teniet. De hele toegevoegde waarde van typering is dat als je een object hebt van (een subtype van) type A, je dan weet dat je met dat object alles kan wat je met type A kan. Met null kan je juist helemaal niets, dus het is semantisch gezien juist géén subtype.
Ja, het doet het concept van behavioral subtyping teniet, waar o.a. Liskov een voorstander van is. Maar goed, op dat gebied is Java zeker niet sterk (e.g. de eerder genoemde covariant arrays, maar ook dingen als java.util.Stack<E>).

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • RagingPenguin
  • Registratie: December 2012
  • Niet online
RayNbow schreef op zondag 11 oktober 2020 @ 10:26:
[...]
Ja, het standaard beschikken over een Maybe/Nullable/Optional/etc. typeconstructor maakt het leven beter, maar daar beschikt Java ook over (zoals al boven mij is aangekaart). Op een ander vlak is Java explicieter, waarbij een subset aan exceptions expliciet dienen te worden gemaakt.
(Nog beter zou imho een Either typeconstructor zijn :p)
Het punt is niet de aanwezigheid van een Option type, maar de type checks op null values. In Java kan je null pointer exceptions krijgen op elk reference type, in C# en TypeScript geeft de compiler je netjes een error als een reference null kan zijn en mag je null niet toekennen aan een reference type (behalve als die expliciet nullable is). Je hebt eigenlijk ook helemaal geen Option type nodig voor null safety,
code:
1
None | Some a
is conceptueel niet anders dan
code:
1
null | a
, zolang je taal geen vreemde subtyping doet met null. Anders is het allebei gewoon een a+1 type.

Acties:
  • 0 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

Mugwump schreef op zondag 11 oktober 2020 @ 09:54:
Sterker nog, dan biedt een optional parameter juist meer problemen, want dan wordt de expliciete nullcheck in de methode achterwege gelaten en loop je alleen maar een groter risico op nullpointers.
Nou, niet echt. Als je een functie plus noemt kun je ook wel klagen dat degene die dat aanroept wel moet controleren of de functie wel echt optelt en toch niet stiekem aftrekt, maar als ik al mijn aannames over code die ik niet zelf heb geschreven moet gaan checken, dan ben ik wel even bezig... Laat staan dat dat een argument is om de functie dan maar niet plus te noemen.

Optional wordt gebruikt om null te voorkomen en niet anders. Het alternatief is dat je echt letterlijk overal en altijd alles null-checkt. Wordt ik helemaal gek van. Vijf argumenten, eerst 10 regels boilerplate
code:
1
2
3
4
5
if (x == null)
    jaWatDanEigenlijk();
if (y == null)
    throw new RuntimeException("Waarom doe je dit met null, daar kan ik helemaal niks mee");
...

En dan roept die methode weer een gelijknamige methode aan die bijna hetzelfde is maar dan met een extra argument, en wat ga je daar dan doen? Weer allemaal null-checks? Zo blijf je bezig.
RayNbow schreef op zondag 11 oktober 2020 @ 10:26:
maar het ging me wat ver om dan maar aan te geven dat null niet statisch getypeerd is. :p
Ik dus niet. De 'typeringsregel' dat null elk type is, doet in feite gewoon niks wat met typering te maken heeft. Net zo min als de typeringsregel dat een appel een banaan is. Een null-check (impliciet door de JRE bij het aanroepen van een methode) is gewoon een dynamische typecheck.

[ Voor 16% gewijzigd door bwerg op 11-10-2020 11:22 ]

Heeft geen speciale krachten en is daar erg boos over.


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 16:26
Waarom zou je een functie schrijven en alle argumenten op null checken om dan een exception te gooien? Die NullReferenceException komt vanzelf wel.

Roomba E5 te koop


Acties:
  • +1 Henk 'm!

  • RagingPenguin
  • Registratie: December 2012
  • Niet online
sig69 schreef op zondag 11 oktober 2020 @ 11:26:
Waarom zou je een functie schrijven en alle argumenten op null checken om dan een exception te gooien? Die NullReferenceException komt vanzelf wel.
Maar dan kan die 6 functies diep zitten wat het debuggen van random errors een stuk moelijker maakt. En een goede ide kan dit wel voor je genereren dus het is niet zo veel moeite om je input eerst te controleren.

Maar tussen de null-checks, volledig uitgeschreven getters en setters en het ontbreken van optionale parameters is Java wel de taal van de meters boilerplate geworden...

Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 15:30

RayNbow

Kirika <3

RagingPenguin schreef op zondag 11 oktober 2020 @ 11:02:
[...]


Het punt is niet de aanwezigheid van een Option type, maar de type checks op null values. In Java kan je null pointer exceptions krijgen op elk reference type, in C# en TypeScript geeft de compiler je netjes een error als een reference null kan zijn en mag je null niet toekennen aan een reference type (behalve als die expliciet nullable is).
Al geeft een IDE als IntelliJ wel een warning als je null toekent aan een Optional<T>, een harde compile-error zou beter zijn geweest.

(Als ik trouwens in C# null probeer toe te kennen aan een referentie-type variabele, dan krijg ik trouwens een warning, geen error.)
bwerg schreef op zondag 11 oktober 2020 @ 11:16:

[...]

Ik dus niet. De 'typeringsregel' dat null elk type is, doet in feite gewoon niks wat met typering te maken heeft. Net zo min als de typeringsregel dat een appel een banaan is. Een null-check (impliciet door de JRE bij het aanroepen van een methode) is gewoon een dynamische typecheck.
Dat er een runtime-check is wil natuurlijk niet zeggen dat er geen statische check is. Die is er wel, maar beperkt. Ik kan in Java geen null toekennen aan een int variabele (=statische check). Er is ook een statische check aanwezig wanneer je een expressie van T[] toekent aan een U[] variabele, maar ook die check is beperkt en vereist alsnog runtime checks.

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Nu online
RagingPenguin schreef op zondag 11 oktober 2020 @ 11:31:
[...]


Maar dan kan die 6 functies diep zitten wat het debuggen van random errors een stuk moelijker maakt.
Maar ga je dan ook op alle 6 de lagen / functies controleren of die arguments geen null zijn? Want dan gaat dus letterlijk vrijwel elke functie beginnen met null checks en worden ze nodeloos lang. Of ga je dan onderscheid maken tussen public en protected/private functies? Maar als de ene public functie gebruikt maakt van een andere class / service en daarop dus ook weer een public aanroept blijf je met hetzelfde probleem zitten.

Acties:
  • 0 Henk 'm!

  • RagingPenguin
  • Registratie: December 2012
  • Niet online
RayNbow schreef op zondag 11 oktober 2020 @ 11:38:
[...]

(Als ik trouwens in C# null probeer toe te kennen aan een referentie-type variabele, dan krijg ik trouwens een warning, geen error.)
Dan heb je denk ik een oudere versie?

Afbeeldingslocatie: https://tweakers.net/i/9mHXHLNyqaJqbhck4EC3gLko5HI=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/rcNx2kzOqAFai54p8upmsxdA.png?f=user_large
RobertMe schreef op zondag 11 oktober 2020 @ 11:47:
[...]

Maar ga je dan ook op alle 6 de lagen / functies controleren of die arguments geen null zijn? Want dan gaat dus letterlijk vrijwel elke functie beginnen met null checks en worden ze nodeloos lang. Of ga je dan onderscheid maken tussen public en protected/private functies? Maar als de ene public functie gebruikt maakt van een andere class / service en daarop dus ook weer een public aanroept blijf je met hetzelfde probleem zitten.
Uit luiheidsoverwegingen vaak alleen op de public API, in je interne classes binnen je package kan je er vaak wel vanuit gaan dat je alles hebt afgevangen.

Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 15:30

RayNbow

Kirika <3

RagingPenguin schreef op zondag 11 oktober 2020 @ 11:55:
[...]


Dan heb je denk ik een oudere versie?

[Afbeelding]
Ik draai VS2019 16.7.3nu .5; hoe ziet je .csproj eruit?

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • +1 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

RagingPenguin schreef op zondag 11 oktober 2020 @ 11:55:
Uit luiheidsoverwegingen vaak alleen op de public API, in je interne classes binnen je package kan je er vaak wel vanuit gaan dat je alles hebt afgevangen.
Je noemt het "luiheid", maar het is ook gewoon leesbaarheid van je code. Als de helft van je scherm boilerplate toont kost het gewoon meer tijd en moeite om het te lezen/snappen/onderhouden/consistent te houden. Net zoals dat het debuggen van een nullpointer-exception tijd kost.

"Public API" impliceert dat je code door anderen aangeroepen wordt, dus een nullpointer-exception op hun eigen null die nergens op slaat is dan ook gewoon hun eigen probleem. Ze gaan hun eigen code maar vervuilen met overal null-checks als ze garbage in, garbage out niet leuk vinden.
RayNbow schreef op zondag 11 oktober 2020 @ 11:38:
Dat er een runtime-check is wil natuurlijk niet zeggen dat er geen statische check is. Die is er wel, maar beperkt. Ik kan in Java geen null toekennen aan een int variabele (=statische check).
Leuk, maar een typeringssysteem dat alleen in beperkte gevallen statisch werkt, is niet statisch.

De check die null onderscheidt van referenties naar daadwerkelijke objecten is dynamisch, zo simpel is het.

Heeft geen speciale krachten en is daar erg boos over.


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 15:09
bwerg schreef op zondag 11 oktober 2020 @ 11:16:
[...]

Nou, niet echt. Als je een functie plus noemt kun je ook wel klagen dat degene die dat aanroept wel moet controleren of de functie wel echt optelt en toch niet stiekem aftrekt, maar als ik al mijn aannames over code die ik niet zelf heb geschreven moet gaan checken, dan ben ik wel even bezig... Laat staan dat dat een argument is om de functie dan maar niet plus te noemen.

Optional wordt gebruikt om null te voorkomen en niet anders. Het alternatief is dat je echt letterlijk overal en altijd alles null-checkt. Wordt ik helemaal gek van. Vijf argumenten, eerst 10 regels boilerplate
code:
1
2
3
4
5
if (x == null)
    jaWatDanEigenlijk();
if (y == null)
    throw new RuntimeException("Waarom doe je dit met null, daar kan ik helemaal niks mee");
...

En dan roept die methode weer een gelijknamige methode aan die bijna hetzelfde is maar dan met een extra argument, en wat ga je daar dan doen? Weer allemaal null-checks? Zo blijf je bezig.
Klopt, en daarom wil je dus gewoon non-nullable types.
Optional gebruiken is niets meer dan documentatie middels je method signature. Je kunt ook gewoon in je Javadoc aangeven dat er een nullpointer optreedt indien specifieke parameters null zijn of een NonNull annotatie gebruiken. Punt blijft, het is een advies, het dwingt niets af, tenzij je middels code analysis tools een build failure veroorzaakt op dat soort zaken.

Bovendien hebben we in Java al een prima oplossing om aan te geven dat parameters optioneel zijn, namelijk method overloading.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Mugwump schreef op zondag 11 oktober 2020 @ 09:29:
Kotlin kent bijvoorbeeld wel weer nullable en non-nullabe types.
Na 2 jaar full-time Kotlin wil ik ook eigenlijk niet terug naar Java. Zal wel wennen worden in een volgende klus.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 15:56

Koenvh

Hier tekenen: ______

Er is nog een extra probleem met Optional. Bijvoorbeeld, je hebt een publieke API met functie getZipCode die een Optional teruggeeft. De functie werkt op dit moment alleen nog voor een bepaald aantal straten, en anders krijg je een empty terug. Een aantal versies later pas je de functie aan waardoor het voor alle straten werkt, en je geen Optional meer nodig hebt.

Dan moet je dus of je publieke API aanpassen, of een Optional teruggeven die altijd een waarde heeft. Beide zijn niet geweldig. Met null heb je dat probleem niet*.

* Met null heb je alleen twintig andere problemen :P

[ Voor 5% gewijzigd door Koenvh op 11-10-2020 14:25 ]

🠕 This side up


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 15:09
Koenvh schreef op zondag 11 oktober 2020 @ 14:19:
Er is nog een extra probleem met Optional. Bijvoorbeeld, je hebt een publieke API met functie getZipCode die een Optional teruggeeft. De functie werkt op dit moment alleen nog voor een bepaald aantal straten, en anders krijg je een empty terug. Een aantal versies later pas je de functie aan waardoor het voor alle straten werkt, en je geen Optional meer nodig hebt.

Dan moet je dus of je publieke API aanpassen, of een Optional teruggeven die altijd een waarde heeft. Beide zijn niet geweldig. Met null heb je dat probleem niet*.

* Met null heb je alleen twintig andere problemen :P
Alle straten hebben bestaat niet, want als ik een staat verzin bestaat die sowieso niet.
Ook komen er steeds straten bij. Vraag maar aan mensen in nieuwbouwwijken hoe frustrerend online shoppen kan zijn. :P

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 15:56

Koenvh

Hier tekenen: ______

Mugwump schreef op zondag 11 oktober 2020 @ 15:19:
[...]


Alle straten hebben bestaat niet, want als ik een staat verzin bestaat die sowieso niet.
Ook komen er steeds straten bij. Vraag maar aan mensen in nieuwbouwwijken hoe frustrerend online shoppen kan zijn. :P
Slecht voorbeeld dan, maar mijn punt blijft hetzelfde :P

🠕 This side up


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
In een API documenteren dat null inmiddels niet meer voor komt is lelijk maar eigenlijk een luxe probleem. Een API breken omdat iets uiteindelijk nullable moet zijn is een stuk stommer. :)

{signature}


Acties:
  • 0 Henk 'm!

  • bwerg
  • Registratie: Januari 2009
  • Niet online

bwerg

Internettrol

Koenvh schreef op zondag 11 oktober 2020 @ 14:19:
Dan moet je dus of je publieke API aanpassen, of een Optional teruggeven die altijd een waarde heeft. Beide zijn niet geweldig. Met null heb je dat probleem niet*.
Maak een nieuwe methode die het object direct teruggeeft, en verander de oude methode zodat die de nieuwe wrapt in een optional. Deprecate de oude.

Nu nog het return-type onderdeel van de method signature laten zijn zodat de oude en nieuwe methode ook daadwerkelijk dezelfde naam kunnen hebben en de vlag mag uit. :+

Heeft geen speciale krachten en is daar erg boos over.


Acties:
  • 0 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 15:56

Koenvh

Hier tekenen: ______

bwerg schreef op zondag 11 oktober 2020 @ 17:19:
[...]

Maak een nieuwe methode die het object direct teruggeeft, en verander de oude methode zodat die de nieuwe wrapt in een optional. Deprecate de oude.

Nu nog het return-type onderdeel van de method signature laten zijn zodat de oude en nieuwe methode ook daadwerkelijk dezelfde naam kunnen hebben en de vlag mag uit. :+
Ah ja, de befaamde getZipCode2 :+

🠕 This side up


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Koenvh schreef op zondag 11 oktober 2020 @ 17:25:
[...]

Ah ja, de befaamde getZipCode2 :+
In de stijl van PHP realGetZipCode :+

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:55
RayNbow schreef op zondag 11 oktober 2020 @ 12:03:
[...]

Ik draai VS2019 16.7.3nu .5; hoe ziet je .csproj eruit?
Dat wordt toch niet bepaald door de versie van VS.NET, maar door de versie van de taal die je gebruikt ? Die wordt dan weer bepaald door de versie van het .NET framework dat je target.
Nullable reference types zijn beschikbaar vanaf C# 8, maar normaal gezien zou je hier enkel een warning moeten op krijgen. Tenzij je misschien 'treat warnings as errors' hebt aanstaan ?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08-10 20:31

.oisyn

Moderator Devschuur®

Demotivational Speaker

Koenvh schreef op zondag 11 oktober 2020 @ 14:19:
Dan moet je dus of je publieke API aanpassen, of een Optional teruggeven die altijd een waarde heeft. Beide zijn niet geweldig. Met null heb je dat probleem niet*.
Wat is dan precies het semantische tussen een Optional en een nullable type?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
Ik kan me eigenlijk niet voor de geest halen ooit een method getypt te hebben met méér dan 2 nullable variables (Althans, sinds PHP scalar typehints kent)? En dat is dan al een uitzondering. Vaak is het 1 nullable voor backward compatibility die dan bij de volgende deploy ook strict gemaakt kan worden.

Als je een hele rits nodig hebt, moet je misschien sowieso een builder oid gaan gebruiken.

Acties:
  • +1 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 15:30

RayNbow

Kirika <3

whoami schreef op zondag 11 oktober 2020 @ 20:17:
[...]


Dat wordt toch niet bepaald door de versie van VS.NET, maar door de versie van de taal die je gebruikt ? Die wordt dan weer bepaald door de versie van het .NET framework dat je target.
Vandaar dat ik vraag naar de inhoud van de .csproj. Met het volgende kan ik een warning krijgen:
XML:
1
2
3
4
5
6
7
8
9
10
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <Nullable>enable</Nullable>
    <LangVersion>8</LangVersion>
  </PropertyGroup>

</Project>
Nullable reference types zijn beschikbaar vanaf C# 8, maar normaal gezien zou je hier enkel een warning moeten op krijgen. Tenzij je misschien 'treat warnings as errors' hebt aanstaan ?
Maar in de screenshot van @RagingPenguin zie ik een warning onder f staan (waarschijnlijk unused variable), dat kan niet met TreatWarningsAsErrors.

Edit: Ah, gevonden. Met <WarningsAsErrors>nullable</WarningsAsErrors> kan je deze specifieke warning als error markeren.

[ Voor 6% gewijzigd door RayNbow op 11-10-2020 20:41 ]

Ipsa Scientia Potestas Est
NNID: ShinNoNoir

Pagina: 1 ... 77 ... 102 Laatste

Dit topic is gesloten.

Let op:
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep voor iedereen in de Devschuur® en niet als vraagbaak.