اكيد كلنا بنزهق اما بنقعد نطلع كل شوية apk يدوي؟ طب تخيل بقى كل ده بيحصل أوتوماتيك وانت بتشرب قهوتك الصبح؟ مع تقدم التكنولوجيا بقي في tools كتير موجودة بتسهل علينا عملية الـ development و deployment.
فريق المهندسين في Discord كانوا بيخزنوا الرسايل في قاعدة بيانات Cassandra وكانوا مشغلين تقريبًا حوالي 177 node ووصل عدد الرسايل للـ Trillions وبالتالي كان لازم يدوروا على حاجة يقدروا بيها يحلوا المشاكل اللي نتجت عن ده.
تعالوا نشوف مع بعض شوية من أهم المصطلحات المستخدمة في تصميم الأنظمة والـ (System Design) في مجال هندسة البرمجيات باللغة العربية ، مع شرح مبسط لكل مصطلح.
عملية تخزين الـ Metadata واسترجعاها كان من فترة طويلة محور أساسي ومهم لفرق الـ Metadata في Dropbox وعشان كده من ضمن التحسينات اللي عملوها انهم يبنوا Scalable و Consistent Metadata Caching Solution.
فريق المهندسين لم جم يبنوا Notion، كانوا حريصين على بناءه على إطار عمل يسمح للمعلومات إنها تقف لوحدها، حرة من أي قيود أو حاويات، وبدل ما تكون محبوسة في أي حاجة، بنخلي القوة في إيد المستخدم انه يقرر ده ، والإطار ده مبني على مفهوم غاية في الابداع ألا وهو الكتل (blocks).
هنشوف في المقال ده ازاي فريق المهندسين في Meta اشتغلوا على انهم يسرعوا من عملية التحقيق في مشاكل الـ System Reliability باستخدام نظام جديد مدعوم بالـ AI عشان يحددوا الـ Root Cause بتاع المشكلة.
تخيل انك بتبني عمارة علي اساس ضعيف و حبيت تضيف دور جديد للمبني هتلاقي ان المبني كله بدأ ينهار و دا بسبب الاساس الضعيف من الاول ، ف زي ما بنقول الاهم من الشغل تظبيط الشغل ، هنتعرف النهاردة عن ازاي نخلي السوفتوير بتاعنا الكواليتي بتاعته كويسة
عشان نضمن الـ Data Integrity فالـ MySQL بيحتاج يعمل Lock على البيانات قبل ما يعمل Update على أي Record موجود ، لو فيه عمليات متعددة (Multiple Processes) بتحاول تعمل Update للبيانات في نفس الجدول في نفس الوقت، فممكن يحصل "deadlock"
كلنا عارفين مدى أهمية هياكل البيانات في التطبيقات بتاعتنا ، وقد ايه معرفتنا بنوع المشكلة اللي بنحاول نحلها هو اللي بيحدد نوع هياكل البيانات اللي هنستعملها ، لإن كل واحدة بتتميز بعدة خصائص بتميزها عن الباقيين.
الـ Sticky Session هو Terminology اشتهر خصوصًا في التطبيقات اللي بنحتاج فيها الـ Server يحافظ على الـ Session بينه وبين الـ Client ، فكل الـ User Request بتبدأ تروح لنفس الـ Server خلال مدة الـ Session بتاعته.
فريق الأمان في Figma بنى نظام جديد عشان يوفروا وصول آمن للتطبيقات الداخلية بتاعتهم. فخلوني اشارك معاكم إيه اللي اتعلموه من التجربة دي، وإزاي النظام اصبح جزء ومنهج شامل للأمان عندهم.
تعالوا نشوف مع بعض بعض التحديات اللي فريق المهندسين في لينكدإن واجهوها مع JSON والعملية اللي استخدموها لتقييم حلول جديدة وفي النهاية اختيارهم لـ Google Protocol Buffers (Protobuf) كبديل
قاعدة البيانات دي بتتميز بعدة مميزات من ضمنها انها بتوفر الـ Strict Serializability Consistency Model على مستوى الـ Partition وده كان من ضمن المتطلبات اللي Uber عاوزة تحققها وبالتالي نقدر نستنج هنا ان Uber بتضحي بالـ Availability في سبيل الـ Consistency
عندما تتعقد عمليات تطوير البرمجيات، يصبح من المهم أن تظل التطبيقات قابلة للصيانة والتطوير مع مرور الوقت. وهنا تأتي هندسة البرمجيات النظيفة (Clean Architecture) كحل يتيح لنا بناء تطبيقات مرنة.
في المقال ده، هنشرح أكواد الحالة (Status Codes) اللي بتُستخدم في الـ REST APIs بشكل مبسّط وسهل. أكواد الحالة دي بتساعد في توضيح حالة الطلب اللي بيتبعت من العميل للسيرفر.
اليوم سنستعرض موضوعًا أساسيًا ومهمًا في عالم الشبكات وهو نماذج الشبكات أو Network Models. سيتناول هذا المقال نموذجين رئيسيين يوضحان كيفية انتقال البيانات عبر الشبكات، وهما: TCP/IP و OSI.
الراوتر هو جهاز وظيفته الأساسية إنه يوجه البيانات في الشبكة. كل حزمة بيانات (packet) بتتنقل بين الأجهزة من خلال الراوتر اللي بيحدد الطريق الصحيح اللي المفروض كل حزمة تمشي فيه.
الشبكة هي وسيلة لربط جهازين أو أكتر بهدف نقل البيانات أو مشاركتها. يعني لما تبعت لصديقك صورة أو ملف، الشبكة بتكون هي الوسيلة اللي بتنقل البيانات دي من جهازك لجهازه.
قبل البدء في أي مشروع أو تطوير أي منتج، من الضروري تبني منهجيات أو طرق فعالة لإدارة وتنظيم المشروع لتحقيق نتائج أفضل وتعد منهجية الأجايل (Agile) واحدة من أكثر المنهجيات شهرة وفعالية في إدارة المشاريع.
مؤخرا انتشرت مصطلحات جديدة مثل اللامركزية Decentralization و الجيل الثالث من شبكات الويب Web3 فما هو مفهوم اللامركزية وما هي اهم البروتوكولات الخاصه بها؟
دقيقة
اشترك الآن بنشرة اقرأ-تِك الأسبوعية
لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!