مقالات عامة

  1. السلام عليكم ورحمة الله وبركاته
    الأهداف:
    لهذه المسابقة هدف واحد وهو اثراء المحتوى العربي في البرمجة بمقالات ونقاشات هادفة متميزه عن غيرها بالطرح و التنوع بعالم البرمجة
    طريقة المشاركة:
    كل ماعليك هو تجهيز مقالة ممتازة وطرحها تحت احد أقسام ساحات النقاش لك الحرية باختيار ماتحب ان تكتب المهم أنه يندرج تحت البرمجة عندما تقوم بالكتابه فانك مباشرة تشترك بالمسابقة يمكنك الاستفادة من طريقة طرح المقالات في صفحة المقالات من تنسيق واسلوب في الطرح 
    طريقة الربح:
     الطرح المميز بعد مراجعته من قبل فريق عالم البرمجة سوف يتم نقله مباشرة لصفحة المقالات برئيسية الموقع عندما يتم نقل الطرح ليصبح مقال برئيسية الموقع فإنك تعتبر فائز وتستحق الجائزة مباشرة
    الجائزة:
    عندما يتم اختيار طرحك ليصبح مقال بصفحة المقالات بعالم البرمجة فإنك ستحصل مباشرة على مبلغ 200 ريال سعودي مقابل المقال
    شهريا سيتم اختيار 10 مقالات للفوز بهذه الجائزة ليفوز الطرح المميز ويثري المحتوى العربي في مجال البرمجة
    القوانين:
    ان يكون النقاش او المقال عن البرمجة وتعليمها ليكون ذو فائدة للجميع يمنع نقل المواضيع او المقالات من مواقع اخرى الا اذا كنت تملك كافة حقوق المقال ولك حق نقله لموقع عالم البرمجة يجب ان يكون الطرح منسق ومرتب ويستخدم ادوات المحرر بعالم البرمجة مثل كتابة الاكواد وغيرها يجب رفع الملفات و الصور على موقع عالم البرمجة واستخدامها بالمقال بدل رفعها على مواقع اخرى يمنع وضع روابط خارجية لموقع بهدف الدعاية بالمقال او بالصور المرفوعة مسموح وضع روابط المكتبات البرمجية و غيرها من موقع المطور بالطرح لك حرية استخدام شعار عالم البرمجة على الصور المرفوعة (بالمرفقات صورة للشعار عالي الدقة لمن يرغب بإستخدامه) عدد المشاركات مفتوح يمكن ان تشارك باكثر من طرح وتفوز باكثر من جائزة الحصول على الجائزة:
    في نهاية كل شهر يمكنك الحصول على الجائزة مباشرة بحوالة بنكية لاي بنك داخل السعودية او لاي حساب PayPal لمشتركينا من خارج السعودية كل ماعليك بعد فوزك بالجائزة مراسلتنا عبر نموذج اتصل بنا بالبيانات التالية
    الاسم الثلاثي رقم الحساب ايبان واسم البنك لمن بداخل السعودية حساب PayPal اذا لم يكن لديك حساب داخل السعودية مدة المسابقة:
    هذه المسابقة فعاله من تاريخ نشر هذه المقاله وباذن الله سوف تكون شهرية مادام لدينا الميزانية للإستمرار وسوف يتم تحديث المقال في حالة انتهت المسابقة
    طرق أخرى للربح:
    عالم البرمجة نصب كل جهدنا لمكافئة المبدعين الذين يساعدون بنشر العلم المفيد يمكنك أيضا الإستفادة والربح من كتاباتك بالموقع اذا كان لديك حساب Adsense شاهد التفاصيل من هنا
    الإقتراحات:
    تستطيع مراسلة الإدارة بجميع ماترغب من إقتراحات وتطويرات عبر نموذج  اتصل بنا
    شعار عالم البرمجة عالي الوضوح
    بخلفية

    بدون خلفية

    مستوى المقال: مبتدئ
  2. السلام عليكم ورحمة الله وبركاته 
    طرحنا مسابقة عالم البرمجة للنقاش الهادف ، و هدفنا إثراء المحتوى العربي في مجال البرمجة ، فاز معنا الطرح المتميز و المفيد حيث قام بتقييم المقالات وترقيتها فريق عالم البرمجة سنذكر بهذه المقالة الفائزين معنا ، و مقالاتهم ، و نشكرهم على ماقدموا من فائدة للجميع ، و إثراء المحتوى العربي في البرمجة.
    الفائزون في شهر April-2017
    المقال الفائز:
     
    المقال الفائز:
     
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    في الختام:
    هدفنا في موقع عالم البرمجة إثراء المحتوى العربي في مجال البرمجة ، و تعزيز حب المساعدة بين المبرمجين تستطيع كتابة ماتحب في ساحات النقاش ، و يمكن تكون احد الفائزين معنا  بمسابقة عالم البرمجة للنقاش الهادف فهي مازالت مستمره ايضا تستطيع مساعدة المبرمجين بالإجابة عن أسئلتهم ، و حل المشاكل التي تواجههم بقسم سؤال وجواب ؛ لتكون مرجع لبقية المبرمجين شعارنا في عالم البرمجة "إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة." -ابن القيم-  وممكن تستفيد من
    حبيبي القارئ اعلم ان فريق عالم البرمجة يصب كل جهودة لمساعدة المبرمجين الذين يخصصون من وقتهم لنشر العلم المفيد ويساعدون الغير ويارب يقدرنا نوقف معكم ونساعدكم قد مانقدر.
    مستوى المقال: مبتدئ
  3. في هذا المقال سنبرمج سوياً تطبيق يعمل على جميع الهواتف باستخدام منصة زامرن Xamarin. التطبيق ببساطة سيقوم بتحويل الرقم الذي يدخله المستخدم إلى رقم روماني.
    في البداية، يمكنك استخدام زامرن من خلال زامرن ستديو أو كإضافة في برنامج فيجوال ستديو وهو ما سنستخدمه في هذا المقال. يمكنك الاطلاع على هذا الفيديو لمعرفة طريقة التحميل.
     
    إنشاء التطبيق
    من شريط الأدوات، اختر File، ومن ثم اضغط New Project. بعد ذلك، من قائمة Cross-Platform اختر تطبيق (Cross-Platform App (Xamarin.Forms or Native، وسنسمي المشروع “RomanNumerals”

    ستظهر لك هذه النافذة تلقائياً، تأكد من اختيار Xamarin.Forms و PCL بالإضافة إلى Blank App كما في الصورة:

    بعد الانتهاء من إنشاء المشروع، ستلاحظ من مستعرض الملفات في الجهة اليمنى بأن المشروع يحتوي على 3 مجلدات، الأول Portable مشترك، والثاني لأجهزة الأندرويد، والثالث لأجهزة الآيفون. وقد يظهر لك مجلد آخر أيضاً لأجهزة الويندوز.

    سأجرب التطبيق الآن على جهازي سامسونج  بالضغط باليمين على مجلد الأندرويد RomanNumerals.Droid واختيار Set as StartUp project. ثم الضغط على زر التشغيل كما في الصورة:

    في حال واجهتك مشاكل في تشغيل التطبيق على جوالك فأنصحك بالرجوع إلى هذا الفيديو، كما يمكنك تشغيله على محاكي في الكمبيوتر باتباع هذه الطريقة.
    هذه صورة من التطبيق بعد تشغيله على الجوال:

    نعود إلى ملفات المشروع: في المجلد الأول (Portable) نقوم بكتابة الكود مرة واحدة ليعمل في جميع الأنظمة، لكن مستقبلاً ربما تحتاج استخدام المجلدات الأخرى لكتابة كود مخصص لأحد الأنظمة، أو للاستفادة من أحد المميزات التي تتوفر على نظام واحد فقط.
    في المجلد المشترك يوجد ملفين من نوع .xaml، هذه الملفات تحتوي على كود يشبه كود XML لتصميم الواجهات. عند الضغط على السهم بجانب الملف، سيظهر لك ملف بنفس الاسم من نوع cs. يحتوي على الكود البرمجي الخاص بالتنفيذ.
    ملف App هو الملف الأساسي الذي سيبدأ منه البرنامج التنفيذ، ولكل ملف واجهة أو صفحة Page. وداخل هذا الملف الأساسي App.cs وُضعت الصفحة الرئيسية للتطبيق = MainPage.xaml:
    MainPage = new RomanNumerals.MainPage(); لنلقي نظرة على تصميم الصفحة الرئيسية MainPage.xaml:
    <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:RomanNumerals" x:Class="RomanNumerals.MainPage"> <Label Text="Welcome to Xamarin Forms!" VerticalOptions="Center" HorizontalOptions="Center" /> </ContentPage> باختصار تحتوي على صفحة من نوع ContentPage، وهذه الصفحة تحتوي على عنوان Label، نص العنوان= Welcome to Xamarin Forms! والنص يتوسط الصفحة أفقياً وعمودياً.
     
    تصميم واجهة التطبيق
    لتصميم تطبيق تحويل الأرقام سنحتاج لتعديل الصفحة بإضافة ثلاثة عناصر:
    Entry لنأخذ إدخال المستخدم Button زر يضغطه المستخدم بعد إدخال الرقم Label نكتب فيه النص أو الرقم الروماني بعد التحويل سنضع هذه العناصر في قالب StackLayout لتكون مرتبة فوق بعضها البعض.
    بالتالي استبدل كود الصفحة الرئيسية MainPage.xaml بهذا:
    <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:RomanNumerals" x:Class="RomanNumerals.MainPage"> <StackLayout VerticalOptions="Center" Padding="20,0,20,0" Spacing="20"> <Entry x:Name="userEntry" /> <Button x:Name="doneButton" Text="موافق"/> <Label x:Name="resultLabel" Text="هنا ستظهر النتيجة" HorizontalOptions="Center"/> </StackLayout> </ContentPage> لاحظ أننا أعطينا كل عنصر اسم x:Name حتى نتمكن من استخدامه في الكود التنفيدي في MainPage.cs.
    جرب تشغيل البرنامج الآن! من المفترض أن تكون الشاشة كما هي فالصورة:

     
    برمجة التطبيق
    انتهينا من تصميم التطبيق، لكن لو ضغطت زر موافق لن تظهر لك أي نتيجة لأننا لم نبرمجه بعد.
    في ملف MainPage.cs مباشرة تحت 
    using Xamarin.Forms; أضف 
    using Xamarin.Forms; وتحت ()InitializeComponent أضف السطر التالي:
    doneButton.Clicked += DoneButton_Clicked; والذي بدوره ينفذ الدالة DoneButton_Clicked كلما ضغط المستخدم الزر الذي أسميناه سابقاً doneButton من خلال x:Name في MainPage.xaml.
    بعد القوس {، وقبل أن نعرف الدالة التي ستُنفَّذ عند ضغطة الزر، أضف الدالة المسؤولة عن تحويل الرقم:
    public static string ToRoman(int number) { if ((number < 0) || (number > 3999)) throw new ArgumentOutOfRangeException("insert value betwheen 1 and 3999"); if (number < 1) return string.Empty; if (number >= 1000) return "M" + ToRoman(number - 1000); if (number >= 900) return "CM" + ToRoman(number - 900); //EDIT: i've typed 400 instead 900 if (number >= 500) return "D" + ToRoman(number - 500); if (number >= 400) return "CD" + ToRoman(number - 400); if (number >= 100) return "C" + ToRoman(number - 100); if (number >= 90) return "XC" + ToRoman(number - 90); if (number >= 50) return "L" + ToRoman(number - 50); if (number >= 40) return "XL" + ToRoman(number - 40); if (number >= 10) return "X" + ToRoman(number - 10); if (number >= 9) return "IX" + ToRoman(number - 9); if (number >= 5) return "V" + ToRoman(number - 5); if (number >= 4) return "IV" + ToRoman(number - 4); if (number >= 1) return "I" + ToRoman(number - 1); throw new ArgumentOutOfRangeException("something bad happened"); } هذه الدالة ستأخذ رقم وستعيد لنا نص الترقيم الروماني المكافئ للرقم. بالتالي عندما يضغط المستخدم الزر، نريد أن نرسل لها نص المحتوى الذي أدخله -مُحولاً إلى رقم-، ثم سنجعل نص النتيجة في الشاشة يساوي النص الذي يرجع من الدالة.
    فنضيف هذه الدالة كخطوة أخيرة:
    private void DoneButton_Clicked(object sender, EventArgs e) { resultLabel.Text = ToRoman(Convert.ToInt16(userEntry.Text)); } ليصبح كامل الكود بهذا الملف كالتالي
    using Xamarin.Forms; using System; namespace RomanNumerals { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); doneButton.Clicked += DoneButton_Clicked; } public static string ToRoman(int number) { if ((number < 0) || (number > 3999)) throw new ArgumentOutOfRangeException("insert value betwheen 1 and 3999"); if (number < 1) return string.Empty; if (number >= 1000) return "M" + ToRoman(number - 1000); if (number >= 900) return "CM" + ToRoman(number - 900); //EDIT: i've typed 400 instead 900 if (number >= 500) return "D" + ToRoman(number - 500); if (number >= 400) return "CD" + ToRoman(number - 400); if (number >= 100) return "C" + ToRoman(number - 100); if (number >= 90) return "XC" + ToRoman(number - 90); if (number >= 50) return "L" + ToRoman(number - 50); if (number >= 40) return "XL" + ToRoman(number - 40); if (number >= 10) return "X" + ToRoman(number - 10); if (number >= 9) return "IX" + ToRoman(number - 9); if (number >= 5) return "V" + ToRoman(number - 5); if (number >= 4) return "IV" + ToRoman(number - 4); if (number >= 1) return "I" + ToRoman(number - 1); throw new ArgumentOutOfRangeException("something bad happened"); } private void DoneButton_Clicked(object sender, EventArgs e) { resultLabel.Text = ToRoman(Convert.ToInt16(userEntry.Text)); } } } لقد انتهينا من برمجة التطبيق وأصبح جاهزاً للاستخدام! 😀

    إذا أردت تحميل التطبيق كاملاً، فبإمكانك تحميله من هنا.
    مستوى المقال: مبتدئ
  4. السلام عليكم ورحمة الله وبركاته 
    كيف تؤسس موقع WordPress على Google Cloud Platform (خطوة بخطوة)
    Goole Cloud Platform هي خدمة حوسبة في السحاب تقدمها Google تقدم استضافة على البنية الأساسية الداعمة التي تستخدمها Google داخليا لمنتجات المستخدمين مثل بحث غوغل و يوتيوب. منصة سحابية توفر منتجات للمطور لبناء مجموعة من البرامج من مواقع بسيطة لتطبيقات معقدة.
    اولا لماذا Google Cloud Platform ؟ 
    Google Cloud Platform  
    يتميز بثلاثة أمور: 
    ١- بنية تحتية آمنه
    آمنة وعالمية وعالية الأداء وفعالة من حيث التكلفة و في تحسن دائم و مستمر.
    ٢-  تأخذ تحليل البيانات على محمل الجد 
    تمكنك من الاستفادة من البيانات الكبيرة للعثور على إجابات أسرع وبناء منتجات أفضل.
    ٣-  الخوادم:
    تنمو من النموذج الأولي prototype إلى الإنتاج production على النطاق العام planet-scale، دون الحاجة إلى التفكير في الإمكانيات، والموثوقية و الأداء.
     
    لابد للحديث عن تكلفة انشاء حساب في Google Cloud Platform في بادئ الأمر:
    - اول ٦٠ يوم مجاناً ولكن فيما بعد تكون التكلفة على حسب السعة المستخدمة من Cloud Platform وفي المعدل يتم خصم ٢٥ دولار لكل شهر اي ما يعادل ٣٠٠ دولار في السنه 
    السؤال: هل هي تستحق ذلك ؟ 
    الإجابه: نعم!
     
    لنبدأ الشرح ..
    أولا: يجب أن تقوم بإنشاء حساب بريد التروني في Gmail جديد يخص المشروع غير البريد الذي تستخدمه، لماذا؟ لأن البريد الذي تفعل فيه مشروعك سيكون Public بكل المعلومات الذي يحتويه
    ثانياً: تقوم بالدخول على https://console.cloud.google.com و تختار Try It 
    ثالثاً: بعد تعبئة مايلزم من المعلومات سنقوم بإنشاء اول مشروع كما يلي 
     
    أ)  انشاء مشروع :
    - اختر: Create Project 
     

     
    - بعد انشاء المشروع اذهب لقائمة Compute Engine ثم VM instances  للبدأ بضبط الاعدادات الVirtual Machine Instances

    - حدّث project instances

     
    - اختر SSH واكتب الكود الاتي
    اولا: ( لتعطي الامر ك Super User ) * في كل مرة نريد تحديث او تغيير امر يجب اولاً كتابة امر الدخول ك Super User
    sudo su - ثانياً : لتحميل اخر تحديث ل ال instances: 
    APT-get update نحن الان عملنا تحديث updated 
    ويمكننا الان تعديل القيم الخاصة باعدادات php :
    كيف؟
    اولا: بكتابة :
    sudo nano /etc/php5/apache2/php.ini  
    - ثم نبدأ بتغيير ال Memory Limit وسرعة الإستجابة اقترح تغيير القيم كالآتي: 
    ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; ; Maximum execution time of each script, in seconds ; http://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI max_execution_time = 180 ; Maximum amount of time each script may spend parsing request data. It's a good ; idea to limit this time on productions servers in order to eliminate unexpectedly ; long running scripts. ; Note: This directive is hardcoded to -1 for the CLI SAPI ; Default Value: -1 (Unlimited) ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) ; http://php.net/max-input-time max_input_time = 180 ; Maximum input variable nesting level ; http://php.net/max-input-nesting-level ;max_input_nesting_level = 64 ; How many GET/POST/COOKIE input variables may be accepted ; max_input_vars = 1000 ; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 1024M ;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;; ; Maximum size of POST data that PHP will accept. ; Its value may be 0 to disable the limit. It is ignored if POST data reading ; is disabled through enable_post_data_reading. ; http://php.net/post-max-size post_max_size = 512M ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 512M ; Maximum number of files that can be uploaded via a single request max_file_uploads = 1000 ولحفظ القيم الجديدة:  ctrl+X 
    ثم عليك كتابة هذا الأمر لتحديث نسخة apache2 مع الاعدادات والقيم الجديدة التي قمت بها
    sudo service apache2 restart  
     
     
    - اخيراً وليس آخراً سنقوم الان بتنصيب Wordpress :
    أولا: الذهاب للقائمة الجانبية API Manager > Library 
    اختر Google Cloud APIs > Cloud Deployment Manager API كما في الصورة:

    ثم: اختر  ENABLE

    ثم : اختر : Start with a prebuilt solution to continue.

     
    ثانياً: من القائمة الجانبيه اختر Cloud Luancher
    - وابحث عن WordPress من قائمه CMS او عن المنصة التي ترغب بالعمل عليها

    - انقر على Launch on Compute Engine

    بعد كذا تتابع الخطوات وتختار Deploy ويظهر لك نموذج لتعبئة المعلومات الخاصة بموقعك وماتحتاج له من سعه وغيره وهنا ما اقترحه لك:

    - اختر Deploy WordPress للبدأ بالتحميل
    - بمجرد الانتهاء من التحميل ستأخذك الصفحة الى Deployment information وفيها المعلومات الخاصة بموقعك من: WordPress administrator username and password,
     MySQL administrator password,
    and phpMyAdmin username
    ويمكنك الان البدأ ببناء موقعك بنجاح ..
    ويمكنك مشاهدة الفديو لفهم كامل المقال بشكل اسهل واسرع
     
    تحياتي:
    لمياء الشمري 
    مستوى المقال: مبتدئ
  5. السلام عليكم ورحمة الله وبركاته 
    طرحنا مسابقة عالم البرمجة للنقاش الهادف ، و هدفنا إثراء المحتوى العربي في مجال البرمجة ، فاز معنا الطرح المتميز و المفيد حيث قام بتقييم المقالات وترقيتها فريق عالم البرمجة سنذكر بهذه المقالة الفائزين معنا ، و مقالاتهم ، و نشكرهم على ماقدموا من فائدة للجميع ، و إثراء المحتوى العربي في البرمجة.
    الفائزون في شهر March-2017
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    في الختام:
    هدفنا في موقع عالم البرمجة إثراء المحتوى العربي في مجال البرمجة ، و تعزيز حب المساعدة بين المبرمجين تستطيع كتابة ماتحب في ساحات النقاش ، و يمكن تكون احد الفائزين معنا  بمسابقة عالم البرمجة للنقاش الهادف فهي مازالت مستمره ايضا تستطيع مساعدة المبرمجين بالإجابة عن أسئلتهم ، و حل المشاكل التي تواجههم بقسم سؤال وجواب ؛ لتكون مرجع لبقية المبرمجين شعارنا في عالم البرمجة "إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة." -ابن القيم-  وممكن تستفيد من
    حبيبي القارئ اعلم ان فريق عالم البرمجة يصب كل جهودة لمساعدة المبرمجين الذين يخصصون من وقتهم لنشر العلم المفيد ويساعدون الغير ويارب يقدرنا نوقف معكم ونساعدكم قد مانقدر.
    مستوى المقال: مبتدئ
  6. السلام عليكم ورحمة الله وبركاته
     
    لحياه أسهل قم بتطوير اختصاراتك من خلال 3 خطوات بسيطه : 
     
    1-  افتح Terminal و اكتب الامر التالي لذهاب للمسار الرئيسي (~)
    cd 2- اكتب الامر التالي لتعديل على ملف (bash_profile)
    nano .bash_profile 3 - داخل ملف (bash_profile) اكتب :
    alias alias_name="command_to_run"  
    أستبدال  alias_name بالاختصار  و command_to_run الامر المراد تنفيذه عند كتابة الاختصار .
     
    مثال / داخل ملف (bash_profile) اكتب :
    alias back="cd .."  الان عند تنفيذ امر back سينفذ امر cd .. 
     
    معاذ صالح
    https://twitter.com/moathdev
    مستوى المقال: مبتدئ
  7. تقدم مجموعة برمج يوم ( ١ أبريل ) ورش عمل متنوعة للاردوينو من خلال عدة محاور تشمل التالي :
    مقدمة عن آردوينو شرح لكيفية إستخدام الحساسات مشروع قياس مستوى المياه في الخزان مشروع توجية السائقين للمواقف الفارغة مشروع تغيير زاوية ميلان الألواح الشمسية مشروع حول انترنت الأشياء (IoT) وذلك بمناسبة حدث #يوم_الاردوينو العالمي باعتماد من الموقع الرسمي ليوم اردوينو العالمي :

    وذلك في الرياض باستضافة مايكروسوفت مع وجود بث وتسجيل فيديو للورش.

    ولمشاهدة صفحة ورش العمل من برمج وللتسجيل في ورش العمل من خلال هذا الرابط :
    parmg.org/arduino-day
    ويمكنك متابعة حساب برمج في تويتر @parmg_sa للمزيد من اللقاءات والفعاليات المتعلقة بالبرمجة

    مستوى المقال: مبتدئ
  8. بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته
    بعد ما انتهينا من جميع المراحل السابقة –مراحل التحليل الثلاثة و توليد اللغة المتوسطة– وصلنا الى النهاية أو مايسمى أيضاً بـ مرحلة التركيب والتي تحتوي على مرحلة  اختيارية وأخرى نهائية.
     

     
    #مرحلة تحسين الأكواد | Code Optimization
    هي خطوة اختيارية في تصميم المترجم ، وكما قلنا سابقاً انها تتولى مهمة تحسين الأكواد بإزالة التكرار وماشابه ، وهذه الخطوة تؤثر بالتأكيد في جودة المترجم بشكل عام وبالخطوة التي تليها.
     
    #مرحلة توليد التعليمات البرمجيّة | Code Generation
    مرحلة توليد التعليمات البرمجية هي الخطوة   الأخيرة في المترجم التي تحول الكود البرمجي المكتوب بلغة برمجية سهلة الفهم للانسان الى لغة تفهمها الآلة لكي تقوم الآلة بتنفيذ الاوامر البرمجية المكتوبة.
    ومن أهم المهام الأساسية التي يتم الأخذ بها في هذه المرحلة هي:
    [1]  اختيار التعليمات | Instruction selection
    مستوى تعقيد عملية التحوّل من اللغة المتوسطة الى اللغة الهدف يختلف باختلاف بعض العناصر التي يتم اختيارها ، وهي :
    مستوى تمثيل اللغة المتوسطة intermediate representation التي ذكرناها في التدوينة السابقة. طبيعة التعامل مع نوع البيانات. نوع اللغة الهدف التي سيتم التحوّل لها ( سرعتها وحجمها ). [2]  التخزين وحجز الأماكن | Registers allocation
    مولّد التعليمات البرمجية هو المسؤول عن تهيئة وحجز جميع مايتعلق بالكود المكتوب من متغيرات وغيره.

     
    [3]  ترتيب الأوامر | Instruction ordering
    اختيار الترتيب الذي تتم فيه حساب العمليات وتنفيذ الأوامر يؤثر على فعالية البرنامجة بصيغته النهائية المفهومة للآلة والقابلة للتنفيذ ، فـ طريقة الترتيب قد تقلل من عدد الـ Registers المستخدمة ومنها مايحتاج عدد أكبر.
     
    ولكتابة الكود او التعليمات البرمجية بطريقة تكون مفهومة للآلة فستعاملنا سيكون بشكل مباشر مع الـ
    registers و adresses.
     
    ومثال على هذه الأوامر :
    لعمليات التخزين والاستعادة ( LD – ST )  للعمليات الحسابية (ADD – SUB ..etc) لعمليات التنقل ( BR ) وغيرها .. 
    #مثال بسيط على تطبيق هذه الأوامر
    x = y + z  هذه العملية البسيطة ستكتب كالتالي :
    LD R1, y LD R2, z ADD R1, R1, R2 ST x, R1  
    وبانتهاء هذه المقاله ، تكون سلسلة شرح مراحل المترجم قد اكتملت.
    اتمنى أن اكون وُفّقت في ذلك.
    مستوى المقال: متوسط
  9. بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته
    وصلنا الى آخر خطوة في مرحلة التحليل في المترجم وهي التحليل الدلالي semantic analysis والتي تسمى أيضا بـ Intermidiate code generater وبذلك نكون قد اقتربنا جدا من وصولنا الى الهدف من  المترجم وهو الوصول الى لغة تفهمها الآلة. 
     

     

     
    مرحلة التحليل الدلالي semantic analysis تستخدم مخرجات الخطوات السابقة ، وهي tokens من مرحلة التحليل المعجمي و الهيكل الدلالي من مرحلة تحليل بناء الكلمة ، وتكمن أهمية مرحلة التحليل الدلالي في أنها مسؤولة بشكل اساسي على التأكد من خلو الأكواد البرمجية من الأخطاء المتعلقة بالنوع ، مثل اسناد القيم الى المتغيرات و مؤشر – index – المصفوفة array يكون من نوع intt ولا يقبل ان يكون مثلا عدداً عشرياً وهكذا.
     
    #التحقق من النوع Type checking:
    التحقق من النوع يتطلب أن يكون كل جزء من الكود البرمجي محدد له نوع وهذا يتطلب أن يكون معلوماً للمترجم هذه الأنواع حتى يتم التحقق بشكل صحيح. ومهمة التحقق من النوع Type checking لها امكانية اكتشاف الاخطاء الموجودة في البرنامج المكتوب بلغة المصدر.
    وهناك شكلين من أشكال التحقق من النوع في لغات البرمجة :
    - Synthesis : وهي أن يكون النوع معرّف مسبقا لكل متغير مثل ;int x وهذا النوع ينطبق على لغة جافا و c  وغيرها.
    - Inference : وهي أن يتم معرفة نوع المتغير عن طريق طريقة استخدامه ، مثلا اذا وُجد “x = “hanan فهذا يعني أن المتغير x هو من نوع String. وهذا النوع ينطبق على لغة python.
     
    #Intermediate code language:
    لماذا نحتاج الى وجود لغة وسيطة (Intermediate code language ) بين لغة المصدر ولغة الهدف في المترجم!؟ من احدى الاسباب أن الاجهزة بشكل عام تحتلف في target languagee فذلك يتطلب ان نكتب لكل جهاز مترجم خاص به من الصفر ، أما وجود Intermediate code languagee فهذا سيحل لنا هذه المشكلة وسنحتاج فقط الى تغيير واعادة كتابة جزء مرحلة التركيب ، أما مرحلة التحليل فتكون ثابتة.
    Intermediate code language لها العديد من الأشكال التي تُمثّل بِها ، منها ماهو قريب من لغة المصدر  ومنها قريب للغة الهدف ومنها مايأتي على شكل تصويري بياني ومنها أيضا مايأتي على شكل خطي ( نصّي ) ومن هذه الأنواع :
    - (Abstract Syntax Trees (AST وهي نفسها الـ parse tree الموجودة في مرحلة تحليل بناء الكلمة.
    - (Directed Acyclic Graphs (DAG هي نفسها (Abstract Syntax Trees (AST لكن بدون تكرار.
     

     
     - Three address وهي تحتوي على ثلاثة مُعاملات وعملية واحدة ، و تعد قريبة من لغة الآلة ومن طرق تمثيلها  spim
    مثال : 
    t1 <- 2 t2 <- y t3 <- t1 * t2 t4 <- x t5 <- t4 – t1  
    للإستزادة (Compilers Principles Techniques and Tools (2nd Edition .
    مستوى المقال: محترف
  10. كيف للبيانات الضخمة (Big Data) أن تساهم في الرعاية الصحية 
    اذا اردت ان تعرف كيف يمكن للبيانات الضخمة Big Data أن تفيد المجتمع وتجعل من هذا العالم مكاناً أفضل ،إليك إسهاماتها واتجاهاتها في مجال الرعاية الصحية ولنختص في حديثنا الملف الطبي الالكتروني Medical File System
     
    فلقد شهد هذا العقد تقدما كبيرا في كمية البيانات التي تنتج بشكل روتيني وجمعها إلى حد كبير لكل ما نقوم به، وكذلك قدرتنا على استخدام التكنولوجيا لتحليل وفهم ذلك.
    تقاطع هذه الاتجاهات هو ما نسميه "البيانات الضخمة" وشاهدنا كيف ساعدت الشركات في كل صناعة لتصبح أكثر كفاءة وإنتاجية.
     
    مجال الرعاية الصحية ليس بعيداً عن ذلك. ولكننا نتحدث هنا عن ماهو أعمق من زيادة الأرباح وقطع النفقات، بل مساهمتها في التنبؤ بالأوبئة، وعلاج المرضى، وتحسين نوعية الحياة وتجنب مايمكن تجنبه من الوفيّات.
    ومع تزايد عدد السكان في العالم، تقود البيانات الضخمة العديد من القرارات والتغييرات في تقديم الرعاية الصحية.
     
    في الملف الطبي الالكتروني، تجمع البيانات الضخمة يومياً، في جداول كبيرة ومتفرعة كأعمار المرضى، التاريخ المرضي لهم، و تفاصيل الخطة العلاجية وغيرها الكثير
    كل ذلك يحفظ في قواعد بيانات متطورة في نظام الملف الطبي الالكتروني.
    ومن هنا يتمكن الباحثين والطلبة بإستخراج البيانات من النظام وإنشاء الدراسات والاحصائيات والتي يمكن تحليلها لتوفير معلومات قيمة حول الاتجاهات العامة في مجال الصحة العامة وتطوير الرعاية الصحية للمجتمع.
     
    الوقاية خير من العلاج
     
    لن يتم التعامل مع بيانات شخص ما في عزلة. سيتم مقارنتها وتحليلها إلى جانب آلاف آخرين، ويتم تسليط الضوء على قضايا محددة من خلال الأنماط التي تظهر خلال المقارنة. وهذا يتيح وضع نماذج تنبؤية متطورة  تكون قادرة على تقييم النتيجة المحتملة مدعومة ببيانات عن المرضى الآخرين من نفس الحالة وفي إطار عوامل وراثية وأسلوب حياة مشترك.
    هذا يقود إلى فكرة التعاون بين أصحاب المهن الطبية ومن يعمل في مجال البيانات الضخمة لتمكين التعرف على المشكلات قبل حدوثها.
    وأحد الأمثلة التي شكلت مؤخرا من هذا التعاون هو تحالف البيانات الصحية بيتسبرغ - والذي يهدف إلى أخذ البيانات من مصادر مختلفة (مثل السجلات الطبية والتأمين، وأجهزة الاستشعار التي يمكن ارتداؤها، البيانات الجينية وحتى استخدام وسائل التواصل الإجتماعية) لرسم صورة شاملة للمريض كفرد، من أجل تقديم حزمة من الرعاية الصحية.
     
    الخصوصية والأمن
     
    من أبرز التحديات أمام بناء معايير الخصوصية والأمن التوصل إلى توازن بين مرونة استخدام البيانات من جانب وبين الخصوصية والسرية الخاصة بتلك البيانات من جانب آخر، وكون الخصوصية وسرية المعلومات من حقوق المريض الأساسية فمن الضروري الأخذ بعين الإعتبار تطبيق نظم تحكم كيفية وطبيعة ومستخدم تلك البيانات.
     وعلى الرغم من ذلك، قراصنة الإنترنت يستهدفون دائما وبشكل خاص السجلات الطبية، ويقال يمكنك كسب المال من سرقة البيانات الصحية أكثر من سرقة بيانات بطاقة الائتمان. في فبراير ٢٠١٤م، وقعت أكبر سرقة بيانات تختص بالرعاية  الصحية، حيث سرق قراصنة السجلات المتعلقة ب 80 مليون مريض من ثاني أكبر شركة تأمين صحية في الولايات المتحدة. لحسن الحظ أنها لم تكن إلا سرقة معلومات الهوية مثل الأسماء والعناوين والتفاصيل حول الأمراض والعلاجات ولم تكن هذه البيانات عرضة للخطر.
     
    وعلى الرغم من ذلك، فإن الاحتمالات جيدة في أنه يمكن للبيانات الضخمة أن تجلب تطور كبير في مجال الرعاية الصحية، طالما يمكن الحفاظ على خصوصية وأمن البيانات، فمن المؤكد أنها ستلعب دورا كبيرا في تطوير علاجات جديدة وزيادة وعي المجتمع وتحسين جودة الحياة.
     
     
    كتب بواسطة:
    لمياء الشمري
    مستوى المقال: مبتدئ
  11. السلام عليكم ورحمة الله وبركاته 
    طرحنا مسابقة عالم البرمجة للنقاش الهادف ، و هدفنا إثراء المحتوى العربي في مجال البرمجة ، فاز معنا الطرح المتميز و المفيد حيث قام بتقييم المقالات وترقيتها فريق عالم البرمجة سنذكر بهذه المقالة الفائزين معنا ، و مقالاتهم ، و نشكرهم على ماقدموا من فائدة للجميع ، و إثراء المحتوى العربي في البرمجة.
    الفائزون في شهر February-2017
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    المقال الفائز:
    في الختام:
    هدفنا في موقع عالم البرمجة إثراء المحتوى العربي في مجال البرمجة ، و تعزيز حب المساعدة بين المبرمجين تستطيع كتابة ماتحب في ساحات النقاش ، و يمكن تكون احد الفائزين معنا  بمسابقة عالم البرمجة للنقاش الهادف فهي مازالت مستمره ايضا تستطيع مساعدة المبرمجين بالإجابة عن أسئلتهم ، و حل المشاكل التي تواجههم بقسم سؤال وجواب ؛ لتكون مرجع لبقية المبرمجين شعارنا في عالم البرمجة "إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة." -ابن القيم-  وممكن تستفيد من
    حبيبي القارئ اعلم ان فريق عالم البرمجة يصب كل جهودة لمساعدة المبرمجين الذين يخصصون من وقتهم لنشر العلم المفيد ويساعدون الغير ويارب يقدرنا نوقف معكم ونساعدكم قد مانقدر.
    مستوى المقال: مبتدئ
  12.  مؤخرا نسمع كثيرا عن مصطلح البيانات الضخمة Big Data و سرعة انتشار هذا المجال في سوق العمل.
    و لكن هل تساءلنا ما هي البيانات الضخمة  Big Data؟ لكي نتفق مبدئيا هناك اكثر من تعريف لمصطلح البيانات الضخمة Big Data وكما أوضح الاتحاد الدولي
    للاتصالات(ITU) بأنه لا يوجد تعريف دقيق للبيانات الضخمة . و بشكل عام فإننا حين نتحدث عن البيانات الضخمة فنحن نتحدث عن بيانات متعددة الأنواع والمصادر والأحجام.


    تعريف:

    قبل ان نتطرق لتعريف البيانات الضخمة، يجب علينا معرفة ما هي البيانات؟

    البيانات Data: هي الصورة الخام للمعلومات قبل عمليات الفرز والترتيب والمعالجة ولا يمكن الاستفادة منها بصورتها الأولية قبل المعالجة. 
    و يمكن ان تقسم البيانات الخام الى ثلاثة انواع:
    بيانات مهيكلة: وهى البيانات المنظمة في جداول او قواعد بيانات. بيانات غير مهيكلة: تشكل النسبة الأكبر من البيانات، وهى البيانات التي يولدها الأشخاص يوميا من كتابات نصية وصور وفيديو ورسائل ونقرات على مواقع الانترنت... الخ. بيانات شبه مهيكلة: تعتبر نوعا من البيانات المهيكلة الا ان البيانات لا تكون في صورة جداول او قواعد بيانات.  
    و الآن ما هي البيانات الضخمة؟
     
    يعرف الخبراء البيانات الضخمة بأنها أي مجموعة من البيانات التي هي بحجم يفوق قدرة معالجتها باستخدام أدوات قواعد البيانات التقليدية من التقاط، ومشاركة ونقل، وتخزين، وإدارة و تحليل في غضون فترة زمنية مقبولة لتلك البيانات؛ و من وجهة نظر مقدمي الخدمات، هي الأدوات والعمليات التي تحتاجها المنظمات للتعامل مع كمية كبيرة من البيانات لغرض التحليل. الطرفان اتفقا على إنها بيانات هائلة لا يمكن معالجتها بالطرق التقليدية في ظل تلك القيود المذكورة آنفاً.
     
    إليكم بعض التعاريف لمنظمات وجهات عالمية والتي تصف البيانات الضخمة:
     
    تعرف شركة جارتنر (Gartner Inc) المتخصصة في أبحاث واستشارات تقنية المعلومات بأنها "الأصول المعلوماتية كبيرة الأحجام وسريعة التدفق وكثيرة التنوع، والتي تتطلب طرق معالجة مجدية اقتصادياً ومبتكرة من أجل تطوير البصائر وطرق اتخاذ القرارات".
    كما تعرفها شركة (IBM) " تنشأ البيانات الضخمة عن طريق كل شيء من حولنا وفي كل الأوقات كل عملية رقمية وكل تبادل في وسائل التواصل الاجتماعي ينتج لنا البيانات الضخمة، تتناقلها الأنظمة، وأجهزة الاستشعار، والأجهزة النقالة البيانات الضخمة لها مصادر متعددة في السرعة والحجم والتنوع ولكي نستخرج منفعة معنوية من البيانات الضخمة نحتاج إلى معالجة مثالية، وقدرات تحليلية، ومهارات ".
    أما المنظمة الدولية للمعايير(ISO) فتعرفها بأنها  "مجموعة أو مجموعات من البيانات لها خصائصها الفريدة (مثل الحجم، السرعة، التنوع، التباين، صحة البيانات... إلخ) ، لا يمكن معالجتها بكفاءة باستخدام التكنولوجيا الحالية والتقليدية لتحقيق الاستفادة منها" .
    ويعرفها الاتحاد الدولي للاتصالات (ITU)  "يشير مصطلح البيانات الضخمة إلى مجموعات البيانات التي تتميز بأنها فائقة حجماً وسرعة أو تنوعاً، بالقياس إلى أنواع مجموعات البيانات المعهودة الاستخدام" .
     
     
    بسبب الوقت والجهد والتكلفة الكبيرة التي تحتاجها البيانات الضخمة لتحليلها ومعالجتها اضطر التقنيون على الاعتماد على أنظمة الذكاء الاصطناعي Artificial Intelligence التي لديها القدرة على التعلم والاستنتاج ورد الفعل على أوضاع لم تبرمج في الآلة باستخدام خوارزميات معقدة للعمل عليها، بالإضافة إلى استخدام تقنيات الحوسبة السحابية لإتمام عملها.
    عادة يكون المقصود به البيانات الضخمة هي البيانات التي تقاس بالبيتا بايت petabyte (ألف تيرا بايت) أو الايكسا بايت exabyte (مليون تيرابيات)؛ ووفقاً لــ IBM فإنها ابتداءاً من العام 2012 الميلادية فإننا يومياً ننشأ ما يقارب 2.5 كوينتيليون بايت من البيانات الضخمة (كوينتيليون هو الرقم واحد متبوعاً بثمانية عشرة (18)صفر ).

    و للمعلومية تمت اضافة كلمة Big Data الى قاموس Oxford  ككلمة انجليزية مستحدثة.
    تصنيف البيانات الضخمة:
     
    كثير منا يعتقد بأن البيانات الضخمة تصنف وفقا للحجم فقط، في الحقيقة هي تصنف وفقا لمبدأ (3V's) و يتكون من:
     
     
    الحجم Volume:
    و هي حجم البيانات المستخرجة من مصدر ما، وهو ما يحدد قيمة وامكانات البيانات لكي تصنف من ضمن البيانات الضخمة؛ و قد يكون الخاصية الأكثر أهمية في تحليل البيانات الضخمة .كما أن وصفها بالضخمة لا يحدد كمية معينة؛ فكما ذكرنا آنفا بأن الحجم يقاس عادة بالبيتا بايت او بالإكسا بايت. و للمعلومية بحلول العام 2020 سيحتوى الفضاء الإلكتروني على ما يقرب من 40.000 ميتابايت من البيانات الجاهزة للتحليل واستخلاص المعلومات؛ ويقدر أن %90 من البيانات الموجودة في العالم اليوم قد استحدثت خلال السنتين الأخيرتين، بواسطة أجهزة وعلى أيدي بشر ساهم كلاهما في تزايد البيانات.
    التنوع Variety:
    و يقصد بها تنوع البيانات المستخرجة، والتي تساعد المستخدمين سواء كاموا باحثين أو محللين على اختيار البيانات المناسبة لمجال بحثهم و تتضمن بيانات مهيكلة في قواعد بيانات و بيانات غير مهيكلة تأتي من طابعها غير الممنهج، مثل: الصور ومقاطع وتسجيلات الصوت وأشرطة الفيديو والرسائل القصيرة وسجلات المكالمات وبيانات الخرائط (GPS)... وضيرها الكثير؛  وتتطلب وقتاً وجهداً لتهيئتها في شكل مناسب للتجهيز والتحليل.
    السرعة Velocity:
    و يقصد بها سرعة إنتاج واستخراج البيانات لتغطية الطلب عليها؛ حيث تعتبر السرعة عنصراً حاسماً في اتخاذ القرار بناء على هذه البيانات، وهو الوقت الذي نستغرقه من لحظة وصول هذه البيانات إلى لحظة الخروج بالقرار بناء عليها. سابقا كانت الشركات تستخدم لمعالجة مجموعة صغيرة من البيانات المخزنة في صورة بيانات مهيكلة في قواعد بيانات عملية تسمى بال          ” Batch Process“ حيث كان يتم تحليل كل مجموعة بيانات واحدة تلو الأخرى في انتظار وصول النتائج. مع الازدياد الضخم في حجم البيانات وسرعة تواترها أصبحت الحاجة أكثر إلحاحا الى نظام يضمن سرعة فائقة في تحليل البيانات الضخمة في الوقت اللحظي “Real Time“ أو سرعة تقارب الوقت اللحظي. أدت تلك الحاجة الى ابتكار تقنيات وحلول مثل Apache و SAP HANA و Hadoop وغيرها الكثير.
     

     
    كما أضيف مؤخراً لتلك المبادئ الثلاث وفقاً لخصائص البيانات الضخمة "مبدأ صحة البيانات الضخمة": فيمثل التمتع بالقدرة على تقييمها عنصراً جوهرياً في وضع الأساس لاتخاذ القرارات الهامة بناءً عليها. ويجب الأخذ بالاعتبار تباين هذه البيانات وعدم التأكد من صحتها في عملية اتخاذ القرار.
    مصادر البيانات الضخمة:
    قامت اللجنة الاقتصادية لأوروبا، بتقديم تقرير بعنوان ”ماذا تعنيه البيانات الضخمة للإحصاءات الرسمية“  آذار مارس و قد أوردت فيه تصنيفا لمصادر البيانات الضخمة على النحو التالي:
    المصادر الناشئة عن إدارة أحد البرامج، سواء كان برنامجا حكوميا أو غير حكومي، كالسجلات الطبية الإلكترونية وزيارات المستشفيات وسجلات التأمين والسجلات المصرفية وبنوك الطعام. المصادر التجارية أو ذات الصلة بالمعاملات، الناشئة عن معاملات بين كيانين، على سبيل المثال معاملات البطاقات الائتمانية والمعاملات التي تجرى عن طريق الإنترنت بوسائل منها الأجهزة المحمولة. مصادر شبكات أجهزة الاستشعار، على سبيل المثال، التصوير بالأقمار الصناعية، وأجهزة استشعار الطرق، وأجهزة استشعار المناخ. مصادر أجهزة التتبع، على سبيل المثال تتبع البيانات المستمدة من الهواتف المحمولة والنظام العالمي لتحديد المواقع. مصادر البيانات السلوكية، على سبيل المثال، مرات البحث على الإنترنت عن منتج أو خدمة ما أو أي نوع آخر من المعلومات، ومرات مشاهدة إحدى الصفحات على الإنترنت. مصادر البيانات المتعلقة بالآراء، على سبيل المثال، التعليقات على وسائط التواصل الاجتماعي.



    أمثلة من الواقع على البيانات الضخمة:  لدى واتس آب أكثر من مليار مستخدم، و يتم تداول اكثر من 42 مليار رسالة و حوالي 1.6 مليار صورة  بشكل يومي. فيسبوك تتعامل مع أكثر من 50 مليار صورة من مستخدميها. جووجل Google تتعامل مع حوالي 100 مليار عملية بحث في الشهر.

    أهمية البيانات الضخمة: 
    للبيانات الضخمة اهمية عالية فهي تقدم ميزة تنافسية عالية للشركات اذا استطاعت الاستفادة منها ومعالجتها لأنها تقدم فهما أعمق لعملائها ومتطلباتهم ويساعد ذلك على اتخاذ القرارات المناسبة و الملائمة داخل الشركة بطريقة أكثر فعالية و ذلك بناء على المعلومات المستخرجة من قواعد بيانات العملاء وبالتالي زيادة الكفاءة والربح وتقليل الخسائر.
    فباستخدام تقنيات و أدوات تحليل البيانات الضخمة استطاعت وول مارت  تحسين نتائج البحث عن منتجاتها عبر الأنترنت بنسبة 10-15% بينما في تقرير لماكينزى-وهى شركة رائدة في مجال استشارات الاعمال- ان القطاع الصحي بالولايات المتحدة لو كان يستخدم تقنيات تحليل البيانات الضخمة بفاعليه وكفاءه لكان قد أنتج أكثر من 300 مليون دولار أمريكى كفائض سنوى من ميزانيه الصحة ثلثيها بسبب خفض تكاليف الانفاق بنسبة 8%(1).

     
    الخاتمة:
     
    في زمننا هذا نشهد انفجارا ضخما في البيانات فتحليل و معالجة هذه البيانات يزيد بشكل رئيسي في فهم و استيعاب متطلبات العملاء و بالتالي زيادة الكفاءة و الانتاجية و تقليل الخسائر بالنسبة للشركات. إلا أن هنالك العديد من التحديات والمعوقات التي تعيق استخدام البيانات الضخمة أو التوسع في استخدامها والتي ممكن تناولها في مقال آخر بإذن الله تعالى . ومع مرور الوقت والتقدم التكنولوجي، فمن المتوقع إحراز تقدم كبير فيما يتعلق بمعالجة تحديات ومعوقات استخدام البيانات الضخمة بشكل أوسع.


    و في النهاية اتمنى ان تكون هذه المقالة قد لاقت اعجابكم و أن تثري المحتوى العربي على الانترنت.
     
    المصادر:
    1- Mckinsey&Company: Big Data: The next frontier for innovation,competition and productivity. May 2011
    مستوى المقال: مبتدئ

عالم البرمجة

عالم البرمجة مقالات برمجة و دورات مجانية لإحتراف البرمجة هدفنا تبسيط البرمجة ونشرها بيد الكل بشكل ممتع ومتطور ومحدث بإستمرار لمواكبة جديد تطورات البرمجة الحديثة و المتقدمة بدون مقابل