2017-07-20 17:31:22

Hello, do you guys know of any good Java Script Tutorial?

If you want to contact me, do not use the forum PM. I respond once a year or two, when I need to write a PM myself. I apologize for the inconvenience.
Telegram: Nuno69a
E-Mail: nuno69a (at) gmail (dot) com

2017-07-21 18:33:39

Check out this one at W3Schools.

“Can we be casual in the work of God — casual when the house is on fire, and people are in danger of being burned?” — Duncan Campbell
“There are four things that we ought to do with the Word of God – admit it as the Word of God, commit it to our hearts and minds, submit to it, and transmit it to the world.” — William Wilberforce

2017-07-21 23:37:09

Verry god tutorial, even with exercises. Thanks

If you want to contact me, do not use the forum PM. I respond once a year or two, when I need to write a PM myself. I apologize for the inconvenience.
Telegram: Nuno69a
E-Mail: nuno69a (at) gmail (dot) com

2017-07-22 17:18:21

I can also recommend a book -- two, actually -- called Node.JS Essentials and Mastering Node.JS. ISBNs are 9781785284922 and 9781782166320 respectively. While these books teach Node.JS's version of Javascript, the core principals still apply -- it's still Javascript, after all. You might also be interested in the book called 'JavaScript Concurrency' (ISBN: 9781785889233). Here is the outline for each book, in order:

  • Node.JS essentials:

    • Chapter 1, Getting Started, covers the setup of Node.js. You will also cover how to utilize and manage dependencies.

    • Chapter 2, Simple HTTP, covers how to run a simple HTTP server and helps you understand routing and utilization of middleware.

    • Chapter 3, Authentication, covers the utilization of middleware and JSON Web Token to authenticate users.

    • Chapter 4, Debugging, covers the integration of post-mortem techniques in your development tasks and how to debug your Node.js programs.

    • Chapter 5, Configuration, covers the configuration and maintenance of your software using centralized configuration options, arguments, and environmental variables.

    • Chapter 6, LevelDB and NoSQL, covers the introduction of NoSQL databases, such as LevelDB and MongoDB. It also covers the use of the simple key/value store and a more complete document database.

    • Chapter 7, Socket.IO, explores the real-time communication between clients, servers, and back again and also how it authenticates and notifies the users.

    • Chapter 8, Creating and Deploying Packages, focuses on sharing the modules and contributing to the eco-system

    • Chapter 9, Unit Testing, tests your code using Mocha, Sinon, and Chance and also covers how to use mocks with functions and generate random values to test your code

    • Chapter 10, Using More Than JavaScript, explains the usage of CoffeeScript with Node.js to expand language capabilities.

  • Mastering Node.JS:

    • Chapter 1, Understanding the Node Environment, gives a brief description of the particular problems Node attempts to solve, with a focus on how its single-threaded event-loop is designed, implemented, and used. We will also learn about how Google's V8 engine can be configured and managed, as well as best practices when building Node programs.

    • Chapter 2, Understanding Asynchronous Event-Driven Programming, digs deep into the fundamental characteristic of Node's design: event-driven, asynchronous programming. By the end of this chapter you will understand how events, callbacks, and timers are used in Node, as well as how the event loop works to enable high-speed I/O across filesystems, networks, and processes.

    • Chapter 3, Streaming Data Across Nodes and Clients, describes how streams of I/O data are knitted through most network software, emitted by file servers or broadcast in response to an HTTP GET request. Here we learn how Node facilitates the design, implementation, and composition of network software, using examples of HTTP servers, readable and writable file streams, and other I/O focused Node modules and patterns.

    • Chapter 4, Using Node to Access the Filesystem, lays out what you need to know when accessing the filesystem with Node, along with techniques for handling file uploads and other networked file operations.

    • Chapter 5, Managing Many Simultaneous Client Connections, shows you how Node helps in solving problems accompanying the high volume, high concurrency environments that contemporary, collaborative web applications demand. Through examples, learn how to efficiently track user state, route HTTP requests, handle sessions, and authenticate requests using the Redis database and Express web application framework.

    • Chapter 6, Creating Real-Time Applications, explores AJAX, Server-Sent-Events, and the WebSocket protocol, discussing their pros and cons, and how to implement each using Node. We finish the chapter by building a collaborative document editing application.

    • Chapter 7, Utilizing Multiple Processes, teaches how to distribute clusters of Node processes across multi-core processors, and other techniques for scaling Node applications. An investigation of the differences between programming in single and multithreaded environments leads to a discussion of how to spawn, fork, and communicate with child processes in Node, and we build an analytics tool that records, and displays, the mouse actions of multiple, simultaneous clients connected through a cluster of web sockets.

    • Chapter 8, Scaling Your Application, outlines some techniques for detecting when to scale, deciding how to scale, and scaling Node applications across multiple servers and cloud services, with examples including: how to use RabbitMQ as a message queue, using NGINX to proxy Node servers, and using Amazon Web Services in your application.

    • Chapter 9, Testing Your Application, explains how to implement unit, functional, and integration tests with Node. We will explore several testing libraries, including native Node assertion, sandboxing, and debugging modules. Examples using Grunt, Mocha, PhantomJS, and other build and testing tools accompany the discussion.

    • Appendix A, Organizing Your Work, gives tips on using the npm package management system. Learn how create packages, publish packages, and manage packages.

    • Appendix B, Introducing the Path Framework, demonstrates how to use this powerful full-stack application framework to build your next web application using only JavaScript, thanks to Node and its ability to handle thousands of simultaneously connected clients.

    • Appendix C, Creating Your Own C++ Add-ons, provides a brief introduction on how to build your own C++ add-ons, and how to use them from within Node.

  • Finally, JavaScript Concurrency:

    • Chapter 1, Why JavaScript Concurrency?, is an introduction to concurrency in JavaScript.

    • Chapter 2, The JavaScript Execution Model, takes you through the mechanisms that run our JavaScript code.

    • Chapter 3, Synchronizing with Promises, looks at synchronization techniques using promises.

    • Chapter 4, Lazy Evaluation with Generators, will get your grips to conserving resources by computing lazily.

    • Chapter 5, Working with Workers, looks at achieving true parallelism in JavaScript.

    • Chapter 6, Practical Parallelism, will help you in identifying the right parallelization problems to solve.

    • Chapter 7, Abstracting Concurrency, will get your hands dirty writing concurrent code that reads like regular code.

    • Chapter 8, Evented IO with NodeJS, will show you how concurrency semantics work in this environment.

    • Chapter 9, Advanced NodeJS Concurrency, is learning about specific Node concurrency issues.

    • Chapter 10, Building a Concurrent Application, is all about putting it all together.

You can find each book on SafariBooks Online (something I highly recommend you get, too -- it's a very good and helpful resource!) at https://www.safaribooksonline.com/libra … 785284922, https://www.safaribooksonline.com/libra … 783988402, and https://www.safaribooksonline.com/libra … 1785889233 respectively. Then there's always the topic on JavaScript at https://www.safaribooksonline.com/topic … der=added. I'd highly recommend you check out all of them -- if you want, that is -- and check out safari, too -- https://www.safaribooksonline.com.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github