📚موسوعة الحاسوب و البرمجة📚
11.7K subscribers
875 photos
275 videos
3.95K files
912 links
تحتوي على اي كتب او برامج او فيديوهات او دورات تتعلق بالحاسوب او البرمجة وصيانة الهواتف
قنواتنا
للتواصل @mosoaa_bot
قناتنا في اليوتيوب
https://youtube.com/@musuaamsg
Download Telegram
لغة برمجة معينة تتناسب مع محرك الألعاب من أجل تطوير لعبتك بشكلها النهائي، فما هي هذه اللغات ممكنة الاستخدام مع محرك الألعاب Unity؟ سنتعرف على ذلك في الأسطر القليلة القادمة.

في الحقيقة هناك مجموعة من لغات البرمجة المتاحة أمام مطوري الألعاب الذين يرغبون في اعتماد محرك الألعاب Unity، وهي كما يلي:


الخيار الأمثل: #C
برمجة العاب يونيتي
يمكن القول بأن الخيار الأمثل والأكثر قوة ومرونة للحصول على ألعاب مميزة باستخدام محرك الألعاب Unity هو لغة البرمجة الشهيرة #C، فأي شخص جديد على محرك الألعاب Unity سيجد بعد قليل من البحث أن أول خيار أمامه هو لغة البرمجة #C لما تتمتع به هذه اللغة من ميزات وخاصة أنها لغة غرضية التوجه (أي تعتمد مفهوم OOP في بنيتها الهيكلية).


وللغرض السابق، فإن محرك الألعاب Unity يستخدم محرراً مدعوماً من قبل لغات البرمجة الخاصة بشركة مايكروسوفت يسمى Mono، وباعتبار لغة #C هي اللغة الرئيسية المعتمدة من قبل مايكروسوفت وأن كل مكتبات محرك الألعاب Unity مبنية بالاعتماد على هذه اللغة، فهذا يجعل منها خياراً مثالياً جداً، وبالتالي لن يكون من المبالغة القول بأن لغة C# هي اللغة الأساسية لمحرك الألعاب Unity.


وتعتبر لغة البرمجة #C لغة قوية جداً وسهلة التعلم، ودعم Unity لها يعطي أي شخص يريد أن يتعلم لغة برمجة جديدة سبباً إضافياً لاختيارها.


الخيار البديل المتاح: JavaScript
برمجة العاب يونيتي
من اللغات الأخرى التي يدعمها محرك اللعاب Unity الجافا سكريبت وتعرف باسم UnityScript، فمنذ إطلاق محرك الألعاب Unity كانت الجافا سكريبت خياراً متاحاً للمطورين مع الخيار الأساسي المتمثل بلغة #C جنباً إلى جنب، وقد تم تضمين الأمثلة باللغتين السابقتين ضمن توثيق برنامج Unity.


إن كنت تملك خلفية جيدة في الجافا سكريبت، فإن ذلك سيعطيك أفضلية كبيرة لاستخدام Unity لتطوير الألعاب بالاعتماد على هذه اللغة المميزة، ولكن مع الأسف هناك مشكلة صغيرة هنا وهي أن UnityScript ليست تماماً مثل الجافا سكريبت، فهناك مجموعة من الاختلافات بينهما فهناك ما هو من ميزات الجافا سكريبت وغير مدعوم من قبل UnityScript والعكس أيضاً، وهذا الأمر يشكل عقبة صغيرة أمام المطورين.


إذاً وباختصار، فإن لغة البرمجة البديلة للغة #C والمدعومة من قبل Unity المسماة UnityScript لا تشبه تماماً الجافا سكريبت ولكنها قريبة منها جداً، وبالتالي الخيار لك إن كنت من مبرمجي جافا سكريبت فإما أن تعتمد على لغة البرمجة UnityScript لتطوير ألعابك مستنداً على خلفيتك في الجافا سكريبت أو أن تبدأ بتعلم لغة #C واعتمادها كلغة رئيسية لتطوير ألعابك، الخيار لك! 🤷‍♀️🤷‍♀️


وقد أعلنت Unity أنها ستوقف دعمها للغة UnityScript خلال السنوات القادمة، ورغم ذلك فما زال لديك الوقت الكافي لتعلمها والعمل بها لتطوير ألعابك ولكنها من حيث المنطق لن تكون الخيار الأمثل.


الخيار الثالث القديم: Boo
برمجة العاب يونيتي
في بداية إطلاق Unity كانت لغة البرمجة Boo خياراً مهماً، وإن علمت أن مطور هذه اللغة يعمل ضمن فريق العمل الخاص بتطوير محرك الألعاب Unity فإنك حتماً لن تستغرب ذلك.

تعتبر لغة Boo لغة برمجية متوافقة مثل لغات NET. ويمكن الكتابة بها ضمن المحرر Mono الذي يأتي مع محرك الألعاب Unity وقد كانت مدعومة بشكل كامل من هذا المحرك فما المشكلة إذاً؟!

يمكن القول بأن المشكلة الرئيسية هنا أن الكثير من الناس لا يستخدمون هذه اللغة البرمجية، هذا من جهة أولى، ومن جهة ثانية فقد تم النظر إلى هذه اللغة على أنها مجرد محاولة لتقليد لغة البرمجة بايثون، ومع مرور الزمن توقف دعم Unity لهذه اللغة وكل التحديثات القادمة التي ستأتي للغة UnityScript سوف تجعلها تحل محل لغة Boo، وربما يرى البعض أن لغة البرمجة Boo كانت تستحق أن تأخذ فرصتها وكان من المبكر أن يتم الابتعاد عنها لما تتميز به من مرونة، ولكن القرار قد اتخذ بعدم الاعتماد المستقبلي على هذه اللغة من قبل محرك الألعاب الشهير Unity.


الخيار الاستثنائي: IronPython
برمجة العاب يونيتي
إذا أردنا التحدث بصوت المنطق، فإن لغة البرمجة بايثون هي لغة غير مناسبة لتطوير الألعاب ولكنك إن كنت مطور بايثون فإن هذا الخيار متاح أمامك حيث تستطيع (وفقاً لمايكروسوفت) أن تشغل البايثون من قبل لغة البرمجة #C، ويمكن القول بأن لغة البرمجة IronPython ما تزال قيد التطوير، وهنا نلفت النظر بأن IronPython هي مختلفة قليلاً عن البايثون باعتبارها موجهة لمكتبات NET. من مايكروسوفت.


ولكي تستخدم لغة البرمجة IronPython يتوجب عليك تحميل مكتبات هذه اللغة من موقع GitHub وتضمينها ضمن مشروع #C الخاص بك، وبهذه الطريقة تستطيع التعامل مع لغة البرمجة بايثون بالاعتماد على سكريبت مكتوب بلغة البرمجة #C، وهنا لا بد من التنويه أنك تستطيع أيضاً استخدام مكتبات NET. ضمن البايثون، وبالتالي فإنك ستحصل على قوة لغة #C (اللغة المفضلة من قبل محرك الألعاب U
nity).


وهناك أيضاً لغة برمجية أخرى تسمى IronRuby تعتمد على مكتبات NET. للتعامل مع لغة البرمجة الشهيرة روبي ولكنها في حقيقة الأمر ليست خياراً عملياً (نفس الأمر بخصوص IronPython).


الخيار المثير للاهتمام: لغة Lua
برمجة العاب يونيتي
من أفضل الخيارات الخارجية المناسبة للغات البرمجة التي تتعامل مع محرك الألعاب Unity هي لغة البرمجة Lua أو التي تسمى MoonSharp ولم يتم تصميم مشروع هذه اللغة كبديل للغة البرمجة #C وإنما لتعمل كجسر معها. فهي تستطيع أن تقدم الكثير من الإضافات المميزة إلى اللعبة التي تقوم بتصميمها، حيث تستطيع استخدامها كوسيلة إضافية لتصميم مستويات ضمن اللعبة وبشكل مستقل تماماً عن الكود الرئيسي الخاص بلعبتك (والذي يمكن أن يكون مكتوباً بلغة البرمجة #C) أليس هذا رائعاً؟


وكخلاصة لما سبق يمكن القول بأنك إن كنت تبحث عن وسيلة لتدعيم الكود البرمجي الخاص باللعبة التي تقوم بتطويرها وإضافة بعض الميزات إليها يمكنك اعتبار MoonSharp خياراً مناسباً جداً، وخاصة أنه مجاني تماماً، ويمكنك بكل بساطة تحميله من متجر الإضافات الخاص بمحرك الألعاب Unity والذي يسمى Assets Store وتضمينه مباشرة ضمن مجلد المشروع الخاص بك.


اللغة الأفضل للإضافات: ++C
برمجة العاب يونيتي
على الرغم من المكتبات الكثيرة والقوية التي يمتلكها محرك الألعاب الشهير Unity والتي تقدمها لغة البرمجة #C فإنك وفي بعض الأحيان قد تحتاج إلى إضافة بعض الملحقات الخاصة بك والتي كنت قد كتبتها بكود برمجي آخر، ويعود السبب في رغبة الكثير من المطورين في إضافة ملحقات خاصة بهم إلى اللعبة التي يقومون بتطويرها إلى الحصول على ميزات إضافية كالسرعة أو الوصول إلى أكواد أخرى مكتوبة بلغة مختلفة، ويستطيع المطور ببساطة بناء هذه الأكواد على شكل ملفات DLL مما يوفر عليه إعادة كتابة نفس الكود البرمجي بلغة برمجية أخرى.


هذا وتعتبر لغة البرمجة ++C من أفضل الخيارات لإنشاء الإضافات (Plug-ins) وكذلك لغة البرمجة الأم C تعتبر خياراً جيداً أيضاً، ولكن كل ما سبق مشروط بعملية بناء هذه الإضافات على شكل ملفات DLL لكي تتمكن من تضمينها بسهولة ضمن مجلد المشروع الخاص بلعبتك، وذلك عبر الإشارة إليها بدلاً عن الملحقات الرئيسية الموجودة في مجلدات محرك الألعاب Unity، ومع ذلك فإن كنت مبرمجاً بلغة ++C أو حتى بلغة C، فإن الانتقال إلى لغة البرمجة #C سيكون مهمة سهلة جداً لك.



لغة برمجة جديدة للإضافات: Rust
برمجة العاب يونيتي
تعتبر لغة البرمجة Rust من اللغات التي أثير حولها الكثير من الضجة، ويعود السبب الذي يجعل المبرمجين المتمرسين يحبون هذه اللغة إلى مقدار التحكم الكبير الذي تقدمه هذه اللغة، ليس هذا فحسب فهي أيضاً تمكنهم من تجاوز بعض العيوب الأمنية الموجودة في لغات برمجية أخرى أقل أماناً مثل ++C.


تم إنشاء هذه اللغة البرمجية من قبل شركة Mozilla عام 2009 أي تعتبر لغة حديثة العهد، وكان الهدف الرئيسي من إطلاقها هو تمكين المطورين من تطوير برمجيات عالية المستوى بسهولة وسرعة كبيرة.


في الحقيقة، فإنك لا تستطيع الكتابة بلغة البرمجة Rust بشكل مباشر ضمن محرك الألعاب Unity ولكنك تستطيع الوصول إلى الطرائق والتوابع الرئيسية الموجودة في لغة البرمجة Rust من خلال الكود البرمجي الخاص بك بسهولة وبالتالي يمكنك إنشاء العديد من الإضافات (Plug-ins) بلغة البرمجة Rust من خلال الاستفادة من القدرة العالية للغة Rust في التفاعل مع اللغات البرمجية الأخرى. وبالتالي يمكنك استدعاء التوابع والطرق الموجودة في لغة البرمجة Rust بشكل مباشر من خلال لغة البرمجة #C عبر الأداة DllImport التي يقدمها محرك الألعاب Unity، ولتحقيق ذلك يتوجب عليك اتباع بعض الخطوات فقط وكل ما سبق يجعل من لغة البرمجة Rust خياراً لا بأس به في تدعيم لعبتك التي تعمل على تطويرها.



بعد أن تعرفنا على مجموعة الخيارات المتاحة أمامك من لغات البرمجة الممكنة الاستخدام ضمن محرك الألعاب Unity، يمكننا القول بأن تطوير اللعبة يعتبر عملاً متكاملاً ويحتاج إلى فريق، وتعتبر لغة البرمجة جزءاً رئيسياً من عملية تطوير أي لعبة وعلى الرغم من أنه يتوجب إضافة التصاميم والشخصيات والحركات وغيرها العديد من المكونات ليتم إنتاج اللعبة بشكل متكامل ولكنه يبقى للغة البرمجة الدور المحوري ضمن عملية تطوير أي لعبة.


في خلاصة المقال، يمكننا القول بأن لغة البرمجة #C هي أفضل خيار متاح لك استخدامه مع محرك الألعاب الشهير Unity وخاصةً كونها اللغة الرئيسية له من جهة، ومن جهة ثانية فإن هذه اللغة تتطور باستمرار وتقدم ميزات رائعة جداً وتتمتع بالقوة والمرونة وسهولة التعلم ما يجعلها أيضاً خياراً ممتازاً لاعتمادها كلغة برمجية خاصة بك سواء لتطوير الألعاب أو حتى لبرمجة التطبيقات، هذا ليس رأياً خاصاً بنا، وإنما بمثابة تصريح مباشر من قبل مطوري محرك الألعاب Unity، والقرار لك أنت في نهاية المطاف عزيزي القارئ!
#مكتبات_بايثون
💻🌐مكتبات مهمة في لغة البرمجة بايثون لا يمكنك الاستغناء عنها

مكتبات بايثون1
عالم البرمجة بحر واسع ويحتوي العديد من اللغات التي يمكنك كمبرمج تعلمها والعمل بها. ومن أشهر هذه اللغات لغة بايثون التي تعتبر من أكثر اللغات الموجودة على الساحة حالياً من حيث الانتشار في سوق العمل.
وما يميز بايثون إضافةً إلى الكود السهل والمبسط الذي يمكنك كتابته (طريقة كتابة الكود أو ما يسمى Syntax) وجود مجموعة كبيرة من المكتبات التي يمكنك تضمينها والاستفادة منها ليصبح تطبيقك البرمجي أكثر فعالية وقدرة على تأدية مجموعة من المهام الإضافية التي تقدمها تلك المكتبات.

وفي مقالنا هذا سنتعرف على أشهر المكتبات التي ربما لم تستخدمها في الكود البرمجي الخاص بك، ولكنك بعد أن تتعرف عليها ستكتشف أنه لا بد لك من استخدامها. متحمسون لذلك؟ إذا كان الجواب نعم فاربطوا الأحزمة لننطلق!
مكتبات بايثون
في البداية لا بد لنا من أن نتعرف على معنى المكتبة البرمجية وما هي:
🔰ما هي المكتبة البرمجية؟
نقصد بالمكتبة البرمجية بشكل عام مجموعة من ملفات الأكواد البرمجية والملفات المساعدة التي يمكنك تضمينها ضمن الكود البرمجي الخاص بك والتي قام مجموعة من المطورين بكتابتها ونشرها لتصبح متاحة للجميع والهدف من المكتبات البرمجية تسهيل تنفيذ أمور معينة ضمن أي تطبيق بالدرجة الأولى إضافة إلى إعطاء التطبيق إمكانيات إضافية لا يمكن أن يقوم بها إلا بعد الاستعانة بتلك المكتبات.
🛡المكتبات التي لا بد لك من استخدامها في بايثون

📍مكتبة Requests
إذا كنت ترغب بإنشاء اتصال عبر بروتوكول HTTP، فإن هذه المكتبة هي خيارك المناسب للقيام بذلك وبشكل أتوماتيكي دون الحاجة إلى الجهد اليدوي في ذلك وبالتالي يتم استخدام هذه المكتبة عند طلب صفحة HTML، فهي تقوم بمعرفة كل ما يقوم به المتصفح في الخلفية وبالتالي تعطيك المعلومات والتوثيق الكامل للاتصال والقوة الكاملة للتعامل مع أي استعلام يعتمد على برتوكول HTTP. فهي قوية وسهلة الاستخدام وكل ذلك عن طريق urllib3 (المكتبة الأم للمكتبة request).
📍المكتبة Pluggy
تعتبر من المكتبات الجديدة نسبياً في لغة بايثون وتعطيك المرونة اللازمة للتعامل مع الملحقات (الإضافات) من إضافة وتعديل وإدارة، حيث تمكّنك من التعامل مع أكثر من 500 إضافة (أو ما يسمى Plugin) وبالتالي فهي تعطيك قوة كبيرة جداً لتطبيقك البرمجي بحيث تمكّنك من التعامل مع البرنامج المضيف وكأنه جزء من الكود البرمجي الخاص بك.
📍مكتبة Scappy
تعتبر Scappy أداة قوية ومهمة لمعالجة بيانات الحزم المرسلة، حيث تمكّنك من التقاط تلك الحزم وبالتالي تحليلها والتعرف على محتواها، وهي قادرة على القيام بالعديد من المهام المتعلقة باكتشاف الشبكة وعمليات التتبع وإرسال الإطارات الخاطئة والحقن لغايات الاختراق والأمان، وكذلك الدمج بين مجموعة من التقنيات (مثل VLAN مع ARP وغيرها) و لعل أكثر من يهتم بهذه المكتبة هم مستخدمو نظام التشغيل لينوكس.
📍مكتبة Beautiful Soup
تستخدم هذه المكتبة بشكل رئيسي لاستخراج المعلومات من صفحة HTML كما تفيد في تحويل البيانات غير المنسقة (غير المهيكلة) إلى بيانات منسقة بترميز UTF-8 (وهو الترميز القياسي العالمي للمحارف)، ليس هذا فحسب بل إنها أيضاً تعطيك القوة والإمكانية للتحويل بين أنواع مختلفة من ملفات البيانات (مثل ملفات XML) فهي قادرة على التعامل مع أنواع مهمة جداً من البيانات وخاصة XML (وكذلك ملفات HTML) بسهولة وبالتالي فهي توفر على المبرمج الكثير من الوقت والجهد.
📍مكتبات بايثون
مكتبة SQLAlchemy
تعطي هذه المكتبة مبرمجي بايثون القوة والمرونة الكاملة للتعامل مع لغة الاستعلامات المهيكلة SQL، وتمكنك هذه المكتبة من إجراء العمليات الرئيسية في التعامل مع قواعد البيانات من نوع SQL من عمليات الوصول والتعديل وغيرها فهي تنظر إلى قاعدة البيانات ليس فقط كمجموعة من الجداول بل أيضاً كمجموعة من العلاقات التي يمكنك عبرها تجميع البيانات والحصول عليها من الجداول.
📍مكتبة Matplotlib
إذا كنت كمبرمج بايثون بحاجة إلى الطباعة ثنائية البعد أي تريد رسم مخططات معينة سواء أكانت مخططات رياضية أو مخططات إحصائية (كمخططات barchart ومخططات Pies)، فأنت بحاجة إلى هذه المكتبة الرائعة لتضمنها ضمن الكود البرمجي الخاص بك، ليس هذا فحسب بل إنها تقدم لك أيضاً القدرة على إظهار مخططات صورية وخطية وكذلك مخططات ملونة ومجموعة كبيرة من المخططات الأخرى.
📍مكتبة pygame
من منا لا يحب أن يبرمج لعبة أو خطر بباله ذلك يوماً ما؟ أعتقد أن الأغلبية تحلم بذلك، فإن كنت مبرمج بايثون يمكنك ببساطة تصميم الألعاب ثنائية البعد بالاعتماد على هذه المكتبة الرائعة، والتي تعتبر من المكتبات الشهيرة والقوية في تطوير الألعاب ثنائية البعد في بيئة البايثون. وهي مفتوحة المصدر ومجانية أيضاً وما تقدمه لك هذه المكتبة ليس فقط تطوير الألعاب بل تساعدك في أي تطبيق وسائط متعددة
تريد تطويره باستخدام بايثون. أليس ذلك رائعاً؟

📍مكتبة pyGtk
إن كنت تبحث عن تصميم تطبيقات بواجهات المستخدم الرسومية (GUI) ونقصد بواجهات المستخدم الرسومية الإطارات والأزرار والحقول وغيرها من العناصر المرئية، فإن هذه المكتبة أحد الخيارات المهمة المتاحة أمامك والتي تقدم لك الإمكانيات الكاملة لبناء تطبيقات الواجهات الرسومية، ومن أشهر البرامج التي تم بناؤها بالاعتماد عليها تطبيق BitTorrent الشهير فلا تتردد بالحصول عليها واستخدامها في تطبيقاتك.



#وبعد أن عرضنا لكم مجموعة من المكتبات المميزة التي يمكنك الاستعانة بها في تطبيقاتك المكتوبة بلغة البرمجة الشهيرة بايثون، نستطيع القول بأن هذه عينة فقط من مجموعة كبيرة جداً من المكتبات المتاحة لكل مبرمجي بايثون الأمر الذي يمكن اعتباره نقطة القوة المهمة جداً في لغة بايثون والتي تميزها عن غيرها من باقي لغات البرمجة المنافسة لها وتجعلها تتفوق عليها، فهل أنت مستعد لتجربة المكتبات السابقة؟ أم أنك قمت بتجربة بعضها؟
📚مكتبة الحاسوب والبرمجة📚
تحتوي على اي كتب او برامج او فيديوهات تتعلق بالحاسوب او البرمجة وصيانة الهواتف
لطلب الكتب
من هنا @atlubkitabak
انشروا الرابط
قنواتنا
مكتبة المليار كتاب @bookshop_pdf
مكتبة المليون كتاب اسلامي @book_islamih
https://t.me/programming_computer
#مقالات_برمجية📙📙
💻💻توقف عن كونك مبرمجًا عاديًا، مهارات برمجية ضرورية يتجاهلها معظم المبرمجون

هناك أسطورة تقول أن المبرمج المتمرس ينجز ما يقارب عشرة أضعاف ما ينجزه المبرمجون الآخرون. أسطورة مثيرة للجدل وتحتمل وجهات نظر. سواء اخترت تصديق الفكرة أم لا، فهناك مجموعة مهارات برمجية ضرورية يتشاركها جميع المبرمجين غير الاعتيادين، ما يميزهم عن أي مبرمج آخر.

لتكون مبرمج محترف، يحتاج الأمر إلى أكثر من كتابة الرموز. من العمل مع فريق على حل المشكلات إلى التحكم في الإصدارات إلى تطوير البرامج فإنك لن تصل إلى الاحترافية بدون مجموعة من الأدوات والمهارات الأساسية الأخرى.

تصوّر بعض المصادر الإعلامية البرمجة على أنها مهنة غير اجتماعية، بل هي في الحقيقة تنطوي على الكثير من مهارات التواصل والعمل مع الفريق. إذا كنت تعمل لصالح شركة فستكون جزءًا من فريق التطوير ويتوقع منك التواصل والعمل مع الآخرين بشكل جيد. لذلك يجب عليك أن تطور مهارات التواصل لتتعلم القيام بذلك بالطريقة الصحيحة.

ارفع مهاراتك في حل المشكلات
يقول العديد من المطورين أن فهم لغة البرمجة ليس سوى جزء ثانوي من الترميز، إذ يعد حل المشكلات مهارة مهمة أخرى يفتقر إليها مطورو البرامج المبتدئين وهو ليس بالأمر السهل.

لتصقل هذه المهارة عليك أن تبدأ بمشاريع صغيرة مثل تطوير بعض التطبيقات البسيطة. عندها اقضِ وقتًا إضافيًا على معرفة ما وراء كتابة هذه الرموز وافهم المراد منها، فعند معرفة وظيفة كل رمز وحل كل مشكلة عندها ابدأ بتطوير برامج حقيقية وركز أيضًا على تطوير أنظمة لحل المشكلات التي ستواجهها.

طوّر مواهبك بهدف تعلم المزيد
التكنولوجيا تتطور دائمًا ومعها يجب أن تتطور معارفك كمطور، لذلك من المهم مواكبة لغات البرمجة والبرامج والأجهزة الجديدة. هناك الكثير من الأشياء التي يمكنك القيام بها لتتعلم مهارات جديدة بسرعة، فعلى سبيل المثال ركز على فهم قراءة الرموز البرمجية حتى تتمكن من فهم التقنيات الجديدة ومعرفة الموارد المستخدمة. كما ويجب تدوين الملاحظات لتبقى منظمًا لإيجاد المعلومات وقت الحاجة إليها.

حافظ على قدر كبير من الإصرار
يمر المبرمجون المخضرمون بتجارب تجعلهم يشعرون وكأنهم مبتدئين في اكتشافهم للتقنيات الجديدة ويتعلمونها بأنفسهم في وقت قياسي. كل خبير في مجاله مبتدئ في مجال آخر وهناك الكثير من التقنيات لذلك يمكن أن تكون خبير بتقنية منها ومستجد بتقنية أخرى.
🔰اعرف أن القرارات الصغيرة مهمة جدًا
عند كتابة برنامج ما، ستشعر وكأن هنالك مليار قرار عليك اتخاذه، حتى عند إضافة ميزة صغيرة فقط كتسمية المتغيرات والوظائف وغيرها من الأشياء الصغيرة التي لها أثر كبير. حيث يطور المبرمجون المحترفون أنماطًا لتساعدهم على تسمية المتغيرات وذلك يوّفر عليهم وقت التفكير بالمسمّيات لأنهم غالبًا ما يسمون الأشياء بنفس الطريقة.
استخدم الأداة الصحيحة لأداء عملك
يوجد العديد من المكتبات والأدوات مفتوحة المصدر ويعرف المبرمجون ما يستخدمون لكل مشكلة يواجهونها وهم على استعداد لتعلم أي شيء جديد يسمح لهم بأن يكونوا أكثر إنتاجية. ويتم ذلك باختيارهم أداتين أو ثلاث ثم تطبيق أفضل أداة على الفور لفهم كيفية عملها على بيئتهم البرمجية.
كن مستخدمًا قويًا لأدوات التطوير الخاصة بك
إذا كنت تقضي معظم وقتك في كتابة التعليمات البرمجية في بيئة معينة، يجب أن تعرف بالضبط كيفية التحكم بها مهما كانت أدواتك الخاصة. هناك العديد من الأدوات مثل: Sublime أو Text أو Atom.io أو Emacs أو Vim أو Visual Studio. رغم ذلك، يبدأ المبرمجون المحترفون بإتقان الأدوات السهلة مثل Sublime و Atom ثم يتعلمون ويتقنون الأدوات الأكثر صعوبة.
اعرف كيفية استخدام Vim ولو قليلًا
Vim محرر من أهم محررات الأكواد التي تستخدم من نافذة التيرمينال الطرفية الخاصة بنظام لينكس وماك حيث يتم تنصيبه تلقائيًا مع النظام، كما يمكن استخدامه أيضًا في لوحة الأوامر الخاصة بويندوز بعد تنصيبه على نظام ويندوز. يجب أن تكون قادرًا على حماية برنامجك على الأقل باستخدام محرر محترف كهذا، حيث أن العديد من المبرمجين الخبراء لديهم رموزهم الخاصة التي يتميزون بها في عملهم
👌تقبل النقد الكبير بصدر رحب
يمكن أن يطلب من المطورين الذين يقومون بكتابة رموز كثيرة يوميًا أن يفككوا رموزهم البرمجية استنادًا على تعليقات من مطورين آخرين. لذلك تحتاج إلى تطوير القدرة على الرد بعقلانية ومنطقية عندما تتعرض لتلك المواقف، ولا مانع من تحديث الشيفرة وتحسينها إذا تطلب الأمر ذلك. بينما تعد طريقة مراجعة الأكواد المتكررة من قبل أحد المخضرمين هي أفضل طرق التطوير وأكثرها احترافية.

يجب أن تدرك أن القسم الصعب في العمل الحر ليس في كتابة الرموز وإنما في كل شيء آخر ما يجعل المطورين ذوي دخل مرتفع جدًا ليس صعوبة كتابة الرموز البرمجية وحسب بل إدارة هذه الأعمال
حيث أنه كأي مشروع فهو يحتاج إلى المبيعات والتسويق ودعم العملاء وضمان الجودة وإدارة المنتجات ليكتمل المشروع ويتكلل بالنجاح وكل ذلك يستغرق الكثير من الوقت.



👍ابدأ إذًا بالتغلب على مخاوفك من خلال ارتكاب الأخطاء
الأخطاء هي أفضل فرصة للتعلم لذلك لا تتعامل مع أخطائك على أنها فشل. بدلًا من ذلك تعلم منها واعرف أنها أمر بالغ الأهمية لك كمبرمج محترف.


@vbs_net
الأدوات اللازمة للبدء في تعلم البرمجة


تحتاج إلى حاسوبٍ بمواصفات جيدة (ليس من الضروري أن يكون من أفضل الحواسيب، وإنما أن يمتلك مقدارًا جيدًا من الذاكرة العشوائية). لا ننصح بمواصفات معينة أو نظام تشغيل معين، استعمل ما يحلو لك وما ترى نفسك معتادًا عليه (سواءً كان ويندوز أو لينكس أو ماك).
ستحتاج أيضًا إلى اتصالٍ جيد بالإنترنت للوصول إلى المواد التعليمية، ولتنزيل البرمجيات والمكتبات اللازمة للتطوير.
أما بخصوص أدوات التطوير، فستحتاج إلى برمجية لكتابة الشيفرات، وهنالك نوعان رئيسيان لها:


• المحررات النصية: مثل Visual Studio Code أو Atom أو Sublime Text أو Bracktes أو Notepad++‎. وهذه المحررات النصية تكون بسيطة في أغلبها، وتوفر ميزات أساسية مثل تلوين الشيفرات، وبعض ميزات الإكمال التلقائي، وتدعم أغلبيتها إضافات لزيادة وظائفها. وظيفة هذه المحررات النصية عمومًا هي تعديل الشيفرات بسهولة وسرعة. ننصحك بتجربة Visual Studio Code لشهرته حاليًا وكثرة إضافاته ودعمه الممتاز من شركة Microsoft.


• بيئات التطوير المدمجة: مثل Visual Studio و Eclipse و Android Studio و NetBeans و Apple Xcode وغيرها. وهذه البيئات توفر ميزات أكثر بكثير من المحررات النصية، مثل تشغيل الشيفرات وتنقيحها (debugging) وميزات التحكم بالإصدارات والاتصال بقواعد البيانات وخلاف ذلك.

@algorithms_arab
#نصائح_برمجية
نصائح لتعلم البرمجة


مشوار تعلم البرمجة طويل وشائق، وجميل ومسلٍ، لكنك قد تصاب بالإحباط في بداية طريقك لكثرة الأمور التي عليك الإلمام بها، لذا جهزت إليك النصائح الآتية من تجربتي في البرمجة:

• حدد هدفك من تعلم لغة البرمجة وسوق العمل الذي تريد دخوله واجعله واقعيًا. بدون هدف، أبشرك بأنك ستتخلى عن فكرة تعلم البرمجة بعد حين. انتبه إلى أن يكون هدفك واقعيًا وقابلًا للقياس والتجزيء على مراحل. بدون ذلك، ستفشل من أول عقبة وتترك تعلم البرمجة.

• أعرف نفسك جيدًا ونقاط قوتك وضعفك. كلنا لديه نقاط قوة وضعف، ولكن المفلح من عمل على ترميم وتحسين نقاط ضعفه في المجال الذي يرغب بتعلمه.

• رشح دورة واحدة وكتابًا واحدًا وابدأ بقراءة الكتاب ومتابعة الدورة تدريجيًّا ثم انتقل بعد الانتهاء إلى دورة أخرى وكتاب آخر، إذ سيجنبك ذلك التشتت بين الدورات الكثيرة والكتب العديدة. الشيء الذي أفعله قبل بداية تعلم شيء جديد هو ترشيح قائمة من عدة كتب ودورات ثم ترتيب هذه الكتب والدورات بحسب جودتها ومدى بساطتها وتعقيدها. أرقم الكتب والدورات وأبدأ بالخيار الأول منها. أحدد الوقت التقريبي الذي يأخذه كل خيار لدراسته وأجدول الخيارات البقية على رزنامتي الخاصة.

• لا تأخذ العلم إلا ممن تثق بعلمه، فالكثير من المبتدئين يحاولون مساعدة غيرهم وقد يضعون معلومات مغلوطة دون قصد.

• طبق ما تعلمته مباشرة، وأنشئ أي شيء من كل أمر جديد تتعلمه حتى لو كان رسمة بسيطة أو شيفرة من عدة أسطر فقط. فرحة إنجاز شيء مما تعلمته تدفعك لتعلم المزيد والاستمرار في طلب العلم.

• نظم وقتك بورقة وقلم، حدد بداية كل أسبوع خطةً لسائره والتزم بتنفيذها. أخبر أصدقائك أن لديك إلتزام وأمور مهمة عليك إنجازها. خصص وقتًا للاستراحة بالطبع ولا تنسَ نصيبك منها. في نهاية كل أسبوع، وازن مدى الإنجاز الذي حققته ومدى تطبيق الخطة التي وضعها وحاول أن تصل النسبة إلى 100%. أنصحك بقراءة ومتابعة استراتيجيات تنظيم الوقت ورفع الإنتاجية.

• تمرس على حل المشكلات وتحدى نفسك باستمرار وتابع المسابقات البرمجية واشترك بها إن استطعت، أنصحك بقراءة مقالة حل المشكلات وفائدتها في احتراف البرمجة بعد هذه المقالة.

• لا تنسَ أن تكافئ نفسك في كل مرة تنهي فيها كتابًا أو تكمل العمل على مشروع.

• لا تنسَ حظك من الاستراحة، لأن طريق البرمجة قد يكون له بداية ولكن النهاية بعيدة ومتعبة -مثله مثل أي مجال آخر-.
.
https://t.me/algorithms_arab
(@JAFOR_YE) WhatsApp Messenger 2.20.171.apk
28.4 MB
🏷 واتساب الرسمي.
📮 الإصدار: 2.20.171
📆 محدث: 24 مايو 2020
📟 الحجم: 28.4 ميجابايت
🆕 الجديد في هذا التحديث :
يدعم رموز QR لملفات تعريف المستخدمين ؛ هذا التحديث هو في الواقع تحديث من جانب الخادم ، ولكن ستحتاج إلى تثبيت أحدث إصدار من واتساب لاستخدامه.
للعثور على رمز QR WhatsApp الخاص بك ، تحتاج إلى الانتقال إلى قسم الإعدادات في المراسلة والنقر على أيقونة رمز QR بالقرب من معلومات ملفك الشخصي.
🛒 التطبيق في متجر جوجل بلاي.
🔍 حساب القناة على مواقع التواصل :
@JAFOR_YE
Mastering jQuery UI.pdf
7.3 MB
كتاب بعنوان:

Mastering jQuery UI - 2015

كتاب رائع لتعلم #JQuery باحترافية.

#JQuery #English
#كتب_برمجية📚
Beginning_Django.pdf
10.6 MB
كتاب بعنوان:

Beginning Django

كتاب جميل لفهم #Django وكيفية
عمله والتقدم في مجال الويب.

#Django #Python #English

#كتب_برمجية📚
مقارنة بسيطة ما بين نظامي التشغيل #Windows10 و #Ubuntu
#مقارنة
ASP.NET_Core_in_Action.pdf
41.6 MB
كتاب بعنوان:

Asp.Net Core In Action

كتاب جميل لمن يرغب في فهم مكونات تقنية #Core وبناء مواقع ويب متقدمة.

#Asp_Net #Core #English
#كتب_برمجية📚
#مقالات_برمجية📙📙
🌐💻واجهة برمجة التطبيقات Application Programming Interface: ما هي؟ ولم قد أحتاجها؟
لا بد أنك سمعت الكثير حول مصطلح واجهة برمجة التطبيقات API ضمن مجتمع المبرمجين، حيث أنه يشير إلى مفهوم تقني بالغ الأهمية ومستخدم بكثرة في كل مكان تقريبًا على شبكة الإنترنت، لذا سنذهب معًا في رحلة برمجية نبين فيها ما هو الـ API ولماذا يستخدمه المبرمجون؟
واجهة برمجة التطبيقات API
API هو اختصار لـ Application Programming Interface وتعني واجهة برمجة التطبيقات وهي تقنية تتيح للتطبيقات التواصل مع بعضها البعض برمجيًا.
بشكل عام يقصد أغلب المبرمجون بقول API واجهات برمجة التطبيقات التي تسهل نقل البيانات والتي تقدم للمبرمج معلومات على هيئة XML أو JSON ليستخدمها ضمن البرامج والمواقع الخاصة به. فمثلًا تطبيق الطقس يستخدم API تزوده بالمعلومات الخاصة بالطقس في كل مدن العالم ومهمة البرنامج فقط عرض هذه المعلومات، ولكن مفهوم الـ API أوسع من ذلك بكثير.

أهمية API
يسهل مفهوم واجهة برمجة التطبيقات حياة المبرمجين كافة، حيث يحتاج المبرمج إلى إضافة بعض الخصائص والميزات ضمن التطبيقات المختلفة والتي تتواجد على شكل API، التي لن يكون من السهل بنائها في كل مرة من الصفر.

لنقل مثلًا أن المبرمج يود إضافة تشغيل الكاميرا إلى التطبيق، فإن المنصة التي يطور تطبيقه لها سواء أندرويد أو ويندوز أو أي منصة أخرى توفر له API خاصة بالكاميرا يمكنه إضافتها ببضع أسطر أو حتى سطر واحد وتعمل الكاميرا بشكل جيد.

هذا النوع من الـ API توفره الشركات المسؤولة عن أنظمة التشغيل للمبرمجين، ليتمكنوا من تشغيل الميزات المختلفة في النظام بأفضل شكل ممكن وبطريقة مكتوبة مسبقًا من قبل مبرمجين محترفين في الشركة، وتكون الـ API عبارة عن صلة وصل بين التطبيق الجديد والميزة المسؤولة عنها، سواء كانت الكاميرا أو الموقع Location أو متصفح الإنترنت أو البطارية أو أي ميزة أخرى.
وفي حال كانت واجهة برمجة التطبيقات مسؤولة عن تقديم معلومات JSON أو XML يكون المفهوم مختلف قليلًا، حيث يمكن لأي موقع أو مصدر معلومات أن يقدم API للمطورين لتقديم هذه المعلومات بطريقة منظمة، وتكون الـ API هنا عبارة عن رابط محدد مهمته التواصل مع قاعدة البيانات بطريقة منظمة وتقديم البيانات المختلفة إلى المطور ليقوم المطور بعد ذلك بعرضها ضمن التطبيق أو الموقع بأي شكل يريده.
🔰واجهة برمجة التطبيقات
من أشهر الأمثلة على هذا النوع هي الـ API المسؤولة عن أسعار العملات والطقس والأخبار وغيرها.

كيف تعمل واجهة برمجة التطبيقات
تتكون أي API من قسمين رئيسيين، الأول هو الوصف الذي يشرح طريقة عرض البيانات وتبادلها، والقسم الثاني هو البرنامج الذي يبنى بطريقة تناسب الوصف الذي قدمه القسم الأول ليستقبل البيانات ويعرضها على شكل معلومات مفيدة للمستخدمين.

يقوم الموقع أو البرمجية الخاصة بتقديم البيانات بنشرها بشكل واضح ومحدد، بينما يقوم البرنامج أو الموقع المسؤول عن عرض هذه البيانات بقراءة ما تم نشره وتنظيم عرضه.


🛡أنواع واجهة برمجة التطبيقات
يوجد ثلاثة أنواع أساسية من الـ API بحسب أسلوب برمجتها والتعامل معها وهي:

API الميزات البرمجية: وهو النوع الذي تكون فيه الـ API مسؤولة عن تسهيل البرمجة وتمكين المبرمج من استخدام ميزات كثيرة وتضمينها في برنامجه دون الحاجة إلى برمجتها من الصفر، مثل إضافة عناصر التعامل مع قواعد البيانات دون كتابتها بالتفصيل.
API المعلومات: وغالبًا ما تكون عنوان أو رابط بسيط URL يقدمه موقع أو جهة معينة تملك بيانات وتقوم بتنظيمها بشكل متعارف عليه مثل XML أو JSON، ويتيح الرابط للمبرمجين الحصول على هذه البيانات بشكل مجاني أو مأجور وعرضها في التطبيقات والمواقع الإلكترونية مثل مواقع الطقس والكتب والأخبار والأفلام والعملات.
API البرامج عن بعد: وهي نوع من الـ API يمكن من خلاله تشغيل برامج موجودة في مكان بعيد عن طريق الاستدعاء المتاح لهذه البرامج ليتم استخدامها كما لو أنها موجودة محليًا بالفعل، ومن الأمثلة عليها المواقع التي يستخدمها الكثيرون عبر الشبكة بدلًا من تنصيب برامج الأوفيس.


لماذا تستخدم الـ API؟
تتيح فكرة واجهة برمجة التطبيقات وخاصة فيما يتعلق بتقديم البيانات من الجهات المختلفة الكثير من المرونة لإنشاء تطبيقات غير محدودة ومفيدة، هذا إلى جانب أن الـ API تقوم بالكثير من العمل بالنيابة عن المبرمج وتقدم له البيانات والميزات المختلفة بشكل ممتاز ومبرمج مسبقًا.


يمكن برمجة الـ API لتقوم بتحديث البيانات تلقائيًا دون الحاجة إلى تعديلها بشكل يدوي، بل تقوم الـ API بعملية القراءة والتنظيم والتحليل وتكون نتيجتها معلومات مفيدة يمكن استخدامها بشكل غير محدود.

في الوقت الحالي لا يمكن لأي مبرمج الاستغناء عن مفهوم الـ API وكلما ازداد حجم البيانات وحجم البرنامج أو الموقع الذي يتم بناؤه كلما ازدادت أهمية استخدام عدة أنواع من الـ API لتضمين ميزات
برمجية بدلًا من كتابتها من الصفر، والذي قد يكون مستحيلًا في بعض الأحيان، إضافة لاستيراد معلومات مفيدة ومحدثة لعرضها للمستخدمين وهو أمر لا يمكن إلا للجهات المسؤولة عن جمع هذه البيانات بالقيام به.



أمثلة شهيرة عن استخدام واجهة برمجة التطبيقات

دعونا نتعرف على بعض أشهر الـ APIs الموجودة والتي تقدمها الشركات للمبرمجين:

خرائط غوغل: تقوم شركة غوغل بتقديم خدمة الخرائط والتي يمكن استخدامها بشكل منفصل للتعرف على كل مواقع العالم وأفضل الطرق بين أي موقعين والمسافات الفاصلة بين أي نقطتين، إضافة إلى معرفة موقع مكان معين عند البحث عنه.
لكن الأمر لا يتوقف هنا فشركة غوغل تقدم API خاصة بخدمة الخرائط مهمتها إتاحة هذه الخرائط للمبرمجين ليقوم المبرمجون بتضمينها ضمن التطبيقات والمواقع الخاصة بهم، وعن طريق ذلك أصبحت خرائط غوغل هي المعيار الأساسي العالمي المسؤول عن الخرائط ونجدها في كل مكان.

IBM واتسون: وهي خدمة API تقدم فيها شركة IBM الشهيرة ثمار جهدها وتعبها في مجال الذكاء الاصطناعي بشكل عام بما فيه من ميزات مختلفة ومعالجة اللغات الطبيعية بشكل خاص. تتيح هذه الخدمة إمكانية استخدام أنظمة ذكية ضمن التطبيقات والمواقع للتعرف على الوجوه والكائنات في الصور وقراءة النصوص وبالتالي فهي تقدم للمبرمج الميزات الذكية دون الحاجة إلى العمل
لسنوات لتطوير مثل تلك الميزات.


موقع Twitter: يتيح موقع تويتر الشهير API خاصة به يمكن استخدامها على نطاق واسع وبشكل فعال. تتيح للمستخدمين إمكانية تسجيل الدخول عن طريق حساباتهم على تويتر أو مشاركة التطبيق أو الموقع الخاص بالمبرمج إلى أصدقائهم في موقع توتير، مما يسهل عليهم استخدام المواقع دون الحاجة لإنشاء حسابات منفصلة لكل موقع، إلى جانب إمكانية عرض أحدث التغريدات ضمن مواقع أخرى غير تويتر.


موقع Facebook: لا يمكن إهمال موقع فيسبوك بوجود أكثر من مليار مستخدم نشط ضمنه، حيث يوفر واجهة برمجة التطبيقات الشهيرة التي تمكن المستخدمين من تسجيل الدخول إلى المواقع المختلفة عن طريقها، إلى جانب عدة ميزات تشمل تحليل البيانات وإنشاء تطبيقات صوتية وغيرها.


موقع Slack: من أشهر المواقع التي توفر API للشركات ليقوم الموظفون بالتواصل مع بعضهم البعض، وذلك ضمن بيئة مهنية متكاملة تسمح بتبادل الصور والملفات والروابط وإنشاء الأقسام المختلفة.


لا يسعنا ذكر كل الـ APIs المتاحة عبر الشبكة فهي كثيرة جدًا حيث يمكن أن تجد لكل فكرة تدور في ذهنك موقع يقدم بيانات أو خدمات مناسبة لها.
باذن الله ثم بدعمكم لنا بنشر رابط القناة ستصبح اكبر قناة منظمة تحتوي على العديد من السلاسل التي تستطيع الوصول اليها من خلال الفهرس علما بان هذه القناة لانحصل منها على فلوس وانما نرجوا الجزاء من الله فهل انتم معنا وستشاركون الرابط
Anonymous Poll
99%
معكم
1%
لسنا معكم
سيستمر الاستفتاء 24 ساعة فنرجوا التصويت