Mohcin Bounouara's Space – Telegram
Mohcin Bounouara's Space
518 subscribers
84 photos
19 videos
8 files
128 links
{فَأَمَّا الزَّبَدُ فَيَذْهَبُ جُفَاءً ۖ وَأَمَّا مَا يَنفَعُ النَّاسَ فَيَمْكُثُ فِي الْأَرْضِ} [الرعد: 17]

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

https://youtu.be/y-LmKqUrxZY?si=f9vvqsV9POINvFJ4
👍81
كثير من الشركات الكبرى أصبحت تتيح و تسمح بإستخدام ال ai في ال interviews.

تعلم استخدام ال ai في يومك كمبرمج، تعلم ان تتعلم جيدا في البرمجة و هندسة البرمجيات، تأسس جيدا، أو أعد أساسياتك لتقليل ال technical gaps و تقليل ال technical doubts مستقبلا، الشخصي و على مستوى المشاريع التي ستعمل عليها.

#ai #software #softwareengineering
1
ربما تسمع كثير هذين المصطلحين في مجال هندسة البرمجيات، ال stateless و ال stateful، وربما تستخدمهما دون أن تعلم..

ال stateless يعني أن السيرفر يتعامل مع كل request كأنها أول مرة يتلقاها فيها.. و هكذا في كل request جديدة،، لا يحتفظ بأي معلومات عنك أو عن الطلبات السابقة.

يعني أن كل request تحتوى كل المعلومات اللازمة لتنفيذها، بدون الاعتماد على أي شيء سابق..

مثلًا في WebRTC أو أي اتصال يستخدم UDP، البيانات تُرسل بدون انتظار أو تذكر للطلبات السابقة، أو مثل REST API بدون تسجيل دخول، عندما تطلب endpoint عامة مثل:

GET /api/posts

السيرفر يعطيك النتيجة، ثم ينسى من أنت.

ال stateful يعنى السيرفر يتذكّرك بين مختلف الطلبات،، يعني يحتفظ ب state عن المستخدم، مثلا أنه سجل الدخول سابقا، أو ما اختاره سابقا.

يعني أن السيرفر يخزن معلومات عنك، عادة باستخدام Session أو Cookie أو Token.

مثال في تطبيقات/مواقع تتطلب تسجيل الدخول مثل Laravel أو WordPress أو... عند تسجيل الدخول، السيرفر يخزن غالبا session id.

وفي كل ال request اللاحقة، السرفر يتعرف عليك بناءا على هذه ال session id .

السيرفر يعرفك فورا و يوجهك لل request التالية مباشرة.

#software #softwaredevelopment #backend #backendengineering #backenddevelopment
5
This media is not supported in your browser
VIEW IN TELEGRAM
4
شرح عملي لل UDP بإستخدام PHP لعله يكون نافعا.

تجاهلوا أصوات الخلفية، جزاكم الله خيرا 😁😁

ولو المقطع نافع شاركه لعله بنفع عيرك.. لو لا انا مستعد لتلقى التعليقات 😊

https://youtu.be/LOqofdwbf9U
أطلق Laravel منصة تعليمية (Laravel Learn)، وهي منصة جديدة لتطوير مهاراتك.

تنطلق مع دورتين تدريبيتين صغيرتين و مجانيتين:

- الأولى تدريب Laravel للمبتدئين.
- الثانية أساسيات PHP للمبتدئين او للذين يريديون تحديث معارفهم بسرعة في ال PHP.

الرابط: https://laravel.com/learn

#PHP #Laravel
2🔥2
Media is too big
VIEW IN TELEGRAM
الفرق بين "نشر المعرفة" و "نشر العلم".
💯2
نصيحة مبنية على تجربة شخصية في البرمجة؛

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

أسقط الناس من حسابك، وركّز على رحلتك أنت، حينها فقط ستبدأ بملاحظة التطور الحقيقي..

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

والله ولي التوفيق.
12🔥1
من أهم الأشياء التي يجب أن تفهمها كبرمج أو مطوّر برمجيات سواء كنت تعمل ك Frontend أو Backend، هي Request /Response Lifecycle.

قبل أن تصل البيانات إلى ال Layer 7، وهي ال presentation layer التي تظهر الصفحة للمستخدم، تحدث الكثير من العمليات داخل النظام. يمكنك التعمّق في فهم هذا أكثر بالاطّلاع على ال OSI Model إذا أردت.

بشكل مبسّط، عندما تكتب رابطًا في المتصفح أو تضغط على زر يُرسل طلبًا مثل GET أو POST. يتم توجيه هذا الطلب إلى route معين.

- طلب GET عادة يُستخدم لجلب البيانات،
- وPOST لإرسال أو حفظ بيانات (مثل إرسال نموذج)،
- وPUT لتحديث بيانات موجودة،
- وDELETE لحذف بيانات معينة.

غالبًا ما يتعامل هذا ال route مع كود من ال back-end وغالبًا يكون هذا الكود داخل كلاس Controller، وهو الجزء المسؤول عن تنفيذ ال Logic المطلوب. ال Controller بدوره يتواصل مع Model، الذي يتعامل مع قاعدة البيانات، ثم يرسل النتيجة إلى ال View المسؤولة عن عرض البيانات للمستخدم.

وهذا ما يُعرف عمومًا و اختصارا باسم نمط MVC Architecture:

- ال Model: يتعامل مع قاعدة البيانات
- ال View: يتعامل مع واجهة المستخدم
- ال Controller: يحتوي على المنطق والتحكم في تدفق البيانات.

وفي النهاية، تصل إليك ال response التي تراها على مستوى ال UIs.

#Backend #software #softwaredevelopment #softwareengineering
4
بث مباشر تجريبي بعد قليل لمدة قصيرة حول "مسألة التعلم المستمر في البرمجة، سؤال و جواب" لمن لديه اي تساؤل.

*يمكن كتابتة اسالتكم هنا، و ساجيبها عنها في بث مباشر.

يبدوا ان البث الاول لي في هده القناة لم يكن موفقا 😅
3
Live stream started
Live stream finished (7 minutes)
﴿وَإِنَّ لَكُمۡ فِی ٱلۡأَنۡعَـٰمِ لَعِبۡرَةࣰۖ نُّسۡقِیكُم مِّمَّا فِی بُطُونِهِۦ مِنۢ بَیۡنِ فَرۡثࣲ وَدَمࣲ لَّبَنًا خَالِصࣰا سَاۤىِٕغࣰا لِّلشَّـٰرِبِینَ﴾ [النحل ٦٦]

وإن لكم -أيها الناس- في الأنعام -وهي الإبل والبقر والغنم- لَعظة، فقد شاهدتم أننا نسقيكم من ضروعها لبنًا خارجًا مِن بين فَرْث -وهو ما في الكَرِش- وبين دم خالصًا من كل الشوائب، لذيذًا لا يَغَصُّ به مَن شَرِبَه.

﴿وَأَوۡحَىٰ رَبُّكَ إِلَى ٱلنَّحۡلِ أَنِ ٱتَّخِذِی مِنَ ٱلۡجِبَالِ بُیُوتࣰا وَمِنَ ٱلشَّجَرِ وَمِمَّا یَعۡرِشُونَ﴾ [النحل ٦٨]

وألْهَمَ ربك -أيها الرسول- النحل بأن اجعلي لك بيوتًا في الجبال، وفي الشجر، وفيما يبني الناس من البيوت والسُّقُف.

(الميسر — مجمع الملك فهد)

سبحان الله العظيم، اللهم إنا نسألك العبرة، و العلم و العمل.
8
بعد أكثر من عام من استخدام الذكاء الاصطناعي، هذا هو دليلي الأساسي لاستخدام AI دون لوم النفس كمبرمج.

ببساطة:

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

- إذا كان لديك وقت كافٍ لمهمة معينة في العمل وترغب في التعلم منها، ولا توجد مواعيد نهائية عاجلة، فتجنب استخدام AI.

- إذا كنت تتعلم شيئًا جديدًا أو تسد فجوات معرفية، استخدم AI لمساعدتك على الفهم الصحيح، وليس لحل المشكلة نيابة عنك دون أن تتعلمها أولاً.

و الله ولي التوفيق
9
إذا كنت تستخدم inertiajs، يمكنك دائمًا فحص ما يوجد في صفحتك عن طريق التحقق من ال page props داخل developer tool في المتصفح، حيث ستجد كل البيانات المرسلة إلى ال component الذي تعمل عليه.

#inertiaJS #vuejs #Laravel
👍3
السلام عليكم،

ما الفرق بين ال Arrays و بين ال Objects في البرمجة عموما؟
When I write a lot about learning in software engineering/programming, it's not because I'm an exceptional learner. I'm just an average learner trying to balance life while keeping a long-term vision for my career.

I encourage people to share what they learn, and to learn in small steps, but consistently, to help them avoid the mistakes I made.

In the beginning, I was a hungry developer, but poor planning, limited resources, and weak habits made me jump from one tech stack to another. I never stayed long enough with one language to go deep, and I lost a lot of time because of that (even though I believe nothing is truly lost, it always transforms into another kind of benefit).

That's why I write so much about learning,
to document the journey, to help others grow, to avoid my mistakes in others, or ONE person at least.

#learning #coding #programming
5