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

Hikmat Jaafer

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

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

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

كل منشورات العضو Hikmat Jaafer

  1. الخطأ الذي واجهته في الكود الذي قدمته يتعلق بمكتبة whois. تشير رسالة الخطأ إلى أن بمكتبة whois غير مثبتة في بيئة Python الخاصة بك. قم بتثبيت المكتبة من خلال التعليمة التالية : pip install python-whois سيقوم هذا الأمر بتنزيل وتثبيت حزمة python-whois، التي توفر مكتبة whois. بعد تثبيت حزمة python-whois، يجب أن تكون قادرًا على تشغيل التعليمات البرمجية دون مواجهة ModuleNotFoundError المتعلق بمكتبة whois.
  2. كما أرشدك المدرب عمر , ويوجد أيضاً طريقة أخرى لرفع التعديلات وإعادة ربط المشروع مع GitHub , عن طريق إعادة إنشاء مستودع Git جديد: قم بفتح موجه الأوامر (Command Prompt) أو الطرفية (Terminal) في مجلد المشروع. قم بتنفيذ الأمر التالي لإعادة إنشاء مجلد .git الخاص بالمشروع: git init قم بإضافة الملفات التي ترغب في تتبعها باستخدام الأمر التالي: git add قم بتأكيد التعديلات الجديدة باستخدام الأمر ووضع رسالة تعبر عن ذلك من خلال الامر التالي : git commit -m "Commit message قم بتعيين رابط المستودع الحالي كـ remote repository باستخدام الأمر التالي: git remote add origin <رابط المستودع الحالي> قم برفع التعديلات الجديدة إلى المستودع المرفوع على الGitHub باستخدام الأمر التالي: git push -u origin master (أو اسم الفرع الذي تستخدمه) أو يمكنك استخدام Force-Push في حال واجهتك مشكلة في الرفع git push -f origin master (أو اسم الفرع الذي تستخدمه) لاحظ استخدام f- من Force-Push . من الأفضل دائمًا حفظ نسخة احتياطية من مجلد .git قبل حذفه لتجنب فقدان تاريخ المشروع وسجل التعديلات.
  3. تماماً , هذه المتاجر متخصصة للألعاب الكمبيوتر والاجهزة المنزلية . بالنسبة للالعاب الجوال , يوجد منصة اسمها Xsolla توفر ذلك . هذا رابط شرح طريقة استعمال الapi من game key في المنصة : Set Up selling game keys
  4. كدورة خاصة في الgit والgithub لايوجد , ولكن يوجد داخل الدورة دورة تطوير واجهات المستخدم كيف تتعامل مع خدمة استضافة المشاريع GitHub. هذا شرح مختصر عن git و github : Git هو نظام تحكم بالمصدر يسمح للمطورين بتتبع تعديلات الملفات وإدارة إصداراتها. يعمل Git على تسجيل تغييرات الملفات بشكل فعال وتاريخي، ويتيح إمكانية التحكم في التعديلات والتبديل بين الإصدارات المختلفة بسهولة. يسمح Git أيضًا بإنشاء فروع مستقلة للتطوير المتوازي ودمجها فيما بعد، مما يسهل العمل الجماعي بين فريق المطورين. GitHub هو خدمة استضافة على الويب تستخدم لتخزين مشاريع Git وإدارتها. يعتبر GitHub منصة تعاونية تسمح للمطورين بمشاركة مشاريعهم والتعاون بشكل أفضل. يمكن للمطورين رفع (Push) مشاريعهم المحلية إلى مستودعات (Repositories) على GitHub والعمل على مشاريعهم بشكل مشترك. توفر GitHub أيضًا ميزات مثل إدارة المشروعات وتتبع المشاكل والطلبات للدمج (Pull Requests)، مما يجعلها مفيدة للعمل الجماعي وإدارة المشاريع بشكل فعال. باستخدام Git و GitHub معًا، يمكن للمطورين نسخ مستودع (Repository) من GitHub إلى جهازهم المحلي، ثم تعديل الكود وإجراء التغييرات المطلوبة، وبعد ذلك يمكن رفع (Push) هذه التغييرات إلى المستودع المرفوع على GitHub. يتيح هذا العملية سهولة التعاون والتحكم في النسخ والإصدارات للمشروعات التي يعمل عليها فريق أو مجتمع من المطورين. وهناك عدة أقسام أو مفاهيم اساسية ,هذا شرح مختصر , بإمكانك التعمق أكثر في كل مفهوم من خلال سؤالنا أو قراءة الdocumintaion الخاصة في git وgithub : Commit: يُشير إلى تسجيل تغييرات معينة في مستودع Git. يتم إنشاء commit لتوثيق حالة المشروع في نقطة زمنية معينة. Repository (مستودع): يُعتبر مساحة تخزين للمشروع في Git. يحتوي على جميع الملفات والمجلدات والتاريخ والتعديلات المسجلة. Branch (فرع): يُعتبر نسخة مستقلة من المستودع تستخدم للتطوير المتوازي. يمكن إنشاء فروع للعمل على ميزات جديدة أو إصلاح الأخطاء دون التأثير على الفرع الرئيسي (master branch). Merge (دمج): يُستخدم لدمج تغييرات من فرع إلى فرع آخر أو من فرع إلى الفرع الرئيسي (master branch). يتم دمج التغييرات لتحافظ على توافق المشروع. Push (رفع): يُستخدم لنشر التعديلات المحلية إلى المستودع المرفوع على GitHub. يتم رفع (push) التغييرات لمشاركتها مع فريق العمل أو المطورين الآخرين. Pull : يستخدم لجلب آخر تحديثات المستودع المرفوع على GitHub إلى المستودع المحلي. يتم سحب (pull) التغييرات لتحديث المشروع المحلي بآخر التحديثات. Checkout: يستخدم للتنقل بين الفروع أو استعادة نسخة سابقة من المشروع. يمكن استخدامه لإنشاء فروع جديدة أو التحقق من حالة معينة للمشروع. هناك مفاهيم أخرى أكثر تعمقاً مثل : Clone (استنساخ): يستخدم لنسخ مستودع Git بأكمله من GitHub إلى جهازك المحلي. يكون لديك نسخة محلية كاملة للمستودع للعمل عليها. Fork (تشعب): يستخدم لإنشاء نسخة مستقلة من مستودع مشروع GitHub. يكون لديك نسخة خاصة بك للمشروع يمكنك تعديلها بحرية دون التأثير على المستودع الأصلي. ( بمعنى أخر , إذا أردت نسخ مشروع ليس في حسابك إلى حسابك الشخصي على github ) Pull Request (طلب سحب ) يستخدم لاقتراح التغييرات التي أجريتها في فرعك الخاص إلى المستودع الأصلي على GitHub. يمكن لأصحاب المشروع أن يراجعوا التغييرات ويقبلوها أو يرفضوها. Conflict (تعارض): يحدث عندما يكون هناك تغييرات متشاركة بينك وبين مطور أخر في نفس الملف أو نفس السطر بين فروع مختلفة. يتطلب حل التعارضات قبل الدمج لضمان التوافق والتكامل السليم للتغييرات. Stash (تخزين): يستخدم لحفظ التعديلات المؤقتة التي لم تتم رفعها أو استخلاصها بعد. يمكن استخدامه عندما ترغب في checkout إلى فرع آخر بسرعة دون الحاجة لرفع التعديلات الحالية أو استخلاصها.
  5. وعليكم السلام , نعم هناك عدة منصات أو مواقع ويب توفر API للتكامل مع المتاجر عبر الانترنت لتقديم خدمات شحن الألعاب . هذه الخدمات تعرف باسم " game key أو game code delivery services ). هذه بعض المواقع التي تزود بApi للربط مع المتاجر وتوفير خدمة شحن : G2A: هو سوق شهير عبر الإنترنت للمنتجات الرقمية وتتضمن مفاتيح الألعاب. كما توفر API لتسمح بالتكامل مع المتاجر عبر الإنترنت أو الأنظمة الأساسية الأخرى لأتمتة تسليم مفاتيح اللعبة للعملاء. Kinguin : هي منصة أخرى تقدم مجموعة واسعة من المنتجات الرقمية، بما في ذلك مفاتيح الألعاب. مثل G2A , توفر (API) تسمح بالتكامل مع المتاجر عبر الإنترنت لأتمتة تسليم مفاتيح اللعبة. GamePower.
  6. في Next.js، يمكنك إضافة middleware لـ API Routes باستخدام مفهوم "Custom Server" واستخدام Express.js كجزء من الـ Serverless Functions. لإضافة middleware , يمكنك اتباع الخطوات التالية: قم بإنشاء ملف `server.js` في الRoute الخاص بمشروع Next.js وقم بتكوين Express.js وإضافة middleware كما ترغب. على سبيل المثال: const express = require('express'); const app = express(); // Middleware app.use((req, res, next) => { // أي middleware يمكنك وضعه هنا console.log('تم تنفيذ الميدلوير!'); next(); }); // التعامل مع الطلبات القادمة إلى API Routes app.all('*', (req, res) => { return handle(req, res); }); // سيتم استدعاء الدالة التالية من ملف `next.config.js` للتعامل مع الطلبات القادمة إلى API Routes module.exports = (req, res) => { return app(req, res); }; قم بتحديث ملف `next.config.js` في الجذر الخاص بمشروع Next.js ليشير إلى ملف `server.js`. يمكنك استخدام الكود التالي: module.exports = { // ... target: 'serverless', serverRuntimeConfig: { // تحديد المسار الخاص بـ server.js // افتراضيًا هو `./server.js` // يمكن تعديله بناءً على المسار الذي تم وضع ملف `server.js` فيه server: './server.js', }, // ... }; بعد إجراء هذه التغييرات، يمكنك إعادة تشغيل تطبيق Next.js الخاص بك. ستتمكن الآن من استخدام middleware في API Routes والتحكم في تنفيذها وفقًا لاحتياجاتك.
  7. تماماً , قيمة maxAge بالثواني , وبالتالي حاصل ضرب هذه القيم يساوي عدد الثواني في شهر من 30 يوم .
  8. مرحباً منتصر , أرجو أن تقوم بإرسال ملف الlogin لنتمكن من تحليل وحل مشكلتك بشكل أفضل . لكن بجميع الأحوال هذه خطوات عامة لكيف ممكن توضع jwt token في الcookies من خلال response api عندما يقوم المستخدم بتسجيل دخول . سوف نستخدم مكتبة `cookie` لتسهيل هذه العملية. قبل كل شيء، تأكد من تثبيت المكتبة `cookie` باستخدام الأمر التالي: npm install cookie بعد تثبيت المكتبة، يمكنك استخدام الكود التالي لتعيين توكن JWT في الكوكيز عند تسجيل الدخول: import { NextApiResponse } from 'next'; import cookie from 'cookie'; // دالة تقوم بتوليد التوكن JWT بناءً على البيانات الخاصة بالمستخدم function generateToken(user: UserData): string { // قم بتوليد التوكن هنا // ... return token; } // مثال على دالة تسجيل الدخول export function login(req: NextApiRequest, res: NextApiResponse): void { // قم بإجراء عملية التوثيق هنا // ... // توليد التوكن JWT const token = generateToken(user); // تعيين الكوكيز في الاستجابة res.setHeader('Set-Cookie', cookie.serialize('token', token, { httpOnly: true, secure: process.env.NODE_ENV === 'production', // تحديد ما إذا كانت الكوكيز تعمل على اتصال آمن أم لا sameSite: 'strict', // تحديد سياسة SameSite للكوكيز maxAge: 3600, // تحديد وقت انتهاء صلاحية الكوكيز بالثواني path: '/', // تحديد المسار الذي يمكن الوصول إليه الكوكيز من خلاله })); res.status(200).json({ message: 'تم تسجيل الدخول بنجاح' }); } بعد تعيين الكوكيز في الاستجابة، ستكون الكوكيز متاحة في الجانب العميل (المتصفح) ويمكن الوصول إليها من خلال `document.cookie`.
  9. مرحباً محسن, أرجو منك تزويدنا باسم الدورة المسجل بها لنتمكن من مساعدتك بشكل أفضل . لكن بجميع الأحوال , فهناك خطوات عامة يمكنك إتباعها لتحصل على عمل بعد إتمام الدورة , مثل : بناء معرض أعمال بتطبيقات متفاوتة الصعوبة ومتنوعة لتتمكن من جذب أصحاب مشاريع مختلفو التخصص . معرفة مكتبات وما يحتاجه اصحاب المشاريع والشركات في الوقت الحالي , وفي المستقبل . هذه بعض الاسئلة قد طرحت من قبل من الطلاب , يمكنك أيضاً الإطلاع عليها والاستفادة منها . إن كان لديك أي استفسار عنها , لا تتردد في طرح السؤال . نحن هنا لنساعدك. وشكراً
  10. هناك عدة مجالات للعمل الحر عبر خمسات ومستقل كما أشار المدرب مصطفى , وأكثر الأعمال المطلوبة وأعلاها دخلاً ( سعر ) هي التصميم والبرمجة . بالنسبة للتصميم : يوجد عدة الاختصاصات , منها : Graphic Design. UI/UX Design. Motion Graphic Design. سوف تحتاج إلى تعلم مبادئ التصميم وتناسق الألوان , بالاضافة الى برامج التصميم مثل : Adobe Photoshop. Adobe Illustrator. Adobe InDesign. Adobe AfterEffect بالنسبة للبرمجة : هناك عدة أختصاصات , إليك بعض منها : Web App Development. Frontend Development. Backend Development. Mobile App Development. Desktop App Development. في جميع الاختصاصات سوف تحتاج الى تعلم مبادئ البرمجة ومعرفة اساسية بلغات الهيكلة والتنسيق من : HTML CSS لغات برمجة مثل JavaScript , C#, Java هذه بعض الشروحات التي ممكن أن تساعدك في فهم البرمجة ومبادئ البرمجة , وكيف يمكن أن تتعلمها في حال إردت ذلك : لا تقلق , ربما تبدو صعبة التعلم , لكن سوف تجدها سهلة التعلم وممتعة عندما تبدأ بها .
  11. أولاً يجب عليك معرفة ما هي إختصاصات البرمجة , وما هي المجالات التي تحب أن تصبح مبرمجاً بها , ومن ثم تسجيل في دورات لهذا الاختصاص . مجال البرمجة مجال كبير وواسع , ومن المستحيل أن تكون على علم بكل الاختصاصات وبخبرة ممتازة . لذلك يجب عليك معرف ما هي اختصاصات والمجالات في البرمجة , ومن ثم تختار مجال لتعلمه وتكون محترف فيه بدلاً من تعلم البرمجة ككل ومعرفة كل شيء في البرمجة . هذه توضيح مختصر عن البرمجة ومجالات عملها , ودورات لأشهر الاختصاصات في البرمجة : الهدف من البرمجة بشكل مختصر , هو إيجاد حل لمشكلة حقيقية على أرض الواقع , أو تسهيل عمل حقيقي . فمثلاً , موقع amazon قام بتسهيل للناس تصفح المنتجات وشرائها دون الحاجة الى الذهاب للمتجر . ومواقع البنوك , فعلياً فإن البنك إعتماده على البرامج المحاسبية أكثر من 90% , لأنه عندما تكون الحسابات والمعادلات و العمليات المحاسبية كبيرة جداً , فإنه يصعب بشدة ضبطها والسيطرة عليها يدوياً إن لم يكن مستحيلاً , وضمان عدم السرقة وغيره من الامور التي تحتاج الى الدقة. ومواقع وتطبيقات التواصل الاجتماعي , جعلت من السهل جداً التواصل بين أبعد شخصين على الأرض. وchatGPT والبرمج الذكاء الصناعي , مكنت من لا يعرف شيء , أن يعرف كل شيء . فقط أسأل chatGPT. هذا الهدف من البرمجة , أما عن مجالاتها , أشهر المجالات في البرمجة : مطور تطبيقات الويب : يمكنك من خلال هذا الاختصاص تطوير مواقع إلكترونية بسيطة مثل ( موقع ملاحظات ) أو عادية ( مثل صفحات تعريفية بشركات ) أو معقدة وتحتاج إلى خبرة ( مثل amazon للمتاجر الإلكترونية أو google ) , كما أنه يوجد عدة أختصاصات في هذا المجال, إليك أهمها : Frontend Developer مطور واجهات أمامية : وهو الذي يقوم بما تراه من تصميم الموقع والازرار وتوزيع محتوى الموقع . Backend Developer مطور واجهات خلفية : وهو الذي يتعامل مع قواعد البيانات , اضافة أو تعديل أو حذف أو عرض , وبالتالي هو من يقوم بتزويد مطورين الواجهات الامامية بالمعلومات والبيانات عن طريق ما يسمى API . Database Analysis محلل قواعد بيانات : هذا الاختصاص ربما لا تراه إلا في الشركات الكبيرة والمتوسطة , فرص عمله تعتبر قليلة بالنسبة لمطور الواجهات الامامية والخلفية. Full Stack Web Developer : هذا يمتلك خبرة في تطوير الواجهات الامامية والواجهات الخلفية . مطور تطبيقات هواتف : يمكنك من خلال هذا الاختصاص تطوير تطبيقات الهاتف , مثل whatsapp أو gmail . Full Stack Developer : مطور مواقع إلكترونية وتطبيقات هاتف . مطور ألعاب. AI Developer مطور ذكاء صناعي. مطور تطبيقات سطح مكتب Desktop . أما عن كيف تبدأ بتعلم أحد هذه الاختصاصات , لنفترض أنك أردت أن تتعلم Full Stack Developer , فيمكنك إتباع الخطوات التالية : هناك عدة لغات لاختصاص ال frontend والbackend . يمكنك تعلم لغة javascript , فهي يمكنك من خلالها برمجة Frontend و Backend . جميع الاختصاصات او المجالات تعتمد على نفس مبدائ البرمجة , وهي الاساسيات + OOP . لذلك يجب عليك تمكين نفسك من هذه المعلومات وتطبيقها بجد. البدأ بتعلم HTML و CSS ( هذه لغات تستخدم لتطوير شكل الموقع , أي Frontend Developer ). البدأ بتعلم مفاهيم واساسيات javascript . تعلم OOP في الjavascript وتطوير تفسك في التفكير البرمجي والخوارزميات تعلم React.js من أجل تطوير Frontend . تعلم Node js من أجل تطوير Backend. يمكنك أيضاً الاستفادة من هذا الرابط بالنسبة للدورات التعليمية . فمنصة أكاديمية حسوب تقدم دورة في هذا المجال , يمكنك الإطلاع عليه من خلال الرابط التالي
  12. وعليكم السلام يبدو أنك تستخدم مكتبة PIL و pytesseract لقراءة النص من صورة موجودة على الإنترنت. ومع ذلك، فإن مكتبة PIL لا تدعم مباشرة قراءة الصور من الإنترنت باستخدام عنوان URL. لحل هذه المشكلة،يمكنك فعل مثل ما قال استاذ عمار في تعليقه , أو يمكنك تنزيل الصورة الموجودة على الرابط المحدد وحفظها محليًا على جهاز الخادم الخاص بك، ثم استخدام مسار الملف المحلي لقراءة الصورة باستخدام PIL. فيما يلي مثال على كيفية تنزيل الصورة وحفظها محليًا قبل قراءتها باستخدام PIL و pytesseract: from PIL import Image import pytesseract import requests from io import BytesIO # رابط الصورة image_url = 'https://2.bp.blogspot.com/--I_lNobSfMk/V8MKPK9wDLI/AAAAAAAAY1Q/cyzstRG2EWoobUk0D3xNvojqwYFIeY1NwCLcB/s1600/kalam-hob-english%2B%25282%2529.jpg' # تنزيل الصورة وحفظها محليًا response = requests.get(image_url) image = Image.open(BytesIO(response.content)) image.save('image.jpg') # استخدام Tesseract لتحليل النص في الصورة text = pytesseract.image_to_string(image, lang='eng') # استخدم اللغة المناسبة print(text) هذا الكود يستخدم مكتبة `requests` لتنزيل الصورة من الرابط المحدد و`BytesIO` لتحويل المحتوى المستلم إلى أوبجيكت صورة قابل للقراءة بواسطة PIL. ثم يتم حفظ الصورة المحملة محليا باسم "image.jpg" قبل قراءتها باستخدام `pytesseract`. أيضاً يجب عليك التأكد أن لديك الأذونات اللازمة للوصول إلى الصورة من الرابط المحدد وتنزيلها.
  13. من ناحية صعوبة الأمر , يبدو أنك سوف تواجه بعض الصعوبات إن كنت مبتدأ في البرمجة , أو فقد قمت بإنشاء بعض المشاريع . لأن تحويل من لغة الى لغة أو إنشاء تطبيق لموقع , يتطلب ذلك منك فهم عدة أمور برمجية وآلية عملها , ومعرفة برمجة تطبيقات هاتف باستخدام اللغة مثل flutter . flutter تعتمد على لغة dart , لذا يجب عليك أن تتعلم لغة dart ومن ثم flutter , إضافة إلى ذلك يتوجب عليك فهم كيف تصمم تطبيق في flutter . لأن تصميم التطبيق في flutter ليس كالويب , هناك بعض المفاهيم يجب عليك فهمها ومعرفة التعامل معها . لكن إن كان لديك وقت كافي ومرن , فلا بأس يمكنك البدء بتعلم flutter وتنفيذ مشروعك بسهولة . أما إن كان هناك وقت محدود ودقيق جداً , فيبدو أنك سوف تواجه صعوبات كثيرة في هذه الحالة . أيضاً المقالات التي أشار لها استاذ مصطفى تفيدك كثيرا في هذا الموضوع . يمكنك قراءتها والاستفادة منها
  14. يمكن للمبرمج النظر إلى بعض العلامات المميزة لكل منهما. في نمط CommonJS، يُستخدم الدالة `require()` لاستيراد وحدات الكود، ويتم تعريف الوحدات باستخدام `module.exports` في الملفات المستوردة. على سبيل المثال: // استيراد وحدة في CommonJS const module = require('module'); // تصدير وحدة في CommonJS module.exports = { // ... }; أما في ES6، يُستخدم الكلمة المفتاحية `import` لاستيراد وحدات الكود، ويتم تعريف الوحدات باستخدام `export` في الملفات المستوردة. على سبيل المثال: // استيراد وحدة في ES6 import module from 'module'; // تصدير وحدة في ES6 export default { // ... }; بالتالي، إذا وجدت الاستيرادات تستخدم `require()` وتصديرات تستخدم `module.exports`، فإن الكود يتبع نمط CommonJS. وإذا وجدت الاستيرادات تستخدم `import` وتصديرات تستخدم `export`، فإن الكود يتبع نمط ES6. أما بخصوص المصطلح "ديناميكيًا" في البرمجة، فهو يشير إلى القدرة على تغيير وتعديل سلوك البرنامج أثناء تشغيله. على سبيل المثال، فيمكن تحميل وحدات الكود (مثل المكتبات أو المكونات) ديناميكيًا أثناء تنفيذ البرنامج بدلاً من تحميلها في وقت التجميع أو الترجمة.( بقصد الcompiling ) يتيح ذلك مرونة أكبر في تطوير البرمجيات وإمكانية توسيع وتغيير الوظائف بسهولة. على سبيل المثال، يمكن استخدام الدوال الديناميكية لتحميل وحدات الكود ( مثل الcomponents ) في وقت التشغيل باستخدام دوال مثل `require()` في CommonJS أو `import()` في ES6. هذا يتيح إمكانية تحميل وتنفيذ الوحدات اللازمة فقط عند الحاجة إليها، بدلاً من تحميل جميع الوحدات في بداية التنفيذ. بينما إذا قمنا بتحميل جميع الدوال عند تشغيل البرنامج , استخدمنا منها ما نحتاجه , فهذا سوف يجعل الموقع بطيء جداً في حال تواجد لدينا وحدات كثيرا ( compoents او ملفات js ). أتمنى أن يكون ذلك واضحًا ومفيدًا لك.
  15. وعليكم السلام، هناك عدة حلول : قد يكون حجم الملفات الصوتية كبيرًا، مما يتسبب في بطء التحميل. ينصح بضغط الملفات الصوتية باستخدام تنسيقات مثل MP3 أو OGG لتقليل حجم الملفات وتسريع عملية التحميل. تأكد من الاعدادات مكتبة wavesurfer.js إن كان هناك شيء يمكنك فعله لتسريع عملية التحميل, يمكنك الإطلاع على ال documentation للمكتبة. بدلاً من تحميل الملفات الصوتية مباشرة من العميل، يمكنك استخدام الجانب الخادم لتحميل الملفات وتقديمها عبر HTTP بدلاً من تحميلها بشكل مباشر من العميل. قد يكون هذا أسرع وأكثر كفاءة. يمكنك تحسين تجربة المستخدم عن طريق تحميل الملفات الصوتية بشكل تدريجي. يمكنك عرض مؤشر تحميل أثناء تحميل الملف الصوتي وتشغيل الصوت عند الانتهاء من تحميل جزء من الملف. يمكنك استخدام خدمات استضافة الوسائط مثل SoundCloud أو Amazon S3 لتحميل وتقديم الملفات الصوتية. قد توفر هذه الخدمات أداءً أفضل وتحسين سرعة التحميل. أتمنى لك التوفيق!
  16. بالنسبة للسؤال , نعم فإن الاختصاصات الثلاث حتى باقي الاختصاصات مثل gaming أو AI يعود لنفس الاساس . فالبرمجة في جميع الاختصاصات تحتاج الى تعلم مفاهيم اساسيات بالإضافة الى تعلم classes و OOP والوراثة وغيرها من التفكير البرمجة والخوارزميات أيضاً . ويبقى الاختلاف في لغات البرمجة هو طريقة كتابة هذا المفهوم ( مثل الclass ) . وإذا تأسست صحيح , فيمكنك التحول بين الاختصاصات لكن ننصحك بتخصص في اختصاص واحد , وتعلم اختصاص تاني إن أردت ذلك بعدما تكتسب خبرة أكثر من سنة ونصف في اختصاصك وتكون ملم ب90% من جوانب هذا الاختصاص . هذه الطريقة مجربة وآمنة من أجل التوظيف . لأن الشركات أو أصحاب المشاريع يفضلون شخص متخصص بدلا من شخص ملم بكل شيء . إلا إذا كانوا يبحثون عن مدير تقني .
  17. هذه الاضافات تعتبر جيدة جداً عند استخدام Ruby on Rails و Git: erb: يمكنك استخدام هذا الامتداد لتمييز وتلوين ملفات erb التي تحتوي على رمز Ruby مدمج في HTML. GitLens: يوفر ميزات مفيدة للعمل مع Git في VSCode، مثل عرض تفاصيل الالتزامات وتتبع الأحداث والمقارنة بين الإصدارات وغيرها من الأدوات لتبسيط عملية الإصدار والتعامل مع التغييرات في مشروعك. Better Comments: يمكنك استخدام هذا الامتداد لتعزيز تعليقات الشيفرة الخاصة بك عن طريق تلوينها بطرق مختلفة حسب النوع، مما يسهل فهمها وتنظيمها. VSCode Ruby Test Explorer: يوفر هذا الامتداد واجهة مستخدم بديهية لتشغيل وتنظيم اختباراتك في مشروع Rails باستخدام أطر اختبار Ruby المختلفة مثل RSpec وCucumber.
  18. لتقوم بذلك , يمكنك اتباع الخطوات التالية: قم بتثبيت و استخدام أدوات مثل `pdftotext` أو `pdf2txt` أو أدوات أخرى لتحويل ملفات PDF إلى نص. قم بفتح (الترمينال) . استخدم أداة التحويل المثبتة لتحويل ملف PDF إلى نص. على سبيل المثال، إذا كان لديك أداة `pdftotext`، استخدم الأمر التالي: pdftotext input.pdf output.txt حيث `input.pdf` هو مسار الملف PDF الذي ترغب في تحويله، و`output.txt` هو مسار الملف النصي الذي سيتم إنشاؤه لتخزين النص المستخرج. وضع النص في ملف نصي باستخدام الامر التالي في الterminal : cp output.txt newfile.txt سيتم إنشاء ملف جديد يسمى `newfile.txt` ويحتوي على النص المستخرج.
  19. يمكنك ذلك من خلال اتباع الخطوات التالية: أولا قم بجمع مجموعة من الصور المعلوماتية للأشياء التي ترغب في تعلمها. يجب أن تحتوي هذه الصور على أمثلة لكل فئة تريد تعلمها. ثم قم بتقسيم مجموعة البيانات إلى مجموعة تدريب ومجموعة اختبار. تستخدم مجموعة التدريب لتدريب الخوارزمية ومجموعة الاختبار لتقييم أداء الخوارزمية. . بعدها يجب عليك استخدم إطار عمل للتعلم العميق مثل TensorFlow أو Keras لتحميل نموذج MobileNetV2 المدرب مسبقًا. يمكنك استخدام المكتبة المتاحة في الإطار الذي تختاره لتسهيل عملية التحميل والتدريب. استخدم مجموعة البيانات التدريبية لتدريب النموذج. في هذه العملية، سيقوم النموذج بتعديل معلماته الداخلية للتعرف على الأشياء المختلفة في الصور. استخدم مجموعة البيانات الاختبارية لتقييم أداء النموذج. يمكنك حساب مقاييس الأداء مثل الدقة (accuracy) ومصفوفة الارتباط (confusion matrix) لقياس كفاءة النموذج في التعرف على الأشياء. بعد تدريب النموذج وتقييم أدائه، يمكنك استخدامه لتصنيف أشياء جديدة. يمكنك إدخال صورة جديدة إلى النموذج واستخدامه للتنبؤ بالفئة التي تنتمي إليها الصورة.
  20. كورس CS50 يغطي العديد من المواضيع المتعلقة بعلوم الكمبيوتر وتطوير البرمجيات، بما في ذلك البرمجة بلغة C، والهياكل البيانية، وقواعد البيانات، والأمان، والذكاء الاصطناعي، وغيرها. ستكون هذه المفاهيم ذات فائدة كبيرة في تطوير مهاراتك البرمجية العامة وفهمك لعالم البرمجة. لكن ما أنصحك به , هو فهم ومراحعة HTML و CSS ومن ثم الانتقال لكورس CS50 وتعلم javascript , لأن HTML وCSS لا تحتاج الى التفكير البرمجي وفهم البرمجة بدقة , HTML هي لغة هيكلة وCSS هي لغة لتنسيق الصفحات. بينما في javascript , تحتاج الى فهم البرمجة وتعلم كيف تفكر بشكل برمجي , وحل مشكلة حياتية بطريقة برمجية . لذلك يفضل تعلم HTML وCSS وتطبيقها , ثم الانتقال الى CS50 وjavascript . لا تنسى أن العمل العملي والتطبيق العملي لما تتعلمه هو جزء مهم من عملية التعلم، حاول دائمًا تطبيق ما تعلمته في مشاريعك الخاصة وحل المشاكل البرمجية العملية.
  21. هناك عدة خيارات , أظن أفضلها Amazon S3 بالنسبة لك , هذه شرح مختصر عن بعض الخيارات الممكن استخدامها : Amazon S3 بتقدمها أمازون وبتوفر مساحة تخزين ضخمة ومرنة. بإمكانك تحميل وتخزين الفيديوهات على Amazon S3 ومن ثم توفير وصول عبر الويب لهذه الفيديوهات. تتميز بتكلفة منخفضة ومرونة في التوسع. Microsoft Azure Blob Storage توفرها مايكروسوفت، تعتبر مماثلة لـ Amazon S3 في المفهوم. يمكنك تخزين الفيديوهات على Blob Storage وتوفير وصول إليها بسهولة. Google Cloud Storage تقدمها جوجل، وتوفر مساحة تخزين موثوقة وآمنة. تتميز بأداء جيد وتكلفة مناسبة.
  22. للأسف لا يمكن عمل هندسة عكسية لملفات build واسترجاع ملفات React.js بشكل كامل. لأن عملية بناء (build) لتطبيق React.js تشمل عدة خطوات لتجميع وتحويل ملفات السورس كود (source files) إلى ملفات قابلة للتشغيل في المتصفح. يشمل ذلك تجميع الملفات، وتحويلها إلى JavaScript مضغوط ومحسّن وتضمين المكتبات والمكونات اللازمة. أقصد بتحويلها إلى javaScript مضغوطة أي إزالة العديد من التفاصيل الأصلية للتطبيق (مثل أسماء المتغيرات والتعليقات والهيكل الأصلي للملفات). وبالتالي، فإن استرجاع ملفات السورس كود الأصلية بشكل كامل من ملفات البناء يكون أمرًا صعبًا جدًا، إن لم يكن مستحيلاً.
  23. هناك ثلاث أشياء يجب عليك معرفتها . Database و Backend Frontend web Frontend mobile ما تراه من تصميم واجهات في المواقع الويب فهو Frontend web . بينما ما تراه من تصميم واجهات في تطبيقات الهواتف فهذا frontend mobile . اما عن المعلومات والبيانات في الموقع أو التطبيق , فهذا يتم من خلال قواعد البيانات , والتي نتعامل معها من خلال لغات backend يتم تعامل مع قواعد البيانات من قبل لغات الbackend , يمكنك إنشاء الجدوال , تخزين البيانات , قراءة بيانات , تعديل بيانات . بالنسبة للغات التي تستخدم في الbackend , فهناك عدة لغات , منها : Node.js , PHP , C# ASP.Net , Python Django وغيره من اللغات. بالنسبة للواجهات الأمامية للموقع , فهي تتم باستخدام HTML و CSS و Javascript , لكن هناك عدة مكاتب أو لغات للjavascript مثل React و Angular و Vue . أما عن تطبيقات الهاتف , فيمكنك استخدام Flutter أو React native لإنشاء مشروع android وIos بكود واحد . أو أن تستخدم java لتطبيقات الandroid و Swift لتطبيقات IOS . طريقة التواصل بين التطبيق الهاتف والFrontend Web مع الbackend تتم من خلال API . بمعنى أخر , هي طريقة لتحصل على المعلومات والبيانات من قاعدة البيانات . توفر أكاديمية حاسوب دورة كاملة لإنشاء موقع إلكتروني Frontend و Backend و Mobile . وهي تعطيك خبرة كافية لتبدأ بإنشاء ما تريده تماماً . يمكنك استعرض محتواها من خلال رابط الدورة
  24. هناك عدة نقاط إضافية ستساعدك في تحسين السيو لموقعك ونشره . أستخدم كلامات مفتاحية تخص محتوى موقعك تمكن الزائر أن يجد موقعك بسهولة عبر الانترنت . مثلاً " سمعتك تهمنا " أو كلمات أخرى استخدامها قليل في الموقع المنافسة . تحسين جودة و سرعة تحميل موقعك لأن هذا يعتبر أمراً مهم للزائر , يمكنك استخدام PageSpeed Insights من Google لتحليل سرعة التحميل وتوفير توصيات لتحسينها. قم ببناء وجود قوي على وسائل التواصل الاجتماعي ومشاركة محتوى موقعك عبر هذه القنوات. يمكن أن يؤدي الارتباط بين موقعك ووسائل التواصل الاجتماعي إلى زيادة التعرف على موقعك وزيادة الروابط الخارجية. أجعل موقعك متجاوب مع أحهزة المحمول , ليتمكن الزوار من فتح موقعك من خلال هواتفهم. قم بتنظيم هيكل الموقع الداخلي بشكل جيد. استخدم روابط داخلية لربط الصفحات المختلفة معًا وتسهيل تصفح المستخدمين. تأكد من أن الروابط تحتوي على نص مفهومي وواضح يعكس محتوى الصفحة المرتبطة. قم بمتابعة أداء موقعك باستخدام أدوات تحليل الويب مثل Google Analytics. استخدم هذه الأدوات لفهم سلوك الزوار وتحليل الكلمات المفتاحية وتحديد المجالات التي يمكن تحسينها. تذكر أن تحسين سيو يحتاج إلى صبر واستمرار، وقد تستغرق بعض التحسينات وقتا لتظهر نتائجها. قم بمراجعة وتحديث استراتيجياتك بانتظام واستمر في تحسين موقعك لتحقيق أفضل النتائج في محركات البحث.
  25. هذا رابط لمشروع على الgithub . يوجد في وصف المشروع صورة gif تشرح ألية عمل البرنامج . https://github.com/Aksoylu/AI-DRAW
×
×
  • أضف...