Build Distributed Systems from Scratch
Learn distributed systems the hard way, by implementing real algorithms.
Progress from basic message passing to consensus protocols through hands-on, Maelstrom-compatible challenges.
———
- Build Real Systems
- Progressive Learning
- Hands-on Coding
- Concept Explanations
———
https://www.builddistributedsystem.com
❤4
🚨 CRITICAL: Active supply chain attack on axios -- one of npm's most depended-on packages.
The latest axios@1.14.1 now pulls in plain-crypto-js@4.2.1, a package that did not exist before today. This is a live compromise.
This is textbook supply chain installer malware. axios has 100M+ weekly downloads. Every npm install pulling the latest version is potentially compromised right now.
Socket AI analysis confirms this is malware. plain-crypto-js is an obfuscated dropper/loader that:
• Deobfuscates embedded payloads and operational strings at runtime
• Dynamically loads fs, os, and execSync to evade static analysis
• Executes decoded shell commands
• Stages and copies payload files into OS temp and Windows ProgramData directories
• Deletes and renames artifacts post-execution to destroy forensic evidence
If you use axios, pin your version immediately and audit your lockfiles. Do not upgrade.
The latest axios@1.14.1 now pulls in plain-crypto-js@4.2.1, a package that did not exist before today. This is a live compromise.
This is textbook supply chain installer malware. axios has 100M+ weekly downloads. Every npm install pulling the latest version is potentially compromised right now.
Socket AI analysis confirms this is malware. plain-crypto-js is an obfuscated dropper/loader that:
• Deobfuscates embedded payloads and operational strings at runtime
• Dynamically loads fs, os, and execSync to evade static analysis
• Executes decoded shell commands
• Stages and copies payload files into OS temp and Windows ProgramData directories
• Deletes and renames artifacts post-execution to destroy forensic evidence
If you use axios, pin your version immediately and audit your lockfiles. Do not upgrade.
❤2
الفرق بين SQL و NoSQL؟ 🤔
.
.
خلال رحلتك في عالم البرمجة، أكيد سمعت عن قواعد البيانات (Database) وعرفت إن فيه نوعين مشهورين: SQL و NoSQL، بس إيه الفرق بينهم؟
———
📌 الـ SQL - قواعد بيانات علائقية (Relational Databases)
- بتستخدم جداول (Tables) زي الإكسل كده، كل جدول فيه أعمدة وصفوف، وبيكون فيه علاقات بين الجداول.
- بتستخدم لغة SQL (Structured Query Language) عشان تعمل استعلامات على البيانات (SELECT, INSERT, UPDATE, DELETE).
- مثالية للبيانات المنظمة والمترابطة، زي الحسابات البنكية، بيانات الموظفين، والمخازن.
- أمثلة عليها: MySQL, PostgreSQL, SQL Server, Oracle.
———
📍 مثال سريع:
لو عندك جدول اسمه Users، ممكن تجيب كل المستخدمين اللي أعمارهم فوق 25 سنة بكود زي ده:
———
📌 الـ NoSQL - قواعد بيانات غير علائقية (Non-Relational Databases)
- ملهاش جداول ثابتة زي SQL، بتستخدم طرق تخزين مختلفة زي المستندات (Documents)، الـ (Key-Value)، الـ (Wide-Column)، أو الرسوم البيانية (Graph).
- مش بتحتاج مخطط ثابت (Schema-less)، يعني ممكن تخزن بيانات غير متناسقة بدون مشاكل.
- مناسبة للبيانات اللي بتتغير باستمرار والأنظمة اللي بتحتاج سرعة عالية وقابلية توسع كبيرة، زي مواقع التواصل الاجتماعي وأنظمة التحليل الفوري.
- أمثلة عليها: MongoDB (بتستخدم الـ Documents)، Redis (بتستخدم Key-Value)، Cassandra (بتستخدم Wide-Column).
———
📍 مثال سريع:
في MongoDB، لو عندك مجموعة (Collection) اسمها Users، وعاوز تجيب المستخدمين اللي أعمارهم فوق 25 سنة، هتستخدم استعلام زي ده:
———
أستخدم أي نوع في المشروع؟ 🤔
✅ الـ SQL مناسب لو عندك بيانات مترابطة وعاوز تضمن التكامل بينها.
✅ الـ NoSQL مناسب لو عندك بيانات غير منظمة، أو بتحتاج تتوسع بسرعة، أو عندك عمليات قراءة وكتابة ضخمة.
.
.
خلال رحلتك في عالم البرمجة، أكيد سمعت عن قواعد البيانات (Database) وعرفت إن فيه نوعين مشهورين: SQL و NoSQL، بس إيه الفرق بينهم؟
———
📌 الـ SQL - قواعد بيانات علائقية (Relational Databases)
- بتستخدم جداول (Tables) زي الإكسل كده، كل جدول فيه أعمدة وصفوف، وبيكون فيه علاقات بين الجداول.
- بتستخدم لغة SQL (Structured Query Language) عشان تعمل استعلامات على البيانات (SELECT, INSERT, UPDATE, DELETE).
- مثالية للبيانات المنظمة والمترابطة، زي الحسابات البنكية، بيانات الموظفين، والمخازن.
- أمثلة عليها: MySQL, PostgreSQL, SQL Server, Oracle.
———
📍 مثال سريع:
لو عندك جدول اسمه Users، ممكن تجيب كل المستخدمين اللي أعمارهم فوق 25 سنة بكود زي ده:
SELECT * FROM Users WHERE age > 25;———
📌 الـ NoSQL - قواعد بيانات غير علائقية (Non-Relational Databases)
- ملهاش جداول ثابتة زي SQL، بتستخدم طرق تخزين مختلفة زي المستندات (Documents)، الـ (Key-Value)، الـ (Wide-Column)، أو الرسوم البيانية (Graph).
- مش بتحتاج مخطط ثابت (Schema-less)، يعني ممكن تخزن بيانات غير متناسقة بدون مشاكل.
- مناسبة للبيانات اللي بتتغير باستمرار والأنظمة اللي بتحتاج سرعة عالية وقابلية توسع كبيرة، زي مواقع التواصل الاجتماعي وأنظمة التحليل الفوري.
- أمثلة عليها: MongoDB (بتستخدم الـ Documents)، Redis (بتستخدم Key-Value)، Cassandra (بتستخدم Wide-Column).
———
📍 مثال سريع:
في MongoDB، لو عندك مجموعة (Collection) اسمها Users، وعاوز تجيب المستخدمين اللي أعمارهم فوق 25 سنة، هتستخدم استعلام زي ده:
db.Users.find({ "age": { $gt: 25 } })———
أستخدم أي نوع في المشروع؟ 🤔
✅ الـ SQL مناسب لو عندك بيانات مترابطة وعاوز تضمن التكامل بينها.
✅ الـ NoSQL مناسب لو عندك بيانات غير منظمة، أو بتحتاج تتوسع بسرعة، أو عندك عمليات قراءة وكتابة ضخمة.
❤8
What is HTTP Caching?
An effective way to improve load performance because it reduces unnecessary network requests.
❤2