وعليكم السلام ورحمة الله وبركاته. لا شك أن الذكاء الإصطناعي حاليا تطور بشكل كبير جدا مما قلل الحاجة إلى وظائف المبرمجين المبتدئين ولكن من يستطيع التعامل مع تلك الأدوات بشكل جيد فإن إنتاجيته سترتفع بشكل كبير وسيستطيع أن ينافس في هذا المجال. أما بخصوص خارطة الطريق (road map) فأولا يتوجب عليك دراسة الأساسيات مثل : HTML CSS JavaScript (في المتصفح) بعد ذلك لديك جزء الواجهة الخلفية (back end) : Node.js Express.js (إطار عمل للواجهة الخلفية). قواعد البيانات (Databases) وتنقسم إلى
0
ما تقوله صحيح بالفعل يجب عليك أن تتعامل مع المستخدم أنه (مخترق أو يريد تعطيل موقعك) ولكن هذا الأمر لمبرمجين الواجهة الخلفية وليس الأمامية . أى الذين يتعاملون مع البيانات المرسلة من المستخدم ولهذا لا ينبغي أبدا الإعتماد فقط على الواجهة الأمامية . تخيل مثلا أنك في موقع بنكي تريد تحويل رصيد من حساب إلى حساب أخر . هنا مثلا يتم التحقق من قيمة الرصيد الذي تريد أن ترسله وهو ألا يكون أكبر من الرصيد المتاح لديك . وهنا أنت
بالنسبة إلى تعلم بايثون فالأمر سهل إن شاء الله . يمكنك مشاهدة دروس على اليوتيوب لشرح بايثون ويمكنك البحث ب "python crash course" ومشاهدة الدروس لذلك . ويمكنك مشاهدة الدروس على موقع أكاديمية حسوب و موقع موسوعة حسوب . وإليك رابط كتاب تعلم بايثون على أكاديمية حسوب : https://academy.hsoub.com/files/15-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/ وإليك رابط موسوعة حسوب لدروس بايثون : https://wiki.hsoub.com/Python ولتعلم مجال تعلم الآلة ستحتاج إلى الإلمام بأساسيات الرياضيات لتسهيل دراستك لهذا المجال واستيعاب بعض المفاهيم. حيث الذكاء الاصطناعي يعتمد على النماذج الرياضية
هل أمر بايثون يعمل ؟ python --version يرجى تنفيذ الأمر السابق ولو تم تنفيذه بنجاح وظهر إصدار بايثون إذا بايثون تم وضعه في متغيرات البيئة بنجاح ولهذا يجب تثيبت pip من خلال الأمر التالي : python -m pip install أو يفضل حذف بايثون وإعادة تثبيته حيث يجب أن تأتي pip معه بشكل إفتراضي . أما إذا فشل الأمر الأول فإذا بايثون غير موجود في البيئة الإفتراضية ويجب وضعه . ويمكنك حذفه بايثون وإعادة تثبيت والتأكد من تفعيل خيار إضافة المسار
هل لديك خبرة مسبقة في البرمجة عموما ؟ أو كنت تعمل على لغة برمجة أخرى ؟ إن وقت إسبوع جيد إلى حد ما إذا لم تكن لديك خبرة مسبقة في البرمجة سيتوجب عليك أولا دراسة الأساسيات بشكل سريع ومحاولة فهمها جيدا. إليك الرابط التالي لموسوعة حسوب يمكنك دراسة php من خلالها : https://wiki.hsoub.com/PHP وإليك المقالات والدرس التالي في موقع أكاديمية حسوب يمكنك الإطلاع عليها والبحث عن ما تريده هناك : https://academy.hsoub.com/programming/php/ ولقد قمت بتجميع الأساسيات الأولية التي يجب عليك أولا
إن صيغة SVG (Scalable Vector Graphics) هي بالفعل صيغة جيدة بل ممتازة لاستخدامها في صفحات الويب وهي حاليا الخيار الأفضل ويتم إستخدامها بكثرة في أغلب المواقع حتى الآن مكتبات ال icons أصبحت تستخدم ال svg بدلا من تنسيقات css السابقة. وذلك لأن ملفات SVG تكون أصغر حجمًا مقارنة بالصيغ الأخرى مثل PNG أو JPEG وغيرها و لأنها تعتمد على الرسوميات المتجهية (Vector Graphics) مما يعني أن الصورة تكون معتمدة على الأشكال الرياضية مثل الخطوط والمنحنيات بدلا من النقاط حيث يمكنك
وعليكم السلام ورحمة الله وبركاته. أولا حتى تستطيع أن تبيع أى مساحات إعلانية سيتوجب عليك أن يكون موقعا مشهورا و أن يكون يظهر في محركات البحث . وأن يكون معدل الزيارات عليه كبير وذلك حتى يرى العملاء والمستخدمين الكثر تلك الإعلانات . حيث أغلب الإعلانات يتم إحتساب سعرها بناء على عدد رؤية ومشاهدة تلك الإعلانات. ولذلك فإنك ستحتاج لموقع أن يكون ضمن محركات البحث وبما أن موقع ضمن إستضافة مجانية ولا يحوي شهادة SSL فإنه لن يكون ذات ترتيب عالي
وعليكم السلام ورحمة الله وبركاته. يجب عليك قبل البدأ في تعلم أى إطار عمل هو تعلم اللغة نفسها الخاصة بإطار العمل . حيث يقع العديد من الأشخاص في تلك المشكلة وهي مذاكرة والدخول مباشرة في إطار العمل دون تعلم اللغة نفسها وهذا يسبب مشاكل في التعامل مع إطار العمل وفهم طريقة عمله. ولذلك بداية تعلمك ل php native هو أمر جيد ويجب عليك أن تجعل نفسك قويا أولا في php . ومن ثم أنصحك بمذاكرة أطل العمل المشهورة مثل laravel
أسهل و أفضل طريقة مجانية هي إستخدام بروتوكول smtp حيث إذا كان لديك إستضافة أو حتى بريد إلكتروني من google فهما يوفران بروتوكول smpt من خلالها تستطيع إرسال رسائل من خلال الكود من بريدك الإلكتروني هذا . إذا أردت إرسال رسالة من خلال gmail مباشرة يمكنك إستخدام مكتبة EZGmail ويمكنك قراءة المقال التالي حول كيفية تحقيق ذلك : https://academy.hsoub.com/programming/python/%D8%A5%D8%B1%D8%B3%D8%A7%D9%84-%D8%B1%D8%B3%D8%A7%D8%A6%D9%84-%D8%A7%D9%84%D8%A8%D8%B1%D9%8A%D8%AF-%D8%A7%D9%84%D8%A5%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D9%84%D8%BA%D8%A9-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-r2395/ ولكن لو أردت إرسال البريد من خلال أى خادم بواسطة بروتوكول smtp يمكنك تنزيل مكتبة Flask-Mail pip install Flask-Mail وإليك الكود الخاص
وعليكم السلام ورحمة الله وبركاته. يمكنك تثبيت Apache Server على جهاز الأندرويد باستخدام برنامج Termux كما وضحت ويمكنك إتباع الخطوات التالية لذلك : أولا يجب عليك تثبيت Termux من خلال الرابط التالي : https://play.google.com/store/apps/details?id=com.termux بعد ذلك قم بفتح تطبيق Termux وتحديث الحزم لديك من خلال ألأمرين التاليين: pkg update pkg upgrade بعد ذلك قم بتثبيت الحزم الأساسية التي ستحتاجها لتنصيب Apache: pkg install apache2 الآن يمكنك تشغيل خادم Apache من خلال الأمر التالي : apachectl start ويمكنك الآن الذهاب إلى
إذا أردت حساب أعداد الزيارات لموقعك وتتبع نشاط المستخدمين وأيضا معرفة الدول الخاصة بكل مستخدم . فالأفضل لك بالطبع هو google analytics . حيث توفر google واجهة قوية و أدوات تحليلية تساعدك في تحليل أداء موقعك وأيضا تتبع المستخدمين ونشاطهم على موقعك وأماكن تواجدهم والكثير من الخصائص الأخرى. أما إذا أردت معرفة فقط المعلومات الخاصة بعنوان ip فيمكنك إستخدام خدمات api التي تساعدك في معرفة بيانات ال ip مثل : https://ipstack.com/ https://ipinfo.io/ وإذا لم ترد إستخدام api مباشرة فتوجد مكتبات
لا مشكلة السؤال جيد . نعم محركات القوالب (HTML Template Engine) من الممكن أن تساعدك في إنشاء مواقع ديناميكية ولكنها يجب أن تكون مواقع بسيطة . وتلك المحركات ليست بالقوة ولا بالخصائص التي توفرها أطر العمل مثل react أو vue . وتوجد عدة محركات قوالب مشهورة مثل : Jinja2: يستخدم في Python. Handlebars: يعمل مع JavaScript. EJS: أيضًا لJavaScript. ولكن تلك المحركات وظائفها قليلة وليست مطلوبة مثل react أو vue
في الوقت الحالي من الصعب الحصول على وظيفة من خلال تعلم html و css و js فقط . حيث التقنيات تتطور بشكل سريع جدا و أيضا المنافسة تزداد بشكل كبير جدا كل يوم . لهذا إذا أردت المنافسة في هذا المجال و الحصول على وظيفة جيدة ومرموقة فيجب عليك عدم التوقف عن التعلم مهما كلف الأمر . حاليا إذا أردت بناء مواقع ثابته مثل صفحات هبوط أو تصميم ثيمات ثابته وليست دايناميكية فإذا html و css و js تكفي ولكن
وعليكم السلام ورحمة الله وبركاته. إن جميع بوابات الدفع تتشابه في طريقة عملها معا الإختلاف الوحيد هو في عناوين API الخاصة بوابة الدفع وطريقة إنشاء طلبات الدفع وإستقبال الأمول . ولكن بخلاف ذلك فهما متشابهون جميعا. حيث سيتوجب عليك أولا إنشاء طلب دفع لديك في الموقع وحفظه في قاعدة البيانات مع تسجيل بوابة الدفع التي إختارها العميل . بعد ذلك سيتوجب عليك إرسال طلب الدفع إلى بوابة الدفع التي إختارها العميل من خلال ال API التي توفرها لك بوابة الدفع.
الإنقطاع لفترة طويلة عن أمر ما بالطبع ستنسيك أشياء كثيرة حوله ولكن إذا كنت قد ذاكرت الأساسيات جيدا فإذا مراجعة الأمر ستكون سهلة قليلا . تخيل مثلا لو أنك تعلمت قيادة السيارة أو أى شئ أخر فإذا انقطعت فترة طويلة عنها ستجد أنك تحتاج الوقت حتى تعتاد على الأمر من جديد ولكنك ستكوم متذكر الأساسيات وغيرها . لهذا ينبغي عليك مراجعة الأساسيات من البداية والتطبيق عليها سريعا . وبعد الإنتهاء من الأساسيات يمكنك التطبيق على مشاريع كبيرة وكاملة . ويمكنك
إذا كنت تقصد كمحرر أكواد فلا يعتبر ++Visual Studio C ضروري لتشغيل Flutter. حيث يمكنك تطوير تطبيقات Flutter باستخدام أدوات مختلفة مثل Android Studio و غيرها ولا يلزم إستخدام ++Visual Studio C . أما إذا كنت تقصد لغة c++ نفسها والمفسر الخاص بها فالإجابة هي لا إذا كنت تعمل على تطوير تطبيقات Flutter لأنظمة ويندوز (مثل تطوير تطبيقات سطح مكتب لـ Windows باستخدام Flutter) و لكن إذا أردت تطوير تطبيقات سطح المكتب فستحتاج إلى تثبيت بعض الأدوات والمكتبات مثل Visual
وعليكم السلام ورحمة الله وبركاته. إن المشكلة ERR_TIMED_OUT تعني أن الطلب أخذ وقتا طويلا للإستجابة و لم يتم إرسال أى رد في الوقت المحدد وهذا غالبا ما يكون بسبب مشكلة في الخادم أو الإستضافة . وبما أن الكود كان يعمل بشكل جيد ولم تقم بتعديل شئ فيه فأول شئ تتأكد منه هو الإستضافة. وبما أن موقع إستضافتك أيضا حدثت به نفس المشكلة فإذا المشكلة بشكل كبير كانت في خوادم الإستضافة الخاصة بك . للأسف لا يوجد حل عند إنقطاع الخادم
فهم المشاريع المفتوحة المصدر والمتاحة على GitHub بالفعل يكون تحديا وصعبا في البداية وهذا بخاصة إذا كانت المشاريع معقدة وكبيرة و مكتوبة بلغات أو تقنيات أو أطر عمل جديدة بالنسبة لك أو لست متمكنا منها جيدا . وهذا شئ طبيعي فلا داعي للقلق فإذا لم تعمل على مشاريع كبيرة من قبل أو لم تعمل مع فريق عمل أو في شركة متوسطة أو كبيرة سيتوجب عليك التدرج في الأمر ويمكنك إتباع النصائح التالية : 1. ابدأ بالمشاريع الصغيرة: حاول البدء بمشاريع
نعم بالطبع تحليل البيانات يحتاج فهم عميق وجيد بالإحصاء والرياضيات حيث أن أساسه معتمد عليها لهذا هذه مهارة أساسية. ولكن بالطبع الإحصاء لا يكفي بمفرده يجب عليك تعلم لغة برمجة مثل python و R وتعلم المكتبات الخاصة بتحليل البيانات من بايثون مثل Pandas و NumPy و Matplotlib وغيرهم. ثم يجب فهم كيفية الوصول والتعامل مع البيانات و استخراجها وتنظيمها من قواعد بيانات مختلفة مثل NOSQL أو SQL. ويمكنك قراءة الإجابة التالية لمزيد من التفاصيل وأيضا قراءة المقال التالي : https://academy.hsoub.com/questions/29740-%D8%A7%D9%8A%D9%87-%D8%A7%D9%81%D8%B6%D9%84-%D9%85%D8%B3%D8%A7%D8%B1-%D9%84%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%AD%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-%D8%9F-%D8%A7%D9%82%D8%B5%D8%AF-%D8%A7%D9%84%D8%AE%D8%B7%D9%88%D8%A7%D8%AA-%D8%A7%D9%84%D8%B5%D8%AD%D9%8A%D8%AD%D8%A9-%D8%A8%D8%A7%D9%84%D8%AA%D8%B1%D8%AA%D9%8A%D8%A8-%D8%9F/#findComment-93538
لاحظ أنك تستخدم خاصية top و bottom معا وأيضا left و right للعنصر #editor وبما أنك تضع جميع القيم ب 0 إذا سيأخد المحرر طول وعرض الشاشية بأكملها. ولديك حلين إذا أردت تحديد طول معين وعرض معين أيضا إذا يجب أن تستخدم top و left فقط ووضع طول للعنصر مثلا 150px أو غيرها . والحل الثاني إذا أردت طول بالنسبة للصفحة لنفرض مثلا تريده أن يأخذ نصف الصفحة نضع خاصية bottom ب 50% هكذا : #editor {
يمكنك تجربة وضع خاصية onsubmit على عنصر ال form كالتالي : <form id="upload-form" enctype="multipart/form-data" onsubmit="return uploadImage(event);" > ويمكنك إنشاء دالة uploadImage كالتالي ليتم تنفيذها عن محاولة إرسال النموذج : function uploadImage (event){ event.preventDefault(); var fileInput = document.getElementById('file'); var file = fileInput.files[0]; var formData = new FormData(); formData.append('file', file); var xhr = new XMLHttpRequest(); xhr.open('POST', '', true); xhr.upload.onprogress = function(e) { if (e.lengthComputable) { var percentComplete = (e.loaded / e.total) * 100; document.querySelector('#progress-bar div').style.width = percentComplete + '%'; document.querySelector('#progress-bar div').textContent =
لا داعي للشكر . نعم طريقة المدرب مصطفي جيدة ولكنها ستفيد أكثر في النماذج الكبيرة والتي تحتوي على مدخلات كثيرة حيث ستجعل المستخدم يقوم أولا برفع الصور وبينما يتم رفع الصور على الخادم سيكون هو قام بملئ النموذج وبهذا لن يشعر بالتأخير أثناء رفع الصور. ولكن هذه الطريقة لها سلبيات في النماذج الصغيرة مثل هنا أنت تقوم بكتابة منشور فقط ويقوم برفع الصورة فهنا إذا قام المستخدم بالضغط على زر نشر المنشور قبل رفع الصورة ستحدث مشكلة أن المنشور سيكون
هذا يعتمد على الكود الخاص بك . ولكن لماذا تقوم بذلك ؟ يمكنك إضافة الحقل الخاص بإدخال الصورة في النموذج form الخاص بك ووضع الكود الخاص برفع الصورة وتوليد الرابط مع الكود الخاص بإضافة المنشور ويمكنك أخذ الرابط مباشرة ووضعه مع المنشور في قاعدة البيانات . إذا أردت مساعدة يمكنك إرفاق الكود الخاص بالملفين لمساعدتك.
استخدام Base64 لتشفير النصوص قبل إرسالها إلى قاعدة البيانات ليس الحل الأفضل و لكنه أحيانا قد يكون حلا مؤقتا لبعض الحالات. وتوجد طرق أفضل للتعامل مع النصوص العربية في PHP وقواعد البيانات. حيث ان Base64 هو طريقة لترميز البيانات الثنائية إلى سلسلة من الأحرف للنقل عبر بروتوكولات مثل HTTP. لكنه لا يحل مشكلة ترميز النصوص نفسها. وعند إرسال النصوص العربية باستخدام Base64 يتم تحويل النص إلى شكل قابل للنقل ولكنه سيستهلك مساحة أكبر من النص الأصلي بسبب طريقة الترميز مما