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

Wael Aljamal

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

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

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

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

    218

كل منشورات العضو Wael Aljamal

  1. يمكنك عرض المسارات باستخدام: php artisan route list
  2. إذا تأكد من ملف العرض، وأين يتم إرسال الطلبية (المسار) و http method وتطابقها مع Route حاول أولا إعادة أي بيانات وعرضها في View (لاحظ أن return الأولى تمنع ذلك) بكل حال، بعد إنشاء الغرض يمكن التحقق منه باستخدام خاصية exists $user = User::create($data); if ($user->exists) { // success } else { // failure } في ملفك، سبق وتحققت من data الآن نتأكد من إضافة user
  3. ملاحظات: أنت تقوم بإضافة عدة حقول سوية، أي يجب تضمين هذه الحقول في مصفوفة fillable في النوذج لمنع خطأ mass assigment function يعيد قيمة مرة واحدة عند تنفيذ أول تعليمة return وأنت تضع أكثر من واحدة في حال تم تنفيذ أول return لن يتم استكمال التعليمات التالية
  4. يمكن استخدام دالة prinf لطباعة مجموعة متغيرات مع تحديد نمطهم int x = 5; int y = 10; printf("%d : %d\n", x, y); سيعطي الخرج التالي: 5 : 10 لاحظ استخدام d% عند طباعة رقم digit نستخدم c عند طباعة محارف Characters نستخدم f عند طباعة أرقام فاصلة عائمة Floats نستخدم d عند طباعة أرقام عشرية Decimals نستخدم s عند طباعة سلاسل نصية Strings specifier Output Example d/i Signed decimal integer 392 u Unsigned decimal integer 7235 o Unsigned octal 610 x Unsigned hexadecimal integer 7fa X Unsigned hexadecimal integer (uppercase) 7FA f Decimal floating point, lowercase 392.65 F Decimal floating point, uppercase 392.65 e Scientific notation (mantissa/exponent), lowercase 3.9265e+2 E Scientific notation (mantissa/exponent), uppercase 3.9265E+2 g Use the shortest representation: %e or %f 392.65 G Use the shortest representation: %E or %F 392.65 a Hexadecimal floating point, lowercase -0xc.90fep-2 A Hexadecimal floating point, uppercase -0XC.90FEP-2 c Character a s String of characters sample p Pointer address b8000000 n Nothing printed. The corresponding argument must be a pointer to a signed int. The number of characters written so far is stored in the pointed location. % A % followed by another % character will write a single % to the stream. % مثال: printf("Hello %s \n", "wael"); // Hello wael printf("Digit: %d \n", 9); // Digit: 9 printf("Float %f \n", 2.23); // Float 2.230000 printf("Float two decimal %.2f", 2.23); // Float two decimal 2.23
  5. يمكن تحويل العدد الصحيح لتمثيله كشلشلة نصية من خلال تكرار قسمته على 10 وفي كل مرة أخذ باقي القسمة على 10 مع جمع قيمة المحرف '0' كخرج للمرحلة، فيكون الخرج سلسلة مجموعة محارف بين '0' و '9'. باستخدام خوارزمية عودية: تكرار الاستدعاء طالما n/10 ليس 0 (شرط التوقف) استدعاء الدالة عودياً للخطوة التالية n/10 طباعة باقي قسمة n على 10 + '0' كنتيجة للخطوة الحالية void convert_To_String(int n) { if (n / 10 != 0) { convert_To_String(n / 10); } printf("%d", n % 10 + '0'); } في الحل السابق، لانضطر لعكس جهة المحارف المشكلة للعدد لأن تعليمة الطباعة للخطوة الحالية سيتم تنفيذها لاحقاً بعد انتهاء الاستدعاءات العودية ويمكن الحل باستخدام حلقة: r سلسلة الجواب وستكون من محارف بين 0 و 9 ثم حلقة طالما n لا تساوي 0 سنكرر الخطوات: حساب قيمة باقي قسمة العدد n على 10 إضافة قيمة السلسلة النصية المؤقتة للإجابة قسمة العدد n على 10 إعادة r std::string to_Binary(int n) { std::string r; while(n!=0) { std::string tmp = n % 10 + '0'; r=+temp; n/=10; } return r; }
  6. يمكن تحويل العدد الصحيح لتمثيله في النظام الثنائي من خلال تكرار قسمته على 2 وفي كل مرة أخذ باقي القسمة على 2 كخرج للمرحلة، فيكون الخرج سلسلة 0و1 تعطينا التمثيل الثنائي. باستخدام خوارزمية عودية: تكرار الاستدعاء طالما n/2 ليس 0 (شرط التوقف) استدعاء الدالة عودياً للخطوة التالية n/2 طباعة باقي قسمة n على 2 كنتيجة للخطوة الحالية void convert_To_Binary(int n) { if (n / 2 != 0) { convert_To_Binary(n / 2); } printf("%d", n % 2); } في الحل السابق، لانضطر لعكس جهة البتات المشكلة للعدد لأن تعليمة الطباعة للخطوة الحالية سيتم تنفيذها لاحقاً بعد انتهاء الاستدعاءات العودية ويمكن الحل باستخدام حلقة: r سلسلة الجواب وستكون من 0 و 1 ثم حلقة طالما n لا تساوي 0 سنكرر الخطوات: حساب قيمة باقي قسمة العدد n على 2 إضافة قيمة السلسلة النصية المؤقتة للإجابة قسمة العدد n على 2 إعادة r std::string to_Binary(int n) { std::string r; while(n!=0) { std::string tmp = (n%2==0 ?"0":"1"); r=+temp; n/=2; } return r; }
  7. يبدو أن النسخة من برنامج virtual box قديمة، يمكنك التوجه للموقع الرسمي وتحميل أحدث نسخة، أو تشغيل التطبيق في وضع لتوافق مع نسخة ويندوز أقدم، يتم ذلك من خلال النقر على البرنامج بزر الفأرة الأيمن واختيار خصائص ثم التوافق compatibility ثم نحدد نسخة win 7 , 8 حتى يعمل
  8. يمكنك التواصل مع مركز مساعدة حسوب لإطلاعك على الطريقة الأنسب في الدفع في حالتك. سؤال ممكن أن يفيدك:
  9. يمكن تحديد موعد آخر للاختبار ويتم إعطاءك ملاحظات حول نتيجتك، لا تقلق، للمزيد من التفاصيل ارجو فتح تذكرة مع الدعم الفني من مركز مساعدة حسوب واذكر الاستفسار لهم، شكرا لك
  10. تكمن المشكلة في نوع تخطيط الواجهة، حيث يوجد عدة أنماط ولكل منهم طريقة لترتيب عناصر العرض في الواجهة الرسومية GUI. حاولي استخدام Absolute Layout فهي تمكن من التحكم بالعناصر بشكل مطلق من حيث إحداثيات لموقع x,y والامتداد (طول - عرض) width - height. يمكن تعديلها بالضغط بالزر الأيمن على الواجهة ثم اختيار التخطيط... يمكنك تعلم المزيد من تصميم واجهات JAVA GUI من مقالات أكاديمية حسوب: academy hsoub / java مشاكل تتعلق بنفس الموضوع:
  11. كلا لن تحتاج لمشاهدة المسارات القديمة، لأن التحديثات ضمن الدورات تعمل على إصدارات المكتبات الجديدة والأدوات الحديثة أيضاً، أما في المسارات المؤرشفة بعضها يستعمل تقنيات لم تعد مستخدمة أو أصبح هنالك فوارق كبيرة بين الإصدار المستخدم و الإصدار الحديث. يوجد ملاحظة من إدارة الأكاديمية: وبشكل عام، بعض المسارات هي نفسها مثل (تصميم موقع ما ضمن الدروة) لكن بالإصدارات الأحدث للمكتبات و التقنيات.
  12. لايمكن وضع طلبيتين post داخل بعضهم، انت تريد تنفيذ منطق app.post.notfs مرتين، مرة بشكل منفصل لنحفظ الإشعار في قاعدة البيانات، ومرة أخرى لنرسل الإشعار.. قم بعمل function منفصل يحوي المنطق المشترك، ثم قم باستدعائه مرتين، في fcm و في app.ppst.notfs
  13. رموز الاستجابة التي تبدأ ب 5xx تعطي معلومات عن أخطاء جانب الخادم Server Error. 500 Internal Server Error حدث خطأ غير متوقع في الخادم مما منعه من معالجة الطلبية. 501 Not Implemented إن HTTP method التي تمت الطلبية بها غير مدعومة من الخادم. 502 Bad Gateway حصل الخادم على رد غير صالح كان يحتاجه خلال عمله كبوابة لمعالجة الطلبية. 503 Service Unavailable المخدم غير جاهز لمعالجة الطلبية. 504 Gateway Timeout تأخر وصول الرد للطلبية خلال عمل الخادم كبوابة. 505 HTTP Version Not Supported (Experimental) إصدار البروتوكول غير مدعوم من قبل المخدم. 506 Variant Also Negotiates (Experimental) خطأ داخلي في إعداد المخدم 507 Insufficient Storage (WebDAV) لم يتمكن المخدم من تنفيذ HTTP method على المورد لأنه غير قادر على تخزين الحالة المطلوبة لإتمام معالجة الطلبية بنجاح. 508 Loop Detected (WebDAV) تم ملاحظة حلقة مفرغة (غير منتهية) أثناء معالجة الطلبية. 510 Not Extended يوجد إضافات extensions أخرى مطلوبة لإتمام معالجة الطلبية. 511 Network Authentication Required على المستخدم / العميل الحصول على تصريح ليتمكن من الوصول للشبكة.
  14. رموز الاستجابة التي تبدأ ب 4xx تعطي معلومات عن أخطاء جانب العميل Client Error 400 Bad Request طلبية سيئة حيث لم يفهما المخدم لخطأ في صياغتها، وعلى العميل إعادة الطلب بدون تعديل. 401 Unauthorized غير مصرح بك، الطبية تطلب بيانات تصريح من المستخدم وعلى المستخدم إعادة الطلبية مع إرفاق بيانات الترويسة المطلوبة. (هوية مستخدم غير معروفة) 402 Payment Required (Experimental) غير مستخدمة - تفيد في الدفع الاكتروني. 403 Forbidden ممنوع الوصول: طلبية غير مصرح بها وليس للمستخدم الحق في الوصول إلى المحتوى (تختلف عن 401 بأن هوية مستخدم معروفة و ممنوعة من الوصول) 404 Not Found غير متوفر: المخدم لم يجد الموارد المطلوبة. 405 Method Not Allowed الطريقة غير مسموحة: عند استخدام HTTP method غير مفعلة لهذا المورد. 406 Not Acceptable غير مقبول: لم يعثر الخادم على أي محتوى يتوافق مع المعايير التي قدمها عميل المستخدم في ترويسة الطلبية. 407 Proxy Authentication Required يتوجب على العميل عمل تصريح باستخدام الوكيل proxy. 408 Request Timeout تأخر استلام الطلبية ولم يستلمها المخدم لسبب استنفاذ وقت الانتظار. 409 Conflict لم يتمكن المخدم من إعادة رد للطلبية لسبب تضارب حصل مع حالة المورد 410 Gone المورد غير متوفر. 411 Length Required رفض المخدم قبول الطلبية لعدم تعريف طول المحتوى Content- Length في الترويسة (يعود العميل لإرسالها بشكل سليم) 412 Precondition Failed لم يحقق المخدم اشتراطات العميل التي وضعها في بيانات الترويسة. 413 Request Entity Too Large حجم الطلبية كبير، أكبر من الحد المعرف لدى المخدم. 414 Request-URI Too Long طول URI أكبر من قدرة المخدم على استيعابه 415 Unsupported Media Type نمط الوسائط المتعددة الممرر في Content-type غير مدعوم من المخدم. 416 Requested Range Not Satisfiable جزء البيانات المطلوب غير مرضي/ غير متاح / لا يمكن توفيره. 417 Expectation Failed لم يتمكن المخدم من معالجة الاستثناء الحاصل في الطلبية 420 Enhance Your Calm (Twitter) تم تقييد المستخدم من طلب API في البحث في تويتر 422 Unprocessable Entity (WebDAV) لم يستطع المخدم معالجة الطلبية بالرغم من فهمه لمحتواها 423 Locked (WebDAV) المورد مقفول وغير متاح. 424 Failed Dependency (WebDAV) فشل الطلبية الحالية متعلق بفشل الطلبية السابقة لها. 425 Too Early (WebDAV) يشير إلى أن الخادم غير راغب في المخاطرة بمعالجة طلب قد يتم إعادة تشغيله. 426 Upgrade Required رفض المخدم الطلبية وطلب من العميل ترقية إصدار البروتوكول لديه. 428 Precondition Required يوجد شروط و متطلبات من الخادم قبول الطلبية. 429 Too Many Requests قام العميل / المستخدم بإرسال العديد من الطلبيات ضمن وقت قصير (محدد) 431 Request Header Fields Too Large لا يرغب الخادم في معالجة الطلب لأن حقول الترويسة كبيرة جدًا. 444 No Response (Nginx) مخدم إنجن أكس لا يعيد أي بيانات للمستخدم ويغلق الإتصال 449 Retry With (Microsoft) يجب إعادة الطلبية بعد تنفيذ متطلباتها 450 Blocked by Windows Parental Controls (Microsoft) خدمة تحكم الأهل بالمحتوى Windows Parental Controls منعت الوصول للمورد. 451 Unavailable For Legal Reasons طلب المستخدم محتوى غير قانوني 499 Client Closed Request (Nginx) تم إغلاق الاتصال من العميل بينما كان مخدم HTTP يعالج طلبيته، مما منع المخدم من إعادة رد للطلبية.
  15. رموز الاستجابة التي تبدأ ب 3xx تعطي معلومات عن إعادة التوجيه Redirection أي على العميل إعادة إرسال الطلبية إلى وجهة أخرى. 300 Multiple Choices عدة خيارات: يمكن للعميل اختيار الرد المناسب الذي يريده من مجموعة الردود. 301 Moved Permanently تم نقل العنوان URL بشكل دائم ويتم إرسال العنوان الجديد في الحقل Location header ضمن الطلبية، يمكن تخزين العنوان الجديد بالكاش (تخزين مؤقتاً إن لم يذكر العكس) 302 Found تم تغيير الرابط URL بشكل مؤقت يمكن تخزين العنوان الجديد ب cache (تخزين مؤقتاً إن لم يذكر العكس) Cache-Control or Expires header field 303 See Other المحتوى المطلوب غير موجود عليك استخدام URI آخر باستخدام GET للمصدر المطلوب. 304 Not Modified لم يتم تعديل الرابط فيمكن استخدام الرابط المخزن في cache التخزين المؤقت 305 Use Proxy (Deprecated) يجب استخدام وكيل للسماح بالوصول لهذا المورد (غير مستخدمة) 307 Temporary Redirect يمكن إعادة استخدام نفس HTTP method للوصول للموارد من رابط مختلف وتشبه 302 308 Permanent Redirect (experimental) تم النقل بشكل دائم، تشبه 301 إلا أن الموادر يجب طلبها بنفس HTTP method والرابط موجود ضمن Location header
  16. رموز الاستجابة التي تبدأ ب 2xx تؤكد على نجاح الطلبية التي أرسلها العميل (متصفح - تطبيق). 200 ok نجاح / مقبول: الطلبية ناجحة بدون أي مشكلة. 201 Created تم الإنشاء: تؤكد على إضافة بيانات جديد في قواعد البيانات مثلاً (إضافة موارد). 202 Accepted مقبولة: الطلبية تم قبولها ولكنها غير مكتملة بعد، تستخدم في حالات المعالجة طويلة الأمد أي التي تأخذ وقتاً. 203 Non-Authoritative Information لستً مخولاً: تم إرسال بيانات توصيف metainformation ليست مطابقة لما لدى المخدم. 204 No Content لا يوجد محتوى / إجابة: تم الاستجابة للطلبية ولكن لا يوجد بيانات ليتم إعادتها، ربما يتم إعادة بيانات التوصيف metainformation مع تحديثها، هنا لا يوجد جسم للطلبية response body. 205 Reset Content يطلب من العميل إعادة ضبط الوثيقة التي أرسلت الطلبية. 206 Partial Content ترسل عند إعادة محتوى جزئي من مجال رد المخدم (يوجد بيانات أخرى سيتم إرسالها) 207 Multi-Status (WebDAV) قام العميل بعدد من العمليات وناتج كل منها موجود في جسم الرد. 208 Already Reported (WebDAV) تم الرد عليها مسبقاً.
  17. رموز الاستجابة التي تبدأ ب 1xx تعطي معلومات عن حالة منخفضة في بروتوكول النقل transfer protocol-level information. 100 Continue استكمال: تم استقبال طلبية العميل ولم يتم رفضها، وعلى العميل أن يكمل الطلبية ويرسل باقي البيانات وإن كانت الطلبية مكتملة يتم تجاهل هذه الرسالة/ هذا الرد ومن ثم يقوم المخدم بإرسال رد نهائي. 101 Switching Protocol تبديل البروتوكول: يطلب المخدم من العميل ترقية إصدار الطلبية لديه مثلا HTTP 1.1 => HTTP 2.0 HTTP => HTTPS 102 Processing (WebDAV) يتم معالجة الطلبية: المخدم استقبل الطلبية ويقوم بمعالجتها ولايوجد رد مكتمل حتى اللحظة. 103 Early Hints - preloading الجلب المسبق: يسمح المخدم للعميل بالقيام بتحميل المصادر بشكل مسبق حتى يكتمل الرد
  18. يمكنك استعمال أمر من نوع CMD وحيد في ملف Dockerfile وهو الأمر الذي تريد تنفيذه خلال تشغيل الحاوية launch container (بناء الصورة) building the image لذلك نستخدم الأمر RUN بدل CMD RUN chmod 777 -R /src/main/* RUN chmod 777 -R /app/main/*
  19. يمكننا حفظ الحاوية الحالية عن طريق commit ثم إعادة تشغيلها مع تمرير مسار حجم دوكر الجديد الشكل العام لتشغيل الحاوية مع تحديد حجم docker run -ti -v DataVolume:/data_volume_X image_name الخطوات: حفظ الحاوية الحالية في صورة جديدة $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5a8f89adeead ubuntu:14.04 "/bin/bash" About a minute ago Exited (0) About a minute ago agitated_newton ************ CONTAINER ID : 5a8f89adeead ************ $ docker commit 5a8f89adeead new_image_name تشغيل الحاوية الجديد مع الحجم الجديد $ docker run -ti -v "$PWD/DataVolume":/DataVolume new_image_name /bin/bash .
  20. صراحة لم أفهم هذه الألوان تعود لأي مكون؟ هل هو فاتورة أم شيء آخر للمستخدم، على كل حال، نقوم بإنشاء جدول جديد وسيط بين جدول الطباعة و الألوان، مع ما يربط هذه المجموعة مع النظام (مستخدم - فاتروة - طلبية..) print_id - use_id | order_id - - - - - - جدول من حقلين يفي بالغرض. ليس لي فهم كامل للنظام لذلك لا أستطيع تحديد مايلزم بدقة.
  21. كيف قمت بعمل الربط مع print_id لكي تستطيع الوصول لبيانات نفس المستخدم مرة أخرى وتعديلهم؟ وأين شيفرة التعديل..
  22. إن SVG هي عبارة عن ملفات صور يتم ترميزها باستخدام لغة XML أي تختلف عن أنواع الصور الأخرى. ما المشكلة في وجود عدد كبير من الصور؟ هو أن كل صورة تتطلب اتصال HTTP فريد لتحميل ملفها (موارد) الحل هو تجميع بيانات جميع الصور ضمن ملف XML واحد، مما يقلل من عدد اتصالات HTTP ويحفظ اتصال الشبكة ويسرع تحميل الصفحة.. لاحظ الصورة التالية: الجزء الأيمن يتم تحميل صورة واحدة (مجمعة) الجزء الأيسر يتم تحميل كل ملف صورة بشكل ملف منفصل لاحظ وجود تأخير في انتهاء تحميل الصفحة عند استخدام العديد من الصور. أحد الحلول هو استخدام أدوات تعمل على تجميع بيانات الصور في ملف واحد ثم استخلاص بيانات كل صورة حسب مكان استخدامها.. مثلاً أداة: Climenty / svg-join التي يمكن تحميلها من npm ستقوم الأداة بتوليد ملفين الأول هو تجميع ملفات SVG "svg-bundle.svg": <svg ...> <symbol id="svg1" ...> <symbol id="svg2" ...> </svg> كل symbol يمثل SVG file. وملف تنسيقات "svg-bundle.css": .svg_svg1, .svg_svg2 { width: 20px; // for example height: 20px; } طريقة الاستخدام في HTML head تضمين ملف التنسيق <link rel="stylesheet" type="text/css" href="svg-bundle.css" /> body تضمين الصور بشكل منفصل في الصفحة <svg class="svg_svg1"><use xlink:href="svg-bundle.svg#svg1"></svg> <svg class="svg_svg2"><use xlink:href="svg-bundle.svg#svg2"></svg> لاحظ أن استدعاء صورة منفصلة يتم من خلال xlink ونضع # في نهاية ملف الصورة لتحديد الصورة الجزئية مثال: svg-bundle.svg#svg1 التعليمات البرمجية موجودة في توثيق المكتبة
  23. إن ماتريده يدعى subdomain أو نطاق فرعي، يمكنك من خلال لوحة التحكم، تحديد اسم النطاق الفرعي و المجلد الذي تريد استعراضه ضمنه. مثلا من لوحة تحكم c panel اختر Subdomains ثم حدد اسم الفرع و النطاق الرئيسي الخاص به والمجلد والأسماء التالية لا يمكن استخدامها فهي محجوزة: cPanel ftp mail webmail secure www إن لم تكن لوحة التحكم لديك c panel ابحث عن نف الفكرة sub domain حسب حالتك.
  24. هيروكو لاتسمح برفع الصور أو غيرها من الملفات على file system .. أي نظام ملفات المخدم. أقترح عليك استخدام خدمة S3 المقدمة من أمازون للتخزين السحابي
  25. بث فيديو مباشر: PHP-FFmpeg-video-streaming بث فيديو من كاميرا ويب: PHP-Live-Streaming-Webcam
×
×
  • أضف...