كيف يعمل تطبيق تباعد وكيف يحافظ على خصوصية المستخدم؟

تطبيق تباعد والذي تم تطويره من قبل الهيئة السعودية للبيانات والذكاء الاصطناعي (سدايا) يعتمد على نظام COVID-19 Exposure Notifications System والذي تم تطويره بتعاون ما بين Apple و Google. هذا النظام تم بناءه بغرض إبلاغ المستخدم في حال قام بمخالطة أحد المصابين بفيروس COVID-19 مع المحافظة على خصوصية المستخدم وسرية بياناته.

نظام COVID-19 Exposure Notifications System  متواجد في أجهزة الـ iOS ابتداءً من النسخة 13.5 و أجهزة الأندريد نسخة 6.0+. سأقوم هنا بالتحدث بإيجاز عن كيفية عمل هذه الخدمة وكيفية حفظ خصوصية المستخدم وبياناته.

متابعة القراءة
ما هو الـ Secure Enclave المستخدم في أجهزة أبل؟

ما هو الـ Secure Enclave المستخدم في أجهزة أبل؟

الـ Secure Enclave Processor (أو الـ SEP للاختصار) عبارة عن معالج مساعد (coprocessor) وظيفته هو توفير بيئة آمنة في الذاكرة العشوائية (RAM) للقيام بالعمليات التي تتطلب مستوى عالي من الأمان والخصوصية. هذه المساحة الآمنة تسمى بالـ Secure Enclave، وبإمكاننا اعتبارها كالصندوق الأسود داخل الذاكرة العشوائية (RAM)، لا يمكننا مشاهدة البيانات أو معرفة العمليات التي تحدث بداخله.

الكثير من خدمات أبل تستخدم الـ Secure Enclave للقيام بالعمليات الحساسة، مثل: تشفير الملفات و تنفيذ عمليات الشراء عبر Apple Pay و فتح الهاتف عن طريق الـ Face ID أو الـ Touch ID وغيرها الكثير من الخدمات التي تتطلب مستوى عالي من الأمان والتي قد يتم توفيرها لاحقا في أجهزة أبل.

متابعة القراءة
ما هي أدوات الـ Code Profiling وكيف يمكن استخدامها؟

ما هي أدوات الـ Code Profiling وكيف يمكن استخدامها؟

في أغلب الأوقات، عدم وجود أخطاء في البرنامج لا يعني بالضرورة أنه يعمل بشكل سليم وكفاءة عالية.
فعلى سبيل المثال، قد يكون استهلاك البرنامج للذاكرة العشوائية (RAM) كبير جدًا ويمكن تجنب هذا الأمر عن طريق تحسين دوال معينة أو بعض الأسطر في البرنامج. أو قد يستهلك البرنامج وقت عالي في تنفيذ جزئية معينة بسبب سوء في تنفيذ إحدى الدوال. حتى تتمكن من معرفة هذه المشاكل، هناك أدوات تسمى بالـ Profiling Tools أو أدوات الـ Code Profiling ، والتي تساعدك عن طريق فحص الكود و اكتشاف هذه المشاكل.

متابعة القراءة

معنى Code Refactoring في البرمجة

قد تكون سبق وأن قرأت او سمعت عن مصطلح Code Refactoring في أحد المقالات او الفيديوهات على اليوتيوب، ولكن ما معنى Code Refactoring وما الفائدة منه؟

المقصود بعملية الـ Code Refactoring هي تحسين الكود من غير تغيير سلوك أو وظيفة البرنامج، وهي من الأمور المستمرة اثناء او بعد بناء البرنامج. بعض الأمثلة على الـ Refactoring:

  • إعادة تسمية المتغيرات
  • نقل بعض الاكواد إلى دوال منفصلة
  • إعادة هيكلة بعض الأجزاء.
متابعة القراءة

برنامج Charles Proxy لفحص واعتراض طلبات الـ API الخاصة بتطبيقات الايفون

برنامج Charles Proxy على نظام الماك هو عبارة عن HTTP Debugging Proxy يسمح لك بمشاهدة الـ HTTP Requests بين جهازك (سواء أكان هاتف جوال او كمبيوترك الشخصي) وبين السيرفر. فإذا كنت مهتم بمعرف الـ API Calls التي يستخدمها أحد التطبيقات (بعض التطبيقات تستخدم طرق حماية لمنع ذلك)، فهذه المقالة مفيدة لك 👌️

متابعة القراءة

ما هو الـ Web API وكيف تقوم بتطويرها باستخدام لغة البرمجة PHP

قبل ٤ اعوام، قمت بتقديم دورة في كيفية استخدام و تطوير الـ Web API باستخدام لغة البرمجة PHP. الدورة قمت بتقديمها عام 2016 بالتعاون مع Techie bits لمدة 3 ايام (6 ساعات).

ولكثرة الاسئلة والاستفسارات، تم نشر هذه الدورة حتى يستفيد منها اكبر قدر ممكن من المستخدمين.

متابعة القراءة

ماهو التشفير التماثلي Homomorphic Encryption؟

التشفير التماثلي (Homomorphic Encryption) هو تشفير يسمح لك بالقيام بعمليات حسابية على النص المشفر (Ciphertext) مثل الجمع والضرب، بحيث يكون ناتج هذه العمليات نص مشفر اخر يحمل نتيجة العملية الحسابية.

عند ذكر مصطلح “نص مشفر” فإننا نعني هنا ارقام وليس احرف. أي أن الـ Homomorphic Encryption يسمح لك بالقيام بعمليات حسابية الارقام وهي مشفرة والحصول على نتيجة مشفرة ايضاً دون الحاجة إلى معرفة هذه الارقام!

متابعة القراءة

ما هي منصة Fabric وكيف تقوم بالتسجيل بها واستخدام احد خدماتها (فيديو)؟

منصة Fabric والمقدمة من تويتر، هي منصة تحتوي على العديد من الخدمات التي تهم المطورين، وبالأخص مطوري تطبيقات الهواتف الذكية (iOS and Android).

على الرابط التالي، تجد قائمة بجميع الخدمات التي تقدمها لك Fabric مجاناً!

لتسهيل الموضوع، قمت برفع فيديو على اليوتيوب اشرح به كيفية التسيجل في منصة Fabric واستخدام احد خدماتها وهي Digits على نظام الـ iOS.

متابعة القراءة

إطلاق تطبيقك لا يعني بالضرورة نجاحه!

الكثير منا يعتقد أنه بمجرد إطلاق تطبيق أو مشروع قد حقق النجاح الذي يرجوه وأن عدد التحميلات والمبيعات سيبدأ في التزايد منذ لحظة الاطلاق… مممم حسناً، يؤسفني أن أقول لك بأنك مخطئ!

فهنالك الكثير من الأمور التي يجب أن تقوم بها أتناء وبعد اطلاق التطبيق حتى يلقى تطبيقك النجاح الذي ترجوه.

متابعة القراءة

ما هي قاعدة بيانات NOSQL وما الفرق بينها وبين قواعد بيانات SQL؟

قبل البدء في الحديث عن قاعدة بيانات NOSQL سأقوم بالتحدث بشكل مبسط عن قواعد البيانات SQL من حيث المزايا والعيوب والسبب الذي جعل شركات الإنترنت الكبرى تبحث عن وسائل بديلة.

قواعد البيانات SQL

تعتمد قواعد البيانات SQL على الجداول والعلاقات بشكل رئيسي، حيث يتم تصميمها لتتبع مخطط (Schema) واحد لا يمكن التلاعب به او تجاهله، أي انه لا يمكننا ادراج اي بيانات في الجدول لعمود لم يتم انشاءه.

متابعة القراءة