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

محمد ربيع زليول

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

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

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

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

    18

إجابات الأسئلة

  1. إجابة محمد ربيع زليول سؤال في تسعير مشروع Flutter and Laravel والتعديلات عليه كانت الإجابة المقبولة   
    كما أخبر الأخ وائل، لا يوجد سعر محدد لإستخدام خرائط جوجل، تعتمد خرائط جوحل على نضام Pay-as-you-go pricing في التسعير بحيث أن التكلفة مرتبطة بعدد الطلبات التي تقوم بها ونوعيتها ولا يوجد أي اشتراك شهري أو سنوي، ولأقرب الموضوع سأذكر لك المتغيرات التالية التي تأثر في التكلفة:
    عدد الطلبات التي سترسلها إلى خادم جوجل: يقوم بجوجل بوضع تسعيرة معينة لكل طلب، فمثلًا لنقل أن كل طلب ب 1$، اذا تم ارسال 100 طلب ستكون التكلفة 100دولار واذا أرسلت 1000 ستكون التكلفة 1000 دولار وهكذا ( هذا مثال فقط، أغلى طلب تساوي قيمته 0.02 دولار، أما بقية الطلبات فثمنها 0.002 أو 0.007  ) نوعية الطلبات التي ستقوم بإرسالها: يحتوي جوجل على مجموعة من الخدمات، مثلًا: الخرائط الثابتة Static Maps: وهي خدمة تقدم لك خريطة ثابتة على شكل صورة يمكن أن تضعها في <img /> في HTML مثلًا. الخرائط الدينامكية Dynamic Maps: وهي خدمة تمكن من عرض خرائط ديناميكية، يمكن التفاعل معها، عن تكبير تصغير الخريطة، تغير شكلها .. الإتجاهات Directions API: وتستطيع من خلالها طلب معلومات عن طريقة التوجه من نقطة معينة إلى أخرى. Distance Matrix : تمكن من حساب مسافة بين نقطتين أو مجموعة من النقاط. Places في حالة كنت تريد أن تقوم بعمل Autocomplete للبحث عن مكان أو عنوان ما. ... فهذه الأنواع وغيرها لكل منها سعر لكل طلب، بحيث ان سعر الخرائط الثابتة مثلًا هو 0.002 دولار لكل طلب، بينما سعر الخرائط الدينامكية هو 0.007 دولار لكل طلب.
    أود أن أذكر أيضًا أن جوجل تقدم استخدامًا مجانيًا، أعتقد أنه يساوي 200 دولار شهريًا ( غير متأكد من الرقم )، في حالة لم تصل إلى هذا الرقم لا يقوم النظام بقطع أي مبالغ، لكن عندما تفوق التكلفة هذا الرقم يقوم النظام بإقتطاع المبلغ المستهلك.
    بالنسبة لمشروعك ستستخدم في الغالب Dynamic Maps لعرض الخرائط، وأماكن الأشخاص كحد أدنى.
    ويمكن أن تزيد بعض الخدمات الأخرى على حسب طلب العميل، كالإتجاهات أو البحث عن الاماكن وهكذا.
    هذه الرابط يحتوي على كافة التفاصيل المتعلقة بالتسعير. PRICING
  2. إجابة محمد ربيع زليول سؤال في استخدام محرر tiny في تطبيق رياكت كانت الإجابة المقبولة   
    أعتقد أن المحرر يعمل بشكل صحيح، هذا هو دوره، فهو في النهاية يقوم بتحويل النص المكتوب به وتنسيقاته إلى أكواد HTML.
    ما يجب عليك ان تقوم به هو التالي:
    بدل طباعة المحتوى بالشكل العادي كما تقوم بطباعته حاليًا ( على شكل نص string )، يجب عليك أن تقوم بعمل render لهذا النص وتحويله إلى HTML.
    سأقدم لك حلين للقيام بهذا:
    الحل الأول:
    عن طريق إستخدام الخاصية dangerouslySetInnerHTML.
    لنقل مثلًا أن الخاصية أو المتغير الذي يحتوي على هذه الأكواد التي أرسلها المحرر هو content.
    بدل كتابة الكود أسفله لعرض المحتوى:
    <div> {content} </div> يجب كتابة كود مشابه للكود التالي:
    <div dangerouslySetInnerHTML={{__html: content}} /> الحل الثاني:
    يمكنك إستخدام بعض المكتبات التي تقوم بنفس الدور ( تحويل html على شكل نص string إلى عناصر HTML )، أذكر كمثال مكتبة html-react-parser
    التي يمكنك تثبيتها في مشروعك عن طريق الأمر:
    npm i html-react-parser ثم إستخدامه بالشكل التالي:
    import parse from 'html-react-parser'; ثم:
    <div> {parse(content)} </div>  
  3. إجابة محمد ربيع زليول سؤال في حل مشكلة تنصيب رياكت كانت الإجابة المقبولة   
    المشكلة هي أنك قمت بتحميل create-react-app بشكل global عن طريق الأمر التالي:
    npm install -g create-react-app هذا الأمر يقوم بتحميل نسخة إلى حاسوبك ويستخدمها عندما تقوم بكتابة أمر create-react-app، النسخة التي قمت بتحميلها سابقًا غير حديثة outdated.
    أنصحك بحذفه عن طريق الأمر التالي:
    npm uninstall -g create-react-app ثم بعد ذلك يمكنك إستخدام الأمر التالي لإنشاء المشروع:
    npx create-react-app my-app مع تغير my-app لإسم تطبيقك.
  4. إجابة محمد ربيع زليول سؤال في كيف اغير سعر الخدمة في خمسات كانت الإجابة المقبولة   
    من خلال قاعدة المعرفة، سؤال كيف أعدّل معلومات الخدمة مثل العنوان، الوصف، الصورة، نجد أنه يمكنك تعديل جميع معلومات الخدمة إلا معلومتين وهما:
    عنوان الخدمة. تصنيف /قسم الخدمة. كما نجد أنه يمكن تعديل تطويرات الخدمة ووصفها، أي انه يمكن تعديل سعر الخدمة المقدم لكن هناك ملاحظة في آخر الصفحة وهي كالتالي:
    إذن من خلال المعلومات السابقة، يمكن تعديل أسعار الخدمات التطويرية ووصف الخدمة وغيرها من المعلومات، لكن لا يمكن تعديل العنوان، كما يجب أن يضل العنوان مطابقًا لمحتوى الخدمة.
    على العموم، يمكنك دائمًا التواصل مع فريق الدعم من خلال مركز مساعدة حسوب، يمكنك فتح تذكرة، وشرح المشكلة وسيقوم فريق الدعم بالتواصل معك في أقرب وقت.
  5. إجابة محمد ربيع زليول سؤال في ما سبب مشكلة tried to register two views with the same name في react native كانت الإجابة المقبولة   
    في حالة حصلت معك المشكلة عند ثتبيت مكتبة react-navigation، يجب عليك تحميل هذه الإعتماديات dependencies :
    expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view في حالة كنت قد قمت بالفعل بثتبيت هذه الإعتماديات، اتبع الخطوات التالية:
    أغلق جميع الطرفيات terminals المرتبة ب expo قم بحذف ملف package-lock.json قم بحذف مجلد node_modules ثم قم بكتابة الأمر npm install وتشغيل expo عن طريق الأمر expo start -c  
  6. إجابة محمد ربيع زليول سؤال في تغيير طريقة عرض القيم بعد جلبها من قاعدة البيانات PDO كانت الإجابة المقبولة   
    يمكنك تعديل السطر التالي:
    $stmt = $con->prepare("SELECT id, name, imag, potx, pofl, cmnt, flng FROM post"); ليصبح هكذا:
    $stmt = $con->prepare("SELECT id, name, imag, potx, pofl, cmnt, flng FROM post order by id desc"); هنا نطلب منه إحضار المقالات مرتبة على حسب id بطريقة تنازلية، أي من أكبر إلى الأصغر.
  7. إجابة محمد ربيع زليول سؤال في بخصوص عدم تفعيل الدورة بعد اتمام عملية الدفع كانت الإجابة المقبولة   
    عليكم السلام ورحمة الله تعالى وبركاته.
    يمكنك التواصل مع فريق الدعم من هذا الرابط، عن طريق فتح تذكرة جديدة وإخبارهم بالمشكلة التي تواجهك، وسيقوم الفريق بإجابتك وحلها في أقرب وقت ممكن.
    شكرًا لك.
  8. إجابة محمد ربيع زليول سؤال في ما هو ال fork كانت الإجابة المقبولة   
    أعتقد أن مصطلح fork هو مصطلح خاطئ، لم يستعمل في محله، وكان يجب إستخدام مصطلح repository بدلًا عنه، ومعنى repository هي مستودع، أو لتبسيط هو مشروع على إحدى المنصات التي تستخدم Git ك Github أو Gitlab وغيرها من المنصات..
    وعمل fork ل repository يعني نسخ هذا المستودع إلى حسابك الخاص.
    مثلًا: يمكنك عمل fork لمستودع ما على Github عن طريق الضغط على زر fork أعلى يمين الصفحة، وبعد ضغطك سيتم نسخ هذا المستودع لحسابك الشخصي.
  9. إجابة محمد ربيع زليول سؤال في كيفية تغيير نظام عرض الساعة من نظام 24 الى 12 ساعة كانت الإجابة المقبولة   
    بالنسبة للإدراج فهو غير مهم، الطريقة التي تقوم بها بإدراج التاريخ صحيحة.
    يجب تعديل التاريخ عند قرائته، في php يمكنك تعديل التاريخ بالطريقة التالية:
    <?php $str = '2020-07-08 18:18:27'; echo date('g:i A', strtotime($str)); // 6:18 PM echo "\n"; echo date('d/M/Y', strtotime($str)); // 08/Jul/2020 ?>  
     
  10. إجابة محمد ربيع زليول سؤال في كتابه كود بلغة ++c يحسب ويخرج قيمة 99/100+.....+S: 1/2+2/3+3/4 كانت الإجابة المقبولة   
    أولًا نقوم بكتابة أساسيات أي برنامج ب C++ وهي الدالة main.
    #include <iostream> using namespace std; int main () { } سنستخدم متغير لحفظ قيمة المجموع سنسميه total وسيكون نوعه float لأنه سيحتوي على عدد حقيقي، وسنجعل قيمته الإبتدائية 0.
    #include <iostream> using namespace std; int main () { float total = 0; } بعد ذلك ستقوم بعمل تكرار من قيمة 1 إلى قيمة 99 عن طريق for بالشكل التالي:
    #include <iostream> using namespace std; int main () { float total = 0; for (float i = 1; i <= 99; i++){ } } في كل تكرار سنقوم بجمع total مع قيمة i/i+1.
    #include <iostream> using namespace std; int main () { float total = 0; for (float i = 1; i <= 99; i++){ total = total + i / (i + 1); } } وفي النهاية سنقوم بطبع قيمة المجموع، أي طبع قيمة total.
    #include <iostream> using namespace std; int main () { float total = 0; for (float i = 1; i <= 99; i++){ total = total + i / (i + 1); } cout << total; } يمكنك مشاهدة النتيجة من خلال الرابط التالي.
  11. إجابة محمد ربيع زليول سؤال في اسم تجاري مميز و مختصر غير متربط بنشاط محدد كانت الإجابة المقبولة   
    مرحبًا أحمد،
    إن كنت تريد الحصول على خدمة مماثلة،
    أنصحك بوضع مشروعك على منصة مستقل، وهي منصة تحتوي على أفضل المستقلين المحترفين الذين يستطعون مساعدتك لإنجاز المهمة.
    أو يمكنك البحث على مستقل يقدم نفس الخدمة التي تريدها من خلال منصة خمسات.
    بالتوفيق لك.
  12. إجابة محمد ربيع زليول سؤال في نقل المعلومات بين الصفحات كانت الإجابة المقبولة   
    في الأمثلة التالية سنتخيل أن موقعنا يحتوي على صفحتين page1.php و page2.php.
    وسنقوم بتمرير بعض المعلومات من الصفحة الأولى للصفحة الثانية هذه المعلومات.
    هناك العديد من الطرق لنقل البيانات بين صفحات الموقع سأذكر 3 منها:
    الطريقة الأولى: عن طريق الجلسات SESSION:
    لإستخدام SESSION في PHP يجب إضافة دالة session_start في بداية كل صفحة.
    وفي الصفحة الأولى ستقوم بإدخال معلومات من خلال مصفوفة SESSION.
    <?php // page1.php session_start(); echo 'Welcome to page #1<br />'; $_SESSION['favcolor'] = 'green'; $_SESSION['animal'] = 'cat'; وفي الصفحة الثانية، يمكنك قراءة هذه المعلومات عن طريق نفس المصفوفة.
    <?php // page2.php session_start(); echo 'Welcome to page #2<br />'; echo $_SESSION['favcolor']; // green echo $_SESSION['animal']; // cat الطريقة الثانية: عن طريق Cookie:
    تخزين المعلومات في الصفحة الأولى عن طريق متغير Cookies
    <?php // page1.php echo 'Welcome to page #1<br />'; $_COOKIE['favcolor'] = 'green'; $_COOKIE['animal'] = 'cat'; قراءة البيانات عن طريق نفس المتغير:
    <?php // page2.php echo 'Welcome to page #2<br />'; echo $_COOKIE['favcolor']; // green echo $_COOKIE['animal']; // cat الطريقة الثالثة: عن طريق GET وPOST:
    في صفحة الأولى يمكن وضع الرابط بالشكل التالي:
    <a href="page2.php?favcolor=green&animal=cat">Page2</a> أو يمكن إستخدام form كهذا:
    <form method="get" action="page2.php"> <input name="favcolor" value="blue"> <input name="animal" value="cat"> <input type="submit"> </form> وفي الصفحة الثانية، يمكن قراءة هذه المعلومات عن طريق مصفوفة GET أو POST:
    <?php // page2.php echo 'Welcome to page #2<br />'; echo $_GET['favcolor']; // green echo $_GET['animal']; // cat في حالة كانت method الخاصة ب form هي POST، عليك قراءة المعلومات من خلال مصفوفة POST بدلًا من GET
  13. إجابة محمد ربيع زليول سؤال في انشاء تطبيق قرآن كانت الإجابة المقبولة   
    بما أن لديك خلفية جيدة عن تطبيقات الهايبرد، أقترح عليك العمل بإستخدام مكتبة PDF.js، وهي مكتبة مقدمة من شركة mozilla، تحتوي المكتبة على الكثير من الأدوات التي يمكنك من خلالها التعامل مع ملفات PDF، ومن بينها أدوات لعمل Viewer خاص بك لعرض ملفات PDF والتنقل بين صفحاتها، يمكنك من خلال هذه الأدوات، عمل الكثير من العمليات على ملف PDF سيساعدك هذا في عرض الملف والتنقل بين صفحاته، وإن كنت تعلم مثلًا مواضع السور يمكنك أن تعد قائمة بها وعند الضغط على إسم السورة تنتقل إلى الصفحة التي بها هذه السورة والعديد من الأفكار الأخرى ...
    ستجد في هذا الرابط: مستودعًا به مثال لعمل Viewer، وفي هذا الرابط، فيديو يشرح طريقة عمل هذا Viewer بإستخدام المكتبة.
  14. إجابة محمد ربيع زليول سؤال في كيفية تقسيم عرض المواضيع إعتماداً على بلد العضو كانت الإجابة المقبولة   
    هناك العديد من الطرق بالطبع.
    هناك من يربط المتاجر بالدول: فمثلاً عند تسجيل متجر جديد يحدد المتجر الدول التي يتواجد بها، وبهذا وبعد أن يقوم المستخدم بإختيار دولته، يقوم الموقع بعرض المتاجر الموجودة بتلك الدولة التي اختارها المستخدم، أو بالأحرى يقوم الموقع بعرض السلع المتواجدة بمتاجر تلك الدولة.
    وهناك من يقوم بعرض السلع الأكثر زيارةً أو الأكثر شراءًا من طرف المستخدمين في تلك الدولة التي اختارها المستخدم.
    يمكنك عمل هذا عن طريق إضافة خانة عند تسجيل متجر جديد أو عند التعديل على معلومات المتجر تطلب من المتجر إدخال الدولة أو الدول التي يتواجد بها، وبعد ذلك عند دخول مستخدم ما وإختار دولته، قم بتسجيل الدولة ضمن معلومات المستخدم، وإن لم يكن المستخدم مسجلًا لدخوله يمكنك تسجيل الدولة في التطبيق، وبعد ذلك عندما تقوم بإرسال طلب لجانب الخادم ليأتي بالمواضيع، ارسل رقم أو إسم الدولة، وقم بالبحث عن المواضيع التي تتواجد بمتاجر تلك الدولة.
  15. إجابة محمد ربيع زليول سؤال في استفسار عن افضل استضافه ممكن اختيارها حسب تجاربكم كانت الإجابة المقبولة   
    هناك العديد من مواقع الإستضافات، وتختلف الأسعار وخدمة العملاء والعروض المقدمة من موقع لأخر.
    تحتوي القائمة التالية على أفضل الإستضافات على مستوى العالم:
    Bluehost HostGator Hostinger SiteGround InMotion Hosting GoDaddy تعتبر Bluehost الخدمة الأفضل لهذه السنة، كما تعتبر خدمة Hostinger الخدمة الأرخص، ولموقع SiteGround أفضل خدمة عملاء حسب تصنيف بعض المواقع.
    ستجد في هذا الرابط، مقارنة لمواقع الإستضافة، المقارنة بعدة معايير يمكنها أن تساعدك في إختيار الأفضل.
    شخصيًا جربت كل من Bluehost و GoDaddy، وبالنسبة لي كانت Bluehost هي الأفضل.
    كما أنه سبق لي تجربة 000webhost مرة واحدة، لكني لم أحب الإشتغال بها، أعتقد أن المشكلة كانت من cpanel لم أكن متعودًا عليه.
  16. إجابة محمد ربيع زليول سؤال في debug كانت الإجابة المقبولة   
    هناك نوعان:
    النوع الأول تتعلمه من التجربة، فغالبًا إكتشاف الأخطاء وإصلاحها يعتمد على وضع إفتراضات لمكان حصول المشكلة والتحقق من أن إفتراضاتك صحيحة، وستقوم بتطوير هذه المهارة من خلال التجربة.
    أما النوع الثاني فهو إحتراف الأدوات، يمكنك البحث عن دورات أو فيديوهات تشرح مثلًا:
    كيف يمكنك عمل debugging من خلال Chrome DevTools. كيف يمكنك عمل debugging من خلال vscode. أو أي editor أو ide تستخدمه. 
  17. إجابة محمد ربيع زليول سؤال في كيفية التحقق من وجود اسم المستخدم مسبقا في نفس الموضوع كانت الإجابة المقبولة   
    قم بإضافة خانة لعدد الإعجابات لكل متجر في البداية ستكون الخانة تحتوي على 0 إعجاب، عند إضافة إعجاب قم بإدخاله لجدول الإعجابات وفي نفس الوقت إذهب لجدول المتاجر وأضف إعجاب لخانة الإعجابات للمتجر لتصبح الإعجابات 1، وعند حذف إعجاب إجعلها 0 وهكذا
    لجعل المستخدم يعجب بالمتجر مرة واحدة قم بالخطوات التالية:
    عند ضغط المستخدم في التطبيق على زر الإعجاب.
    قم بإرسال طلب لنظام الخادم backend برقم المستخدم و رقم market كما تقوم به الآن
    في جانب الخادم، قم أولًا بالتحقق من أن المستخدم سبق أو لم يسبق له الإعجاب بذلك market، عن طريق عمل where ب UserIdSessin و market_id.
    select * from table where markte_id = x and UserIdSessin = y إذا كان المستخدم سبق له الإعجاب بالمتجر قم بحذف هذا الإعجاب عن طريق خذفه من قاعدة البيانات.
    DELETE from table where markte_id = x and UserIdSessin = y أما إن كان المستخدم لم يسبق له الإعجاب قم بعمل إضافة لهذا السطر في قاعدة البيانات.
    INSERT INTO table (markte_id, UserIdSessin) VALUES (x, y); ملحوظة: قم بتعويض table بإسم الجدول وx وy برقم المتجر والمستخدم.
  18. إجابة محمد ربيع زليول سؤال في قائمة منسدلة مع logo متجاوبه مع الجوال كانت الإجابة المقبولة   
    لإضافة صورة لل HTML عليك إستخدام وسم img وتضع رابط الصورة داخل src، كما أنه يمكنك أن تقوم بتحديد طول وعرض الصورة عن طريق تحديد width وheight.
    هذا مثال لإضافة صورة لل HTML:
    <img src="https://www.w3schools.com/tags/img_girl.jpg" width="500" height="600"> بالنسبة للكود الخاص بك يمكنك تعويض:
    <label class="logo">temayz</label> بإضافة وسم img مع إختيار src اللوجو الخاص بك كالتالي ( إستخدمت رابط صورة لوجو أكادمية حسوب هنا) :
    <img src="https://academy.hsoub.com/uploads/monthly_2016_01/SiteLogo-346x108.png.dd3bdd5dfa0e4a7099ebc51f8484032e.png" width="150"> ليصبح الكود الكامل كالتالي:
    inbex.html
  19. إجابة محمد ربيع زليول سؤال في ما هي طرق تحويل تطبيق اندرويد الى IOS كانت الإجابة المقبولة   
    هناك أشياء يجب معرفتها أولًا، مهما كانت قدرة هذا المحول على تحويل تطبيقات Android إلى IOS يجب الإنتباه لإختلافات جوهرية بين النظامين ومن بينها:
    إختلاف بين تجربة التنقل في نظام Android و iOS. مثلًا تعتمد هواتف Android على 3 أزرار للتنقل ،("المنزل" و "الخلف" و "تعدد المهام"). أما iPhone بها زر "رئيسي" واحد فقط. إختلاف واجهات المستخدم (UI) لنظامي التشغيل Android و iOS. حيث يستخدم Android الـ 'Material design'، أما iOS فيعتمد على "Flat design". عليك أن تضع في اعتبارك قدرة هذا المحول ودعمه لجميع الإصدارات. إختلاف المكتبات وأطر عمل في هذين النظامين وبالتالي سنحتاج إلى أدوات ومكتبات متوافقة مع النظامين. تطبيقات IOS يجب عليها إحترام إرشادات مراجعة متجر التطبيقات، وهذه الإجراءات غير مطبقة في متجر جوجل بلاي. كما لاحظت الاختلافات بين النظامين كبيرة، وهناك صعوبة في تحويل التطبيق من لغة برمجية لأخرى، كما أنك ستواجه مشاكل في نقل المكتبات والواجهات وفي تجربة المستخدم..
    المهم: من خلال بحثي في الإنترنت وجدت التالي:
    كان هنالك موقع لشركة ناشئة تدعى MechDome تتيح أداة لتحويل apk لل IOS لكن الموقع توقف حاليًا، على حسب المقالات أن الأداة تدعم تحويل تطبيقات تعتمد فقط المكتبات الرئيسية لجافا، لكني وجدت موقع الشركة خارج الخدمة فلم يتسنى لي التحقق من الخدمة. كما أنني وجدت أداة J2ObjC من جوجل لتحويل كود جافا إلى كود Objective C، لكنها طبعا لا تدعم الواجهات UI، يمكنك الإطلاع عليها من هنا: مكتبة J2ObjC. اذن تتبقى لك الحلول التالية:
    إنشاء تطبيق جديد بإستخدام لغة سويفت، ونقل نفس المميزات الموجودة على تطبيق الأندرويد إلى التطبيق الجديد، وطبعًا سيمكنك هذا من الحصول على تطبيق بأداء عالي، بتجربة مشابهة للتطبيقات الأصيلة المعدة بالسويفت، يمكنك الإعتماد على كود Android للإلهام فقط. أو يمكنك أن تقوم بعمل التطبيق الجديد عن طريق flutter أو react native، وبهذا التطبيق الجديد سيعمل على المنصتين بأداء جيد.
  20. إجابة محمد ربيع زليول سؤال في No database selected برنامج نت بينز كانت الإجابة المقبولة   
    هناك خطأ بسيط في سطر التالي:
    private static void setURL(){ url = "jdbc:mysql://localhost:3306/" // الخطأ هنا عليك إضافة إسم قاعدة البيانات.
    تخيل مثلًا أن إسم قاعدة بيانات هو database سيتحول الكود إلى:
    private static void setURL(){ url = "jdbc:mysql://localhost:3306/database" // أضفنا اسم قاعدة البيانات
  21. إجابة محمد ربيع زليول سؤال في الإنتقال بين views مع animation في angular js كانت الإجابة المقبولة   
    لإضافة animation قم بتضمين مكتبة animate:
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-animate/1.7.9/angular-animate.min.js"></script> ثم قم بإضافة وحدة ngAnimate للوحدة الرئيسية:
    var app = angular.module("myApp", ["ngRoute", "ngAnimate"]); ثم قم بكتابة Animation عن طريق CSS Animations.
    ثم ضعها بملف CSS الخاص بك، مثلا قمت بإنشاء slideInRight و slideOutLeft كالتالي:
    @keyframes slideInRight { from { transform:translateX(100%); } to { transform: translateX(0); } } @keyframes slideOutLeft { to { transform: translateX(-100%); } } الآن تتبقى خطوة واحدة فقط وهي إضافة محددات لصنفي ng-enter و ng-leave.
    المحدد الأول يأتي لتعريف Animation عند الإنتقال لل view. المحدد الثاني لتعريف Animation عند مغادرة View. .ng-enter{ animation: slideOutLeft 0.5s both ease-in; z-index: 8888; } .ng-leave{ animation: slideInRight 0.5s both ease-in; z-index: 9999; } ليصبح الكود الكامل كالتالي:
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.9/angular.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-route/1.7.9/angular-route.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-animate/1.7.9/angular-animate.min.js"></script> <style> body { text-align: center; } @keyframes slideInRight { from { transform: translateX(100%); } to { transform: translateX(0); } } @keyframes slideOutLeft { to { transform: translateX(-100%); } } .ng-enter { animation: slideOutLeft 0.5s both ease-in; z-index: 8888; } .ng-leave { animation: slideInRight 0.5s both ease-in; z-index: 9999; } </style> </head> <body ng-app="myApp"> <div ng-view></div> <a href="#/!">Main page</a> <a href="#!page1">Page 1</a> <a href="#!page2">Page 2</a> <a href="#!page3">Page 3</a> <script> var app = angular.module("myApp", ["ngRoute", "ngAnimate"]); app.config(function ($routeProvider) { $routeProvider .when("/", { template: "<h1>Main page</h1><p>This is the main page</p>", }) .when("/page1", { template: "<h1>Page 1</h1><p>This is the first page</p>", }) .when("/page2", { template: "<h1>Page 2</h1><p>This is the second page</p>", }) .when("/page3", { template: "<h1>Page 3</h1><p>This is the third page</p>", }); }); </script> </body> </html> عدلت الملف السابق وأضفت له Animation يمكنك الإطلاع عليه من هنا.
    وهذا مشروع يحتوي على بعض التفاصيل إن أحببت الإطلاع عليه من هنا.
  22. إجابة محمد ربيع زليول سؤال في ما الخطأ فى هذا الكود MySQL :  كانت الإجابة المقبولة   
    هناك خطأ بالسطر الثالث، نسيت كتابة فاصلة في آخر السطر:
    كود السطر الحالي:
    SELECT WORKON.EMPNO AS 'EMPLOYEE_NO' بعد إضافة الفاصلة يصبح كود السطر كالتالي:
    SELECT WORKON.EMPNO AS 'EMPLOYEE_NO',  
  23. إجابة محمد ربيع زليول سؤال في ما هي منصة github كيف يربح منها المبرمجون كانت الإجابة المقبولة   
    Github، هي منصة تقدم العديد من الخدمات للمطورين لكن الخدمة الأساسية للمنصة هي إستضافة المشاريع ومشاركتها.
    لفهم الخدمة الأساسية لل GitHub، يجب أن نفهم أولاً ما هو Git؟ وما هي أدوات التحكم بالنسخ؟
    Git ببساطة هو قاعـدة بيانـات أو نظـام ملفـات يقـوم بتخزيـن العمليـات التـي تقـوم بهـا أنت وأي شخص من فريقك على ملـف أو مجموعـة من ملفـات، بحيـث يمكنـك من العـودة لتلـك التعديلات في أي وقـت.
    Git هو ليس الأداة الوحيدة للتحكم بالنسخ بل هنالك العديد من الأدوات ك VSC و Mercurial، لكن يبقى Git الأداة الأشهر.
    إذن عندما ينشئ المطورون شيئًا ما (تطبيق هاتف أو موقع على سبيل المثال) ، يُجرون تغييرات مستمرة على الشفرة، ويطلقون إصدارات جديدة في كل مرة.
    تمكن أنظمة التحكم من حفظ وتخزين التعديلات في مستودع مركزي، يتيح هذا المستودع للمطورين:
    إمكانية الرجوع لأي من النسخ السابقة. مراجعة أي من العمليات التي جرت على إحدى الملفات ( إضافة، تعديل، حذف أي سطر برمجي). مشاركة الشفرة مع مطورين أخرين. بالنسبة للشق الثاني من السؤال، فلا توجد حاليا أي طريقة للربح من منصة Github.
×
×
  • أضف...