Javascript programmeur gezocht

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peet Peterse

Peet Peterse

29/07/2020 20:55:37
Quote Anchor link
Ik heb al een site/configurator laten maken maar er zit een bugs in, hij geeft sinds gister een foutmelding en de configurator werkt dus niet.

Hoe kan ik dit oplossen en wat gaat het mij kosten?
 
PHP hulp

PHP hulp

27/11/2020 00:29:45
 
- Ariën -
Beheerder

- Ariën -

29/07/2020 21:16:27
Quote Anchor link
Je topic voldoet nu niet aan de criteria die bovenaan dit forum genoemd worden.
Zou je je topic willen aanpassen?.
 
Peet Peterse

Peet Peterse

29/07/2020 21:18:10
Quote Anchor link
Kan ik hier niet op zoek naar programmeurs gaan?
 
- Ariën -
Beheerder

- Ariën -

29/07/2020 21:19:47
Quote Anchor link
Je kan zeker een programmeur hier zoeken, maar zorg dat het topic voldoet aan de criteria.

https://www.phphulp.nl/php/forum/topic/criteria-php-vacature-berichten/16800/
Gewijzigd op 29/07/2020 21:20:25 door - Ariën -
 
Peet Peterse

Peet Peterse

29/07/2020 21:24:05
Quote Anchor link
Werkzaamheden: php en javascript code aanpassen de bugs oplossen

Functie eisen : Programmeur

Contractbasis (contract / freelance) : contract

In geval van freelance, noem een budget of richtprijs! : notk

Naam / bedrijfsnaam en contact informatie (bijv. een e-mail adres) : info@yellowbv.nl
 
- Ariën -
Beheerder

- Ariën -

29/07/2020 21:27:44
Quote Anchor link
Als de werking van een script opeens breekt, acht ik de kans groot dat het eigenlijk een fout is in het (PHP)script op de server. Misschien is het wel interessant om te vertellen wat er mis gaat, en wat er gebeurd.
Gewijzigd op 29/07/2020 21:28:26 door - Ariën -
 
Peet Peterse

Peet Peterse

29/07/2020 21:36:28
Quote Anchor link
het gaat om een lage code maar eindelijk valt in deze code:
(ik kan ook de hele code hier plakken)

...
...
...

key: "setGenericError",
value: function() {
var e = 0 < arguments.length && void 0 !== arguments[0] && arguments[0];
e && console.error(e), window.logJsErr && window.logJsErr({
msg: e
});


this.setState({
error: "Er is een fout opgetreden in de keukenconfigurator. Probeer het s.v.p. later opnieuw."
})
}
},
...
..
.

Toevoeging op 30/07/2020 19:08:51:

zijn hier geen mensen met PHP kennis?


Toevoeging op 30/07/2020 19:09:15:

of JS
 
Thomas van den Heuvel

Thomas van den Heuvel

30/07/2020 22:18:13
Quote Anchor link
De codefragmenten hierboven betreffen waarschijnlijk de melding die je ziet / afhandeling die plaatsvindt naar aanleiding van een opgetreden fout / niet afgevangen geval, maar dat is dus wat er vervolgens gebeurt naar aanleiding van een fout. En de vraag is juist "wat gaat er mis" en vervolgens "waarom gaat dit mis" en wellicht ook "is dit uberhaupt een fout".

Vergelijk dit met het verschijnen van een melding "fout: deling door nul" in een rekenprogramma. Je moet dan vervolgens uit gaan zoeken hoe de noemer een nulwaarde had kunnen krijgen, hoe deze waarde totstand kwam et cetera. En in de configurator betreft het een ongespecificeerde fout, dus je zult eerst nog moeten verkennen wat er dus precies misgaat, of dit iets is wat het systeem uberhaupt zou moeten kunnen, of dat een bepaalde functionaliteit misschien wat beter moet worden dichtgetimmerd. Het staat op voorhand dan niet echt vast of er sowieso sprake is van een fout.

Indien je configurator niet simpelweg breekt (knoppen die niet werken, niet kloppende layout et cetera) maar nog wel een "nette" foutmelding toont dan houdt dit waarschijnlijk in dat je iets doet in de configurator waar geen rekening mee wordt gehouden, maar het systeem is dan blijkbaar nog wel zo robuust dat deze dit "randgeval" meldt.

Anyhow, dit (kennis)systeem weet blijkbaar niet hoe deze met dit geval om moet gaan (indien je bovenstaande melding ziet verschijnen) en produceert dan (in het meest hoopvolle geval) een (nette) foutmelding. Je zou kunnen redetwisten of dit dus echt een "bug" is, okay het systeem doet niet wat het zou moeten doen, maar mogelijk komt dit neer op het verder uitkristalliseren of uitgegbreider definiëren van het "gedrag" van je configurator. En als dat aan de orde is: dit is wellicht geen simpele opgave omdat je hiervoor mogelijk uitgebreide inhoudelijke kennis van de werking moet hebben, en dat staat los van intrinsieke kennis van programmeertalen. Dit voert dus verder dan simpelweg code, want het gaat mogelijk om gedragsregels / logica in de code.

Idealiter bekijk je dit met de oorspronkelijke auteur van de configurator omdat deze het beste de "rode draad" door dit systeem kent, en (hopelijk) ook al regelijk ingelezen is in de materie en de werking van de configurator.

Hierbij helpt het ook als je een "use case" hebt waarbij je kunt vertellen wat je achtereenvolgens doet in de configurator, wat je vervolgens verwacht dat er zou moeten gebeuren, en wat er daadwerkelijk gebeurt (en hoe deze twee van elkaar verschillen). Deze use case zou ook reproduceerbaar moeten zijn zodat anderen ook kunnen zien wat er misgaat. Dit kun je dan vervolgens als uitgangspunt nemen om op onderzoek te gaan en dingen aan te passen, maar eerst zou er dus een probleemanalyse moeten plaatsvinden.

Zelf als de JavaScript echt breekt -dit zou je "simpelweg" na kunnen gaan door via de F12-functietoets de developer toolbar op te roepen in je browser en in de console-tab te kijken of hier een hoop rode tekst in verschijnt als je dingen probeert te doen in de configurator- dan is het nog zeer de vraag of een oplossing direct voor de hand ligt want als je dingen gaat repareren dan moet je ook weten wat de configurator behoort te doen.

Of mogelijk is er iets compleet anders aan de hand, bijvoorbeeld, ik noem maar een dwarsstraat, de data die de configurator gebruikt wordt periodiek geïmporteerd en deze is op een of andere manier corrupt geraakt of de import mislukte of wat dan ook, waardoor de configurator niet meer werkt (vraag mij niet hoe ik dit weet, heb wel vreemdere sh*t meegemaakt bij dit soort wizards/tools :p).
Gewijzigd op 30/07/2020 22:49:39 door Thomas van den Heuvel
 
Jan R

Jan R

31/07/2020 06:16:44
Quote Anchor link
Wat mij opvalt is dat je 2 talen combineert. Namelijk Nederlands en Frans. s.v.p. is namelijk Frans.
Peet Peterse op 29/07/2020 21:36:28:
this.setState({ error: "Er is een fout opgetreden in de keukenconfigurator. Probeer het s.v.p. later opnieuw."


Als ik dit zie ben ik als klant weg.

Jan
 
Peet Peterse

Peet Peterse

31/07/2020 09:02:09
Quote Anchor link
Beste Thomas,

Die debug functionaliteit van F12 is erg handig ik wist het niet maar is er een manier om regel voor regel door de code laten lopen zodat ik kan zien wanneer hij in de exception (fout melding) terecht komt? namelijk wanneer this.setState(........) wordt aangeroepen?
 
Thomas van den Heuvel

Thomas van den Heuvel

31/07/2020 16:56:24
Quote Anchor link
Dit hangt een beetje van de code af, mogelijk zijn er voorzieningen in de configurator ingebouwd om de "toestand" van het systeem te monitoren. Denk bijvoorbeeld aan een "debug" of "verbose" modus ofzo, of wellicht worden fouten ergens geregistreerd in een logbestand. Als dit soort voorzieningen niet aanwezig zijn en/of de code zo geschreven is dat deze zich hier niet echt voor leent dan zul je zelf wat dingen uit moeten gaan proberen.

Meestal is de foutmelding het startpunt van een debugronde, en daar vandaan volg je het kruimelpad terug naar waar deze zijn oorsprong heeft. Als het echt een exception betreft dan is de oorsprong mogelijk wat lastiger te vinden omdat het systeem ergens, maar mogelijk niet op één specifieke plaats, besluit dat deze om wat voor reden dan ook (<-- en die moet je dan zien te achterhalen) niet verder kan gaan.

Hierbij kan het behulpzaam zijn als je het bericht van het oorspronkelijke event kunt vinden of onderscheppen. Deze bevat mogelijk informatie die direct de vinger op de zere plek legt. In het bovenstaande fragment staat o.a. window.logJsErr. Dus mogelijk worden deze JavaScript foutmeldingen ergens gelogd. Ook staat hier console.error. Dit is de console-tab in de eerdergenoemde developer toolbar. Het is mijn vermoeden dat de foutmelding dus hier voorbij moet komen wanneer deze optreedt, of anders zit deze mogelijk ergens in een logbestand. Raadpleeg dus ook je logbestanden.

Als dit allebei niet gebeurt, dan zul je wat "controlepunten" in je JavaScript moeten gaan aanleggen om na te gaan welk pad door de code wordt gevolgd welke uiteindelijk resulteert in de foutmelding/exception. Maar dat heeft mogelijk meer voeten in de aarde omdat JavaScript wordt gecached. Je moet dan heel zeker weten dat de browser elke keer de laatste code ophoest, want anders heb je misschien op een gegeven moment al een oplossing geïmplementeerd of wijzigingen doorgevoerd, maar krijg je de valse indruk dat deze niet werken omdat je browser stiekem nog een oude versie aan het gebruiken is :p.
 
Peet Peterse

Peet Peterse

01/08/2020 06:49:43
Quote Anchor link
Beste Thomas,

Nogmaals dank voor je uitgebreide tekst en uitleg.

De ontwikkelaar geeft mij volgende teksten wat hij in zijn log bestand kan vinden, hij zegt ook dat het door een upgrade van iets op mijn platform is, dus de platform houder in dit geval CCVshop heeft iets ge-upgrade waardoor de code zijn elementen niet kan vinden, dus de verhaal van log bestand klopt, ik heb nu discussie of de kosten op zijn rekening zijn of niet, hier een stukje van zijn logbestand:

Unable to fetch selectables typeError: cannot read property 'id' kitchen.js:1
of undifined
at selectable Api .value (kitchen.js:1)
at selectable Api.<anonymous> (kitchen.js:1)
at E (kitchen.js:1)
at Generator .c._invoke(kitchen.js:1)
at Genarator.e.<computed> [as next] (kitchen.js:1)
at asyncGenaratorStep (kitchen.js:1)
at o (kitchen.js:1)
 
- Ariën -
Beheerder

- Ariën -

01/08/2020 09:01:43
Quote Anchor link
Missen er niet wat javascript bestanden?
 
Thomas van den Heuvel

Thomas van den Heuvel

01/08/2020 13:39:59
Quote Anchor link
Is dat stukje overgetypt? Want hier zitten wat rare spellingen in: undifined, en ook Generator vs Genarator?

Mja het kan altijd dat een (onaangekondigde) upgrade dingen breekt of in de war schopt, maar hier heb je in ieder geval iets.

De meest rechtoe rechtaan methode is de foutmeldingen stuk voor stuk afgaan en proberen op te lossen, en dan kijken of er na afloop nog problemen zijn. Je zou dus kunnen starten met te kijken waarom het ophalen van informatie in "kitchen.js" misgaat.
Gewijzigd op 01/08/2020 13:40:25 door Thomas van den Heuvel
 
Rob Doemaarwat

Rob Doemaarwat

01/08/2020 14:14:11
Quote Anchor link
Peet Peterse op 31/07/2020 09:02:09:
... is er een manier om regel voor regel door de code laten lopen zodat ik kan zien wanneer hij in de exception (fout melding) terecht komt? namelijk wanneer this.setState(........) wordt aangeroepen?

In (in ieder geval) Chrome kun je via [rechter muisknop] > Inspecteren (Ctrl+Shift+I) de gebruikte sources zien (tablad "Sources"). Zoek daarin het js bestand op waar je fout optreed of, nog beter, je script begint. Klik dan op het regelnummer ervoor (er verschijnt dan een "rode bal" in de kantlijn). Als je nu de pagina herlaad zal het script op dit punt stoppen en kun je "op de gebruikelijke manier(en)" door je code stappen (in, over, enz).
 
Ozzie PHP

Ozzie PHP

01/08/2020 17:52:48
Quote Anchor link
Jan R op 31/07/2020 06:16:44:
Wat mij opvalt is dat je 2 talen combineert. Namelijk Nederlands en Frans. s.v.p. is namelijk Frans.
Peet Peterse op 29/07/2020 21:36:28:
this.setState({ error: "Er is een fout opgetreden in de keukenconfigurator. Probeer het s.v.p. later opnieuw."


Als ik dit zie ben ik als klant weg.

Jan

Ben je serieus nu? Voordat je een dergelijke opmerking maakt is het wellicht verstandig om eerst even uit te zoeken of je het wel bij het rechte eind hebt. Hoewel s.v.p. misschien minder gangbaar is dan a.u.b. is het gewoon een gangbare Nederlandse afkorting.

Staat ook gewoon in het woordenboek:

https://www.vandale.nl/gratis-woordenboek/nederlands/betekenis/svp
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.