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

عمر قره محمد

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

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

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

  • عدد الأيام التي تصدر بها

    40

كل منشورات العضو عمر قره محمد

  1. نعم هذه المسار يعطيك الخبرات الكافية لبناء قوالب وردبريس احترافية.
  2. لحل المشكلة يجب تنزيل Microsoft Visual C++ Redistributable for Visual Studio 2022 على جهازك. يمكنك تنزيله من هنا : https://visualstudio.microsoft.com/downloads/ ننزل إلى نهاية الصفحة عند All Downloads ثم نتبغ الخطوات المبينة في الصورة 1- ننقر على Other Tools, Frameworks, and Redistributables 2- نتأكد من توافقه مع اصدار نظام التشغيل 3- ننقر على download بعد ذلك نقوم بإعادة تشغيل الجهاز.
  3. نعم يمكن تعلم مسار ورد بريس لوحده بدون دراسة المسارات الاخرى لدورة php ولكن يجب ان يكون لديك فكرة عن اساسيات php.
  4. يمكنك فغل ذلك باستخدام الوظيفة getBoundingClientRect التي تعطينا احداثيات العنصر. ماهي الطريقة التي استخدمتها ؟
  5. وعليكم السلام ورحمة الله وبركاته، لا احد يعرف بالتحديد ماهي اللغة التي ستكون الاكثر استخداماً بعد 3-4 سنين ولكن اقول لك بثقة أن js و php سيكونون موجودين وبقوة بالتأكيد. و في الوطن العربي ستجد أن أستعمال لغة PHP أكبر بكثير من باقي التقنيات، وذلك بسبب إستخدام WordPress ولارافيل Laravel على نطاق واسع، ويمكنك التأكد من ذلك من خلال تصفح المشاريع في مواقع العمل الحر مثل خمسات ومستقل، وكذلك فإن اغلب مواقع الويب اليوم مبنية باستخدام PHP وبالتالي يستحيل التخلي عنها، وبالناحية الاخرى فإن مطوري js في ازدياد مستمر وتطور اسرع بكثير من PHP، كما انني شخصياً تعلمت js بحكم كوني اصمح لأكون Full-Stack ولسهوله الانتقال إليها في حال كنت front-end. ووجهة نظري ان كلا اللغتين جيدتين ولابد من تعلم إحداهما إذا كنت تريد ان تكون من مطوري خلفيات المواقع في هذا العصر ولست هنا في صدد إقناعك بإحداهما دون اخرى فلكل منهما ميزاته وعيوبه ولكن انصحك بقراءة المقالين التاليين لما فيهما من معلومات قيمة ستساعدك في تحديد وجهتك بشل افضل. يمكن ان تقرأ ايضاً :
  6. يمكن عمل التحريك الذي تطلبينه باستخدام js، وذلك بإضافة class خاص بالتحريك لل div عند النقر على الرابط : <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!-- لاحظي كيف اضفنا الوظيفة الخاصة بإضافة الكلاس للرابط --> <a href="#mySection" onclick="doTheAnimation()">إضغط هنا للإنتقال إلى قسم الخدمات </a> <!-- اهم شئ هنا هو إضافة الايدي --> <div id="mySection" style="height: 400px; margin-top:800px ;background-color: red;"> <h2 style="font-size: xxx-large; padding:20px ;">قسم الخدمات</h2> </div> <!-- يمكنك إضافة الجافاسكربت لصفحة مستقلة أو وضعها هنا كما فعلت أنا --> <script> // الوظيفة الخاصة بإضافة الكلاس const doTheAnimation = () => { // هنا نقوم بإمساك الديف الخاص بنا const mySection = document.getElementById("mySection"); // وهنا نقوم بإضافةا لكلاس الخاص بالتحريك mySection.classList.add("animationClass"); } </script> <!-- يفضل إضافة الستايل لملف سي اس اس منفصل --> <style> /* انشاء التحريك الذي نريده */ /* هنا قمت بإنشاء تحريك للون كمثال فقط */ @keyframes example { from { background-color: red; } to { background-color: yellow; } } /* نضيف التحريك للكلاس الذي عرفناه باستخدام الجافاسكريبت */ .animationClass { animation-name: example; animation-duration: 4s; } </style> </body> </html> حيث نقوم بتنفيذ الوظيفة doTheAnimation عند النقر على الرابط والتي تقوم بإضافة الـ class المسمى animationClass للdiv خاصتنا، وفي النهاية قمنا بإضافة animation لهذا الـ class باستخدام css.
  7. برمجة المواقع تقسم لـFrontend ولـ Backend الـ Frontend هو عبارة عن ماتراه عندما تدخل إلى اي موقع ونستخدم لبنائه كل من : HTML + CSS + JS وهذه اللغات اساية لبناء الموقع بمعنى انه يمكنك ان تبني موقع متكامل باستعمال هذه اللغات على عكس الـ Backend وستحتاج تعلمها قبل ان تبدأ بالـ Backend على اي حال. وبعد تعلم هذه اللغات يفضل تعلم بيئة عمل وهي عبارة عن تجميعة لمكاتب تسهل العمل ومن اشهرها الـ React والـ veu و Next. وهنالك مهارات إضافية تساعد في بناء المواقع وهي كل من webpack و JQuery و sass. أما بالنسبة للـ Backend هي العمليات التي تجري بالخلفية والتي تحتاج لسيرفر ولقاعدة بيانات كعملية تسجيل الدخول ونشر المنشورات ووضع لايكات .. إلخ، وهذا يمكن بنائه بكل لغات البرمجة تقريباً ولكن اشيع اللغات المستخدمة لبنائه هي PHP و JS. بعد قول هذا فهنالك CMS تختصر عليك عملية البرمجة كلها وتغنيك عن تعلم الـ Frontend ولـ Backend واشهرها هو Wordpress. إقرأ أيضاً :
  8. نعم يمكنك ذلك من خلال استخدام وسيلة القياس vh div{ height : 100vh } حيث 100 vh تعني 100% من طول واجهة العرض. للإطلاع على خاصية الـ height باستفاضة اكثر : https://wiki.hsoub.com/CSS/height
  9. يبدو ان المشكلة بالفعل في ملف index.js : // الكود الخاص بك let i = 1; while (i <= 10); { console.log(i); i++; } // الكود الصحيح let i = 1; while (i <= 10) { console.log(i); i++; } حيث حذفنا الـ ; من نهاية الشرط الخاص بالـ while.
  10. اعتذر منك، ظننت انك تتحدث عن مشروع html سؤحول السؤال لشخص اخر خبير في react native.
  11. قد تكون المشكلة من ملف الـ js الذي تقوم باستدعائه، هل يمكنك مشاركة محتويات ملف الـ index.js.
  12. وعليكم السلام ورحمة الله، ماهي العناصر التي تحاول وضعها بالتحديد.
  13. هل يمكنك إيضاح المشكلة بشكل اكبر كل ما اراه هو شاشة تحتوي ملف html بسيط و استدعاء لملف js. إن كان بإمكانك مشاركة ملفات المشروع حتى استطيع الاطلاع عليهم ومعرفة المشكلة.
  14. إن كان ما تريده هو معرفة قياس الصفحة وعرض مكونات مختلفة حسب قياس الصفحة بشكل مشابه للـ media query فهنالك المكتبة التالية : react-responsive أما اذا كان ما تريده هو معرفة عرض العنصر ذاته فهذا يكون حسب القياس الذي اعطيته انت للعنصر فإذا كنت اعطيته width : 100% سيكون عرضه يساوي عرض الصفحة وطوله سيختلف حسب عرض الصفحة أما إذا حددت الـ width برقم معين سيكون عرضه هو العرض الذي حددته وسيكون له طول معين يمكنك استخراجه بسهولة. ولا يمكنك حساب الطول والعرض بدون عمل render على المتصفح. وبعد قول هذا يمكنك تأخير عرض عنصر معين حتى تعلم عرض وطول العنصر الاب الخاص به وبعد ذلك التحكم بالابن حسب هذه القياسات وكمثال : import React, { Component } from 'react'; export default class Example extends Component { // هنا نعرف المتغير الذي يعبر عن القياسات ونجعله فارغاً state = { dimensions: null, }; // هنا نضيف القياسات الخاصة بالمتغير ونقوم بإعادت التحميل componentDidMount() { this.setState({ dimensions: { width: this.container.offsetWidth, height: this.container.offsetHeight, }, }); } // هذه الوظيفة الخاصة بعرض الابن بالاعتماد على قياسات الاب renderContent() { const { dimensions } = this.state; return ( <div> width: {dimensions.width} <br /> height: {dimensions.height} </div> ); } render() { const { dimensions } = this.state; return ( //للحصول على القياسات الخاصة بالاب ref هنا استخدمنا الـ <div className="Hello" ref={el => (this.container = el)}> // هنا نفحص إن كان هنالك قياسات ام لا وفي حال وجودها نقوم باستدعاء دالة طباعة الابن {dimensions && this.renderContent()} </div> ); } }
  15. هنالك العديد من الادوات التي تكشف الثيم المستخدم في المواقع كل ماعليك هو أن تكتب في محرك البحث : WordPress Theme Detector وبعد ذلك إدخال رابط الموقع المطلوب معرفة الثيم الخاص به، جرب أكثر من موقع للتأكد من الثيم. بعد قول هذا من الممكن ان يكون الثيم معد بشكل جذري من اجل الموقع ولن يظهر عندها في اي من هذه المواقع. ولقد جربت الرابط المرفق على اكثر من أداة وعلى ما يبدو انه مقدم من قبل betterstudio.
  16. نعم انها كفية بالفعل لإنشاء موقع كامل باستخدامها ولن تحتاج غالباً استخدام اي عنصر لم يذكر بالدورة، إذا كنت مهتم بمطالعة html بشكل اوسع يمكنك الاطلاع على قسم الـ html من موسوعة حاسوب حيث يتم التطرق لتفاصيل التفاصيل هناك.
  17. لا اعتقد انه يمكن ان يوجد مثل هذه الدالة التي تطلبها، لكن اظن انه يمكننا التغلب على المشكلة التي تواجهها من دون الاعتماد على هذه الدالة الاسطورية.
  18. وهل يمكن التعبير عن 101-01-21-4192B بـ Ae18 من دون استخدام قاعدة بيانات تخبرك بأن Ae18 يساوي 101-01-21-4192B. لا اعتقد ان هنالك دالة عكوسة يمكنها تحويل اي قيمة تدخلها إلى شيفرة ب اربع خانات فقط إلا انه هنالك دوال تقوم بهذه الوظيفة ولكنها تسبب فقد في البيانات حيث لا يمكنك استعادة البيانات الاصلية قبل عملية التشفير. يبدو لي ان الحل الوحيد لمشكلتك إذا اردت استخدام طريقة ال Ae18 هي تخزين قاعدة بيانات تخبرك بأن Ae18 يساوي 101-01-21-4192B في الطرف الاخر الذي سيتلقى البيانات المشفرة وهكذا كل ما علينا هو تمرير ال Ae18 وترجمته إلى 101-01-21-4192B بعد وصوله.
  19. ما اظن انك تريد القيام به هو سحب البيانات من الـ db ومن ثم اختصارها وتقديمها مختصرة وبعد ذلك تقديم الباركود المختصر عبر الباركود ثم فك الاختصار في الحهة المقابلة بعد قراءة الباركود. اظن انه ستحصل على نفس النتيجة في حال قمت بالاختصار بعد الحصول على البيانات من الـ db في مرحلة قبل عرض الباركود يعني في الباك اند، ان كان بإمكانك مشاركة الباك إند الذي تعمل عليه فهناك العديد من الدوال التي تقوم بإختصار النصوص في اغلب لغات البرمجة.
  20. يمكنك العمل على مستودعك المحلي واصافة العدد الذي تريده من الـ commit وبعد ذلك تقوم بتحديث الـ repository متى ما شئت عبر الامر : git push <REMOTENAME> <BRANCHNAME> على سبيل المثال : git push origin main ويمكنك فعل ذلك باستخدام vs بشكل اسهل بكثير عبر قائمة الـ source control والتي يمكن الوصول إليها بالنقر على : ctrl + shift + g. بالنسبة لمواد الاكادمية الخاصة بـ github :
  21. حسناً، هل يمكنك مشاركة ملفات الـ html والـ css الخاصة بالـ select box و الـ input حتى نستطيع المساعدة.
  22. وعليكم السلام ورحمة الله، نعم هنالك مثل هذا الـ api و يمكنك الوصول له بالشكل التالي: var axios = require("axios"); var data = { iso2: "SY" }; var config = { method: "post", url: "https://countriesnow.space/api/v0.1/countries/cities", headers: {}, data: data, }; axios(config) .then(function (response) { console.log(response.data); }) .catch(function (error) { console.log(error); }); ويمكنك الوصول لرمز الـ iso2 الخاص ببلدك من خلال الرابط التالي https://countriesnow.space/api/v0.1/countries/currency وبعد ذلك قومي باستبدال SY التي ترمز لسوريا بال iso2 الخاص ببلدك. في حال اردت جميع البلدان وجميع المحافظات يمكنك الوصول إليهم من خلال الـ api التالي : var axios = require('axios'); var config = { method: 'get', url: 'https://countriesnow.space/api/v0.1/countries', headers: { } }; axios(config) .then(function (response) { console.log(JSON.stringify(response.data)); }) .catch(function (error) { console.log(error); });
  23. المشكلة تحدث لأن IE/Edge/Safari لا يدعمون الخاصية scroll-behavior: smooth بشكل كامل ولحل هذه المشكلة في Safari وكل المتصفحات الاخرى يمكنك إضافة الخاصية عبر باستخدام js : function SmoothVerticalScrolling(e, time, where) { var eTop = e.getBoundingClientRect().top; var eAmt = eTop / 100; var curTime = 0; while (curTime <= time) { window.setTimeout(SVS_B, curTime, eAmt, where); curTime += time / 100; } } function SVS_B(eAmt, where) { if(where == "center" || where == "") window.scrollBy(0, eAmt / 2); if (where == "top") window.scrollBy(0, eAmt); } حيث تضيف الخاصية للعنصر الخاص بك عبر استدعاء هذه الوظيفة بالشكل التالي : SmoothVerticalScrolling(myelement, 275, "center"); وفي حال تريد إضافتها لل body : const myElement = document.body; فتصبح الوظيفة الخاصة بإضافة smooth للـ body كالتالي : function SmoothVerticalScrolling(e, time, where) { var eTop = e.getBoundingClientRect().top; var eAmt = eTop / 100; var curTime = 0; while (curTime <= time) { window.setTimeout(SVS_B, curTime, eAmt, where); curTime += time / 100; } } function SVS_B(eAmt, where) { if(where == "center" || where == "") window.scrollBy(0, eAmt / 2); if (where == "top") window.scrollBy(0, eAmt); } const myElement = document.body; SmoothVerticalScrolling(myElement, 275, "center"); وفي حال أردت إضافت الخاصية نفسها للدحرجة الجانبية أي لليمين واليسار يمكنك كذلك فعل نفس الامر بالـ js باستخدام الوظيفة التالية: function SmoothHorizontalScrolling(e, time, amount, start) { var eAmt = amount / 100; var curTime = 0; var scrollCounter = 0; while (curTime <= time) { window.setTimeout(SHS_B, curTime, e, scrollCounter, eAmt, start); curTime += time / 100; scrollCounter++; } } function SHS_B(e, sc, eAmt, start) { e.scrollLeft = (eAmt * sc) + start; } وكذلك الامر هنالك مكتبة جاهزة للقيام بنفس الأمر وهي smootscroll polyfill : يمكنك تحميلها في ملف المشروع عبر الامر npm install smoothscroll-polyfill --save وإضافتها للصفحة عبر الكود التالي : import smoothscroll from 'smoothscroll-polyfill'; // kick off the polyfill! smoothscroll.polyfill();
  24. هل يمكنك مشاركة الكود الخاص بالمشروع و توضيح المشكلة بشكل افضل حتى استطيع مساعدتك.
×
×
  • أضف...