-
المساهمات
4888 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
11
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عبدالباسط ابراهيم
-
بالإضافة للمميزات السابقة يمكنك أيضاً الإستفادة من خلال Ubuntu مجاني على عكس الأنظمة الأخرى وإضافة على ذلك يوفر لك نظام التشغيل Ubuntu العديد من التطبيقات المنافسة لتطبيقات مثل مجموعة adobe مجاناً وتطبيقات بديلة لتطبيقات office والعديد من التطبيقات الأخرى Ubuntu قابل للتخصيص بالكامل من لحظة تثبيته. يستخدم أحدث إصدار بيئة سطح مكتب جنوم التي تتيح لك تخصيص كل عنصر من عناصر واجهة المستخدم / تجربة المستخدم الخاصة بك تقريبًا ، من أصوات الإشعارات ونمط النوافذ المنبثقة والخطوط والرسوم المتحركة للنظام ومساحات العمل. سطر الأوامر من Command Line ) Ubuntu ) يعد سطر الأوامر الموجود في Ubuntu أو linux عموماً الأفضل من بين جميع أنظمة التشغيل وبالأخير نحن نستخدم نظام التشغيل الذي يقوم لنا أكثر إفادة من غيره لذلك قم بتجربته وإختيار نظام التشغيل الذي تفضله
-
ليس هناك علاقة بين ال web design وال Web Development حيث أن إذا كنت تتكلم عن مجال البرمجة وتريد تعلم البرمجة فليس هناك حاجة لتعلم ال web design إلا إذا كنت تريد تعلم مهارة جديدة لذلك ليس هناك علاقة بين ال web design وال Web Development فهذا تصميم مواقع ويب وهذا برمجة ذللك يربطهما الويب وتم شرح ال Web Development بالتفصيل في التعليق السابق وفي هذا التعليق سأوضح ال web design يتحكم تصميم الويب في كل ما يتعلق بالجماليات المرئية وسهولة استخدام موقع الويب - نظام الألوان والتخطيط وتدفق المعلومات وكل شيء آخر يتعلق بالجوانب المرئية لواجهة المستخدم / UX (واجهة المستخدم وتجربة المستخدم). بعض المهارات والأدوات الشائعة التي تميز مصمم الويب عن مطور الويب هي: Adobe Creative Suite (مثل Photoshop و Illustrator) أو برامج تصميم أخرى تصميم غرافيك تصميم واجهة المستخدم تصميم UX تصميم شعار تخطيط / تنسيق وضع أزرار call-to-action Branding Wireframes, mock-ups, and storyboards Color palettes Typography
-
هذه ليست مشكلة مع تثبيت redux أو مع الكود الخاص بك و لكن ال createStore تعتبر deprecated أي تم إستبدالها بخاصية جديدة configureStore من خلال ال reduxjs/toolkit package ويمكنك قراءة المزيد من المعلومات عن هذا الموضوع من خلال هذا الرابط ويفترض أن يعمل المشروع بدون مشاكل ولكن ستظهر لك ال createStore كما في الصورة كتحذير أنها deprecated ويمكنك إزالة هذا التحذير عن طريق استدعائها من خلال الكود التالي import { legacy_createStore as createStore} from 'redux'
- 2 اجابة
-
- 2
-
كم في التعليق السابق فإنه يجب إضافة الخاصية muted وذلك لأن المتصفح google chrome منع حديثاً التشغيل التلقائي للفيديوهات بإستثناء الفيديوهات التي يضاف لها الخاصية muted <video autoplay muted> <source src="video.mp4" type="video/mp4" /> </video> أما بالنسبة للمتصفح iOS Safari يظل لا يعمل مع إضافة الخاصية muted بل يجب إضافة الخاصية playsinline كما في الكود التالي <video autoplay muted playsinline> <source src="video.mp4" type="video/mp4" /> </video>
- 2 اجابة
-
- 1
-
هذه الإختيارات هي أدوات مساعدة لك في البرمجة على ال visual studio لذلك يمكنك إختيار تثبيت أياً من الخيارات حسب المجال الذي تعمل فيه أما بالنسبة للعمل مع النظامين في وقت واحد نعم يمكنك تنفيذ ذلك بدون مشكلة عن طريق الخروج ممن وضع ملئ الشاشة في نظام ubuntu (عن طريق الضغط على زر ctrl + c معاً) ويمكنك وقتها الخروج منه والعمل مع windows
-
إذا كنت تبحث عن حلول فعالة بنسبة 100٪ في منع الهندسة العكسية، فيجب أن أخبرك أنه لسوء الحظ ، لا يمكن تحقيق ذلك ، ولكن يمكنك جعل القيام بذلك الأمر أصعب ... ما مدى صعوبة ذلك يعتمد على الجهد والموارد التي ترغب في وضعها أو التي يتطلبها القانون لحالة الاستخدام الخاصة بك. ويمكنك محاولة حماية التطبيق ( جعل عملية إختراقه مكلفه) الخاص بك من خلال الخطوات التالية استخدام ال code obfuscation يعد تشفير / فك تشفير مفاتيح API في وقت التشغيل طريقة فعالة أخرى لتأمين مفاتيح API ومنع المتسللين من فك تشفير البيانات. يجب تجنب تتبع مفاتيح واجهة برمجة التطبيقات في المستودع لتقليل مخاطر كشف القيم. لا يُنصح باستخدام Firebase Remote Config لتخزين البيانات الحساسة. يوجد العديد من الممارسات التي يجب عليك إتباعها لزيادة حماية التطبيق الخاص بك
- 3 اجابة
-
- 1
-
يمكنك عمل export للبرنامج عن طريق عدة خطوات في solution Explorer ، انقر بزر الماوس الأيمن على مشروعك وانقر على Build بمجرد اكتمال البناء ، انقر بزر الماوس الأيمن مرة أخرى على مشروعك وانقر فوق Open Folder in File Explorer سيفتح Visual studio نافذة Windows Explorer بها الكثير من الملفات والمجلدات. افتح مجلد "bin" ستجد داخل مجلد bin مجلدًا يسمى "Debug" أو مجلدًا يسمى "Release" اعتمادًا على تكوين البناء الذي اخترته. ستجد داخل مجلد "Debug" (أو "Release") جميع الملفات المطلوبة لتشغيل تطبيقك (عادةً ملف exe. وملف config. وبعض ملفات DLL قم بنسخ هذه الملفات وأنقلها إلى أي جهاز تريد تجربة الطبيق عليه
-
هذه ليست مشكلة لأن السبب بسيط وهو أنه عند فتح ملفات ال html نقوم بفتح الملف من خلال أي متصفح وهذا هو الطريقة الوحيدة حيث أنه صفحات الويب تعمل في المتصفح فقط ولا يعمل معها الأمر run فتح الملف من خلال أي متصفح عن طريق عدة طريق فتح الملف مباشرة من خلال المتصفح مثل open with google chrome عن طريق الإضافة live-server عن طريق webpack والعديد من الطرق الأخرى ولكن كلها عن طريق المتصفح كما قلت لك أنه صفحات الويب تعمل في المتصفح
-
بالإضافة للتعليق السابق إذا كنت تقصد الفرق بين ال div والbr في عمل line break فهناك بالطبع بعض الفروقات استخدم <br/>عندما تريد سطرًا جديدًا في فقرة مثل <p>Hi Josh, <br/> How are you?</p> استخدم <br/> عند كتابة عنوان <p>John Dough<br/> 1155 Saint. St. #33<br/> Orlando, FL 32765 </p> ولكن إذا كنت تريد مسافة بين عنصرين ، فيمكنك استخدام div وليس <br/> فالكود التالي غير مستحب <div>Hello</div> <br/> <div>Something else here</div> ال <br> له عيب يتمثل في تحديد حجم الفاصل بين الأقسام على خاصية ال line-height بالنسبة لإستخدامات ال span تتمثل في إضافة تنسيقات مختلفة لجملة مثلاً عن بقية ال paragraph <p>We can use span tags to target text with CSS styling, <span id="green-text">this green text</span>.</p> <p>You can use span for <span class="highlighted">any CSS rule</span>.</p> يمكنك أيضاً أن تستخدم ال span لعمل وظيفة من خلال ال javascript كل هذه الإستخدامات ستقوم بتجربتها من خلال التطبيق العملي
- 2 اجابة
-
- 1
-
تقوم ال Functions مع الخطافات بنفس الوظيفة التي تقوم بها ال classes ولكن مع بعض المميزات منها لا داعي للقلق بشأن "this" بعد الآن ليس عليك استخدام ال bindings يمكنك فصل ال logic عن ال ui يمكنك بسهولة مشاركة ال stateful logic بين المكونات والعديد من المميزات الأخرى يمكنك الإطلاع على المزيد من التفاصيل من خلال هذه المقالة
-
هل تقصد أنماط التصميم البرمجي Design patterns ؟ إذا كان كذلك فيتم تقسيم أنماط التصميم حسب استخدام كل نمط حيث أن أنماط التصميم الإنشائية Creational design patterns تستخدم في عملية ال Class instantiation أنماط التصميم الهيكلية Structural design patterns تستخدم فيما يتعلق بهيكل ال class وتكوينه أنماط التصميم السلوكية Behavioral design patterns تم تصميم هذه الأنماط اعتمادًا على كيفية تواصل Communication بين كائنات الأصناف يمكنك قراءة هذه المقالة للمزيد من التفاصيل
-
إجابة هذا السؤال تنقسم ل هل يجب تعلم ال framework : نعم بالطبع يجب عليك تعلم ال framework لأسباب عديدة منها تطوير المهارات لديك للدخول لسوق العمل بالمهارات المطلوبة لمطور الواجهات الأمامية وأيضاً هناك بعض المواقع لا تحتاج فيها لمميزات ال custom css إنما تحتاج للframework لسرعة العمل به والمميزات الأخرى التي يوفرها ال framework ذلك إذا كنت تريد المنافسه في سوق العمل أيضاً هل يجب أن استخدم ال framework أم ال custom css : ذلك يعتمد على المشروع الذي تقوم به إذا كنت تحتاج السرعة في بناء الموقع أكثر من أداء الموقع الذي تقدمة ال custom css أو حسب متطلبات العميل بالنسبة لنسيان ال custom css : بالطبع ستستعمل ال custom css مع استخدام ال framework حيث أن لن تكتفي بال framework فقط ستكتب بعض ال css ونصيحة لك قم باستخدام ال custom css طالما لا تهمك كثيراً السرعة في بناء الموقع حتى لا تنسى أو تقل مهاراتك في ال css وقم بعمل نظام grid خاص بك حتى يساعدك عند استخدام ال custom css وحتى تعرف مدى أهمية ال framework يمكنك قراءة المميزات التي يقدمها إنها توفر كتابة الأكواد التي تحتاج إلى كتابتها من البداية في كل مرة ، مثل عمليات إعادة التعيين تقوم بالمساعدة في جعل موقعك يعمل بشكل جيد على معظم المتصفحات تجعلك تستخدم دائماً ال grid system وهي ميزة قوية في ال framework بالطبع توفر عليك الكثير من خلال ال components الجاهزة
-
سأقوم بمناقشة بعض النقاط في سؤالك ومنه يمكنك الإجابة على السؤال سنوات الخبرة يتم إحتسابها بحسب المهارات التي تعلمتها في هذه الفترة وبالتطبيقات والمشروعات التي قمت بها ليس بعدد السنوات بدون تعلم جديد وبالطبع من خلال ال 7 سنوات التي قمت بتحديدها إذا قمت بالتعلم الجاد فيها يمكنك أن يقوم لك بصمة في مجال البرمجة يمكن للمبرمج أو أي مجال آخر أن يصبح ذات سمعة جيدة في المجال مثل البرمجة من خلال الأعمال التي قمت بها ومن خلال العلم الذي تقوم بنشره فمثلاً يمكن أن يصبح لك إسماً من خلال العلم الذي تقوم بنشره مستقبلاً طبعاً أو من خلال قيامك بتنفيذ بعض المواقع المشهورة وقتها سيكون لك اسم في السوق وسمعة جيدة وهذه النقطة ستصبح رأس مالك لاحقاً ( السمعة كما ترى هناك أسماء مشهورة في عالم البرمجة من خلال الدورات الموجودة على اليوتيوب أو أي منصه أخرى بالأخير مستقبلك يمكنك تحديده بنفسك وسنوات الخبرة لا يتم إحتسابها من خلال عدد السنوات إنما من خلال المهارات التي تعلمتها في هذه الفترة وبالتطبيقات والمشروعات التي قمت بها
-
ألاحظ أن Kais Hasan قام بالرد على سؤالك لكنك أضفت تعليق آخر سيتم المتابعة معك حتى الوصول لحل لهذه المشكلة ولكن عليك الإنتظار قليلاً حتى يجيب عليك من يتعامل مع nodejs و render حتى يتم الإجابة بإجابات نموذجية
- 8 اجابة
-
- 1
-
هناك العديد من الخطوات لتصبح محلل بيانات Data Analyst ليس فقط تعلم دورة بعينها ستجعل منك محلل بيانات محترف ولكن بدلاً عن ذلك سأخبرك بالخطوات ويمكنك بعدها البحث عن الدورة المناسبة لك الإحصاء لكل متخصص بيانات ، الإحصائيات والرياضيات ضرورية. لأنه بدون معرفة الإحصائيات والاحتمالات ، لا يمكن للمرء أن يفسر البيانات بشكل فعال. تتضمن بعض الموضوعات الرئيسية الإحصائيات الوصفية والاستنتاجية. إذا كنت مبتدئًا تمامًا ، فيمكنك قضاء 2-3 أسابيع في إتقان هذه الموضوعات والعمل على بعض المشكلات للتجربة العملية. إكسل يعد Excel أحد الأدوات المستخدمة على نطاق واسع لمعالجة البيانات وتحليلها بواسطة محللي البيانات. قد يكون لدينا العديد من الأدوات الأخرى للعمل مع البيانات ، ولكن حتى الآن ، فإن Excel له أهميته. SQL يجب أن تكون على دراية بقواعد البيانات وإدارتها. يجب عليك تنفيذ عمليات CRUD على قاعدة بيانات الشركة. لهذا الغرض ، لا توجد أداة أخرى مرنة وقابلة للتوسع مثل SQL. يجب أن تتقن بعض الموضوعات مثل عمليات الانضمام ، وعمليات الجدول ، والاتحادات ، والتجميع ، والترتيب ، والمزيد لإجراء تحليل فعال. أدوات ذكاء الأعمال Business Intelligence Tools تعتبر أدوات ذكاء الأعمال أو ذكاء الأعمال من أكثر الأدوات استخدامًا لمحللي الأعمال ومحللي البيانات. يمكنك العمل عليها باستخدام Python و R و SQL أيضًا. يتم استخدام ذكاء الأعمال في الغالب في لوحة المعلومات وإعداد التقارير وتصور البيانات. بعض أفضل أدوات ذكاء الأعمال بالنسبة لك في عام 2022 هي Tableau و PowerBL و Looker. لغة البرمجة نعم ، امتلاك لغة برمجة واحدة أو أكثر سيكون مفيدًا جدًا لك. على الرغم من أن بعض الشركات لا تهتم كثيرًا بلغة برمجة لأدوار المحلل ، إلا أن المعرفة الجيدة بها سيكون مفيدًا. أوصي بشدة بتعلم Python . حيث تقدم مكتبات قوية مثل numpy و pandas و mat plot lib يمكن أن تساعد المعرفة القوية بهذه المكتبات في أن يكون تحليلك فعالًا وفي صلب الموضوع.
- 2 اجابة
-
- 1
-
يجب أن تتعلم لغة البرمجة Dart أولاً و أن تتقن مصطلحات برمجية متقدمة ، مثل ال OOP و MVC حيث من المهم في البداية أن تكون ملم بلغة البرمجة Dart وإذا كنت جديد في مجال البرمجة فالأفضل أن تهتم بجانب algorithm وفهم طرق التفكير البرمجي وإكتسابه و لا بدك أن يكون لديك معرفة متوسطة في مجال تطبيقات الandoird و دورة حياة التطبيق - Life cycle والقراءة أكير مع تطبيقات الأندرويد بعد ذلك يمكنك تعلم فلاتر مباشرة وبالطبع من أهم المصادر لتعلم flutter هو التوثيقات من جوجل في هذا الرابط
- 2 اجابة
-
- 1
-
لتصبح مبرمج back end محترف يجب عليك تعلم بعض المهارات (هناك عدة مسارات حسب اللغة التي ستتعلمها) كن على دراية جيدة بأساسيات هياكل البيانات والخوارزمية يتخطى معظم مطوري الويب هذه الخطوة ويتقدمون إلى أطر التعلم . ومع ذلك ، من الأفضل دائمًا معرفة Data Structures & Algorithm . على الرغم من عدم التعمق في الأمر ، يجب أن تكون لديك فكرة أساسية عن العملية. يجب عليك مراجعة هياكل البيانات الأساسية ومكدس الخوارزميات ، وقائمة الانتظار ، والقائمة المرتبطة ، والشجرة ، والرسم البياني ، والتجزئة ، وخوارزميات الفرز والبحث ، والمفاهيم الأساسية الأخرى للبرمجة. تعلم لغة برمجة واختر إطار عمل. يتطلب أن تصبح مطور ويب جهدًا ووقتًا وصبرًا. لذلك حدد الجدول الزمني ولغات البرمجة الأساسية التي ترغب في تعلمها مثل Python و PHP و Ruby و JavaScript تعلم أساسيات قواعد البيانات. ستكون إضافة نظام قاعدة بيانات إلى محفظتك هي الخطوة المنطقية التالية. هناك العديد من أنظمة إدارة قواعد البيانات الارتباطية سهلة الاستخدام المتاحة والتي يمكنك تحديد أحدها. تتميز جميع مواقع الويب تقريبًا اليوم بنوع من التخزين ، لذا فإن التعرف على قواعد البيانات مفيد دائمًا. تعلم الإطار (الأطر) اعتمادًا على لغة البرمجة التي تختارها ، يمكنك تعلم أساسيات إطار عمل واحد على الأقل. سواء كان ذلك Django أو Ruby-on-Rails ؛ معظم أطر العمل تتبع نفس مبدأ MVC (Model-View-Controller). على الرغم من أن كتابة كود التطبيق بالكامل بلغة برمجة مسموح بها ، إلا أن الأمر يتطلب المزيد من الجهد والوقت والترميز المكثف. حيث إن استخدام الإطارات يتيح لك إنشاء قوالب وأكواد يمكن إعادة استخدامها لاحقًا. هذا يقلل من سطور التعليمات البرمجية المطلوب منك كتابتها. حتى تصبح أكثر كفاءة. هذا هو السبب في أن تعلم إطار عمل فكرة جيدة أيضًا. ابدأ تدريبك العملي. لن تفهم كيف تعمل الأشياء حقًا حتى تبدأ في فعل ذلك عمليًا. تحتاج إلى استخدام الأدوات والممارسات بانتظام لفهم المعرفة الأخلاقية التي تعلمتها حتى الآن بشكل أفضل. أفضل طريقة للقيام بذلك هي العمل في مشاريع صغيرة أو مهام. يمكنك البدء بتنفيذ مشاريع مثل قائمة مهام بسيطة ، أو مدونة بسيطة ، أو تطبيق ويب لمعرض الصور ، أو منشئ استئناف ، أو تطبيق أساسي لإدارة المشاريع ، وما إلى ذلك.
- 3 اجابة
-
- 1
-
ينبغي عليك تعلم إما php أو nodejs حالياً حيث أن كلاهما يقومان بنفس الغرض ألا وهو بناء تطبيقات backend لذلك ليس من الطبيعي تعلمهما معاً في وقت واحد فذلك تشتيت وإذا كنت تريد تعلم الإثنين يمكنك ذلك ولكن عن طريق إتقان واحد تلو الأخرى أما إذا كنت تريد تعلم تقنية واحدة منهما فينبغي عليك مراجعة المقارنات الموجودة بينهما في التعليقات السابقة وللعمل nodejs ليست لغة برمجة ك php إنما وبالأخير لكل تقنية قيمتها في المشروع الذي تعمل عليه
-
كما في التعليقات السابقة فإنه كلا الخيارين يقومان بنفس الوظيفة ولكن هناك بعض الإختلافات بين ال Input و ال Button وهي <button> يمكن أن يحتوي على عناصر HTML ولكن <input type="button" /> عنصر مغلق لا يمكن أن يحتوي على عناصر بداخله <button> يدعم ال pseudo-elements مثل :after و :before مما يتيح لك حرية التعديل علىيه وهذا لا ينطبق على ال input إفتراضياً ال <button> يملك الخيار type="submit" على عكس ال input ويعتبر ال button أكثر منطقية أو symantic عن ال input
- 3 اجابة
-
- 1
-
المشكلة التي قمت بها أثناء تعلمك البرمجة هي بالتأكيد أنك لم تطبق ما تعلمته والدليل على ذلك أنك تفهم ما يشرحه المدرب وذلك خطأ لأنك تحتاج للعمل وحدك ولا يكفيك المعرفة فقط والحل لهذه المشكلة التدريب دائماً على التطبيقات الموجودة في الشرح أو تطبيقات من إختيارك لذلك قم بإختيار موقع أو أكثر وقم ببناء هذه المواقع من الصفر ولكن إذا كان هذا الحل صعب عليك كما تقول فإنه ليس هناك مشكلة الحل أن تقوم ببناء المواقع التي قام المدرب ببنائها في الدورات التعليمية التي تعلمت منها ذلك يسهل عليك الأمر حيث أنك تعلم طريقة بناء الموقع واستخدام التقنيات مثل html css js لا تعتقد أنك الوحيد الذي يحدث معه هذا الأمر يحدث هذا الأمر في أي شئ نتعلمه سواء البرمجه أو غيرها لذلك قم بهذه الخطوه وجرب بناء الموقع أو التطبيق بمفردك و بعد ذلك سيصبح الأمر سهلاً
- 6 اجابة
-
- 1
-
لا يقصد تعلم إطار عمل أو لغة برمجة خاصة بال backend إنما القصد هنا أنه يجب عليك القدرة على التعامل مع ال API بحيث إذا كان الموقع المطلوب أو المشروع عبارة عن كود backend يختص بال API فقط أي ليس له علاقة بواجهة الموقع ويتم تكملة الموقع من خلال إطار عمل frontend يعالج البيانات القادمة من ال API التي يرسلها ال backend وهذا الجزء الذي يقصده بال يمكنك القراءة أكثر عن إطار العمل باستخدام JavaScript مثل react أو vue وهناك أكثر وقم بقراءة المزيد عن ال (single page application).
- 2 اجابة
-
- 1
-
إضافة للمواقع الموجودة في التعليقات السابقة يمكنك متابعة المواقع التالية أكاديمية حسوب قسم البرمجة المجتمعات البرمجية على حسوب I/O موقع medium موقع div css tricks لمتابعة أخبار ال css smashing magazine تهتم بجميع الأخبار الخاصة بالويب ويمكنك متابعة شخصيات مهمة في مجال الويب مثل Ahmed Shadeed والعديد من الشخصيات الأخرى المهتمة بمجال الويب عموماً
- 4 اجابة
-
- 1
-
هذا المثال يحتوي على العديد من ال methods باستخدام الكلاس from collections import deque class Queue: def __init__(self): self.items = deque() def enqueue(self, item): self.items.append(item) def dequeue(self): return self.items.popleft() def peek(self): return self.items[0] def is_empty(self): return len(self.items) == 0 def size(self): return len(self.items) def __str__(self): return str(self.items) #new addition if "__name__" = "__main__": q = Queue() print(q) print(q.is_empty()) q.enqueue("1") q.enqueue("2") q.enqueue("3") q.dequeue() q.enqueue("4") q.enqueue("5") q.enqueue("6") q.dequeue() print(q) print("size of the queue: ", q.size()) print("foremost item in the queue:", q.peek()) print(q)
-