DevGuide
محتوى تقني عربي عن هندسة البرمجيات ⚡️ Stay connected with me: linktr.ee/AliSamir 📍 To advertise on the channel: https://telega.io/c/the_developer_guide
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام DevGuide
تُعد قناة DevGuide (@the_developer_guide) لاعباً نشطاً. يضم المجتمع حالياً 10 987 مشتركاً، محتلاً المرتبة 10 905 في فئة التكنولوجيات والتطبيقات والمرتبة 10 703 في منطقة العراق.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 10 987 مشتركاً.
بحسب آخر البيانات بتاريخ 29 أغسطس, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -33، وفي آخر 24 ساعة بمقدار 1، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 8.78%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 2.04% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 964 مشاهدة. وخلال اليوم الأول يجمع عادةً 224 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 3.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل مَشرُوع, حَاجَة, بَيَان, جِدّ, طَلَب.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“محتوى تقني عربي عن هندسة البرمجيات
⚡️ Stay connected with me: linktr.ee/AliSamir
📍 To advertise on the channel: https://telega.io/c/the_developer_guide”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 30 أغسطس, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
const fs = require('fs');
const readableStream = fs.createReadStream('video.mp4');
readableStream.on('data', (chunk) => {
console.log('Received chunk:', chunk);
console.log('Chunk is a buffer?',
Buffer.isBuffer(chunk)); // true
});
في المثال ده، كل مرة الـ Stream بيبعت Data، بنستقبلها على هيئة Buffer. تقدر تتعامل معاها، تخزنها، تبعتها، أو حتى تعدّل فيها.
———
✨ شوية حاجات مهمة عن Buffer:
- الـ Buffer.from: بيحوّل أي String أو Array أو حتى ArrayBuffer لـ Buffer.
- الـ Buffer.alloc(size): بيعمل Buffer فاضي بالحجم اللي تحدده.
- الـ buffer.toString: لو عايز ترجّع الـ Buffer لصيغة String (لو أصلًا كانت Text).
———
لازم تكون فاهم يعني إيه Buffer في الحالات دي:
- لو بتتعامل مع الملفات الكبيرة.
- لو شغال على تطبيق بيستقبل صور أو فيديوهات أو أصوات.
- لو شغال مع Streams (زي HTTP Requests أو TCP Connections).
- لو بتبعت أو بتستقبل Binary Data من API أو جهاز تاني.
———
الـ Buffers بتشتغل على مستوى الـ Memory مباشرة، يعني لو معرفتش تتعامل معاهم صح، ممكن تقع في مشاكل زي memory leaks أو inefficient data handling.
———
وفقكم الله لكل خير 🌿Don’t let users stare at a blank screen. React Suspense lets you load content progressively with smart fallbacks for a faster-feeling UI.
📌 أولًا: Atomicityيعني لو عندك transaction بتنقل فلوس من حساب لحساب: - تسحب 1000 جنيه من حساب A - وتضيف 1000 لحساب B لو أول خطوة نجحت والتانية فشلت لأي سبب (مثلًا السيرفر وقع)، المفروض الـ Database ترجع كل حاجة زي الأول، كأن العملية محصلتش. ———
📌 ثانيًا: Consistencyالـ Consistency معناها إن الـ Database تفضل دايمًا في state صحيحة ومظبوطة. يعني كل القواعد (constraints, rules, triggers) اللي أنت محددها لازم تفضل متطبقة بعد أي عملية. مثلًا: لو عندك rule بيقول إن الرصيد مينفعش يكون بالسالب، فـ بعد أي transaction لازم الـ DB تفضل محافظة على القاعدة دي. لو حصل violation للقواعد دي، العملية كلها تتلغي. ———
ثالثًا: Isolationتخيل معايا كذا transaction شغالين في نفس الوقت... واحد بيضيف بيانات، والتاني بيعدّل، والتالت بيقرأ. لو مفيش Isolation، الدنيا هتبقى فوضى، وكل transaction هيشوف الـ data وهي لسه بتتغير! لكن مع وجود الـ Isolation، كل transaction بتتعامل كأنها العملية الوحيدة اللي بتتنفذ. يعني حتى لو كذا transaction شغالين في نفس اللحظة، النتائج اللي بيشوفوها مضمونة ومفيهاش تداخل أو corruption. وطبعًا فيه مستويات مختلفة للـ Isolation (زي Read Uncommitted, Read Committed, Repeatable Read, Serializable)، وكل واحدة لها trade-offs بين الأداء والدقة. ———
رابعًا: Durabilityالـ Durability معناها إن بمجرد ما الـ Database تقولك "تمت العملية بنجاح"، يبقى خلاص الـ data دي محفوظة ومش هتضيع حتى لو السيرفر وقع أو الكهرباء قطعت. إزاي؟ لأن الـ DB بتكتب التغييرات على الـ disk (أو الـ log files) قبل ما تقولك العملية نجحت، علشان تقدر تسترجعها لو حصل أي failure. ——— الـ ACID هو اللي بيخلي الأنظمة البنكية، الـ e-commerce systems، والـ booking platforms تشتغل بثقة بدون ما يحصل فيها chaos. ——— وفقكم الله لكل خير 🌿
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
لو أي واحدة من الـ 2 updates فشلت، الـ transaction كلها هتتفك، والداتا ترجع زي ما كانت كأن مفيش حاجة حصلت.
———
⚠️ إيه اللي ممكن يبوّظ الـ Atomicity؟
- الـ Exceptions أو الـ Errors في جزء من الـ transaction.
- إنك تنفذ queries من غير transaction أصلًا
ولو السيستم مش بيطبق الـ Atomicity صح، الداتا ممكن تبقى corrupted، وساعتها ربنا يستر.
———
📌 إيه الفرق بين الـ Atomicity وبين الـ Consistency؟
الـ Atomicity بتتكلم عن هل العملية كلها تمت أو لا؟
الـ Consistency بتسأل هل الداتا بعد العملية في حالة صحيحة؟
يعني:
- الـ Atomicity = حصل commit كامل ولا لا؟
- الـ Consistency = لو حصل، الداتا بقت consistent ولا لا؟
الاتنين مكملين بعض، بس مش نفس الحاجة.
———
وفقكم الله لكل خير 🌿