All you need to know to become a Senior Software Engineer in JavaScript
- Data structures
- Containerization vs. Virtualization: What's the Difference?
- Virtualization technologies compared
- Containerization Technology: Types, Advantages, Applications, and More
- Best Application Deployment Strategies in 2023
- Currying
- Lodash _.curry() Method
- Discover the power of first class functions
- Function Composition in JavaScript
- Recursion and stack
- Functional-Light JavaScript
- JavaScript Map, Reduce, and Filter - JS Array Functions Explained with Code Examples
- 8 time complexities that every programmer should know
- What Happens When You Type in a URL
- TCP vs. UDP
- Layers of OSI Model
- Transport Layer Security (TLS)
- Consumer-Driven Contracts: A Service Evolution Pattern
- Removing HTTP/2 Server Push from Chrome
- What is difference between HTTPS and HTTP/2?
- Protocol Layers and the Open Systems Interconnection Model
- TCP/IP Protocol Architecture Model
- Richardson Maturity Model
- Representational state transfer
- Rest API architectural constraints
- REST-full API disadvantages
- REST vs. SOAP
- 4 Maturity Levels of REST API Design
- PUT vx. PATCH
- Historical yearly trends in the usage statistics of site elements for websites
- Using server-sent events
- Long polling
- WebSockets
- Long Polling vs WebSockets vs Server-Sent Events
- Transmission Modes in Computer Networks (Simplex, Half-Duplex and Full-Duplex)
- Design First or Code First: What’s the Best Approach to API Development?
- What is OpenAPI? OpenAPI Definition & OpenAPI Standards
- What is Idempotency?
- What Is JSON RPC?
- GraphQL
- GraphQL disadvantages
- The Dao of Immutability
- Composition vs Inheritance
- What is Functional Programming?
- Inversion of Control Containers and the Dependency Injection pattern
- A quick intro to Dependency Injection: what it is, and when to use it
- Totality
- The introduction to Reactive Programming you've been missing
- Web security
- OWASP Top Ten
- HTTP headers
- Preflight request
- Same-origin policy (SOP)
- Cross-site scripting (XSS)
- Man in the Middle (MITM) Attacks
- What is single sign-on (SSO)?
- CORS (Cross-Origin Resource Sharing)
- Excess XSS
- Refresh access tokens
- Secure Software Development Lifecycle (SSDLC)
- Authentication vs. Authorization
- Stateful and stateless authentication
- Costs and benefits of authentication
- AJAX Security Cheat Sheet
- Accessibility (A11Y)
- Accessibility Checklist
- Section 508: What It Covers and How to Comply
- Web Content Accessibility Guidelines (WCAG) 2.1
- 2022 ADA Website Requirements & WCAG Compliance Standards for Websites
- ARIA
- WAVE Web Accessibility Evaluation Tools
- https://developer.mozilla.org/en-US/docs/Web/Performance/Critical_rendering_path
- Front-End Performance Checklist
- How browsers work
- Web browsers Series' Articles
- Web Vitals
- First Contentful Paint (FCP)
- Largest Contentful Paint (LCP)
- First Input Delay (FID)
- Time to Interactive (TTI)
- Cumulative Layout Shift (CLS)
- RAIL
- DOM Performance (Reflow & Repaint) (Summary)
- 4 Types of Memory Leaks in JavaScript and How to Get Rid Of Them
- V8 Hidden class
- Service worker overview
- Service Worker API
- How To Use Chrome UX Report To Improve Your Site Performance
- Window.requestAnimationFrame()
- JavaScript Profiling With The Chrome Developer Tools
- How to Break Up an Expensive Computation Task in JavaScript
- Synthetic vs. Real-User Monitoring: How to Improve Your Customer Experience
- Before You memo()
- Touch events
- Creating and triggering events
- WebRTC API
- FileReader
- FileSystem
- The ultimate guide to iframes
- Page Lifecycle API
- The WebSocket API (WebSockets)
- Capture audio and video in HTML5
- MediaDevices.getUserMedia()
- Using Web Workers
- The event loop
- Objects — Writable, Configurable & Enumerable
- Property flags and descriptors
- JavaScript Constructor Function
- Property getters and setters
- JavaScript: Reviewing Primitive and Non-Primitive Data Types
- Inheritance and the prototype chain
- A deep dive into ES6 Classes
- Novice to Advanced RegEx in Nine Minutes or Less
- Binding Arguments with Bind
- JavaScript patterns
- Using Method Chaining With The Revealing Module Pattern In JavaScript
- Currying in JavaScript
- Recursion vs Iteration
- Memory management
- How To Write Fast, Memory-Efficient JavaScript
- Memorization in JavaScript
- How To Set Up a New TypeScript Project
- Setting up a TypeScript Project plus Prettier and ESLint
- Generics
- Mapped Types
- Conditional Types
- TypeScript: Adding Custom Type Definitions for Existing Libraries
- Flow vs TypeScript: Which Is Better Suited For Your Next Project?
- Advanced TypeScript With Code Challenges: Generics
- How to use type guards in TypeScript
- Angular microsyntax gramar
- Introduction to ng-template in Angular
- The Last Guide For Angular Change Detection You'll Ever Need
- Angular Services, providedIn and Lazy Modules
- Angular Routing Events
- Angular ng-template, ng-container and ngTemplateOutlet - The Complete Guide To Angular Templates
- Angulars RouteReuseStrategy
- Route preloading strategies in Angular
- The Angular 10/9 Router-Outlets: Named and Multiple Outlets (Auxiliary Routes) Example
- Angular Debugging "Expression has changed after it was checked": Simple Explanation (and Fix)
- AfterContentChecked
- AfterViewChecked
- DoCheck
- Multi Providers in Angular
- When to use viewProviders in Angular – Simplified
- The magic of RXJS sharing operators and their differences
- How
runOutsideAngular
might reduce change detection calls in your app - Angular 9 Renderer2 with Directives Tutorial by Example
- In-Depth guide into animations in Angular
- Understanding Angular Views
- How to build an Angular App with Server-Side Rendering
- How To Use Internationalization (i18n) in Angular
- Angular Service Worker - Step-By-Step Guide for turning your Application into a PWA
- Web Workers in Angular
- RxJS Schedulers
- Angular Custom Form Controls: Complete Guide
- Injection Token In Angular
- Understanding hot vs cold Observables
- What are “zones” in Angular?
- Angular Dependency Injection Explained with Examples
- NGRX VS. NGXS VS. AKITA VS. RXJS: FIGHT!
- NgRx Facades: Pros and Cons
- The Complete Guide To Angular Performance Tuning
- DevTools Overview
- 4 Runtime Performance Optimizations
- Virtual scrolling: Core principles and basic implementation in React
- Three Principles
- The difference between Flux and Redux
- Angular vs React: Which One to Choose for Your App
- SPA vs. MPA: Pros, Cons & How To Make Final Choice
- Angular vs React: a comparison of both frameworks
- Progressive Web Apps: Core Features, Architecture, Pros and Cons
- 15 Important Considerations for Choosing A Web Dev Framework
- Incremental Static Regeneration
- SPA and Server-Side Rendering
- Guide to Monorepos for Front-end Code
- JS Frameworks Benchmark
- Web Components
- Micro Frontends
- CSS Methodologies rankings
- What are CSS Modules and why do we need them?
- 5 Methodologies for Architecting CSS
- Popular CSS methodologies for scaling web projects
- Learning JavaScript Design Patterns
- The Catalog of Design Patterns
- JavaScript Patterns Collection
- Design Patterns JS
- SOLID Design Principles Explained
- Relation between CommonJS, AMD and RequireJS?
- Single Responsibility Principle
- Comparing Git Workflows: What You Should Know
- Gitflow Workflow
- Forking Workflow
- Merging vs. Rebasing
- BlueGreenDeployment
- Continuous integration vs. delivery vs. deployment
- Deployment and release strategies
- Git Hooks
- GIT branching strategies
- Software Architecture Guide
- Separation of Concerns
- Why is the difference between functional and Non-functional requirements important?
- What are Functional and Non-Functional Requirements and How to Document These
- Non-functional Requirements: Examples, Types, How to Approach
- How To Write Great Software Requirements Specification?
- 7 Tips to Write Better User Stories
- 10 Common Software Architectural Patterns in a nutshell
- What are cross-cutting concerns?
- GRASP – General Responsibility Assignment Software Patterns Explained
- How to Measure Code Quality: 7 Metrics Every Engineer Should Know
- F.I.R.S.T principles of testing
- Unit Testing and the Arrange, Act and Assert (AAA) Pattern
- Integration Testing: What is, Types with Example
- Improving your testing code coverage in Javascript
- Snapshot Testing: Benefits and Drawbacks
- Technical Debt
- TechnicalDebtQuadrant
- 7 Top Metrics for Measuring Your Technical Debt
- Code Smells
- Everything you need to know about Code Smells
- 8 Practices to Ensure Better Code Quality
- The Practical Test Pyramid
- Test Coverage in Software Testing
- What is a code review?
- 8 Best Software Development Methodologies
- What Are the Best Git Branching Strategies
- 6 Stages Of The Software Development Life Cycle (SDLC)
- Top 8 Agile Estimation Techniques (Explained with Examples)
- 10 reasons why you should use story points
- Scrum vs Kanban – Difference Between Them
- The 2020 Scrum Guide
- CI/CD Pipeline – Learn how to Setup a CI/CD Pipeline from Scratch
- Yarn vs NPM: A Comprehensive Comparison
- esbuild Docs
- Running cross-platform tasks via npm package scripts
- What's New in DevTools
- Progressive Enhancement vs Graceful Degradation
- How Mobile-First Web Design Is Different From Adaptive and Responsive
- How is mobile-first web design different from adaptive and responsive design?
- A Simple Guide to Delegation for Devs
- The Definition of Done
- Definition of Done, или кто за что отвечает
Alternative guide of computer science knowledge related to the Front-end