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

Hikmat Jaafer

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

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

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

8 متابعين

آخر الزوار

474 زيارة للملف الشخصي

إنجازات Hikmat Jaafer

عضو نشيط

عضو نشيط (3/3)

277

السمعة بالموقع

7

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

  1. لايوجد دورة مجانية تعطيك شهادة معتمدة لكن يمكنك الأن التعلم من الدورات المجانية و مستقبلا عندما تتحسن أوضاعك تستطيع الحصول على شهادة معتمدة . يوجد العديد من الدورات على اليوتيوب يمكنك التعلم منها و لكن في البداية عليك أن تحدد المجال الذي تريد تعلمه لكي تستطيع تحديد الدورة المناسبة لك , و عليك الانتباه للدورة التي تختارها فهناك الكثير من الدورات على اليوتيوب منها الجيد و منها غير الجيد عليك أن تعرف من هو الشخص الذي يقدم الدورة و هل هو محترف و متخصص في مجال الدورة التي يقدمها أم لا. و أنصحك بتنفيذ مشاريع عملية و احترافية في المجال الذي تختاره و الاحتفاظ بها لتكون بمثابة شهادة خبرة لك. وهذا الرابط لمقالة توضح لك بداية الطريق في تعلم البرمجة , يمكنك قرائتها لتستطيع تحديد المجال الذي يناسبك
  2. بالتأكيد سيقومون بمساعدتك بخصوص هذا الأمر لكن عليك الصبر قليلا، هذا رابط صفحة التواصل مع مركز المساعدة هل أنت متأكد من أنك تواصلت معهم من خلال هذه الصفحة؟ و بالمناسبة في حال تريد الاشتراك في دورة أخرى تستطيع مشاهدة المسار الأول من كل دورة و من خلاله يمكنك إختيار الدورة الصحيحة التي تناسبك. و في البداية عندما تريد تعلم البرمجة يجب عليك أن تحدد هدفك و غايتك من تعلمها و ماهو المجال الذي تريد أن تعمل به لكي تستطيع تحديد مايناسبك , فمجالات البرمجة كثيرة و متعددة منها: تطوير تطبيقات الجوال تطوير مواقع الويب تطوير الألعاب حليل البيانات الذكاء الاصطناعي و غيرها الكثير , و يمكنك الاطلاع على هذا المقال الذي يعطيك رأس الخيط لتعلم البرمجة و تحديد المجال الذي تريده
  3. بالإضافة لما ذكر في الأجوبة السابقة يمكنك استخدام إحدى الطرق التالية لحماية الملف: استخدام منصات توفر عرضاً فقط دون تنزيل: يوجد منصات تتيح للمشتري الوصول إلى المحتوى الرقمي عبر متصفح دون تنزيل الملف، مثل Notion أو Google Drive عبر الروابط المحمية. استخدام تقنيات التشفير المخصص للملف: يمكنك تشفير المحتوى بحيث يتطلب الملف مفتاح تشفير خاص لفتحه لايفتح الملف إلا بمفتاح تشفير خاص ويكون المفتاح مرتبط بجهاز المشتري. هناك أدوات تقوم بتشفير كل نسخة مباعة بشكل مختلف وتمنع عرض الملف إلا على الأجهزة المسموح بها منها: Adobe Acrobat Pro مع إعدادات الأمان المتقدمة . Locklizard DRM Security Vitrium Security Microsoft Azure Information Protection (AIP) FileOpen DRM PDF Unshare إذا كنت تحتاجين فقط إلى تشفير الملفات ومنع الطباعة والنسخ، يمكن أن يكون Adobe Acrobat Pro كافيا. أما إذا كنت تحتاجين إلى حماية متقدمة مع التحكم في الأجهزة المصرح بها وإدارة حقوق رقمية دقيقة، فاختاري أدوات مثل Locklizard أو Vitrium.
  4. مرحباً ، انت تبحث عن شيء يتيح لك تنفيذ أمر بعد حدوث أمر أخر ( سلسلة عمليات متتابعة ) ، اذا كان هذا ما تقصده من ( ثم ) ، فنعم يوجد عدة طرق: في JavaScript ، يمكنك تنفيذ سلسلة من الأوامر المتتابعة باستخدام الوعود (Promises) مع الدالة .then() ، مما يتيح لك التحكم في ترتيب تنفيذ العمليات بالتتابع. إليك كيف يمكن أن يبدو الكود في حالة تريد للكائن أن: يتحرك إلى مكان معين. يتوقف. يسأل سؤالاً (أو يقوم بعملية). ينتظر استجابة. function moveToLocation() { return new Promise((resolve) => { console.log("moving..."); setTimeout(() => resolve("Done"), 1000); // هنا تأخير 1 ثانية كمثال }); } function stop() { return new Promise((resolve) => { console.log("Stop."); setTimeout(resolve, 500); // توقف لمدة 0.5 ثانية }); } function askQuestion() { return new Promise((resolve) => { console.log("Ask Question..."); setTimeout(() => resolve("Done"), 1000); }); } function waitForResponse() { return new Promise((resolve) => { console.log("Wating..."); setTimeout(() => resolve("Done"), 2000); }); } // السلسلة الكاملة moveToLocation() .then(stop) .then(askQuestion) .then(waitForResponse) .then((response) => { console.log(response); }) .catch((error) => { console.error("error :", error); }); .then() يُستخدم لتحقيق التتابع بين العمليات. Promise تتيح لك التحكم الكامل في توقيت كل عملية وانتظار العمليات السابقة قبل الانتقال إلى التي تليها. بالإضافة إلى ذلك، يمكنك أيضاً استخدام async/await كما وضح المدرب شهاب ، لجعل الكود يبدو أقرب للغة العادية بدون الحاجة إلى .then: async function performActions() { await moveToLocation(); await stop(); await askQuestion(); const response = await waitForResponse(); console.log(response); } performActions().catch((error) => console.error("error:", error));
  5. مميزات Custom Hooks: إعادة الاستخدام: إذا كنت تحتاج أن تكتب كود ما في أكثر من مكان في مشروعك فإن استخدام ال custom hook سيوفر عليك , ستكتبه مرة واحدة و تستدعيه أين ماتريد. جعل المكونات أكثر نظافة:تقسيم المنطق في Custom Hooks يجعل المكون الرئيسي بسيطًا ومركّزًا على الواجهة، ويسهّل قراءته وصيانته. تحقيق استجابة أسرع للتغييرات:Custom Hooks تجعل تطبيق التغييرات والتحديثات أسهل، حيث يمكن تعديل منطق معين في مكان واحد بدلاً من تعديله في أماكن متعددة. متى نستعملها: نريد تكرار منطق معين: مثل تفاعل مع API أو معالجة بيانات المدخلات، دون تكرار الكود في عدة مكونات. نحتاج إلى فصل المنطق المعقد عن واجهة المكون، مما يجعل المكون أكثر تنظيماً. إذا كان هناك منطق يعتمد على تحديثات الحالة أو يحتاج إلى التعامل مع دورة حياة المكون. هل يمكن تعويضها عبر إستعمال برامج لإدارة الحالة؟ custom hooks شيء مختلف عن إدارة الحالة , فهي تستخدم لتنظيم الكود أكثر و منع التكرار, أما redux تستخدم لتخزين البيانات العامة التي نحتاج للتعامل معها و إدارتها في أكثر من مكان . و بالنسبة لاستخدامها فهذا يعود لطبيعة المشروع و المنطق الخاص به , و لكنها لاتزال مفيدة و مستخدمة في ظل التحديثات حسب نوع المشروع.
  6. أهلاً أنس، الدورة ستفيدك كثيراً في طلبك من تحليل الشكاوي وتصينفها وغيره من الطلبات ، يجب عليك التركيز على الأقسام التالية: تحليل البيانات Data Analysis : يركز هذا القسم على أساسيات تحليل البيانات. ستساعدك هذه الوحدة على فهم كيفية قراءة بيانات الشكاوى، واستخراج معلومات أساسية منها مثل تواتر الشكاوى حسب الفئات. التعلم الآلي (Machine Learning): تركز الدورة على تصنيف البيانات باستخدام تقنيات مثل Naive Bayes وLogistic Regression وSVM وDecision Tree. هذه الخوارزميات مفيدة جدا لتصنيف الشكاوى بشكل تلقائي إلى فئات (مثل تصنيفات الشكاوى الموجودة لديك). يمكنك أيضا استخدام تقنيات التجميع (Clustering) لاكتشاف الأنماط المتكررة أو القضايا الناشئة بدون الحاجة إلى تصنيف مسبق. معالجة اللغة الطبيعية (Natural Language Processing): نظراً لأن الشكاوى تحتوي على نصوص غير منظمة، ستحتاج إلى معالجة اللغة الطبيعية لتحليلها. تقنيات مثل تحويل النص إلى متجهات (Embedding) واستخراج العبارات الرئيسية (Keyphrase Extraction) ستساعدك على استخراج المعلومات الأساسية من الشكاوى، مثل موضوع الشكوى، وتكرارها. التعلم العميق (Deep Learning): يحتوي هذا القسم على شبكات RNN و LSTM، وهي مفيدة لتحليل الشكاوى النصية مع مراعاة تسلسل الكلمات، مما يساعد على فهم سياق الشكوى واكتشاف الأنماط المتكررة. التعلم الزمني وتحليل السلاسل الزمنية: لاحتياجاتك المتعلقة بالأنماط الزمنية، سيساعدك هذا القسم في تحليل تواتر الشكاوى بمرور الوقت. هذه التقنيات ستكون مفيدة في التعرف على فترات تزايد الشكاوى المتعلقة بموضوع معين.
  7. يوجد العديد من لغات البرمجة و أطر العمل المستخدمة لإنشاء البرامج و التطبيقات, و يوجد أنواع مختلفة للبرامج , و هذه الأنواع: تطبيقات الجوال: هي التطبيقات التي نقوم بتنزيلها على أجهزة الموبايل الخاصة بنا و أشهر أطر العمل المستخدمة في برمجة هذا النوع من التطبيقات هي : Flutter React native تطبيقات سطح المكتب: هي التطبيقات التي تعمل على جهزة الحاسوب مثل الفوتوشوب و غيره و لبرمجته يوجد العديد من أطر العمل و لغات البرمجة المستخدمة : c# java electron تطبيقات الويب: هي المواقع التي نفتحها باستخدام المتصفح (chrom, firefox, ..) مثل موقع يوتيوب و فيسبوك مثلا, و هذا النوع يقسم لقسمين هما : front end و هذا القسم مسؤول عن الواجهات التي ستعرض البيانات و التي سيراها من خلالها و لبرمجته تحتاج لهذه التقنيات: html javascript css يمكنك تعلم إحدى أطر العمل لسهولة التطوير مثل (ٌReact js, Vue js, Angular) و القسم الثاني هو back end و هذا القسم مسؤول عن معالجة البيانات و إدارتها و تخزينها و لبرمجته نستخدم إحدى أطر العمل التالية : spring boot .net node js بالإضافة لذلك نحتاج محرك لتخزين البيانات و إدارتها و يوجد العديد لذلك منها MySql, Sql Server الأنظمة المدمجة: و هي الأنظمة التي تستخدم لبرمجة الألات مثل الغسالات و البرادات و غيرها و هنا نحتاج للغات منخفضة المستوى مثل : C C++ كما رأيت يوجد العديد من المجالات لذلك عليك تحديد ماتريد بناء على سوق العمل لديك
  8. وعليكم السلام، أولا : قم بإضافة ql-editor للعنصر الذي تعرض فيه البيانات هكذا : <p className="mb-6 text-gray-700 dark:text-gray-300 text-justify ql-editor" dangerouslySetInnerHTML={{ __html: task.description }} /> ثانيا : تأكد من أن task.description يحتوي على HTML صالح وكامل , قم بطباعته في الكونسول و تحقق من النتيجة, هل يوجد أخطاء في وسوم ال html, إذا وجدتأخطاء فالمشكلة تكون ليست بالعرض و إنما بالحفظ ثالثا :إذا استمرت يمكنك أن ضيف تنسيقات بنفسك لتعرض المحتوى كما تريد , قم بإنشاء ملف css و ضع فيه التنسيقات التالية وعدلها كيف تشاء : .ql-editor { line-height: 1.6; font-size: 1rem; } .ql-editor h1 { font-size: 2em; font-weight: bold; } .ql-editor h2 { font-size: 1.75em; font-weight: bold; } .ql-editor h3 { font-size: 1.5em; font-weight: bold; } .ql-editor ol, .ql-editor ul { padding-left: 1.5rem; list-style-position: inside; } .ql-editor li { margin-bottom: 0.5rem; } .ql-editor blockquote { border-left: 4px solid #ccc; margin: 1.5em 0; padding-left: 1em; color: #555; font-style: italic; } .ql-editor a { color: #3490dc; text-decoration: underline; } .ql-editor .ql-align-center { text-align: center; } .ql-editor .ql-align-right { text-align: right; }
  9. التعلم الصحيح يكون بالتطبيق مع المدرب, عليك أن تقوم بتطبيق جميع المشاريع مع المدرب و تفهم جميع الأوامر البرمجية التي تكتبها و لماذا تكتبها و في البداية قد تجد نفسك غير قادر على التطبيق وحدك و هذا أمر طبيعي يمكنك المتابعة مع المدرب خطوة بخطوة, ثم تحاول مرة أخرى أن تطبق وحدك, و تستمر هكذا حتى تصبح قادر على التطبيق وحدك. النسيان أمر طبيعي في البداية و جميع الطلاب غالبا يواجهونه لكن مع الاستمرار في التعلم و التدرب ستصبح خبيرا و ستزول هذه المشكلة, أنصحك بطريقة أخرى للتدرب و هي أن تقوم بإنشاء مواقع مشابهة لأكاديمية حسوب أو ليوتيوب أو فيسبوك دون أن تعتمد على الفيديوهات , افتح أحد هذه المواقع و حاول أن تقوم بتصميم موقع مشابه لتصميم هذه المواقع , و قم بهذا التدرب بعد أن تمتلك الخبرة في css و html
  10. بالنسبة لإكمال الدورة و عدم الانقطاع فأنصحك أن تحب الشيء الذي تتعلمه لكي تستمر فيه و تبدع فيه , أما إذا لم تكن تحب البرمجة و تتعلمها فقط للحصول على فرصة عمل فسيكون الأمر صعب بعض الشيء و هنا الأمر يعتمد عليك و على الإرادة التي تمتلكها. لذلك أنصحك بتحديد هدف من تعلمك للبرمجة فالهدف هو الذي يجعلك تستمر. أما بالنسبة للتعلم و الخبرة فلن تستطيع تعلم كل شيء دفعة واحدة , و إنما ستتدرج بالتعلم حتى تصبح خبيرا , لذلك أنصحك في هذه المرحلة التي أنت فيها بالمتابعة مع الدورة التي اخترتها و ستأخذ فيها كل ماتحتاجه بالنسبة للموضوع الذي تتحدث عنه الدورة, و مستقبلا عندما تتقدم و تكون قد فهمت الحاسوب و البرمجة و تعمقت فيها يمكنك التوسع أكثر . بالنسبة لوقت التعلم فهذا يعتمد عليك إذا كنت ترى أنك تستطيع بساعتين أو ثلاثة التعلم فهذا مناسب أما إذا كنت تريد التعلم بسرعة أكبر فعليك أن تزيد عدد الساعات. لكي تكسب الفهم العميق و الخبرة عليك أن تطبق كل ماتتعلمه و تفهم كل أمر في البرمجة لكي تستخدمه بالطريقة الصحيحة. حاليا أنت مازلت في البداية لذا لا تشتت نفسك فقط تابع مع المدرب و إذا واجهت أي مشكلة أو أمر لم تفهمه يمكنك السؤال أسفل الدرس و ستجد مجموعة من المدربين يجيبوك على استفسارك.
  11. و عليكم السلام , لعمل ذلك أنت ستحتاج إلى تطوير نظام كامل يحتوي على : واجهة المستخدم الأمامية (front end) واجهة المستخدم الخلفية (back end) قاعدة بيانات و للانطلاق في المشروع يجب عليك تحديد المتطلبات الأساسية للمشروع: الألعاب أو التطبيقات المستهدفة: تحديد الألعاب أو التطبيقات التي تريد شحن النقاط أو العملات لها (مثل Free Fire، PUBG، أو غيرها). واجهة برمجة تطبيقات (API) للألعاب: تأكد من أن اللعبة أو التطبيق الذي تتعامل معه يوفر API يسمح بتنفيذ عمليات الشحن عبر Player ID. وسائل الدفع: اختيار وسيلة دفع تدعم الدفع الإلكتروني مثل PayPal، Stripe، أو بوابات دفع محلية. بناء الواجهة الأمامية للموقع: قم بتصميم صفحة تحتوي على حقول إدخال مثل: Player ID مبلغ الشحن أو الرصيد اختيار اللعبة/التطبيق و هنا تحتاج إلى التقنيات التالية : html, css, javascript يمكنك أيضا استخدام أطر عمل مثل React.js أو Vue.js إذا كنت ترغب في بناء واجهة ديناميكية وسريعة. بناء الواجهة الخلفية (Back-end): هنا تكمن البرمجة الأوتوماتيكية لشحن الرصيد عبر Player ID. وعليك انشاء التالي: إعداد API خاص بموقعك لاستقبال البيانات من الواجهة الأمامية. التكامل مع واجهة اللعبة (Game API): بعد تلقي الطلب، يجب إرسال طلب إلى واجهة برمجة تطبيقات اللعبة التي تتعامل معها (مثلاً API PUBG أو Free Fire) باستخدام Player ID لتنفيذ عملية الشحن. إدارة قاعدة البيانات: استخدم قاعدة بيانات مثل MySQL أو MongoDB لتخزين معلومات عن الطلبات، مثل: Player ID حالة الشحن (مكتمل، معلق، فاشل) تفاصيل الطلبات والدفع. و ذلك للتمكن من مراجعة الطلبات لاحقا في حال أردت ذلك أو في حصول مشاكل التكامل مع بوابات الدفع: يجب إعداد تكامل مع بوابات الدفع للسماح للمستخدمين بالدفع قبل تنفيذ عملية الشحن.ثم بعد إتمام الدفع، تقوم بتأكيد المعاملة ثم تشغيل وظيفة الشحن عبر Player ID تلقائيًا.
  12. مرحباً ، إنه من الممكن تضمين ميزات مثل chat bot ولوحة تحكم لتحليل البيانات على موقع ويب. لكن فيما يتعلق بميزة تصوير الشاشة وتعقب الوقت، فإن المطور الذي تواصلت معه محق إلى حد كبير، حيث أن هذه الميزة تتطلب عادة صلاحيات نظام التشغيل التي لا تتوفر لتطبيقات الويب. عادة مثل هذه الوظائف تتطلب تطبيق سطح مكتب مستقل باستخدام تقنيات مثل Electron أو JavaFX لأنها تحتاج إلى الوصول المباشر إلى الجهاز (الشاشة والوقت). أفضل حل ممكن لتنفيذ هذه الميزات بأقل تكلفة وحماية للمعلومات: اولاً تقوم ببناء موقع ويب رئيسي للمكتب: يتضمن معلومات عن المكتب والخدمات. يحتوي على لوحة تحكم لتحليل البيانات (مثل عدد الزوار، الجلسات، نشاط المستخدم). يتضمن نظام chat bot باستخدام تقنيات مثل Dialogflow من Google أو Botpress. تشفير SSL لتأمين الموقع وضمان حماية البيانات الشخصية. ثانياً قم ببناء تطبيق سطح مكتب مستقل: استخدام Electron.js لتطوير تطبيق يمكنه الوصول إلى ميزات النظام مثل تصوير الشاشة وتعقب الوقت. هذا التطبيق يمكنه العمل جنباً إلى جنب مع الموقع، وإرسال البيانات إلى قاعدة بيانات آمنة عبر واجهة برمجية (API). ثالثاً ، يجب تحقيق التكامل بين الموقع والتطبيق: يمكن للتطبيق إرسال البيانات (مثل وقت العمل واللقطات) إلى الخادم الذي يدير الموقع، بحيث تكون لوحة التحكم على الموقع قادرة على تحليل وعرض هذه البيانات. يمكن أيضاً تخزين البيانات المتعلقة بالأداء والإنتاجية وتحليلها وعرضها على الويب بشكل آمن.
  13. قد تكون الاشعارات ديناميكية كما تقول أنت أي يستطيع مدير النظام تحديد النصوص التي سيتم إرسالها للمستخدمين عند حدوث حدث معين , و بهذه الطريقة نحتاج: واجهة يستطيع المسؤول من خلالها من إدخال نصوص الاشعارات الخاصة بالأحداث و تغييرها جدول في قاعدة البيانات لتخزين النصوص الخاصة بالاشعارات و ربطها بالأحداث و قد تكون الاشعارات ثابتة أي نصوص يتم تحديدها ضمن الكود و ربطها بالأحداث و بذلك لن نحتاج لجدول في قاعدة البيانات و لا لواجهة مستخدم لإدخال الإشعارات. و هذا الأمر يعتمد على النظام المطور و مايريده العميل. في حالة الإشعارات الفورية (realtime)، يمكن استخدام تقنيات مثل WebSocket لإرسال الإشعارات بشكل لحظي لواجهة المستخدم دون الحاجة إلى تحديث الصفحة
  14. إن أفضل طريقة للتعلم و الفهم العميق هي بالتطبيق , أي تطبيق كل شيء تتعلمه , لا تكتفي بالمشاهدة فقط فبالمشاهدة وحدها لن تتعلم شيء و ستنسى الدرس بعد ساعات من مشاهدته, و أنصحك في البداية أن تقوم بتلخيص الدرس بعد المشاهدة و التطبيق, و في حال وجود نقاط لن تفهمها ستجد أسفل كل درس مربع للكتابة كما هنا يمكنك إضافة السؤال هناك عن الشيء الذي لم تفهمه أو أي مشكلة تواجهها أثناء التطبيق. و في دورة الذكاء الصنعي ستقوم بتطبيق ما تتعلمه على مشاريع حقيقية تستخدم في سوق العمل؛ مما يؤهلك للمنافسة بقوة في هذا المجال. و لاتنسى الاحتفاظ بالأعمال التي تقوم بتطبيقها لتضعها في معرض أعمالك لاحقا, فمعرض الأعمال مهم للحصول على فرصة عمل.
  15. بالنسبة للوصول للكود البرمجي لأي برنامج فهذا الأمر يعتمد على نوع البرنامج هل و مفتوح المصدر أم مغلق المصدر , أغلب البرامج هي مغلقة المصدر أي لايمكنك الوصول للكود الخاص بها , أما إذاا كان البرنامج مفتوح المصدر فسيكون الكودالخاص به متوفر في مكان ما خاص بالمطور أو الشركة التي قامت بتطويره (على github, أو موقع الشركة , ... الخ) عليك البحث عنه لتجده أما بالنسبة لمعرفة لغة البرمجة التي تمت برمجته بها فيوجد أدوات يمكن أن تستخدمها: برامج سطح المكتب:هذه أداوات تقوم بتحليل الملفات التنفيذية يمكنك استخدامها لمعرفة اللغة. PEiD IDA Pro Ghidra الويب:يمكنك النقر بزر الماوس الأيمن في أي مكان على صفحة الويب واختيار "Inspect" أو "View Source" لرؤية الكود المصدر للصفحة. ستتمكن من رؤية لغات البرمجة التي تستخدم في الجهة الأمامية. بالنسبة للجهة الخلفية (Back-end) : يمكنك النقر بزر الماوس الأيمن في أي مكان على صفحة الويب واختيار "Inspect" ثم الانتقال إلى تبويبة "Network" لمراقبة الشبكة قد يعرض معلومات عن ملفات ومكونات الخادم. تحليل الطلبات (Requests): من خلال مراقبة الطلبات HTTP والردود يمكن اكتشاف تقنيات مثل Node.js أو Django إذا كانت موجودة في رؤوس الاستجابة (HTTP Headers).
×
×
  • أضف...