DevGuide 🇵🇸
10.9K subscribers
2.62K photos
18 videos
127 files
3.55K links
Join our channel for top-notch programming hacks, epic discussions, and brilliant career moves. 🚀

⚡️ Stay connected with me: linktr.ee/AliSamir

📍 To advertise on the channel: https://telega.io/c/the_developer_guide
Download Telegram
Node.js CheatSheet 💯
👏64
40 Node.js Interview Q/A 💯
5
الفرق بين 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 مناسب لو عندك بيانات غير منظمة، أو بتحتاج تتوسع بسرعة، أو عندك عمليات قراءة وكتابة ضخمة.

———

#دقيقة_برمجة
4👍2
الفرق بين GET و POST في HTTP 🤔

لما تيجي تتعامل مع الـ APIs، هتقابل نوعين من الـ HTTP Requests مهمين جدًا: GET و POST. طيب إيه الفرق بينهم؟

📌 الـ GET Request


- بيستخدم لما تحب تجيب بيانات من السيرفر، زي لما تفتح موقع وتشوف البيانات اللي عليه.

- البيانات اللي بتبعتها للسيرفر بتكون في الـ URL نفسه كـ Query Parameters، يعني لو عندك حاجة زي:

https://example.com/users?id=5

ده معناه إنك بتطلب بيانات المستخدم اللي الـ ID بتاعه 5.

- مش آمن لو بتبعت بيانات حساسة زي الباسورد، لأن البيانات بتظهر في الرابط.

- ممكن يتخزن في الكاش (Cache)، فلو عملت نفس الطلب تاني ممكن السيرفر يرد بنفس النتيجة من غير ما يعالج الطلب من جديد.

———

📌 الـ POST Request


- بيستخدم لما تحب تبعت بيانات للسيرفر عشان تسجّل مستخدم، تبعت بيانات من Form، أو تضيف حاجة جديدة في قواعد البيانات (Database).

- البيانات بتتبعت داخل الـ (Body)، مش في الـ URL، فده بيكون أكثر أمانًا مقارنةً بـ GET.

- مش بيتخزن في الكاش، لأن كل مرة بتبعت فيها بيانات جديدة بيتم معالجتها.

- ممكن يبعت بيانات ضخمة، عكس GET اللي بيكون محدود بحجم الـ URL.

———

💡 امتى تستخدم كل واحد فيهم؟


- لو عايز تجيب بيانات بس بدون ما تغير أي حاجة في السيرفر استخدم GET

- لو عايز تبعت بيانات أو تعمل تعديل أو تضيف حاجة جديدة استخدم POST

———

يعني مثلًا:

🔹 لو بتبحث في جوجل، ده GET لأنك بتطلب بيانات بس.
🔹 لو بتسجّل دخول في موقع، ده POST لأنك بتبعت بيانات حساسة (الإيميل والباسورد).

———

#دقيقة_برمجة
6👍3
DevMeetsDevs 🔥


Unlock your creativity with these incredible websites—your next project’s inspiration starts here!

https://devmeetsdevs.com
4
كل عام وأنتم بخير، تقبل الله منا ومنكم صالح الأعمال. 🤍
9
بفضل الله وتوفيقه، تم نشر ثاني مقال في مدونة Level Up Coding على منصة Medium! 🚀

How to Build a Scalable Back-End with Zero Downtime Deployments 💡


In today’s digital landscape, businesses must ensure 24/7 availability to meet user expectations. A scalable back end with zero downtime deployments is essential, not optional.

This article presents a straightforward approach to building an efficient back end that scales seamlessly and deploys without disruption, keeping users satisfied.

———

🔗 Link To Article:

https://medium.com/gitconnected/how-to-build-a-scalable-back-end-with-zero-downtime-deployments-6f10b6d1f389
8
إزاي تعمل Commit صح في Git؟
.
.
الـ Commit في Git تعتبر "لحظة حفظ" للتغييرات اللي عملتها في مشروعك. يعني لو فيه حاجة حصلت وحبيت ترجع لها بعدين، تقدر تلاقي الـ Commit ده. لكن عشان يكون شغلك مميز، لازم تعمل Commit صح. 💡

———

1- اعمل Commit صغير ومنظم


لازم الـ Commit يكون خاص بتغيير معين أو ميزة معينة، يعني متعملش Commit كبير جدًا فيه شوية حاجات مش مترابطة. خليك دايمًا مركز في حاجة واحدة، زي "إصلاح bug في الصفحة الرئيسية" أو "إضافة زر جديد للتسجيل".


2- اكتب رسالة Commit واضحة


رسالة الـ Commit هي اللي هتشرح للناس (وأنت كمان بعد مدة) إيه اللي اتحسن أو اتغير في الكود. خلي الرسالة مختصرة وواضحة. زي:

- "Fix login issue" 👨‍💻
- "Add user profile page" 👤

مهم جدًا إن الرسالة تكون واضحة علشان لو حد رجع لها بعد فترة، يعرف التغيير ده كان بخصوص إيه.


3- استخدم صيغة الزمن الحاضر


خلي الرسالة مكتوبة في الزمن الحاضر. يعني لو هتكتب عن إضافة ميزة جديدة، اكتب "Add new feature" بدل "Added new feature". دايمًا خلي الكلام بسيط ومباشر.


4- افصل بين التغييرات باستخدام أكثر من Commit


متعملش Commit لكل حاجة مع بعض. يعني لو عدلت على أكثر من جزء في المشروع، خلي كل Commit له حاجة واحدة، كده لو حصل مشكلة في حاجة معينة، هتكون عارف الـ Commit اللي تسبب فيها.


5- متعملش Commit للـ Files المؤقتة أو اللي فيها بيانات سرية


زي ملفات الـ logs أو الملفات المؤقتة (node_modules أو build folders). خلي الملفات دي في الـ gitignore علشان Git ما يضيفها مع الـ Commits بتاعتك.

———

قبل ما تعمل الـ Commit، دايمًا اعمل مراجعة للتغييرات اللي عملتها باستخدام git status أو git diff. كده هتكون متأكد إنك مش ناسي حاجة أو فيه حاجة غلط.

———

#دقيقة_برمجة
16👍3
يعني إيه Callback Function؟ 🔄

خلال رحلتك في عالم الـ JavaScript أكيد سمعت قبل كده عن Callback Functions، بس إيه الفكرة منها وليه بنستخدمها؟ 🤔

خليني أوضحها لك بطريقة بسيطة… تخيل أنك طلبت بيتزا من المطعم، وقالوا لك: "هتاخد 30 دقيقة عشان توصل." دلوقتي بدل ما تقعد مستني على باب المطعم، تقدر تسيب رقمك لهم، وأول ما البيتزا تجهز، هيكلموك ويقولوا لك: "تعال استلمها"

———

الـ Callback Function بتشتغل بنفس الطريقة، هي عبارة عن دالة بتتبعت كـ parameter لدالة تانية، ولما الدالة الأساسية تخلص شغلها، بتنادي الـ Callback عشان تنفذ حاجة معينة.

———

🎯 مثال عملي


function fetchData(callback) {
console.log("Fetching data... ");

setTimeout(() => {
console.log("Data fetched ");
callback("Here is your data! 📦");
}, 2000);
}

function processData(data) {
console.log("Processing: " + data);
}

fetchData(processData);


📌 هنا الـ fetchData شغالة زي المطعم، وبتاخد callback كمعامل، وبمجرد ما تجيب الداتا، بتستدعي processData عشان تتعامل مع البيانات.

———

🛠 ليه نستخدم الـ Callback Functions؟


- التعامل مع العمليات غير المتزامنة (زي جلب بيانات من API أو تنفيذ عمليات بتاخد وقت).
- إعادة استخدام الكود بدل ما نكتب نفس الحاجة أكتر من مرة.
- تنظيم الكود بدل ما يكون كله متداخل وصعب القراءة.

———

مشكلة الـ Callbacks؟


لو استخدمتها بطريقة غلط، ممكن تدخل في Callback Hell (كود متداخل بشكل معقد)، وده السبب اللي يخليك تستخدم الـ Promises والـ Async/Await 🚀

———

#دقيقة_برمجة
7👍5👏1