Saad_Shahrour

5 674 مشاهدات المحتوى عضو منذ
Saad_Shahrour برمجة

أضف الى ماقاله صديقي مصطفى، أن هذا الكورس يقدمك الى مجال الخوازميات وبنى المعطيات، الويب، الذكاء الاصطناعي، قواعد البيانات، وغيرها.

ماأحاول قوله هو أن هذا الكورس يقدمك الى ماهو أكثر بكثير من البرمجة، وحتى ان أردت حضوره من أجل البرمجة، فان تعلمك لهذه اللغة (C++) سيسهل عليك تعلم أي لغة أخرى لأن لغات البرمجة متشابهة جدا.

ليس هذا فحسب، بل ان لغة C++ ستفتح عينينك على أمور لن تعلم عن وجودها في لغات أخرى، كالتخزين والذاكرة والمؤشرات وغيرها.

لذلك عليك بكل تأكيد دراسة الكورس بتمعن واعطاؤه حقه.

بالتوفيق!

أضف الى ماقاله صديقي مصطفى، أن هذا الكورس يقدمك الى مجال الخوازميات وبنى المعطيات، الويب، الذكاء الاصطناعي، قواعد البيانات، وغيرها. ماأحاول قوله هو أن هذا الكورس يقدمك الى ماهو أكثر بكثير من البرمجة، وحتى ان أردت حضوره من أجل البرمجة، فان تعلمك لهذه اللغة (C++) سيسهل عليك تعلم أي لغة أخرى لأن لغات البرمجة متشابهة جدا. ليس هذا فحسب، بل ان لغة C++ ستفتح عينينك على أمور لن تعلم عن وجودها في لغات أخرى، كالتخزين والذاكرة والمؤشرات وغيرها. لذلك عليك
Saad_Shahrour برمجة

نعم بالتأكيد، يساعد تعلم البرمجة في تنمية قدرات العقل.

أما عن القدرات التي تساهم البرمجة في تطويرها، فهي جمّة، وهذه بعض منها:

  1. حل المشكلات: البرمجة هي في الواقع حل مشكلات، اذ تعلم المبرمج أن يفصّل المشاكل المعقدة الى مشاكل اصغر، ثم يقوم بايجاد الحلول المثلى لهذه المشكلات.
  2. التفكير المنطقي: البرمجة تتطلب مسارا واضحا ومرتبا لكتابة الخوارزميات والأكواد، مما يساعد المطور على تعزيز التفكير المنطقي لديه في مجاله وفي كل المجالات الأخرى.
  3. التفكير الابداعي: قد يبدو هذا غريبا، ولكل حل المشكلات المعقدة يتطلب تفكيرا خارج الصندوق والخروج بحلول ابداعية لحلها، مما أيضا يفيد في كافة مجالات الحياة.
  4. الانتباه للتفاصيل: جميعنا عانى من عدم عمل الكود الخاص به لفترة طويلة من أجل فاصلة منقوطة أو حرف صغير أو كبير، لذلك المبرمج يعتاد على الانتباه للتفاصيل في حياته بشكل عام لكي يتجنب الوقوع في المشاكل.

هذه بعض المهارات والقدرات التي تساهم البرمجة في تطيرها في عقولنا، ولكنها تحتاج الى الكثير من الوقت والاستمرارية والمثابرة لتنجز هذا التغيير.

نعم بالتأكيد، يساعد تعلم البرمجة في تنمية قدرات العقل. أما عن القدرات التي تساهم البرمجة في تطويرها، فهي جمّة، وهذه بعض منها: حل المشكلات: البرمجة هي في الواقع حل مشكلات، اذ تعلم المبرمج أن يفصّل المشاكل المعقدة الى مشاكل اصغر، ثم يقوم بايجاد الحلول المثلى لهذه المشكلات. التفكير المنطقي: البرمجة تتطلب مسارا واضحا ومرتبا لكتابة الخوارزميات والأكواد، مما يساعد المطور على تعزيز التفكير المنطقي لديه في مجاله وفي كل المجالات الأخرى. التفكير الابداعي: قد يبدو هذا غريبا، ولكل حل المشكلات
Saad_Shahrour برمجة

بالضبط!

ان تحديد استخدامات هاتين اللغتين واختيارك لمجال معين بعدها، هو ماسيساعدك في الاختيار.

هذا ببساطة لأنك تقارن بين لغتين من أهم لغات البرمجة الموجودة على الساحة اليوم، ومايلي مقارنة بين استخدام كلتا اللغتين:

  • لغة الباثيون:
  1. تطوير الواجهات الخلفية للويب، وذلك باستخدام Django للمشاريع الأكبر، و Flask للمشاريع الأصغر.
  2. تعلم الالة بواسطة Numpy, Pandas, scikit-learn حيث تعتبر لغة بايثون رائدة في هذا المجال.
  3. الذكاء الصطناعي، وذلك باستخدام pytorch او tensorflow.
  • لغة الجافاسكريبت:
  1. تطوير الواجهات الامامية بلا منافس يعد اختصاص لغة الجافاسكريبت، وهذا يشمل بناء تطبيقات الصفحة الواحدة (single page application) وغيرها من التطبيقات بواسطة مكاتب هذه اللغة، مثل مكتبة React او Vue او Angular او غيرها.
  2. تطوير تطبيقات الموبايل على عدة أنظمة، مثل اندرويد و ios سويا بواسطة هذه اللغة باستخدام React-Native او غيرها.
  3. بناء تطبيقات يتم تحديثها انيا بدون اعادة تحديث للصفحة، مثل تطبيقات المحادثة مثلا. (تخيل عند استلامك لكل رسالى أن تقوم باعادة تحميل الصفحة بأكملها!)
بالضبط! ان تحديد استخدامات هاتين اللغتين واختيارك لمجال معين بعدها، هو ماسيساعدك في الاختيار. هذا ببساطة لأنك تقارن بين لغتين من أهم لغات البرمجة الموجودة على الساحة اليوم، ومايلي مقارنة بين استخدام كلتا اللغتين: لغة الباثيون: تطوير الواجهات الخلفية للويب، وذلك باستخدام Django للمشاريع الأكبر، و Flask للمشاريع الأصغر. تعلم الالة بواسطة Numpy, Pandas, scikit-learn حيث تعتبر لغة بايثون رائدة في هذا المجال. الذكاء الصطناعي، وذلك باستخدام pytorch او tensorflow. لغة الجافاسكريبت: تطوير الواجهات الامامية بلا منافس يعد اختصاص لغة
Saad_Shahrour برمجة

وعليكم السلام ورحمة الله وبركاته.

في البداية، يمكنك ايجاد عمل في مجال ال backend على الانترنت اذا احترفته ووصلت فيه لمستوى متقدم، وحتى على مواقع العمل الحر أيضا!

لمجال الباك ايند طرق وسبل لاتعد ولا تحصى، حيث يمكنك الاختيار من ضمن Python (Django), Ruby, C# (ASP.NET), Node JS (Express JS), PHP وغيرها الكثير.

اختيارك لللغة بحد ذاتها يعتمد على موقعك الجغرافي او الموقع الجغرافي الذي تود العمل به.

قد يبدو هذا غريبا، ولكن عدا الفروقات التي تميز هذه اللغات عن بعضها، الا أن الموقع الجغرافي يلعب الدور الأهم.

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

بعد ذلك يمكنك البدؤ ببناء المشاريع العملية ومعرض للأعمال وما الى ذلك.

أتمنى لك التوفيق.

وعليكم السلام ورحمة الله وبركاته. في البداية، يمكنك ايجاد عمل في مجال ال backend على الانترنت اذا احترفته ووصلت فيه لمستوى متقدم، وحتى على مواقع العمل الحر أيضا! لمجال الباك ايند طرق وسبل لاتعد ولا تحصى، حيث يمكنك الاختيار من ضمن Python (Django), Ruby, C# (ASP.NET), Node JS (Express JS), PHP وغيرها الكثير. اختيارك لللغة بحد ذاتها يعتمد على موقعك الجغرافي او الموقع الجغرافي الذي تود العمل به. قد يبدو هذا غريبا، ولكن عدا الفروقات التي تميز هذه اللغات عن
Saad_Shahrour برمجة

هذا صحيح، رغم عراقة هذه اللغة الا أنها مازالت متصدرة الى اليوم، وهذه بعض الأسباب:

  1. التحديثات والتحسينات المستمرة للغة جافا خلال السنين، حيث تشمل هذه التحسينات السرعة والاداء وغيرها من العوامل المهمة التي تترك لغة Java في المقدمة.
  2. امكانية الاعتماد على لغة جافا لتطوير المشاريع الضخمة والمعقدة للمنظمات، وذلك لثباتها ودعمها لمعايير صناعة البرمجيات العالمية.
  3. فلسفة "Write Once, Run Anywhere" التي تعني أن اللغة مستقلة بحد ذاتها ويمكن تشغيل الكود المكتوب ها أين ماأردت، وذلك باستخدام Java Virtual Machine.
  4. امتلاك هذه اللغة لمجتمع غني يمكن الاعتماد عليه وسؤاله عن أي شيء يخص اللغة، وامتلاكها الكثير والكثير من المكتبات والأدوات التي تفي لحل أي غرض قد يحتاجه المطور.
  5. دعم الاكواد القديمة في لغة جافا، حتى عند تحديث اصدار اللغة او ال JVM
هذا صحيح، رغم عراقة هذه اللغة الا أنها مازالت متصدرة الى اليوم، وهذه بعض الأسباب: التحديثات والتحسينات المستمرة للغة جافا خلال السنين، حيث تشمل هذه التحسينات السرعة والاداء وغيرها من العوامل المهمة التي تترك لغة Java في المقدمة. امكانية الاعتماد على لغة جافا لتطوير المشاريع الضخمة والمعقدة للمنظمات، وذلك لثباتها ودعمها لمعايير صناعة البرمجيات العالمية. فلسفة "Write Once, Run Anywhere" التي تعني أن اللغة مستقلة بحد ذاتها ويمكن تشغيل الكود المكتوب ها أين ماأردت، وذلك باستخدام Java Virtual Machine. امتلاك
Saad_Shahrour برمجة

هناك عدة أسباب لتدريس لغة الجافا بهذه الطريقة، وهذه بعضا منها:

  1. فلسفة "Write Once, Run Anywhere": هذه الفلسفة تعني أن اللغة مستقلة بحد ذاتها ويمكن تشغيل الكود المكتوب بلغة جافا أين ماأردت، وذلك باستخدام Java Virtual Machine.
  2. البرمجة غرضية التوجه (OOP): أي أن اللغة تدعم مفاهيم ال OOP من أصلها، وليست كلغات أخرى تدعم هذه المفاهيم كاضافة. هذه المفاهيم تشمل التغليف والوراثة وغيرها.
  3. ادارة الذاكرة: تقوم لغة الجافا بادارة الذاكرة وعملية ال garbage collection بشكل تلقائي، مما يساعد المطورين ويريحهم من التفكير في هذه الامور التي تعد متدنية المستوى low level
هناك عدة أسباب لتدريس لغة الجافا بهذه الطريقة، وهذه بعضا منها: فلسفة "Write Once, Run Anywhere": هذه الفلسفة تعني أن اللغة مستقلة بحد ذاتها ويمكن تشغيل الكود المكتوب بلغة جافا أين ماأردت، وذلك باستخدام Java Virtual Machine. البرمجة غرضية التوجه (OOP): أي أن اللغة تدعم مفاهيم ال OOP من أصلها، وليست كلغات أخرى تدعم هذه المفاهيم كاضافة. هذه المفاهيم تشمل التغليف والوراثة وغيرها. ادارة الذاكرة: تقوم لغة الجافا بادارة الذاكرة وعملية ال garbage collection بشكل تلقائي، مما يساعد المطورين ويريحهم

هذه مقارنة بسيطة بين المشاريع الصغيرة، المتوسطة، والكبيرة لفهم الفرق بينها، وذلك بحسب:

  • الموارد المطلوبة:
  1. المشاريع الصغيرة: تتطلب موارد متواضعة نسبيا، ويمكن تنفيذها بواسطة فريق صغير او حتى فرد واحد.
  2. المشاريع المتوسطة: تتطلب موارد متوسطة، وتحتاج فريقا متكاملا ومدير للمشروع أيضا (project manager)
  3. المشاريع الكبيرة: تتطلب موارد أكبر بكثير وفرقا مختصة ودعما مستمرا للمشروع.
  • الوقت:
  1. المشاريع الصغيرة: تميل لأخذ وقت أقصر، أي أنها تحتاج لاسابيع او بضعة أشهر.
  2. المشاريع المتوسطة:تأخذ وقتا أكثر، من أشهر الى سنة تقريبا.
  3. المشاريع الكبيرة: قد تأخذ عدة سنوات، خاصة ان كان المشروع يخص منظمة ضخمة.
  • التأثير:
  1. المشاريع الصغيرة: للمشروع تأثير محلي فقط على مهمة او عملية معينة ضمن الشركة.
  2. المشاريع المتوسطة: يمكن للمشروع التأثير على عدة نطاقات من العمل.
  3. المشاريع الكبيرة: للمشاريع الكبيرة تأثير واضح على كامل المؤسسة او على كامل مسيرة العمل.
هذه مقارنة بسيطة بين المشاريع الصغيرة، المتوسطة، والكبيرة لفهم الفرق بينها، وذلك بحسب: الموارد المطلوبة: المشاريع الصغيرة: تتطلب موارد متواضعة نسبيا، ويمكن تنفيذها بواسطة فريق صغير او حتى فرد واحد. المشاريع المتوسطة: تتطلب موارد متوسطة، وتحتاج فريقا متكاملا ومدير للمشروع أيضا (project manager) المشاريع الكبيرة: تتطلب موارد أكبر بكثير وفرقا مختصة ودعما مستمرا للمشروع. الوقت: المشاريع الصغيرة: تميل لأخذ وقت أقصر، أي أنها تحتاج لاسابيع او بضعة أشهر. المشاريع المتوسطة:تأخذ وقتا أكثر، من أشهر الى سنة تقريبا. المشاريع الكبيرة: قد

وعليكم السلام.

نعم يمكنك ذلك بكل تأكيد، وهذا ماتحاول firebase تقديمه، وهو خدمة backend للمطور دون اللجوء الى تطوير الواجهة الخلفية من الصفر.

مع العلم أن تكاليف هذه الخدمة غالية نسبيا في حال أصبح التطبيق كبيرا وزادت العمليات عليه لحد معين.

كما أن هذه الخدمة ليست البديل لمطور الباك ايند، لأن استخدامها ومدى الاستفادة منها يعتمد على المشروع ذاته، حيث أن المشاريع الكبيرة لايمكن استخدام ال firebase فيها.

وعليكم السلام. نعم يمكنك ذلك بكل تأكيد، وهذا ماتحاول firebase تقديمه، وهو خدمة backend للمطور دون اللجوء الى تطوير الواجهة الخلفية من الصفر. مع العلم أن تكاليف هذه الخدمة غالية نسبيا في حال أصبح التطبيق كبيرا وزادت العمليات عليه لحد معين. كما أن هذه الخدمة ليست البديل لمطور الباك ايند، لأن استخدامها ومدى الاستفادة منها يعتمد على المشروع ذاته، حيث أن المشاريع الكبيرة لايمكن استخدام ال firebase فيها.

أولا يجب التوضيح الى أن التقنية المستخدمة للتعامل مع قواعد البيانات في لغة php هي laravel، وهي Object-Relational Mapping (ORM.

ثانيا، وبخصوص سؤالك عن الأسهل، فهذا يعتمد على عدة عوامل:

  • المجتمعات والموارد المتاحة لهاتين اللغتين، وهما بشكل عام متقاربين بالنسبة لهذه اللغات.
  • بيئة العمل، حيث ان asp.net تعمل بشكل جيد في visual studio، ولغة php يمكن تطويرها من عدة مصادر.
  • متطلبات المشروع، فان كنت تبني مشروعا في بيئة microsoft فان خيار asp.net هو خيار ممتاز.
  • سهولة التعلم، وهنا تتغلب ال php.
أولا يجب التوضيح الى أن التقنية المستخدمة للتعامل مع قواعد البيانات في لغة php هي laravel، وهي Object-Relational Mapping (ORM. ثانيا، وبخصوص سؤالك عن الأسهل، فهذا يعتمد على عدة عوامل: المجتمعات والموارد المتاحة لهاتين اللغتين، وهما بشكل عام متقاربين بالنسبة لهذه اللغات. بيئة العمل، حيث ان asp.net تعمل بشكل جيد في visual studio، ولغة php يمكن تطويرها من عدة مصادر. متطلبات المشروع، فان كنت تبني مشروعا في بيئة microsoft فان خيار asp.net هو خيار ممتاز. سهولة التعلم، وهنا تتغلب ال

يعتمد موضوع السرعة على حجم المشروع ومتطلباته بشكل أساسي.

فان كان المشروع ضخما او متوسطا فان asp.net أكثر فعالية ومستخدمة أكثر في هذا المجال.

ولكن ان كان المشروع صغيرا، فان php (laravel) مستخدمة أكثر وفعالة أكثر.

حتى جودة الكود وتنظيمه له دور في فعالية وسرعة أي لغة برمجة في العالم، وليس فقط asp.net و php.

لذلك، فان المقارنة او انتظار جواب يبت الفرق بين اللغتين هو أمر مستحيل.

يعتمد موضوع السرعة على حجم المشروع ومتطلباته بشكل أساسي. فان كان المشروع ضخما او متوسطا فان asp.net أكثر فعالية ومستخدمة أكثر في هذا المجال. ولكن ان كان المشروع صغيرا، فان php (laravel) مستخدمة أكثر وفعالة أكثر. حتى جودة الكود وتنظيمه له دور في فعالية وسرعة أي لغة برمجة في العالم، وليس فقط asp.net و php. لذلك، فان المقارنة او انتظار جواب يبت الفرق بين اللغتين هو أمر مستحيل.
Saad_Shahrour برمجة

البرمجة هي مثل أي حرفة أو رياضة، تقوم باحترافها بواسطة الممارسة والخبرة التراكمية.

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

كما أن هذه المشاريع يجب ان تزيد صعوبتها مع الوقت وأن لاتكون من متسوى واحد.

يجب أيضا أن تكون المشاريع متنوعة قدر الامكان، فان كنا نتكلم عن تطوير الويب مثلا، ف يجب بناء متجر الكتروني وموقع سوشل ميديا وموقع لعرض خدمات شركة و و و...

يفضل أيضا أن تقوم بالتخطيط للمشروع قبل البدء ليسهل عليك التنفيذ وانشاء رؤيتك تجاه ماستبني.

يمكنك فعل كل هذا وحدك، ويمكنك التطوع او العمل في بيئة صحية تؤمن لك كل هذا، عوضا عن بناء ذات المشاريع مرارا وتكرارا كما هو شائع للأسف.

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

يتعامل مهندس قواعد البيانات مع مطور الباك ايند والفرونت ايند بكل تأكيد، وذلك للأسباب التالية:

  1. تحديد شكل البيانات وطبيعتها وكتابة الاستعلامات.
  2. تحديد العلاقات بين الجداول او المستندات.
  3. تحديد ال endpoints التي سيقوم مطور الفرونت ايند باستخدامها ليقوم بتطبيق عمليات ال http.
  4. العثور على المشاكل او ال bugs، وأيضا العناية بموضوع الحماية لأن الباك ايند قائم على حماية البيانات وليس فقط تنظيمها وتطبيق العمليات عليها.

كل هذا وأكثر يجب أن يدور بين مهندس قواعد البيانات والمطورين من أجل الحصول على أفضل نتائج ممكنة، ومن أجل نجاح التطبيق.

يتعامل مهندس قواعد البيانات مع مطور الباك ايند والفرونت ايند بكل تأكيد، وذلك للأسباب التالية: تحديد شكل البيانات وطبيعتها وكتابة الاستعلامات. تحديد العلاقات بين الجداول او المستندات. تحديد ال endpoints التي سيقوم مطور الفرونت ايند باستخدامها ليقوم بتطبيق عمليات ال http. العثور على المشاكل او ال bugs، وأيضا العناية بموضوع الحماية لأن الباك ايند قائم على حماية البيانات وليس فقط تنظيمها وتطبيق العمليات عليها. كل هذا وأكثر يجب أن يدور بين مهندس قواعد البيانات والمطورين من أجل الحصول على أفضل

يكفي فقط استخدام Visual Studio code مع تحميل xampp وتهيئته لاستخدام لغة php، لأن xampp يحوي Apache التي تدعم php.

كما يوجد بعض ال extensionsوالاضافات في visual studio code التي يمكنك الاستفادة منها لتسهيل العمل عليك وتقديم version control و Intellisense و code completion وتقنيات أخرى تستخدم الذكاء الاصطناعي مثل code pilot وغيرها الكثير.

يكفي فقط استخدام Visual Studio code مع تحميل xampp وتهيئته لاستخدام لغة php، لأن xampp يحوي Apache التي تدعم php. كما يوجد بعض ال extensionsوالاضافات في visual studio code التي يمكنك الاستفادة منها لتسهيل العمل عليك وتقديم version control و Intellisense و code completion وتقنيات أخرى تستخدم الذكاء الاصطناعي مثل code pilot وغيرها الكثير.

يوجد العديد من اصدارات ms sql server، بعضها المجاني وبعضها المدفوع في الحقيقة، وهذا يعتمد على خصائص هذه الباقات، اليك بعض الأمثلة:

  • SQL Server express: مجاني بالكامل ولكن يمكن استعمالها فقط للمشاريع الصغيرة.
  • SQL Server Developer Edition: مجانية أيضا وتملك خدمات النسخات المدفوعة، ولكنها تستخدم للتطوير والاختبار فقط.
  • Standard, Enterprise, Datacenter: هذه الاصدارات مدفوعة وتحوي خصائص أكثر بكثير، وهي أيضا مناسبة للمشاريع الضخمة
يوجد العديد من اصدارات ms sql server، بعضها المجاني وبعضها المدفوع في الحقيقة، وهذا يعتمد على خصائص هذه الباقات، اليك بعض الأمثلة: SQL Server express: مجاني بالكامل ولكن يمكن استعمالها فقط للمشاريع الصغيرة. SQL Server Developer Edition: مجانية أيضا وتملك خدمات النسخات المدفوعة، ولكنها تستخدم للتطوير والاختبار فقط. Standard, Enterprise, Datacenter: هذه الاصدارات مدفوعة وتحوي خصائص أكثر بكثير، وهي أيضا مناسبة للمشاريع الضخمة

لايوجد في الحقيقة اجابة صريحة لسؤال من هذا النوع.

الموضوع يتعلق باصدار ال MYSQL ومحرك التخزين والسيرفر نفسه ومواصفاته، وحتى نظام التشغيل له دور في تحديد المساحة الممكنة لقاعدة البيانات!

بكل الأحوال، ان لم تكف مساحة ال MYSQL، فانه يوجد طرق اخرى لتجاوز هذا الموضوع مثل Database Sharding القائم على تقسيم قاعدة البيانات الضخمة الى قواعد بيانات أصغر، وغير هذه التقنية الكثير

لايوجد في الحقيقة اجابة صريحة لسؤال من هذا النوع. الموضوع يتعلق باصدار ال MYSQL ومحرك التخزين والسيرفر نفسه ومواصفاته، وحتى نظام التشغيل له دور في تحديد المساحة الممكنة لقاعدة البيانات! بكل الأحوال، ان لم تكف مساحة ال MYSQL، فانه يوجد طرق اخرى لتجاوز هذا الموضوع مثل Database Sharding القائم على تقسيم قاعدة البيانات الضخمة الى قواعد بيانات أصغر، وغير هذه التقنية الكثير

تعلمك ل HTML و CSS في البداية يجعل منك Web Designer.

تعلمك بعدها للغة Javascript هو أول خطوة لتصبح Front-end developer، رغم أنك لن تقوم ببناء تطبيقات الويب بهذه اللغة بشكل مباشر!

أي أنه بعد تعلمك للغة JS عليك أن تتعلم استخدام مكتبة او اطار عمل قائم على هذه اللغة، وهذه بعض الأمثلة التي يجب عليك اختيار احدها: React, Angular, Vue, Svelte وغيرها الكثير.

يمكنك بعد ذلك تعلم بعذ المتقدمة الخاصة بالمكتبة او اطار العمل الذي اخترته، مثل Next او Nuxt او غيرها.

الأهم من ذلك هو تعلمك أن تتعلم أن تتعامل مع API لاستقبال البيانات او ارسالها او تعديلها او حذفها لأن هذه العمليات لن تحصل يدويا في معظم الاحيان، بل هي ستتم عبر ال API الذي ستستقبله من الباك ايند.

تعلمك ل HTML و CSS في البداية يجعل منك Web Designer. تعلمك بعدها للغة Javascript هو أول خطوة لتصبح Front-end developer، رغم أنك لن تقوم ببناء تطبيقات الويب بهذه اللغة بشكل مباشر! أي أنه بعد تعلمك للغة JS عليك أن تتعلم استخدام مكتبة او اطار عمل قائم على هذه اللغة، وهذه بعض الأمثلة التي يجب عليك اختيار احدها: React, Angular, Vue, Svelte وغيرها الكثير. يمكنك بعد ذلك تعلم بعذ المتقدمة الخاصة بالمكتبة او اطار العمل الذي اخترته، مثل Next او

ليست لغة kotlin الخيار الأمثل لتطوير مواقع الويب، حيث أن المسار التقليدي والأفضل لتطوير الويب يبدأ باللغات HTML و CSS و Javascript للفرونت ايند، وعدد لايحصى من الخيارات المتاحة للباك ايند.

رغم ذلك، فان لغة Kotlin تصلح لتطوير مواقع الويب في حال كنت مطور تطبيقات موبايل مثلا بواسطة هذه اللغة، حيث تقوم انت بكتابة الكود بواسطة هذه اللغة، ومن ثم يتم تحويلها الى كود Javascript بواسطة تقنية تدعى Kotlin/Js، كما انها تدعم تطوير جانب المستخدم وجانب السيرفر.

أما عن اطار العمل ktor، فهو اطار عمل خفيف وبسيط وغير تزامني، قادر على بناء مواقع الكترونية وواجهة برمجة التطبيقات، او مايعرف ب APIs، وقادر على تعريف endpoints والتعامل مع مختلف طلبات ال http كذلك.

ليست لغة kotlin الخيار الأمثل لتطوير مواقع الويب، حيث أن المسار التقليدي والأفضل لتطوير الويب يبدأ باللغات HTML و CSS و Javascript للفرونت ايند، وعدد لايحصى من الخيارات المتاحة للباك ايند. رغم ذلك، فان لغة Kotlin تصلح لتطوير مواقع الويب في حال كنت مطور تطبيقات موبايل مثلا بواسطة هذه اللغة، حيث تقوم انت بكتابة الكود بواسطة هذه اللغة، ومن ثم يتم تحويلها الى كود Javascript بواسطة تقنية تدعى Kotlin/Js، كما انها تدعم تطوير جانب المستخدم وجانب السيرفر. أما عن اطار

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

بشكل عام، التطبيقات الصغيرة (المدونات ومواقع ووردبريس) يفضل استخدام php في تطويرها لبساطتها وسرعتها، أي أن php تعتبر أفضل من Java و Asp.net في هذه التطبيقات.

أما المواقع الضخمة والمعقدة والتي تحوي على عدد كبير من المستخدمين وبيانات ضخمة (حكومية مثلا)، فان لغة php غير مرشحة في هذه الحالة، وتصبح المنافسة هنا بين asp.net و java.

لايمكننا الجزم بأن احدى هذه اللغات هي الأسرع دائما، فالأمر يتعلق بالاستخدام نفسه وطبيعة التطبيق المراد تطويره، حيث أن كل لغة من هذه اللغات يفضل استخدامها في تطبيقات معينة. بشكل عام، التطبيقات الصغيرة (المدونات ومواقع ووردبريس) يفضل استخدام php في تطويرها لبساطتها وسرعتها، أي أن php تعتبر أفضل من Java و Asp.net في هذه التطبيقات. أما المواقع الضخمة والمعقدة والتي تحوي على عدد كبير من المستخدمين وبيانات ضخمة (حكومية مثلا)، فان لغة php غير مرشحة في هذه الحالة، وتصبح المنافسة

لغة php تصلح لكافةالاستخدامات في المواقع الالكترونية، ولكن أبرز هذه الاستخدامات تكمن في:

  1. مواقع ال content managment systems مثل ووردبريس، حيث تستخدم بغزارة في المواقع المبنية بواسطة هذه ال cms.
  2. المتاجر الالكترونية بكل تأكيد.
  3. منصات تعليمية ومدونات.
  4. بعض الخواص وليس كلها في منصات التواصل الاجتماعي يمكن أن تبنى بواسطة php.

بعض المواقع التي لايفضل استخدام php لتطويرها:

  1. تطبيقات الصفحة الواحدة، او مايعرف ب single page applications.
  2. التطبيقات التي تطلب تحديثا فوريا، كالمحادثة في منصات التواصل الاجتماعي على سبيل المثال.
  3. الانظمة المعقدة ذات الحجم الضخم والمستخدمين الكثر
  4. البنى ال serverless يمكن استخدامها بواسطة php، ولكنها شائعة بلغات اخرى أكثر بكثير.
لغة php تصلح لكافةالاستخدامات في المواقع الالكترونية، ولكن أبرز هذه الاستخدامات تكمن في: مواقع ال content managment systems مثل ووردبريس، حيث تستخدم بغزارة في المواقع المبنية بواسطة هذه ال cms. المتاجر الالكترونية بكل تأكيد. منصات تعليمية ومدونات. بعض الخواص وليس كلها في منصات التواصل الاجتماعي يمكن أن تبنى بواسطة php. بعض المواقع التي لايفضل استخدام php لتطويرها: تطبيقات الصفحة الواحدة، او مايعرف ب single page applications. التطبيقات التي تطلب تحديثا فوريا، كالمحادثة في منصات التواصل الاجتماعي على سبيل المثال. الانظمة

الحل يكمن في ادراج تقسيمات النصوص التي تريد ضمن عنصر HTML معين، مثل <span></span> ومن ثم تحديد هذا العنصر وتغيير لونه عند مرور مؤشر الفأرة عليه.

ان كان هذا متوفرا، فالأمر يصبح بسيطا:

var elements = document.querySelectorAll('span')
elements.forEach(element => {
  element.addEventListener('mouseover', () => {
      element.style.color = "red" // اللون الذي تريد
  })
})

ان لم يكن هذه متوفرا، فعليك أن تقسم النص الخاص بك أولا، وثم تنفيذ الكود السابق.

لتقسيم النص الخاص بك، يمكنك تمريره الى دالة تستخدم ال regular expressions كهذه:

function divideText(text) {
      var parts = text.split(/(\d+)/).filter(Boolean);
      var spans = parts.map((part, index) => {
        if (index % 2 === 0) {
          return `<span>${part}</span>`;
        } else {
          return `<span class="between-numbers">${part}</span>`;
        }
      });
      return spans.join('');
}

ال text هو النص الخاص بك، ونتيجة الدالة يمكن تخزينها وعرضها لرؤية النص مقسما ضمن مجموعة span.

الحل يكمن في ادراج تقسيمات النصوص التي تريد ضمن عنصر HTML معين، مثل <span></span> ومن ثم تحديد هذا العنصر وتغيير لونه عند مرور مؤشر الفأرة عليه. ان كان هذا متوفرا، فالأمر يصبح بسيطا: var elements = document.querySelectorAll('span') elements.forEach(element => { element.addEventListener('mouseover', () => { element.style.color = "red" // اللون الذي تريد }) }) ان لم يكن هذه متوفرا، فعليك أن تقسم النص الخاص بك أولا، وثم تنفيذ الكود السابق. لتقسيم النص الخاص بك، يمكنك تمريره الى دالة تستخدم ال regular

أقصد أن البايثون في الحالة التي ذكرتها أفضل في تطوير الخوارزميات، أما الباك ايند فهو منفصل ويمكن تطويره باللغة التي تريد بحسب خبرتك ومتطلبات المشروع.

أقصد أن البايثون في الحالة التي ذكرتها أفضل في تطوير الخوارزميات، أما الباك ايند فهو منفصل ويمكن تطويره باللغة التي تريد بحسب خبرتك ومتطلبات المشروع.
Saad_Shahrour برمجة

اختيار لغة البرمجة الأفضل هو أمر متعلق بالمجال الذي تريدين الخوض فيه، وليس على اللغة بحد ذاتها، اذ أن كافة لغات البرمجة يمكن البدؤ بها.

قد تجدين الأسهل والأصعب والمطلوبة أكثر في منطقة معينة والأسرع و و و...

الا أن لغات البرمجة على حد سواء، يمكن تعلم أي منها بحسب حاجتك والمجال الذي تريدينه، ويمكنك حتى ايجاد مصادر تعلم لكافة اللغات أيضا!

اختيار لغة البرمجة الأفضل هو أمر متعلق بالمجال الذي تريدين الخوض فيه، وليس على اللغة بحد ذاتها، اذ أن كافة لغات البرمجة يمكن البدؤ بها. قد تجدين الأسهل والأصعب والمطلوبة أكثر في منطقة معينة والأسرع و و و... الا أن لغات البرمجة على حد سواء، يمكن تعلم أي منها بحسب حاجتك والمجال الذي تريدينه، ويمكنك حتى ايجاد مصادر تعلم لكافة اللغات أيضا!

اللغتان قادرتان على تطوير الخوارزميات بشكل عام، ولكن قرار اختيار واحدة منهما يعتمد على الخوارزميات التي تريدها انت، والمكاتب واطر العمل التي ستستخدمها في تطوير الخوارزميات.

على سبيل المثال، ان كانت الخوارزميات الشبيهة بخوارزميات يوتيوب ونيتفلكس التي تقصد متعلقة بالذكاء الاصطناعي وتعلم الالة، فأنت بمعظم الاحوال ستحتاج الى مكاتب مثل tensorflow و pytorch، وهي مكاتب صممت وطورت بشكل رئيسي للبايثون، مما يجعل لغة البايثون خيارا أفضل من لغة C#.

نفس القاعدة تتطبق على كافة الخوارزميات والمجالات الاخرى.

اللغتان قادرتان على تطوير الخوارزميات بشكل عام، ولكن قرار اختيار واحدة منهما يعتمد على الخوارزميات التي تريدها انت، والمكاتب واطر العمل التي ستستخدمها في تطوير الخوارزميات. على سبيل المثال، ان كانت الخوارزميات الشبيهة بخوارزميات يوتيوب ونيتفلكس التي تقصد متعلقة بالذكاء الاصطناعي وتعلم الالة، فأنت بمعظم الاحوال ستحتاج الى مكاتب مثل tensorflow و pytorch، وهي مكاتب صممت وطورت بشكل رئيسي للبايثون، مما يجعل لغة البايثون خيارا أفضل من لغة C#. نفس القاعدة تتطبق على كافة الخوارزميات والمجالات الاخرى.

وعليكم السلام، أهلا بك صديقي.

يمكنك ذلك بالطبع. سأقترح حلا أبسط بواسطة React ولكن يمكنك تطبيق ذات الفكرة بلغة ال JS أو أي اطار عمل تريد، وهذه هي الخطوات:

  1. عرف مصفوفة تحوي الايات القرانية التي تريد، وذلك لعدم كتابة كل اية في span او div يدويا مما يصعب ادخال او تعديل الايات في حال لزم ذلك.
  2. قم بالمرور على عناصر المصفوفة (الايات) واعرض div لكل اية يحوي class موحد يسمى aya ويحوي توابع تعمل عند وصول مؤشر الفأرة عليه وعند خروجها.
  3. عند مرور المؤشر على عنصر احصل على ال index (الترتيب) الخاص به لكي يتفعل تابع اللمس ويبحث عن العنصر الذي يحوي ال class المسى aya بالترتيب الذي حصلنا عليه وتغيير لونه، ومن ثم عند ازالة المؤشر سيتم البحث على ذات العنصر لتغيير اللون الى الطبيعي.

أي أنه سيتم عرض الايات وبعدها عند لمس اية معينة سيتم تخزين رقمها، ومن ثم البحث على الاية التي تحوي نفس الرقم وتغيير لونها، وعند ازالة الفأرة سيتم البحث على نفس الاية واعادة لونها للون الطبيعي.

const array = [
  "انا اعطيناك الكوثر",
  "فصل لربك وانحر",
  "ان شانئك هو الأبتر"
];

const handleMouseOn = (index) => {
  document.querySelectorAll('.aya')[index].style.color = "green";
}

const handleMouseOff = (index) => {
  document.querySelectorAll('.aya')[index].style.color = "inherit";
}

const YourComponent = () => (
  <div>
    {array.map((item, index) => (
      <div className='aya' key={index} onMouseOver={() => handleMouseOn(index)} onMouseOut={() => handleMouseOff(index)}>
        {item}
      </div>
    ))}
  </div>
);

export default YourComponent;
وعليكم السلام، أهلا بك صديقي. يمكنك ذلك بالطبع. سأقترح حلا أبسط بواسطة React ولكن يمكنك تطبيق ذات الفكرة بلغة ال JS أو أي اطار عمل تريد، وهذه هي الخطوات: عرف مصفوفة تحوي الايات القرانية التي تريد، وذلك لعدم كتابة كل اية في span او div يدويا مما يصعب ادخال او تعديل الايات في حال لزم ذلك. قم بالمرور على عناصر المصفوفة (الايات) واعرض div لكل اية يحوي class موحد يسمى aya ويحوي توابع تعمل عند وصول مؤشر الفأرة عليه وعند
Saad_Shahrour برمجة

تختلف ال Match Statement عن ال Switch Statement في عدة نقاط، أهمها طريقة التعريف، والتي هي كما يلي للمثال الذي ذكرته:

match n:
      case _ if n >= 1000:
          print("You've got a discount %30")
      case _ if n < 1000:
          print("You've got a discount %15")
      case _ if n <= 500:
          print("You've got a discount %10")
      case _:
          print("etc...")

حيث يستخدم أول سطر لتوضيح أن المتغير n هو الذي سيتم فحصه، وال case، فهي للحالات التي تم تضمينها في ال if وال else if.

أما ال "_" وحدها فهي تستخدم لتشمل باقي الحالات، تماما كما تعمل ال else في المثال الخاص بك.

مع العلم أن Match Statement مدعومة فقط في اصدارات اللغة python التي تبدأ من 3.10 وما بعد.

تختلف ال Match Statement عن ال Switch Statement في عدة نقاط، أهمها طريقة التعريف، والتي هي كما يلي للمثال الذي ذكرته: match n: case _ if n >= 1000: print("You've got a discount %30") case _ if n < 1000: print("You've got a discount %15") case _ if n <= 500: print("You've got a discount %10") case _: print("etc...") حيث يستخدم أول سطر لتوضيح أن المتغير n هو الذي سيتم فحصه، وال case، فهي للحالات التي تم تضمينها في ال