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

Adnane Kadri

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

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

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

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

    51

كل منشورات العضو Adnane Kadri

  1. جرب تشغيل الأمر التالي: npm update في حالة استمرار المشكلة، تأكد من استخدام آخر اصدار LTS من NodeJS. يمكنك تفحص ذلك بطباعة الأمر: node -v
  2. أظنك تقصد توزيع مصفوفة من الأرقام في سلسلة نصية بحيث يتم فصل ما بين كل رقم والثاني بفاصلة. فإن كانت المصفوفة الأصلية على النحو التالي: $numbers = ['+454566789', '+79787545', '+954245546']; فإن النتيجة المرجوة هي على النحو التالي: '+454566789,+79787545,+954245546' ولفعل ذلك يمكنك الاستعانة بالدالة implode التي تقوم بالتحويل من مصفوفة الى سلسلة نصية مع تحديد فاصل بين عناصر السلسلة النصية وفق الشكل التالي: $numbers = ['+454566789', '+79787545', '+954245546']; $string = implode(",", $numbers); echo $string; أو العكس أيضا: $string = '+454566789,+79787545,+954245546'; $array = explode(',', $string); echo '<pre>'; print_r($array); echo '</pre>'; طبعا فإن هاته الفكرة العامة، قم بتوظيف ذلك وفق مثالك.
  3. لا يوجد سن محددة للتسجيل في الدورات، سواءا أدنى ولا أقصى. ولكن ان كان المقصد، ما هو العمر المناسب للتسجيل في دورات حسوب، فإن المجال مفتوح للكبار ولا قيد على ذلك. أما بالنسبة للصغار، فقد يشترط أن يكون الطالب على وعي تام وعلى قدر من الالتزام لكي يستمر في الدورة ويختبر ويمتحن فيها، ولذلك قد يكون 13/14 فما أكثر مناسبا لبعض الدورات التأهيلية مثل دورة علوم الحاسب. وأكثر من ذلك عمرا لبعض الدورات الأخرى التي ترتبط بالعمل والنشاط في المجال الذي تتخصص فيه الدورة من مثل تطوير تطبيقات الويب. يمكنك الاطلاع على هاته الاجابات أيضا:
  4. يرجح أن تتعلق المشكلة بنقص في تثبيت بعض اعتماديات node، ولذلك قم بالتالي: احذف ملف package-lock.json وملف node_modules نفذ الأمر: npm install أو باضافة خيار الجبرر force-- ان لزم: npm install --force . أعد تشغيل الأمر: npm run start وانظر ما ان اختفت المشكلة.
  5. يرجح أنه لا يتم التقاط userID أصلا من الطلبية، بما أنك تقرأه كـ UserId بحرف U كبير على عكس postId بحرف p صغيرة فتأكد من تمريره بحرف كبيرة هو الآخر. أو قم بالتقاطه كـ userId ان كنت تقوم بارساله كذلك: const userId = req.params.userId; نفس الشيء بالنسبة لـ postId تأكد من أنه يتم التقاطه والاستعلام عنه بشكل عادي. استعمل console.log على تطبيق الخادم للنظر في خرج كل نتيجة وانظر ما الذي يخزنه كل متغير userId و postId و post بداخل العبارة الشرطية.
  6. كحزمة لارافيل على وجه الخصوص، لا أظن أن هنالك ما يتوفر. ولكن يمكنك التوصل الى الكثير من تطبيقات PHP التي تقوم بتوظيف فكرة الـ blockchain وتمكنك من التعامل مع العمل المشفرة وما الى ذلك. نذكر مثلا php-blockchain. ولكن رغم هذا إلا أنه لا ينصح بذلك، فهذا سيؤثر بطبيعة الحال على آداء المشروع وبما أن PHP غير متخصصة في تطوير الـ blockchain فلا ترجوا منها آداءا يمكن أن يكون منافسا أو معتبرا. في المقابل، يمكنك استعمال بعض الواجهات البرمجية المفتوحة على الويب للقيام بهذا الأمر. نذكر مثلا: شبكة Ethereum Blockchain، ومكتبة Web3.js على جافاسكربت مثلا أو Truffle وغيرها .. وهي أدوات تخصصية جدا تتطلب قدرا من التخصص والخبرة. مجموعة مكتبات Hyperledger Fabric مجموعة مكتبات Hashgraph شبكة Quorum Blockchain منصة Multichain هو مجال كغيره من المجالات، يجب فيه التخصص واكتساب خبرة للعمل بها أو توظيفها في مختلف الأنظمة التي تشتغل على الـ blockchain مثل العمل المشفرة.
  7. ان كنت تستخدم MySQL فتأكد من تحديد ذلك في المعامل الأول لكائن PDO: new PDO("mysql:host=$server عدا ذلك، لا يبدوا بالشيفرة أي مشكلة. ان كانت تظهر أي رسالة خطأ يرجى ارفاقها.
  8. لا يمكن ضبط الامر بشكل قطعي، فالموضوع ذاتي كثيرا ويتعلق بعدة أسباب تتغير من الشخص للآخر، نذكر مثلا: قدرة الشخص على الاستيعاب ظروف الشخص المحيطة قدرته على الصبر والالتزام تركيزه وبعده عن التشتيتات والعديد من الأمور الأخرى .. هذا بجانب أن فكرة تحديد حجم ساعي معين غير مقترحة أصلا، في المقابل يجب عليك التركيز على تعلم كذا أشياء في اليوم أو في الأسبوع، والأهم ليس هو حجم الساعات التي تقضيها أمام الحاسوب، بل كمية المادة العلمية التي استوعبتها في الوقت الذي قضيته وأنت تتعلم. والأهم الأهم هو الاستمرارية وما مدى استمرارك في التعلم والتزامك بذلك. أما مسألة الوقت وتحديد وقت بشكل جبري هو أمر سيجعلك تركز في انقضاء الوقت دون تعلم الشيء، وهو ما لا تريده بطبيعة الحال.
  9. لا يفترض أن تكون هنالك أي مشكلة بالشيفرة، تأكد فقط من مصادقة البيانات المحقونة للبيانات المسجلة الحقيقية لديك. أي: $DB_ADDRESS="localhost"; $DB_USER="id21726021_ali"; $DB_PASS="Kamalalan@20172019"; $DB_NAME="id21726021_legacy"; أو قم باستعمال أخرى موجودة لديك فعلا. أيضا تأكد من استعمال الشيفرة بشكل صحيح، اذ تتوقع منك فتح الملف باستخدام طلبية POST محملة بالبيانات: query key أيضا انتبه للتالي: $result=$conn->query($query); ففكرة ارسال استعلام SQL عبر طلبية HTTP هي غالبا فكرة غير صائبة وستفتح لك الكثير من الثغرات الأمنية، انتبه إلى أنه يتم التقاط الاستعلام من على الطلبية.
  10. المشكلة غير واضحة تماما، ولكن يرجح أن هنالك خطأ في السياق سببه السطر التالي: <?php <?php while ($row = mysql_fetch_assoc($result)) { ?> انتبه إلى أن <?php مكررة، احذفها في الموضع الأول أو الثاني، وأعد تشغيل الملف.
  11. مرحبا علي، التدريب العملي فكرة جيدة، ولكنه يجب أن يضبط بطبيعة الحال أيضا ولا يفترض أن يكون بشكل يغلب على التحصيل النظري في المقابل أيضا. خصوصا وأن دورة علوم الحاسب هو دورة عامة تعنى بالمجال ككل ولا تعنى بمجالات تخصصية مثل تطوير تطبيقات الويب أو الموبايل أو ما نحو ذلك، ولذلك فإن المفترض بك هو أن تركز على التحصيل العلمي من الدورة مع التدريب العملي مع المدرب أثناء وخلال الدورة. أما بالنسبة للتطبيق النظري بهذا الشكل، فسوف يمكنك القيام بذلك مع دورات أخرى تخصصية. وبما أن الطلبة يتاح لهم وصول لكامل المسارات الأولى من كامل الدورات فسيمكنك اختيار مسار معين والقيام بالامر معه. الأولى في دورة علوم الحاسب، هو التحصيل والتدوين مع التدريب العملي في الجزئيات التي يرد فيها ذلك.
  12. إنشاء شركة لتطوير مواقع الويب وتطبيقات الجوّال والأنظمة المحاسبية يتطلب بطبيعة الحال تخطيطا جيدا ومجموعة من الخطوات الأساسية للانطلاق. إليك نظرة عامة على ما قد تحتاجه: عن طريق البحث والتخطيط قم بتحديد مجموعة من الميزات التي تريد توفيرها وقم بتحديد مجموعة الخدمات التي تنوي تقديمها. قم بدراسة المنافسين واعمل على تحديد الميزات التنافسية وحدد مختلف الاستراتيجيات المتعلقة بذلك. قم بعمل شراكات مع مصممين ومطورين ومحاسبين لتقديم خدمات ذات جودة. قم ببناء منصة الموقع أو صفحة الهبوط الخاصة بالشركة وحدد طريقة التواصل والتقارب مع أصحاب المشاريع. قم بتسجيل مشروعك بشكل قانوني واحصل على رقم ضريبي للشركة، فقد تحتاجه. قم بتسويق مشروعك وتمويله. قم بالبدء في تقديم الخدمات. الجزء الأخير الذي يعنى بتقديم الخدمات غالبا ما يتعلق بفريق التطوير الخاص بك، ولذلك تأكد من اختيار مدير فريق / منتج خبير بمجال العمل لكي يمكنه تقديم ما يريده أصحاب المشاريع بالضبط.
  13. يبدوا أنه يتم استعمال مكتبة واضافة phpbolt لتشفير ملفات PHP وتنفيذها، وهي مكتبة تهتم بتشيفر وفك تشيفر الكود المصدري لشيفرة PHP (php source code). تتوفر المكتبة بشكل اساسي هنا. في حين تتوفر اضافة وحزمة مستقلة للارافيل هنا. وهي توفر الوظيفتين: bolt_encrypt: bolt_encrypt( file_name, encryption_key ) يرفق مفتاح التشيفر ومسار الملف المستهدف. وتعيد الكود المشفر. bolt_decrypt: bolt_decrypt( encrypted_code, encryption_key) يرفق مفتاح التشيفر وناتج التشفير. وتقوم بتنفيذ شيفرة PHP المشفرة.
  14. يوجد العديد منها. منها تلك الخاصة ببيايثون حصرا، ومنها تلك العامة التي يمكنك استعمال محركات البحث فيها للتوصل الى تمارين بايثون، نذكر منها مثلا: Hackerrank Codecademy LeetCode GeeksforGeeks Codewars Exercism وهاته الأشهر على الساحة، يمكنك البحث أيضا عن تمارين بشكل أكثر توسعي في محركات البحث أو في المقررات الدراسية وما الى ذلك.
  15. يرجى ضغط المشروع ورفعه في ملف واحد بدل رفع جميع الملفات منفصلة.
  16. يتم الأمر غالبا بالاستعانة بمفهوم الويب سوكيت، وهو بروتوكول اتصال مستعمل في الويب يوفر اتصالا دائما في الوقت الفعلي ما بين الخادم والعميل، بشكل يمكن العميل من التقاط اي اشعارات يتم استحداثها على مستوى الخادم. بحيث يتصل كل العملاء بقناة معينة ويقومون بالاستماع للأحداث التي يتم بثها فيها. إليك تبسيطا للعملية: يشترك أحمد في القناة CH1 ويستمع للحدث E1 يشترك علي في القناة CH1 ويستمع للحدث E1 يشترك عمر في القناة CH1 ويستمع للحدث E1 عندما يقوم عمر بعمل اعجاب لمنشور ما، يتم ارسال الطلبية الى الخادم ليتم تسجيل الاعجاب، وفي نفس الوقت يتم استهداف الحدث E1 عبر القناة CH1 بما أن كل الثلاثة يستمعون للحدث E1 عبر الثناة CH1 فإن كل من الثلاثة سيتلقى البيانات التي يتم تمريرها عبر القناة ولنقل مثلا تفاصيل الاعجاب او رسالة "اعجب عمر بالمنشور الفلاني". يتلقى كل الثلاثة الرسالة ويقومون بعرضها في شجرة DOM هاته هي الفكرة بمجملها، وتقوم بعض الحزم والمكتبات باختصار الطريق فتوفر لك تطبيقا وواجهة برمجية للتعامل مع هاته المراحل ببساطة. أما بالنسبة لـ PHP فيمكنك استعمال واحدة من الحزم التي تتوفر، نذكر مثلا Pusher أو Laravel websockets أو ما نحوهما ..
  17. الأمر بسيط، لتشغيل وتجربة كود في Android Studio، اتبع ما يلي: قم بتنزيل وتثبيت Android Studio من الموقع الرسمي: موقع Android Studio. بعد تثبيت Android Studio، قم بفتحه واختر "Start a new Android Studio project" لبدء مشروع جديد. اختر نوع المشروع الذي ترغب في إنشاءه (مثل تطبيق فارغ أو تطبيق أساسي). اتبع الخطوات الموجهة لإكمال إعدادات المشروع. قم بفتح ملف وضف الكود المناسب في المكان المناسب. شغل التطبيق. اعرض النتائج: انتظر حتى يتم تشغيل التطبيق على المحاكي أو الجهاز الفعلي. ستظهر النتائج في النافذة الخاصة بالتطبيق.
  18. اطلع على الإجابة السابقة، فهي تقتضي استعمال PHP مباشرة
  19. بالطبع هنالك فائدة، ولن يمكن للذكاء الصناعي الاصطناعي أن يحل محله بأي حال من الأحوال. فمتطلبات العمل لا تزال تزداد تعقيدا، وستضل هنالك دوما لحاجة لتحليل متطلبات العميل وصاحب المشروع وتحويلها الى برمجيات فعالة، بما في ذلك تصميم واجهات الاستخدام. خصوصا أن المجالات الابداعية حالة خاصة في مثل هاته المواضيع. أما بالنسبة للعمل، فقد يمكنه قصد مواقع العمل الحر أو مواقع وشركات التوظيف للتقدم الى وظائف تتطلب مهارات الواجهة الأمامية. يجب الاشارة ايضا الى دوره الذكاء الصناعي نفسه، فهو يركز على: التكامل وليس الاستبدال: يمكن أن يلعب الذكاء الاصطناعي دورًا في تحسين الأداء وتوفير أدوات جديدة أو في مساعدتك على اختصار الوقت في العمليات المكررة، ولكنه لا يستبدل بشكل كامل المطورين في تطوير واجهة المستخدم. فالقدرة على فهم وتفسير احتياجات وتفضيلات المستخدمين وتطلعاتهم لا تزال مهمة بشكل كبير. التحسين المستمر: تطور التكنولوجيا يعني أن مطوري واجهة المستخدم يحتاجون إلى التكيف والتعلم المستمر للحفاظ على فهمهم لأحدث التقنيات والاتجاهات. وان شئنا اختصار الموضوع، فالمطور الذي يضع أدوات الذكاء الصناعي في معارفه ويدرك مواضع قوته وضعفه ويستعمله لزيادة انتاجيته ويوجهه في ذلك هو أفضل بطبيعة الحال من المطور الذي يتجاهله بشكل كامل.
  20. الطريقة الأبسط والأسهل هي تنزيل النسخة الموزعة الأخيرة من الموقع الرسمي وتثبيتها بطريقة اعتيادية. قم بتنزيل أحدث إصدار من Node.js من الموقع الرسمي: Node.js Downloads. اختر إصدارا مستقرا (LTS) إذا كنت ترغب في الحصول على إصدار يتم دعمه لفترة طويلة، أو اختر أحدث إصدار إذا كنت ترغب في استخدام أحدث الميزات. أما كطريقة أخرى، هي باستخدام مدير حزم Node أو بما يعرف بـ NVM، وهو مكتبة تنفيذية تساعدك في التبديل بين نسخ Node ببساطة. وهو بشكل أساسي متوفر لأنظمة Linux ولكن يوجد اصدار منه للويندوز يمكنك الوصول إليه من هنا. ولتثبيته ما عليك إلا اتباع الخطوات: قم بتنزيل ملف التثبيت من على الموقع الرسمي أو من هنا. قم بتشغيل ملف التثبيت واتبع خطوات التثبيت حتى آخرها. الآن يمكنك التبديل بين نسخ Node بشكل عادي: nvm use 14.0.0 .
  21. الأمر بسيط، عملية تسجيل الدخول والخروج في رياكت متعقلة بإرفاق رمز token في الطلبيات المرسلة الى الخادم، فمتى ما غاب هذا الرمز عن الطلبيات تم رفض اتمام الطلبية، نفس المنطق وراء حجب او اظهار بعض الصفحات أو المكونات في رياكت. ولهذا سوف يمكن التحكم في عملية تسجيل الدخول والخروج بناء على حضور هذا الرمز في التطبيق أو مرفقا في ترويسات الطلبيات المرسلة للخادم. لنقل أنه يتم استقبال رمز jwt عند ارسال طلبية تسجيل الدخول الى الخادم، بعد ذلك سيتم حفظ هذا الرمز في التخزين المحلي localeStorage لتطبيق رياكت. لاحقا، سيتم التحقق مما ان كان رمز jwt موجودا في localeStorage أو لا، فإن كان: تم عرض الصفحة أو قبول التوجيه اليها. وفي حال ما لم يكن، لم يتم عرضها ولم يتم قبول التوجيه اليها. في نفس الوقت، يتم اضافة رمز jwt المخزن في localeStorage الى كل طلبية مرسلة الى الخادم في ترويسة Authorization ليتم توثيق الطلبيات من قبل الخادم. وبالنسبة لتسجيل الخروج، فستكون العملية أبسط. اذ سنقوم فقط بمحو هذا الرمز من على التخزين المؤقت، ولن يمكن للمستخدم اعادة تسجيل واحد جديد إلا لما يعيد عملية تسجيل الدخول من جديد.
  22. جرب اضافة الشرط التالي: if len(david_locations) > 0: # استخدام مواقع الوجوه الأول فقط left, top, right, bottom = david_locations img = Image.fromarray(david) draw = ImageDraw.Draw(img) draw.rectangle(((left,top), (right,bottom)), outline='green' , width=5) img.show() else: print("لا يوجد وجوه في الصورة")
  23. مبدئيا، لا يظهر بالشيفرة أي خطأ. ما تحتاج التحقق منه هو: من أن مسار الصورة المسند صحيح. من ما ان كانت هنالك أي رسالة خطأ تظهر بخصوص تنفيذ الشيفرة. من أن david_locations قائمة وليست فارغة قبل استخدام القيم منها. يمكنك اضافة عبارة شرطية على سبيل if david_locations: للتحقق من وجود على الأقل وجه واحد. كما أنه يفضل تغيير حجم الصورة إلى حجم معقول قبل تحميلها باستخدام resize لتجنب مشاكل الأداء. في حالة ظهور أي رسالة خطأ، يرجى ارفاقها.
  24. مبدئيا، العملية تحتاج الى تراكم معلومات والمسير وفق مخطط واضح لمدة معتبرة من الزمن. ولذلك، يقترح التعلم بجانب العمل في حال تطلب الحاجة الى ذلك نظرا لأن المدة الزمنية قد تكون طويلة قليلا، خصوصا أن هنالك الكثير من عروض العمل التي لا تحتاج خبرة شاملة بل تحتاج تخصصات فرعية مثل تطوير الواجهات الأمامية وما الى ذلك. وعموما، لا يتوقف أحد عن التعلم في هذا المجال. فهو مجال متجدد ويحتاج متابعة وتطويرا دوريا ولا ينبغي التوقف عن التعلم والتحصيل مهما بلغ مستوى الشخص، لأن هذا سيحد من قدراته ولا يجعله يواكب التطورات. بالنسبة لعمل مطوري الواجهات الأمامية، فهو يختلف بحسب طبيعة المشاريع التي يشتغلون فيها. فبعض المشاريع يكونون فيها حلقة وفردا من أعضاء الفريق الذين يتم ادارتهم من قبل مدير منتج أو قائد فريق ويطلب منهم مهاما تتناسب مع قدراتهم ومهاراتهم، وحتى التنسيق بين مطور الواجهة الأمامية ومطور الواجهة الخلفية يتم من خلال توجيهات مدير المنتج. أما بعض المشاريع الأخرى يكونون فيها الوحيدين المشتغلين على المشروع، وهاته المشاريع التي تكون ثابتة المحتوى مثل : صفحات الهبوط، واجهات الويب .. الخ.
  25. الأمر بسيط، قم بتضمين ملفات التنسيقات وملفات الجافاسكربت المبنية في ملف layout العام، وابدأ باستعمال المكونات الجاهزة من القالب بنسخها ولصقها.
×
×
  • أضف...