All courses
Everything
8
Popular categories
Backend Development
DevOps
Frontend Development
Testing
Popular courses
Frontend Developer
About Hexlet
About company
Blog
Results
Career
Testimonials
Support
Referal Program
Certificates
Vacancies
Teams
College
Private School
Sign up
Sign in
Site map
All courses
About Hexlet
About company
Blog
Testimonials
Questions and answers
Community
Courses
Command line basics
Open program page
Introduction
Operating systems
Command Line
Navigation
Command line interface
File structure
Reading files
Grep
Editing files
Streams
Pipeline
Manipulating the file structure
Environment variables
History
Users and groups
Sudo
Access permissions
Package Manager
Executing a program
CSS Animation
Open program page
Introduction
2D Transformations and moving
2D transformations and rotation
2D transformations and scaling
2D transformations and tilt
3D Transformations fundamentals
3D transformations and functions
Frontend Developer
Open program page
Intro
Intro to HTML
Box model
Semantic HTML
Basic structure of an HTML document
CSS fundamentals
CSS Cascading
Chrome DevTools
Code editors
Emmet
Publication on the Internet
Graphic editors
Intro
Box model and CSS
Text styles
Working with fonts
Lists
Columns
Units
Media elements
Tables
Forms
Selectors
Pseudo-classes
Pseudo-elements
Overflow
CSS Variables
Background
Gradients
Intro
Document flow
Relative positioning
Absolute positioning
Relative and absolute positioning
Fixed positioning
Floating elements
Element overlap
Intro
What is a Flexbox?
Flex container
Wrapping elements in a container
Aligning elements along the main axis
Element alignment along the perpendicular axis
Properties of Flex elements. Flex-grow
Properties of Flex elements. Flexibility
Properties of Flex elements. Positioning
Introduction
Hello, World!
Statements
Arithmetic operations
Formatting errors (syntax and linter)
Strings
Variables
Defining with expressions
Naming
Interpolation
Getting characters from a string
Data types
Immutability and primitive data types
Functions and calls
Function signature
Function calls as an expression
Functions with variadic parameters
Determinacy
Standard library
Properties and methods
Chaining methods
Defining functions
Returning values
Function parameters
Optional function parameters
Simplified function syntax
Logic
Logical operators
Results of logical operations
Conditionals
Ternary operator
Switch
while loop
Data aggregation
Traversing a string in a loop
Conditions inside loops
Increment and decrement
for loop
Modules
About the course
Syntax
Modification
Checking a value exists
for loop
References
Aggregation
for...of loop
Deleting array elements
Control statements
Nested arrays
Generating strings with a loop
Converting strings into arrays
Nested loops
Set Theory
Sorting arrays
Stack
Big O
Destructuring
Rest syntax and destructuring
Spread syntax and creating new arrays
Arrays in computer memory
Introduction
Operating systems
Command Line
Navigation
Command line interface
File structure
Reading files
Grep
Editing files
Streams
Pipeline
Manipulating the file structure
Environment variables
History
Users and groups
Sudo
Access permissions
Package Manager
Executing a program
Introduction
Installation and setup
Workflow
Integration with Github
Working Directory
Analyzing changes made
Analyzing the history of commits
Undoing changes in the working directory
Cancelling commits
Changing the last commit
Index
Moving through history
Understanding Git
Ignoring files (Gitignore)
Stash
Open Source projects
Intro
What is JavaScript?
Installing JavaScript
NPM
Dependencies
Dependencies in development
Global package installation
NPX
Linting
Introduction
Syntax
Modifications
References
Objects in use
Checking if a property exists
Iterating over object properties
Nested objects
Merging
Cloning (copying)
Spread and creating new objects
Destructuring
Hash tables
About course
Pure functions
Command–query separation
Rest parameter syntax (packing arguments)
Spread syntax (unpacking arguments)
Parameter destructuring
First-class objects
Higher-order functions
Mapping
Filtering
Reducing
Signals
Programming paradigms
Building abstraction using functions
Introduction
How and why to write tests?
Assertions
power-assert
Jest
Matchers (expect)
Unit Tests
Data preparation
Bad and good testing practices
Code Coverage
Test-Driven Development (TDD)
Continuous Integration (CI)
About course
Ontology
Points on the coordinate plane
Array semantics
Creating an abstraction
Interfaces
Level-based design
Invariants
Introduction
Definitions
Virtual file system
Manipulating the virtual file system
Tree traversal
Aggregation
Aggregation 2
Accumulator
HTML-tree
Job search — how and when
How to prepare for an interview
System design interview
Developing Soft Skills
Networking
About
Encapsulation
Context (This)
Binding (bind)
Specifics of use this keyword in arrow functions
Constructor
Prototypes
Boxing and unboxing (wrapper objects)
toString()
Class
Static properties and methods
Exceptions
On the place and meaning of OOP in programming
About
Design Patterns
Configuration
Mutable configuration
Entity Objects, Value Objects, and Embedded Objects
Fluent Interface
Builders
Proxy
Code correctly
Introduction
HTTP 1.0
HTTP 1.1
HTTP request body
Submitting forms
Transfer-Encoding
Data transfer via a query string
Redirects
Basic authentication
Cookies
About
Call Stack
Asynchronous code
Return in asynchronous code
Ordering asynchronous operations
Error handling
Parallel execution of operations
Timers
Promises
Error Handling in Promises
Promise chain
Promise.all
new Promise
Async/Await
HTTP Requests
Character representation. Metacharacter.
Character classes
Position within a string
Alternative
Quantification
Greediness
Grouping. Backreferences
Modifiers
Look forward/backward
Search by condition
Flags
Introduction
JavaScript in the browser
Global Window Object
BOM objects
What is DOM?
Navigating the DOM Tree
Declarative DOM tree search
DevTools
Manipulating the Dom tree
Managing DOM Nodes
Polyfills
Introduction to events
Events in practice
Forms
Capturing and bubbling
Document Events
AJAX
JQuery
Introduction
Application state
Complex state
Rendering state
UI State
Processes and automata that describe them
Data normalization
MVC
Form State
Organization of interface texts
Application initialization
Introduction
Error testing
Fixtures
Side effects
Testing code that interacts with files
Dependency Inversion
Testing HTTP Requests
Monkey patching
Mocking
Property-based testing
About
Parametric polymorphism
Dispatch data by key
Dispatch functions by key
Dispatch by file
Polymorphism (duck typing)
Null Object Pattern
Code that kills polymorphism
Dependency inversion
Strategy (Pattern)
Factory (Pattern)
Design Patterns (Patterns)
Object composition
Pattern State
About
Inheritance
Late binding
Template method
Overriding Methods
Liskov substitution principle
Exceptions
Composition instead of inheritance
Introduction
Components
JSX
Props
Collections
JSX vs HTML
Handling class names
Children
State
Events
Automata-based programming
Forms
Immutability
Nested Components
Functional Components
Context API
Virtual Dom
Testing
Asynchronous processing
Component lifecycle
Performance
Refs
Introduction
useState Hook
useEffect Hook
useContext Hook
useRef Hook
Introduction
Redux
Reducers
Middlewares
Introduction
Connecting Redux Toolkit to React
Slices
Data Normalization in Redux
Entity Adapter
Extra Reducers
Asynchronous requests via Thunk
About the course
The usage of HTTP API
HTTP requests in browsers
HTTP API Example
CRUD
CURL
Postman
Types of API
OpenAPI (Swagger Specification)
Git fundamentals
Open program page
Introduction
Installation and setup
Workflow
Integration with Github
Working Directory
Analyzing changes made
Analyzing the history of commits
Undoing changes in the working directory
Cancelling commits
Changing the last commit
Index
Moving through history
Understanding Git
Ignoring files (Gitignore)
Stash
Open Source projects
HTTP API
Open program page
Introduction
HTTP 1.0
HTTP 1.1
HTTP request body
Submitting forms
Transfer-Encoding
Data transfer via a query string
Redirects
Basic authentication
Cookies
About the course
The usage of HTTP API
HTTP requests in browsers
HTTP API Example
CRUD
CURL
Postman
Types of API
OpenAPI (Swagger Specification)
React
Open program page
Introduction
JavaScript in the browser
Global Window Object
BOM objects
What is DOM?
Navigating the DOM Tree
Declarative DOM tree search
DevTools
Manipulating the Dom tree
Managing DOM Nodes
Polyfills
Introduction to events
Events in practice
Forms
Capturing and bubbling
Document Events
AJAX
JQuery
Introduction
Application state
Complex state
Rendering state
UI State
Processes and automata that describe them
Data normalization
MVC
Form State
Organization of interface texts
Application initialization
Introduction
Components
JSX
Props
Collections
JSX vs HTML
Handling class names
Children
State
Events
Automata-based programming
Forms
Immutability
Nested Components
Functional Components
Context API
Virtual Dom
Testing
Asynchronous processing
Component lifecycle
Performance
Refs
Introduction
useState Hook
useEffect Hook
useContext Hook
useRef Hook
Introduction
Connecting Redux Toolkit to React
Slices
Data Normalization in Redux
Entity Adapter
Extra Reducers
Asynchronous requests via Thunk
Position CSS
Open program page
Intro
Document flow
Relative positioning
Absolute positioning
Relative and absolute positioning
Fixed positioning
Floating elements
Element overlap
Intro
What is a Flexbox?
Flex container
Wrapping elements in a container
Aligning elements along the main axis
Element alignment along the perpendicular axis
Properties of Flex elements. Flex-grow
Properties of Flex elements. Flexibility
Properties of Flex elements. Positioning
Introduction
Terminology
First grid
Arrangement of elements in the grid
Working with a grid
Implicit grid
Positioning and Grid
Introduction
Checking site adaptability
Viewport
Flexible elements
Flex
Media Queries
Media queries and other devices
Fundamentals of Web Development
Open program page
Intro
Intro to HTML
Box model
Semantic HTML
Basic structure of an HTML document
CSS fundamentals
CSS Cascading
Chrome DevTools
Code editors
Emmet
Publication on the Internet
Graphic editors
Introduction
Hello, World!
Statements
Arithmetic operations
Formatting errors (syntax and linter)
Strings
Variables
Defining with expressions
Naming
Interpolation
Getting characters from a string
Data types
Immutability and primitive data types
Functions and calls
Function signature
Function calls as an expression
Functions with variadic parameters
Determinacy
Standard library
Properties and methods
Chaining methods
Defining functions
Returning values
Function parameters
Optional function parameters
Simplified function syntax
Logic
Logical operators
Results of logical operations
Conditionals
Ternary operator
Switch
while loop
Data aggregation
Traversing a string in a loop
Conditions inside loops
Increment and decrement
for loop
Modules