DevGuide
Level up daily with insider dev hacks, smart career tips, and real talk! 🚀 ⚡️ Stay connected with me: linktr.ee/AliSamir
Show more📈 Analytical overview of Telegram channel DevGuide
Channel DevGuide (@the_developer_guide) is an active participant. Currently, the community unites 10 939 subscribers, ranking 11 275 in the Technologies & Applications category and 10 678 in the Iraq region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 10 939 subscribers.
According to the latest data from 28 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -19 over the last 30 days and by 1 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 8.59%. Within the first 24 hours after publication, content typically collects 2.63% reactions from the total number of subscribers.
- Post reach: On average, each post receives 940 views. Within the first day, a publication typically gains 288 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 3.
- Thematic interests: Content is focused on key topics such as مَشرُوع, حَاجَة, بَيَان, جِدّ, طَلَب.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Level up daily with insider dev hacks, smart career tips, and real talk! 🚀
⚡️ Stay connected with me: linktr.ee/AliSamir”
Thanks to the high frequency of updates (latest data received on 29 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
GET /products
ولو عايز تضيف منتج جديد:
POST /products
ولو عايز تعدل منتج:
PUT /products/1
الفكرة إن كل حاجة بقت ماشية بنمط معروف.
وده السبب إن أغلب الـ APIs اللي بنتعامل معاها النهارده هي REST APIs.
لكن مع الوقت، بدأت تظهر مشكلة.
أوقات الـ Client بيحتاج جزء صغير من البيانات، والسيرفر يرجع بيانات أكتر بكتير من اللي محتاجها.
وأوقات تانية يحتاج بيانات من أكتر من API علشان يقدر يعرض شاشة واحدة.
ومن هنا ظهر مفهوم جديد.
———
📌 GraphQL
الـ GraphQL جه يحل المشكلة دي.
بدل ما السيرفر يقرر إيه البيانات اللي هترجع، الـ Client هو اللي يحدد بالضبط هو محتاج إيه.
يعني لو شاشة فيها اسم المستخدم وصورته بس.
مش لازم السيرفر يرجع الإيميل، ورقم التليفون، والعنوان، وتاريخ الميلاد، وباقي البيانات.
الـ Client يطلب الاسم والصورة فقط.
والسيرفر يرجع الاسم والصورة فقط.
وده بيقلل حجم البيانات اللي بتتنقل، وبيخلي بعض الشاشات أسرع، خصوصًا في التطبيقات الكبيرة.
لكن ده مش معناه إن GraphQL أحسن من REST في كل الحالات.
كل واحد له استخداماته، واختيار واحد منهم بيعتمد على طبيعة النظام اللي بتبنيه.
———
💡 الخلاصة
النهارده عرفنا إزاي السيرفر بيفهم المطلوب منه.
- الـ API: هي نقطة التواصل بين الـ Client والـ Server، وكل Feature في التطبيق غالبًا بيكون لها API.
- الـ REST: أسلوب شائع لبناء الـ APIs باستخدام قواعد وأنماط متفق عليها.
- الـ GraphQL: بيدي الـ Client حرية يحدد البيانات اللي محتاجها بالظبط، بدل ما يستقبل بيانات زيادة.
دلوقتي بقينا عارفين إزاي الـ Client يطلب البيانات من السيرفر.
لكن... السيرفر بيجيب البيانات دي منين أصلًا؟
وده اللي هنتكلم عنه في البوست الجاي، لما نتعرف على Databases، وSQL vs NoSQL، وVertical Scaling.const fs = require("fs");
fs.readFile("data.txt", "utf8", (err, data) => {
if (err) throw err;
console.log(data);
});
console.log("File is being read...");
في الكود ده، الـ Node.js مش بتوقف البرنامج علشان تقرأ الملف.
هي بتبعت request للـ OS علشان يقرأ الملف، وتكمل السطر اللي بعده عادي، ولما الملف يخلص، بتشغل الـ callback.
———
📌 ليه Non-blocking I/O مهم؟
- أداء أعلى: السيرفر يقدر يتعامل مع عدد كبير من المستخدمين في نفس الوقت.
- أسرع في المعالجة: مفيش وقت ضايع في الانتظار.
- أرخص في البنية التحتية: مش محتاجين سيرفرات ضخمة أو Threads كتير.
———
لما تستخدم الـ Non-blocking I/O، لازم تكون فاهم إن الكود بتاعك ممكن يبقى معقد لو مش ماشي بأسلوب منظم.
مثلًا:
- الـ Callback Hell لو مش منظم الكود.
- الـ Race conditions لو حاجتين بيتعاملوا مع نفس الـ data.
- الـ debugging يبقى أصعب لأن الكود مش linear.
لكن مع async/await وPromise-based APIs، بقى الموضوع سهل جدًا في Node.js.