2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.
Verlopen?Avalaxy schreef op vrijdag 10 januari 2014 @ 00:22:
Huh? Krijgen meer mensen nu ineens pas een melding of ze al gestemd hebben voor de tweakers awards (die allang verlopen zijn)?
quote: T.Net AwardsVan 9 december tot en met 12 januari is het mogelijk om op die nominaties te stemmen.
Rare vogel in spe
Verwijderd
Developer probeert het gewoon netjes semantisch te houden.BtM909 schreef op vrijdag 10 januari 2014 @ 00:42:
Als je je Algemene Voorwaarden op het internet zet, dan is het natuurlijk wel zo klantvriendelijk als je bezoeker deze zelf kan aanpassen
Waar moet je anders een lap tekst kwijt als niet in een textarea
Daarbij is het versturen van wachtwoorden en email-adressen over een onbeveiligde verbinding NOT DONE. Zeg dat maar tegen de ontwikkelaar, terwijl je hem mept met een security-tijdschrift.
[nog meer]
Prutsers. En nog een webwinkel-keurmerk ook.
O, gelukkig!Xesxen schreef op vrijdag 10 januari 2014 @ 00:45:
[...] Verlopen? [...]
Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three
Maar we gaan gewoon eind januari nog even wat producten een status "beste x van 2013" geven
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Net zelf getapt! Ben eens benieuwd, lang geleden dat ik er nog een gedronken heb zonder suiker. Als het meevalt, zal het in de toekomst altijd zo zijnFiresphere schreef op vrijdag 10 januari 2014 @ 09:32:
goeiemorgen. Koffie?
RTFM!
In de bussenwereld is dat gebruikelijk. In oktober 2013 is de titel 'Bus of the year 2014' uitgerijkt aan een bepaald type bus.Ealanrian schreef op vrijdag 10 januari 2014 @ 09:12:
Maar je kan nu pas echt concluderen wat het beste product van 2013 was. Nu al bepalen dat iets het beste product van 2014 is lijkt me nogal onmogelijk...
We are shaping the future
Ik blijf mij er nu 2 weken in een WP project over verbazen dat onder dat laagje chroom echt een bak code schroot zit en dat de hipsters op deze wereld maar blijven roepen dat het zo'n geweldig systeem is..
Het is en blijft een blog systeem waar ze met een hamer een CMS van hebben proberen te maken, ondanks dat ze er een enorme laag visueel oogsnoep over hebben lopen drapperen.
Driving a cadillac in a fool's parade.
We are shaping the future
Verwijderd
Dit dus, breek me de bek niet open. Er zal vast een "leercurve" zijn om er mee te leren werken, maar in het ene project dat ik met wordpress moest doen heb ik letterlijk gehuild van ellendekwaakvaak_v2 schreef op vrijdag 10 januari 2014 @ 09:48:
wordpress en wp_query, en 'the loop' sterf.. en dat hoeft niet perse een zachte dood te zijn.
Ik blijf mij er nu 2 weken in een WP project over verbazen dat onder dat laagje chroom echt een bak code schroot zit en dat de hipsters op deze wereld maar blijven roepen dat het zo'n geweldig systeem is..
Het is en blijft een blog systeem waar ze met een hamer een CMS van hebben proberen te maken, ondanks dat ze er een enorme laag visueel oogsnoep over hebben lopen drapperen.
De manier van spreken is wel tekenend... Ik schrijf (op "advies" van de klant) mijn websites en thema's voor WP, maar ik wordt er af en toe bizar droevig van. En functienamen als get_the_ID()... bij getID() snap ik het ook, en dan hoef 5 tekens minder te typen. Dat is een heleboel toetsaanslagen op een gemiddelde website.kwaakvaak_v2 schreef op vrijdag 10 januari 2014 @ 09:48:
wordpress en wp_query, en 'the loop' sterf.. en dat hoeft niet perse een zachte dood te zijn.
Ik blijf mij er nu 2 weken in een WP project over verbazen dat onder dat laagje chroom echt een bak code schroot zit en dat de hipsters op deze wereld maar blijven roepen dat het zo'n geweldig systeem is..
Het is en blijft een blog systeem waar ze met een hamer een CMS van hebben proberen te maken, ondanks dat ze er een enorme laag visueel oogsnoep over hebben lopen drapperen.
Ik heb bij vrijwel elk CMS systeem de indruk dat deze met zeer grof materiaal gemaakt is.kwaakvaak_v2 schreef op vrijdag 10 januari 2014 @ 09:48:
Het is en blijft een blog systeem waar ze met een hamer een CMS van hebben proberen te maken, ondanks dat ze er een enorme laag visueel oogsnoep over hebben lopen drapperen.
Of kent hier toevallig iemand een CMS systeem, waarvan je durft te zeggen dat de code wel mooi in elkaar zit.
RTFM!
eh, daar begin je gewoon in november / december mee, om vervolgens een stukje voor het nieuwe jaar daarmee uit de bus te komen. De oliebollen test van het AD komt toch ook niet in januari aangekakt?Ealanrian schreef op vrijdag 10 januari 2014 @ 09:12:
Maar je kan nu pas echt concluderen wat het beste product van 2013 was. Nu al bepalen dat iets het beste product van 2014 is lijkt me nogal onmogelijk...
CMS-makers zijn destijds gewoon in een bepaald gat in de markt gesprongen, dat houdt inderdaad niet per se in (en de praktijk wijst zelfs het tegendeel uit) dat de mensen die het ontworpen hebben verstand hebben van API-design._Moe_ schreef op vrijdag 10 januari 2014 @ 09:57:
[...]
Ik heb bij vrijwel elk CMS systeem de indruk dat deze met zeer grof materiaal gemaakt is.
Of kent hier toevallig iemand een CMS systeem, waarvan je durft te zeggen dat de code wel mooi in elkaar zit.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Ik durf Silverstripe toch wel mooi te noemen eerlijk gezegd._Moe_ schreef op vrijdag 10 januari 2014 @ 09:57:
[...]
Ik heb bij vrijwel elk CMS systeem de indruk dat deze met zeer grof materiaal gemaakt is.
Of kent hier toevallig iemand een CMS systeem, waarvan je durft te zeggen dat de code wel mooi in elkaar zit.
https://github.com/silverstripe/silverstripe-cms
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Inderdaad. Als je enkel wat plugins op je site gebruikt, een kant-en-klaar thema en verder geen maatwerk vereist kan je er prima websites mee maken. En dat is wat het gros er mee doet.Alex) schreef op vrijdag 10 januari 2014 @ 09:49:
WP heeft een gebruiksvriendelijke UI, daar moet dat product het van hebben, niet van de onderliggende techniek.
Iedere developer heeft toch wel eens een eigen CMS gemaakt? Dat is natuurlijk wel prachtige code_Moe_ schreef op vrijdag 10 januari 2014 @ 09:57:
[...]
Ik heb bij vrijwel elk CMS systeem de indruk dat deze met zeer grof materiaal gemaakt is.
Of kent hier toevallig iemand een CMS systeem, waarvan je durft te zeggen dat de code wel mooi in elkaar zit.
Eigen code is altijd mooierytterx schreef op vrijdag 10 januari 2014 @ 09:59:
[...]
Iedere developer heeft toch wel eens een eigen CMS gemaakt? Dat is natuurlijk wel prachtige code
Orchard?_Moe_ schreef op vrijdag 10 januari 2014 @ 09:57:
[...]
Ik heb bij vrijwel elk CMS systeem de indruk dat deze met zeer grof materiaal gemaakt is.
Of kent hier toevallig iemand een CMS systeem, waarvan je durft te zeggen dat de code wel mooi in elkaar zit.
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Die was me nog niet bekend, zal ik eens moeten testen.Firesphere schreef op vrijdag 10 januari 2014 @ 09:59:
[...]
Ik durf Silverstripe toch wel mooi te noemen eerlijk gezegd.
https://github.com/silverstripe/silverstripe-cms
Dat is waar, ook ik maak gebruik van een eigen CMS. Maar ik moet wel toegeven dat ik vaak twijfel aan mijn eigen structuurytterx schreef op vrijdag 10 januari 2014 @ 09:59:
[...]
Iedere developer heeft toch wel eens een eigen CMS gemaakt? Dat is natuurlijk wel prachtige code
RTFM!
Waarom zou je int als constraint op willen geven voor een generic methode. Als je toch al weet dat het int moet zijn hoeft het natuurlijk niet meer generic te zijnpdebie schreef op vrijdag 10 januari 2014 @ 09:55:
grrrrrrrrrrrrrr........Waarom kan ik integer niet als type constraint opgeven voor m'n generic method
“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.”
Één godklasse van een paar duizend lines of code die de frontend deed, en een backend systeem dat SQL-queries opbouwde met string concatenation en global variables? Ohja, en een in Swish gemaakte Flash-intro met catchy muziekje, cheezy animaties en een "skip"-knop die pas na enkele seconden werkte.ytterx schreef op vrijdag 10 januari 2014 @ 09:59:
[...]
Iedere developer heeft toch wel eens een eigen CMS gemaakt? Dat is natuurlijk wel prachtige code
Been there, done that. 10 jaar geleden.
We are shaping the future
Dus ja, die mensen hier die gebruiker verwijderen. Vervolgens willen ze terugmailen... Krijgen we hier een telefoontje: Eeeuh, kunnen wij het verwijderen uit de database ongedaan maken? We hebben op verzoek een gebruiker uit de database verwijderd maar we kunnen haar nu niet terugmailen omdat het e-mail adres ook is verwijderd.
True story.
Na wat graven in een backup stond het e-mail adres er nog en kon de gebruiker geinformeerd worden.
[ Voor 8% gewijzigd door Gamebuster op 10-01-2014 10:10 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Een eigen CMS maken een keer is wel heel goed voor je eigen ontwikkeling, maar als't er op aankomt, ga ik toch voor de grote bekenden._Moe_ schreef op vrijdag 10 januari 2014 @ 10:04:
[...]
Die was me nog niet bekend, zal ik eens moeten testen.
[...]
Dat is waar, ook ik maak gebruik van een eigen CMS. Maar ik moet wel toegeven dat ik vaak twijfel aan mijn eigen structuur.
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Dat verzoek is niet per mail binnengekomen?Gamebuster schreef op vrijdag 10 januari 2014 @ 10:08:
We hebben op verzoek een gebruiker uit de database verwijderd maar we kunnen haar nu niet terugmailen omdat het e-mail adres ook is verwijderd.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Verhaaltje is wat verduidelijkt
[ Voor 33% gewijzigd door Gamebuster op 10-01-2014 10:11 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Je moet vooral weten welke hooks je moet gebruiken, als je meer wil dan er standaard in zit. Dat is eigenlijk de leercurve van Wordpress, als je weet van php en MySQL.pdebie schreef op vrijdag 10 januari 2014 @ 09:59:
[...]
Inderdaad. Als je enkel wat plugins op je site gebruikt, een kant-en-klaar thema en verder geen maatwerk vereist kan je er prima websites mee maken. En dat is wat het gros er mee doet.
Nu ben ik geen expert in dergelijke oplossingen, maar de manier waarop je in Wordpress plugins kunt gebruiken, dat is toch de reden waarom de code zo in elkaar zit?
Omdat ik niet alleen int, maar ook string en bool wil kunnen gebruiken.Woy schreef op vrijdag 10 januari 2014 @ 10:04:
[...]
Waarom zou je int als constraint op willen geven voor een generic methode. Als je toch al weet dat het int moet zijn hoeft het natuurlijk niet meer generic te zijn
Alleen ook die kunnen niet als constraint opgegeven worden
Heb het daarom maar als volgt opgelost:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| private static void CheckTypeConstraint<T>() { if (!TypeConstraintPermitted<T>()) { throw new ConstraintException(string.Format("Type '{0}' is not valid.", typeof (T))); } } private static bool TypeConstraintPermitted<T>() { //TODO Add string and bool return typeof (T) == typeof (Int16) || typeof (T) == typeof (Int32) || typeof (T) == typeof (Int64) || typeof (T) == typeof (UInt16) || typeof (T) == typeof (UInt32) || typeof (T) == typeof (UInt64); } |
Verwijderd
Klopt, ik heb al verschillende keren zitten spelen met WordPress en vind het een heel leuk CMS. Ik ben niet begonnen met maatwerk aangezien ik voor de meeste doeleinden wel een goede plugin kon vinden.pdebie schreef op vrijdag 10 januari 2014 @ 09:59:
[...]
Inderdaad. Als je enkel wat plugins op je site gebruikt, een kant-en-klaar thema en verder geen maatwerk vereist kan je er prima websites mee maken. En dat is wat het gros er mee doet.
QFT!ytterx schreef op vrijdag 10 januari 2014 @ 09:59:
[...]
Iedere developer heeft toch wel eens een eigen CMS gemaakt? Dat is natuurlijk wel prachtige code
[ Voor 18% gewijzigd door Verwijderd op 10-01-2014 10:12 ]
Daarnaast, uit database verwijderen?Gamebuster schreef op vrijdag 10 januari 2014 @ 10:08:
Er is een gebruiker verwijderd uit ons systeem o.b.v. de wens dat ze echt uit de database verwijderd wilde worden. Recent heb ik daar een knop voor toegevoegd in ons systeem.
Dat zou ik dus (bijna) nooit doen, juist om situaties als dit, altijd inactief maken!
(Ligt natuurlijk ook aan welke sector je zit tenminste)
En welke vind je dan lekker werken? Ik heb steeds het gevoel dat alle CMS te bombastisch zijn, waardoor ik er ook gewoon afblijf.Firesphere schreef op vrijdag 10 januari 2014 @ 10:09:
[...]
Een eigen CMS maken een keer is wel heel goed voor je eigen ontwikkeling, maar als't er op aankomt, ga ik toch voor de grote bekenden.
RTFM!
Doe je mede-developer een lol, en maak van de exception-tekst "Type {0} is not permitted to be used as a generic type parameter for X.". De melding "Type 'System.Boolean' is not valid." zal je niet in dank worden afgenomen.pdebie schreef op vrijdag 10 januari 2014 @ 10:11:
[...]
Omdat ik niet alleen int, maar ook string en bool willen kunnen gebruiken. Alleen ook die kunnen niet als constraint opgegeven worden
Heb het daarom maar als volgt opgelost:
C#:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 private static void CheckTypeConstraint<T>() { if (!TypeConstraintPermitted<T>()) { throw new ConstraintException(string.Format("Type '{0}' is not valid.", typeof (T))); } } private static bool TypeConstraintPermitted<T>() { //TODO Add string and bool return typeof (T) == typeof (Int16) || typeof (T) == typeof (Int32) || typeof (T) == typeof (Int64) || typeof (T) == typeof (UInt16) || typeof (T) == typeof (UInt32) || typeof (T) == typeof (UInt64); }
.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?
Ik kan mij voorstellen dat je als bedrijf je klanten met droge ogen wilt kunnen vertellen dat je ze echt verwijdert als ze dat vragen. Zuiver op de graat. Mensen krijgen anders weer van die NSA-beelden...Ryur schreef op vrijdag 10 januari 2014 @ 10:13:
[...]
Daarnaast, uit database verwijderen?
Dat zou ik dus (bijna) nooit doen, juist om situaties als dit, altijd inactief maken!
(Ligt natuurlijk ook aan welke sector je zit tenminste)
Dat is inderdaad wel een goedeKorben schreef op vrijdag 10 januari 2014 @ 10:14:
[...]
Doe je mede-developer een lol, en maak van de exception-tekst "Type {0} is not permitted to be used as a generic type parameter for X.". De melding "Type 'System.Boolean' is not valid." zal je niet in dank worden afgenomen.
Ga ik doen.

@hierboven: In plaats van typeof en GetType() kun je ook wat met is. Dat oogt net wat cleaner i.m.o.
We are shaping the future
Kan alleen als je een instance hebt, niet met de generic Type parameter.Alex) schreef op vrijdag 10 januari 2014 @ 10:15:
@hierboven: In plaats van typeof en GetType() kun je ook wat met is. Dat oogt net wat cleaner i.m.o.
“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.”
Inderdaad, daar liep ik ook tegenaan.Woy schreef op vrijdag 10 januari 2014 @ 10:18:
[...]
Kan alleen als je een instance hebt, niet met de generic Type parameter.
CMS?_Moe_ schreef op vrijdag 10 januari 2014 @ 10:14:
[...]
En welke vind je dan lekker werken? Ik heb steeds het gevoel dat alle CMS te bombastisch zijn, waardoor ik er ook gewoon afblijf.
Dat is dan dus Silverstripe of Typo3 af en toe.
Puur applicatiegericht, als er weinig CMS bij hoeft te komen, Symfony2
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Oh, dat kan niet? Beetje jammer weer...Woy schreef op vrijdag 10 januari 2014 @ 10:18:
[...]
Kan alleen als je een instance hebt, niet met de generic Type parameter.
We are shaping the future
Nou ja.... de laatste build is uit 2011Alex) schreef op vrijdag 10 januari 2014 @ 10:15:
Damn, Swish bestaat nog. Ik dacht dat dat inmiddels wel een stille dood zou zijn gestorven.
@hierboven: In plaats van typeof en GetType() kun je ook wat met is. Dat oogt net wat cleaner i.m.o.
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Kan alleen als je een instance hebt, niet met de generic Type parameter.Alex) schreef op vrijdag 10 januari 2014 @ 10:15:
@hierboven: In plaats van typeof en GetType() kun je ook wat met is. Dat oogt net wat cleaner i.m.o.
Je wil eigenlijk gewoon een constraint list hebben, sowieso weet ik niet precies wat je wil doen, want bool/string/lijst integer types hebben niet echt veel overeenkomsten.pdebie schreef op vrijdag 10 januari 2014 @ 10:11:
[...]
Omdat ik niet alleen int, maar ook string en bool wil kunnen gebruiken.![]()
Alleen ook die kunnen niet als constraint opgegeven worden
Heb het daarom maar als volgt opgelost:
C#:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 private static void CheckTypeConstraint<T>() { if (!TypeConstraintPermitted<T>()) { throw new ConstraintException(string.Format("Type '{0}' is not valid.", typeof (T))); } } private static bool TypeConstraintPermitted<T>() { //TODO Add string and bool return typeof (T) == typeof (Int16) || typeof (T) == typeof (Int32) || typeof (T) == typeof (Int64) || typeof (T) == typeof (UInt16) || typeof (T) == typeof (UInt32) || typeof (T) == typeof (UInt64); }
Maar er zijn inderdaad wel wat meer beperkingen op het constraint systeem, die meestal het best gewoon run-time te controleren zijn. ( En natuurlijk duidelijk te documenteren
[ Voor 4% gewijzigd door Woy op 10-01-2014 10:21 ]
“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.”
Dat doen we normaal ook, maar dan krijg je van die gevallen dat men ingelogd is, account op inactief gezet wordt, men refresht en dan nog hun account ziet. Natuurlijk kan je dat afvangen door iemand geforceerd uit te loggen e.d. maar zo blijf je aan de gang (we hebben stiekem nog aardig wat websites draaien, sommige wat ouder, anderen wat nieuwer, sommige users worden gesynct tussen websites, anderen niet, enz)Ryur schreef op vrijdag 10 januari 2014 @ 10:13:
[...]
Daarnaast, uit database verwijderen?
Dat zou ik dus (bijna) nooit doen, juist om situaties als dit, altijd inactief maken!
(Ligt natuurlijk ook aan welke sector je zit tenminste)
Ook omdat je tegenwoordig verplicht bent om gehoor te geven aan het verwijderen wilde we dit soort foutjes/gezeik in de toekomst voorkomen: Wanneer iemand echt hard uit de database verwijderd wil worden en hier nadrukkelijk om vraagt, wordt dit ook gedaan. Dit is tot nu toe maar een paar keer voorgekomen en lijkt allemaal goed te gaan.
[ Voor 5% gewijzigd door Gamebuster op 10-01-2014 10:34 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden
Hoe log je iemand geforceerd uit? Gebruiker bellen en vragen of hij/zij even de cookies wil verwijderen?Gamebuster schreef op vrijdag 10 januari 2014 @ 10:21:
[...]
Dat doen we normaal ook, maar dan krijg je van die gevallen dat men ingelogd is, account op inactief gezet wordt, men refresht en dan nog hun account ziet. Natuurlijk kan je dat afvangen door iemand geforceerd uit te loggen e.d. maar zo blijf je aan de gang (we hebben stiekem nog aardig wat websites draaien, sommige wat ouder, anderen wat nieuwer, sommige users worden gesynct tussen websites, anderen niet, enz)
Hoe hard is die verplichting? Ik kan me voorstellen dat je, als je een event-sourcing-systeem hebt, iemand niet helemaal uit de database kunt verwijderen, puur omdat het aanmaken en verwijderen van een gebruiker ook onderdeel is van de geschiedenis van de staat van je applicatie.Ook omdat je tegenwoordig verplicht bent om gehoor te geven aan het verwijderen wilde we dit soort foutjes/gezeik in de toekomst voorkomen: Wanneer iemand echt hard uit de database verwijderd wil worden en hier nadrukkelijk om vraagt, wordt dit ook gedaan. Dit is tot nu toe maar een paar keer voorgekomen en lijkt allemaal goed te gaan.
.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?
Zijn sessies uit de database verwijderen?Korben schreef op vrijdag 10 januari 2014 @ 10:40:
[...]
Hoe log je iemand geforceerd uit? Gebruiker bellen en vragen of hij/zij even de cookies wil verwijderen?
[...]
Daarnaast zou ik nooit een gebruiker verwijderen. Dan zal ik die gebruiker nog liever anonimiseren.
Of heel simpel, ik quote jou hier. Dus staat jou naam ook in deze post. In sommige situaties is het onhaalbaar om iemand helemaal te verwijderen.Korben schreef op vrijdag 10 januari 2014 @ 10:40:
[...]
Hoe hard is die verplichting? Ik kan me voorstellen dat je, als je een event-sourcing-systeem hebt, iemand niet helemaal uit de database kunt verwijderen, puur omdat het aanmaken en verwijderen van een gebruiker ook onderdeel is van de geschiedenis van de staat van je applicatie.
Jammer joh, citaatrecht, je hebt niets te claimenFireSphere schreef op donderdag 09 januari 2014 @ 22:43:
[...]
Hou jij je er eens buiten, het is mijn copyright!
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.
Authenticatie door middel van een vlaggetje in een sessie? Ouch.Evilbee schreef op vrijdag 10 januari 2014 @ 10:47:
[...]
Zijn sessies uit de database verwijderen?
Daarnaast zou ik nooit een gebruiker verwijderen. Dan zal ik die gebruiker nog liever anonimiseren.
.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?
Die ja. Heb er nog niet zoveel mee gedaan, maar god wat zit dat eigenlijk goed in elkaar. Enige wat jammer is aan Orchard is dat de ontwikkeling langzaam gaat en er vrijwel geen packages zijn. Ontwikkelen voor Orchard is dan weer wel fijn dus
Bedrijven zouden alleen hun eigengemaakte packages vrij moeten geven (al dan niet tegen betaling).
[ Voor 11% gewijzigd door Caelorum op 10-01-2014 10:53 ]
Drupal 8 begint ook ergens op te lijken qua code.
Wordpress zou eigenlijk net al Drupal de ballen moeten hebben en gewoon het roer radikaal om te gooien. Maar dan killen ze gelijk hun hipstersdiegammelemaarhetwerktsomswelpluginverkopendeprutsers markt aandeel.
Driving a cadillac in a fool's parade.
Dat is nostalgischAlex) schreef op vrijdag 10 januari 2014 @ 10:15:
Damn, Swish bestaat nog. Ik dacht dat dat inmiddels wel een stille dood zou zijn gestorven.
@hierboven: In plaats van typeof en GetType() kun je ook wat met is. Dat oogt net wat cleaner i.m.o.
Ik ben daar ooit mee begonnen en heb destijds meegedaan aan de private beta. SWiSHscript / Actionscript heeft er voor gezorgd dat ik programmeren ontdekte.
Je kunt zijn gegevens best verwijderen zonder een record echt te verwijderen door gewoon alles weg te gooien en de naam in "Verwijderd" ofzo te veranderen.Korben schreef op vrijdag 10 januari 2014 @ 10:40:
Hoe hard is die verplichting? Ik kan me voorstellen dat je, als je een event-sourcing-systeem hebt, iemand niet helemaal uit de database kunt verwijderen, puur omdat het aanmaken en verwijderen van een gebruiker ook onderdeel is van de geschiedenis van de staat van je applicatie.
https://niels.nu
Nothing to see here!
Been there, done that. Dit soort mooie constructies:Korben schreef op vrijdag 10 januari 2014 @ 10:51:
[...]
Authenticatie door middel van een vlaggetje in een sessie? Ouch.
1
2
3
| if(isset($_SESSION["UserId"]) && $_SESSION["UserId"] > 0) { /* je bent ingelogd, yay */ } |
[ Voor 4% gewijzigd door Alex) op 10-01-2014 11:02 ]
We are shaping the future
Heb toevallig eergisteren weer eens een rondje open source CMS-en gedaan. PyroCMS ziet er qua code inderdaad goed uit. (ben wel een beetje Laravel fan). De intrface vind ik nog niet heel goed. Dat kan echt nog wel wat beter.kwaakvaak_v2 schreef op vrijdag 10 januari 2014 @ 10:56:
Bolt en pyroCMS (vooral nu die naar laravel4/symfony2 aan het overstappen zijn) zijn best voorbeelden van systemen die best goed in elkaar zitten.
Drupal 8 begint ook ergens op te lijken qua code.
Wordpress zou eigenlijk net al Drupal de ballen moeten hebben en gewoon het roer radikaal om te gooien. Maar dan killen ze gelijk hun hipstersdiegammelemaarhetwerktsomswelpluginverkopendeprutsers markt aandeel.
De interface van Drupal 8 vond ik ook niet heel goed. Ik ben vooral verbaasd dat een wysiwyg-editor als cool new feature getoond wordt.
Bolt ken ik niet. Daar ga ik eens naar kijken. Bedankt.
We are shaping the future
Het aanpassen wordt dan ook onderdeel van de geschiedenis, en dat verandert niet dat de originele persoonlijke gegevens nog steeds in de geschiedenis van de staat van je applicatie staan. Let wel, ik heb het over event sourcing, dus simpelgezegd zal er iets als dit in de historie staan:Hydra schreef op vrijdag 10 januari 2014 @ 10:58:
[...]
Je kunt zijn gegevens best verwijderen zonder een record echt te verwijderen door gewoon alles weg te gooien en de naam in "Verwijderd" ofzo te veranderen.
1
2
3
4
5
6
7
8
| Events = new[] { new UserCreatedEvent { Name = "Pietje Puk", EmailAddress = "xpietjepuk_snipahx@hotmailzor.com", }, } |
En er zal een overeenkomstig 'user'-record zijn met de bijbehorende gegevens. Nu verwijder jij je gebruiker. Het 'user'-record wordt verwijderd, maar je historie ziet er nog steeds zo uit:
1
2
3
4
5
6
7
8
9
10
11
12
| Events = new[] { new UserCreatedEvent { Name = "Pietje Puk", EmailAddress = "xpietjepuk_snipahx@hotmailzor.com", }, new UserRemovedEvent { Reason = "Mocht niet van z'n ouders.", }, } |
Geschiedenis klopt, 'user'-record is weg, maar in de geschiedenis staat nog steeds wat z'n echte naam is, om maar wat te noemen.
.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?
Korben schreef op vrijdag 10 januari 2014 @ 11:06:
C#:
1 2 3 4 5 6 7 Events = new[] { new UserRemovedEvent { Reason = "Mocht niet van z'n ouders.", }, }

We are shaping the future
Niet helemaal waar, maar het zit nu standaard in de core ipv contrib. Net als dat views en migrate nu ook onderdeel van de standaard core zijn. En waar ik zelf blijer van wordt, TWIG als template engine en REST op een fatsoenlijke manier in de core.Alex) schreef op vrijdag 10 januari 2014 @ 11:04:
Voor Drupal is Wysiwyg inderdaad nieuw, vroeger had je een <textarea /> waarmee je het moest doen.
en eindelijk een nette OO laag ipv een procuderele observer laag.
Hoe iets er qua admin interface uitziet is precies de reden waarom Wordpress als 'goed' wordt bestempeld en dat wil niet zeggen dat het niet belangrijk is. Maar je kunt een hoop stront van slagroom en een gekonfijte kers voorzien, het is en blijft een hoop stront onder de versiering.
Driving a cadillac in a fool's parade.
Nothing to see here!
Ik zal iets heel voordehandliggends over het hoofd zien maar wat is het probleem precies en wat wordt bedoeld met vlaggetje in een sessie? Als iemand is ingelogd dan houd je in de session scope dat bij en wanneer iemand die sessie-id meestuurt is dat blijkbaar de betreffende gebruikerAlex) schreef op vrijdag 10 januari 2014 @ 11:02:
[...]
Been there, done that. Dit soort mooie constructies:
PHP:
1 2 3 if(isset($_SESSION["UserId"]) && $_SESSION["UserId"] > 0) { /* je bent ingelogd, yay */ }
Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.
Session state is bedoeld voor dingen die niet in het HTTP-protocol zitten en die je over requests heen wilt tillen. Authenticatie kan simpelweg met cookies, als je het per se zelf wilt doen. Liever gebruik je iets als OpenID, en de meeste OpenID-providers gebruiken... drie keer raden... cookies.kenneth schreef op vrijdag 10 januari 2014 @ 11:14:
[...]
Ik zal iets heel voordehandliggends over het hoofd zien maar wat is het probleem precies en wat wordt bedoeld met vlaggetje in een sessie? Als iemand is ingelogd dan houd je in de session scope dat bij en wanneer iemand die sessie-id meestuurt is dat blijkbaar de betreffende gebruiker
.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?
Maar dan heb je toch nog steeds een lijst met gebruikers die actief zijn? Of wordt dat allen gechecked bij het inloggen?Korben schreef op vrijdag 10 januari 2014 @ 11:15:
[...]
Session state is bedoeld voor dingen die niet in het HTTP-protocol zitten en die je over requests heen wilt tillen. Authenticatie kan simpelweg met cookies, als je het per se zelf wilt doen. Liever gebruik je iets als OpenID, en de meeste OpenID-providers gebruiken... drie keer raden... cookies.
Het is al weer een tijdje geleden dat ik daarmee gewerkt heb.
En een sessie gebruikt ... drie keer raden ... cookies ( Niet voor de storage van data natuurlijk ). Het is heel gebruikelijk om gewoon een authentication token bij te houden, en daar de login op te baseren. Je gaat immers ook niet de credentials in een cookie opslaan.Korben schreef op vrijdag 10 januari 2014 @ 11:15:
[...]
Session state is bedoeld voor dingen die niet in het HTTP-protocol zitten en die je over requests heen wilt tillen. Authenticatie kan simpelweg met cookies, als je het per se zelf wilt doen. Liever gebruik je iets als OpenID, en de meeste OpenID-providers gebruiken... drie keer raden... cookies.
Tweakers heeft ook gewoon authentication sessions die gewoon verwijderd kunnen worden.
Ook bij OpenId wordt er maar 1 maal daadwerkelijk geauthenticate en daarna gewoon een authentication token uitgegeven. Het verschil daar is dat het inderdaad stateless is aangezien die door een andere partij uitgegeven word. Een dergelijke token kun je ook gewoon invalidaten, en dus geforceerd uitloggen. ( Daarvoor moet je natuurlijk wel weer state bijhouden op je server )
[ Voor 21% gewijzigd door Woy op 10-01-2014 11:21 ]
“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.”
Echt.... WTF....
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Geloof dat hier iemand een token had gemaakt op basis van username/password hash + ip adres en nog wat meuk.
Gebruik hier op moment iets van Microsoft.IdentityModel
[ Voor 14% gewijzigd door Oxidda op 10-01-2014 11:23 ]
Krijg je als je zaken wilt doen met de BAS Group (Dixons, MyCom, iCentre o.a.)..Gertjan. schreef op vrijdag 10 januari 2014 @ 11:22:
De I(C)T goden gunnen mij mijn Mac Mini volgens mij echt niet....Gisteren met korting bij de Dixons een nieuwe besteld, was voorraad en zou dezelfde dag verzonden worden... Nope, staat nog steeds op "wordt verwerkt" en inmiddels is er ook geen voorraad meer...
Echt.... WTF....Waarom zit het niet gewoon een keertje mee?
Hele slechte ervaringen mee, de koppeling tussen de webshop & de voorraad in Almere kloppen niet.
Ik bestel nooit meer online bij BAS Group.
Dan zal een surface pro 2 kopen een wereldramp zijn die is voorkomen, die is niet aan te slepenEalanrian schreef op vrijdag 10 januari 2014 @ 11:23:
De goden willen voorkomen dat je een grote fout begaat.
.Gertjan. schreef op vrijdag 10 januari 2014 @ 11:22:
De I(C)T goden gunnen mij mijn Mac Mini volgens mij echt niet....Gisteren met korting bij de Dixons een nieuwe besteld, was voorraad en zou dezelfde dag verzonden worden... Nope, staat nog steeds op "wordt verwerkt" en inmiddels is er ook geen voorraad meer...
Echt.... WTF....Waarom zit het niet gewoon een keertje mee?

[ Voor 10% gewijzigd door Woy op 10-01-2014 11:29 ]
“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.”
Ik heb een generic functie die, door de user bepaalde, instellingen uit een tabel in de database haalt. Deze instellingen hebben een bepaald type (int, string etc.). Welk type dit is staat in een van de kolommen van het opgevraagde record.Woy schreef op vrijdag 10 januari 2014 @ 10:21:
[...]
Je wil eigenlijk gewoon een constraint list hebben, sowieso weet ik niet precies wat je wil doen, want bool/string/lijst integer types hebben niet echt veel overeenkomsten.
In de generic functie wil ik wat checks doen of de instelling van de gebruiker voldoet aan de eisen. Bijvoorbeeld als het type op 'integer' staat, dat er in de value ook daadwerkelijk een integer staat en niet 'abc' bijvoorbeeld. Daar wil ik dus eerst een TryParse overheen gooien en eventueel een exception als het mis gaat.
Bij de invoer van de gebruikersinstellingen heb ik uiteraard ook al een check zitten dus de data zou goed moeten zijn, maar ik wil bij het opvragen voor de zekerheid nog een check doen om er zeker van te zijn dat de instellingen echt kloppen.
Lang verhaal, hoop dat het duidelijk is.
Nothing to see here!
Het is een hint. Snap je dat niet?.Gertjan. schreef op vrijdag 10 januari 2014 @ 11:22:
De I(C)T goden gunnen mij mijn Mac Mini volgens mij echt niet....Gisteren met korting bij de Dixons een nieuwe besteld, was voorraad en zou dezelfde dag verzonden worden... Nope, staat nog steeds op "wordt verwerkt" en inmiddels is er ook geen voorraad meer...
Echt.... WTF....Waarom zit het niet gewoon een keertje mee?
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Liefste haalde ik hem ook in de winkel op, maar daar werkte de kortingscode niet op. In het verleden vaker zaken met ze gedaan en toen ging het wel goed. Maar het lijkt wel of tegenwoordig ieder pakketje dat ik besteld verkloot wordt...Ryur schreef op vrijdag 10 januari 2014 @ 11:23:
[...]
Krijg je als je zaken wilt doen met de BAS Group (Dixons, MyCom, iCentre o.a.).
Hele slechte ervaringen mee, de koppeling tussen de webshop & de voorraad in Almere kloppen niet.
Ik bestel nooit meer online bij BAS Group.
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Verwijderd
Die Surfaces zijn echt prachtige apparaten. Ik heb een 1st gen Surface RT en ben er ontzettend tevreden van. Een Surface Pro is me wat te duur voor hetgene ik er mee doe.Oxidda schreef op vrijdag 10 januari 2014 @ 11:24:
[...]
Dan zal een surface pro 2 kopen een wereldramp zijn die is voorkomen, die is niet aan te slepen
Ik heb mijn Surface overigens via een studentenactie voor 280 euro (inclusief type cover) kunnen kopen
Als je website in een farm staat word dit al snel een must. Servers kunnen niet in elkaars memory kijken.Rutix schreef op vrijdag 10 januari 2014 @ 11:26:
En sowieso als je ASP.Net gebruikt kun je ook nog Session State gebruiken en die opslaan server site in SQL db ofzo.
Vooralsnog doen wij alles in memory en limiteren het. Gebruiken hier nog ASP.NET Webforms meeste word gedaan via querystrings.
Als we iets in MVC hadden gemaakt en het aan mij had gelegen, dan was het een SPA geworden. Veel handiger imo.
Toen de prijs van de RT 1 kelderde heb ik er ook direct een gehaald bij de StaplesVerwijderd schreef op vrijdag 10 januari 2014 @ 11:28:
[...]
Die Surfaces zijn echt prachtige apparaten. Ik heb een 1st gen Surface RT en ben er ontzettend tevreden van. Een Surface Pro is me wat te duur voor hetgene ik er mee doe.
Ik heb mijn Surface overigens via een studentenactie voor 280 euro (inclusief type cover) kunnen kopen.
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Aan je typefouten te zien, ben je echt wel van je melk!.Gertjan. schreef op vrijdag 10 januari 2014 @ 11:28:
[...]
Liefste haalde ik hem ook in de winkel op, maar daar werkte de kortingscode niet op. In het verleden vaker zaken met ze gedaan en toen ging het wel goed. Maar het lijkt wel of tegenwoordig ieder pakketje dat ik besteld verkloot wordt...
RTFM!
Zal wel hotlink beveiliging zijn, heb hem even bij tweakers gezet, dus zou het nou wel moeten doen.
“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.”
Ik heb ook de indruk dat het prachtige apparaten zijn, ze zijn alleen 24/7 sold-out.Verwijderd schreef op vrijdag 10 januari 2014 @ 11:28:
[...]
Die Surfaces zijn echt prachtige apparaten. Ik heb een 1st gen Surface RT en ben er ontzettend tevreden van. Een Surface Pro is me wat te duur voor hetgene ik er mee doe.
Ik heb mijn Surface overigens via een studentenactie voor 280 euro (inclusief type cover) kunnen kopen.
Ik heb eentje zowat na .Gertjan gekocht, hij had eerder in de week gehaald. Dat weet ik nog wel.Gertjan. schreef op vrijdag 10 januari 2014 @ 11:29:
[...]
Toen de prijs van de RT 1 kelderde heb ik er ook direct een gehaald bij de StaplesTot nu toe erg tevreden. Het is geen game tablet, maar dat is voor mij geen probleem. De integratie met Office 365 is gewoon ontzettend fijn voor mij
Momenteel heb ik zelfs een Surface 2 (non-Pro). En ook nog mijn RT1 (die ik nog even op V&A moet zetten).
Hoe goed de RT1 was, de Surface2 is nog beter!
Typefouten? Ik tel er 1 (namelijk: dat ik besteld)..._Moe_ schreef op vrijdag 10 januari 2014 @ 11:29:
[...]
Aan je typefouten te zien, ben je echt wel van je melk!
De laatste keer dat ik naar de titel van het topic keek stond er geen Nationaal Dictee, dus lekker belangrijk!
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Authenticatie opslaan in session state heeft ook weer nadelen; hoe implementeer je bijvoorbeeld 'onthoud mijn gegevens'? Juist, met extra cookies en dat soort onzin. Wat staat er in die cookies? Plain text credentials? Lekker veilig.Woy schreef op vrijdag 10 januari 2014 @ 11:18:
[...]
En een sessie gebruikt ... drie keer raden ... cookies ( Niet voor de storage van data natuurlijk ). Het is heel gebruikelijk om gewoon een authentication token bij te houden, en daar de login op te baseren. Je gaat immers ook niet de credentials in een cookie opslaan.
Tweakers heeft ook gewoon authentication sessions die gewoon verwijderd kunnen worden.
Ook bij OpenId wordt er maar 1 maal daadwerkelijk geauthenticate en daarna gewoon een authentication token uitgegeven. Het verschil daar is dat het inderdaad stateless is aangezien die door een andere partij uitgegeven word. Een dergelijke token kun je ook gewoon invalidaten, en dus geforceerd uitloggen. ( Daarvoor moet je natuurlijk wel weer state bijhouden op je server )

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?
Verwijderd
Nu doet ie het inderdaad.Woy schreef op vrijdag 10 januari 2014 @ 11:30:
[...]
Zal wel hotlink beveiliging zijn, heb hem even bij tweakers gezet, dus zou het nou wel moeten doen.
Ik moest lachen
Verwijderd
[ Voor 13% gewijzigd door Verwijderd op 10-01-2014 11:43 ]
Ik moet meteen denken aan : http://code.org/Verwijderd schreef op vrijdag 10 januari 2014 @ 11:42:
Ik ben erg benieuwd naar de meningen van de Devschuurders en daarom plaats ik dit linkje hier: Leer kinderen op school programmeren
I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!
Goh, het is zo'n schitterend product!Firesphere schreef op vrijdag 10 januari 2014 @ 11:44:
Grappig om te zien dat er hier zoveel Surface-gebruikers zitten en ook allemaal zo tevreden zijn over't apparaat
Ik zeg ook niet dat je het in de "normale" session state mechanismes op moet slaan. Maar zoals bijvoorbeeld tweakers het doet is het ook gewoon een session, waarbij het cookie alleen wel persisted is tussen browser sessions.Korben schreef op vrijdag 10 januari 2014 @ 11:33:
[...]
Authenticatie opslaan in session state heeft ook weer nadelen; hoe implementeer je bijvoorbeeld 'onthoud mijn gegevens'? Juist, met extra cookies en dat soort onzin.
Sowieso geen credentials in het cookie opslaan natuurlijk, dat gebeurt bij OpenId natuurlijk ook niet.Wat staat er in die cookies? Plain text credentials? Lekker veilig.Machine key-encrypted credentials?
Als je een federated architectuur hebt moet je wel, maar anders is een opzet zoals bij tweakers een stuk eenvoudiger te impelementeren ( Als je geen gebruik maakt van een 3rd party authenticatie service natuurlijk ).Gebruik dan überhaupt een cookie als authenticatie. Met cookie authentication kun je ook mensen geforceerd uitloggen, maar daar moet je inderdaad state voor bijhouden; alleen is dat geen session state.
“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.”
Verwijderd
Alleen spijtig dat er maar zo weinig mensen van op de hoogte zijn. Er is ontzettend veel kritiek gekomen op Windows RT en ik vrees dat de verkopen daardoor wat uitblijven. Een collega vroeg onlangs welke tablet hij moest kopen en ik heb hem de Surface 2 aangeraden. Hij heeft hem nu al enkele weken en is er ook ontzettend blij mee
+ liefste.Gertjan. schreef op vrijdag 10 januari 2014 @ 11:32:
[...]
Typefouten? Ik tel er 1 (namelijk: dat ik besteld)...
De laatste keer dat ik naar de titel van het topic keek stond er geen Nationaal Dictee, dus lekker belangrijk!
Het is tevens niet van jou gewoonte, daarmee dat het me opviel.
RTFM!
We are shaping the future
Dit topic is gesloten.
* zoals jullie weten gaan we tegenwoordig naar een nieuwe iteratie bij ~10k posts. 1 april (en dat is geen grap) gaan we over op het nieuwe deel! *
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.