12 مرحلة · 59 درساً 12 stages · 59 lessons
مسار Backend Backend track الخوادم وقواعد البيانات والواجهات البرمجية، ثم الأمان والنشر. Servers, databases and APIs, then security and deployment.
يكمل المسار من حيث انتهى Frontend: لغة للخادم، ثم قواعد البيانات والواجهات البرمجية والمصادقة، وبعدها التخزين المؤقت والاختبار والنشر وتوسيع الأنظمة. The track picks up where Frontend ends: a server language, then databases, APIs and authentication, followed by caching, testing, deployment and scaling.
ترتيب هذا المسار مستوحى من خارطة Backend (يفتح في تبويب جديد) (opens in a new tab) على roadmap.sh . العناوين والملخّصات والدروس مكتوبة بصياغتنا، وليست منسوخة منها. This track's order is inspired by the Backend roadmap (يفتح في تبويب جديد) (opens in a new tab) on roadmap.sh. Titles, summaries and lessons are written in our own words, not copied from it.
01
لغة الخادم A server language 7 دروس 7 lessons Node.js تشغيل JavaScript خارج المتصفح: الملفات والشبكة والعمليات، بنفس اللغة التي تعرفها من الواجهة. Running JavaScript outside the browser: files, networking and processes, in the language you already know from the frontend. أساسي Required قريباً Coming soon بناء خادم HTTP Building an HTTP server استقبال الطلبات وتوجيهها وإرسال الاستجابات، أولاً بدون إطار ثم بإطار خفيف. Receiving requests, routing them and sending responses, first without a framework and then with a light one. أساسي Required قريباً Coming soon Python لغة مقروءة بمكتبة ضخمة، شائعة في الويب والبيانات والذكاء الاصطناعي. A readable language with a huge ecosystem, common in web, data and AI work. بديل Alternative قريباً Coming soon Go لغة بسيطة ومترجَمة، قوية في الخدمات المتزامنة وأدوات البنية التحتية. A simple compiled language, strong for concurrent services and infrastructure tooling. بديل Alternative قريباً Coming soon Java لغة ناضجة ومنتشرة في أنظمة الشركات الكبيرة، مع منظومة Spring. A mature language widespread in large enterprise systems, with the Spring ecosystem. بديل Alternative قريباً Coming soon C# لغة Microsoft على منصة .NET، لخدمات الويب والتطبيقات الكبيرة. Microsoft's language on the .NET platform, for web services and large applications. بديل Alternative قريباً Coming soon PHP لغة صُمّمت للويب وما زالت تشغّل جزءاً كبيراً منه، مع إطار Laravel. A language built for the web that still powers a large part of it, with the Laravel framework. بديل Alternative قريباً Coming soon 02
قواعد البيانات العلائقية Relational databases 6 دروس 6 lessons الجداول والعلاقات Tables and relations تنظيم البيانات في جداول مترابطة بمفاتيح أساسية وأجنبية. Organizing data into tables linked by primary and foreign keys. أساسي Required قريباً Coming soon SQL لغة الاستعلام: القراءة والإضافة والتعديل والحذف، والربط بين الجداول. The query language: reading, inserting, updating and deleting data, and joining tables. أساسي Required قريباً Coming soon PostgreSQL قاعدة بيانات مفتوحة المصدر وقوية، وخيار افتراضي ممتاز لمعظم المشاريع. A powerful open-source database and an excellent default for most projects. أساسي Required قريباً Coming soon MySQL قاعدة بيانات علائقية واسعة الانتشار، خصوصاً في الاستضافات التقليدية. A widely deployed relational database, especially on traditional hosting. بديل Alternative قريباً Coming soon SQLite قاعدة بيانات كاملة في ملف واحد، بدون خادم منفصل. A complete database in a single file, with no separate server. اختياري Optional قريباً Coming soon الـ ORM ORMs التعامل مع الجداول ككائنات في الكود، ومتى يفيد ذلك ومتى يخفي مشاكل. Working with tables as objects in code, and when that helps versus when it hides problems. أساسي Required قريباً Coming soon 03
الواجهات البرمجية APIs 5 دروس 5 lessons REST تصميم واجهة حول الموارد وأفعال HTTP، مع روابط ورموز حالة واضحة. Designing an API around resources and HTTP verbs, with clear URLs and status codes. أساسي Required قريباً Coming soon JSON والتحقق من المدخلات JSON and input validation تبادل البيانات بـ JSON، وعدم الثقة بأي مدخل قبل التحقق من شكله. Exchanging data as JSON, and never trusting input before validating its shape. أساسي Required قريباً Coming soon توثيق الواجهة بـ OpenAPI Documenting APIs with OpenAPI وصف الواجهة في ملف واحد يولّد منه التوثيق والعملاء والاختبارات. Describing the API in one file that generates docs, clients and tests. اختياري Optional قريباً Coming soon GraphQL نقطة وصول واحدة يطلب منها العميل الحقول التي يحتاجها بالضبط. A single endpoint where the client asks for exactly the fields it needs. اختياري Optional قريباً Coming soon gRPC اتصال سريع بين الخدمات بعقود ثابتة مكتوبة بـ Protocol Buffers. Fast service-to-service calls with strict contracts written in Protocol Buffers. اختياري Optional قريباً Coming soon 04
المصادقة والصلاحيات Authentication and authorization 5 دروس 5 lessons تخزين كلمات المرور Storing passwords لماذا لا تُحفظ كلمة المرور أبداً كما هي، وكيف تعمل خوارزميات مثل bcrypt وArgon2. Why a password is never stored as is, and how algorithms like bcrypt and Argon2 work. أساسي Required قريباً Coming soon المصادقة بالجلسات Session authentication جلسة محفوظة على الخادم ومعرّف في cookie آمنة: الطريقة الكلاسيكية وما زالت ممتازة. A server-side session and an ID in a secure cookie: the classic approach, and still an excellent one. أساسي Required قريباً Coming soon JWT رموز موقّعة تحمل هوية المستخدم دون حالة على الخادم، مع مشكلة الإلغاء التي تأتي معها. Signed tokens carrying the user's identity without server state, and the revocation problem that comes with them. أساسي Required قريباً Coming soon OAuth 2.0 وOpenID Connect OAuth 2.0 and OpenID Connect تفويض الوصول وتسجيل الدخول عبر مزوّد هوية خارجي، من جهة الخادم. Delegated access and sign-in through an external identity provider, from the server side. اختياري Optional قريباً Coming soon الصلاحيات Authorization بعد معرفة من المستخدم: ماذا يُسمح له أن يفعل؟ الأدوار والصلاحيات والتحقق في كل طلب. Once you know who the user is: what may they do? Roles, permissions and checks on every request. أساسي Required قريباً Coming soon 05
أمان الخادم Server security 4 دروس 4 lessons أشهر المخاطر (OWASP) Top risks (OWASP) قائمة OWASP لأخطر ثغرات تطبيقات الويب، وكيف تظهر في كود الخادم. OWASP's list of the most serious web application risks, and how they show up in server code. أساسي Required قريباً Coming soon حقن SQL SQL injection كيف يتحوّل مدخل المستخدم إلى أمر على قاعدة البيانات، ولماذا تمنعه الاستعلامات المهيّأة. How user input turns into a database command, and why parameterized queries prevent it. أساسي Required قريباً Coming soon تحديد معدل الطلبات Rate limiting حماية الواجهة من الإساءة والتخمين بتحديد عدد الطلبات لكل مستخدم أو عنوان. Protecting an API from abuse and guessing by capping requests per user or address. أساسي Required قريباً Coming soon إدارة الأسرار Managing secrets مفاتيح الـ API وكلمات مرور قواعد البيانات: متغيرات البيئة وخزائن الأسرار، وما لا يدخل git أبداً. API keys and database passwords: environment variables and secret stores, and what never goes into git. أساسي Required قريباً Coming soon 06
التخزين المؤقت Caching 4 دروس 4 lessons التخزين المؤقت في HTTP HTTP caching ترويسات Cache-Control وETag: كيف يعيد المتصفح والوسطاء استخدام الاستجابات. Cache-Control and ETag headers: how browsers and proxies reuse responses. أساسي Required قريباً Coming soon شبكات توصيل المحتوى (CDN) Content delivery networks نسخ من الملفات قريبة جغرافياً من المستخدم، لسرعة أعلى وحمل أقل على الخادم. Copies of your files close to the user, for more speed and less load on your server. أساسي Required قريباً Coming soon Redis مخزن بيانات في الذاكرة للتخزين المؤقت والجلسات والطوابير البسيطة. An in-memory data store for caching, sessions and simple queues. أساسي Required قريباً Coming soon إبطال الذاكرة المؤقتة Cache invalidation متى تصبح النسخة المخزّنة قديمة، واستراتيجيات تحديثها دون عرض بيانات خاطئة. When a cached copy goes stale, and strategies to refresh it without serving wrong data. أساسي Required قريباً Coming soon 07
اختبار الخادم Testing the server 3 دروس 3 lessons اختبارات الوحدة Unit tests اختبار منطق العمل منفصلاً عن قاعدة البيانات والشبكة. Testing business logic in isolation from the database and the network. أساسي Required قريباً Coming soon اختبارات التكامل Integration tests اختبار الواجهة مع قاعدة بيانات حقيقية، من الطلب حتى الاستجابة. Testing the API against a real database, from request to response. أساسي Required قريباً Coming soon اختبار الحِمل Load testing قياس ما يتحمّله الخادم قبل أن يكتشفه المستخدمون. Measuring what the server can handle before your users find out. اختياري Optional قريباً Coming soon 08
النشر والتشغيل Deployment and operations 6 دروس 6 lessons أساسيات Linux Linux basics الطرفية والملفات والصلاحيات والعمليات: البيئة التي تعيش فيها معظم الخوادم. The terminal, files, permissions and processes: the environment most servers live in. أساسي Required قريباً Coming soon خوادم الويب Web servers Nginx وCaddy كـ reverse proxy أمام التطبيق: HTTPS والملفات الثابتة وتوزيع الطلبات. Nginx and Caddy as a reverse proxy in front of the app: HTTPS, static files and request routing. أساسي Required قريباً Coming soon Docker تغليف التطبيق مع كل ما يحتاجه في حاوية تعمل بنفس الشكل في كل مكان. Packaging the app with everything it needs into a container that runs the same everywhere. أساسي Required قريباً Coming soon CI/CD فحص كل تغيير وبناؤه ونشره آلياً عند كل دفع للكود. Checking, building and deploying every change automatically on each push. أساسي Required قريباً Coming soon Kubernetes إدارة حاويات كثيرة على عدة خوادم: التوزيع والتوسّع والتعافي من الأعطال. Running many containers across many machines: scheduling, scaling and recovering from failure. اختياري Optional قريباً Coming soon المراقبة Observability السجلات والمقاييس والتتبّع: معرفة ما يحدث في الإنتاج قبل أن يبلّغك أحد. Logs, metrics and traces: knowing what happens in production before anyone reports it. أساسي Required قريباً Coming soon 09
قواعد البيانات بعمق Databases in depth 6 دروس 6 lessons المعاملات وACID Transactions and ACID تنفيذ عدة عمليات ككتلة واحدة: إمّا تنجح كلها أو لا يحدث شيء. Running several operations as one unit: either all succeed or nothing happens. أساسي Required قريباً Coming soon التطبيع (Normalization) Normalization تصميم الجداول لتجنّب التكرار والتناقض، ومتى يكون كسر القاعدة مقصوداً. Designing tables to avoid duplication and contradiction, and when breaking the rule is deliberate. أساسي Required قريباً Coming soon الفهارس Indexes كيف تجد قاعدة البيانات الصفوف بسرعة، وثمن كل فهرس على الكتابة. How a database finds rows quickly, and what each index costs on writes. أساسي Required قريباً Coming soon مشكلة N+1 The N+1 problem استعلام لكل عنصر في القائمة بدل استعلام واحد: كيف تكتشفها وتعالجها. One query per list item instead of one query overall: how to spot and fix it. أساسي Required قريباً Coming soon النسخ والتجزئة Replication and sharding توزيع البيانات على عدة خوادم للقراءة الأسرع والتحمّل الأعلى، وما يكلّفه ذلك. Spreading data across servers for faster reads and higher resilience, and what it costs. اختياري Optional قريباً Coming soon نظرية CAP The CAP theorem عند انقطاع الشبكة بين الخوادم: الاتساق أم التوفّر؟ When the network between servers breaks: consistency or availability? اختياري Optional قريباً Coming soon 10
قواعد بيانات NoSQL NoSQL databases 4 دروس 4 lessons أنواع NoSQL Kinds of NoSQL المستندات والمفتاح والقيمة والأعمدة والرسوم البيانية: أي شكل يناسب أي بيانات. Document, key-value, wide-column and graph stores: which shape fits which data. أساسي Required قريباً Coming soon MongoDB قاعدة بيانات مستندات بصيغة قريبة من JSON، مرنة في شكل البيانات. A document database with a JSON-like format and a flexible data shape. اختياري Optional قريباً Coming soon DynamoDB مخزن مفتاح وقيمة مُدار من AWS، يُصمَّم حول أنماط الوصول مسبقاً. A managed AWS key-value store, designed up front around your access patterns. بديل Alternative قريباً Coming soon محركات البحث Search engines البحث النصي الكامل بـ Elasticsearch أو Meilisearch حين لا تكفي استعلامات SQL. Full-text search with Elasticsearch or Meilisearch when SQL queries are not enough. اختياري Optional قريباً Coming soon 11
الزمن الحقيقي والرسائل Real time and messaging 4 دروس 4 lessons البيانات الفورية Real-time data WebSockets وServer-Sent Events والاستطلاع: إيصال التحديثات للعميل من جهة الخادم. WebSockets, Server-Sent Events and polling: pushing updates to clients from the server side. أساسي Required قريباً Coming soon طوابير الرسائل Message queues تأجيل العمل الثقيل إلى عمّال في الخلفية، وفصل الخدمات عن بعضها. Handing heavy work to background workers, and decoupling services from each other. أساسي Required قريباً Coming soon RabbitMQ وسيط رسائل ناضج بتوجيه مرن بين المرسلين والمستقبلين. A mature message broker with flexible routing between producers and consumers. اختياري Optional قريباً Coming soon Kafka سجلّ أحداث موزّع لتدفقات بيانات ضخمة تُقرأ وتُعاد قراءتها. A distributed event log for large data streams that can be read and replayed. بديل Alternative قريباً Coming soon 12
المعمارية والتوسّع Architecture and scale 5 دروس 5 lessons Monolith أم Microservices Monolith or microservices تطبيق واحد أم خدمات صغيرة مستقلة: المقايضات الحقيقية ومتى يستحق التقسيم. One application or small independent services: the real trade-offs, and when splitting is worth it. أساسي Required قريباً Coming soon Serverless دوال تعمل عند الطلب دون إدارة خوادم، مع حدودها في الزمن والحالة. Functions that run on demand without managing servers, and their limits on time and state. اختياري Optional قريباً Coming soon تطبيق الاثني عشر عاملاً The twelve-factor app مبادئ لتطبيقات سهلة النشر والتوسّع: الإعدادات في البيئة، وعمليات بلا حالة، وغيرها. Principles for apps that deploy and scale easily: config in the environment, stateless processes and more. أساسي Required قريباً Coming soon التوسّع الأفقي والعمودي Horizontal and vertical scaling خادم أقوى أم خوادم أكثر خلف موزّع حِمل، وما يتطلبه كل خيار من التطبيق. A bigger server or more servers behind a load balancer, and what each asks of your app. أساسي Required قريباً Coming soon أنماط التحمّل Resilience patterns إعادة المحاولة، وقاطع الدائرة، والتراجع التدريجي: أنظمة تتعطّل بلطف بدل أن تنهار. Retries, circuit breakers and graceful degradation: systems that fail gently instead of collapsing. اختياري Optional قريباً Coming soon