Media is too big
VIEW IN TELEGRAM
40. GitHub Automation Q&A
Erik responds to questions about deleting/archiving repositories and creating global variable sets for tokens.
#lesson
Erik responds to questions about deleting/archiving repositories and creating global variable sets for tokens.
#lesson
Media is too big
VIEW IN TELEGRAM
41. Creating AWS Automation Repos
Erik uses the GitHub automation repo to create AWS automation repos for networks and clusters. With branch protection enabled, the changes are added to a branch, and a PR is created. Merging the PR will apply the changes in Terraform Cloud.
#lesson
Erik uses the GitHub automation repo to create AWS automation repos for networks and clusters. With branch protection enabled, the changes are added to a branch, and a PR is created. Merging the PR will apply the changes in Terraform Cloud.
#lesson
Media is too big
VIEW IN TELEGRAM
42. Configuring an AWS Network
Erik configures an AWS network automation. The configuration code is copied from the example repo, and the options are discussed including subnet address space calculations and the organization of variables.
#lesson
Erik configures an AWS network automation. The configuration code is copied from the example repo, and the options are discussed including subnet address space calculations and the organization of variables.
#lesson
Media is too big
VIEW IN TELEGRAM
43. Configuring an AWS Cluster
Erik configures the AWS cluster automation and discusses features including domain, environment, instance type, market type, and VPC name. Templates offer structured naming conventions and add ease to automating what would be a complex process using the AWS UI.
#lesson
Erik configures the AWS cluster automation and discusses features including domain, environment, instance type, market type, and VPC name. Templates offer structured naming conventions and add ease to automating what would be a complex process using the AWS UI.
#lesson
Media is too big
VIEW IN TELEGRAM
44. Adding AWS Repos to Workspace
Erik adds the AWS repos to the Terraform Cloud workspaces. The changes cannot be applied yet because the AWS credentials are not added to the workspace.
#lesson
Erik adds the AWS repos to the Terraform Cloud workspaces. The changes cannot be applied yet because the AWS credentials are not added to the workspace.
#lesson
Media is too big
VIEW IN TELEGRAM
45. Creating AWS Variable Sets
Erik creates a variable set for the AWS network and cluster workspaces. This variable set provides the AWS credentials to Terraform Cloud so that any required networks and clusters can be created in AWS without the user needing to use the AWS UI.
#lesson
Erik creates a variable set for the AWS network and cluster workspaces. This variable set provides the AWS credentials to Terraform Cloud so that any required networks and clusters can be created in AWS without the user needing to use the AWS UI.
#lesson
Media is too big
VIEW IN TELEGRAM
46. Generating the AWS Services
Erik generates the AWS services and uses the AWS UI to highlight what was created by Terraform Cloud. SSH key pairs are still required to finish the automation. They can be generated from EC2 interface.
#lesson
Erik generates the AWS services and uses the AWS UI to highlight what was created by Terraform Cloud. SSH key pairs are still required to finish the automation. They can be generated from EC2 interface.
#lesson
Media is too big
VIEW IN TELEGRAM
47. Creating the Service Repo
Erik focuses on service infrastructure automation. One workspace will be configured to work with multiple cloud providers to simplify the architecture. The service repository is created and represents a service created by the development team
#lesson
Erik focuses on service infrastructure automation. One workspace will be configured to work with multiple cloud providers to simplify the architecture. The service repository is created and represents a service created by the development team
#lesson
Media is too big
VIEW IN TELEGRAM
48. Creating the Product Service Repo
Erik creates the automation repository for the service infrastructure. This repository deploys the service repos created by developers.
#lesson
Erik creates the automation repository for the service infrastructure. This repository deploys the service repos created by developers.
#lesson
Media is too big
VIEW IN TELEGRAM
49. Deploying a Service
Erik walks through deploying the service repository to AWS. When code and docker images are committed in the developer repositories, a GitHub action connects to AWS and pushes the image to ECS.
#lesson
Erik walks through deploying the service repository to AWS. When code and docker images are committed in the developer repositories, a GitHub action connects to AWS and pushes the image to ECS.
#lesson
Media is too big
VIEW IN TELEGRAM
50. Wrapping Up
Erik wraps up the course by discussing how automation could be extended further by abstracting the network and cluster resources. Workspace outputs can be referenced by related workspaces, which reduces the need to duplicate workspaces for new network resources.
#lesson
Erik wraps up the course by discussing how automation could be extended further by abstracting the network and cluster resources. Workspace outputs can be referenced by related workspaces, which reduces the need to duplicate workspaces for new network resources.
#lesson
Title: Bare Metal JavaScript: The JavaScript Virtual Machine
Description: Build a mental model of JavaScript's performance characteristics through understanding virtual machines under the hood.
Link: https://frontendmasters.com/courses/javascript-cpu-vm/
Time: 3 hours, 21 minutes
Lessons: 18 / 18
Tags: #course #frontendmasters #720p
Description: Build a mental model of JavaScript's performance characteristics through understanding virtual machines under the hood.
Link: https://frontendmasters.com/courses/javascript-cpu-vm/
Time: 3 hours, 21 minutes
Lessons: 18 / 18
Tags: #course #frontendmasters #720p
Frontendmasters
Learn how JavaScript VMs like Google’s V8 engine work | Advanced JavaScript Performance Techniques
Build a mental model of JavaScript's performance characteristics through understanding virtual machines under the hood.
Media is too big
VIEW IN TELEGRAM
1. Introduction
Miško Hevery provides an overview of the course topic, how JavaScript virtual machines connect physical computer hardware with the virtual world of JavaScript. Course topics include performance implications, double vs. triple equals, function calls, and arrays with holes.
- https://github.com/mhevery/JavaScriptVM under the hood/
#lesson
Miško Hevery provides an overview of the course topic, how JavaScript virtual machines connect physical computer hardware with the virtual world of JavaScript. Course topics include performance implications, double vs. triple equals, function calls, and arrays with holes.
- https://github.com/mhevery/JavaScriptVM under the hood/
#lesson
Media is too big
VIEW IN TELEGRAM
2. Physical & Virtual Machines
Miško discusses the virtual machine's role in the communication between code and the CPU. Parts of the CPU, including registers, arithmetic logic unit, and program counter and how they interact with memory, is also covered in this segment
#lesson
Miško discusses the virtual machine's role in the communication between code and the CPU. Parts of the CPU, including registers, arithmetic logic unit, and program counter and how they interact with memory, is also covered in this segment
#lesson
Media is too big
VIEW IN TELEGRAM
3. CPU Basics & Speed Limits
Miško walks through the basics of a CPU, including its registers and memory operations. The limitations of CPU speed and the techniques used to make CPUs faster, such as increasing clock speed, parallelism, and adding more cores.
- https://github.com/mhevery/JavaScriptVM under the hood/
#lesson
Miško walks through the basics of a CPU, including its registers and memory operations. The limitations of CPU speed and the techniques used to make CPUs faster, such as increasing clock speed, parallelism, and adding more cores.
- https://github.com/mhevery/JavaScriptVM under the hood/
#lesson
Media is too big
VIEW IN TELEGRAM
4. CPU Memory Management
Miško explores memory management and introduces the concept of a program section and a data section in CPU memory. How CPU registers are used to load, store, and manipulate data within these memory sections is also discussed in this segment.
#lesson
Miško explores memory management and introduces the concept of a program section and a data section in CPU memory. How CPU registers are used to load, store, and manipulate data within these memory sections is also discussed in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
5. CPU Subroutines & Calling Conventions
Miško explains the concept of subroutines, their primitive nature compared to functions, and the mechanics of calling a subroutine. How data is passed, how registers are managed, the risks of stack overflow, and the role of the stack pointer in preserving program state are also discussed in this segment.
#lesson
Miško explains the concept of subroutines, their primitive nature compared to functions, and the mechanics of calling a subroutine. How data is passed, how registers are managed, the risks of stack overflow, and the role of the stack pointer in preserving program state are also discussed in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
6. CPU Q&A
Miško answers student questions about the concept of computer RAM being similar to a massive array, how different registers within a CPU play specialized roles in performing operations, and how hardware architecture varies between CPU types. JavaScript engines, bridging the gap between high-level programming languages and low-level hardware operations is also covered in this segment.
#lesson
Miško answers student questions about the concept of computer RAM being similar to a massive array, how different registers within a CPU play specialized roles in performing operations, and how hardware architecture varies between CPU types. JavaScript engines, bridging the gap between high-level programming languages and low-level hardware operations is also covered in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
7. Fibonacci
Miško discusses the transition from low-level machine language to assembly language in computer programming, how assembly language provides a more human-readable and manageable way to work with machine-level instructions. The concept of subroutine calls and recursion using an example of implementing the Fibonacci sequence in assembly language is also covered in this segment.
#lesson
Miško discusses the transition from low-level machine language to assembly language in computer programming, how assembly language provides a more human-readable and manageable way to work with machine-level instructions. The concept of subroutine calls and recursion using an example of implementing the Fibonacci sequence in assembly language is also covered in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
8. Optimizing Code
Miško discusses the trade-off between speed and memory in programming, how modern virtual machines analyze code for constants, inline functions for optimization, and deopt. A student's question regarding the performance of function declaration compared to function expression is also covered in this segment.
#lesson
Miško discusses the trade-off between speed and memory in programming, how modern virtual machines analyze code for constants, inline functions for optimization, and deopt. A student's question regarding the performance of function declaration compared to function expression is also covered in this segment.
#lesson
Media is too big
VIEW IN TELEGRAM
9. Deopt Explorer & Fixing a Deopt
Miško introduces a tool called deopt explorer, which provides insights into the performance of JavaScript code running in V8, the JavaScript engine used in Node.js. How to generate a log of V8's compilation and optimization events and how to analyze this log using deopt explorer is also covered in this segment.
#lesson
Miško introduces a tool called deopt explorer, which provides insights into the performance of JavaScript code running in V8, the JavaScript engine used in Node.js. How to generate a log of V8's compilation and optimization events and how to analyze this log using deopt explorer is also covered in this segment.
#lesson