gungunfebrianza/Belajar-Dengan-Jenius-AWS-Node.js
:books: PinterCoding University. Author : Gun Gun Febrianza
repo name | gungunfebrianza/Belajar-Dengan-Jenius-AWS-Node.js |
repo link | https://github.com/gungunfebrianza/Belajar-Dengan-Jenius-AWS-Node.js |
homepage | |
language | JavaScript |
size (curr.) | 16681 kB |
stars (curr.) | 239 |
created | 2019-06-28 |
license | MIT License |
Belajar Dengan Jenius Amazon Web Service & Node.js
Author : Gun Gun Febrianza
Table of Contents
Open Library Indonesia
Metode Belajar Learning Problems & Abstraction Control
-
Matthew Effect in Reading
-
Persiapan
-
Apa saja yang harus dipersiapkan?
- Install Node.js
- Install Visual Studio Code
- Install Python
- Install Google Chrome atau Firefox.
- Install git
- Install Postman
-
Konvensi Penulisan?
-
Feedback?
-
Kode Sumber?
-
Penggunaan Kode ?
-
Terdapat Kesalahan?
-
Pertanyaan, Kritik dan Saran?
-
-
Chapter 1
-
Belajar Open Web Platform
-
Subchapter 1 – Apa itu Open Web Platform
-
Technical Specification
-
HTML 5.2
-
- Semantic Advantage
-
- Connectivity Advantage
-
- Storage Advantage
-
- Multimedia Advantage
-
- Performance Advantage
-
- Device Access Advantage
-
- Specification
-
-
Web Assembly
-
- Safe
-
- Fast
-
- Portable Code
-
- Compact Code
-
- Specification
-
-
EcmaScript
-
- Specification
-
-
Web Socket
-
- Specification
-
- Application
-
-
WebRTC
-
- Specification
-
- Application
-
-
WebGL
- Specification
- Application
-
-
Subchapter 2 – Apa itu Web Application?
-
Server
-
- File Server
-
- Mail Server
-
- Proxy Server
-
- Application Server
-
- Database Server
-
- Messaging Server
-
-
Virtual Private Server
-
- Virtualization
-
- Virtual Machine
-
- Hypervisor
-
-
Web Server
-
Web Page
-
- Static Web Page
-
- Dynamic Web Page
-
- Progressive Web Application (PWA)
-
- Single Page Application (SPA)
-
-
Network
-
- Local Area Network (LAN)
-
- World Area Network (WAN)
-
- Internet Service Provide (ISP)
-
-
Internet
-
- Internet Transit
-
- Satellite & Fiber Optic
-
-
Internet Exchange Point
-
Content Delivery Network (CDN)
-
Cloud Computing
-
- Cloud Computing Execution Model
-
- Cloud Service Provider
-
- Scalability
-
- Load Balancer
-
-
Serverless Computing
-
- FaaS Provider
-
- AWS Lambda
-
-
-
Subchapter 3 – Bedah Konsep HTTP
-
HTTP & URL
-
- HTTP
-
- Hypertext & Hyperlink
-
- Hypermedia
-
- World Wide Web (www)
-
- Uniform Resources Identifier (URI)
-
- URL / Web Resources
-
-
HTTP & DNS
-
- IP Address
-
- DNS Resolver
-
- Root Server & TLD Server
-
-
HTTP Transaction
-
- TCP Thee-way Handshake
-
-
HTTP Request
-
- HTTP Method
-
- Message
-
- HTTP Header
-
- Header Attribute
-
- MIME
-
-
HTTP Response
-
HTTP Status Message
-
-
Subchapter 4 – Web Security
-
Data in The Low Level
-
- Host
-
- Socket
-
- Bit
-
- Byte
-
- Bytes
-
- Character
-
- ASCII
-
- Data Transmission
-
- Base64 Encoding
-
-
Cryptography
-
- Cryptanalysis
-
- Information Security
-
- Ciphertext
-
- Symmetric Cryptography
-
- Hash Function
-
- Message Authentication Codes (MAC)
-
- Assymetric Cryptography
-
- Cryptography Protocol
-
-
Man In The Middle (MITM) Attack
-
- Eavesdropping
-
-
HTTPS
-
- Perbedaan HTTP & HTTPS
-
- Manfaat HTTPS
-
-
Secure Socket Layer (SSL)
-
- Transport Socket Layer (TLS)
-
- SSL Handshake
-
-
-
Chapter 2
-
Setup Learning Environment
-
Subchapter 1 – Visual Studio Code
-
Install Programming Language Support
-
Install Keybinding
-
Install & Change Theme Editor
-
The File Explorer
-
Search Feature
-
Source Control
-
Debugger
-
Extension
-
- Auto Fold
-
- Better Comment
-
- Bookmarks
-
- Javascript (ES6) Code Snippets
-
- Path Intellisense
-
- VSCode Great Icons
-
-
The Terminal
-
- Menambah Terminal Baru
-
- Melakukan Split Terminal
-
- Mengubah Posisi Terminal
-
- Menghapus Terminal
-
-
Performance Optimization
-
Zen Mode
-
Display Multiple File
-
Font Ligature
-
-
Subchapter 2 – Web Browser
-
Web Browser
-
WebConsole
-
- Autocomplete
-
- Syntax Highlighting
-
- Execution History
-
-
Multiline Code Editor
-
-
Subchapter 3 – Javascript REPL
-
Node.js
-
- Apa itu REPL?
-
- Apa itu Shell?
-
- Node Virtual Machine
-
-
JSBin
-
-
Chapter 3
-
Mastering Javascript
-
Subchapter 1 – Introduction to Javascript
-
Hello World
-
Comment
-
Expression & Operator
-
- Statement
-
- Expression
-
- Operator & Operand
-
- Operator Precedence
-
- Arithmetic Operator
-
- Arithmetic Operation
-
- Comparison Operator
-
- Logical Operator
-
- Assignment Operator
-
-
Javascript Strict Mode
-
- Legacy Code
-
-
Automatic Add Semicolon
-
Variable Declaration
-
- Variable
-
- Binding
-
- Reserved Words
-
- Naming Convention
-
- Case Sensitivity
-
- Loosely Typed Language
-
- Var Keyword
-
- Let Keyword
-
- Constant Keyword
-
-
Clean Code Variable Declaration
-
- Avoid Global Variable
-
- Declaration on Top
-
- Initialize Variable
-
- Use Const or Let
-
-
-
Subchapter 2 – Data Types
-
Javascript Data Types
-
- Apa itu Data?
-
- Apa itu Types?
-
- Apa itu Generic Variable?
-
- Javascript Data Types
-
- Apa itu Pointer?
-
- Apa itu Stack & Heap?
-
- Apa itu Primitive & Reference Values?
-
- Primitive Types
-
- Reference Types
-
- Primitive as Object via Object Wrapper
-
-
Data Types Conversion
-
- Dynamic Typed
-
- String To Number
-
- String To Decimal Number
-
- Number to String
-
- Decimal Number to String
-
- Boolean to String
-
- Check Data Type
-
-
Number Data Types
-
- Infinity
-
- NaN
-
- Maximum & Minimum Value
-
- Max Safe Integer
-
- Safe Integer Checking
-
- Positive e Notation
-
- Negative e Notation
-
- Rounding
-
- Precision
-
- Exponentiation
-
- e Notation Trigger
-
- Number Accuration
-
- Imprecise Calculation
-
- Solution to Imprecise
-
- Fixed Number
-
- Numeric Conversion
-
- Math Object
-
- Hexadecimal, Binary dan Octadecimal
-
-
String Data Types
-
- Double Quote String
-
- Single Quote String
-
- String Concatenation
-
- Numeric String Characteristic
-
- Escaping
-
- Template String
-
- String Objects & Primitives
-
- String Function
-
-
Booleans Data Types
-
Null Data Types
-
Undefined Data Types
-
Symbol Data Types
-
BigInt Data Types
-
- Arbitrary Precision
-
- Arithmetic Operation
-
- Comparison
-
-
Clean Code Data Types
-
- Declare Primitive Not Object
-
- Stop using new Keyword
-
-
-
Subchapter 3 – Control Flow
-
Block Statements
-
Conditional Statements
-
Ternary Operator
-
Multiconditional Statement
-
Switch Style
-
-
Subchapter 4 – Loop & Iteration
-
While Statement
-
Do … While Statement
-
For Statement
-
Break Statement
-
Continue Statement
-
Labeled Statement
-
-
Subchapter 5 – Function
-
Apa itu Function?
-
- Function Declaration
-
- Function Expression
-
- Arrow Function Expression
-
-
First-class Function
-
- What is Execution Context (EC)?
-
-
Simple Function
-
Function Parameter
-
Function Return
-
Function For Function Parameter
-
Function & Local Variable
-
Function & Outer Variable
-
Callback Function
-
Arrow Function
-
Multiline Arrow Function
-
Anonymous Function
-
Function Constructor
-
Function As Expression
-
Nested Function
-
Argument Object
-
This Keyword
-
- Implicit Binding
-
-
Call & Apply Function
-
- Explicit Binding
-
- Call
-
- Apply
-
-
IIFE
-
Clean Code Function
-
- Always Declare Local Variable
-
- Use Named Function Expression
-
- Use Default Parameter
-
- Function is not statement
-
-
-
Subchapter 6 – Error Handling
-
Syntax Error
-
- Missing Syntax
-
- Invalid Syntax
-
-
Logical Error
-
Runtime Error
-
- Referrence Error
-
- Range Error
-
- Type Error
-
- Syntax Error
-
-
Try & Catch
-
- Error Object Properties
-
- Stack Trace
-
- Finnaly
-
-
Custom Error
-
-
Subchapter 7 – Object
-
Apa itu Fundamental Objects?
-
Custom Object
-
- Object Initializer
-
- Object Property
-
- Object Method
-
- Object Constructor
-
- Function Constructor
-
- Object Prototype
-
- Getter & Setter
-
- Object Destructure
-
-
Custom Object Property
-
- Add Object Property
-
- Access Object Property
-
- Delete Object Property
-
- Check Object Property
-
-
Custom Object Method
-
- Access Object Method
-
- Add Object Method
-
-
Custom Object Looping
-
JSON
-
- JSON & Object Literal
-
- Stringify
-
- Parse JSON
-
- Parse Date in JSON
-
-
-
Subchapter 8 – Classes
-
Class-based language
-
Class Declaration
-
- Strict Mode
-
- Constructor
-
- Static Method
-
- Getter & Setter
-
-
Class Expression
-
- Unnamed Class
-
- Named Class
-
-
Class Inheritance
-
- Method Override
-
- Constructor Override
-
-
-
Subchapter 9 – Collection
-
Apa itu Collection?
-
- Iterable
-
- Keyed
-
- Destructurable
-
-
Apa itu Indexed Collections?
-
- Array
-
- Create Array
- Index & Element
- Array Constructor
- Array Literal
- Access Aray Element
- Modify Array Element
- Array Destructuring (ES6)
- Array Looping
- Array Looping (ES6)
- Array Iterator Object
- Array Map
- Array Filter
- Create Array
-
- Array Property & Method
- Array Properties
- Push Array
- Pop Array
- Shift Array
- Unshift Array
- Find Index Array
- Remove Item by Index
- Copy an Array
- Merge Array
- Array Property & Method
-
- Multidimensional Array
- Matrix
- Multidimensional Array
-
-
Keyed Collections
-
- Map
- Create Map
- Add Key & Value
- Get Map Item By Key
- Delete Map Item By Key
- Delete All Map Item
- Check Map Item By Key
- Count Map Item
- Iterate Map Keys
- Iterate Map Values
- Iterate Map Items
- Map
-
- Set
- Create Set
- Add Item
- Check Item
- Delete Item
- Count Set Item
- Delete All Set Item
- Iterate Set Items
- Set
-
-
-
Chapter 4
-
Mastering Node.js
-
Subchapter 1 – Re-introduction Javascript
-
System Programming
-
Node.js System
-
Test Node.js Executable
-
I/O Scaling Problem
-
Process & Thread
-
- Multithread
-
-
Core Modules & libuv
-
-
Subchapter 2 – V8 Javascript Engine
-
The Call Stack
-
- Synchronous Program
-
- Asynchronous Program
-
- Event Loops
-
- Blocking
-
- Non-blocking
-
-
Javascript Compilation Pipeline
-
- Interpreter & Compiler
-
- Machine Code
-
- Ignition & Turbofan
-
- Intermediate Representation (IR)
-
- Bytecode
-
- Just-in-Time Compilation
-
- Compiler Development Philosophy
-
-
Memory Management
-
- Memory Lifecycle
-
- Allocation Example
-
- Garbage Collector
-
- Mark-and-Sweep Algorithm
-
-
-
Subchapter 3 – Node.js Application
-
Running Javascript File
-
Node REPL
-
Module Concept
-
- Modules
-
- Packages
-
- Dependencies
-
-
Node.js Module
-
- Module Format
-
- Module Loaders
-
- Module Bundlers
-
- Create & Export Module
-
- Use Module
-
- Export Multiple Method & Value
-
- Export Style
-
- Destructure Assignment
-
- Export Class
-
-
Package Manager
-
Node Package Manager
-
- npm commands
-
-
Node Package Registry
-
Create Node.js package
-
- package.json
-
- Directive
-
- Search Package
-
- Install Package
-
- Remove Package
-
- View Package
-
- Publish Package
-
- Create Package
-
-
Publish Node.js Package
-
Node.js Application
-
-
Subchapter 4 – Debugging Node.js
-
Debug on Visual Studio Code
-
Built-in Node.js Debugger
-
-
Subchapter 5 – Asynchronous
- Callback
- Promise
- Async Await
-
Chapter 6
-
Amazon Web Service
-
Subchapter 1 – AWS Resources
-
Computing Power
-
- Amazon Lightsail
-
- Amazon Elastic Compute Cloud (EC2)
-
- Amazon Elastic Container Service (ECS)
-
-
Storage Power
-
- Amazon Simple Storage Service (S3)
-
- Amazon Glacier
-
- Amazon Elastic Block Store (EBS)
-
- Amazon Elastic File System (EFS)
-
-
-
Subchapter 2 – AWS CLI V1 & V2
-
Command Line Interface (CLI)
-
- Linux Shell
-
- Windows Command Line
-
- Remote
-
-
AWS CLI V2
-
- Install AWS CLI V2 on Linux
-
- Install AWS CLI V2 on MacOS
-
- Install AWS CLI V2 on Windows
-
-
AWS CLI V1
-
- Install AWS CLI
-
- Upgrade AWS CLI
-
- Verify AWS CLI
-
-
-
Subchapter 3 – AWS IAM
-
Create IAM User
-
- Set User Details
-
- AWS Access Type
-
- Set Permission
-
- Tags
-
- IAM User Credential
-
-
AWS Configuration
-
Create IAM Role
-
- Add Policy to Role
-
- AWS Lambda Role
-
- AWS Lambda Basic Execution Role
-
- AWS Xray Write Only Access
-
- Tag & Review
-
- Trust Relationships
-
-
-
Subchapter 4 – AWS Lambda
-
Lambda Concept
-
- Handler
-
- Runtime
-
-
Lambda Function
-
- Create Lambda Function
-
-
-
Subchapter 5 – AWS API Gateway
-
API Gateway Service
-
- HTTP API
-
- REST API
-
- WebSocket API
-
-
API & App Developer
-
- API Developer
-
- App Developer
-
-
API Gateway Features
-
- Resources Management
-
- Method Execution Management
-
- Staging Management
-
- Models Management
-
- Throttling Management
-
- AWS CloudWatch Integration
-
- AWS X-Ray Integration
-
- AWS Cognito Integration
-
- AWS WAF Integration
-
- Export API
-
- Deployment History
-
- Documentation
-
- Dashboard Metrics
-
-
REST API
-
- Create REST API
-
- Create Resource
-
- Create Method
-
- Integration Request
-
- Test API
-
- Deploy API
-
- Export to Postman
-
-
Debugging & Troubleshooting
-
-
Subchapter 6 – API Gateway & Lambda
-
Chapter 7
-
Big Data
-
Subchapter 1 – Introduction to Database
-
Database Function
-
- Data Management
-
- Scalability
-
- Data Heterogenity
-
- Eficiency
-
- Persistence
-
- Reliability
-
- Consistency
-
- Non-redundancy
-
-
Use Case Database
-
- Aplikasi Penjualan (Sales)
-
- Aplikasi Accounting
-
- Aplikasi HR (Human Resources)
-
- Aplikasi Manufaktur
-
- Aplikasi e-Banking
-
- Aplikasi Keuangan
-
-
Data Analytic
-
-
Subchapter 2 – AWS Database
-
Managed Relational Database
-
- Amazon Relational Database Service (RDS)
-
- Amazon Aurora
-
-
Nonrelational Database
-
- Amazon DynamoDB
-
- Amazon DocumentDB
-
-
Data Warehouse Database
-
- Amazon Redshift
-
-
In-memory Data store Database
-
- Amazon ElastiCache
-
-
Time-series Database
-
- Amazon TimeStream
-
-
Ledger Database
-
- Amazon Quantum Ledger Database (QLDB)
-
-
Graph Database
-
- Amazon Neptune
-
-
Database Migration Service
-
- Amazon Database Migration Service (DMS)
-
-
-
Subchapter 3 – Introduction to Big Data
-
Subchapter 4 – Introduction to NoSQL
-
CAP Theorem
-
- Consistency
-
- Availability
-
- Partition Tolerance
-
-
BASE Approach
-
- Basic Availability
-
- Soft State
-
- Eventual Consistency
-
-
Keunggulan NoSQL?
-
- Schemaless
-
- Scalable
-
-
Klasifikasi NoSQL Database
-
- Key-value Store
-
- Column-oriented
-
- Graph
-
- Document Oriented
-
Big Data & NoSQL
-
Chapter 8
-
Web Service
-
Subchapter 1 – API
-
Subchapter 2 – Remote Procedure Call
-
JSON-RPC
-
Subchapter 3 – REST
-
RESTful Web Service
-
- Uniform Interface
-
- Client-Server Architecture
-
- Stateless
-
- Cacheable
-
- Layered System
-
- Code on demand
-
-
Daftar Pustaka
-
Tentang Penulis