📚موسوعة الحاسوب و البرمجة📚
11.7K subscribers
875 photos
275 videos
3.95K files
912 links
تحتوي على اي كتب او برامج او فيديوهات او دورات تتعلق بالحاسوب او البرمجة وصيانة الهواتف
قنواتنا
للتواصل @mosoaa_bot
قناتنا في اليوتيوب
https://youtube.com/@musuaamsg
Download Telegram
انشروا رابط القناة لتعم الفائدة
#مقالات_برمجية📙📙
هذه المقالة توضح الفرق بين المبرمج و المطور
البرمجة : هي بناء تطبيقات أو برامج بغرض تنفيذ عمل أو مهمة معينة ( أدوات ) .
تطوير البرمجيات : هي بناء تطبيقات , سهلة الاستخدام , يمكن للمستخدم استخدامها , و قابلة للتعديل و التغيير ( برامج مصممة بشكل جيد )
المبرمج : Programmer
هو الشخص الذين يكتب أكواد نظيفة , و همه الأول أن تكون خالية من الأخطاء , لكن ليس بالضرورة أن يكون الكود مرتب , يهتم بتفاصيل الكود ,أكثر منه بالتفكير في إنهاءه, و دائما ما يكون هناك تنافس مع أصدقاءه في معرفة الحل الأمثل للمشكلة , لديه إطلاع واسع جداً على الخوارزميات ,
و الاهتمام بالرياضيات هو أمر أساسي لديه , مهارات التواصل مع فريق العمل أو التواصل مع المستخدم هو أمر اختياري بالنسبة له و ليس ضرورة !
يقضي معظم أوقات فراغه , في إنشاء نماذج من التطبيقات الغير منتهية , و كتابة الخوارزميات و تجربتها , يحلم في أن يتعلم كافة لغات البرمجة , و أن يكتب أقصر كود لحل أكبر مشكلة
خصائص تطبيقاته :
– كود احترافي يعمل بشكل ممتاز و غالبا بدون أخطاء , ( لكن من الصعب فهمه أو صيانته إلا من قبله و لمدة محدودة .)
– أغلب أكواده من نوع “المعكرونة”spaghetti code
– أغلب العناصر بأسمائها الافتراضية Button1 Button2 , Form1 …
– لا يوجد ترتيب لعناصر النافذة , ولا ترتيب لمفاتيح الانتقال فيما بينها (Tab Index)
– لا يوجد معالجة للأخطاء التي قد تحصل أثناء تنفيذ الكود – Exception handling .
– لا يوجد أي تخطيط لإمكانية إعادة استعمال هذا الكود من قبل مبرمج أو مطور آخر أو حتى من قبله هو .
– الكود بدون شرح أو تعليقات

المطور : Developer
هو الشخص الذي يكتب الكود المنسق , الذي يمكن قراءته كقصيدة أو قصة قصيرة , يعتمد اعتماد كبير على المكتبات الخارجية , الرياضيات هي آخر اهتماماته , من أولوياته التواصل مع فريق العمل و إيجاد حلول حول المشكلات , لديه تخصص عام و براعة تمكنه من توظيف أي مهارة أخرى ضمن تطبيقاته , يعتمد في بناء تطبيقه على التطبيقات العديدة التي قام بتجربتها و استخدامها خلال دراسته أو عمله , مما يجعل تطبيقه هو خلاصة لأفكاره , يقضي معظم أوقات فراغه في أمور لا علاقة لها بالبرمجة إطلاقاً أو ربما لا علاقة لها بالحاسب , يحلم دائما في أن يصنع فيس بوك جديد أو غوغل جديد .
خصائص تطبيقاته
– شرح الكود أطول أو يساوي طول الكود نفسه .
– الكود مرتب و منسق .
– لن تجد عنصر واحد بتسميته الافتراضية .
– كافة الأخطاء معالجة و قد يتم تسجيلها في سجل للأخطاء (log file) .
– يكتب الكود و كأن المستخدم سوف يقرأه .
– اهتمامه بواجهات البرنامج أكثر من اهتمامه بطريقة عمل البرنامج .

الخلاصة :
الشيء المهم الذي يجب الانتباه إليه , هو أنه ليس أي من الإثنين أفضل من الآخر , أو أقل شأناً من الآخر , بل هي مجرد صفات خاصة و عامة مختلفة في كل منهما عن الآخر , لا و بل بإمكانك أن تكون مبرمج محترف و مطور رائع بنفس الوقت و ذلك بدمج الخصائص الجيدة من كلا الطرفين ( طبعا سيكون أمامك أشياء كثيرة للتركيز عليها ) , لكنه يبقى أمرأ ممكناً , و ليس مستحيلاً .
و إن اختيارك طريق المبرمج أو المطور , هو الذي سيحدد مصير تطبيقك هل سيستخدم من قبل الزبائن أم لا ؟
#مقالات_برمجية📙📙
كيف تحقق أفضل المعايير في البرمجة و تطوير البرمجيات :
أولاً :

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

لا تعقد الأشياء أثناء كتابة الكود و إذا شعرت أن هناك شيئاً ما قد يسبب مشكلة في المستقبل , إبدا بحلها فورا , لأنها قد تسبب تراكم مشكلات و تغييرات كثيرة في الكود فيما بعد .
ثالثا :

يجب تبسيط الخوارزميات المعقدة , لا تضمنها ضمن مشروعك مباشرة , بل أنشئ مشروع جديد , و ابني الخوارزمية على شكل Class و ادرسها و عندما تنجح و تفهم عملها انقل الـ Class إلى مشروعك . على مبدأ Keep it Simpl
رابعاً :

راجع الكود بشكل مستمر , و احذف التوابع و المتحولات الغير ضرورية , و حاول ان تكتب شرح مبسط .
خامسا :

جرب البرنامج أكثر من مرة , جربه أنت أو دع شخصاً آخر يجربه لك , و يفضل شخص آخر لأنه لن يتبع نفس القواعد التي تتبعها أنت !

سادساً :
لا تكثر من Try Catch في المشروع , إذا كان لدي متحول يقبل قيمة عددية فقط , فقم بتقييد المستخدم بادخال قيمة عددية فقط !
سابعا :
لست مجبرا على الاعتماد على أي ميزة حديثة , تقدمها لك لغة البرمجة , الميزات الحديثة قد تحتوي على أخطاء .
python-web-frameworks.pdf
2.5 MB
كتيب ممتاز من أورايلي يقارن أطر عمل الويب للغة بايثون (فلاسك، وجانغو، بوتل وغيرها)
#كتب_بايثون📚
#كتب_برمجية📚
#مقالات_برمجية
السلام عليكم
ما هى صفات المبرمج الناجح ⌨️🖥؟؟

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

 التواصل مع الاخرين👨‍👨‍👦‍👦
بما أن المبرمج أو المطور يكون دائماً في فريق، فيجب عليه معرفة أساليب اﻹتصال الناجحة مع زملائه، كذلك فهو ربما يكون كثير اﻹحتكاك بالزبائن، أو الشركات التي تستفيد من برامجه. وكل شخص يحتاج لتعامل مختلف، فمثلاً اﻹتصال بالمدير في نفس الشركة يختلف بالإتصال بمدير خارج الشركة، أو زميل في نفس المجموعة، يختلف من اﻹتصال بزميل خارج المجموعة أو موظف خارج الشركة.

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

منقول من المهندس محمد
#مقالات_برمجية
💻مستودعات على Github لا يمكنك الاستغناء عنها أبدًا!
إذا كنت من هواة البرمجة أو محترفيها، فلا بد وأن لديك الاطلاع الكافي على مشاريع github التي أتاحت للمبرمجين فرصة أكبر لتلاقي العمل الأبداعي، وأعطتهم مجالاً واسعاً لتطوير الأكواد والمشاريع التي يعملون عليها ومشاركتها.
يضم موقع Github ملايين المستودعات repositories والتي كما نعرف أنها مشاريع برمجية تختلف بالحجم والتعقيد ومكتوبة بلغات برمجية مختلفة، وبالتأكيد ستختلف مستودعات الهواة عن المحترفين والشركات، فإذا كنت تفكر بالاستفادة من بعض المستودعات المتميزة ذات العدد الكبير من النجوم Stars التي تعكس نجاحها وشعبيتها، أبحر معنا في هذه المجموعة المتنوعة من المستودعات التي ستغني أفكارك البرمجية، وتوفّر عليك جهوداً برمجية مضنية لما تحتويه من كتب وخدمات ومكتبات Libraries وأُطر عمل Frameworks ومن يعلم قد تضيفها إلى قائمة متصفحك المفضلة للرجوع إليها في المستقبل.

🔰مشاريع github
Build Your Own X

Build Your Own X هو مستودع تعليمي يحتوي الكثير من الأفكار الرائعة، لا يحفزك على تعلم أفكار غيرك من المبرمجين، وإنما يعطيك الحافز حتى تصبح مؤثراً في عالم البرمجة والتطوير، لذا إن كنت ترغب ببناء أدواتك البرمجية التي تستخدمها يوماً بعد يوم فهذا المستودع هو المكان المناسب.
يحتوي المستودع دروساً في طريقة بناء محرر نصي text editor خاص بك، أو بناء لعبة جديدة، ولغة برمجة جديدة أو مكتبات برمجية مساعدة، وحتى محرك بحث أو نظام تشغيل أو مخدم ويب!، حتى وإن لم تستطع بناء أي شيء جديد، فإنك بالتأكيد ستتعلم من هذا المستودع الكثير من الأشياء.

🔰Free Programming Books

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

🔰Oh My Zsh

Oh My Zsh هو إطار عمل framework يختص بتقديم الإضافات والدعم لـ Zsh، وZsh هو موجه أوامر command line مشابه لـ Bash مبني على Unix، يمتلك العديد من الميزات المتقدمة والتي ستدفعك لاستبدال موجه الأوامر Bash به،

ومن هذه الميزات:
التوجه السهل للمسار Easy cd: ليس عليك أن تكتب مسار مشروعك بدقة، سيعرف Zsh المسار من خلال توقعات سابقة.

التصحيح التلقائي Auto correction: اذا ارتكبت بعض الأخطاء في كتابة بعض الأوامر، سيقوم Zsh بتصحيحها.
إضافات Plugins وسمات متنوّعة
فإذا كنت من مستخدمي Zsh فلا بد لك من الاطلاع على هذا المستودع لما فيه من إضافات وسمات جديدة، لن يجعلك هذا المستودع محترفاً في البرمجة، إلا أنه سيسهّل عليك حياتك البرمجية ويوفر الوقت.

🔰Coding Interview University

يعتبر Coding Interview University من أجمل المستودعات، قام صاحب هذا المستودع بدراسة البرمجة بشكل ذاتي، وبشكل متواصل بدأ بالدراسة 8-12 ساعة في اليوم لعدة أشهر، واستطاع بعد ذلك الحصول على فرصة العمر بالعمل كمطور برمجيات في كبرى الشركات الأمريكية Amazon، فأحب أن يشارك مجموع الخبرات التي أهّلته للحصول على وظيفة بهذه الأهمية.
لم يكن هذا المستودع في البداية سوى خطة دراسة to-do list، وضعها لعدة أشهر على أمل الوصول إلى الحد اللازم من المعرفة البرمجية للقبول الوظيفي، ولكنك ستجد المستودع الآن مليئًا بالنصائح والفوائد لمهندسي البرمجيات، وفيه باب عن الأسئلة المتوقعة قي مقابلات العمل في شركات كبيرة مثل غوغل وفيسبوك.
🔰Gitignore: A Collection of .gitignore Templates
مستودع خدمي لتسهيل عمل المبرمجين، يعرف العاملين في صناعة البرمجيات أهمية ملف gitignore.، ولكل مشروع بلغة برمجة معينة مجموعة من الملفات التي يجب تجاهل تحميلها للمستودع، ولتسهيل الأمر على المبرمجين،قام مؤسسو هذا المستودع بتجميع كل ملفات gitignore الجاهزة للعديد من اللغات مثل Java وPython وLaravel والكثير.


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