لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 05/13/24 في كل الموقع
-
مرحبا سؤالي هل ممكن اخلي مشروع اللارافل يتصل باكثر من قاعدة بيانات وكيف أحقق هالشي؟؟3 نقاط
-
صار اربع اشهر ادرس اساسيات python راجعت ثلاث مرات ونسه هل امر طبيعي يعني اتقدم بالتعلم ام هناك مشكلة2 نقاط
-
ماهي Microservices وكيف تتجلى فائدها لفريق العمل البرمجي على موقع مثلا ؟؟ وماهي البرامج التي تقدم مثل هذه الخدمة شكرا...2 نقاط
-
وعليكم السلام ورحمة الله وبركاته . نعم الأمر بسيط إن شاء الله . أولا تاكد من العميل أى لغة يريد تنفيذ جزء الواجهة الخلفية سواء php او nodejs . ويمكنك البحث على اليوتيوب كيفية تسجيل مستخدم جديد و تسجيل الدخول وستجد العديد من الشروحات حول ذلك . واذا كان يريد إستخدام php فيمكنك إستخدام إطار عمل laravel حيث سيسهل الكثر من الأمور عليك . ويمكنك قراءة هذا المقال حول ذلك اما إذا وجدت الأمر صعب وسياخذ وقت طويل فيمكنك أن تستعين بمطور backend يساعدك فى ذلك2 نقاط
-
يتم تعريف الخدمات المصغرة Microservices على أنها نوع من أنواع هيكلة المشاريع، يتم فيه تقسيم المشروع إلى عدة مشروعات صغيرة مستقلة تمامًا عن بعضها البعض، كل خدمة تعتبر فعليًا مشروعًا مستقلاً له فريق مستقل وقواعد بيانات مستقلة ويتم نشره ورفعه على الخادم بشكل مستقل، ويتم التواصل بين هذه الخدمات عن طريق بروتوكولات خفيفة الوزن لتبادل البيانات بينها حتى تكتمل المنظومة كلها. وهي تكنولوجيا ظهرت حديثًا إلى حد ما، وتحتاج خبرة عالية سواء من مهيكل المشروع Solution Architecture أو فرق العمل من المطورين، ومن ضمن فوائدها أنها تقوم بتقسيم المشروعات الضخمة إلى عدة مشاريع صغيرة مستقلة تمامًا عن بعضها وبالتالي يتم تطوير كل مشروع بفريق منفصل تمامًا دون الاعتماد على أي مشروع آخر مما يعطي مرونة في تطوير البرمجيات مقابل النظام الاعتيادي Monolithic. من خلال خبرتي، ورغم أن هذه الهيكلة فعليًا مفيدة جدًا في تقسيم المشروعات الضخمة وتسهيل العمل، إلا أنني عانيت في تجربتين مختلفتين استخدمت فيهما هذا النوع من الهيكلة، والمعانات كانت بسبب عدم خبرة فرق المطورين، لذلك لا تلجأ أبدًا لهذا النوع إلا بعد تدريب الفريق جيدًا. ملحوظة: النظام الاعتيادي كان يتم فيه تطوير النظام كاملاً في مشروع واحد كله مترابط وكل جزء فيه يعتمد على الأجزاء الأخرى. فإذا أردنا المقارنة بينهما، فنشبههما بمصنعين الأول: عبارة عن ورشة ضخمة فيها جميع الخدمات تحت هذه الورشة الثاني: يتم تقسيم مساحة الأرض إلى عدة مصانع صغيرة، كل منها له مدير وفريق حسابات ومخازنه الخاصة وإدارته المستقلة تمامًا عن باقي المصانع، ثم يتم رصف طرق بين هذه المصانع المصغرة لنقل المنتجات منها وإليها. بالتأكيد النوع الثاني فيه استقلالية رائعة، ولكن في المقابل يحتاج عملية تنظيم رهيبة بمعني الكلمة بين هذه المصانع المصغرة وإلا ستفشل المنظمة ككل بسبب عدم التنسيق الجيد، وهذا ما سيحدث إذا لم يتم الانتباه لهذه النقطة عند استخدام الخدمات المصغرة Microservices. كما ذكرنا، هي ليست خدمة تقدمها بعض البرامج، إنما هي نوعية لتطوير وهيكلة البرامج الضخمة، ويمكن تطويرها بأي لغة برمجة تدعم هذه الطريقة، مثل بايثون، جافا، سي شارب.2 نقاط
-
السلام عليكم طلب مني عميل ان اقوم بعمل صفحه للشركه الخاصة به بعدها طلب مني انشاء قاعده بيانات لتسجيل الدخول وتسجيل دخول جديد وانا لست backend هل عمل هذا بسيط بحيث يمكن أن ابحث واقوم به ام استعين ب backend1 نقطة
-
1 نقطة
-
السلام عليكم هل من المفضل استخدام Templates الجاهزة في مشاريع الفريلانس ؟ مثلا اعرض الtemplate على العميل فان اعجبه اقوم بشراءه (ان كان مدفوعا) واعدل عليه ! بالمناسبة أين اجدNextjs templates ?1 نقطة
-
مرحبا .. تحياتي اساتذتي الكرام, انا مطور واجهات امامية وقد استعان بي صديقي في مشروع للتخرج خاص به وهو يريد ان يضيف المستخدمين الى قاعدة البيانات مع بعض المعلومات الخاصة بهم وقال لي ان كل شيء جاهز, ويبدو الأمر كما قال ولكنه توقف عند هذا الحد ولم يستطيع التعامل مع عمليات ال CRUDS فهو يريد ان يجلب بيانات المستخدم عند تسجيل الدخول ان كان قد قام بتسجيلها سابقا .. ويبدو انه قد حصل على المساعدة في انشاء المشروع وايصاله الى هذه المرحلة من الاساتذة والطلاب المشتركين في المشروع , لدي بعض الخبرة في javascript وقمت بمحاكاة مشروع يشبهه من قبل , لكن من دون الاستعانة بقاعدة بيانات ابدا بل كنت استخدم ال array في ملف منفصل بدلا من ذلك, صراحة لم استطع فهم اكواد ال php وهيكلة المشروع مع العلم انني قمت بتشغيل المشروع وقاعدة البيانات المحلية لاول مرة ونجحت بذلك, لكن اريد المساعدة بنصيحة او فكرة او كود يرشدني, أي يكن لانني لم اجد ضالتي بعد الاستعانة بالذكاء الاصطناعي , ارجو ان كان الامر ممكنا مراجعة المشروع وتوجيهي , مع العلم ان الملف الخاص بقاعدة البيانات قمت بارفاقه ضمن الملفات الاساسية. رابط المشروع على github1 نقطة
-
اطلعت على الشيفرات الخاص بك، وتبدو صحيحة، وأنت بالفعل قمت بعمل الاتصال مع قواعد البيانات، وإرسال البيانات إليها، المفترض أن يتم الاتصال ثم تسجيل البيانات. فإذا لم يحدث كما هو متوقع يرجى بحث النقاط التالية - أولاً: التأكد من الاتصال الصحيح بقواعد البيانات أنت تستخدم localhost, 8889 لذلك يرجى التأكد أن فعلًا قواعد البيانات متصلة بهذا الخادم على نفس المنفذ، وسنقوم بعمل تعديل صغير بالشيفرات، لأن السطر الخاص بالاتصال إذا حدث به مشكلة فلن يتم تنفيذ باقي الأسطر <?php $servername = "localhost:8889"; $username = "root"; $password = "root"; $dbname = "student_information2"; try { // نضع الشيفرات داخل كتلة // try-catch $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } if ($_SERVER["REQUEST_METHOD"] == "POST") { // باقي الأسطر تكتب بشكل طبيعي // ... if (mysqli_query($conn, $sql)) { echo "Data inserted successfully!"; } else { echo "Error inserting data: " . mysqli_error($conn); } } $conn->close(); } catch (Exception $e) { echo "An error occurred: " . $e->getMessage(); } ?> - ثانيًا: التأكد من استخدام أسماء الحقول الصحيحة عند القراءة باستخدام $_post1 نقطة
-
قمت بإنشاء محرر لقراء الكتب والروايات وكنت اريد اضافة ميزة جديدة لقراءة الكتاب او الرواية بالتعليق الصوتي كنت اريد ان يتم قرائتها وهي اوفلاين واستخدمت مكتبة pyttsx3 وحاولت فيها كثير لاستخدام اللغة العربية ولكني لما انجح وحاولت استخدام مكتبة gTTS للقراءة المباشرة ولكنها لم تعمل هل هناك حل ؟ لا اعتقد اني استخدمهم بطريقة صحيحة او ان هذة الطريقة الصحيح لاستخدام ميزة القراءة كنت افضل استخدام مكتبة مايكروسوفت المفتوحة للقراءة ولكني لم استطيع ايضا1 نقطة
-
أولاً لا يوجد مكتبة في اللغة العربية تدعم بشكل كامل تحويل النص إلى صوت في اللغة العربية (لكي ترتاح من عناء البحث عن مكتبة تقوم بذلك) اذا كان الهدف فقط التجربة تستطيع ذلك. يمكنك الاطلاع على هذا المشروع والاستفادة منه في تحويل النص إلى صوت text_to_speech. ومن الأفضل استخدام تعلم الآلة لفعل ذلك لديك مثلاً elevenlabs.io استخدم الـ API الخاص بهم. بخصوص pyttsx3 تأكد من أنك قمت بتحديد اللغة العربية كلغة النص الذي تريد تحويله إلى صوت باستخدام الأمر التالي: engine = pyttsx3.init() engine.setProperty('rate', 150) # سرعة النطق engine.setProperty('voice', 'com.apple.speech.synthesis.voice.sara') # اسم الصوت العربي وتستطيع استبدال 'com.apple.speech.synthesis.voice.sara' بالصوت العربي المناسب لجهازك. ستجد تفصيل أكثر حول تلك المشكلة هنا بخصوص gtts و pyttsx3 :1 نقطة
-
من يومين حملت برنامج من كروم (قعد ينقلني ل ٤ صفحات قبل التحميل)، لما نزل عاللاب وفعلته عشان يبدا يتسطب لقيته فتح ملفات كتير فقمت قافلهم وحاذفه. بعد كده لقيت اللاب بيفتح ويندوز سيستم (لونها اسود وبادءة بكود) كذا مرة. وديت اللاب لحد يحملي نسخة ويندوز جديدة. انا كنت مسجل في اللاب بتلات حسابات، جالي ايميلات عالتليفون ان في suspetious activity فقمت مغير كلمات السر بتوعهم. بس بعد كده لقيت اكونتات الى على التطبيقات التانية (داخل بنفس حساب جوجل الى حملت منه) بعتالى كام ايميل ان في حاجة غريبة (كذا ايميل من لينكد ان مدينى فيه PIN مع انى محاولتش اغير الباسوورد/ ايميل بيقولى ان باسوورد ميكروسوفت اتغير / ميجا بعتتلي ان في suspetious activity)، لما كانت بتجيلي الرسايل كنت بغير الباسوورد بتاع كل برنامج. انا مفروض اعمل ايه دلوقتي؟ وهل كده في مشكلة ولا لا؟؟1 نقطة
-
1 نقطة
-
لا إياك حذف أى كلمة مرور قم فقط بالذهاب وتغيرها لأنه بالفعل الآن يملك جميع كلمات المرور ولن يفيد أى شئ حذفها . قم بالذهاب إلى كل كلمة مرور محفوظة وقم بالذهاب للموقع وتغيرها هذا فقط يكفى مع التأكد من تسجيل الخروج من جميع الأجهزة الأخرى . بالفعل تم سرقة جميع كلمات المرور منه ولكن جوجل الحماية الخاصة بها قوية تكتشف سواء أنت من تحاول الوصول أم لا وبما أنه تم إخبارك بإكتشاف suspetious activity فإذا قد تم تسجيل خروجك من الأجهزة بالفعل ولكن للتاكد قم بتنفيذ الخطوات التى أخبرتك بها سابقا . قم بمحاولة تذكر الأشياء المهمة مثل التى تحمل ايميلات مواقع التواصل مثلا او البريد الإلكترونى فإن كنت قمت بتسجيل دخول yahoo مثلا او microsoft ستجد بالفعل أجهزة قد دخلت على جميع تلك الحسابات فقم بتغيرها فورها وتسجيل الخروج من الاجهزة الآخرى . وقم بمتابعة بريدك الإلكترونى إذا اكتشفت محاولة تغير كلمة مرور أى موقع فقم بالذهاب مباشرة لهذا الموقع وتغير كلمة المرور القديمة سريعا1 نقطة
-
تحياتي , شكرا لاهتمامك , حسنا اخي الكريم هل امكنك رؤية ملفات المشروع , انا اقوم باعداد الاتصال بين قاعدة البيانات على جهازي والمشروع , لكنني اريد ان اعرف هل هنالك خطأ ما في هيكلة المشروع او عند ارسال البيانات الى قاعدة البيانات, مثلا يوجد لدي صفحة ال register والكود الخاص بها (أعني كود ال php) يوجد في ملف اخر اسمه welcome2.php وعند ارسال البيانات لا تضاف البيانات الى قاعدة البيانات . هل هذا الترتيب خاطئ ام انه يعمل اذا كان الاتصال بقاعدة البيانات صحيح. سؤالي هنا اخي الكريم بحكم خبرتك , هل المشروع كامل منطقيا ويجب علينا فقط التاكيد على الربط الصحيح بين المشروع وقاعدة البيانات , ام هنالك امر ما خاطئ او ناقص يحب علينا مراعاته , انا اعمل الى الان على الربط بين القاعدة والمشروع . وشكرا مرة اخرى على وقتك.1 نقطة
-
معدل الوصول أو "Rate Limiter" في تطبيقات الويب يستخدم للحد من معدل الطلبات التي يمكن أن يرسلها المستخدم أو النظام خلال فترة زمنية محددة، هذا الأمر يساعد في الحماية ضد الهجمات التي تحاول إغراق النظام بالطلبات (مثل هجمات DDoS) ويضمن توزيع الموارد بشكل عادل بين المستخدمين. ففي الشيفرة المقدمة في الصورة الأولى تظهر تعريف الحد الأقصى العالمي للطلبات حيث لا يمكن لأي مستخدم إرسال أكثر من 1000 طلب في الدقيقة الواحدة. use Illuminate\Support\Facades\RateLimiter; use Illuminate\Http\Request; /** * Bootstrap any application services. */ protected function boot(): void { RateLimiter::for('global', function (Request $request) { return Limit::perMinute(1000); }); } فهذا الجزء RateLimiter::for('global', ...) يعرف حدّا للطلبات ينطبق على جميع المستخدمين بينما هنا function (Request $request) { return Limit::perMinute(1000); } تحدد هذه الوظيفة أنه يمكن إجراء ما يصل إلى 1000 طلب في الدقيقة من أي مستخدم أو IP. في الصورة الثانية، يتم تحديد الحد الأقصى للطلبات على مستوى واجهة برمجة التطبيقات (API)، حيث يتم السماح بـ 60 طلب في الدقيقة الواحدة لكل مستخدم لكنه هنا يعتمد على وجود المستخدم المسجل فذا كان الطلب يأتي من مستخدم مسجل (أي لديه معرف)، فسيستخدم المعرف كمفتاح لمعدل الطلبات؛ وإذا كان الطلب غير مرتبط بمستخدم مسجل، يستخدم عنوان IP للمستخدم كمفتاح. RateLimiter::for('api', ...) يعرف حدا للطلبات خاص بواجهة برمجة التطبيقات. function (Request $request) { ... } تحدد هذه الوظيفة الحد الأقصى للطلبات لكل مستخدم. $request->user()?->id ?: $request->ip() هذا التعبير يقرر مفتاح الحد للطلبات: إذا كان هناك مستخدم مسجل ($request->user()?->id)، يستخدم عرف المستخدم كمفتاح. إذا لم يكن هناك مستخدم مسجل، يستخدم عنوان IP للمستخدم كمفتاح. ?: هو مشغل ثلاثي يعود بالقيمة الأولى إذا كانت غير null، وإلا يعود بالقيمة الثانية.1 نقطة
-
بما أنك تعاملت مع هذا الموضوع من قبل، فالأمر يشبهه من حيث ترتيب الخطوات، فأنت تعاملت مع المصفوفة array والتي كان بمثابة قواعد البيانات التي تخزن فيها البيانات وتسترجعها، نفس الخطوات ستقوم بها ولكن مع بعض التفاصيل. ومن الأشياء الهامة التي يجب وضعها في الاعتبار، أنه من أنجح الطرق للربط بين الواجهة الأمامية Frontend والواجهة الخلفية Backend هو باستخدام الواجهات البرمجية APIs التي يتم إنشاؤها بالواجهة الخلفية، واستدعاؤها بالواجهة الأمامية. أولاً: إنشاء واجهة برمجية للاتصال بقاعدة البيانات: للتعامل مع أي قواعد بيانات لابد من إنشاء اتصال بها، يمكنك استخدام معلومات الاتصال (مثل اسم المستخدم وكلمة المرور واسم قاعدة البيانات) للاتصال بقاعدة البيانات. قم بفحص الاستجابة العائدة من الواجهة البرمجية للتأكد من نجاح الاتصال. العمليات الأساسية (CRUD): يتم إنشاء واجهة برمجية لكل عملية مثل: واجهة برمجية لإنشاء مستخدم جديد، وهذه يتم استدعاؤها من صفحة Register وتقوم بإضافة مستخدم جديد للجدول باستخدام الأمر insert واجهة برمجية لدخول المستخدم: نعطيها اسم المستخدم وكلمة المرور، وهي تستعلم عن هذه البيانات باستخدام الأمر select وهكذا يتم إنشاء الواجهات البرمجية APIs المطلوبة، واستدعاؤها من الواجهة الأمامية. هذه بعض الإرشادات لخطوات التعامل مع قواعد البيانات، وبالتأكيد الأمر يحتاج إلى دراسة قواعد البيانات والأوامر الأساسية بها مثل insert, update, delete, select وكذلك معرفة بإنشاء الجداول عن طريق الأمر create table وأيضًا معرفة كيفية الاتصال بين الواجهة الخلفية مع قواعد البيانات. لمعرفة المزيد عن قواعد البيانات انقر هنا1 نقطة
-
من الطبيعى أن يشعر الإنسان بصعوبة فى استرجاع المعلومات أو النسيان بعد فترة من الزمن إذا لم يتم استخدام هذه المعلومات سواء فى مشاريع أو حل تمارين بهذه المعلومات لتجنب النسيان يمكنك القيام بالأتى:- المراجعة جيدة جدا أثناء الدراسة ولتثبيت المفاهيم الأساسبية والضرورية فى بداية تعلمك. ولكن بما أنه تم المراجعة أكثر من مرة وتم استيعاب هذه المفاهيم وقمت بعملية التطبيق على هذه المفاهيم والدروس هذا يكفى البرمجة ليست لحفظ كل شئ ولكن تعلم واستيعاب المفاهيم الأساسية وحل المشكلات التى تواجهك بالذى تعلمته. معرفة عند مواجهة مشكلة معينة نستخدم الطريقة التى تعلمتها فى درس معين أو بمفهوم معين. التطبيق على فكرة معينة فى بالك بالذى تعلمته فهذا يثبت المعلومة. التطبيق وراء المدرب فى الدرس وقارن النتيجة الخاصة بك والنتيجة فى الدرس واستكشف الأخطاء الذى ستواجهك هذا سيساعد أيضا لتجنب الأخطاء فى المستقبل. عليك بالمراجعة المنتظمة على ما تعلمته من خلال تطبيق ما تتعلم فى مشروع عملى وتمارين وتحديات هذا سيساعدك كثير. فقط عليك مواصلة رحلة التعلم لا مشكلة فى ذلك مع استرجاع المعلومات السابقة من خلال التطبيقات. ويمكنك الإطلاع على الإجابات التالية1 نقطة
-
1 نقطة
-
من المهم فهم الفرق بين "الصلة"(relevance) و"التشابه"(similarity). أن التشابه يتعلق بالتشابه في مطابقة الكلمات ، الا ان الصلة تتعلق بترابط الأفكار. يمكنك تحديد المحتوى القريب لغويا باستخدام الاستعلام على قاعدة بيانات متجهة(vector database)، ولكن تحديد المحتوى ذي الصلة واسترداده يتطلب أدوات أكثر تطورا. حيث البنية العامة لنظام الاسترجاع من الشكل التالي حيث يوجد فيه قاعدة بيانات متجهة يتم الاستعلام (query)عليها بواسطة حساب التشابه بين الاستعلام والمتجهات داخل قاعدة البيانات : فان من الاستراتيجيات المتبعة هي تقسيم الملفات الى اجزاء اصغر يمكن لنظام RAG تحديد التشابه بسرعة ودقة أكبر في أجزاء نصية أصغر منه في المستندات الكبيرة. في حين أن الأجزاء الأكبر يمكن أن تلتقط المزيد من السياق ، إلا أنها تجعل نسبة التشابه اقل فعالية وتتطلب المزيد من الوقت وتكاليف الحوسبة للمعالجة.لكن القطع الأصغر قد لا تلتقط السياق الضروري بالكامل وهذه هي مشكلتك يصعب تحديد الاجزاء ذات الصلة. في حال التقطيع كيف يمكنك التأكد من اختيار الجزء الصحيح؟ تعتمد فعالية استراتيجية التقطيع إلى حد كبير على جودة وهيكل هذه القطع اي لا يوجد طريقة لتقييم مدى جودتها سوى عن طريق مراجعة يدوية. يمكن التغلب على هذه القيود عن طريق اتباع احد الاستراتيجيتان ادخال أجزاء المتداخلة : هي طريقة لتحقيق التوازن بين كل من هذه القيود. من خلال تداخل الأجزاء ، من المحتمل أن يسترد الاستعلام بيانات كافية ذات صلة عبر متجهات متعددة من أجل إنشاء استجابة سياقية بشكل صحيح.لكن أحد القيود هو أن هذه الاستراتيجية تفترض أن جميع المعلومات التي يجب عليك استردادها يمكن العثور عليها في مستند واحد. إذا تم تقسيم السياق المطلوب عبر مستندات مختلفة متعددة، فقد تفشل وسوف تفكر في الاستفادة من الحلول مثل التسلسلات الهرمية للمستندات وهي الاستراتيجية الثانية. التدرجات الهرمية للمستندات: يعد التسلسل الهرمي للمستندات طريقة فعالة لتنظيم بياناتك لتحسين استرجاع المعلومات وتاخذ الشكل التالي. تربط التدرجات الهرمية للمستندات الأجزاء بالعقد، وتنظم العقد في العلاقات بين الأصل والابن. وتحتوي كل عقدة على ملخص للمعلومات الواردة فيها، مما يسرع نظام RAG ويعرفه بالأجزاء التي يجب استخراجها. مثال : لنفترض أن الشركة متعددة البلدان لديها 10 مكاتب للموارد البشرية وأن لكل مكتب سياسة الموارد البشرية الخاصة بكل بلد ، ولكنها تستخدم نفس النموذج لتوثيق هذه السياسات. ونتيجة لذلك، فإن وثيقة سياسة الموارد البشرية لكل مكتب لها نفس التنسيق تقريبا، ولكن كل قسم سيفصل السياسات الخاصة بكل بلد لقضاء العطلات الرسمية، والرعاية الصحية، وما إلى ذلك. في قاعدة بيانات المتجهات ، ستبدو كل فقرة "أيام العطل الرسمية" متشابهة جدا. في هذه الحالة ، يمكن للاستعلام المتجه استرداد الكثير من نفس البيانات غير المفيدة ، مما قد يؤدي إلى الضياع في الحالة العادية او في الاستراتيجية الاولى.لكن باستخدام التسلسل الهرمي للمستندات، يمكن لنظام RAG الإجابة بشكل أكثر موثوقية على سؤال حول العطلات الرسمية لمكتب دمشق من خلال البحث أولا عن المستندات ذات الصلة بمكتب دمشق. ملاحظة الاستراتيجية الثانية تتطلب خبرة اكثر في بنائها. وتتطلب خبرة خاصة بالمجال أو مشكلة محددة للإنشاء لضمان أن تكون الملخصات ذات صلة كاملة بالمهمة المطروحة. يمكن انشاء الملخصات يدويا او بواسطة ادوات ونماذج قد تساعد في عملية التلخيص1 نقطة
-
يمكنك ذلك عن طريق عدة مدونات أو قنوات يوتيوب يمكنك البدء بزيارة هذا المقال: ماهو SEO1 نقطة