Awesome Coding
Awesome Coding
Build Cool Stuff with JavaScript and Node.js
About the Book
Learn coding with JavaScript and Node.js from scratch and work on practical projects, applicable and interesting projects. Learn more at www.awesomecoding.co
? What is Awesome Coding about?
Awesome Coding is a book that teaches you JavaScript and Node.js by building cool projects. In this book, you will learn coding from scratch and work on practical projects that include data analysis, image manipulation, web scraping, command-line applications, natural language processing, and web APIs to get news, stock, and even cryptocurrency data.
I am a self-taught developer, so I wanted to make sure to create an engaging book that is easily accessible by beginners. If you want to learn coding from scratch with highly practical, applicable, and useful examples, this is the right book for you.
? Who is Awesome Coding for?
This book is for complete beginners who would like to start learning JavaScript and Node.js with practical, interesting, and awesome examples. Prior coding knowledge is not required.
? What is included in the Book?
? JavaScript and Node.js Basics
Learn the basics of JavaScript and Node.js from scratch. Establish an understanding of software development principles such as the Single Responsibility Principle, Do not repeat yourself, Test-Driven Development.
? File System Operations
Create files and folders using Node.js. Learn working synchronously vs asynchronously.
? Image Manipulation
Programmatically resize, color-correct, or modify images.
? Web Scraping
Automate your interactions with the web. Programmatically scrape website data, take screenshots.
? Command-Line Applications
Build programs that can be controlled from the command-line (terminal).
? Natural Language Processing
Perform NLP operations such as language detection and sentiment analysis.
? Data Analysis
Practice analyzing and working large sets of data.
? Web APIs
Use Web APIs to get news headlines, stock market, and cryptocurrency data.
Table of Contents
-
-
1 Preface
- Why Learn JavaScript?
- What Will You Learn In This Book
- Code Examples
-
1 Preface
-
I JavaScript Basics
-
2 Setting Up Your Development Environment
- Development Environment Setup
- Running JavaScript Online
-
3 Basic Data Types and Variables
- Basic Data Types
- Variables
- Choosing Variable Names
- Declaring Variables
- Summary
-
4 JavaScript Functions
- Functions
- Thinking About Functions
- Other JavaScript Functions
- Defining Functions
- A Real World Function Example
- Callback Functions and Anonymous Functions
- Summary
-
5 Comparison Operators and Conditionals
- Booleans & Comparison Operators
- Comparing Fractional Numbers
- Logical Operators
- Conditional Statements
- Truthy and Falsy Values
- Logical Operators Revisited
- Summary
-
6 Project: Creating an Email Template
- Creating an Email Template
- Template Literals
- Summary
-
7 JavaScript Objects
- this Keyword
- Passed by Value vs. Passed by Reference
- Factory Functions, Constructor Functions, and Classes
- Summary
-
8 Arrays
- Example: Building a Password Validator
- Summary
-
9 Loops
- Example: Writing a Countdown Function Using a While Loop
- for Loop
- Example: Writing a Countdown Function Using a for Loop
- Looping Over Collections
- Map and Filter Methods
- Summary
-
10 Project: Password Validator
- Minimum 8, Maximum 12 Characters
- No Space at the Start or at the End
- Includes at Least Two Special Characters
- No Repeating Characters
- Includes at Least Two Numbers
- Refactoring Code
- Summary
-
11 Programming Libraries
- Loading Libraries
- Library Examples
- Summary
-
12 Project: Data Analysis
- Using Faker
- How Many Students Are There?
- Which Email Providers Exist?
- How Many Users There Are for Each Email Provider?
- Which User Has the Longest Email Address?
- Which User Has the Shortest Email Address?
- Which Country Has the Most Users?
- Summary
-
2 Setting Up Your Development Environment
-
II Getting Started with Node.js
-
13 Introduction to Node.js
- Installing Node.js
- Using the Terminal
- Using a Code Editor
- Our First Node.js Program
- Summary
-
14 Modules
- Using Modules in Node.js
- Summary
-
15 Third-Party Modules and Libraries
- Using package.json
- Summary
-
16 Project: Writing a Command-Line Tool
- Building a Number Guessing Game
- Getting the Command Line Arguments
- Capturing the User Input
- Creating the Game Loop
- Summary
-
13 Introduction to Node.js
-
III Interacting with the File System in Node.js
-
17 File System in Node.js Part 1
- Working with Folders
- Performing Folder Operations
- Summary
-
18 File System in Node.js Part 2
- Reading and Writing Files
- Error Handling in JavaScript
- Reading Files with Error Handling
- Summary
-
19 File System in Node.js Part 3
- Working Asynchronously
- Creating a folder asynchronously
- Reading and Writing files in Node.js
- Choosing Between Synchronous and Asynchronous Functions
- Summary
-
17 File System in Node.js Part 1
-
IV Image Processing in Node.js
-
20 Image Processing in Node.js using Jimp
- Callback Hell
- Callbacks vs. Promises
- Using Jimp with Promises
- Summary
-
20 Image Processing in Node.js using Jimp
-
V Web Scraping
-
21 Automate the Web Using Puppeteer
- async-await
- Getting Started with Puppeteer
- Summary
-
22 Programming Inside the Browser
- HTML (Hypertext Markup Language)
- CSS (Cascading Stylesheets)
- Classes and IDs
- Using JavaScript inside the Browser
- Summary
-
23 Project: Get Random Wikipedia Articles
- Things to Keep in Mind with Headless Browsers
- Summary
-
21 Automate the Web Using Puppeteer
-
VI APIs
-
24 Working with APIs
- Communicating with Web APIs
- Using Web APIs
- About Web Browser APIs and Web Service APIs
- Summary
-
25 Project: Stock and Crypto Market API
- Finding the Stock Symbol for a Company
- Getting the Price Data for a Stock
- Getting Company Financials
- Getting the Price in Bitcoin
- Summary
-
26 Project: News API
- Using NewsAPI with a Client Library
- Adding Day.js
- Performing Sentiment Analysis
- Summary
- 27 Closing Words
-
24 Working with APIs
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them