abonnement Unibet Coolblue
pi_168626350
Ik zou kijken of je dezelfde views kunt gebruiken aan de backend en aan de front-end. Aantal jaren geleden gedaan voor een hybride app en dat werkte prima. Van Mustache zijn er bijv. .NET implementaties te vinden, Zelf krijg ik altijd jeuk als ik zo'n hele lap HTML uitgespuwd zie worden, maar het is wel verdomd makkelijk :)
Bleuh.
  donderdag 2 februari 2017 @ 21:36:16 #102
56176 Catch22-
Ben je Blind?!
pi_168626473
Je kan serverside renderen, maar ik krijg jeuk van HTML op de backend. Ik zou react of angular gebruiken met json denk ik.
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_168630301
Voordeel van JSON is dat je backend lekker clean blijft, en je hebt gelijk een API waar je eventueel een app of 3rd party software tegenaan kunt (laten) timmeren.
Tweakers stuurt natuurlijk de (opgemaakte) inhoud van een post door, dat is gewoon opgeslagen als HTML. Daar lijkt me niet zoveel mis mee. Ik denk ook dat je daar de grens moet trekken: objecten e.d. netjes JSON encoden, maar eventuele html-content daarin gewoon doorsturen zoals het opgeslagen staat.
  vrijdag 3 februari 2017 @ 00:01:47 #104
56176 Catch22-
Ben je Blind?!
pi_168631204
quote:
14s.gif Op donderdag 2 februari 2017 23:22 schreef KomtTijd... het volgende:
Voordeel van JSON is dat je backend lekker clean blijft, en je hebt gelijk een API waar je eventueel een app of 3rd party software tegenaan kunt (laten) timmeren.
Tweakers stuurt natuurlijk de (opgemaakte) inhoud van een post door, dat is gewoon opgeslagen als HTML. Daar lijkt me niet zoveel mis mee. Ik denk ook dat je daar de grens moet trekken: objecten e.d. netjes JSON encoden, maar eventuele html-content daarin gewoon doorsturen zoals het opgeslagen staat.
Dat komt uit een editor. Dat is anders dan een template parsen
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  vrijdag 3 februari 2017 @ 00:09:15 #105
123869 Merkie
Surprisingly contagious
pi_168631351
quote:
0s.gif Op donderdag 2 februari 2017 21:36 schreef Catch22- het volgende:
Je kan serverside renderen, maar ik krijg jeuk van HTML op de backend. Ik zou react of angular gebruiken met json denk ik.
Waarom? Ik vind het persoonlijk ook prettig om de layout in de client te renderen, maar het is wel een relatief zware belasting voor de client. En SEO.
quote:
19s.gif Op donderdag 2 februari 2017 21:27 schreef TwenteFC het volgende:
Een vraag waar ik eigenlijk al een tijd over twijfel en nu het toch over Vue gaat.

Situatie; Een ecommerce website met aan de linkerkant verschillende facetten die je kan aanklikken waarna de de content aan de rechterkant verandert en de overgebleven producten in beeld staan.

Welke oplossing zouden jullie kiezen en waarom als het gaat om het ophalen en tonen van die content? JSON, of direct html terugkrijgen van je backend?

Mijn developer gevoel zegt in eerste instantie json, maar gewoon direct een HTML view erin pompen werkt ook gewoon praktisch en snel.

Wanneer ik even snel langs de grote websites ga dan zie ik dat Coolblue gewoon een HTML response opvraagt. Tweakers daarentegen kiest een middenweg JSON met daarin HTML. Maar Bol.com doet alles met een JSON response die daarna verwerkt wordt.

:P Een van die situaties waar ik gewoon links of rechtsom geen voorkeur heb omdat ik niet weet wat ik ervan moet vinden.
Ik zou voor JSON kiezen.
2000 light years from home
pi_168634125
Het verschil zit hem in het maken van HTML door JavaScript (bijvoorbeeld een Vue of Angular, of zelfs native) of dat het al reeds gemaakt is door de backend. Het genereren van elementen (document.createElement) kost tijd (in millisecondes) en browser geheugen, en kan een vertragende factor zijn (performance) als het gaat om het maken van enorm veel DOMelementen. Dan is zelfs een Angular of een Vue niet voldoende en wil je HTML terugkrijgen van de backend. Juist daarvoor is paginering uitgevonden (of lazyload). Dus de vraag is meer, hoeveel product tiles wil ik tonen en ga ik paginering/lazyload implementeren? Zo nee, gebruik HTML van de backend. Anders is het prima om JSON te gebruiken. Zo bepaalt de frontender hoe de HTML eruit gaat zien en is de JSON het contract tussen de backend (met zijn model) en de frontend.
pi_168641454
quote:
7s.gif Op vrijdag 3 februari 2017 08:47 schreef Qunix het volgende:
Het verschil zit hem in het maken van HTML door JavaScript (bijvoorbeeld een Vue of Angular, of zelfs native) of dat het al reeds gemaakt is door de backend. Het genereren van elementen (document.createElement) kost tijd (in millisecondes) en browser geheugen, en kan een vertragende factor zijn (performance) als het gaat om het maken van enorm veel DOMelementen.
...Maar die tijd is gratis. Twig renderen kost jóúw cpu cycles 7.gif
  vrijdag 3 februari 2017 @ 15:48:45 #108
56176 Catch22-
Ben je Blind?!
pi_168641534
quote:
0s.gif Op vrijdag 3 februari 2017 00:09 schreef Merkie het volgende:
Waarom? Ik vind het persoonlijk ook prettig om de layout in de client te renderen, maar het is wel een relatief zware belasting voor de client. En SEO.
omdat ik het dan zelf onder controle heb. Wij hebben hier op de zaak een heel stricte scheiding van front en back. En ik wil niet in de backend klooien, of developers hoeven storen voor een classname.

SEO is voor mij een non-issue want we bouwen enkel afgeschermde applicaties. Google indexeert javascriptgenerated content overigens wel
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_168677372
Vraagje..

Met window.screenY krijg ik de afstand tussen de bovenkant van het scherm en de bovenkant van de browser (de titelbalk zeg maar of net hoe dat heet) in pixels..
Maar hoe krijg ik de afstand van de bovenkant van het scherm tot de bovenkant van het vak waar de website in is? dus onder de titelbalk, tabs, urlbalk, bladwijzers etc. gewoon het vak waar de webpagina te zien is.
  zondag 5 februari 2017 @ 00:26:44 #110
118011 BrainOverfloW
Fok! around the Clock!
pi_168677708
quote:
0s.gif Op zondag 5 februari 2017 00:12 schreef Skunk-m het volgende:
Vraagje..

Met window.screenY krijg ik de afstand tussen de bovenkant van het scherm en de bovenkant van de browser (de titelbalk zeg maar of net hoe dat heet) in pixels..
Maar hoe krijg ik de afstand van de bovenkant van het scherm tot de bovenkant van het vak waar de website in is? dus onder de titelbalk, tabs, urlbalk, bladwijzers etc. gewoon het vak waar de webpagina te zien is.
Volgens mij zoek je Window.innerHeight
Whether or not you can become great at something, you can always become better.
And one day you'll wake up and find out how good you actually became, having transcended whatever limits you might have thought you couldn't pass.
Neil Degrasse Tyson
pi_168678082
quote:
0s.gif Op zondag 5 februari 2017 00:26 schreef BrainOverfloW het volgende:

[..]

Volgens mij zoek je Window.innerHeight
Dat is niet wat ik zoek...

Ik dacht misschien kan ik window.outerHeight-window.innerHeight en dat optellen bij window.screenY , maar dat is ook geen optie, want sommige browsers hebben ook onderaan een balk zitten en bovendien klopt het resultaat niet als ik hier in firefox window.outerHeight-window.innerHeight doe.. op het oog lijkt het dat hij de titelbalk niet meepakt met outerheight..
terwijl dat volgens deze afbeelding wel zou moeten:



Maar wat ik dus wil is de afstand tussen de bovenkant van het scherm, de monitor, de screen tot de bovenkant van wat in die afbeelding is aangegeven als de bovenkant van innerheight.
  zondag 5 februari 2017 @ 00:52:10 #112
118011 BrainOverfloW
Fok! around the Clock!
pi_168678303
quote:
0s.gif Op zondag 5 februari 2017 00:41 schreef Skunk-m het volgende:

[..]

Dat is niet wat ik zoek...

Ik dacht misschien kan ik window.outerHeight-window.innerHeight en dat optellen bij window.screenY , maar dat is ook geen optie, want sommige browsers hebben ook onderaan een balk zitten en bovendien klopt het resultaat niet als ik hier in firefox window.outerHeight-window.innerHeight doe.. op het oog lijkt het dat hij de titelbalk niet meepakt met outerheight..
terwijl dat volgens deze afbeelding wel zou moeten:

[ afbeelding ]

Maar wat ik dus wil is de afstand tussen de bovenkant van het scherm, de monitor, de screen tot de bovenkant van wat in die afbeelding is aangegeven als de bovenkant van innerheight.
Dat zal lastig worden om voor elkaar te krijgen denk ik. Naast eventuele extra balken aan de onderkant van de browser kun je er ook niet vanuit gaan dat de gebruiker zijn scherm gemaximaliseerd heeft staan. En de positie van het browserscherm t.o.v. de hoeken van de monitor is bij mijn weten niet iets wat je op kunt vragen.

Wat is de reden dat je dit zou willen weten?
Whether or not you can become great at something, you can always become better.
And one day you'll wake up and find out how good you actually became, having transcended whatever limits you might have thought you couldn't pass.
Neil Degrasse Tyson
pi_168678500
quote:
0s.gif Op zondag 5 februari 2017 00:52 schreef BrainOverfloW het volgende:

[..]

Dat zal lastig worden om voor elkaar te krijgen denk ik. Naast eventuele extra balken aan de onderkant van de browser kun je er ook niet vanuit gaan dat de gebruiker zijn scherm gemaximaliseerd heeft staan. En de positie van het browserscherm t.o.v. de hoeken van de monitor is bij mijn weten niet iets wat je op kunt vragen.

Wat is de reden dat je dit zou willen weten?
hoezo is dat niet iets dat je op kunt vragen, window.screenY geeft je die waarde.

Maar ik heb nou iig een mogelijkheid gevonden al is het misschien een omslachtige en er is een event voor nodig..

Met event.screenY-event.clientY krijg ik het juiste antwoord, maar daar moet ik toch zonder event voor te gebruiken gewoon kunnen..?
pi_168699952
Heeft er iemand enig idee hoe ik dit kan doen zonder dat ik er een muisknop voor nodig heb? ik moet het bij het laden van de pagina kunnen weten.
  zondag 5 februari 2017 @ 22:53:25 #115
12221 Tijn
Powered by MS Paint
pi_168700102
quote:
0s.gif Op zondag 5 februari 2017 22:48 schreef Skunk-m het volgende:
Heeft er iemand enig idee hoe ik dit kan doen zonder dat ik er een muisknop voor nodig heb? ik moet het bij het laden van de pagina kunnen weten.
Dan gebruik je het DOMContentLoaded event.
pi_168701192
quote:
14s.gif Op zondag 5 februari 2017 22:53 schreef Tijn het volgende:

[..]

Dan gebruik je het DOMContentLoaded event.
wat moet ik daarmee doen dan, hoe krijg ik daarmee de afstand van de bovenkant van het scherm tot de bovenkant van de pagina/viewport?
  zondag 5 februari 2017 @ 23:36:58 #117
12221 Tijn
Powered by MS Paint
pi_168701282
quote:
0s.gif Op zondag 5 februari 2017 23:34 schreef Skunk-m het volgende:

[..]

wat moet ik daarmee doen dan, hoe krijg ik daarmee de afstand van de bovenkant van het scherm tot de bovenkant van de pagina/viewport?
Er staat een voorbeeld in de link :)
pi_168701449
quote:
2s.gif Op zondag 5 februari 2017 23:36 schreef Tijn het volgende:

[..]

Er staat een voorbeeld in de link :)
maar er staat geen voorbeeld van wat ik moet hebben, hoe heb jij in gedachten dat ik daarmee de afstand van de bovenkant van het scherm tot de bovenkant van de viewport kan krijgen?
Enige manier die ik zelf op creatieve wijze heb gevonden is door een muisklik te egebruiken en dan de positie van de muis binnen de viewport (clientY) af te trekken van de positie van de muis op het scherm (screenY), maar hoe krijg ik die afstand zonder muisklik (dus op een totaal andere manier, want voor zover ik weet moet je op zn minst een mouseover hebben om wat ik nu doe te doen en die heb je niet bij het laden van de pagina.
  maandag 6 februari 2017 @ 09:05:53 #119
12221 Tijn
Powered by MS Paint
pi_168704739
quote:
0s.gif Op zondag 5 februari 2017 23:44 schreef Skunk-m het volgende:

[..]

maar er staat geen voorbeeld van wat ik moet hebben, hoe heb jij in gedachten dat ik daarmee de afstand van de bovenkant van het scherm tot de bovenkant van de viewport kan krijgen?
Enige manier die ik zelf op creatieve wijze heb gevonden is door een muisklik te egebruiken en dan de positie van de muis binnen de viewport (clientY) af te trekken van de positie van de muis op het scherm (screenY), maar hoe krijg ik die afstand zonder muisklik (dus op een totaal andere manier, want voor zover ik weet moet je op zn minst een mouseover hebben om wat ik nu doe te doen en die heb je niet bij het laden van de pagina.
Ah zo, dus je moet een mouse event hebben. Mousemove een optie?
pi_168719694
quote:
2s.gif Op maandag 6 februari 2017 09:05 schreef Tijn het volgende:

[..]

Ah zo, dus je moet een mouse event hebben. Mousemove een optie?
Nee ik moet eigenlijk een oplossing hebben zonder mouse event, ik moet die afstand weten bij het laden van de pagina.
  maandag 6 februari 2017 @ 20:44:07 #121
12221 Tijn
Powered by MS Paint
pi_168719791
quote:
0s.gif Op maandag 6 februari 2017 20:41 schreef Skunk-m het volgende:

[..]

Nee ik moet eigenlijk een oplossing hebben zonder mouse event, ik moet die afstand weten bij het laden van de pagina.
Mmmm, ik weet niet of dat kan. Sowieso gaat het eigenlijk buiten de scope van waar een webpagina zich mee bezig houdt.
  vrijdag 19 mei 2017 @ 22:21:53 #122
91039 mstx
2x1/2 = 1/2 x 1/2
pi_171062974
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_175081991
Back in the days van WMCity was ik goed in HTML/CSS. De laatste jaren is die kennis wel wat verwaterd maar de basis is er nog, daarbij komt dat er nu ook gewerkt wordt met HTML5.

Kunnen jullie mij een boek aanraden die niets voor beginners is, maar de nieuwe technieken aanpakt? En eventueel een boek over Bootstrap?
Uitvinder van de biersmiley.
  dinsdag 28 november 2017 @ 12:10:39 #124
118585 Crutch
Filantroop || Taalzwengel
pi_175358577
quote:
0s.gif Op woensdag 15 november 2017 08:53 schreef dimmak het volgende:
Back in the days van WMCity was ik goed in HTML/CSS. De laatste jaren is die kennis wel wat verwaterd maar de basis is er nog, daarbij komt dat er nu ook gewerkt wordt met HTML5.

Kunnen jullie mij een boek aanraden die niets voor beginners is, maar de nieuwe technieken aanpakt? En eventueel een boek over Bootstrap?
Het hele internet staat vol met dat soort dingen. Begin bijvoorbeeld eens de documentatie van Bootstrap te lezen.

Boeken zijn wmb zeer achterhaald en zeker m.b.t voorbeelden zijn er online veel betere voorbeelden en zogenaamde (interactieve) tutorials te vinden.
Je moeder is een hamster
pi_175358648
quote:
0s.gif Op dinsdag 28 november 2017 12:10 schreef Crutch het volgende:

[..]

Het hele internet staat vol met dat soort dingen. Begin bijvoorbeeld eens de documentatie van Bootstrap te lezen.

Boeken zijn wmb zeer achterhaald en zeker m.b.t voorbeelden zijn er online veel betere voorbeelden en zogenaamde (interactieve) tutorials te vinden.
Daar ben ik al aan begonnen. Ik kwam eigenlijk tot de conclusie dat Bootstrap een beetje overbodig is voor een layout en ik beter from scratch kun schrijven. Of zie ik dat verkeerd?
Uitvinder van de biersmiley.
  dinsdag 28 november 2017 @ 12:25:19 #126
91039 mstx
2x1/2 = 1/2 x 1/2
pi_175358849
quote:
0s.gif Op dinsdag 28 november 2017 12:15 schreef dimmak het volgende:

[..]

Daar ben ik al aan begonnen. Ik kwam eigenlijk tot de conclusie dat Bootstrap een beetje overbodig is voor een layout en ik beter from scratch kun schrijven. Of zie ik dat verkeerd?
Als je alles handmatig wil doen (incl responsive maken etc), veel plezier maar mij niet gezien hoor. Als het meer dan een simpele pagina is gebruik ik gewoon een framework, dat scheelt veel kostbare ontwikkeltijd doordat je zelf niet steeds het wiel opnieuw hoeft uit te vinden.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  dinsdag 28 november 2017 @ 12:27:14 #127
118585 Crutch
Filantroop || Taalzwengel
pi_175358901
quote:
0s.gif Op dinsdag 28 november 2017 12:15 schreef dimmak het volgende:

[..]

Daar ben ik al aan begonnen. Ik kwam eigenlijk tot de conclusie dat Bootstrap een beetje overbodig is voor een layout en ik beter from scratch kun schrijven. Of zie ik dat verkeerd?
Dat hangt af van wat je wil maken.
Overigens is bootstrap niet één vast pakket. Je er bijvoorbeeld voor kiezen alleen het grid-systeem te gebruiken. Daarmee bespaar je jezelf al een hoop gedoe met het plaatsen en responsive maken van je layout.
Je moeder is een hamster
pi_175359119
quote:
1s.gif Op dinsdag 28 november 2017 12:25 schreef mstx het volgende:

[..]

Als je alles handmatig wil doen (incl responsive maken etc), veel plezier maar mij niet gezien hoor. Als het meer dan een simpele pagina is gebruik ik gewoon een framework, dat scheelt veel kostbare ontwikkeltijd doordat je zelf niet steeds het wiel opnieuw hoeft uit te vinden.
quote:
0s.gif Op dinsdag 28 november 2017 12:27 schreef Crutch het volgende:

[..]

Dat hangt af van wat je wil maken.
Overigens is bootstrap niet één vast pakket. Je er bijvoorbeeld voor kiezen alleen het grid-systeem te gebruiken. Daarmee bespaar je jezelf al een hoop gedoe met het plaatsen en responsive maken van je layout.
Ok. Ja het hele framework leek mij een beetje te veel van het goede om te gebruiken. Ik ga eerst wel aan de slag met HTML5, CSS en JS om dat bij te spijkeren.
Uitvinder van de biersmiley.
  vrijdag 29 december 2017 @ 18:18:07 #129
468509 _--_
In varietate concordia
pi_176119062
Ik heb dus de volgende site: http://themuurtje.me en wil er graag een tijdlimiet op zetten van 30 seconden, anders wordt er enorm gespammed. :')

edit: trek je niets aan van die scripts, ik hem mensen gevraagd om te injecteren om veiligheid te testen.
Crack the following and we will get back to you: !1!llssod000;;
pi_176135853
quote:
10s.gif Op vrijdag 29 december 2017 18:18 schreef _--_ het volgende:
Ik heb dus de volgende site: http://themuurtje.me en wil er graag een tijdlimiet op zetten van 30 seconden, anders wordt er enorm gespammed. :')
Hoe precies denk je dat spammen tegen te gaan door een tijdlimiet in te stellen? (En wat voor limiet moet dat dan zijn?)
  dinsdag 2 januari 2018 @ 00:55:36 #131
468509 _--_
In varietate concordia
pi_176229665
quote:
0s.gif Op zaterdag 30 december 2017 01:03 schreef Light het volgende:

[..]

Hoe precies denk je dat spammen tegen te gaan door een tijdlimiet in te stellen? (En wat voor limiet moet dat dan zijn?)
Mensen hebben dus blijkbaar zin om achterelkaar berichten te schrijven. Als je er een tijdslimiet opzet moeten ze steeds 30 seconden wachten voordat ze weer een bericht kunnen versturen. Hierdoor verminderd de drang tot spammen. (tenzij je diehard bent :P )
Crack the following and we will get back to you: !1!llssod000;;
pi_176230919
quote:
10s.gif Op dinsdag 2 januari 2018 00:55 schreef _--_ het volgende:

[..]

Mensen hebben dus blijkbaar zin om achterelkaar berichten te schrijven. Als je er een tijdslimiet opzet moeten ze steeds 30 seconden wachten voordat ze weer een bericht kunnen versturen. Hierdoor verminderd de drang tot spammen. (tenzij je diehard bent :P )
Maar dit ga je niet oplossen met Javascript, en al helemaal niet met HTML of CSS. Hiervoor moet je server-side zijn.
pi_176232222
quote:
14s.gif Op dinsdag 2 januari 2018 08:26 schreef d4v1d het volgende:

[..]

Maar dit ga je niet oplossen met Javascript, en al helemaal niet met HTML of CSS. Hiervoor moet je server-side zijn.
Dit, net als de validatie van je patterns en required velden
  woensdag 3 januari 2018 @ 20:45:32 #134
118585 Crutch
Filantroop || Taalzwengel
pi_176267781
quote:
14s.gif Op dinsdag 2 januari 2018 08:26 schreef d4v1d het volgende:

[..]

Maar dit ga je niet oplossen met Javascript, en al helemaal niet met HTML of CSS. Hiervoor moet je server-side zijn.
Kan heus wel.
Als het puur om te snel berichten achter elkaar te sturen te doen is dan kan je er redelijk gemakkelijk mee weg komen om wat timestamps in je localStorage op te slaan.
Je moeder is een hamster
  woensdag 3 januari 2018 @ 20:46:37 #135
118585 Crutch
Filantroop || Taalzwengel
pi_176267808
quote:
0s.gif Op dinsdag 2 januari 2018 10:40 schreef vallisarosa het volgende:

[..]

Dit, net als de validatie van je patterns en required velden
Dat lijkt me op z'n minst een vereiste.
Je moeder is een hamster
pi_176272136
quote:
0s.gif Op woensdag 3 januari 2018 20:46 schreef Crutch het volgende:

[..]

Dat lijkt me op z'n minst een vereiste.
Yep. En die ontbreekt volledig. Validatie in de browser is prima met het oog op user experience, en op de server is nodig voor de veiligheid/correctheid van de data.
pi_176272316
En een POST to GET redirect voorkomt dat het formulier meerdere keren verzonden kan worden. (In ieder geval voorkomt het dat F5 meerdere keren het formulier verstuurt.)
pi_189173967
Hier misschien mensen met react ervaring die mij misschien wat zou kunnen uitleggen?

DIG / [es6 React]React Render vraag
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_189414555
http://latentflip.com/loupe/

Erg coole website gevonden om meer inzicht te krijgen in hoe de executie van javascript onder de motorkap werkt. :o
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_189414671
Mijn mind is een beetje blown, maar begrijp ik het goed als ik stel dat je zonder de web api's geen asynchrone code kan schrijven in javascript? Of zelfs nog dat je geen asynchrone javascript kan schrijven, maar dat je daar functies als setTimeout uit de host environment voor nodig hebt?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  maandag 14 oktober 2019 @ 15:41:42 #141
85514 ralfie
!Yvan eht nioj
pi_189430315
quote:
16s.gif Op zondag 13 oktober 2019 17:20 schreef FlippingCoin het volgende:
Mijn mind is een beetje blown, maar begrijp ik het goed als ik stel dat je zonder de web api's geen asynchrone code kan schrijven in javascript? Of zelfs nog dat je geen asynchrone javascript kan schrijven, maar dat je daar functies als setTimeout uit de host environment voor nodig hebt?
sec synchroon/asynchrone javascript code bestaat niet. Code kan synchroon of asynchroon uitgevoerd worden, maar of dat gebeurt of niet is afhankelijk van de engine die de code uitvoert, niet de code zelf. Je kunt wel met keywords aangeven of code mogelijk asynchroon uitgevoerd kan worden (async/await) maar eigenlijk zijn dat gewoon wrappers rond code die gebruik maakt van functies die vaak (maar niet noodzakelijk!) als asynchroon bekend zijn, zoals settimeout. Dit garandeert echter geen asynchrone uitvoering, dat is aan de engine die de code compileert en uitvoert.

Wanneer code gecompileerd wordt, wordt je javascript code in een rits van cpu-instrucies omgezet. Dit gebeurt niet per regel, dat is te inefficient. De javascript engine bekijkt je code van begin tot eind (of een deel in geval van Just-in-time compilation), de functies en de functies die die weer aanroepen (ad infinitum), en maakt daar één rits instructies van. Dit werkt prima, totdat code als asynchroon aangemerkt wordt. Immers, deze code wordt uitgevoerd nav een trigger en zal dus de huidige cpu-thread moeten blocken totdat dat event getriggerd wordt, en dat is dan weer inefficient. In dit geval zal de compiler de code die VOLGT op de asynchrone code als een aparte rits instructies moeten compileren, zodat de cpu-thread, na het uitvoeren van de synchrone code, ondertussen eventueel andere code kan uitvoeren. Ook 'synchrone' code die volgt op een asynchrone code wordt als apart blok (en dus asynchroon) uitgevoerd. De enige reden waarom code asynchroon uitgevoerd moet worden is wanneer er externe triggers zijn, zoals bij settimeout of httprequests of filesystem events (triggers vanuit host omgeving). In alle andere gevallen is je code in principe gewoon één lange lijst van instructies en dus niet asynchroon. Feitelijk heb je dus wel gelijk (je hebt speciale functies uit je host omgeving nodig om code asynchroon te maken), maar het gaat dan om de uitvoering, niet de code definitie.

Ter verduidelijking (en naar ik aanneem overbodigheid) asynchrone code is niet multithreaded code. Asynchrone code stelt je in staat stukjes code uit te voeren in kleinere blokjes die door de host/compiler zodanig uitgevoerd wordt dat een enkele thread meerdere taken efficient en snel tegelijkertijd (eigenlijk omstebeurt) uit kan voeren zonder dat je als programmeur overal lastige mulithread functies moet toevoegen om onnodig wachten tussendoor te voorkomen. Dit maakt asynchrone code extreem efficient in webserver achtige functies, waar vaak behoefte is aan simpele stukjes code die vaak en snel uitgevoerd moeten worden met soms wachttijd tussendoor, zoals ophalen bestanden of database records (verklaart deels populariteit node.js). Om code multithreaded te krijgen heb je in javascript web workers (althans in browsers), die stellen je in staat over meerdere threads code te laten lopen.

hoop dat dit eea verduidelijkt
pi_189430501
quote:
0s.gif Op maandag 14 oktober 2019 15:41 schreef ralfie het volgende:

[..]

sec synchroon/asynchrone javascript code bestaat niet. Code kan synchroon of asynchroon uitgevoerd worden, maar of dat gebeurt of niet is afhankelijk van de engine die de code uitvoert, niet de code zelf. Je kunt wel met keywords aangeven of code mogelijk asynchroon uitgevoerd kan worden (async/await) maar eigenlijk zijn dat gewoon wrappers rond code die gebruik maakt van functies die vaak (maar niet noodzakelijk!) als asynchroon bekend zijn, zoals settimeout. Dit garandeert echter geen asynchrone uitvoering, dat is aan de engine die de code compileert en uitvoert.

Wanneer code gecompileerd wordt, wordt je javascript code in een rits van cpu-instrucies omgezet. Dit gebeurt niet per regel, dat is te inefficient. De javascript engine bekijkt je code van begin tot eind (of een deel in geval van Just-in-time compilation), de functies en de functies die die weer aanroepen (ad infinitum), en maakt daar één rits instructies van. Dit werkt prima, totdat code als asynchroon aangemerkt wordt. Immers, deze code wordt uitgevoerd nav een trigger en zal dus de huidige cpu-thread moeten blocken totdat dat event getriggerd wordt, en dat is dan weer inefficient. In dit geval zal de compiler de code die VOLGT op de asynchrone code als een aparte rits instructies moeten compileren, zodat de cpu-thread, na het uitvoeren van de synchrone code, ondertussen eventueel andere code kan uitvoeren. Ook 'synchrone' code die volgt op een asynchrone code wordt als apart blok (en dus asynchroon) uitgevoerd. De enige reden waarom code asynchroon uitgevoerd moet worden is wanneer er externe triggers zijn, zoals bij settimeout of httprequests of filesystem events (triggers vanuit host omgeving). In alle andere gevallen is je code in principe gewoon één lange lijst van instructies en dus niet asynchroon. Feitelijk heb je dus wel gelijk (je hebt speciale functies uit je host omgeving nodig om code asynchroon te maken), maar het gaat dan om de uitvoering, niet de code definitie.

Ter verduidelijking (en naar ik aanneem overbodigheid) asynchrone code is niet multithreaded code. Asynchrone code stelt je in staat stukjes code uit te voeren in kleinere blokjes die door de host/compiler zodanig uitgevoerd wordt dat een enkele thread meerdere taken efficient en snel tegelijkertijd (eigenlijk omstebeurt) uit kan voeren zonder dat je als programmeur overal lastige mulithread functies moet toevoegen om onnodig wachten tussendoor te voorkomen. Dit maakt asynchrone code extreem efficient in webserver achtige functies, waar vaak behoefte is aan simpele stukjes code die vaak en snel uitgevoerd moeten worden met soms wachttijd tussendoor, zoals ophalen bestanden of database records (verklaart deels populariteit node.js). Om code multithreaded te krijgen heb je in javascript web workers (althans in browsers), die stellen je in staat over meerdere threads code te laten lopen.

hoop dat dit eea verduidelijkt
Flinke post. ^O^

Ik zit alleen nog een beetje in de knoop met een ding, je hebt dus een stack en een queue, en als je stack leeg is kunnen er dingen van de queue gepakt worden toch? Maar wanneer je in een loop zit is de stack nooit leeg toch, dan zou er nooit tijd zijn voor de queue of begrijp ik dit verkeerd?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  maandag 14 oktober 2019 @ 17:03:55 #143
85514 ralfie
!Yvan eht nioj
pi_189431620
quote:
16s.gif Op maandag 14 oktober 2019 15:56 schreef FlippingCoin het volgende:

[..]

Flinke post. ^O^

Ik zit alleen nog een beetje in de knoop met een ding, je hebt dus een stack en een queue, en als je stack leeg is kunnen er dingen van de queue gepakt worden toch? Maar wanneer je in een loop zit is de stack nooit leeg toch, dan zou er nooit tijd zijn voor de queue of begrijp ik dit verkeerd?
Nu verlies je me een beetje. Heb je het over geheugen (stack and heap) ? heb je met js toch niet mee te maken?
pi_189431720

https://medium.com/@gaura(...)-part-1-5683dea1f5ec

Volgens dit artikel komt wanneer je een web API functie aanroept deze op de message queue te liggen, en wordt wanneer de stack leeg is een item van de queue gepakt.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  maandag 14 oktober 2019 @ 17:37:18 #145
85514 ralfie
!Yvan eht nioj
pi_189432048
quote:
16s.gif Op maandag 14 oktober 2019 15:56 schreef FlippingCoin het volgende:

[..]

Flinke post. ^O^

Ik zit alleen nog een beetje in de knoop met een ding, je hebt dus een stack en een queue, en als je stack leeg is kunnen er dingen van de queue gepakt worden toch? Maar wanneer je in een loop zit is de stack nooit leeg toch, dan zou er nooit tijd zijn voor de queue of begrijp ik dit verkeerd?
quote:
16s.gif Op maandag 14 oktober 2019 17:11 schreef FlippingCoin het volgende:
[ afbeelding ]
https://medium.com/@:gaur(...)-part-1-5683dea1f5ec

Volgens dit artikel komt wanneer je een web API functie aanroept deze op de message queue te liggen, en wordt wanneer de stack leeg is een item van de queue gepakt.
ah zo. Ja, dat klopt, wanneer je in een loop zit heeft het systeem geen tijd om messages te behandelen en zal de boel dus vastlopen, tenzij de host iets ingebouwd heeft (biiv max elke seconde de behandeling van de stack onderbreken om een message te lezen en indien deze prio heeft te behandelen. Denk bijv aan een ctr+alt+del commando. om die reden wordt geadviseerd om zware, langdraaiende javascript taken naar een andere worker over te hevelen zodat de primare thread tijd vrij heeft om messages (of events) te behandelen.
pi_189432097
quote:
0s.gif Op maandag 14 oktober 2019 17:37 schreef ralfie het volgende:

[..]


[..]

ah zo. Ja, dat klopt, wanneer je in een loop zit heeft het systeem geen tijd om messages te behandelen en zal de boel dus vastlopen, tenzij de host iets ingebouwd heeft (biiv max elke seconde de behandeling van de stack onderbreken om een message te lezen en indien deze prio heeft te behandelen. Denk bijv aan een ctr+alt+del commando. om die reden wordt geadviseerd om zware, langdraaiende javascript taken naar een andere worker over te hevelen zodat de primare thread tijd vrij heeft om messages (of events) te behandelen.
En die zware taak moet je dan mbv een web worker overhevelen?
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  maandag 14 oktober 2019 @ 17:44:55 #147
85514 ralfie
!Yvan eht nioj
pi_189432238
quote:
Oke top dankjewel! :7
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_198406815
Een kick met een vraagje. Ik ben wat aan het hobbyen met bootstrap. Ik heb een pagina met een aantal kolommen en die wil ik mooi elkaar laten opvolgen. Dit heb ik voor elkaar gekregen met Masonry alleen mobiel is het geen porum. Het mooist zou zijn als ik mobiel alles onder elkaar zou komen te zien ipv 2 naast elkaar. Krijg ik dat met Masonry nog voor elkaar, of moet ik het dan over een andere boeg gooien?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
<div class="album py-5 bg-light">
<
div class="container">
<
div class="row row-cols-2" data-masonry='{"percentPosition": true }'>
<
div class="col">
<
div class="card">
1
</div>
</
div>
<
div class="col">
<
div class="card">
2
</div>
</
div>
<
div class="col">
<
div class="card">
3
</div>
</
div>
<
div class="col">
<
div class="card">
4
</div>
</
div>
<
div class="col">
<
div class="card">
5
</div>
</
div>
</
div>
</
div>
?>

Dit is mijn opbouw. (PHP tags gebruikt want code tags zijn kapot met deze code)
Uitvinder van de biersmiley.
  dinsdag 9 maart 2021 @ 12:19:43 #150
71610 Black-Hole
Deep in my soul
pi_198408517
quote:
0s.gif Op dinsdag 9 maart 2021 10:20 schreef dimmak het volgende:
Een kick met een vraagje. Ik ben wat aan het hobbyen met bootstrap. Ik heb een pagina met een aantal kolommen en die wil ik mooi elkaar laten opvolgen. Dit heb ik voor elkaar gekregen met Masonry alleen mobiel is het geen porum. Het mooist zou zijn als ik mobiel alles onder elkaar zou komen te zien ipv 2 naast elkaar. Krijg ik dat met Masonry nog voor elkaar, of moet ik het dan over een andere boeg gooien?
[ code verwijderd ]

Dit is mijn opbouw. (PHP tags gebruikt want code tags zijn kapot met deze code)
Als je de broncode van het voorbeeld bekijkt dan zie je dat ze extra classes toevoegen aan de
1
2
3
<?php
<div class="col">
?>
Bijvoorbeeld
1
2
3
<?php
<div class="col-sm-6 col-lg-4 mb-4">
?>
Met deze classes definieer je hoe breed de elementen worden voor bepaalde breakpoints, zie https://getbootstrap.com/docs/5.0/layout/columns/ voor meer info.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')