لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 07/27/23 في كل الموقع
-
السلام عليكم الدكاء الاصطناعي وعلاقه بامن المعلومات ؟ وهل الهكر الاخلاقي لو اتعلم مجال تعليم الاله هيفرق معه ؟2 نقاط
-
أنا في كورس تطوير واجهات المستخدم ولكن تواجهني مشكلة في JS أنني فقط أقوم باتباع الكود الذي يكتبه الأستاذ ولكن لا أفهم بالظبط ما نقوم بكتباته أو أفهمه ولكن لا أستطيع كتابته أنا أو غيره بمفردي فكيف اعالج هذه المشكلة؟ وأحيانا تواجهني مشاكل ولا أستطيع حلها لأنني لا أفهم ما أكتب وماذا نكتب وماذا يجب علي كتابته. شكرا! مع أطيب التحيات.2 نقاط
-
ما هي افضل cms ل ادارة موقع تعليمي يتضمن الصلاحيات وتوزيع المهام واضافة وحذف وتعديل على الموقع ماهو الخيار المناسب ايضا في مثلا هذه الحالة ولكم جزيل الشكر2 نقاط
-
1 نقطة
-
برأيكم هل اختياري لدورة علوم الحاسب سيكون ضروريا قبل دورة تطوير التطبيقات باستخدام لغة JavaScript او يمكنني البداية بدورة تطوير التطبيقات باستخدام لغة JavaScript1 نقطة
-
اريد البدء في تعلم البرمجة و رأيت العرض الخاص بالدورتين بسعر دورة واحدة مع العلم انني ليس لدي اي خبرة سابقة بمجال البرمجة ابدا و قمت بقراءة الصفحة الخاصة ب" تعلم الترجمة والمساعدة في الاختيار " ولكني لم اصل لنتيجة … اني ارغب في تعلم لغة java script فهل البداية مباشرة بهذه الدورة كافي لتعلم اللغة و تطبيق المشاريع او يجب القيام بدورة اخرى قبلها كدورة علوم الحاسب او تطوير واجهة المستخدم …. الرجاء مساعدتي في الاختيار والرد على استفساراتي لاستطيع شراء الدورات المناسبة و البدء في التعلم و شكرا لكم1 نقطة
-
شكرا لحضرتك على اهتمامك رغبتي الاساسية هي انشاء تطبيقات لمختلف المنصات وبذلك يمكنني البدء بدورة علوم الحاسوب و من ثم دورة تطوير التطبيقات باستخدام لغة JavaScript … ارجو ان اكون قد فهمت على حضرتك بالشكل المطلوب و ان كان فهمي للامر غير دقيق ارجو التوضيح لو سمحت وشكرا لحضرتك مرة اخرى1 نقطة
-
شكرا لك صديقي …. هل معنى كلام حضرتك انه يمكنني البدء بدورة علوم الحاسب و عند ما انتهي منها ابدا بدورة جافا سكريبت ( ان فهمت الامر بشكل صحيح ) ؟ ولدي سؤال اخر صديقي ، انه لا امتلك ايه خبرة سابقة ولا اي معرفة بمجال البرمجة فهل اختياري للدورات صحيح و يمكنني من تعلم البرمجة بدون خبرة ولا معرفة سابقة بالبرمجة ؟ وشكرا لحضرتك على اهتمامك1 نقطة
-
وعليكم السلام الذكاء الاصطناعي (AI) هو مجموعة من التقنيات التي تهدف إلى إنشاء أنظمة قادرة على تفهم، التعلم، التفكير واتخاذ القرارات بشكل مشابه للإنسان. يتضمن الذكاء الاصطناعي العديد من التطبيقات المختلفة، ومنها يأتي أمن المعلومات. تعتبر الذكاء الاصطناعي أداة مهمة في مجال أمن المعلومات والسيبرانية، ولها القدرة على تحسين أمان الأنظمة والبيانات ومكافحة الهجمات الإلكترونية. هناك عدة طرق يمكن للذكاء الاصطناعي أن يساهم بها في تعزيز أمن المعلومات:- التعرف على الهجمات يمكن للذكاء الاصطناعي أن يتعلم من النماذج السلوكية للهجمات والتعرف على أنماط غير طبيعية تشير إلى وجود هجوم أو نشاط غير مرغوب فيه. الكشف المبكر من خلال تحليل البيانات والسجلات الضخمة، يمكن للذكاء الاصطناعي التنبؤ بالهجمات المحتملة وتحذير فرق أمان المعلومات قبل وقوعها. تعزيز نظم الكشف والاستجابة يمكن للذكاء الاصطناعي تحسين أنظمة الكشف التي تراقب الشبكات والأنظمة المختلفة، وتحديد التهديدات والهجمات بسرعة أكبر مما يمكن للإنسان القيام به. تحسين الأمان البيولوجي يمكن استخدام تقنيات الذكاء الاصطناعي في التحقق البيولوجي والوجه للتحقق من هوية المستخدمين والتأكد من أن الأشخاص المصرح لهم فقط يمكنهم الوصول إلى المعلومات الحساسة. تحسين الحماية من البرمجيات الخبيثة يمكن للذكاء الاصطناعي تحليل نماذج البرمجيات الخبيثة والملفات المشبوهة للكشف عنها ومنع اختراقها. ومع ذلك، يجب الانتباه إلى أن الذكاء الاصطناعي ليس حلاً كاملاً، وينبغي دمجه مع الأساليب الأخرى لأمن المعلومات مثل التحقق الثنائي، وتحديث البرامج، والتدريب الأمني للموظفين. تتطلب الأمان السيبراني جهوداً شاملة للوقاية من التهديدات وحماية المعلومات الحساسة.1 نقطة
-
وعليكم السلام موجو (Mojolicious) ليست لغة برمجة بذاتها، بل هي إطار عمل (framework) مكتوب بلغة بيرل (Perl)، وتستخدم لتطوير تطبيقات الويب وخدمات API. يهدف إطار العمل موجو إلى تسهيل بناء تطبيقات ويب عالية الأداء والمتطورة بسهولة وسرعة. أما بالنسبة للتحليلات البيانات والذكاء الاصطناعي، فإن اللغة الأكثر شيوعاً واستخداماً في هذا المجال هي Python. لاحظت أنك قد تعلمت لغة Python، وهذا جيد جدًا، حيث تُعتبر Python لغة برمجة قوية وسهلة التعلم وتتمتع بدعم واسع في مجالات تحليل البيانات والذكاء الاصطناعي. في مجال التحليلات البيانات، يستخدم Python عادة مكتبات قوية مثل NumPy وPandas للتعامل مع البيانات، ومكتبات مثل Matplotlib وSeaborn لرسم البيانات البيانيّة. كما تتوفر مكتبات مثل Scikit-learn وTensorFlow وKeras لتطبيق تقنيات تعلم الآلة والذكاء الاصطناعي. كما تعتبر Python الاختيار المفضل للعديد من المهندسين والباحثين في مجال تحليل البيانات وتطبيقات الذكاء الاصطناعي بسبب سهولة استخدامه وتوفر العديد من المكتبات والأدوات القوية المساعدة. لذا، إذا كنت قد بدأت بالفعل في تعلم Python، فإنه سيكون خياراً ممتازاً للاستمرار في تطوير مهاراتك في مجال التحليل البيانات والذكاء الاصطناعي.1 نقطة
-
وعليكم السلام الذكاء الاصطناعي هو مجال علمي يهدف إلى تطوير أنظمة تكنولوجية تظهر سلوكًا يُعتبر ذكاءً بشريًا. يمكن القول إن الذكاء الاصطناعي يتألف في جوهره من البرمجيات (الشفرة أو الكود) التي تم إنشاؤها لتنفيذ وتنظيم العمليات المعقدة واتخاذ القرارات بناءً على البيانات المتاحة لها. ولكن على الرغم من أن الكود هو الجزء الأساسي من الذكاء الاصطناعي، إلا أن هناك جوانبًا أخرى هامة في تطوير نظم الذكاء الاصطناعي. على سبيل المثال، يشمل ذلك: البيانات يعتمد أداء أنظمة الذكاء الاصطناعي بشكل كبير على البيانات التي تم تدريبها عليها. يتم استخدام مجموعة كبيرة من البيانات لتعليم النماذج والخوارزميات الذكاء الاصطناعي. الخوارزميات تشمل الذكاء الاصطناعي مجموعة واسعة من الخوارزميات التي تستخدم لتحليل البيانات وتعلم منها واتخاذ القرارات. هذه الخوارزميات تعتبر جزءًا مهمًا من النظم الذكاء الاصطناعي. تطبيقات الذكاء الاصطناعي يتم استخدام الذكاء الاصطناعي في تطبيقات مختلفة، مثل تحسين محركات البحث، وتطبيقات التعلم الآلي، والترجمة الآلية، والألعاب، والروبوتات الذكية، والعديد من المجالات الأخرى. يمكن القول إن الذكاء الاصطناعي يعتمد بشكل رئيسي على البرمجيات والخوارزميات، ولكنه أيضًا يشمل استخدام البيانات وتطبيقات متنوعة لتحقيق وظائفه واستخداماته المختلفة.1 نقطة
-
1 نقطة
-
إن الطريقة لمحاولة حل هذه المشكلة هي محاولة كتابة كود تريده أنت و ليس الكود نفسه الذي شرحه المدرب، و ذلك ﻷنك في حال حاولت كتابة الكود الذي شرحه المدرب غالباً ما ستحاول تذكر ما كتبه و ليس التفكير لوحدك. فكر في كود بسيط تريد كتابته و حاول البدء في ذلك، دائماً يمكنك البحث على الانترنيت في في حال كنت تريد تعليمة محددة، مثلاً كيف نقوم بتحويل int إلى string، و لكن لا تقوم بالبحث عن كامل الحل لوحدك. و في حال كان هناك شيء لم تفهمه في أحد الدروس دائماً يمكنك التعليق أسفل الدرس و سنجيبك مباشرة و نوضح لك كافة الأمور.1 نقطة
-
أرجو منك تعديل روابط مكتبة bootstrap في ملف index.html باستبدال الجزء الأول من الرابط لتحويله من cdn.jsdelivr.net إلى fastly.jsdelivr.net أي تصبح الروابط كالتالي: <link rel="stylesheet" href="https://fastly.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.rtl.min.css" integrity="sha384-+qdLaIRZfNu4cVPK/PxJJEy0B0f3Ugv8i482AKY7gwXwhaCroABd086ybrVKTa0q" crossorigin="anonymous"> <script src="https://fastly.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script> والسبب هو أنه على الأغلب تم حجب الجزء الخاص بالـ Cloudflare network المعتمد عليه موقع jsdelivr ، وقد حدث ذلك في مصر.1 نقطة
-
الأمر بسيط، ستتجه إلى صفحة الدورات في أكاديمية حسوب للتعرف عليها وإختيار الدورة المناسبة للمجال الذي تريد التخصص به: https://academy.hsoub.com وأنصحك بقراءة التالي: وبعد إختيار الدورة المناسبة لك، ستجد في صفحة الدورة زر اشترك الآن كالتالي: ولكن ذلك في حالة عدم وجود عروض، وحاليًا يوجد العرض الصيفي وتفاصيله هي الحصول على دورتين بتكلفة دورة واحدة ورابط العرض هو التالي: https://academy.hsoub.com/offers/summer-2023 بعد التوجه للرابط اضغط على زر اشترك الآن، أو قم بالنزول لأسفل وستجد القسم الخاص بإختيار الدورتين وخانات إدخال بيانات البطاقة الإئتمانية ( يجب أن تكون من نوع Debit أو Credit وليس Prepaid) الخاص بك كالتالي: وأخيرًا اضغط على اشترك الآن. وفي حال أردت الدفع بوسيلة أخرى مثل باي بال أو بطاقة الهدية فعليك بالتواصل مع مركز المساعدة في أكاديمية حسوب ليتم مساعدتك. وأنصحك بالإطلاع على قاعدة المعرفة وستجد به الكثير من الإجابات على الأسئلة لديك: https://support.academy.hsoub.com1 نقطة
-
الموقع سرعته جيدة ولا مشكلة في تصفحه، وأرى أنك تستخدم Blogger وهنا لا تتوفر الإضافات المخصصة لتهيئة الموقع مثل ووردبريس، ولكن هناك بعض الأمور التي يمكنك القيام بها وهي: استخدم قالبًا سريعً فبعض القوالب أسرع من غيرها، لذا من المهم اختيار قالب سريع إذا كنت تريد تحسين سرعة موقعك. قم بضغط الصور حيث الصور هي أحد أكبر العوامل التي تؤثر على سرعة موقعك، ويمكنك ضغط الصور لتقليل حجمها دون التأثير على جودتها من خلال صيغة webP. تجنب استخدام الكثير من JavaScript وCSS. JavaScript وCSS فقد تبطئ موقعك إذا تم استخدامها بكثرة، حاول تقليل استخدامهما قدر الإمكان. تخزين الصور في ذاكرة التخزين المؤقت (الكاش) فتخزين الصور في ذاكرة التخزين المؤقت يساعد في تحسين سرعة موقعك عن طريق تقليل عدد المرات التي يحتاج فيها المتصفح إلى تحميل الصور, كالتالي: اختر القالب لديك ثم اضغط على Edit HTML، ثم ابحث عن عنصر <head> وبداخله أضف الكود التالي: <include expiration='7d' path='/assets/**.css'/> <include expiration='7d' path='/assets/**.js'/> <include expiration='3d' path='/assets/**.gif'/> <include expiration='3d' path='/assets/**.jpeg'/> <include expiration='3d' path='/assets/**.jpg'/> <include expiration='3d' path='/assets/**.png'/> استخدم شبكة توصيل المحتوى (CDN). مثل كلاود فلير وهي مجموعة من الخوادم موزعة في جميع أنحاء العالم، ويساعد ذلك في تحسين سرعة موقعك عن طريق تحميل الصور من الخادم الأقرب إلى الزائر.1 نقطة
-
لتحسين سرعة موقعك وفي الوقت نفسه استخدام شفرات إعلانات AdSense، يمكنك اتباع بعض النصائح التالية:- ضغط الملفات قم بضغط ملفات CSS و JavaScript الخاصة بموقعك لتقليل حجمها. يمكنك استخدام أدوات مثل Gzip لضغط الملفات. تقليل حجم الصور قم بتحسين وضغط الصور المستخدمة في الموقع. يمكنك استخدام أدوات عبر الإنترنت مثل TinyPNG لضغط الصور بفقدان ضئيل للجودة. استخدم خدمة توصيل المحتوى (CDN) قم بتكوين شبكة توصيل المحتوى لموقعك باستخدام خدمة CDN مثل Cloudflare. ستساعدك هذه الخدمة في توفير المحتوى من أقرب نقطة للمستخدم وتقليل وقت التحميل. تأكد من استخدام تقنية التخزين المؤقت قم بتكوين تقنية التخزين المؤقت (caching) للموقع الخاص بك. يمكنك استخدام أدوات مثل Varnish Cache أو WP Super Cache إذا كنت تستخدم WordPress. قم بتحسين قاعدة البيانات تأكد من أن قاعدة البيانات الخاصة بموقعك مُحسَّنة ومُنظَّمة بشكل صحيح. يمكنك استخدام أدوات مثل MySQLTuner لتحسين أداء قاعدة البيانات الخاصة بك. احذر من تحميل زائد للإعلانات قم بمراجعة عدد الإعلانات التي تعرضها على صفحات موقعك. قد يؤدي وجود عدد كبير من الإعلانات إلى بطء تحميل الصفحة. حاول الحد من عدد الإعلانات وتحسين تخطيطها. قم بتحديث المنصة والإضافات تأكد من أن المنصة الأساسية لموقعك (مثل WordPress) والإضافات المستخدمة مُحَدَّثَة إلى أحدث الإصدارات. قد يتم تحسين أداء الموقع وتحسين سرعته من خلال التحديثات. قم بإجراء اختبارات الأداء المنتظمة استخدم أدوات اختبار الأداء مثل Google PageSpeed Insights أو GTmetrix لقياس سرعة الموقع وتحليل النقاط التي يمكن تحسينها. مع مراعاة هذه النصائح، يجب أن يساعدك في تحسين سرعة موقعك بشكل عام بينما تستخدم شفرات إعلانات AdSense. ولكن يجب ملاحظة أن الشفرات الإعلانية قد تؤثر قليلاً على سرعة التحميل، لذا قد ترغب في مراقبة الأداء والتأكد من عدم تأثيرها سلبًا بشكل كبير على تجربة المستخدم.1 نقطة
-
تعرفنا في المقال السابق على مفهوم الذكاء الاصطناعي وناقشنا فكرة خطر الذكاء الاصطناعي ونكمل في هذه السلسلة برمجة الذكاء الاصطناعي الحديث عن البرمجة والتعرف عليها وعلى الخوارزميات المرتبطة بها ونبحث علاقتهما بالذكاء الاصطناعي. ما هي البرمجة؟ إذا كنت تتوقع زيارة صديق لك، فقد تكتب له عنوانك بالكامل، وإذا كان العنوان صعب الوصول، فمن الممكن أن تكتب العنوان له على صورة مجموعة من التعليمات للوصول إلى منزلك مثل: عندما تصل إلى ناصية الشارع، اتجه إلى اليمين امش عشر خطوات، ثم اتجه إلى اليمين مرةً أخرى اُدخل أول منزل من جهة اليسار اصعد إلى الدور الثاني فالبرمجة هي الشيء نفسه تمامًا مع الحاسوب، فبدلًا من الخطوات السابقة، تُكتب تعبيرات مشابهة تخاطب الحاسوب بلغة برمجة لتنفيذ مهمة مشابهة بدلًا من صديقك السابق. تُعَدّ لغات البرمجة مجموعةً من المفردات والقواعد اللغوية التي تمثِّل لغةً وسيطةً للتخاطب مع الحاسوب وأمره بتنفيذ تعليمات وأمور محدَّدة، فلا الحاسوب يفهم لغة البشر، ولا البشر يفهمون لغة الحاسوب، إذ لا تخرج لغة الحاسوب في الأصل خارج حدود الصفر والواحد، وهي الشحنة الكهربائية الموجبة والشحنة الكهربائية السالبة، لكن لا أحد يستطيع التعامل مباشرةً مع تلك اللغة؛ لذا كانت هنالك حاجة ملحة لوجود لغة وسيطة يفهمها كلا البشر والآلة؛ ونتيجةً لذلك فقد اُخترعت لغات البرمجة، وهي نوعان منخفضة المستوى وعالية المستوى. إذا أردنا أمر الحاسوب بالأمر "افعل كذا" بعبارة أخرى، فسنحتاج إلى لغة مشتركة بيننا وبينه ليفهم ما نبتغيه، وهنا يأتي دور لغات البرمجة، إذ يمكنك عَدّ لغات البرمجة بأنها الوسيط بين المبرمج والحاسوب، فوحدة المعالجة المركزية للحاسوب CPU غير قادرة على التحدث بأية لغة في الأصل غير لغتها لغة الآلة، وفيما يلي نموذج من تعليمة تعريف متغير يحوي القيمة 97 في لغة الآلة: 10110000 01100001 كان على المبرمجين كتابة برامج مباشرة بلغة الآلة عندما اختُرِعت أجهزة الحاسوب لأول مرة، وهو أمر صعب للغاية ويستغرق وقتًا طويلًا، فكيفية تنظيم هذه التعليمات هو أمر خارج نطاق هذه السلسلة، ولكن من المثير للاهتمام ملاحظة أمرين، أولًا هو أن تكون لغة الآلة كلها تسلسلًا من 1 و0 فقط، إذ يُطلق على كل رقم 0 أو 1 برقم ثنائي binary digit أو اختصارًا بت Bit، كما يختلف عدد وحدات البت Bit أو الأرقام الثنائية التي تكوِّن أمرًا واحدًا، فبعض وحدات المعالجة المركزية CPU مثلًا تعالِج تعليمات يبلغ طولها دائمًا 32 Bit، في حين تحتوي بعض وحدات المعالجة المركزية الأخرى على تعليمات يمكن أن يكون طولها متغيرًا؛ أما ثانيًا، فتُفسَّر كل مجموعة من الوحدات من وحدة المعالجة المركزية للحاسوب لأداء أمر دقيق جدًا فقط مثل موازنة عددين، أو تخزين عدد أو نص في الذاكرة …إلخ. الجدير بالذكر أنّ كل شيفرة تنفيذية أو ثنائية -نسبة إلى الأرقام الثنائية- تعمل على وحدة معالجة مركزية ما ولا تعمل على غيره إلا إن كانت المعالجات تشترك بتعليمات التنفيذ نفسها منخفضة المستوى، ما يعني أنه ليعمل برنامجك المكتوب بلغة الآلة على حاسوب معالجه مختلفة، من المرجح أن يتطلب الأمر مجهودًا مضنيًا، وإعادة كتابة أجزاء كبيرة من الشيفرة لملاءمة حزمة التعليمات التي تفهمها وحدة المعالجة المركزية للحاسوب الآخر. ونظرًا لصعوبة قراءة لغة الآلة وفهمها لأنها مكتوبة بأرقام ثنائية فقط أصفار وواحدات، فقد اختُرِِعت لغة التجميع Assembly Language، بحيث تُحدَّد كل تعليمة باختصار قصير بدلًا من مجموعة من الأرقام الثنائية، كما يمكن استخدام الأسماء والأرقام الأخرى، وإليك التعليمة السابقة المذكورة أعلاه بلغة الآلة مكتوبة بلغة التجميع: mov al, 061h يجعل هذا من لغة التجميع أسهل بكثير للقراءة والكتابة من لغة الآلة، ومع ذلك لا يمكن لوحدة المعالجة المركزية فهم لغة التجميع مباشرةً، حيث يجب ترجمتها إلى لغة الآلة بدلًا من ذلك وقبل تمكِّن الحاسوب من تنفيذه، وذلك باستخدام برنامج يسمى المُجمِّع Assembler، فالبرامج المكتوبة بلغات التجميع تكون سريعةً للغاية غالبًا، ولا تزال لغة التجميع مستخدَمةً إلى اليوم عندما تكون السرعة مطلوبةً ومهمةً في برمجة بعض البرامج. تملك لغة التجميع مع ذلك بعض السلبيات، أولًا: لا تزال لغة التجميع تتطلب الكثير من التعليمات للقيام بمهام بسيطة، في حين أن التعليمات الفردية نفسها قابلة للقراءة إلى حد ما، إلا أنّ فهم ما يفعله البرنامج بأكمله يمكن أن يمثِّل تحديًا يشبه إلى حد ما محاولة فهم جملة من خلال النظر إلى كل حرف على حدة؛ أما ثانيًا، فلغة التجميع لا تزال غير متكيّفة، فمن المحتمل ألا يعمل برنامج مكتوب بلغة التجميع لوحدة معالجة مركزية معينة على وحدات معالجة مركزية أخرى، إذ يجب إعادة كتابة البرنامج أو تعديله على نطاق واسع. طُوِّرت لغات برمجة جديدة مثل C ولغة C++ ولغة PascalK ولاحقًا لغات مثل جافا Java وجافاسكربت Javascript وبيرل Perl وبايثون Python لمعالجة مشكلات قابلية القراءة وإمكانية النقل والتنفيذ على وحدات معالجة مركزية مختلفة، حيث تسمى هذه اللغات بلغات عالية المستوى، وذلك لأنها مصممة للسماح للمبرمج بكتابة البرامج دون الحاجة إلى القلق بشأن نوع الحاسوب الذي سيُشغَّل البرنامج عليه، فتُكتب التعليمة السابقة بلغة C ومثلها في لغة بايثون: a = 97 يجب تحويل البرامج المكتوبة بلغات عالية المستوى إلى لغة يمكن للحاسوب فهمها قبل تشغيل البرنامج مثل البرامج المكتوبة بلغة التجميع والآلة، وهناك طريقتان أساسيتان للقيام بذلك هما التصريف Compiling والتفسير Interpreting، فالمصرِّف Compiler هو برنامج يقرأ الشيفرة المصدرية وينتج برنامجًا منفصلًا قابلًا للتنفيذ يمكن تشغيله بعد ذلك بمجرد تحويل الشيفرة الخاصة بك إلى ملف قابل للتنفيذ، إذ لا تحتاج إلى المترجِم لتشغيل البرنامج، كما كانت برامج المصرِّفات Compilers رديئةً في البداية وتنتج برامجًا بطيئةً للغاية، ولكن على مر السنين أصبحت برامج المترجِمات سريعةً جدًا. تستطيع التعرُّف في الصورة السابقة على خطوات إنتاج وتشغيل البرامج المُبرمَجة بلغات عالية المستوى والتي تستخدِم هذا النظام؛ أما المفسِّر Interpreter فهو برنامج ينفِّذ التعليمات الموجودة في الشيفرة البرمجية مباشرةً دون الحاجة إلى تجميعها في ملف تنفيذي أولًا، فبرامج التفسير غالبًا أكثر مرونةً من برامج المصرِّفات لكنها أقل كفاءة عند تشغيل البرامج، وذلك لأن عملية التفسير تحتاج إلى تنفيذ في كل مرة يُشغَّل فيها البرنامج، وهذا يعني أنّ المفسِّر مطلوب في كل مرة يُشغَّل فيها البرنامج. يوضِّح الشكل السابق خطوات إنتاج وتشغيل البرامج المُبرمَجة بلغات عالية المستوى التي تستخدِم نظام التحويل للغات منخفضة المستوى. علاقة البرمجة بالذكاء الاصطناعي وتعلم الآلة لا تزيد نماذج الذكاء الاصطناعي وتعلّم الآلة عن كونها خوارزميات رياضية تستطيع كتابتها والتعبير عنها على الورق، لكن عندما يتعلق الأمر بتجربة تلك الخوارزميات على أرض الواقع، فإنّ البرمجة هي الوسيلة لتطبيق تلك الخوارزميات، فالمبرمج عادةً هو شخص مهمته صناعة برامج تحل مشكلةً ما بكتابة شيفرة تتكون من عدة خوارزميات، وقد لا يتطلب الأمر خوارزميةً ذكيةً في أغلب الأحيان، ولكن قد يتطلب العمل في بعض البرامج تنفيذ خوارزمية ذكية للتوقع كما يتوقع الإنسان مثلًا أو لأي مهمة أخرى تتطلب ذكاءً بشريًا، إذ يحتاج المبرمج في تلك الحالة إلى خوارزمية ذكاء اصطناعي للتوقُّع مثل الإنسان ليستطيع ترجمة رموزها الرياضية إلى شيفرة برمجية. الجدير بالذكر أنّ الكثير من الشركات الناشئة التي تدَّعي أنها مدعومة ببرامج وخوارزميات ذكاء اصطناعي مبهرة ليست كذلك بالفعل، ولكنها فقط تدعي ذلك للحصول على التمويل ولأغراض تسويقية كما بيَّنا من قبل عن شركة Hanson Robotics مثلًا، وذلك بناءً على دراسة أجرتها شركة MMC Ventures، فغالبًا ما تكون خوارزميات الذكاء الاصطناعي مجموعةً من الخطوات، وكل خطوة فيها مجموعة من المعادلات الرياضية على بعض المدخلات التي تأتي من الحاسوب أو من البرنامج، وتختلف المعادلات كثيرًا في فحواها وهدفها، وبالتالي تُعَدّ البرمجة حلقة الوصل بين باحثي الذكاء الاصطناعي وبين تطبيق واختبار خوارزمياتهم ومعادلاتهم الرياضية على أرض الواقع. الخوارزميات في علوم الحاسوب والبرمجة الخوارزميات كما من اسمها مشتقة من اسم العالم المسلم أبو جعفر محمد بن موسى الخوارزمي، وهو من مدينة خوارزم المشتقة منها كنيته، وخوارزم حاليًا مكان مقسم بين ثلاث دول وهي: أوزباكستان، وكازاخستان، وتركمانستان. يعتبر من أوائل علماء الرياضيات المسلمين، حيث ساهمت أعماله بدور كبير في تقدم الرياضيات في عصره. اتصل بالخليفة العباسي المأمون، وعمل في بيت الحكمة في بغداد، وكسب ثقة الخليفة إذ ولاه المأمون بيت الحكمة، كما عهد إليه برسم خارطة للأرض عمل فيها أكثر من سبعين جغرافيًا. قبل وفاته في عام 850م/232هـ المُقدَّر كان الخوارزمي قد ترك العديد من المؤلفات في علوم الرياضيات والفلك والجغرافيا، ومن أهمها: كتاب المختصر في حساب الجبر، والمقابلة الذي يعد أهم كتبه. تُرجمت كتبه بعد ذلك من قبل علماء أوروبا، وتم ترجمة بعض المصطلحات التي كانت شبيهة بشكل كبير للعربية، مثل كلمة الجبر التي تُرجمت إلى Algebra. يُعَدّ البرنامج الحاسوبي سلسلةً من التعليمات المكتوبة باستخدام لغة البرمجة لأداء مهمة محدَّدة بوساطة الحاسوب، ويوجد مصطلحان مهمان يجب إيضاحهما هما سلسلة التعليمات instructions ولغة البرمجة programming language، ففي المثال الذي ذكرناه في بداية هذا المقال الذي يقول إذا كنت تنتظر صديقًا لك ليزورك، فإنّ التعليمات التي ذكرناها من الممكن كتابتها على الصورة التالية: عندما تصل إلى ناصية الشارع: اتجه إلى اليمين امش عشر خطوات اتجه إلى اليمين مرةً أخرى اُدخل أول منزل من جهة اليسار اصعد إلى الدور الثاني تُعَدّ سلسلة التعليمات أعلاه في الواقع برنامجًا بشريًا مكتوبًا باللغة العربية، والذي يرشِد إلى كيفية الوصول إلى بيتك من نقطة بداية معينة، كما يمكن كتابة تلك السلسلة باللغة الإسبانية أو الهندية أو الإنجليزية أو أيّ لغة بشرية أخرى بشرط معرفة الشخص الذي يسعى للحصول على التوجيه أيًا من تلك اللغات، وكذلك هو الأمر في الحاسوب، فالبرنامج الحاسوبي هو مجموعة من التعليمات المكتوبة بلغة برمجية ينفِّذها الحاسوب، وفيما يلي مثال عن تعليمة مكتوبة بلغة بايثون، وهي أمر للحاسوب بطباعة جملة Hello World على الشاشة. print("Hello World") يمكن أن يتكون البرنامج الحاسوبي من سطر أو تعليمة واحدة إلى ملايين من السطور؛ أما سلسلة التعليمات المكتوبة بلغة برمجة معينة هي ما تُدعى الشيفرة المصدرية للبرنامج source code؛ أما من وجهة نظرالبرمجة الخوارزمية، فهي مجموعة من الخطوات لحل مشكلة ما، ويُعبِّر عنه على أساس مجموعة محدودة من التعليمات، كما أنّ كل تلك التعليمات يمكن تطبيقها والتعبير عنها بلغة البرمجة، كما لا ترتبط الخوارزمية بلغة برمجة معينة، فالخوارزمية هي خطوات مجرَّدة يمكن حتى كتابتها باللغة البشرية ومن ثم تطبيقها بأيّ لغة برمجة مع الأخذ في الحسبان بأنّ كلمة الخوارزمية في البرمجة لها بعض الشروط وهي: الخلو من الغموض: من المهم أن تكون كل خطوة أو كل تعليمة من تعليمات الخوارزمية واضحةً وضوحًا كبيرًا ولا تحمل أكثر من معنى مثل قولنا في تعليمة ما "اجمع س مع ص"، لا أن نقول في إحدى التعليمات "جرب تقريبًا جمع أو طرح س مع ص". المخرجات: من المهم أن تُنتج الخوارزمية على الأقل مخرجًا واحدًا نتيجةً واحدةً، فخوارزمية للتوقع مثلًا يجب عليها إنتاج ناتج ما لعملية التوقع في النهاية حتمًا. منتهية في نقطة ما: من الضروري انتهاء عمل الخوارزمية بعد إنتاج المخرجات المطلوبة، فلا خوارزمية تعمل بصورة مستمرة إلى الأبد. الجدوى/إمكانية التطبيق: يجب أن تعمل الخوارزمية بناءً على الموارد المتاحة، بمعنى أنه لا يمكننا تطبيق خوارزمية تتطلب ذاكرةً تخزينيةً لا يُمكن إنتاجها بالفعل مثل طلب تخزين عدد ذرات الكون. الاستقلالية: من الضروري أن تكون الخوارزمية مستقلة عن لغات البرمجة، أي يمكن تطبيقها بأيّ لغة برمجة، فلا يمكن مثلًا أن تعتمد الخوارزمية على مكتبة جاهزة للاستخدام موجودة في إحدى لغات البرمجة، إذ يؤدي ذلك إلى الاعتماد اعتمادًا كليًا على تلك المكتبة، فلا يمكن للخوارزمية أن تعمل على أية لغة برمجة أخرى. تتكون الخوارزمية من خطوات عدة كما ذكرنا، وتتكون كل خطوة من تعليمة واضحة، كما توجد طرق محدَّدة لتقييم أداء الخوارزمية وتحليلها، وتلك الخطوات مهمة للغاية في حالة خوارزميات الذكاء الاصطناعي، لأن خوارزميات الذكاء الاصطناعي غالبًا ما تطلب في كل تعليمة عددًا ضخمًا جدًا من العمليات الرياضية التي تستهلك الكثير من موارد الحاسوب، ولذلك يلجأ الكثير من مبرمجي تعلّم الآلة والذكاء الاصطناعي إلى استئجار حاسوب فائق الإمكانات عبر الانترنت لتشغيل الخوارزميات، لذلك يُعَدّ تقييم وتحليل أداء الخوارزمية أمرًا مهمًا للباحثين. توجد طريقتان لتحليل الخوارزميات وهما تحليل نظري مسبَق يفترض جميع العوامل ويفترض أداء الخوارزمية بناءً على الموارد المتاحة في الحاسوب، وتحليل متقدِّم وهو تحليل تجريبي، فبعد تنفيذ الخوارزمية على حاسوب معيَّن بإمكانات معينة، تُجمَّع بيانات حقيقية في تلك الحالة مثل الوقت الذي مرَّ منذ بدء تشغيل الخوارزمية والمساحة المستخدَمة من الذاكرة من قبلها أيضًا، كما يتم حساب وتحليل أداء الخوارزمية حسب عاملين رئيسيين كما ذكرنا وهما الوقت المُستهلك في تنفيذ الخوارزمية على الحاسوب ومساحة ذاكرة الوصول العشوائية RAM القصوى المطلوبة لتعمل الخوارزمية بكفاءة. يهمنا مما سبق فهم أنّ خوارزميات الذكاء الاصطناعي مثلها مثل باقي الخوارزميات، فهي في الأساس مستقلة عن لغات البرمجة، وهي خوارزميات لديها مدخلات Inputs وتنتهي إلى استخراج مخرجات أو نتائج Outputs، كما تتكون كل تعليمة من تعليمات الخوارزمية من خطوات واضحة ويكون معظمها عمليات رياضية في الغالب، ويمكن تنفيذ جميعها بأيّ لغة برمجة، ومن الجدير بالذكر أنه بالرغم من إمكانية تطبيق أيّ خوارزمية بأيّ لغة برمجة، إلا أنّ ذلك يتطلب من المبرمج فهمًا دقيقًا وعميقًا لكل خطوة من خطوات الخوارزمية ليستطيع تطبيقها حسب اللغة التي يجيدها، لكن يتطلب ذلك من المبرمج فهمًا عميقًا للرياضيات المستخدَمة في معادلات الذكاء الاصطناعي أيضًا لكي يستطيع تطبيقها بلغة البرمجة التي يجيدها. وليس كذلك هو الحال في جميع لغات البرمجة، إذ طوَّر مبرمجون كثر من مجتمع بايثون حول العالم مكتبات جاهزة للاستخدام تحتوي على دوال Functions جاهزة للاستدعاء فيها الكثير من خوارزميات تعلّم الآلة، أي أنه يمكن لمبرمج بايثون استخدام تلك المكتبات بدلًا من كتابة الخوارزميات بنفسه، لأن ذلك يتطلب كما أوردنا فهمًا عميقًا لكل خطوة من خطوات الخوارزمية التي تحتوي على الكثير من الرياضيات المعقَّدة، لذلك تستطيع تلك المكتبات توفير لك الكثير من المجهود في معظم الأحيان لكي تستطيع استخدام خوارزميات الذكاء الاصطناعي بسهولة دون الدخول في تفاصيل ما يحصل فيما وراء الأحداث. مع ذلك تملك تلك الطريقة عيوبًا لا تخفى على أحد، فالمبرمج إذا لم يكن مدركًا إدراكًا قويًا لما يحدث وراء الأحداث -أي في الخوارزمية وخطواتها-، وقد تكون نتائج الخوارزمية غير مرضية له على الإطلاق، فخوارزميات الذكاء الاصطناعي وتعلّم الآلة عادةً لها الكثير من المتغيرات التي تتحكم تحكمًا كبيرًا في دقة عمل الخوارزمية ودقة استنتاجاتها، لذلك ينصح الخبراء المبرمجين والمطورين بدراسة الخوارزميات دراسةً عميقةً، ودراسة الرياضيات المطلوبة لذلك على قدر المستطاع حتى يتمكن المبرمج من فهم تلك المتغيرات التي تلعب دورًا مفصليًا في دقة برنامجه. لماذا تعلم البرمجة مهم تُعَدّ البرمجة حلقة الوصل بين باحثي الذكاء الاصطناعي وبين تطبيق أبحاثهم على أرض الواقع كما أوردنا، لذلك يلعب المبرمجون دورًا مفصليًا في مجال الذكاء الاصطناعي، كما أنّ البرمجة من أفضل المهن من النواحي المستقبلية، فلا يخفى على أحد التحوّل التقني السريع الذي يحدث حول العالم، فالتقنية المعتمدة على الحواسيب والحوسبة اليوم هي عصب حياتنا ودخلت في عمق تفاصيل يومياتنا ولا يخفى ذلك على الناس، فمهن البرمجة أصبحت من أكثر المهن طلبًا، وستصبح أكثر طلبًا بمرور الزمن بالطبع. اقرأ أيضًا المقال السابق: الذكاء البشري مقابل الذكاء الاصطناعي تعلم البرمجة تعلم الذكاء الاصطناعي فوائد البرمجة المدخل الشامل لتعلم علوم الحاسوب النسخة الكاملة من كتاب مدخل إلى الذكاء الاصطناعي وتعلم الآلة1 نقطة
-
الإصدار 1.0.0
11231 تنزيل
التصميم هو مهنة العصر الحالية، هذا العصر الذي يولي أهميةً كبيرةً منقطعة النظير للعامل البصري، فيدخل مجال التصميم في كل مناحي حياتنا اليومية فكل شيء تراه حولك بدءًا من صور أغلفة المنتجات وحتى الإعلانات والملصقات والشعارات وأغلفة الكتب وكل شيء تقريبًا قد مرَّ على يدي مصمم وعولج داخل أحد تطبيقات الرسم والتصميم فسوق التصميم كبيرٌ يزداد فيه الطلب على المصممين يومًا بعد يوم. تمثلت رؤيتنا للكتاب في أن يكون المرجع الأول للمصمم العربي أو من يريد تعلم مجال التصميم الجرافيكي وذلك بجعله شاملًا لكل ما يحتاج إليه المتعلم في بداية رحلته التعليمية في هذا المجال وليتضمن العناصر الأساسية في هذا التخصص سواء كان ذلك في الأساسيات أو البرامج والتطبيقات أو أفكار التصميمات. يهدف الكتاب لإخراج أفراد متمكنين من أساسيات مجال التصميم الجرافيكي ولديهم المعلومات والخبرة الأساسية اللازمة لدخول سوق العمل وتحقيق دخل مادي عبر سوق الإنترنت الكبير وذلك من خلال تنفيذ أعمال التصميم الجرافيكي عبر منصات العمل الحر العربية مثل مستقل وخمسات. يتكون الكتاب من خمسة أقسام رئيسية: الأساسيات والمبادئ البرامج والتطبيقات مجالات التصميم الجرافيكي قواعد التصميم المسار المهني والتطوير الذاتي دخول سوق العمل هذه النقاط الخمس نعدها شاملة لما يحتاج إليه المصمم الجديد ليكون قادرًا على إنتاج تصميم وبيعه في السوق. يستهدف الكتاب جمهور المصممين المبتدئين أو من يريدون دخول هذا المجال، وعليه فإن الكتاب ليس موجهًا للمصممين المتقدمين أو المحترفين فهؤلاء في الغالب يتعلمون مباشرة من مصادر متقدمة سواءً عربية أو أجنبية ولكن قد يكون لدى البعض منهم نقص في معرفة أساسيات التصميم الفنية والأكاديمية، لذا يمكنهم آنذاك الرجوع إلى فصول بعينها من هذا الكتاب أي أنَّ فصول هذا الكتاب قد تفيد حتى من كان متقدمًا في مجال التصميم التطبيقي ولكن دون أساس أكاديمي سليم. هذا الكتاب مرخص بموجب رخصة المشاع الإبداعي Creative Commons «نسب المُصنَّف - غير تجاري - الترخيص بالمثل 4.0». يمكنك قراءة فصول الكتاب على شكل مقالات من هذه الصفحة، «أساسيات تصميم الرسوميات»، أو تجدها مسردة بالترتيب التالي: مقدمة إلى تصميم الرسوميات (التصميم الجرافيكي) عناصر تصميم الرسوميات مبادئ تصميم الرسوميات الألوان في تصميم الرسوميات ونظرية الألوان تعرف على أشهر برامج وتطبيقات تصميم الصور والرسوميات مقدمة إلى برنامج أدوبي فوتوشوب Adobe Photoshop مقدمة إلى برنامج أدوبي إليستريتور Adobe Illustrator والتعرف على واجهته مساحات وقياسات العمل التصميمي النص وأسلوب الطباعة Typography في تصميم الرسوميات قواعد التعامل مع الصور والرسوميات قواعد تصميم الأيقونات والشعارات قواعد تصميم المطبوعات والإعلانات قواعد تصميم الواجهات قواعد تصميم الرسوم البيانية قواعد تصميم الهوية البصرية دليل المسار المهني لمصمم الرسوميات مواقع العمل الحر والعمل عن بعد لتصميم الرسوميات1 نقطة