Programmers Caffe
975 subscribers
286 photos
9 videos
23 files
69 links
قناة "كافي المبرمجين" تخص علوم البرمجيات والتكنولوجيات وتهتم بمساعدة المبرمجين في الوصل الى الطريق المناسب لتطوير الذات في البرمجة.
تابعونا على تويتر:twitter.com/ProgrammersCaff
لينك موقعنا: https://programmerscaffe.com/home
Download Telegram
تجميعة قوي لــ Array Functions الخاص بـ Php
array()
array_change_key_case()
array_chunk()
array_combine()
array_count_values()
array_diff()
array_diff_assoc()
array_diff_key()
array_diff_uassoc()
array_diff_ukey()
array_fill()
array_filter()
array_flip()
array_intersect()
array_intersect_assoc()
array_intersect_key()
array_intersect_uassoc()
array_intersect_ukey()
array_key_exists()
array_keys()
array_map()
array_merge()
array_merge_recursive()
array_multisort()
array_pad()
array_pop()
array_product()
array_push()
array_rand()
array_reduce()
array_reverse()
array_search()
array_shift()
array_slice()
array_splice()
array_sum()
array_udiff()
array_udiff_assoc()
array_udiff_uassoc()
array_uintersect()
array_uintersect_assoc()
array_uintersect_uassoc()
array_unique()
array_unshift()
array_values()
array_walk()
array_walk_recursive()
arsort()
asort()
compact()
count()
current()
each()
end()
extract()
in_array()
key()
krsort()
ksort()
list()
natcasesort()
natsort()
next()
pos()
prev()
range()
reset()
rsort()
shuffle()
sizeof()
sort()
uasort()
uksort()
usort()
#استمر_تصل
programmerscaffe.com
👍1
- يعني ايه Design Pattern ؟؟
ببساطة الـ Design Patterns هي ناتج التطور التطبيعي لتاريخ البرمجيات , ازاي ؟ نجيب الموضوع من الاول , مع بداية ظهور البرمجيات كانت بتتكتب بطريقة Sequential بمعني إنك بتكتب البرنامج بتاعك كله عبارة عن مجموعة سطور من الـ Code تحت بعضها بتتنفذ بالترتيب و دي كان اسمها الـ Sequential Programming.
بعد فترة ومع وزيادة احجام البرامج بدأوا يلاقوا ان الكود بيتكرر كتير فده وصلهم انهم ممكن يجمعوا الأكواد اللي بتتكرر دي في مكان واحد وكل ما نحتاجهم نستخدمهم وهنا ظهر مفهوم الـ function و دي كان اسمها الـ Procedural programming.
ومع ازدهار عصر البرمجيات بطريقة كبيرة وسريعة بدأ يتجه التفكير الي إن ازاي نسهل البرمجة علي المبرمجين بأنها تكون اقرب لطريقة تفكير الإنسان و فالوقت ده ظهر الـ OOP - object oriented programming وهو انك بتقسم السوفت وير لمجموعة classes و بتحدد علاقاتها ببعضها و الـ behavior بتاعها ودي اقرب حاجه للحياة الطبيعية و طريقة تفكير الانسان قدروا يوصلولها لحد دلوقتي.
لحد هنا كويس , طبيعي وانت شغال كـ software engineer بتواجهك مشاكل وبتفكرلها في حلول وبتحلها , ومع الوقت في مجموعة مشاكل بقت بتتكرر مع ناس كتير وبقت مشاكل مشتركة , وبدأ المبرمجين يعملولها طرق حلول (patterns) ويطوروا طرق الحلول دي وتبقي طرق موحدة بتسهل عليك حل مشاكل معينة بعينها لما تقابلك (وهتقابلك) وهي دي الـ design patterns.
فهي ببساطة مجموعة حلول لمشاكل common هتقابلك بطريقة متكررة وانت شغال. بس لازم يكون واضح انها مش أكواد او حاجه تتحول لكود هي مجموعة خطوات لحل مشكلة معينة , انت بترجمها لكود بعد كده.
[+] - ايه الفايدة اللي هتعود عليا لما استخدم الـ design patterns ؟
لما تستخدم الـ design patterns هتعمل اغلب الـ best practices اللي تخليك professional software engineer زي:
هتلاقي نفسك بتكتب كود اقل بكتير Less code.
هتلاقي ان الـ software بتاعك سهل تطور وتعدل فيه بأقل مجهود maintainable software.
هتلاقي ان قدراتك فالـ Problem Solving زادت بشكل ملحوظ جدا
انضموا معنا في "Programmers Caffe | كافي المبرمجين"
جمعه مباركه عليكم ❤️
https://programmerscaffe.com/home
1
Programmers Caffe
انضموا معنا في "Programmers Caffe | كافي المبرمجين" جمعه مباركه عليكم ❤️ https://programmerscaffe.com/home
دلوقتى تقدروا تتصفحوا موقعنا من الرابط ده، هدف الموقع هو تعليم الناس البرمجة من ناحية اننا بنوفرلهم جميع المحتويات العربيه الموجوده على اليوتيوب وتنظيمها وسهولة عرضها للطالب، الموقع تأسس واترفع وحاليا يتم رفع الدورات وما شابه
الموقع لسه منطلق وممكن تواجه مشكله ياريت تعرفنا علشان نحلها بسرعه
وهذا العمل لا نبتغي فيه الا رضا الله
https://programmerscaffe.com/home
👍1
الفرق بين 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