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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. يتم تعريف الخدمات المصفغرة Microservices على أنها نوع من أنواع هيكلة المشاريع، يتم فيه تقسيم المشروع إلى عدة مشروعات صغيرة مستقلة تمامًا عن بعضها البعض، كل خدمة تعتبر فعليًا مشروعًا مستقلاً له فريق مستقل وقواعد بيانات مستقلة ويتم نشره ورفعه على الخادم بشكل مستقل، ويتم التواصل بين هذه الخدمات عن طريق بروتوكولات خفيفة الوزن لتبادل البيانات بينها حتى تكتمل المنظومة كلها. وهي تكنولوجيا ظهرت حديثًا إلى حد ما، وتحتاج خبرة عالية سواء من مهيكل المشروع Solution Architecture أو فرق العمل من المطورين، ومن ضمن فوائدها أنها تقوم بتقسيم المشروعات الضخمة إلى عدة مشاريع صغيرة مستقلة تمامًا عن بعضها وبالتالي يتم تطوير كل مشروع بفريق منفصل تمامًا دون الاعتماد على أي مشروع آخر مما يعطي مرونة في تطوير البرمجيات مقابل النظام الاعتيادي Monolithic. من خلال خبرتي، ورغم أن هذه الهيكلة فعليًا مفيدة جدًا في تقسيم المشروعات الضخمة وتسهيل العمل، إلا أنني عانيت في تجربتين مختلفتين استخدمت فيهما هذا النوع من الهيكلة، والمعانات كانت بسبب عدم خبرة فرق المطورين، لذلك لا تلجأ أبدًا لهذا النوع إلا بعد تدريب الفريق جيدًا. ملحوظة: النظام الاعتيادي كان يتم فيه تطوير النظام كاملاً في مشروع واحد كله مترابط وكل جزء فيه يعتمد على الأجزاء الأخرى. فإذا أردنا المقارنة بينهما، فنشبههما بمصنعين الأول: عبارة عن ورشة ضخمة فيها جميع الخدمات تحت هذه الورشة الثاني: يتم تقسيم مساحة الأرض إلى عدة مصانع صغيرة، كل منها له مدير وفريق حسابات ومخازنه الخاصة وإدارته المستقلة تمامًا عن باقي المصانع، ثم يتم رصف طرق بين هذه المصانع المصغرة لنقل المنتجات منها وإليها. بالتأكيد النوع الثاني فيه استقلالية رائعة، ولكن في المقابل يحتاج عملية تنظيم رهيبة بمعني الكلمة بين هذه المصانع المصغرة وإلا ستفشل المنظمة ككل بسبب عدم التنسيق الجيد، وهذا ما سيحدث إذا لم يتم الانتباه لهذه النقطة عند استخدام الخدمات المصغرة Microservices. كما ذكرنا، هي ليست خدمة تقدمها بعض البرامج، إنما هي نوعية لتطوير وهيكلة البرامج الضخمة، ويمكن تطويرها بأي لغة برمجة تدعم هذه الطريقة، مثل بايثون، جافا، سي شارب.
  3. اليوم
  4. ماهي Microservices وكيف تتجلى فائدها لفريق العمل البرمجي على موقع مثلا ؟؟ وماهي البرامج التي تقدم مثل هذه الخدمة شكرا...
  5. من الطبيعى أن يشعر الإنسان بصعوبة فى استرجاع المعلومات أو النسيان بعد فترة من الزمن إذا لم يتم استخدام هذه المعلومات سواء فى مشاريع أو حل تمارين بهذه المعلومات لتجنب النسيان يمكنك القيام بالأتى:- المراجعة جيدة جدا أثناء الدراسة ولتثبيت المفاهيم الأساسبية والضرورية فى بداية تعلمك. ولكن بما أنه تم المراجعة أكثر من مرة وتم استيعاب هذه المفاهيم وقمت بعملية التطبيق على هذه المفاهيم والدروس هذا يكفى البرمجة ليست لحفظ كل شئ ولكن تعلم واستيعاب المفاهيم الأساسية وحل المشكلات التى تواجهك بالذى تعلمته. معرفة عند مواجهة مشكلة معينة نستخدم الطريقة التى تعلمتها فى درس معين أو بمفهوم معين. التطبيق على فكرة معينة فى بالك بالذى تعلمته فهذا يثبت المعلومة. التطبيق وراء المدرب فى الدرس وقارن النتيجة الخاصة بك والنتيجة فى الدرس واستكشف الأخطاء الذى ستواجهك هذا سيساعد أيضا لتجنب الأخطاء فى المستقبل. عليك بالمراجعة المنتظمة على ما تعلمته من خلال تطبيق ما تتعلم فى مشروع عملى وتمارين وتحديات هذا سيساعدك كثير. فقط عليك مواصلة رحلة التعلم لا مشكلة فى ذلك مع استرجاع المعلومات السابقة من خلال التطبيقات. ويمكنك الإطلاع على الإجابات التالية
  6. صار اربع اشهر ادرس اساسيات python راجعت ثلاث مرات ونسه هل امر طبيعي يعني اتقدم بالتعلم ام هناك مشكلة
  7. كما يوضح الاسم ,فالمشكلة ليست بسبب الكود البرمجي , بل بسبب اتفاقيات , في هذه الحالة تم رفض المعاملة بسبب ان الحساب المستخدم لتلقي المال (حساب العمل :business account) كان مسجل في الجزائر بمجرد استخدام حساب امريكي مكانه تمت العملية بنجاح
  8. البارحة
  9. يمكن القيام بذلك عبر اضافة شرط تحقق من تساوي العنصر مع الرقم 2 وبعدها طباعة مجموع 2 و 5: my_list = [1,2,3,4] for x in my_list: if x ==2: print(x + 5) يمكن تعميم الكود على اي رقم تريده وجمع له اي رقم تريده عبر اضافة متغران وجعله بالشكل التالي : حيث تم المرور على عناصر الlist واختبار تساوي الرقم مع العنصر المطلوب وبعدها زيادة له الرقم المطلوب my_list = [1, 2, 3, 4] # طلب رقم من المستخدم user_number = int(input("أدخل رقمًا تريد ان تضيف عليه من القائمة: ")) # طلب رقم الذي تريد اضافته add_number = int(input("أدخل رقم الذي تريد اضافته: ")) for x in my_list: if x == user_number: print(x + add_number) وملاحظة مهمة ان طريقة المرور على العناصر بالطريقى التي استخدمها مصطفى في التعليق الشابق تعتبر اسرع ومفيدة في عدد العناصر الكبير لكن هذه الطريقة مناسبة للقراءة اكثر ويجب انت تعرف الطريقتين
  10. لا يوجد أمر كذلك، فجميع مجالات البرمجة مطلوبة، بالطبع هناك أفضلية لمجال عن آخر حسب طبيعة سوق العمل في الوقت الحالي والتي تتغير كل 5 سنوات مثلاً لكون المجال البرمجي يتطور بشكل مستمر وهناك أمور تغير من مساره. لذا عليك تعلم أساسيات البرمجة أولاً ثم تفقد المجال البرمجي الذي يوجد عليه طلب والخبرة المطلوبة للعمل به، والمهارات البرمجية اللازمة، ثم تضع خطة وتسعى جاهدًا للوصول لذلك الهدف في مدة زمنية معينة ولن تقل عن سنة أقل من ذلك لن يصح. ومواقع التوظيف الألمانية هي: https://www.stepstone.de https://www.monster.de https://www.xing.com https://de.linkedin.com وستجد تفصيل أكثر هنا:
  11. من المهم فهم الفرق بين "الصلة"(relevance) و"التشابه"(similarity). أن التشابه يتعلق بالتشابه في مطابقة الكلمات ، الا ان الصلة تتعلق بترابط الأفكار. يمكنك تحديد المحتوى القريب لغويا باستخدام الاستعلام على قاعدة بيانات متجهة(vector database)، ولكن تحديد المحتوى ذي الصلة واسترداده يتطلب أدوات أكثر تطورا. حيث البنية العامة لنظام الاسترجاع من الشكل التالي حيث يوجد فيه قاعدة بيانات متجهة يتم الاستعلام (query)عليها بواسطة حساب التشابه بين الاستعلام والمتجهات داخل قاعدة البيانات : فان من الاستراتيجيات المتبعة هي تقسيم الملفات الى اجزاء اصغر يمكن لنظام RAG تحديد التشابه بسرعة ودقة أكبر في أجزاء نصية أصغر منه في المستندات الكبيرة. في حين أن الأجزاء الأكبر يمكن أن تلتقط المزيد من السياق ، إلا أنها تجعل نسبة التشابه اقل فعالية وتتطلب المزيد من الوقت وتكاليف الحوسبة للمعالجة.لكن القطع الأصغر قد لا تلتقط السياق الضروري بالكامل وهذه هي مشكلتك يصعب تحديد الاجزاء ذات الصلة. في حال التقطيع كيف يمكنك التأكد من اختيار الجزء الصحيح؟ تعتمد فعالية استراتيجية التقطيع إلى حد كبير على جودة وهيكل هذه القطع اي لا يوجد طريقة لتقييم مدى جودتها سوى عن طريق مراجعة يدوية. يمكن التغلب على هذه القيود عن طريق اتباع احد الاستراتيجيتان ادخال أجزاء المتداخلة : هي طريقة لتحقيق التوازن بين كل من هذه القيود. من خلال تداخل الأجزاء ، من المحتمل أن يسترد الاستعلام بيانات كافية ذات صلة عبر متجهات متعددة من أجل إنشاء استجابة سياقية بشكل صحيح.لكن أحد القيود هو أن هذه الاستراتيجية تفترض أن جميع المعلومات التي يجب عليك استردادها يمكن العثور عليها في مستند واحد. إذا تم تقسيم السياق المطلوب عبر مستندات مختلفة متعددة، فقد تفشل وسوف تفكر في الاستفادة من الحلول مثل التسلسلات الهرمية للمستندات وهي الاستراتيجية الثانية. التدرجات الهرمية للمستندات: يعد التسلسل الهرمي للمستندات طريقة فعالة لتنظيم بياناتك لتحسين استرجاع المعلومات وتاخذ الشكل التالي. تربط التدرجات الهرمية للمستندات الأجزاء بالعقد، وتنظم العقد في العلاقات بين الأصل والابن. وتحتوي كل عقدة على ملخص للمعلومات الواردة فيها، مما يسرع نظام RAG ويعرفه بالأجزاء التي يجب استخراجها. مثال : لنفترض أن الشركة متعددة البلدان لديها 10 مكاتب للموارد البشرية وأن لكل مكتب سياسة الموارد البشرية الخاصة بكل بلد ، ولكنها تستخدم نفس النموذج لتوثيق هذه السياسات. ونتيجة لذلك، فإن وثيقة سياسة الموارد البشرية لكل مكتب لها نفس التنسيق تقريبا، ولكن كل قسم سيفصل السياسات الخاصة بكل بلد لقضاء العطلات الرسمية، والرعاية الصحية، وما إلى ذلك. في قاعدة بيانات المتجهات ، ستبدو كل فقرة "أيام العطل الرسمية" متشابهة جدا. في هذه الحالة ، يمكن للاستعلام المتجه استرداد الكثير من نفس البيانات غير المفيدة ، مما قد يؤدي إلى الضياع في الحالة العادية او في الاستراتيجية الاولى.لكن باستخدام التسلسل الهرمي للمستندات، يمكن لنظام RAG الإجابة بشكل أكثر موثوقية على سؤال حول العطلات الرسمية لمكتب دمشق من خلال البحث أولا عن المستندات ذات الصلة بمكتب دمشق. ملاحظة الاستراتيجية الثانية تتطلب خبرة اكثر في بنائها. وتتطلب خبرة خاصة بالمجال أو مشكلة محددة للإنشاء لضمان أن تكون الملخصات ذات صلة كاملة بالمهمة المطروحة. يمكن انشاء الملخصات يدويا او بواسطة ادوات ونماذج قد تساعد في عملية التلخيص
  12. ما هو المجال في البرمجة المفضل في الدول الأوروبية؟
  13. لأن result ستعود لنا بقائمة list وبها رقم 7 لذا نريد طباعة الرقم فقط وليس القائمة.
  14. my_list = [1,2,3,4] for x in my_list: if x == 2: print(x + 5) الكود صحيح سؤال لما وضعت result[0]
  15. بشكل بسيط سيكون الكود كالتالي: my_list = [1, 2, 3, 4] result = [x + 5 for x in my_list if x == 2] print(result[0]) حيث نضع شرط في حلقة التكرار عندما يتم تلبيته يتم الجمع.
  16. غير متوفر دورة للأمن السيبراني في أكاديمية حسوب، لكن في حال لم يكن لديك دراية بمجال البرمجة وعلوم الحاسوب، ستحتاج إلى دورة تأهيلية لمساعدتك على إختيار المجال المناسب لك ووضعك على أرض صلبة. وتلك الدورة هي علوم الحاسوب حيث يتم بها شرح ما يلي: أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب وبالنسبة للأمن السيبراني فهو ليس بحاجة إلى تعلمك للغات برمجة لكن من الأفضل على الأقل تعلم لغة واحدة وهي بايثون، وإن كنت تنوي العمل على مشاريع في الويب فستحتاج إلى جافاسكريبت وأساسيات PHP. وستجد تفصيل أكثر هنا:
  17. السلام وعليكم my_list = [1,2,3,4] for x in my_list: print(x + 5) كيف اخذ فقط رقم 2 وجمعه مع 5 دون القائمه كاملة
  18. باطار جانغو كلما حاولت الدفع ببايبال , وبعد تسجيل معلومات المشتري عند الضغط علة "استكمال الشراء " تظهر لي هذه المشكلة مع العلم اني اضفت PAYPAL_RECEIVER_EMAIL ='sb-b8f9d30750293@business.example.com' PAYPAL_TEST =True في settings ايضا , هذه هي الدالة المسؤولة عن الform paypal_checkout = { 'business':settings.PAYPAL_RECEIVER_EMAIL, 'amount':200, 'item_name':'just trying', 'invoice': '113', 'currency_code' :'USD', # 'notify_url': f"https://{host}{reverse('paypal-ipn')}", # 'return': f"https://{host}{reverse('payment-success')}", # 'cancel': f"https://{host}{reverse('payment-failed')}", 'notify_url': f"{host}{reverse('paypal-ipn')}", 'return': f"{host}{reverse('payment-success')}", 'cancel': f"{host}{reverse('payment-failed')}", } paypal_form = PayPalPaymentsForm(initial=paypal_checkout) return render(request,'checkout.html',{'paypal':paypal_form})
  19. لو انا عايز اتخصص cybersecurity اشترك فى انهى كورس
  20. واريد ايضا اضافة المستخدمين في قاعدة البيانات من صفحة ال register
  21. مرحبا .. تحياتي اساتذتي الكرام, انا مطور واجهات امامية وقد استعان بي صديقي في مشروع للتخرج خاص به وهو يريد ان يضيف المستخدمين الى قاعدة البيانات مع بعض المعلومات الخاصة بهم وقال لي ان كل شيء جاهز, ويبدو الأمر كما قال ولكنه توقف عند هذا الحد ولم يستطيع التعامل مع عمليات ال CRUDS فهو يريد ان يجلب بيانات المستخدم عند تسجيل الدخول ان كان قد قام بتسجيلها سابقا .. ويبدو انه قد حصل على المساعدة في انشاء المشروع وايصاله الى هذه المرحلة من الاساتذة والطلاب المشتركين في المشروع , لدي بعض الخبرة في javascript وقمت بمحاكاة مشروع يشبهه من قبل , لكن من دون الاستعانة بقاعدة بيانات ابدا بل كنت استخدم ال array في ملف منفصل بدلا من ذلك, صراحة لم استطع فهم اكواد ال php وهيكلة المشروع مع العلم انني قمت بتشغيل المشروع وقاعدة البيانات المحلية لاول مرة ونجحت بذلك, لكن اريد المساعدة بنصيحة او فكرة او كود يرشدني, أي يكن لانني لم اجد ضالتي بعد الاستعانة بالذكاء الاصطناعي , ارجو ان كان الامر ممكنا مراجعة المشروع وتوجيهي , مع العلم ان الملف الخاص بقاعدة البيانات قمت بارفاقه ضمن الملفات الاساسية. رابط المشروع على github
  22. عليك حذف أي ملفات تم رفعها إلى المستودع على GitHub، أو حذف المستودع وإعادة إنشائه أيهما أسهل بالنسبة لك. ثم تعديل ملف .gitignore لديك بما يلي: ### Laravel ### /vendor/ node_modules/ npm-debug.log yarn-error.log # Laravel 4 specific bootstrap/compiled.php app/storage/ # Laravel 5 & Lumen specific public/storage public/hot # Laravel 5 & Lumen specific with changed public path public_html/storage public_html/hot storage/*.key .env Homestead.yaml Homestead.json /.vagrant .phpunit.result.cache ثم تنفيذ الأمر التالي لحذف المستودع المحلي لـ Git في مجلد مشروعك: rm -rf .git ثم إعادة إنشاء المستودع من خلال الأمر: git init ثم رفع المشروع من خلال: git add . // ثم git commit -m "first commit" // ثم git branch -M main // ثم git remote add origin https://github.com/ اسم المستخدم/repoName.git // ثم git push -u origin main
  23. لدي مشروع محلي وحاولت رفعة على master branch ولكن الملف gitignore لم يتجاهل ملفات ال Storage مما جعل حجم المشروع كبير واظطررت لإلغاء الرفع فانتقلت لبرانش جديد develop وعدلت ملف gitignore الى هكذا /node_modules /public/build /public/hot /public/storage /storage/*.key /vendor .env .env.backup .env.production .phpunit.result.cache Homestead.json Homestead.yaml auth.json npm-debug.log yarn-error.log /.fleet /.idea /.vscode ولكن حدثت مشكله أو تعارض ولم يرتفع المشروع وهذه المشكلة Enumerating objects: 2339, done. Counting objects: 100% (2339/2339), done. Delta compression using up to 4 threads Compressing objects: 100% (2320/2320), done. Writing objects: 100% (2339/2339), 379.00 MiB | 18.36 MiB/s, done. Total 2339 (delta 307), reused 0 (delta 0), pack-reused 0 error: RPC failed; curl 55 Send failure: Connection was reset send-pack: unexpected disconnect while reading sideband packet fatal: the remote end hung up unexpectedly Everything up-to-date كيف ارفع الشغل الحالي الى ال Repository
  24. مرحا @NAIF نعم في كل الاحوال يمكنك التعديل على الرابط بالشكل الذي تريد اذا كان المشروع الخاص بك يحتوى على ملفات HTML مترابطه ببعضها يمكنك تغير اسم ملف الHTML وسيتغير الاسم بشكل تلقائي مع الاخذ بالاعتبار تغير الاسم الجديد داخل المشروع الخاص بك اما اذا كنت تستخدم PHP يمكنك ذلك عن طريق تغير المسار الخاص بعرض الصفحه المشار اليها في اطار عمل Laravel مثلا يتم تعريف المسارات بهاذا الشكل Route::get('latest-feeds', 'latestFeeds'); اي انه عند كتابه www.example.com/latest-feeds سيعرض البيانات المراد عرضها في هذا المسار حسب الاسم المعطى له بالتوفيق
  25. مرحبا واهلا وسهلا بك،@Najah Alsaker اخي الفاضل انا اقصد الاستعلام من الرابط اي ان السكربت الخاص بي يعتمد على الاستعلام من الرابط لإضهار المحتوى المحدد اي اوريد تعديل شكل الرابط فقط ليس الملف
  26. مرحبا @NAIF لا يمكن تعديل امتداد ملف يحتوى على اكواد PHP الى امتداد HTML . نعم يمكنك ذلك عن طريق التحكم في ال path الخاص بالعرض في المشروع . كما ذكرت سابقا اذا كان محتوى الملف اكواد PHP فلا يمكن تغير صيغته الى HTML اما اذا كان يحتوى على اكود HTML فلا مانع في ذلك اذا اردت كتابه HTML داخل PHP يمكنك ذلك كما في المثال : <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>صفحة HTML داخل PHP</title> </head> <body> <h1>مرحبًا بك في الصفحة HTML داخل PHP</h1> <h1>Welcom <?php echo "Hello From PHP" ?></h1> </body> </html> ونظرا لأن PHP هي لغة برمجة نصية من جانب الخادم ، يتم تفسير التعليمات البرمجية و تشغيلها من جانب الخادم و بشكل افتراضي لا يتم اكتشاف علامات PHP في ملف ال HTML الخاص بك و تعتبر مجرد نص عادي يتم إخراجها بدون تحليل و ذلك لأن لغه PHP تحتاج الى server او خادم حتى تعمل فإذا كنت ترغب في تشغيل ملفات HTML في PHP ، فيمكنك و من الأفضل لك وضع كود PHP و HTML بامتداد PHP يمكنك ذلك عن طريق جعله غير قابل للقراءة أو الكتابة أو التنفيذ من قبل المستخدمين الآخرين على الخادم بالتوفيق لك ..
  27. السلام عليكوم ورحمة الله و بركاته لوسمحتم لدي ٣ اسئلة السؤال الاول هل يمكن تعديل إمتداد ملف index.php في الرابط و تحويلة إلى index.html السؤال الثاني هل يمكن تعديل شكل رابط هذه الصفحة من showpost.php?p=1043871558&postcount=1 وتحويلة إلى p1043871558c1.html السؤال الثالث هل يمكن تعديل شكل الرابط هذه الصفحة من showthread.php?t=3126301 و تحويلة إلى t3126301.html سؤال خارجي هل هل يمكن تعديل الرابط من showthread.php?t=3126301 وتحويلة إلى posts/t3126301.html و سؤال اخر هل اعدل في ملفات php ام لا و سؤال اخر كيف يمكن حماية ملف config.php بدون ملف htaccess
  1. عرض المزيد
×
×
  • أضف...