اذهب إلى المحتوى

عبدالباسط ابراهيم

الأعضاء
  • المساهمات

    4373
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    11

أجوبة بواسطة عبدالباسط ابراهيم

  1. لتكون قادرًا على استخدام ال  Layer via Cut، عليك التأكد من:

    • الطبقة غير مقفلة
    • الطبقة ليست Smart Object. بشكل عام ، يجب أن تكون طبقة نقطية 
    • تحتاج إلى تحديد شيء ما 

    قم بالتأكد من الخطوة الأولى والأخيرة أما بالنسبة للثانية فيمكنك تجربة الحل التالي

    قم بتحديد ال  Smart Object ثم قم بإختيار choose layer ثم Smart Objects  ثم Rasterize

    • شكرًا 1
  2. الأسباب الشائعة للخطأ

    • عدم وجود حزمة lightgbm مثبتة ويمكنك إتباع الخطوات كما في التعليق السابق
    • تثبيت الحزمة في إصدار Python مختلف عن الإصدار الذي تستخدمه.
    • IDE الخاص بك يقوم بتشغيل إصدار غير صحيح من Python.

    ولكن إذا لم تعمل الخطوات السابقة فحاول تثبيت الحزمة من خلال الأمر pip3 كالتالي

    pip3 install lightgbm

    حتى يتم تثبيت إصدار متوافق مع ال python

    وإذا لم تعمل معك الخطوات الاسبقة فقم بتوضيح رسالة الخطأ

  3. لا تيأس إن لم تفهم كل المصطلحات على الفور! حاول فقط تكوين فكرة عامة عما يحدث وبالإضافة للشرح في التعليق السابق يجب عليك معرفة المصطلحات التالية لأنها شائعة في إطار العمل laravel

    • عندما يتم تقديم طلب إلى Laravel ، فسوف يقوم أولاً باستدعاء public / index.php file. نقطة البداية لكل طلب. يحتوي ملف Index.php فقط على بضعة أسطر من التعليمات البرمجية التي ستقوم بتنفيذ إجراءات التهيئة.
    • بعد ذلك ، سيتم تمهيد إطار عمل Laravel لاستخدام وإنشاء مثيل التطبيق.
    • بمجرد إنشاء instance من التطبيق ، ستتم معالجة الطلب الوارد بواسطة kernel. هناك نوعان من النواة في Laravel HTTP kernel & Console kernel. لذلك يمكن معالجة الطلب الوارد إما عن طريق HTTP kernel أو Console kernel اعتمادًا على نوع الطلب. هذان النوعان من النواة هما النقطة المركزية لكل طلب.
    • kernel HTTP ، والتي يتم وضعها في app / Http / Kernel.php. إنه يتلقى طلبًا ويعيد الرد. Bootstrappers التي تم تحديدها بواسطة فئة Kernel ، والتي تقوم بتكوين معالجة الأخطاء وتكوين التسجيل واكتشاف البيئات والمهام الأخرى التي يجب القيام بها قبل معالجة الطلب.
    • سيحدد HTTP Kernel قائمة البرامج الوسيطة التي تم تمريرها قبل معالجتها بواسطة التطبيق.
    • الخطوة التالية للنواة هي تحميل موفري الخدمة كجزء من إجراء التمهيد. يتم وضع الموفرين المطلوبين للتطبيق في ملف التكوين config / app.php. بينما تستدعي طريقة التسجيل ، سيتم تسجيل جميع مقدمي الخدمة. بمجرد تسجيل جميع الموفرين ، سيتم استدعاء طريقة التمهيد.
    • بمجرد بدء تشغيل التطبيق وتسجيل جميع مزودي الخدمة وتمهيدهم ، سيتم تسليم الطلب إلى جهاز التوجيه للإرسال. سيرسل جهاز التوجيه الطلب إلى  route أو controller ، بالإضافة إلى تشغيل أي برمجية وسيطة middleware خاصة بالمسار.
    • سيقوم جهاز التوجيه بتوجيه طلب HTTP إلى controller أو إعادة عرض أو استجابات مباشرة عن طريق حذف وحدة التحكم. سيتم وضع هذه المسارات في app / route.php.
    • وحدة التحكم app/controllers/ينفذ إجراءات محددة ويرسل البيانات إلى طريقة عرض.
    • عرض app/views/ تنسيقات البيانات بشكل مناسب ، مما يوفر استجابة HTTP.

    هذه الخطوات يمكنك القراءة بتفصيل عنها في موسوعة حسوب 

    • شكرًا 1
  4. إذا لم تعمل الخطوات السابقة معك ومازالت المشكلة قائمة فقم بتضمين المكتبة ك cdn كالتالي

      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw==" crossorigin="anonymous" referrerpolicy="no-referrer" /></head>

    و تأكد من أن أسماء الأيقونات سليمة لترى النتيجة 

    وحاول تطبيق الخطوات بالترتيب حتى تعرف مكان المشكلة بالضبط

    • شكرًا 1
  5. بالنسبة للغات البرمجة فهي  - تعريف بناء الجملة ودلالات اللغة المكتوبة بلغة بشرية - ليست شيئًا ينطبق عليه ترخيص برنامج مفتوح المصدر. لغة البرمجة نفسها ، تعريفها ، ليست هي نفسها التطبيق لتلك اللغة (في شكل مترجم ، أو مترجم ، أو مجمّع ، مكتوب بلغة برمجة واحدة أو أكثر).

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

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

    أما بالنسبة للمكتبات التي تستخدمها في التطبيق فذلك يختلف من مكتبة لأخرى لذلك يجب عليك إختيار اللغة أولاً ثم بعد ذلك يجب عليك إختيار المكتبات المفتوحة المصدر

     

  6. إذا لم تعمل الخطوات السابقة تأكد من وجود الكود التالي في ملف pom.xml الخاص بمشروع Maven الخاص بك :

    <build>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
      </plugins>
    </build>

    وإذا كان موجود تأكد من الإصدار الموجود هو الإصدار المناسب

  7. يمكنك الحصول على هذه الخدمة من خلال ال API وذلك بعد التسجيل في الموقع كالتالي

    • قم بالذهاب إلى  transactional APIs ثم إلى Onboarding ثم  Receivables ثم  Global Accounts APIs
    • بعد ذلك يمكنك الحصول على عروض أسعار عبر 160 دولة لمختلف العملات
    • بعد ذلك يمكنك إضافة / تحرير / تعطيل / الاستعلام وتكوين معلومات الحساب المصرفي

    من خلال هذا الرابط يمكن التسجيل في الموقع وإتباع الخطوات السابقة 

    ويمكنك الحصول على المعلومات من خلال التوثيق الرسمي من هذا الرابط

    • أعجبني 1
  8. يمكن شرح البرنامج بشكل أكثر تفصيلاً من خلال الخطوات التالية

    • قم بإنشاء كلاس جديد وسمِّه BalancedParentheses مثلاً.
    • أضف الدالة isBalanced() إلى الكلاس BalancedParentheses. يجب أن تأخذ هذه الدالة معاملًا واحدًا وهو السلسلة التي تحتوي على الأقواس المتوازنة أو غير المتوازنة.
    • داخل isBalanced()، قم بإنشاء كائن Stack جديد.
    • استخدم حلقة for-each لتحديد كل حرف في السلسلة المعطاة.
    • إذا كان الحرف هو أحد الأقواس المفتوحة (، {، [)، فأضفه إلى Stack.
    • إذا كان الحرف هو أحد الأقواس المغلقة (، }،])، فتحقق من أن Stack غير فارغ وأن Stack.peek() يطابق الأقواس المفتوحة المناسبة. إذا كان ذلك صحيحًا، فقم بإزالة الأقواس المفتوحة من Stack.
    • إذا كان الحرف ليس أيًا من الأقواس المفتوحة أو المغلقة، فلا يمكن توازنه ويجب إرجاع false.
    • في نهاية isBalanced()، تحقق من أن Stack فارغ. إذا كان ذلك صحيحًا، فالأقواس متوازنة ويجب إرجاع true. إلا، فالأقواس غير متوازنة ويجب إرجاع false.

    لا تنسى إستراد الحزمة java.util.Stack.

  9. بتاريخ On 27‏/3‏/2023 at 09:57 قال aaa:

    شكراً ولكن كيف يمكنني اظهار الناتج ع هذا الشكل.   

    2

    4-

    6

    8-

    لانه عندما قمت بإدخال الكود لم يظهر الحل 

     

     

    يمكنك تنفيذ البرنامج كما تريد من خلال الخطوات التالية

    سيجعل هذا الكود كل رقم ثانٍ سلبيًا ، بما في ذلك الرقم الثاني في المصفوفة. إذا كنت ترغب في جعل كل رقم آخر سلبيًا ، 

    let arr = [];
    for (let i = 2; i <= 100; i += 2) {
        if (i % 4 === 0) {
            arr.push(-i);
        } else {
            arr.push(i);
        }
    }
    console.log(arr);

     

  10. كما في التعليقات السابقة فإن تعلم إطار العمل react أو أي إطار آخر مبني على javascript يفضل تعلم اللغة javascript بشكل جيد قبل الإنتقال إليه 

    لذلك لا يفضل إطلاقاً دراسة ال react قبل تعلم ال javascript والتمكن منها 

    ولكن المشكلة عندك أنك تشعر أن المعلومات متشتتة قليلا وليس أفضل حل لهذه المشكلة هو مراجعة الدروس مرة أخرى إنما التطبيق على ما تعلمته ومحاولة بناء بعض التطبيقات على ال javascript ولاحظ أن قلة التطبيق أثناء التعلم هو سبب هذه المشكلة 

    والسؤال هنا كيف تقوم بالتطبيق على javascript  بعد تعلم الأساسيات  من خلال مواقع تقدم العديد من التدريبات على لغات البرمجة على جزئيات ومفاهيم معينة فمثلاً ستجد تطبيق على ال function فقط وهذه المواقع مثل 

    •  CodeChef
    • Coderbyte
    • Codewars
    • CodinGame

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

    JavaScript Calculator. : يمكنك بناء هذا التطبيق عند دراسة ال operators 

    JavaScript Weather App.: يمكنك بناء هذا التطبيق عند دراسة ال Ajax وهذه أمثلة يمكنك إختيار التطبيقات التي تفضلها

    • أعجبني 1
  11. يمكنك إنشاء البرنامج من خلال الخطوات التالية وهي بلغة python ولكن طالما الخطوات مفهومة يمكن إنشاء البرنامج بأي لغة برمجة كالتالي

    قوم بإنشاء مكدس فارغ باستخدام قائمة فارغة: 

    stack = []

    كرر العملية لكل حرف في السلسلة المدخلة باستخدام حلقة for:

     for char in string

    لكل حرف، قم بإضافته إلى المكدس باستخدام الطريقة append()

    stack.append(char)

    بمجرد إضافة جميع الحروف إلى المكدس، يقوم بإنشاء سلسلة جديدة فارغة لاحتواء السلسلة المعكوسة

    reversed_string = ""

     while loop يستمر طالما توجد عناصر في المكدس: 

    while len(stack) > 0

    داخل while loop، يقوم بإزالة العنصر الأعلى من المكدس باستخدام الطريقة pop() ويضيفه إلى نهاية السلسلة المعكوسة باستخدام اتحاد السلاسل

    reversed_string += stack.pop()

     

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

    • يتم إنشاء مصفوفتين فارغتين باستخدام الأمر التالي:
      first_list = []
      second_list = []
    • يتم استدعاء دالة input() لطلب المستخدم إدخال القيم في كل مصفوفة على حدة. يتم تحويل القيم المدخلة إلى أعداد صحيحة مثال على ذلك 
      first_list = [int(x) for x in input(" قم بإدخال الأعداد").split()]

      ويتم إنشاء المصفوفة الثانية بنفس الطريقة

    • يتم إنشاء مصفوفة جديدة تحتوي على جميع عناصر المصفوفة الأولى متبوعة بجميع عناصر المصفوفة الثانية باستخدام الأمر التالي:

      result_list = first_list + second_list

       

  13. بتاريخ 2 ساعة قال روجيه حنا:

    عفوا لم انتبه لذلك ، القصد كان في دورة علوم الحاسوب _ أساسيات البرمجة (لغة جافا سكريبت) الفيديوهات مجرد نظري بالنسبة لي (حسب توقعي) والمدرب لم يعطي اي شيء للتدريب العملي ، هل هذا كافي اذا كنا غير مطالبين بالعملي؟

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

    لا يمكن أن يبدأ مع المدرب من خلال كتابة الأكواد في أول تعلم البرمجة من خلال قسم أساسيات البرمجة حيث أن في البداية يجب أن يبدأ معك بشرح بعض المفاهيم الأساسية نظرياً حتى تأخذ فكرة مسبقة حول البرمجة وذلك يحدث من خلال المسار " مبدئ البرمجة  "

    ثم بعد ذلك المسار يبدأ مع بالشرح العملي والنظري معاً حتى تقوم بالتطبيق وراء المدرب تدريجياً لذلك ستقوم بالتدريبوراء المدرب من خلال

    • كتابة البرنامج الذي يقوم المدرب بشرحه في كل درس (حتى إذا كان برنامج بسيط ) فمثلاً يشرح المدرب مفهوم الدوال سيقوم المدرب ببناء دالة بسيطة لتوضيح الشرح فيجب عليك كتباة هذا البرنامج بنفسك عند الإنتهاء من الدرس
    • والطريقه الأفضل ولكن ستتطلب من المزيد من الجهد وهو محاولة التغيير في الكود الذي يستخدمه المدرب والتعديل على البرنامج بشكل بسيط وهذه الطريقة مفيدة وفعالة أكثر من حيث تثبيت المعلومات بشكل أكبر وغالباً ستواجهك بعض المشكلات قم بالطرح المشكلة أسفل الدرس وسيحاول المدرب حل المشكلة معك سيفيدك ذلك في تعلم بنسة أكبر 
    • شكرًا 1
  14. Webpack في حد ذاته يعرف فقط جافا سكريبت ، لذلك عندما نريده أن يحزم أي نوع آخر من الموارد مثل .css أو .scss أو .ts ، يحتاج webpack إلى المساعدة وتجميع تلك الأنواع من الموارد غير جافا سكريبت. loaders هي الأدوات المساعدة . 

    css-loader  من شأنها أن تساعد Webpack على جمع CSS من جميع ملفات css المشار إليها في التطبيق الخاص بك ووضعها في سلسلة.ثم سوف يأخذ style-loader سلسلة الإخراج التي تم إنشاؤها بواسطة مُحمل css أعلاه ويضعها داخل علامات

    لذلك عندما تحاول التعامل مع ملفات مثل css بدون ال loaders الخاصة بها css-loader و style-loader مثلاً سيظهر لك الخطأ السابق 

    لذلك يجب تثبيت هذه الحزم

    npm install css-loader style-loader --save-dev

    ثم بعد ذلك إضافة الإعدادات التالية لملف ال webpack.config.js

    {
      test:/\.css$/,
        use:['style-loader','css-loader']
    }

    الإعدادات السابقة يتم إضافتها للمصفوفة rules

  15. قام عمر في التعليق السابق بشرح الخطأ بشكل دقيق ولكن يجب عليك أن تعرف نوع الخطأ حتى تصل لسبب المشكلة بشكل أسرع وكما يظهر لديك في الرسالة تخبرك أنه Reference Error وبالتالي تم حل نصف المشكلة حيث تحدث أخطاء المراجع Reference Error عندما تحاول الإشارة إلى أو استخدام شيء غير موجود. كمثال 

    let a = 1
    console.log(b) 
    
    //الناتج
    Uncaught ReferenceError: b is not defined

    هنا ، a هو متغير تمت تهيئته بقيمة. لقد واجهنا خطأ لأننا حاولناطباعة  المتغير b غير الموجود. لم نعلن بعد عن أي متغير من هذا القبيل ، لذلك لدينا خطأ مرجعي هنا.

    لذلك حل المشكلة السابقة كما أخبرك عمر أنه يجب عليك تعريف المتغير أو الوظيفة التي تستخدمها

  16. بتاريخ 1 دقيقة مضت قال طلال السحيمي:

    ممتاز شرح واضح لكن الفايده من First function ماهو ؟

     

    الفائدة ببساطة لوظائف الدرجة الأولى في لغة البرمجة javascript أنه في بعض اللغات البرمجية الأخرى  يكون لها قيود / حدود على كيفية إنشاء الوظائف أو استخدامها وليس كما في الشرح السابق فلا يمكنك يمكن إسنادها كقيمة لمتغيرات ولا يمكن تمريرها كمعاملات للوظائف إلخ

  17. تعتبر لغة البرمجة أنها تدعم وظائف الدرجة الأولى عندما لا يكون لها قيود / حدود على كيفية إنشاء الوظائف أو استخدامها.حيث يقال إن لغة البرمجة لها وظائف من الدرجة الأولى عندما يتم التعامل مع الوظائف في تلك اللغة مثل أي متغير آخر.

    بعض "الامتيازات" للوظائف من الدرجة الأولى:

    • يمكن إسنادها كقيمة لمتغيرات بدون مشكلة
      const string = "Foo"
      const num    = 2
      const bool   = false
      const greet  = (name) => `Hello ${name}`
      
      greet('Ahmed') // Hello Ahmed

       

    • يمكن تمريرها كمعاملات للوظائف
      const nums = [1, 2, 3, 4, 5]
      const addOne = (n) => n + 1
      const addedOne = nums.map(addOne) // [2, 3, 4, 5, 6]

       

    • يمكن إرجاعها كنتيجة من وظيفة ما
      const makeCounter = () => {
          let count = 0
          return () => ++count
      }
      const counter = makeCounter()
      counter() // 1
      counter() // 2

       

    • يمكن تخزينها في أي هياكل البيانات : يمكننا تخزين الوظائف في مصفوفات و يمكننا أيضًا تخزينها في كائنات 

    وظائف الترتيب الأعلى هي وظائف تعمل على وظائف أخرى ، إما عن طريق أخذها كوسيطات أو عن طريق إعادتها. بكلمات بسيطة ، دالة الترتيب الأعلى هي وظيفة تتلقى دالة كوسيطة أو تُرجع الدالة كإخراج. على سبيل المثال ، Array.prototype.map و Array.prototype.filter و Array.prototype.reduce هي بعض وظائف الترتيب الأعلى المضمنة في اللغة.

    ولمعرفة الأهمية سنقوم بكتابة مثال من خلال وظائف الترتيب الأعلى وبدونها

    بدون وظيفة الترتيب الأعلى

    const birthYear = [1975, 1997, 2002, 1995, 1985];
    const ages = [];
    for(let i = 0; i < birthYear.length; i++) {
      let age = 2018 - birthYear[i];
      ages.push(age);
    }

    يمكنك تنفيذ البرنامج السابق ببساطة مع وظيفة الترتيب الأعلى map 

    const birthYear = [1975, 1997, 2002, 1995, 1985];
    const ages = birthYear.map(year => 2018 - year);

     

    • شكرًا 1
  18. لا، ليس من الضروري تعلم C# Windows Forms Applications قبل تعلم ASP.NET MVC وEntity Framework وXamarin وغيرها من إطارات عمل .NET Framework.

    على الرغم من أنه من المفيد أن يكون لديك فهم جيد للغة C#، إلا أن ASP.NET MVC و Entity Framework و Xamarin يتطلبون معرفة مختلفة عن تطوير تطبيقات Windows Forms. وعلاوة على ذلك، هذه الإطارات تستخدم مفاهيم وأدوات مختلفة عن تطوير تطبيقات Windows Forms.

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

  19. قبل أن تقوم بالتسويق للمدونة الخاصة بك يجب عليك إتباع الخطوات التالية للتركيز على موقعك أولاً

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

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

    ويعتبر من أكثر الطرق ترويجاً لموقعك هو

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

    • أعجبني 1
  20. يجب عليك أولاً معرفة المسار المتبع لتصبح مطور واجهات أمامية frontend ومن خلال هذه المقالة ستجد جميع المهارات المطلوبة في هذا المجال 

    وبالنسبة للدورات في متاحة بكثرة وهذه يمكن أن تسبب مشكلة فلذلك يجب عليك القراءة أولاً حول هذا المجال ولتستطيع تحديد الدورة المناسبة لك ويمكنك البحث عن الدورات سواء الموجودة بأكاديمية حسوب أو على اليوتيوب يوجد الكثير من الكورسات المجانية  فلا يوجد أكثر من المصادر 

    وبدلاً من التكرار يمكنك أن تجد نصائح مفيدة في إجابات هذا السؤال 

    ولكن تبقى النصيحة الأهم في تعلم البرمجة هي التطبيق هو ما يجعل محترف في هذا المجال أو غيره 

     

    • أعجبني 1
  21. من خلال المهارات التي قمت بذكرها يمكنك أن عديد جيد من الوظائف على مواقع العمل الحر بمختلف أنواعها مثل

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

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

    لذلك الحل هو

    • أن تعمل بهذه النصائح في تقديم العرض الخاص بك على المشروع وبدلاً من التكرار يمكنك قراءة الإجابات على هذه الأسئلة 1 2 وقراءة هذه المقالة
    • وحاول البحث عن المشاريع التي تناسب مهاراتك كما في الرابط السابق في مستقل أو غيره
    • أما الحل الثاني هو التطوير من مهاراتك حتى تصل للمشاريع التي تتطلب مهارات عالية ولن تجد بها الكثير من المنافسة وهذا يتطلب من تعلم العديد من المهارات كما في التعليق السابق

     

    • أعجبني 1
  22. لا يؤثر استخدام علامات p أو علامات div وحدهما بشكل مباشر على تحسين محركات البحث.

    تعد هذه العلامات جزءًا من بنية HTML وتُستخدم لتنظيم المحتوى وتنسيقه على صفحة الويب.ومع ذلك ، فإن الطريقة التي تستخدم بها علامات p و div يمكن أن تؤثر بشكل غير مباشر على تحسين محركات البحث.

    تستخدم محركات البحث إشارات مختلفة لتحديد مدى ملاءمة وجودة صفحة الويب ، والطريقة التي تنظم بها المحتوى الخاص بك يمكن أن تؤثر على هذه الإشارات. على سبيل المثال ، تعتبر محركات البحث عمومًا أن النص داخل علامات p أكثر أهمية من النص داخل علامات div لأن علامات p تهدف إلى الإشارة إلى فقرات من النص. لذلك ، يمكن أن يؤدي استخدام علامات p لفصل الفقرات وتوفير عناوين واضحة إلى تحسين قابلية قراءة المحتوى الخاص بك وإمكانية الوصول إليه ، مما يؤدي بدوره إلى تحسين تصنيف محرك البحث الخاص به.

    بالإضافة إلى ذلك ، يمكن أن يساعد استخدام HTML الدلالي ، بما في ذلك علامات p و div ، محركات البحث في فهم محتوى وهيكل صفحات الويب الخاصة بك ، مما قد يؤدي أيضًا إلى تحسين مُحسنات محركات البحث لديك. يشير HTML الدلالي إلى استخدام علامات HTML التي تعكس بدقةالمحتوى الذي تحتويه. على سبيل المثال ، يمكن أن يساعد استخدام علامات h1 للعناوين الرئيسية وعلامات h2 للعناوين الفرعية محركات البحث في فهم التسلسل الهرمي للمحتوى وتنظيمه.

    باختصار ، لا يؤثر استخدام علامات p وعلامات div وحدها بشكل مباشر على مُحسنات محركات البحث ، ولكن الطريقة التي تستخدمها يمكن أن تؤثر على قابلية القراءة وإمكانية الوصول والهيكل الدلالي لصفحات الويب الخاصة بك ، مما قد يؤثر بشكل غير مباشر على مُحسنات محركات البحث.

  23. يتطلب إنشاء تطبيق يشبه Uber مزيجًا من تطوير الواجهة الأمامية والخلفية ، بالإضافة إلى تكامل العديد من واجهات برمجة التطبيقات والخدمات.ولنتحدث حول لغة البرمجة c# وما يمكنها تنفيذه

    يمكن استخدام C # لتطوير تطبيقات الأجهزة المحمولة لأنظمة Android و iOS و Windows.

    فيما يلي بعض الطرق التي يمكنك من خلالها استخدام C # لتطوير تطبيقات الجوال:

    Xamarin : هو إطار تطوير تطبيقات جوّال شائع متعدد الأنظمة الأساسية يستخدم C # و .NET لإنشاء تطبيقات جوال أصلية لأجهزة Android و iOS و Windows. باستخدام Xamarin ، يمكنك مشاركة ما يصل إلى 90٪ من قاعدة التعليمات البرمجية الخاصة بك عبر منصات متعددة ، مما يقلل من وقت التطوير وتكاليفه.

    Unity: هو محرك ألعاب يدعم البرمجة النصية لـ C # ويمكن استخدامه لتطوير ألعاب الجوال لنظامي التشغيل iOS و Android ومنصات أخرى. باستخدام Unity ، يمكنك إنشاء ألعاب غامرة ثنائية وثلاثية الأبعاد تعمل على مجموعة متنوعة من الأجهزة المحمولة.

    NET MAUI:  (واجهة مستخدم تطبيقات متعددة الأنظمة الأساسية) عبارة عن إطار عمل جديد لإنشاء تطبيقات جوال متعددة الأنظمة الأساسية باستخدام C #. إنه تطور لـ Xamarin.Forms ويسمح للمطورين بإنشاء تطبيقات أصلية لنظام Android و iOS و Windows و macOS باستخدام قاعدة كود واحدة.

    ASP.NET Core:  هو إطار عمل ويب شائع يدعم C # ويمكن استخدامه للتطويرتطبيقات الجوال التي تعتمد على واجهات برمجة التطبيقات المستندة إلى الويب. باستخدام ASP.NET Core ، يمكنك إنشاء واجهات برمجة التطبيقات التي تتفاعل مع قواعد البيانات ، والمصادقة على المستخدمين ، وتنفيذ المهام الخلفية الأخرى.

    C # هي لغة متعددة الاستخدامات يمكن استخدامها في مجموعة متنوعة من سيناريوهات تطوير تطبيقات الأجهزة المحمولة. سواء كنت تقوم ببناء لعبة أو تطبيق جوال أصلي أو تطبيق جوال مستند إلى الويب ، يمكن أن توفر C # تجربة تطوير قوية وفعالة.

    • أعجبني 1
  24. بالإضافة للحلول السابقة يمكنك استخدام إضافة للمتصفح تقوم بتنفيذ الحلول السابقة بدلاً عنك ولكن لاحظ أنه يتم استخدام هذه الإضافة في حالة أنك تقوم بتنفيذ هذا الموقع كتدريب حيث الإضافة تعالج المشكلة بالتأكيد. ومع ذلك ، فإن هذا الإصلاح ينطبق فقط على جهازك الخاص. في البيئة المحلية ، من الجيد أن يكون لديك الإضافة مثبت يمكنه مساعدتك في تجاوز الخطأ.ولكن بمجرد نشر تطبيقك ، لا تتوقع أن يقوم المستخدمون بتثبيت الإضافة أيضًا. 

    تثبيت امتداد moesif CORS. بمجرد التثبيت ، انقر على الأيقونة في متصفحك لتنشيط الامتداد.  

     

    • أعجبني 1
  25. بما أنك تقوم بإنشاء موقع social إذا ستحتاج للتعامل مع الوقت والتواريخ في كثير من الأماكن وبمعالجة مختلفة لذلك يعتبر الأفضل هو استخدام المكتبات الجاهزة وهناك الكثير منها ولكن الأفضل

    • Moment.js : هي واحدة من أقدم وأشهر المكتبات ذات الصلة بالتاريخ لكل من Node.js و vanilla Javascript (مما يجعلها متوافقة مع المستعرض) متوفر في العديد من البيئات المختلفة ومديري الحزم المختلفين بما في ذلك npm و yarn و NuGet و spm و meteorمستقر وموثوق للغاية ولكن تعتبر بطيئة نسبياً وحجمها كبير مقارنة بالمكتبات الأخرى
    • date-fns : يوفر date-fns مجموعة الأدوات الأكثر شمولاً وبساطة وثباتًا للتعامل مع تواريخ JavaScript في المستعرض و Node.js
    • dayJS :  هو نسخة مصغرة من Moment.js. يستخدم DayJS نفس واجهة برمجة التطبيقات الخاصة بـ Moment.js ولكنه يقلل حجم ملفه بنسبة 97٪
×
×
  • أضف...