-
المساهمات
4888 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
11
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عبدالباسط ابراهيم
-
كما أخبرك مصطفى في التعليق السابق فإنه يمكنك استخدام ال map مع data.results بدون مشكلة حيث ال data.results هو مصفوفة كما في التوثيق الرسمي لل API من خلال هذا الرابط والبرنامج يعمل كما في الصورة التالية
- 7 اجابة
-
- 1
-
كما أخبرك مصطفى في التعليق السابق فإن ترك الوظيفة يعتمد على الوضع المالي لديك فإذا كانت لديك إلتزامات مالية ولا يمكنك التفرغ لتعلم البرمجة بدون العمل فيجب عليك الإستمرار بها و استغلال الوقت لديك بأفضل طريقة ممكنة ويجب عليك إتباع الخطوات التالية لتنفيذ ذلك تحديد أهداف واضحة وقابلة للتحقيق: شيء واحد مشترك بين الناس المنتجين هو التصميم. إنهم يعرفون بالضبط ما يرغبون في تحقيقه ، لذلك يعملون نحو هدف واضح ويظلوا مركزين.مع وضع هدف واضح في الاعتبار ، يمكنك إدارة وقتك بشكل أكثر كفاءة. يمكنك تتبع تقدمك ومعرفة المدى الذي وصلت إليه بالفعل.سيساعدك هذا في الحفاظ على تركيزك ، حتى لو لم تتمكن من تخصيص الكثير من الوقت لتعلم البرمجة كل يوم. اعرف سبب تعلمك البرمجة : مهما كان "السبب" الخاص بك ، تأكد من كتابته في مكان ما. هذا هو الشيء الوحيد الذي سيساعدك في حالة فقدان الشغف أثناء التعلم.لأن الحقيقة هي: تعلم كيفية البرمجة أمر صعب. إنه عمل كثير ولا يمكنك توقع تحقيق النجاح بسرعة. تعلم كيفية تحديد الأولويات : ربما تكون هذه هي الطريقة الأكثر وضوحًا لإيجاد وقت لتعلم البرمجة أو أي مهارة جديدة أخرى.إن تحديد الأولويات ليس بالأمر السهل دائمًا ، ولكنه أفضل طريقة للتأكد من أنك تخصص وقتك النادر للأشياء التي تجعلك سعيدًا وتعطيك شيئًا ما.إذا كان تعلم كيفية البرمجة أمرًا تريد القيام به حقًا ، فلا ينبغي أن تكون إعادة التفكير في أولوياتك مشكلة.كما ذكرت من قبل ، إذا كنت تشعر بالدافع لتحقيق أهدافك ، فسيكون ذلك أسهل مما تعتقد.من المدهش مقدار "الوقت الضائع" الذي يمكن أن تجده في يوم واحد فقط. هذا هو الوقت الذي تقضيه في مشاهدة التلفزيون أو التصفح بلا هدف عبر وسائل التواصل الاجتماعي. بناء روتين بجدول التعلم: بمجرد أن تتمكن من العثور على الوقت لتعلم البرمجة في المقام الأول ، ابتكر عادة للخروج منه على الفور.حاول دائمًا القيام بذلك في نفس الوقت تقريبًا كل يوم ، مع الحفاظ على جدولك ثابتًا وتركيز عقلك.إن جعل روتينًا من جلسات التعلم الخاصة بك يجعل من الصعب عليك تشتيت انتباهك. لذلك القرار يرجع لك ويعتمد في الأساس على الوضع المالي لك لفترة كبيرة خلال تعلمك للبرمجة والحصول على وظيفة بها .و بالتوفيق في رحلة تعلمك للبرمجة
- 3 اجابة
-
- 1
-
ببساطة للحصول على عمل في مجال البرمجة أو أي مجال عموماً هو قدرتك على تنفيذ المهام المطلوبة في مجال عملك لذلك قم بالدخول على مواقع العمل الحر أو مواقع التوظيف وقم بتصفح المشاريع التي تخص مجالك تعلمك إذا كنت قادر على تنفيذ المشروع بشكل متقن وبإنتاجية كبيرة لذلك يمكنك وقتها التقديم وإتباع النصائح التالية للحصول على عمل أفضل نصيحة والتي تقوم بحصولك على وظيفة في أقرب وقت هي بناء الكثير من التطبيقات في مجال تعلمك حيث أن التطبيقات أو المواقع التي تقوم ببناءها خلال تعلمك هي الضمان وإكتساب الثقة لتوظيفك ورفع هذه التطبيقات على موقع شخصي لك portfolio قم ببناء شبكتك.الكثير من الحصول على وظيفة هو من تعرفه.لا بأس أن تكون انطوائيًا ، لكنك تحتاج إلى دفع حدودك.قم بإنشاء حسابات GitHub و Twitter و LinkedIn و Discord.اذهب إلى اللقاءات والمؤتمرات التقنية. بناء سمعتك.مشاركة عروض فيديو قصيرة لمشاريعك.استمر في التقدم للتحدث في مؤتمرات أكبر وأكبر.وساعد الأشخاص الأحدث منك في مجال البرمجة.المساهمة في المصدر المفتوح. كما أنه من أسرع الطرق لحصولك على وظيفة هو المشاركة في الأعمال التطوعية كبناء موقع مجاناً لمؤسسة غير ربحية كمثال أيضاً المقال التالي يوجد به نصائح عظيوة عند تعلم البرمجة يفضل الغطلاع عليها
-
بالإضافة للمهارات الأساسية التي تم شرحها في التعليقات السابقة. يجب عليك تعلم الأدوات والتقنيات التالية أدوات التشفير: برنامج يستخدم التشفير لمنع الوصول غير المصرح به إلى المعلومات الرقمية. يستخدم التشفير لحماية المعلومات الرقمية الموجودة على أجهزة الكمبيوتر بالإضافة إلى المعلومات الرقمية التي يتم إرسالها إلى أجهزة الكمبيوتر الأخرى عبر الإنترنت. أدوات فحص ثغرات الويب برنامج مكافحة الفيروسات من الجيل التالي: يرتقي ببرامج مكافحة الفيروسات التقليدية إلى مستوى جديد ومتقدم من الحماية الأمنية لنقاط النهاية. فهو يتجاوز توقيعات البرامج الضارة المعروفة والمستندة إلى الملفات والاستدلال لأنه نهج مرتكز على النظام وقائم على السحابة. جدار الحماية من الجيل التالي: جدار حماية عميق لفحص الحزمة يتجاوز فحص المنفذ / البروتوكول والحظر لإضافة فحص على مستوى التطبيق ، ومنع التطفل ، وجلب المعلومات الاستخبارية من خارج جدار الحماية. منع فقدان البيانات (DLP) عبارة عن مجموعة من الأدوات والعمليات المستخدمة لضمان عدم فقدان البيانات الحساسة أو إساءة استخدامها أو الوصول إليها من قبل المستخدمين غير المصرح لهم. يصنف برنامج DLP البيانات المنظمة والسرية والحاسمة للأعمال ويحدد انتهاكات السياسات التي تحددها المؤسسات أو ضمن حزمة سياسة محددة مسبقًا ، مدفوعة عادةً بالامتثال التنظيمي مثل HIPAA أو PCI-DSS أو GDPR.
- 5 اجابة
-
- 1
-
بما أنك في دورة "دورة تطوير واجهات المستخدم " وقمت بدراسة المسار " بناء واجهة مستخدم تشبه موقع YouTube " حتى الآن المساريع التي تقوم ببناءها تحتفظ بها على الحاسوب الخاص بك ولكن في المسار " تطوير متجر الكتروني " سيكون هناك في آخر المسار شرح لل github وكيفية نشر الموقع ومن بعدها ستقوم برفع المشاريع الخاصة بك إلى github يمكنك الذهاب لشرح ال github مباشرة لاستخدامه في المسارات الحالية أو يمكنك متابعة الدروس بالترتيب الأساسي للدورة وليس هناك مشكلة
-
ال null و undefine لهما نفس القيمة Boolean (undefined) === false && Boolean (null) === false يمكنك تقنيًا استخدام أي منهما لإنجاز المهمة. ومع ذلك ، ولكن هناك طريقة صحيحة للإستخدام اترك استخدام undefine لمترجم جافا سكريبت.يستخدم undefined لوصف المتغيرات التي لا تشير إلى مرجع. إنه شيء سيعتني به مترجم JS. في وقت الترجمة ، سيقوم محرك JS بتعيين قيمة جميع المتغيرات المرفوعة إلى undefine . عندما يخطو المحرك من خلال الشفرة والقيم تصبح متاحة ، سيقوم المحرك بتعيين القيم الخاصة بالمتغيرات المعنية. بالنسبة لتلك المتغيرات التي لم تجد قيمًا لها ، ستستمر المتغيرات في الاحتفاظ بمرجع إلى الأصل undefine . استخدم القيمة الفارغة فقط إذا كنت تريد الإشارة إلى قيمة المتغير على أنها "بلا قيمة". إختصاراً لا تستخدم القيمة undefine البدائية . إنها قيمة سيقوم برنامج التحويل البرمجي JS بتعيينها لك تلقائيًا عندما تعلن عن متغيرات بدون تخصيص أو إذا حاولت الوصول إلى خصائص كائنات لا يوجد مرجع لها. من ناحية أخرى ، استخدم القيمة null إذا كنت تريد عن قصد أن يكون للمتغير "بلا قيمة".
-
يمكنك استخدام الدالة location.reload لإعادة تحميل عنوان URL الحالي. تعمل هذه الطريقة بشكل مشابه لزر "تحديث" في المتصفح. مثال بسيط على ذلك <button type="button" onClick="window.location.reload()"> Reload Page </button> بدلاً من ذلك ، يمكنك تحديث صفحة باستخدام طريقة history.go لتحميل صفحة معينة من محفوظات الجلسة أو للرجوع للخلف أو للأمام من خلال محفوظات الجلسة. تأخذ هذه الطريقة وسيطة واحدة ، تشير إلى الموضع في التاريخ للانتقال إليه و إذا لم تقم بإضافة أي وسيطة أو قمت بتعيين 0 ، فإن طريقة history.go () لها نفس تأثير استدعاء location.reload () وسيتم إعادة تحميل الصفحة الحالية. history.go(0); ويعتبر الدالة location.reload تعمل على جميع المتصفحات
-
يوجد العديد من الطرق التي تقوم بتوسيط div في منتصف الشاشة وربما لا تعمل بعض الطرق معك بسبب بعض التنسيقات التي قمت بإضافتها للعنصر أو أن العنصر العنصر يأخذ ال width الكامل للشاشة والعديد من العوامل الأخرى لذلك يجب تجربة الطريقة المناسبة للكود الخاص بك وبالإضافة الطرق الموجودة بالتعليق السابق يمكن استخدام إذا كنت لا ترغب في تعيين عرض ثابت على div ، فيمكنك القيام بشيء كهذا <div id="outer"> <div id="inner">hello world</div> </div> #outer { width: 100%; text-align: center; } #inner { display: inline-block; } كما يمكن استخدام ال position كالتالي <div class="content">hello world</div> .content { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
-
كما في التعليقات السابقة فإنك غير مطالب بالتصميم . فيجب أن تجد مصممًا تتعاون معه وتركز جهودك على أن تصبح جيدًا في البرمجة. يتطلب المجالان (التصميم والتطوير) عقليات مختلفة . ولكن إذا كان هناك بعض الأعمال التي تتطلب منك التصميم فيرجع لك هذا القرار إذا كنت تريد التطوير في ال ui / ux فيجب عليك القضاء الكثير من الوقت على مواقع الويب التي تعرض أعمال شباب آخرين في UI / UX. ويوجد العديد من المواقع لذلك كما في التعليقات السابقة كما أن في تطوير الواجهة الأمامية trends. لقد دخلنا عصر التصميمات المسطحة. ثم جاء ال parallax scrolling . و الآن Now material designs . لقد كان jquery الآن هو vueJs. لذلك يجب مواكبة هذه trends عبر مواقع مثل smashing magazine و alistapart على سبيل المثال لا الحصر. احصل على بعض الإلهام من منافسيك لذلك كما قلت لك في عالم تطوير الواجهة الأمامية ، ليس من الضروري معرفة التصميم ، ولكن يمكن أن يساعد بالتأكيد. ستجعل المعرفة العملية بمبادئ التصميم حياتك العملية ومشاريعك أسهل مع جعلك أيضًا أكثر قابلية للتوظيف.
-
توجد ثلاث كلمات رئيسية في JavaScript يمكن استخدامها للإعلان عن المتغيرات: let و var و const. لكل كلمة رئيسية قواعد وتأثيرات مختلفة على كيفية استخدام المتغيرات التي تنشئها. let: تعلن الكلمة الأساسية let عن متغير محلي محدد النطاق ، وتهيئته اختياريًا إلى قيمة.تعني Block-scoped أن المتغير متاح فقط داخل الكتلة التي تم الإعلان عنها فيها ، والذي يُشار إليه عادةً بأقواس معقوفة {}. var: الكلمة الأساسية var تعلن عن متغير عام أو نطاق وظيفي ، وتهيئته اختياريًا إلى قيمة.نطاق الوظيفة يعني أن المتغير متاح فقط داخل الوظيفة التي تم الإعلان عنها فيها. المتغيرات العامة متاحة في جميع أنحاء التعليمات البرمجية الخاصة بك. const: تعلن الكلمة الأساسية const عن متغير ثابت محدد النطاق وغير قابل للتغيير ، أي متغير لا يمكن إعادة تعيينه.تسمى الثوابت أيضًا "المتغيرات غير القابلة للتغيير" ، ولكن هذا تسمية خاطئة نوعًا ما لأنها في الواقع متغيرات - فقط متغيرات لا يمكن إعادة تعيينها. للمزيد من التفاصيل والمعلومات يفضل الإطلاع على موسوعة حسوب حيث يوجد توثيق لل javascript ويوجد شرح لل let و var و const من خلال هذا الرابط
- 4 اجابة
-
- 1
-
يمكنك استخدام tailwindcss مع react بدون أي مشكلة حيث أن سواء tailwindcss أو bootstrap ما هي إلا أطر عمل لل css فليس لها علاقة بال react لذلك يمكنك العمل بالإطار الذي يعجبك ولكن يجب عليك التعرف على الفروقات بين الإطارين Bootstrap هو إطار يأتي مع عدد قليل من الأنماط أو ال components المعدة مسبقًا ، في حين أن Tailwind هي أداة تجعل كتابة css أسرع وأسهل ، ولكنها لا تقدم أي آراء حول التصميم (أي نمط للتصميم على عكس Bootstrap ) ، باستثناء بعض المسافات والألوان الافتراضية ، ولكن هذا كل شيء قابل للتخصيص تمامًا.إذا لم يكن التصميم هو الشيء الذي تفضله أو كنت ترغب في إنشاء نموذج أولي سريعًا ، أو مجرد إنشاء موقعين على شبكة الإنترنت ، فإن bootstrap يعد خيارًا جيدًا ، ولكن إذا كنت تريد المرونة في تصميمه بالطريقة التي تريدها أو إذا كان لمشروعك مصمم ووظيفتك هو تطبيق التصميم على واجهة أمامية ، فإن Tailwind هي الطريقة المثلى في رأيي.من ناحية الوظيفة ، لا أعتقد أنه مهم للغاية عندما يتعلق الأمر بأطر العمل. من المهم جدًا فهم المفاهيم الأساسية وراء Css وتعلمها إلى مستوى لائق يمكنك استخدام tailwindcss مع react كالتالي إنشاء مشروع React الخاص بك ثبّت Tailwind CSS npm install -D tailwindcss postcss autoprefixer توليد ملفات التكوين من أجل تهيئة كل ما نحتاجه لـ Tailwind في مشروع React الخاص بنا ، نحتاج إلى ملفين للتهيئة: Tailwind.config.js و postcss.config.js عن طريق الأمر التالي npm tailwindcss init -p داخل Tailwind.config.js ، نحتاج إلى تحديد المسار إلى ملفات قالب React عن طريق إضافة إعداد التكوين التالي: module.exports = { content: [ "./src/**/*.{js,jsx,ts,tsx}", ], theme: { extend: {}, }, plugins: [], } أضف توجيهات Tailwind في ملف index.css: @tailwind base; @tailwind components; @tailwind utilities; يمكنك استخدام Tailwind الأن
-
يوجد أمثلة كثيره على ال slider من خلال ال javascript بدون مكتبات جاهزة ما عليك فقط غير البحث مثال على ذلك موقع codepen يوفر الكثير من الأكواد الخاصة بال frontend ما عليك غير البحث . هذا الرابط يحتوي على أمثلة لل slider وحاول فهم طريقة العمل بنفسك سأشرح لك طريقة العمل أولاً ال html <div class="slider"> <div class="item"> <img src="https://s3.tproger.ru/uploads/2020/07/field.jpg"> </div> <div class="item"> <img src="https://s3.tproger.ru/uploads/2020/07/rose.jpg"> </div> <div class="item"> <img src="https://s3.tproger.ru/uploads/2020/07/leaf.jpg"> </div> <a class="previous" onclick="previousSlide()">❮</a> <a class="next" onclick="nextSlide()">❯</a> </div> قمنا ببناء ال slider وإضافة الصور والأسهم تم إضافة الدوال previousSlide وnextSlide لها ال javascript /* رقم الصور الإفتراضية */ let slideIndex = 1; /*showSlides نقوم باستدعاء الدالة */ showSlides(slideIndex); /*slideIndex يزيد ال nextSlide عند الضغط على الزر */ function nextSlide() { showSlides(slideIndex += 1); } /* slideIndex يقل ال previousSlide عند الضغط على الزر */ function previousSlide() { showSlides(slideIndex -= 1); } /* الصورة الإفتراضية */ function currentSlide(n) { showSlides(slideIndex = n); } function showSlides(n) { let i; /*slides نحدد الصور بالمتغير */ let slides = document.getElementsByClassName("item"); /* إذا وصلنا لآخر صورة نقوم بإعادة الصور من الأول أو العكس*/ if (n > slides.length) { slideIndex = 1 } if (n < 1) { slideIndex = slides.length } /* نقوم بإخفاء جميع الصور أولاً */ for (let slide of slides) { slide.style.display = "none"; } /* ثم إظهار الصورة المفترض أن تكون موجودة فقط */ slides[slideIndex - 1].style.display = "block"; } أما بالنسبة لل css هي تنسيقات قم بإضافتها كما يناسبك
- 4 اجابة
-
- 1
-
تحتاج إلى ترخيص لاستخدام برنامج فيجوال استوديو وقاعدة بيانات SQL Server بالنسبة إلى قاعدة بيانات SQL Server يتم تقديم SQL Server في إصدارين رئيسيين لاستيعاب الميزات الفريدة ومتطلبات الأداء والسعر للمؤسسات والأفراد: الإصدار Enterprise Edition مثالي للتطبيقات التي تتطلب أداءً حرجًا في الذاكرة وأمانًا وتوافرًا عاليًا. يوفر الإصدار القياسي إمكانات قاعدة بيانات كاملة الميزات لتطبيقات الطبقة المتوسطة وسوق البيانات. نماذج ترخيص SQL Server 2022 الترخيص لكل core الترخيص على الخادم + CAL ترخيص مكونات SQL Server 2022 ويوجد العديد من نماذج التراخيص الأخرى لذلك يفضل الإطلاع عليها وإختيار النموذج الذي يناسبك بالنسبة لبرنامج فيجوال استوديو إصدارات Visual Studio ، يوجد حاليًا أربعة إصدارات مستخدمة ؛ Visual Studio Code Visual Studio Community Visual Studio Professional Visual Studio Enterprise Visual Studio Code و Visual Studio Community مجانيين ، فإنهما يختلفان تمامًا عن الآخرين.. للحصول على مقارنة كاملة الميزات بين Community, Professional وEnterprise قم بالذهاب لموقع microsoft من خلال هذا الرابط
- 4 اجابة
-
- 1
-
يجب أن تعرف الخطوات لبناء لعبة. تتضمن اللعبة الناجحة بعض مراحل ما قبل الإنتاج والإنتاج وما بعد الإنتاج. لقد قسمت هذه المراحل إلى خطوات لإرشادك خلال عملية تطوير ألعاب الهاتف المحمول. لنلقي نظرة! فكرة لعبة رائعة : الفكرة الفريدة هي أساس أي لعبة محمولة. لا تحتاج إلى فكرة إبداعية أو مبتكرة للغاية. يمكنك البدء بفكرة بسيطة ولكنها خارجة عن المألوف وتحويلها إلى فكرة رائعة.يمكن أن تكون فكرتك جديدة تمامًا بناء قصة جذابة : تلعب قصص الألعاب دورًا محوريًا في عملية تطوير الألعاب المحمولة. للسماح لمستخدمي تطبيقك بمعرفة الميزات والغرض من لعبتك ، أخبرهم بالقصة التي تحتوي على وصف كامل للمراحل والشخصيات والمكافآت. ضع خطة لبناء اللعبة : من الضروري إنشاء خطة لبناء اللعبة بعناية . يساعدك على نقل أفكارك وتنفيذها بشكل أكثر فعالية. تتضمن خطة اللعبة القياسية:رسومات أو فن تسويق اللعب أو التصميم الهيكل الفني وتطوير اللعبة اختر منصة تطوير اللعبة : ما هي المنصة لتشغيل تطبيق لعبتك؟ يوجد حوالي 73٪ من مستخدمي الهواتف الذكية بنظام Android ومن ثم ، فإن هذا السؤال يعتمد على ميزانيتك. حدد محرك ألعاب محمول : تعتبر ال backend لتطبيق اللعبة ضرورية للغاية حيث يكون محرك اللعبة مفيدًا. لديك العديد من المحركات للاختيار من بينها للألعاب المحمولة ، ويمكنك اختيار محرك يلبي احتياجات الألعاب الخاصة بك. على سبيل المثال ، انتقل إلى محرك Unity 3D لتمكين الألعاب ثلاثية الأبعاد أو اختر Cry Engine لدعم ميزة السحب والإفلات في لعبتك.يمكنك استخدام لغات الخلفية من خيارات متنوعة مثل C # و C ++ و Node.js و Laravel و Python لتطوير اللعبة. نظرًا لأن هذه المرحلة ستحدد البنية الأساسية لتطبيقك ، ففكر في تقنيات الواجهة الخلفية الأكثر صلة. قم بإنشاء مستند تصميم اللعبة صمم هيكل اللعبة صمم وطور لعبة الجوال الخاصة بك بعد الموافقة على النموذج الأولي ، يبدأ عمل تصميم اللعبة الفعلي اختبار لعبة الجوال حدد استراتيجية تحقيق الدخل هذه خطوات بناء لعبة للهاتف المحمول في الخطوات التي لا يمكنك تنفيذها يجب عليك توظيف الشخص المناسب فمثلاً بعد تحديد المنصة التي ستعمل عليها والمحرك الذي تعمل عليه (unreal مثلاً) فيجب عليك توظيف مبرمج لديه خبره بمحرك unreal
-
يمكنك أن تجد العديد من الكتب من خلال البحث لتختار الكتاب الذي يناسبك ولكن إذ أردت ترشيحات فيمكنك قراءة إجابات هذا السؤال وهذا السؤال وستجد العديد من الإقتراحات كما يوجد دروس ومقالات في أكاديمية حسوب من خلال هذا الرابط يفضل إلقاء نظرة على التوثيق الموجود في موسوعة حسوب
-
يجب عليك إتقان مهارة البحث وتقليل الوقت اللازم لتحديد المعلومات التي تبحث عنها. إليك بعض النصائح حول كيفية استخدام Google كمطور برامج تعميم رسائل الخطأ : إذا كنت تتلقى رسالة خطأ ، لا تقم فقط بنسخه ولصقه في حقل البحث ، لأنه يحتوي على تسمية محددة للغاية. أولاً ، قم بتعميم النص بحيث يتطابق بشكل أفضل مع ما يبحث عنه الآخرون. أضف الكلمات الرئيسية ذات الصلةحاول تخمين المنطقة التي ترتبط بها المشكلة. هل هو إطار عمل؟ ربما هو خاص بلغة البرمجة؟ هل ظهرت بعد تثبيت مكتبة جديدة؟ أضف اسم المكتبة أو إطار العمل أو لغة البرمجة إلى استعلام البحث للحصول على نتائج أفضل. لا تنسخ وتلصق بشكل لأمر رائع أن تكون قد عثرت على جزء من التعليمات البرمجية التي تحل مشكلتك. . من الأفضل قضاء بضع دقائق في قراءة الكود الذي حصلت عليه من الإنترنت والتفكير في: هل هو آمن من منظور الأمن السيبراني؟تأكد من الالتزام بشروط الاستخدام واتفاقيات الترخيص التي يتم وضعها عند نسخ الكود هل هناك أي آثار جانبية لهذا الكود ؟الآن عندما ترى كيف قام شخص آخر بذلك ، هل يمكنك القيام بذلك على النحو الأمثل لحالتك الخاصة؟هل وظيفة المتغير والأسماء الأخرى ذات صلة بالكود الخاص بك وتتوافق مع سياسة التسمية الخاصة بك؟هل يحتاج هذا الكود إلى إعادة هيكلة ليناسب الكود المحيط به بشكل أفضل؟
- 4 اجابة
-
- 1
-
ما هو ReScript؟ تعمل ReScript مثل JS ولديها أيضًا نظام كتابة رائع. يتم تجميعها بأعلى جودة من JS النظيفة والقابلة للقراءة والأداء والتي يمكن تشغيلها مباشرة في المتصفحات و Node. بالإضافة إلى أنه يحتوي على سلسلة أدوات بناء متوسطة. وكما في التعليق السابق فإن ال Rescript تشبه ال typescript ولكن لديها المميزات التالية ReScript أسرع من JavaScript. يرشدك نظام الكتابة والمجمع في ReScript بشكل طبيعي نحو كتابة التعليمات البرمجية التي غالبًا ما تكون ذات أداء افتراضيًا ، مع الاستفادة الجيدة من تحسينات Just-In-Time المختلفة (الفئات المخفية ، والتخزين المؤقت المضمّن ، وتجنب عمليات deopts ، إلخ). يتم تسهيل إزالة الشفرة الميتة على مستوى الوظيفة والوحدة من خلال نظام النوع المصمم جيدًا وتحليل النقاء. على المستوى العالمي ، يُنشئ ReScript رمزًا يسهل بشكل طبيعي التخلص من الشفرة الميتة بواسطة أدوات التجميع مثل Rollup and Closure Compiler ، بعد مرور الإزالة المعقد الخاص به. ناتج JS صغير جدًا. يقوم برنامج Hello world ReScript بإنشاء 20 بايت من كود JS يتم تضمين المكتبات القياسية المطلوبة فقط عند الحاجة. لديها أسرع توقيت حلقة التكرار. وقت إنشاء ReScript أسرع بمقدار واحد أو اثنين من أي بدائل. والمزيد من المميزات الأخرى يمكنك الإطلاع عليها من الموقع الرسمي الاختلاف مع TypeScript تشارك ReScript بعض الأهداف نفسها مثل TypeScript ولكن لديها بعض الاختلافات: يغطي TypeScript مجموعة ميزات JavaScript بالكامل وأكثر ، لكن ReScript يغطي فقط مجموعة فرعية منسقة من JavaScript. لا تحتوي شفرة ReScript على أخطاء null / undefined . ReScript سريع للغاية بسبب بساطته وتنظيمه. إنها واحدة من أسرع سلاسل أدوات نظام التحويل والمترجم لتطوير جافا سكريبت. لا يحتاج إلى كتابة التعليقات التوضيحية. يتم الاستدلال على الأنواع من خلال اللغة وهي صحيحة للغاية.
- 3 اجابة
-
- 1
-
كما وضح مصطفى فإنه يوجد الكثير من الطرق لتضمين ال bootstrap يمكنك الإطلاع عليها من خلال التوثيق الرسمي للمكتبة الرابط السابق يتضمن جميع الطرق لتثبيت المكتبة أما إذا قمت بتحميل مجلد المكتبة من الموقع فيجب أن تظهر معك هذه الملفات لاحظ أيضاً أنه إذا قمت بتحميل الإصدار الخامس من المكتبة فإنه لا وجود لل jquery حيث تم الإستغناء عن هذه المكتبة في الإصدار الخامس bootstrap/ ├── css/ │ ├── bootstrap-grid.css │ ├── bootstrap-grid.css.map │ ├── bootstrap-grid.min.css │ ├── bootstrap-grid.min.css.map │ ├── bootstrap-grid.rtl.css │ ├── bootstrap-grid.rtl.css.map │ ├── bootstrap-grid.rtl.min.css │ ├── bootstrap-grid.rtl.min.css.map │ ├── bootstrap-reboot.css │ ├── bootstrap-reboot.css.map │ ├── bootstrap-reboot.min.css │ ├── bootstrap-reboot.min.css.map │ ├── bootstrap-reboot.rtl.css │ ├── bootstrap-reboot.rtl.css.map │ ├── bootstrap-reboot.rtl.min.css │ ├── bootstrap-reboot.rtl.min.css.map │ ├── bootstrap-utilities.css │ ├── bootstrap-utilities.css.map │ ├── bootstrap-utilities.min.css │ ├── bootstrap-utilities.min.css.map │ ├── bootstrap-utilities.rtl.css │ ├── bootstrap-utilities.rtl.css.map │ ├── bootstrap-utilities.rtl.min.css │ ├── bootstrap-utilities.rtl.min.css.map │ ├── bootstrap.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css │ ├── bootstrap.min.css.map │ ├── bootstrap.rtl.css │ ├── bootstrap.rtl.css.map │ ├── bootstrap.rtl.min.css │ └── bootstrap.rtl.min.css.map └── js/ ├── bootstrap.bundle.js //popper هذا الملف يتضمن المكتبة ├── bootstrap.bundle.js.map ├── bootstrap.bundle.min.js //بشكل مضغوط popper هذا الملف يتضمن المكتبة ├── bootstrap.bundle.min.js.map ├── bootstrap.esm.js ├── bootstrap.esm.js.map ├── bootstrap.esm.min.js ├── bootstrap.esm.min.js.map ├── bootstrap.js ├── bootstrap.js.map ├── bootstrap.min.js └── bootstrap.min.js.map
-
عند بناء واجهة مستخدم يجب عليك تقسيم الواجهة إلى components حتى يصبح بناء الواجهة أسهل بالنسبة لك وبابلداية بالتكويد وعند الوصول لقسم معين في الموقع أو components لا تستطيع العمل قم بالبحث عن فكرة بناء هذه ال components وإليك تحليل لعمل مثل هذا التصميم تتكون الصفحة أولاً من ثلاث أقسام رئيسية navbar و header و main و footer نقوم بالتعمق في المكونات في القسم header يوجد عنصرين على اليسار يوجد عنصر p و h أما على اليمين فيوجد عدة صور فوق بعضها فيمكنك تنفيذ هذه الفكرة عن طريق استخدام ال position وتحديد أماكن الصور عن طريق التنسيقات top أو left أو right أو bottom مثال على ذلك .img1 { position: absolute; z-index: 2; } .img2 { position: absolute; z-index: 3; } .img3 { position: absolute; z-index: 1 } فكرة عمل الحواف wave تم شرحها في التعليق السابق أما القسم في المنتصف فيمكنك بناء هذه الفكرة عن طريق إنشاء عنصر يحتوي على ثلاث صور صور بالأعلى وصورة بالمنتصف وصوره بالأسفل وعنصر آخر نفس مكان الثلاث صور ثم بعد ذلك تقوم بإضافة margin-top بالسالب للعنصر الثاني حتى يظهر أن العنصرين متداخلان والقسم الأخير ال footer نفس فكرة الخلفية الموجودة بال header حيث فكرة عمل wave background قم ببناء الموقع بهذه الطريقة حيث تقوم بتقسيم الواجهة لأجزاء صغيره
- 6 اجابة
-
- 1
-
للعمل في مجال البرمجة يجب عليك تحديد المجال أولاً حيث للبرمجة العديد من المجال بداخل المجالات يوجد تخصصات لذلك أولاً يجب عليك تحديد المجال لذلك قم بقراءة هذه المقالة قبل أن تكمل القراءة ثم بعد ذلك معرفة المجالات المتاحة للعمل بها من خلال لغة البرمجة python حيث تعتبر هذه اللغة قوية ومنتشره في العديد من المجالات تستخدم لاستخراج البيانات والتعلم الآلي بسبب المكتبات المدعومة جيدًا مثل NumPy و SciPy للحوسبة الرقمية / الجبر الخطي ، matplotlib للتخطيط ، sk-learn للتعلم الآلي ، PIL لمعالجة الصور ، NetworkX لتحليل الشبكة - القائمة تطول وتطول. تحظى NumPy و SciPy باهتمام خاص بالنسبة لي نظرًا لمدى فعاليتهما - يتم تنفيذها تحت الغطاء بسرعة FORTRAN فائقة السرعة. العديد من الوحدات الأخرى المذكورة مثل PIL و NetworkX تلعب بشكل جيد مع NumPy / SciPy وبالتالي تستفيد من تطبيق FORTRAN أيضًا. مجالات العمل: علم البيانات Automation تطوير التطبيقات الذكاء الاصطناعي والتعلم الآلي تطبيقات الصوت / الفيديو تطبيقات وحدة التحكم واجهة المستخدم الرسومية لسطح المكتب يعتبر لغة البرمجة python من أفضل الإختيارات في المجالات السابقة لذلك تعتبر هذه اللغة تفتح لكل العديد من مجالات البرمجة ولكن يجب عليك عند تحديد أي مجال من المجالات السابقة تعلم المهارات الأخرى من مكتبات أو تقنيات بجانب لغة البرمجة python حيث تعلم اللغة فقط لن يجعلك محترفاً في أي مجال من المجالات السابقة
-
مع أن العنصر section يعطي نفس النتيجة العنصر div ولكن هناك أهميه لاستخدام العنصر section حيث يعتبر ال section من العناصر الدلالية Semantic HTML elements وهي مهمة في كود أوضح وأسهل في الصيانة: يمكنك تجربة ذلك من خلال العمل على مواقع كبيره وقتها ستعرف أهمية ال Semantic HTML elements ولتجربة ذلك سأكتب لك بعض العناصر بدون محتوىلنرى هل ستتعرف على محتويات هذه العناصر المفترضة أم لا؟ <header> <nav></nav> </header> <main></main> <footer></footer> سهل تخمين المحتوى صحيح؟ جعل موقعك accessible : هناك عدد كبير من المستخدمين الذين يعتمدون على برنامج قارئ الشاشة للتنقل عبر الإنترنت وتصفح الإنترنت فقط من خلال استخدام لوحة المفاتيح.لذا ، فإن التأكد من أن برامج قراءة الشاشة يمكنها قراءة كل عنصر ، وأنه يمكن الوصول إلى كل عنصر من خلال لوحة المفاتيح ، يعد أمرًا ضروريًا. علينا أن نبرمج لجميع المستخدمين.لا تتعلق لغة HTML الدلالية فقط باستخدام العلامات الدلالية الجديدة ، ولكنها تتعلق باستخدام العلامات الصحيحة لكل عنصر ، بحيث يسهل التنقل لجميع المستخدمين. تحسين وضع SEO الخاص بك: يمكن أن يتأثر وضع تحسين محركات البحث (SEO) لديك ، بشكل إيجابي أو سلبي ، اعتمادًا على عوامل مثل: الطريقة التي تتم بها كتابة المحتوى ، أو التصميم "المتجاوب" ، أو إمكانية الوصول إلى الموقع.في حالة Google ، يستخدمون خوارزمية تحلل كود موقع الويب الخاص بنا ، وتستخدم الترميز والتسميات المستخدمة لفهم الغرض من الصفحة بشكل أفضل.بهذه الطريقة ، إذا استخدمنا علامة دلالية ، فسنقوم بتسهيل المهمة على خوارزمية تحديد المواقع لمساعدتنا في الوصول إلى المزيد من المستخدمين. وفي المقابل ، سيكون موقعنا الإلكتروني أكثر سهولة في الوصول إليه.
-
كما في التعليق السابق وضح مصطفى طريقة إرسال بيانات إلى قاعدة البيانات SQLite ولكن row واحد لذلك إذا اردت إرسال العديد من الصفوف يمكنك استخدام loop كما في المثال التالي const sqlite3 = require('sqlite3').verbose(); let db = new sqlite3.Database('../db/sample.db'); let languages = ['C++', 'Python', 'Java', 'C#', 'Go']; //? ونغير الفاصل بين العناصر ل placeholders نجهز مصفوفة let placeholders = languages.map((language) => '(?)').join(','); let sql = 'INSERT INTO langs(name) VALUES ' + placeholders; db.run(sql, languages, function(err) { if (err) { return console.error(err.message); } console.log(`Rows inserted ${this.changes}`); }); db.close();
- 7 اجابة
-
- 1
-
كما في التعليقات السابقة فإنه يمكنك الحصول على العديد من النصائح من خلال Lighthouse لتحسن سرعة الموقع والعديد من النصائح الأخرى ولكن عند الحديث عن تحسين سرعة الموقع وبما أنه لديك كما قلت العديد من الصور والفيديوهات فمن المؤكد أنها المشكلة لذلك يجب عليك عمل optimize للصور والفيديوهات من خلال الخطوات التالية لا تذهب دائمًا إلى JPG. توقع حجم الصورة التي ستعتمد على محتوياتها ، ثم استخدم نوع الصورة الصحيح. لا تهتم باستخدام صور SVG على الإطلاق إذا كنت ترغب في تحسين الصور بسرعة. الوقت الذي ستضيعه في إنشائها لن يؤتي ثماره (على الرغم من عدم التردد في الاختلاف). ستكون ملفات PNG أسرع في الاستخدام ولن تكون أسوأ بكثير من حيث استهلاك مساحة القرص.استخدم WebP كثيرًا قدر الإمكان ، ولكن بشكل خاص عند التعامل مع الصور التي تظهر على صفحات متعددة أو صور كبيرة بشكل غير عادي. إذا كنت لا ترغب في تحويل صورك إلى WebP يدويًا ، فيمكنك استخدام مكون إضافي مثل Optimole ، والذي يخدم تلقائيًا صور WebP لزوار موقعك بشكل افتراضي. قم بضغط ملفات JPG الخاصة بك للوصول إلى مستوى مقبول من الجودة مقابل مساحة القرص. قم بضغط ملفات PNG دائمًا. استخدم أحجام الصور الصحيحة لتصميمك. إنشاء breakpoints. قم بإنشاء إصدارات متعددة من نفس الصورة لتغطية breakpoints. استخدم srcset و sizes ك attributes عند عرض الصور. استخدم ال Lazy load images. اعرض صورًا أصغر حجمًا وأكثر ضغطًا للمستخدمين على اتصالات الإنترنت الأبطأ. الخطوات السابقة تحتاج للدراسة حيث تحتوي على معلومات كثيرة يمكنك البحث عن كل خطوة للمزيد من التفاصيل حيث كل خطوة من الخطوات السابقة لها تأثير كبير على سرعة الموقع
-
الإختيار بين التقنيتين Flutter أو Android Studio يعتمد في الأساس على إحتياجات المشروع وبما أنك تنوي التعلم فيجب أن يكون تعلم أي التقنيتن يخدم المشروع أو البرنامج الذي تنوي العمل عليه فمثلاً مثال بسيط إذا كنت تريد هذه التطبيق على الأندرويد فقط والبرنامج معقد فالأفضل بدون تفكير هو الإتجاه لتعلم لغة البرمجة java أو kotlin مع ال android studio وحتى تستطيع الوصول للإختيار الأفضل يجب عليك معرفة مميزات وعيوب كلا التقنيتين Flutter هو إطار عمل جديد نسبيًا متعدد المنصات يستخدم لغة برمجة Dart.تشتهر بدورة التطوير السريعة ، وميزة إعادة التحميل السريع ، ومكونات واجهة المستخدم التعبيرية ، والتي تتيح تطوير التطبيقات وتخصيصها بسرعة وسهولة. كما أن الميزة الأفضل ل Flutter هو إمكانية تطوير تطبيقات لل android و ال IOS بنفس الكود يوفر Flutter نموذج برمجة تفاعلي يساعد على إنشاء واجهات مستخدم ورسوم متحركة عالية الأداء وسريعة الاستجابة. يعد Flutter مثاليًا لبناء واجهات مستخدم مخصصة جذابة بصريًا لتطبيقات الأجهزة المحمولة. Java هي لغة برمجة مستخدمة على نطاق واسع تم استخدامها لتطوير تطبيقات Android لسنوات عديدة. لديها مجتمع كبير ومجموعة واسعة من المكتبات والأدوات المتاحة للمساعدة في تطوير التطبيقات. تشتهر Java بقوتها وأمانها وقابليتها للتوسع ، مما يجعلها خيارًا ممتازًا لإنشاء تطبيقات معقدة على مستوى المؤسسة. تركز Java أيضًا بشكل كبير على البرمجة الموجهة للكائنات ، مما يجعلها مناسبة لفرق كبيرة من المطورين. لذلك ، إذا كنت تبحث عن إطار عمل يسمح بتطوير واجهة مستخدم سريعة وقابلة للتخصيص ، فقد يكون Flutter هو الخيار الأفضل. ومع ذلك ، إذا كنت تعمل على تطبيق كبير ومعقد أو تفضل العمل باستخدام لغة ومجموعة أدوات أكثر رسوخًا ، فقد تكون Java هي الخيار الأفضل. في النهاية ، يعتمد الاختيار على احتياجاتك وتفضيلاتك المحددة.