[JS] 20.000 records beschikbaar maken

Pagina: 1
Acties:

  • dtech
  • Registratie: Juni 2005
  • Laatst online: 19-09 15:37
Hallo allemaal,
ik wil in een javascript een ID aan een bepaald MAC-adres koppelen. Hiervoor heb ik een csv filetje (dat ik natuurlijk in andere formaten om kan zetten)
Mijn eerste gedachte was een array, maar die zou een beetje groot worden (17533 rijen om precies te zijn). Mijn tweede gedachte was een server-side-scriptje waaraan het javascriptje alles kon vragen via AJAX (of JSON of zoiets). Maar ik vind beide een beetje omslachtig.
Weet iemand een beter manier?

P.S. het gaat dus niet om een SQL database ofzo, al zou ik die wel kunnen opzetten en vullen met de gegevens van het CSV'je

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Ik denk idd dat uw laatste optie het beste is, en dan met een search form, al dan niet met AJAX het ophalen.

Going for adventure, lots of sun and a convertible! | GMT-8


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik kan er geen touw aan vastknopen :?
In den beginne: En MAC-adres is (in principe) al een ID; waarom zou je er nog een ID aan willen knopen?
En wat staat er in dat CSV file-tje dan? De MAC adressen en de (gewenste) ID's? Da's dan raar, want je wil ze koppelen en dat zijn ze dan al. En als er alleen MAC adressen in staan, zie opmerking 1 ;)
En wat heeft het met AJAX, JSON of een DB te maken?

Nope, ik heb het geprobeerd maar ik kan er echt geen hout van snijden. Sorry. En dan zie ik ook nog even niet wat dit topic in WEB doet?
dtech schreef op vrijdag 06 juni 2008 @ 14:25:
P.S. het gaat dus niet om een SQL database ofzo, al zou ik die wel kunnen opzetten en vullen met de gegevens van het CSV'je
Dan gooi je dus (ik neem aan) de MAC's en ID's in een tabel (PK = MAC) en met een PHP'tje (of ASP'tje, of whatever) kun je die heel leuk queryen. Of je dat dan met AJAX of een gewone 'ouderwetse' POST doet; boeie.

[ Voor 34% gewijzigd door RobIII op 06-06-2008 14:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • dtech
  • Registratie: Juni 2005
  • Laatst online: 19-09 15:37
Het ID is van een bepaalde computer. Ik wil het MAC-adres van een bepaalde computer krijgen aan de hand van dat ID. In het CSV file staat op één rij eerst het ID, daarna het MAC-adres.

Aangezien je geen CSV kan benaderen via JS, dacht ik een server-side scriptje te maken dat de CSV file uitleest. het javascriptje kan dan vervolgens via AJAX of JSON dat scriptje benaderen om het MAC bij een bepaald ID te krijgen.
In dit geval is het CSV bestand eigenlijk de DB.

edit:

[quote]
Dan gooi je dus (ik neem aan) de MAC's en ID's in een tabel (PK = MAC) en met een PHP'tje (of ASP'tje, of whatever) kun je die heel leuk queryen. Of je dat dan met AJAX of een gewone 'ouderwetse' POST doet; boeie.
[/quote]
Dat was dus ongeveer mijn idee, maar ik vind het een beetje omslachtig en vraag me dus af of er geen betere manier is.

[ Voor 28% gewijzigd door dtech op 06-06-2008 14:34 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
dtech schreef op vrijdag 06 juni 2008 @ 14:33:
Aangezien je geen CSV kan benaderen via JS
Euh, jawel hoor ;)
dtech schreef op vrijdag 06 juni 2008 @ 14:33:
dacht ik een server-side scriptje te maken dat de CSV file uitleest. het javascriptje kan dan vervolgens via AJAX of JSON dat scriptje benaderen om het MAC bij een bepaald ID te krijgen.
Kan, maar waarom uberhaupt in JS en niet gewoon een POST met wat server-side code?
dtech schreef op vrijdag 06 juni 2008 @ 14:33:
In dit geval is het CSV bestand eigenlijk de DB.
Boeie; of het nou CSV, XML, een SQL DB of whatever is... het is gewoon ergens opgeslagen en je PHP/ASP/whatever moet daar 1 'record' in zoeken.
dtech schreef op vrijdag 06 juni 2008 @ 14:33:
Dat was dus ongeveer mijn idee, maar ik vind het een beetje omslachtig en vraag me dus af of er geen betere manier is.
Hoezo omslachtig? Het is maar net wat je omslachtig vindt; zowieso is het importeren van een CSV in een willekeurig RDBMS een peuleschil, maar ook het uitlezen van een CSV zélf is een prima mogelijkheid (server-side al helemaal) alleen zal het zoeken wat meer werk behelzen...

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • dtech
  • Registratie: Juni 2005
  • Laatst online: 19-09 15:37
Hoe kun je dan in hemelsnaams in zo'n bestand zoeken zonder het gelijk helemaal in te lezen? Dan lijkt mij een array met 17533 waarden sneller...
Kan, maar waarom uberhaupt in JS en niet gewoon een POST met wat server-side code?
Omdat ik de waarden wil gebruiken in het javascriptje.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
dtech schreef op vrijdag 06 juni 2008 @ 14:42:
[...]

Hoe kun je dan in hemelsnaams in zo'n bestand zoeken zonder het gelijk helemaal in te lezen?
Wat boeit het of je 'm helemaal in zou lezen (los van de bandbreedte/laadtijd die het zou kosten). Hoe groot is die file?
Met een simpele indexOf zou je er al in kunnen zoeken
dtech schreef op vrijdag 06 juni 2008 @ 14:42: Dan lijkt mij een array met 17533 waarden sneller...
Dat durf ik te betwijfelen; als je de CSV zou behandelen als 1 grote 'string' met een indexOf om er in te zoeken, of handmatig door je array raggen... Dan zou een associative array misschien beter performen maar dan moet je eerst alles "parsen" en in die array gooien...
dtech schreef op vrijdag 06 juni 2008 @ 14:42:
Omdat ik de waarden wil gebruiken in het javascriptje.
En dus?
Ik wil niet heel lullig klinken ofzo, maar ik vrees dat je nogal wat kennis ontbeert om dit project tot een goed einde te brengen. Het is een feit dat je 'ergens' in een 'bak met data' zoekt naar een gegeven. Waar/hoe die bak met data staat/eruitziet boeit niet; evenals of je dat met 'hippe dingen' als AJAX doet of middels een simpele POST naar een PHP/ASP/Whatever. Het gaat hier om het globale idee en niet eens de techniek/implementatie; en ik heb het idee dat je voor jezelf nog niet duidelijk hebt wat je nu eigenlijk echt wil bereiken.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • dtech
  • Registratie: Juni 2005
  • Laatst online: 19-09 15:37
Zucht. Ik stel hier een hele normale vraag, waar ik zelf al twee mogelijke antwoorden op weet, maar zoek of iemand een derde betere weet.
Vervolgens krijg ik eerst commentaar over een onduidelijke post (alhoewel Snake er kennelijk geen moeite mee had).
Vervolgens post je enkel nutteloze dingen ("waarom met JS" geeft gewoon duidelijk aan dat je de post niet gelezen hebt, ik vraag niet om een manier om dingen op te zoeken, maar om een manier om binnen een JS de gegevens te verkrijgen)
Vervolgens haal je volstrekt uit de lucht dat ik dit project niet kan voltooien (zonder überhaubt te weten waar ik mee bezig ben of of ik überhaubt wel met een project bezig ben). Waarom je steeds over post blijft doorgaan begrijp ik ook niet helemaal, het is niet echt praktisch om vanuit een JS een POST request te doen en kennelijk weet ik ook nog niet wat ik wil.

Laat ik het nog een keertje (voor de derde keer) uitleggen in taal die je misschien wel begrijpt.
Dtech heeft csv bestand.
csv bestand is volgens: "ID, MAC"
David heeft js bestand
js bestand wil MAC bij bepaald ID
js bestand kan waarschijnlijk alleen heel langzaam csv bestand uitlezen. Dat is één oplossing
David kan server-side script maken
js bestand kan aan script vragen om MAC bij bepaald ID op te zoeken. Dat zijn twee oplossingen.
David vraagt zich af of er een snellere of simpeler manier is om dit te doen

Verwijderd

dtech schreef op vrijdag 06 juni 2008 @ 15:01:

David vraagt zich af of er een snellere of simpeler manier is om dit te doen
Dat is een snelle en simpele oplossing. Dus wat wil je nou?

  • dtech
  • Registratie: Juni 2005
  • Laatst online: 19-09 15:37
Ik heb ze allebei maar even gemaakt. De enorme JS array kostte gemiddeld 700 milleseconden, de AJAX manier gemiddeld 1300 milliseconden. Ik ga de array dus maar gebruiken.

  • UltimateB
  • Registratie: April 2003
  • Niet online

UltimateB

Pomdiedom

Het is natuurlijk ook afhankelijk van je internet connectie.

Ajax: meer ping afhankelijk
JS array: download snelheid + cpu

Waarschijnlijk krijg je op andere pc's hele andere resultaten.

"True skill is when luck becomes a habit"
SWIS


Verwijderd

dtech schreef op vrijdag 06 juni 2008 @ 15:01:
Waarom je steeds over post blijft doorgaan begrijp ik ook niet helemaal, het is niet echt praktisch om vanuit een JS een POST request te doen en kennelijk weet ik ook nog niet wat ik wil.
Ik vind het wél praktisch, je hoeft maar 1 woordje aan te passen.
Google

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 11-11 10:24

Bosmonster

*zucht*

Het hangt ervanaf hoe er mee gewerkt gaat worden. Als het iets is dat je 1x inlaadt en vervolgens continu gebruikt, is een JS file van zeg 500K niet zo'n ramp (met een beetje moderne verbinding is dat in 1 sec binnen). Je kunt het vervolgens wel heel snel zonder overhead raadplegen.

Is het iets dat je op een homepage hebt staan waar mensen misschien 1 of 2x, of misschien wel helemaal niet gebruik van gaan maken, dan is een dynamischere oplossing natuurlijk een beter idee.

M.a.w. het is beiden prima, maar hangt af van wat je er mee wilt.

ps. Als het iets is alleen voor jezelf kun je overigens ook nog een HTA'tje overwegen, die kun je gewoon lokaal draaien, dan heb je helemaal geen overhead.
Pagina: 1