Giter Site home page Giter Site logo

alukovic / ip_saobracaj_js Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.02 MB

My first JavaScript project for master studies of telecommunications. New improvements and options soon. There are two versions of software: Web (link below) and Desktop (Cross-platform Electron.js application).

Home Page: https://alukovic.github.io/ip_saobracaj_js/program.html

License: MIT License

CSS 0.84% JavaScript 89.99% HTML 9.17%
javascript master-studies telecommunications networks wireshark faculty-dev ip-traffic tcpip

ip_saobracaj_js's Introduction

ip_saobracaj_js

JavaScript projekat za master studije telekomunikacija - JavaScript project for master studies of telecommunications


Naziv programa: IP saobraćaj | JavaScript

Programski jezik: JavaScript

Princip funkcionisanja programa:


Korisnik odabira JSON fajl (JavaScript Object Notation), u kome su snimljene vrednosti IP saobraćaja sa I/O grafika, koji je generisan programom Wireshark.

Izvorno, date vrednosti I/O grafika se izvoze u CSV ili YAML fajl. JavaScript (JS) najčešće funcioniše sa JSON fajlovima, mada upotrebom neke od JS biblioteka, moguć je direktan rad sa CSV ili YAML datotekama.

Konverzija raznih fajlova u JSON je moguća putem nekog od Veb sajtova, u zavisnosti od toga koji je format datoteke u pitanju. U ovom slučaju, kao primer može odlično poslužiti CSV to JSON Converter. Link do ovog sajta je: https://www.convertcsv.com/csv-to-json.htm


Nakon što korisnik odabere lokaciju JSON datoteke na računaru, ona se učitava u svom izvornom obliku. Klikom na taster Prikaz niza, dati JSON fajl se konvertuje u JavaScript niz elemenata.

Praktično, JSON fajl predstavlja niz objekata. Za izračunavanje Hurstovog parametra, potrebno je prilagoditi niz objekata u niz elemenata i nad tako generisanim nizom i njegovim elementima izvršiti određene proračune.

Ovaj niz će zapravo predstavljati celokupnu vremensku seriju dužine N.

Moguće je prikazati niz sa svim elementima, kao i sa elementima različitim od nule. Korisnik može ponovo pokrenuti proces, pritiskom na taster Brisanje.

Prva tri tastera služe samo za prikazivanje i konverziju datog JSON niza u vremensku seriju i ne izvode nikakve dodatne operacije vremenskom serijom.

Redosled ovih operacija je sledeći: Odabir datoteke => Prikaz niza => Prikaz elemenata različitih od nule Ukoliko bi korisnik prvo pritisnuo taster Prikaz elemenata različitih od nule, niz ne bi bio prikazan. Zato treba prvo izvršiti konverziju JSON datoteke u JavaScript niz elemenata, a zatim nad datim nizom izvršiti filtriranje nenultih elemenata.

Dalje operacije nad nizom se nastavljaju odabirom tastera:

1. Niz svih elemenata
2. Nasumična podela niza
3. Niz elemenata različitih od nule
4. Podela niza elemenata različitih od nule


Prikaz celokupne vremenske serije, tj. konverzije JSON niza u JavaScript niz elemenata se obavlja pritiskom na dugme Niz svih elemenata. Pošto je datu vremensku seriju potrebno podeliti u A grupa, od po n članova, u ovom programu će se dati proces realizovati upotrebom JavaScript nasumčine funkcije Random().

Pritiskom na dugme Nasumična podela niza, celokupan niz je nasumično podeljen na podnizove u opsegu od dva elementa, pa do pet, ne uključujući vrednost pet. <br/ > Deo JavaScript koda za generisanje nasumičnog broja:

	vrNasumicnogBroja = Math.floor(nasumicniBroj(2, 5)); 

U okviru ovog niza su obuhvaćeni i elementi čija je vrednost paketa nula.

Korisnik ima mogućnost filtriranja datog niza i prikaza niza elemenata različitih od nule, pritiskom na instoimeno dugme. Upravo je taj niz, u stvari vremenska serija za koju je potrebno odrediti Hurstov parametar. Podnizovi (grupe) vremenske serije su nasumično određeni funkcijom Random(), a imaju od dva do četiri elemenata.
Hurstov parametar i svi neophodni koraci ka njegovom izračunavanju izvršavaju se pritiskom na dugme Proračun.

Deo koda za izračunavanje Hurstovog parametra:

    H_ = Number((s*sumaLognLogRS - sumaLogn*sumaLogRS)/(s*sumaLogn_2 - sumaLogn*sumaLogn));
    H = Number(H_.toFixed(2));

Na grafiku je prikazana vizuelizacija podataka JavaScript bibiliotekom Chart.js.

ip_saobracaj_js's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.