Ecco le mie slide su NodeJS al Napoli DevDay . Vedrete praticamente, con l'ausilio di snippet di codice, alcuni dei punti chiave di questo linguaggio.
Per vedere le slide con le gif funzionanti:
https://docs.google.com/presentation/d/1EDsvR99WUDx3IBhygYt51YKM1sA5UA_PJmaRFh9HTa4/edit?usp=sharing
A questo repository troverete gli esempi fatti durante il talk:
https://github.com/musikele/nodeJsExamples
Per testare le API rest io uso Advanced Rest Client, estensione di Chrome. Ricordatevi di settare l'encoding a application/json .
Node js: che cos'è e a che cosa serve?
oppure
Node.js
Dimmi con quale contorno ti posso mangiare?
All'interno di queste slide, 25 di numero e per essere esatti, cerco di rispondere ad alcune domande che ho ricevuto e riguardavano NodeJS. Mi auguro che siano di vostro gradimento e spero che vi siano utili.
Aspetto i vostri commenti qui sotto, in più potete trovare anche altre informazioni all'interno delle pagine di InsiDevCode (http://www.insidevcode.eu/)
HTML5 Single Page Application è il nuovo hype tecnologico: tutti ne parlano, il web ne è pervaso, da GMail a Facebook e Twitter, dal desktop al mobile, dagli Appennini alle Ande.
In questa sessione ci occuperemo di tutti quegli aspetti di organizzazione di una solution in termini di codebase, unit testing e processo di build, presentando alcuni strumenti che stanno emergendo fra quelli disponibili.
Demo: http://www.communitydays.it/events/2014-Roma/web02/
Node js: che cos'è e a che cosa serve?
oppure
Node.js
Dimmi con quale contorno ti posso mangiare?
All'interno di queste slide, 25 di numero e per essere esatti, cerco di rispondere ad alcune domande che ho ricevuto e riguardavano NodeJS. Mi auguro che siano di vostro gradimento e spero che vi siano utili.
Aspetto i vostri commenti qui sotto, in più potete trovare anche altre informazioni all'interno delle pagine di InsiDevCode (http://www.insidevcode.eu/)
HTML5 Single Page Application è il nuovo hype tecnologico: tutti ne parlano, il web ne è pervaso, da GMail a Facebook e Twitter, dal desktop al mobile, dagli Appennini alle Ande.
In questa sessione ci occuperemo di tutti quegli aspetti di organizzazione di una solution in termini di codebase, unit testing e processo di build, presentando alcuni strumenti che stanno emergendo fra quelli disponibili.
Demo: http://www.communitydays.it/events/2014-Roma/web02/
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...Marco Parenzan
Windows Azure e Team Foundation Server hanno cominciato a cambiare in una maniera incredibile il modo di gestire i progetti software e tutta l'attività professionale dello sviluppatore. Ora il passaggio ulteriore: un Visual Studio, al momento ancora agli inizi, ma molto promettenti, completamente Web che gira nel browser. Vediamo cosa possiamo farci, tra sviluppo software, scelte tecnologiche, gestione del progetto e deployment.
In questa serata cercheremo di capire perchè Blazor ha riscosso così tanto successo, e lo faremo analizzando casi presi da applicazioni reali dove questa tecnologia è stata introdotta, così da capirne meglio le potenzialità (ma anche le eventuali criticità).
Come di consuetudine, faremo poi un confronto, così da condividere i vari punti di vista.
Utilizzando alcuni degli standard web più moderni, Microsoft ha realizzato Blazor: una soluzione che permette ai programmatori .NET di riutilizzare le proprie conoscenze per la realizzazione della user interface delle proprie applicazioni.
Già disponibile per l’uso in produzione con una versione server-side, verrà rilasciata a Maggio una versione client-side basata su WebAssembly, che permetterà lo sviluppo di una Single Page Application in C# eseguita interamente nel browser.
Ma la roadmap non si ferma qui, perchè sono già disponibili le prime versioni sperimentali per l’utilizzo di questa tecnologia anche su Desktop e Mobile!
Creare API pubbliche, come evitare gli errori comuniAndrea Dottor
Cerchiamo di capire cosa vuol dire creare delle API pubbliche. Cerchiamo di capire cosa offre ad oggi ASP.NET, e come utilizzare al meglio la tecnologia. L'intenzione è di andare in dettaglio su problematiche spesso sottovalutate: serve sempre ASP.NET Web API? E' meglio WCF? Quali problematiche possono capitare? Come faccio il versionamento? Quali oggetti/classi espongo? E la documentazione?
"Making chatbots: a day in the life", Ing. Diego Viganò, Lead SW Engineer di Vidiemme Consulting. Cosa vuol dire "fare un chatbot" non solo dal punto di vista del codice, ma anche del processo che parte dalla consulenza, passa dal design, dalle stime, fino alla realizzazione e al testing.
È uscita la release 1.0 da pochi giorni e non è chiaro se è una meteora o qualcosa che resterà sul mercato e ritaglierà una fetta della torta...ma proviamo a capire insieme cosa offre questo nuovo runtime per Javascript che vanta maggiore sicurezza rispetto a Node e la possibilità di utilizzare TypeScript...e non solo!
Sempre più di frequente sentiamo parlare di nuove librerie, framework o linguaggi. Tutte queste nuove tecnologie promettono miracoli ma il nostro tempo è una risorsa finita e non abbiamo il lusso di poter approfondire ogni novità.
Le PWA si basano su tecnologie che già usiamo tutti i giorni nello sviluppo WEB quindi, senza farci intimidire, possiamo approcciare qualcosa che effettivamente rivoluzioni il nostro lavoro e che possa farlo con il minimo sforzo da parte nostra.
Da un po' di tempo a questa parte quando uno sviluppatore software sente la parola "Clouds" non pensa più alle nuovole, ma a...? Durante l'intervento risponderò a questa domanda e mostrerò come una applicazione web sviluppata con Spring Framework, Apache Maven e OpenJPA può essere installata facilmente e (quasi)gratuitamente sulla piattaforma per il cloud computing messa a disposizione da Google.
Il codice di esempio della presentazione lo trovate su: http://code.google.com/p/gae-javaday10/
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019Marco Chiesi
Nel lavoro quotidiano di uno sviluppatore capita spesso di dover eseguire azioni ripetitive e noiose. Per fortuna esistono strumenti come Grunt che consentono di automatizzare tali operazioni permettendo al programmatore di concentrarsi sugli aspetti importanti del proprio lavoro. Grunt è un task runner molto versatile grazie alla sua struttura a plugin ed è ampiamente diffuso nell’ambito dello sviluppo di plugin e temi per WordPress.
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web AppCodemotion
Luciano Murruni illustra gli strumenti e i tool a disposizione per velocizzare e migliorare la scrittura e la qualità del codice della nostra applicazione.
Iscriviti qui per partecipare ad altri Tech Webinar gratuiti: http://goo.gl/iW81VD
Scrivici a: training@codemotion.it
Tw: http://twitter.com/CodemotionTR
Applicazioni Web ultra-performanti con Vue.js e DelphiMarco Breveglieri
Vue.js è un framework per creare interfacce utente estremamente performanti e che può essere introdotto progressivamente nelle vostre applicazioni Web, nel modo meno invasivo possibile. In questo talk scoprirete come utilizzarlo con Delphi creando una soluzione frontend e backend ad elevate prestazioni.
O documento descreve Orlando como um destino turístico popular, com mais de 53 milhões de visitantes por ano, devido às suas atrações como parques temáticos da Disney e Universal, clima ameno, ótimos restaurantes e compras. Além disso, Tampa e a costa oeste da Flórida são outras opções com belas praias e atrações famosas.
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...Marco Parenzan
Windows Azure e Team Foundation Server hanno cominciato a cambiare in una maniera incredibile il modo di gestire i progetti software e tutta l'attività professionale dello sviluppatore. Ora il passaggio ulteriore: un Visual Studio, al momento ancora agli inizi, ma molto promettenti, completamente Web che gira nel browser. Vediamo cosa possiamo farci, tra sviluppo software, scelte tecnologiche, gestione del progetto e deployment.
In questa serata cercheremo di capire perchè Blazor ha riscosso così tanto successo, e lo faremo analizzando casi presi da applicazioni reali dove questa tecnologia è stata introdotta, così da capirne meglio le potenzialità (ma anche le eventuali criticità).
Come di consuetudine, faremo poi un confronto, così da condividere i vari punti di vista.
Utilizzando alcuni degli standard web più moderni, Microsoft ha realizzato Blazor: una soluzione che permette ai programmatori .NET di riutilizzare le proprie conoscenze per la realizzazione della user interface delle proprie applicazioni.
Già disponibile per l’uso in produzione con una versione server-side, verrà rilasciata a Maggio una versione client-side basata su WebAssembly, che permetterà lo sviluppo di una Single Page Application in C# eseguita interamente nel browser.
Ma la roadmap non si ferma qui, perchè sono già disponibili le prime versioni sperimentali per l’utilizzo di questa tecnologia anche su Desktop e Mobile!
Creare API pubbliche, come evitare gli errori comuniAndrea Dottor
Cerchiamo di capire cosa vuol dire creare delle API pubbliche. Cerchiamo di capire cosa offre ad oggi ASP.NET, e come utilizzare al meglio la tecnologia. L'intenzione è di andare in dettaglio su problematiche spesso sottovalutate: serve sempre ASP.NET Web API? E' meglio WCF? Quali problematiche possono capitare? Come faccio il versionamento? Quali oggetti/classi espongo? E la documentazione?
"Making chatbots: a day in the life", Ing. Diego Viganò, Lead SW Engineer di Vidiemme Consulting. Cosa vuol dire "fare un chatbot" non solo dal punto di vista del codice, ma anche del processo che parte dalla consulenza, passa dal design, dalle stime, fino alla realizzazione e al testing.
È uscita la release 1.0 da pochi giorni e non è chiaro se è una meteora o qualcosa che resterà sul mercato e ritaglierà una fetta della torta...ma proviamo a capire insieme cosa offre questo nuovo runtime per Javascript che vanta maggiore sicurezza rispetto a Node e la possibilità di utilizzare TypeScript...e non solo!
Sempre più di frequente sentiamo parlare di nuove librerie, framework o linguaggi. Tutte queste nuove tecnologie promettono miracoli ma il nostro tempo è una risorsa finita e non abbiamo il lusso di poter approfondire ogni novità.
Le PWA si basano su tecnologie che già usiamo tutti i giorni nello sviluppo WEB quindi, senza farci intimidire, possiamo approcciare qualcosa che effettivamente rivoluzioni il nostro lavoro e che possa farlo con il minimo sforzo da parte nostra.
Da un po' di tempo a questa parte quando uno sviluppatore software sente la parola "Clouds" non pensa più alle nuovole, ma a...? Durante l'intervento risponderò a questa domanda e mostrerò come una applicazione web sviluppata con Spring Framework, Apache Maven e OpenJPA può essere installata facilmente e (quasi)gratuitamente sulla piattaforma per il cloud computing messa a disposizione da Google.
Il codice di esempio della presentazione lo trovate su: http://code.google.com/p/gae-javaday10/
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019Marco Chiesi
Nel lavoro quotidiano di uno sviluppatore capita spesso di dover eseguire azioni ripetitive e noiose. Per fortuna esistono strumenti come Grunt che consentono di automatizzare tali operazioni permettendo al programmatore di concentrarsi sugli aspetti importanti del proprio lavoro. Grunt è un task runner molto versatile grazie alla sua struttura a plugin ed è ampiamente diffuso nell’ambito dello sviluppo di plugin e temi per WordPress.
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web AppCodemotion
Luciano Murruni illustra gli strumenti e i tool a disposizione per velocizzare e migliorare la scrittura e la qualità del codice della nostra applicazione.
Iscriviti qui per partecipare ad altri Tech Webinar gratuiti: http://goo.gl/iW81VD
Scrivici a: training@codemotion.it
Tw: http://twitter.com/CodemotionTR
Applicazioni Web ultra-performanti con Vue.js e DelphiMarco Breveglieri
Vue.js è un framework per creare interfacce utente estremamente performanti e che può essere introdotto progressivamente nelle vostre applicazioni Web, nel modo meno invasivo possibile. In questo talk scoprirete come utilizzarlo con Delphi creando una soluzione frontend e backend ad elevate prestazioni.
O documento descreve Orlando como um destino turístico popular, com mais de 53 milhões de visitantes por ano, devido às suas atrações como parques temáticos da Disney e Universal, clima ameno, ótimos restaurantes e compras. Além disso, Tampa e a costa oeste da Flórida são outras opções com belas praias e atrações famosas.
You can be naughty and still win. Yes you heard me. I’m not much of a fan of the word diet. I believe you need to look at your eating habit as a lifestyle choice. This being said we are bound to have ups and down along the way. More importantly these blimps don’t need to be game breakers. Often what happens when we slip up with exercise or our new eating routine we often look at this as a reason to call it a day?
Daniel Cantone has over 22 years of experience managing accounting and finance teams, including experience with Sarbanes-Oxley compliance, internal controls, and system conversions. He is currently the Accounting Manager at Bank of America overseeing a team that reconciles over $54 trillion in the bank's general ledger. Previously he held various finance and accounting roles at Bank of America and FleetBoston Financial, including managing teams that performed internal auditing, accounts payable processing, and financial controls.
Este documento presenta el diseño de un sistema de control interno para la inspección, vigilancia e intervención de los procedimientos y activos de la empresa avícola Vargas Sánchez S.A.S. El documento evalúa los actuales procedimientos de la empresa, propone nuevos procedimientos y manuales, y establece funciones específicas para mejorar la productividad en cada área administrativa. El objetivo general es diseñar un sistema de control sencillo que garantice la eficacia de los procesos y proteja los activos de la organización.
Catanese indica melhorias no cruzamento das vias Arlindo Fava e Augusto Baras...rcatanese
O vereador Catanese fez várias indicações e requerimentos à prefeitura municipal solicitando melhorias em vias e serviços públicos de diversos bairros de Amparo, incluindo tapa-buracos, poda de mato, conserto de bueiros, implantação de curso supletivo e rondas noturnas no cemitério.
This summary provides the key details from the document in 3 sentences or less:
The document discusses reflections on suffering based on passages from Genesis and Job. It explores how Adam and Eve's choice to disobey God led to evil and suffering in the world. Readers are prompted to reflect on times they have chosen their own will over God's and to pray for help in developing positive character traits.
Música y Mercado es la revista de negocios más grande en el segmento de audio profesional, la luz y los instrumentos musicales. Nuestro tema es animar a los empresarios a desarrollar la distribución y venta de equipos.
Visita www.musicaymercado.org
Ahmed Saied is an Egyptian infrastructure engineer with over 6 years of experience in highway design and construction project management in Saudi Arabia and the Middle East. He holds a Bachelor's degree in Civil Engineering and is a registered engineer in Egypt. His experience includes managing road design projects, supervising construction, and liaising with government authorities on projects in Saudi Arabia, the UAE, and Egypt valued at over $12 million. Currently he works as a highway design engineer and acting project manager for a consulting company in Jeddah, Saudi Arabia.
Agile Software Development with Remote TeamsMentorMate
Why businesses need it, questions they ask and 7 principles for success.
In the past 10 years, Agile has become the defacto method for cost-conscious businesses to build and launch beautiful, working software. Increasingly though teams looking to accelerate or scale operations are stymied by the scarcity of available technical talent. More companies are looking for staff out-of-state or even out-of-country to grow.
The move toward distributed software teams begs the question, “Can they pair with Agile methodology?” Naysayers will argue no, citing co-location and collaboration as barriers. For teams willing to consider the potential, the savings extend beyond revenue gains and increased capacity. They revolutionize the business. With over 15 years managing distributed Agile software teams, we share how.
Goals on every level - Delivery Leads MelbourneTom Sommer
The document discusses setting goals at different levels to improve productivity. It recommends using the SMART framework to set specific, measurable, achievable, relevant and time-bound goals. Goals should provide meaning, have clear metrics, allow for change and have leaders to guide progress. Setting cascading goals from the company level down to individual teams and people can help align efforts. The presenter encourages the audience to set team or individual goals and provide feedback in 6 months.
An overview of technologies and best practices for the development of a full-stack web application using JavaScript. How to realize an entire Application Server with a single programming language, the use of event-driven logic and the potential of Node.js.
Working between the clouds (versione completa)Davide Cerbo
Da un po' di tempo a questa parte quando uno sviluppatore software sente la parola "Clouds" non pensa più alle nuovole, ma a...? Durante l'intervento risponderò a questa domanda e mostrerò come una applicazione web sviluppata con Spring Framework, Apache Maven e JPA può essere installata facilmente e (quasi) gratuitamente sulla piattaforma per il cloud computing messa a disposizione da Google. Vedremo poi come applicare i principali pattern relativi alla scalabilità utilizzando gli strumenti messi a disposizione dalla piattaforma di Google.
Maze Enterprise: front-end e back-end. Trova la miglior soluzione!Codemotion
La presentazione di K-Tech all'evento Codemotion del 5 marzo a Roma http://www.codemotion.it/
Puzzle davvero complesso l'Enterprise. Il Client Tier cresce, il web evolve e il business si ritira. Il cliente è più esigente. La scalabilità verticale è ferma. L'HTTP Session è un dramma. XML è un bug. I DB vengono messi in discussione. JMS è saturo. SOA un bluff. In questo talk presenteremo dei casi di successo per ottenere un buon time to market e aumentare la produttività. Parleremo di una diversa filosofia per le architetture. JEE e Python, come prendere il meglio da ambo le parti.
Lavorare con applicazioni Brownfield: il caso di 39x27.comSimone Chiaretta
La maggior parte dei progetti software sono progetti legacy. Anche progetti nuovi possono essere considerati legacy se non pensati correttamente. In questa sessione vedremo gli step per portare un progetto legacy verso un progetto facile da manutenere, testare ed estendere.
E lo faremo usando come caso reale 39x27.com, un sito per il tracking di salite in bicicletta.
Slide della presentazione tenuta il 23 Gennaio 2010 alla 5° UGIALT.NET Conference.
Back to Basics, webinar 6: Messa in esercizioMongoDB
Questo è l'ultimo webinar della serie Back to Basics
che ti offrirà un'introduzione al database MongoDB. Questo webinar ti guiderà attraverso tutti i passaggi per l'implementazione della produzione.
3. What is NodeJS ?
- Node NON E’ un webserver
- … è un modo come un altro per eseguire codice sulla
propria macchina
Node.js® is a JavaScript runtime built on Chrome's
V8 JavaScript engine. Node.js uses an event-
driven, non-blocking I/O model that makes it
lightweight and efficient.
4. Installazione e primo avvio
- installer per Win, Mac & Linux su nodejs.org
- node console (REPL):
$ node
> console.log('Hello World');
Hello World
undefined
- Oppure creare un file che contiene
- console.log('Hello World')
5. Proviamo a fare le cose serie
- Supponiamo di avere un file di log di questo tipo:
2013-08-09T13:50:33.166Z A 2
2013-08-09T13:51:33.166Z B 1
2013-08-09T13:52:33.166Z C 6
2013-08-09T13:53:33.166Z B 8
2013-08-09T13:54:33.166Z B 5
- Scriviamo un parser per SOMMARE i numeri per ogni lettera
- Output atteso:
{ A : 2, B: 14, C: 6}
8. Callback Asincrone
- è il meccanismo preferito in NodeJS : “quando hai completato
l’operazione, esegui questo codice”
- “il 99% del tempo di una webapp è speso aspettando dati dal DB”
- “Callback Hell” ⇒
9. Organizzazione del Codice
- Come organizzare il codice in più file (classi…
moduli… ) ?
- Node is not Ruby on Rails!
- … potete fare quel che volete
- fate ciò che gli altri hanno già fatto bene, please!
- Refattorizziamo il Parser che abbiamo scritto prima!
12. my_web_server.js
- very “basic”
- Il programma non “termina” (Ctrl+C)
- MA …
- Servire file?
- check parameters?
- routes?
- Soluzione: EXPRESS !
Come installarlo? Con NPM! (quindi vediamo prima NPM)
17. Vantaggi
Svantaggi
You already know JS
Build tools in JS too! (npm, grunt,
express…)
very fast JIT interpreter
amazing community
Some DBs (MongoDB) are written with JS
in mind
real-time made easy
support for high concurrency
Corporate backup (Joyent)
PaaS support NODE
NodeJS è ancora bleeding edge: altri
linguaggi più blasonati hanno decenni
di stabilità alle spalle
(poor) IDE Support
no strong typing
nothing is really market standard
(neither Express)
that’s open source, baby
Standard library is poor or too new or
unstable
Synchronous Style is easier to think
about and program
19. Meetup
Javascript &
NodeJS
a Salerno!
Sabato 5 Marzo 2016
presso “Puntolingue” di fianco a
Italo
primo binario, stazione FF.SS.
Salerno
http://www.meetup.com/it-IT/JS-
Salerno/events/228723943/
check:
terminale aperto ?
sublime aperto ?
finalità: infarinatura dei concetti alla base
prerequisiti: zero per quanto riguarda node, intermediate per javascript. Sapere cos’è callback, prototype. useremo un po’ di es6
Obiettivi: infarinatura di concetti su Node, stimolare la curiosità.
sul mio sito web troverete le slide.
Diventiamo amici! accetto tutti. E parliamo di programmazione.
- perchè node: l’autore l’ha creato per la barra di upload di flickr
- v8: alla base c’è lo stesso motore di chrome aggiornato, quindi es6 e altre feature
Alla base di Node ci sono due concetti fondamentali:
- event-driven come per le UI, quando accade un evento (tipo: ho letto un file) eseguo un compito. Non aspetto la lettura
- non blocking I/O: le chiamate a I/O (rete, file…) vengono eseguite in maniera asincrona e quando il task completa il controllo ritorna alla callback.
Facilissimo installarlo
2 modi per eseguire Node: dalla REPL
cosa è undefined ?
e lanciando il file da riga di comando
abbiamo un log con una serie di “eventi”
vogliamo sommare i numeri di fianco a questi eventi per produrre un summary
come si fa in Node?
aprire file parser_complete.js
Cose da dire sul codice:
come si importano i moduli
tutto è asincrono (vedi readFile)
standard error handling
l’importanza di un buon editor, specialmente all’inizio (se si vuole un minimo di code assist…)
la classe Buffer di Node (diversa da String)
in altri linguaggi di programmazione il thread resterebbe bloccato in attesa dei dati.
Ricorda definizione: “Non Blocking I/O Model”
In Node invece il thread delega l’I/O a altri thread
che quando terminano l’accesso restituiscono il risultato alla callback. Quando l’event-loop di Node scopre che il thread ha terminato, esegue la callback associata. Questo permette di eseguire altri eventi nel frattempo
non è Rails
apri: refactored_parser && refactored_file_parser
parlare di : exports e module.exports
vedi file my_web_Server.js
Npm è il package manager ufficiale di node
è preinstallato
permette di installare anche altri sw tipo bower… eslint …
creare file package.json con nome e descrizione
con --save si salvano le dep in dependencies
si crea una cartella “node_modules” nel proj
(where is the GIF ?!)
Ora fai vedere l’esempio con Express.
npm install (per le dipendenze)
file server.js ,
node server.js
GET da browser