How to Hash Passwords Correctly in PHP
Storing passwords incorrectly is one of the most consequential mistakes a developer can make. A database breach with plain-text or weakly-hashed...
Read the guideUse focused tutorials to configure, build, debug, deploy, and verify software with practical decisions explained at each stage.
Browse concise technical walkthroughs by topic, difficulty, and reading time, then follow each guide from prerequisites through verification.
Storing passwords incorrectly is one of the most consequential mistakes a developer can make. A database breach with plain-text or weakly-hashed...
Read the guideEvery time a user types into a search box, resizes the window, or scrolls the page, the browser fires dozens of events per second. Without rate-l...
Read the guideThe Fetch API is the modern way to make HTTP requests in the browser. It returns Promises, pairs cleanly with async/await, and ships natively in...
Read the guideMost form tutorials stop at preventing the default submission and reading field values. Real forms are harder: you need to validate before sendin...
Read the guideThe classic infinite scroll technique listens to the scroll event and calls getBoundingClientRect() to check whether the bottom of the list is ne...
Read the guidelocalStorage is the simplest way to persist data across page refreshes in the browser — no server, no database. It stores key-value pairs as stri...
Read the guideDark mode is no longer optional — users expect it. The correct implementation uses CSS custom properties for every color, a data-theme attribute...
Read the guideLazy loading defers off-screen images until the user scrolls near them, cutting initial page weight and time-to-interactive. The browser now hand...
Read the guideFetching data in React is straightforward once you understand the lifecycle. useEffect runs after render, you fire off a fetch, and when the Prom...
Read the guideShowing 10-18 of 50 guides
Each guide is organized around the decisions that matter when you perform the task in a real project.
Confirm prerequisites, versions, access, inputs, and the expected result before changing the system.
Follow ordered steps with commands, code, configuration, and context for the choices being made.
Test the outcome, inspect failure cases, and finish with production, security, and maintenance checks.
A guide solves one focused problem. Courses, tools, tips, and articles help you learn the wider concept or complete the work faster.
Follow ordered courses, tutorials, lessons, and coding exercises across software engineering topics.
Explore the AcademyUse practical utilities for development, finance, marketing, HR, sales, and project workflows.
Browse free toolsReview short programming and math explanations when a full walkthrough is more than you need.
Read tips and tricksRead technical analysis, comparisons, architecture notes, and production lessons from the editorial library.
Visit the blogMove directly into related courses, recent technical articles, and concise tips without losing the context of your task.
Understand how the library is organized and how it connects to the wider ESB1995 learning platform.
View all platform FAQsYes. The public how-to library is free to read without signing up. An account is only needed for platform features that save personal progress or workspace data.
Yes. ESB1995 supports English and Arabic navigation and guide content, including a complete right-to-left reading experience for Arabic pages.
The library focuses on practical software engineering tasks such as environment setup, backend and frontend development, APIs, databases, deployment, DevOps, debugging, security, and verification.
How-to guides solve a specific task in ordered steps. Courses build a topic progressively, tips explain a small pattern quickly, and blog articles provide broader analysis and engineering context.
Each complete guide identifies what you need before starting, explains the implementation sequence, and finishes with checks that confirm the result works as intended.
Create an ESB1995 account to access the wider platform workspace, or sign in to continue where you left off.