Skip to product information
Do it! TypeScript Programming
Do it! TypeScript Programming
Description
Book Introduction
While we're learning TypeScript, let's also delve into functional programming!
From processing 100,000 big data items to API server and React web development!


"Do it! TypeScript Programming" covers the concepts and sources necessary for readers with ES6 JavaScript experience to understand TypeScript and master functional programming.
Since its release in 2012, TypeScript has rapidly expanded and has been used in various open source projects. It has also been adopted in various domestic projects, attracting attention as a preferred tool for developers seeking employment.
It is emerging as an alternative to overcome the limitations of existing JavaScript, especially when working on large-scale projects involving multiple people.
Additionally, TypeScript is based on JavaScript, making it the most accessible functional programming language for web developers.


The first half of this book examines the core syntax of TypeScript and explores object-oriented and asynchronous programming techniques. The second half covers four types of functional programming: declarative programming, function composition, generics, and monads.
Finally, based on what you've learned so far, you'll create a batch program that generates 100,000 big data items in a Node.js environment and writes and reads them to a CSV file.
And after saving this data in MongoDB, we will practice the process of serving it using the Express API server and React.
This will show you how to use TypeScript and functional programming in practice.
  • You can preview some of the book's contents.
    Preview

index
Chapter 1: Creating a Development Environment with TypeScript
___01-1 What is TypeScript?
___01-2 TypeScript Key Grammar Overview
___01-3 Creating a TypeScript Development Environment

Chapter 2: Creating and Managing TypeScript Projects
___01-1 Creating a TypeScript Project
Understanding the ___02-2 module
___02-3 Examining the tsconfig.json file

Chapter 3 Objects and Types
___03-1 TypeScript variable declaration statement
___03-2 Objects and Interfaces
___03-3 Objects and Classes
___03-4 Destructuring assignment statement for objects
___03-5 Type conversion of objects

Chapter 4 Functions and Methods
___04-1 Function declaration
___04-2 Function expression
___04-3 Arrow functions and expression statements
___04-4 Examining first-class functions
___04-5 Function Implementation Techniques
___04-6 Class Method

Chapter 5 Arrays and Tuples
___05-1 Understanding Arrays
___05-2 Declarative Programming and Arrays
___05-3 Array map, reduce, and filter methods
___05-4 Pure functions and arrays
___05-5 Understanding Tuples

Chapter 6 Iterators and Generators
___06-1 Understanding Repeaters
___06-2 Understanding the Generator

Chapter 7 Promises and async/await syntax
___07-1 Asynchronous callback function
___07-2 Understanding Promises
___07-3 async and await statements

Chapter 8: Principles and Applications of Function Combination
___08-1 What is functional programming?
___08-2 Generic Functions
___08-3 Higher-order functions and currying
___08-4 Function Combination

Chapter 9 Lambda Library
___09-1 Introducing the Lambda Library
___09-2 Basic Lambda Usage
___09-3 Handling numbers in arrays
___09-4 Descriptor and Conditional Operations
___09-5 Handling Strings
___09-6 Creating objects with the chance package
___09-7 Handling object properties using lenses
___09-8 Handling Objects
___09-9 Handling Arrays
___09-10 Understanding Combinatorial Logic

Chapter 10: Generic Programming
___10-1 Understanding Generic Types
___10-2 Generic Type Constraints
___10-3 Algebraic Data Type
___10-4 type guard
___10-5 F-bound polymorphism
___10-6 Nullable Types and Program Safety

Chapter 11 Monads
___11-1 Understanding Monads
___11-2 Understanding and Implementing the Identity Monad
___11-3 Understanding and implementing the Maybe monad
___11-4 Understanding and Implementing the Validation Monad
___11-5 Understanding and implementing the IO monad

Chapter 12 Project Practice
___12-1 Creating a Big Data Batch Program
___12-2 Storing data in MongoDB
___12-3 Creating an Express API Server
___12-4 Building a Front-End Web with React and Bootstrap

Detailed image
Detailed Image 1

Publisher's Review
Can a single 25,000 won book increase your annual salary by more than 10 million won?

According to the UK's 'IT Jobs Watch (itjobswatch.co.uk)', the average salary for TypeScript in February 2020 was 7,500 pounds (about 11 million won) higher than that of JavaScript.
If you learn just one language, TypeScript, you can do everything you can do with JavaScript.
That means you can build front-end web and Node.js-based web servers, mobile apps, and even desktop applications with Electron.
If you're an ES6 JavaScript developer, consider adding TypeScript and functional programming to your tech stack.
Even if you don't necessarily look overseas, you will definitely be evaluated as a more valuable developer.

If you need TypeScript right away or have ever considered learning it, this book is for you. It's designed to help you master TypeScript quickly, even with just basic ES6 JavaScript knowledge.
In addition, it covers functional programming, which is attracting attention in modern programming, so it is a book that truly kills two birds with one stone.
Take this opportunity to develop your development skills with TypeScript and functional programming.

Key contents by chapter

Chapter 1: Creating a Development Environment with TypeScript
This book introduces TypeScript and summarizes the core syntax covered in this book.
Then, we will install TypeScript, Node.js, Visual Studio Code, etc. to set up a practice environment.
To reduce complexity and make version management easier when installing various programs on Windows, we use scoop, a command-based package manager for Windows.
This book covers the Windows environment, but it's also perfectly fine to use macOS.


Chapter 2: Creating and Managing TypeScript Projects
Let's create our first project with TypeScript.
In doing so, we will look at the concept of modules and learn how to structure a project by utilizing modules through import and export.
And let's take a look at the tsconfig.json file, which is known to be one of the obstacles when first starting TypeScript.
Understanding the meaning and usage of each option set in the tsconfig.json file will make configuring a TypeScript project much easier.

Chapter 3 Objects and Types
Chapter 3 covers TypeScript syntax in earnest.
JavaScript can create untyped objects, but it has some unique features compared to traditional object-oriented languages ​​like C++, Java, or Python.
In Chapter 3, we will look at the characteristics of object-oriented programming from a JavaScript perspective and learn how to implement objects using the interface keyword in TypeScript.

Chapter 4 Functions and Methods
Surprisingly, in functional languages, functions are objects.
For readers with experience in other languages, this part may seem low.
Chapter 4 covers functions as objects, or "first-class functions," which are the core of functional programming.

Chapter 5 Arrays and Tuples
Functional programming uses a declarative programming style instead of an imperative programming style.
The core of declarative programming is to create data as an array and process it using methods such as map, filter, and reduce.
Chapter 5 covers how to handle arrays from a functional programming perspective, along with the "pure functional" approach.
Chapter 6 Iterators and Generators
Constructs like for...in and for...of all work in conjunction with iterators, iterator providers, and generator constructs.
Chapter 6 explains how this works.

Chapter 7 Promises and async/await syntax
We will learn about the characteristics of synchronous/asynchronous methods and explain how to handle TypeScript's Promise object with async/await syntax to implement it in an asynchronous manner.

Chapter 8: Principles and Applications of Function Combination
We cover the combination of functions that frequently appear in functional programming.
Function composition is a design technique that continuously creates new functions with more plausible functions by combining several functions that perform smaller functions.
However, for function composition to be possible, the programming language syntax must provide first-class functional capabilities.
And the first-class function feature requires higher-order functions, closures, and other grammar features like currying to work.
Chapter 8 explains this:

Chapter 9 Lambda Library
lodash is a widely used utility package in JavaScript.
However, lodash is inconvenient to use in a function composition manner, so I mainly use the ramda package.
Chapter 9 introduces the various features provided by the ramda package.

Chapter 10: Generic Programming
Generics are used to create classes or functions that are independent of types.
Generics are usually perceived as a feature of object-oriented languages, but they are also used in functional programming.
Chapter 10 explains generics from a functional programming perspective.

Chapter 11 Monads
Explains how to design and use monads from a TypeScript perspective.
I will explain it by creating the relatively well-known Identity, Maybe, Validation, and IO monads myself.

Chapter 12 Project Practice
Let's take a closer look at how TypeScript can be used in the real world.
After generating 100,000 data using the generator grammar, it is saved in CSV file format, and the CSV files created in this way are read one by one and saved in MongoDB.
Next, we will create an API server that serves data stored in MongoDB and practice building a web application that operates with React.

People like this will enjoy reading this

-Developers who are learning TypeScript for the first time or want to learn it again
-Developers who want to get started with functional programming
-Developers who want to know how to structure and implement TypeScript projects in practice.

Study in the Doit Study Room, where you can learn, share, and grow together.
If you plan and study alone, you'll quickly become exhausted. Why not meet readers who are struggling with similar issues and share your challenges? It'll be even more rewarding and fulfilling to be able to help others with what you've diligently studied.
Don't suffer alone, move forward with your friends.

* Doit Study Room: https://cafe.naver.com/doitstudyroom
The entire practice files for this book can be downloaded from the data room on the Aegis Publishing website.
* Practice files: https://easyspub.co.kr [Data Room] (Membership required)
GOODS SPECIFICS
- Date of publication: February 27, 2020
- Page count, weight, size: 408 pages | 841g | 188*257*30mm
- ISBN13: 9791163031482
- ISBN10: 1163031488

You may also like

카테고리