30
VISUAL ANALYTICS Salvatore Rinzivillo

Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

VISUALANALYTICSSalvatoreRinzivillo

Page 2: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

Announcment

§  NolessononMarch5th§ WewillmeetonMarch6thfrom11to13inAulaN1

Page 3: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

DEVELOPMENTFRAMEWORK

Page 4: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

Objectives

§  Setupadevelopingenvironment§  InstallNode.jsandNPM§  Configureandinitializeaproject

§  Installandconfiguregit§  Createarepositoryandimportprojectfiles

§  IDEs§  GitKraken,GitDesktop§ WebStorm,Atom.io,Textmate

Page 5: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

Node.jsandNPM

Page 6: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

WhatisNode.js

§  “AnasynchronouseventdrivenJavascriptruntime”§  Non-blocking,event-drivenI/Ooperations

§  Lightweightandefficientfordata-intensiveapplications

§  Distributedcomputationandloadbalancing

§  Availablefordownloadathttps://nodejs.org/

Imagesource:https://www.toptal.com/nodejs/why-the-hell-would-i-use-node-js

Page 7: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

NPM–NodePackageManager

§  Node.jshasalargelibraryofpublicavailable,reusablecomponents

§  Componentsareavailablethrougharepository

§ Managelibrariesforglobaluseandlocalprojects

§  Handlealldependencies

Page 8: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

NPM-Commands

§  npminit§  Initializeaproject,creatingafilepackage.json

§  npminstall<module>§  Downloadandinstallmodulewithinthedirectorynode_modules

§ Withtheflag--save,addthemoduletothepackage.jsonlistofdependencies

§ Withtheflag--global(or-g)themoduleisinstalledgloballyonthesystem

Page 9: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

Mostusedpackages

§  Express:awebapplicationdevelopmentframeworkfornode.js

§  Lodash:generalutilitiesforhandlingdatastructuresinjavascript

§  http-server§  Specificallyforthecourse:

§  D3§  Nvd3§  Bootstrap§  Jquery§  …

Page 10: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

Exercise–CreateaprojectwithNode.js

§  Demo

Page 11: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

Webserver

Page 12: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

WebServerforNode.js

Page 13: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

WebServerinNode.js

§  Thereareseveralmodulesavailableforrunningawebserver

§  Averysimplehttpserver:§  npminstall-ghttp-server

§  Amoresophisticatedapplicationserver:§  npminstall-gexpress

Page 14: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

Exercise–Usehttp-servertoaccessourproject

§  Demo

Page 15: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

VersionControlwithGIT

Page 16: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

WhatisVersionControl?

ImageSource:https://www.git-tower.com/learn/git/ebook/en/command-line/basics/what-is-version-control

Page 17: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

WhyUseaVersionControlSystem?

§  Collaboration§  Anymemberofateamcanworkonanyfileatanytime§  MergeofcontributionishandlebytheVCS

§  Storingversions§  Trackingofchangesthroughperiodicsavesofsnapshots§  Onlyoneversionofaprojectatanytime

§  OtherversionsarepackedwithintheVCS§  Restorepreviousversions§  Followthedevelopmentoftheproject§  Backup,whenusingexternalrepositories

Page 18: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

WhichVCS?IntroducingGIT

§  Downloadaclientfrompublicrepositories§  Forexample:GITHub,BitBucket

§  UseclientsspecificforyourOS§  Forexample:brewinstallgit(forMacOsX)

§  Initialconfiguration§  gitconfig--globaluser.name“rinziv”§  gitconfig--globaluser.email“[email protected]”§  gitconfig--global

Page 19: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

GIT–CreatingaRepository

§  GIThandlestwokindsofrepositories§  Localrepository

§ Containedwithinafolder.gitintherootoftheprojectfolder

§ Onlyonpersonaccessthisrepo§  Remoterepository

§  Locatedintoaremoteserver§  Locallystoredwithinthe.gitfolder§  Teammembersworkconcurrentlyonremoterepository

Page 20: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

GIT–Createalocalrepository

§  Movewithintheprojectrootdirectory§  Usegitinittostartversioningtracking§  Therootoftheprojectiscalledworkingcopy

§  Thereisonlyoneworkingcopyatanymoment§  Itispossibletoupdatethecurrentworkingcopywithpreviousversionsfromtherepository

§  Somefiles(usuallyrelatedtotheOS)canbeignoredfortheversioning§  Createafilecalled.gitignoreintherootoftheprojectfolder

§  Listthefilestoignorewithinthefile

Page 21: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

GIT–Clonearemoterepository

§  AremoterepositoryhaveaURLoftheform:§  ssh://user@server/git-repo.git§  user@server:git-repo.git§  http://example.com/git-repo.git§  https://example.com/git-repo.git§  git://example.com/git-repo.git

Page 22: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

GIT-Commit

§  Commitoperationsavethesnapshotoftheworkingcopyontherepository§  gitadd–A§  gitcommit–m“Initialcommit”

Page 23: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

GIT–Statusoftheproject

§  Eachfilewithintheprojecthaveoneofthefollowingstate§  Untracked:thefileisnotunderversioncontrol.GITdonottrackanychangeonthisfile

§  Tracked:GITreportschangesonthesefiles§  gitstatusreportsthelistoffileswithintheprojectthathavechangedandthosethatarenottracked

Page 24: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

GIT–StagingArea

ImageSource:https://www.git-tower.com/learn/git/ebook/en/command-line/basics/working-on-your-project#start

Page 25: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

GIT–Preparingthestagingareaandcommit

§  Addthefilestoincludeinthestagingarea§  gitaddnew-page.htmlindex.htmlcss/*§  gitrmerror.html§  Checkthestatuswith:gitstatus

§  Commitchanges§  gitcommit-m"Implementthenewloginbox”

Page 26: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

Whentocommit?

§  Eachcommitshouldcontainschangesrelatedtoasingletopic

§  Saveonlycompletedwork(fortemporarysavinguseStash)

§  Testtheprojectbeforecommiting§  Adddescriptivemessage§  Commitoften

Page 27: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

DesktopGUIVersion

Page 28: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

GitKraken

Page 29: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

Exercise–Createarepositoryforourproject

§  Demo

Page 30: Salvatore Rinzivillo VISUAL ANALYTICSdidawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformaticaecono... · Aula N1 DEVELOPMENT FRAMEWORK Objectives § Setup a developing environment

ClassroomSpring2018repositoryhttps://goo.gl/yVcwYthttps://github.com/VA602AA-master