Programmers Caffe
975 subscribers
286 photos
9 videos
23 files
69 links
قناة "كافي المبرمجين" تخص علوم البرمجيات والتكنولوجيات وتهتم بمساعدة المبرمجين في الوصل الى الطريق المناسب لتطوير الذات في البرمجة.
تابعونا على تويتر:twitter.com/ProgrammersCaff
لينك موقعنا: https://programmerscaffe.com/home
Download Telegram
الفرق بين Framework و Library

لا شك ان مصطلح المكتبات و Freamworks اصبحت تتردد بين المبرمجين الجدد والمخضرمين فماذا تعني ومالفرق بينهم ؟

المكتبات Library

هي عبارة عن مجموعة من الاكواد والملفات كتبها مبرمجين اخرين لتنفيذ مهمة معينة, لنفرض أنك بحاجة للتعامل مع الأرقام فبدلاً من كتابة هذه الوظائف ستقوم بالبحث عن مكتبة بها هذه الوظائف التي تريدها وتقوم بإستخدام هذه المكتبة, أو تقوم أنت بإنشاء مكتبتك الخاصة بالخصائص التي تريدها وتحتفظ بها لتعاود إستخدامها, ويمكن لك أن تنشرها لإعادة إستخدامها من قِبل الأخرين الذين يبحثون عن نفس تلك الخصائص الموجودة في مكتبتك .

اطار العمل Framework

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

فمثلا لو تحدثنا عن لغة PHP وبعض الـ Freamworks المتوفرة لها فسنجد (Laravel, CodeIgniter,CakePHP ) على سبيل المثال لا الحصر, هذه الـ Freamworks ماهي الا مجموعة من ملفات بي اتش بي المعدة مسبقا التي تسمح لك انشاء برنامجك باسلوب (MVC : model – view- controller) وبالتالي هي وفرت عليك ان تنشئ نظاما من الصفر وايضا وزودتك بالتقنيات الاساسية التي تسمح لك باستخدامها لتطوير برنامجك, اذا الفريم ورك او الاطار ليس برنامجا جاهزا. انه بيئة يمكن استخدام ما توفره من ادوات لانتاج برنامج.

مثال اخر, الـ Twitter Boostrap هو إطار عمل مخصص للمصممين ومتعلق بتطوير تصميم الويب حيث يوفر لك هذا الإطار مجموعة من مكتبات Jquery ومجموعة من ملفات Css الجاهزه لتستطيع أستخدامها بشكل مباشر في تطوير تصميم تطبيقك على الإنترنت وبذلك يوفر الوقت والجهد والتكلفة عليك كمطور لهذا التطبيق.

Framework vs Libary

- بكل بساطة, المكتبة وجدت لتساعدك في تنفيذ مهمة واحدة بينما اطار العمل, هو عبارة عن مجموعة من المكتبات مجتمعة معاً لتنفيذ بعض المهام.

- ان كنت تستخدم مكتبة معينه في مشروع واردت ابدالها بمكتبة اخرى, تستطيع ذلك بكل سهولة بينما اطار العمل لاتستطيع استبداله باخر والسبب لانك ستقوم بكتابة المشروع من جديد على الـ Framework الجديد .

- المكتبة تعتبر اداة بينما الـ Framework يعتبر طريقة للبرمجة .

- المكتبات تعمل او تثبت من خلال الـ Framework .

#استمر_تصل
programmerscaffe.com
beginners_python_cheat_sheet_pcc_all.pdf
1.7 MB
تلخيص سهل وقوي للمبتدئين في لغة بايثون
1
PYTHON VS C++

Python هي لغة برمجة للأغراض العامة عالية المستوى مفسرة

C ++ هي لغة مشتركة بين الأنظمة الأساسية يمكن استخدامها لإنشاء تطبيق عالي الأداء.
كل ما انت بحاجة اليه البدأ فقط Just start. 💕
#استمر_تصل
Programmerscaffe.com
جميع أوامر GIT

https://programmerscaffe.com/
أغنى 10 أشخاص في العالم هم أكبر المستفيدين من كورونا حيث أصبحت ثروتهم "الضعف" في آخر سنتين فقط حسب منظمة أوكسفام التي تقول إن ثرواتهم ارتفعت خلال كورونا أكثر مما ارتفعت خلال 14 سنة ماضية.

ثروتهم كانت 700 مليار وأصبحت 1.5 تريليون فيما تسبب ذلك زيادة في عدد الفقراء حول العالم.
- هو انت ليه ما بتكتبش Unit Tests؟
* علشان مفيش وقت!
- طيب و ليه مفيش وقت؟!
* عشان كل تعديل بيتعمل بيطلع وراه bugs كتير
- طب و ليه كل تعديل بيتعمل بيطلع وراه bugs كتير؟
* علشان ما بنكتبش Unit Tests 🙁

الكتاب دا هايل جدا نزلوه
https://t.me/ProgrammersCaffee/272
بين الماضي والحاضر Setup PC 💕

#استمر_تصل
Programmerscaffe.com
مجموعة من اهم مصطلحات الامن السبراني 💓

#استمر_تصل
programmerscaffe.com
نصائح عند تسمية و تعريف المتغيرات
1-عند تعريف متغير لاتستخدم حرف واحد فقط ,فمثلا نريد ان نعرف متغير يحمل قيمة او اسم المستخجم فنقوم بكتابة الاسم بشكل كامل وليس اول حرف فقط
- String n ="pro2dev";
- String name ="pro2dev";
2 - التزم بمعايير محدده لتعريف المتغيرات بلغتك البرمجية ولاتستخدم الاحرف الصغيرة والكبيرة بشكل عشوائي و غير متناسق .
- String n_User ="pro2dev";
- String Uname ="pro2dev";
3- التزم بمعايير محددة عند تسمية المتغيرات فمثلا اجعل المتغيرات تبدأ الاحرف او الكلمة الاولى صغيره او العكس , و تختلف على حسب كل لغة او طريقتك بكتابة المتغيرات .
- String isUnameApproved ="true";
- String UnameName ="pro2dev";
4- استخدم أسماء ذات معنى تدل على المتغير فمثلا لو نريد تعريف متغير يحمل اسم المستخدم نقوم بكتابته كذا User ولا تكتب احرف عشوائية او غير مفهومة مثل abc210 .
5- هناك انماط او حالات متعارف عليها لكتابة اسماء المتغيرات مثل
Snakecase : user_name
Pascalcase : UsereName
Camelcase : userName
#استمر_تصل
programmerscaffe.com
Chrome Home
خريطة للاحتراف JavaScript ❤️
#استمر_تصل
programmerscaffe.com
👍1