고정된 트윗
محمّد الهاشمي
175 posts

محمّد الهاشمي
@M0hCS
CS Student @IAU_CCSIT | Passionate Software Engineering | Interested in AI & Data Science
Cpp 가입일 Mart 2025
55 팔로잉459 팔로워
محمّد الهاشمي 리트윗함

يسعدني أشارككم خطوة جديدة 👾
فتحت حسابي على منصة itch.io، والآن صارت جميع ألعابي متاحة للتجربة والتحميل 👏🏽
بتكون هذه المنصة المكان الأساسي اللي أنشر وأحدث فيه ألعابي. 🎮
تعليقاتكم وملاحظاتكم بتساعدني كثير في التطوير وتحسين التجربة.
تقدروا تزوروا الحساب وتجربة الألعاب من الرابط:
w-aq01.itch.io


العربية
محمّد الهاشمي 리트윗함

الليلة إن شاء الله حنعمل:
JavaScript crash course
و نتونس عنها
الساعة 9م بتوقيت السعودية
على تيليجرام:
t.me/musab_khunaijir
#خنيجر #javascript

العربية
محمّد الهاشمي 리트윗함

رجل مُعسر كبير في السن عمره 55 عاما أعزب لديه طفل عليه امر بالتنفيذ وحكم بالسجن.
قال تعالى: ﴿وأحسنُوا إِنَ اللَه يُحِب المُحسنينَ﴾
فرصتك اليوم أن تكون من المحسنين الذين أحبهم الله.
رقم الفاتورة: 201530623
تبرع الآن عبر #منصة_إحسان👇
ehsan.sa/referral/CBF35…
العربية

حلقة جميلة من @MusabKhunaijir وأسعد
تطرقوا فيها في مواضيع مثل المجالات الفرعية والتولز اللي تحتاج تعرفها كمهندس DevOps، والفرق بين مهندس الكلود والـ Devops، وكيف تبني مشاريع وتظهر خبرتك للشركات، وكيف تقدر تستفيد من مجال الـ DevOps في مجالك
youtube.com/watch?v=wfRo6r…

YouTube
العربية
محمّد الهاشمي 리트윗함

ذاكرت للفاينل؟ اختبر نفسك ✅
ارفع سلايداتك وحدد الصعوبه والوقت وانشئ اختبار من نفس المحتوى
راح تعرف ايش نقاط ضعفك بناء على المواضيع والصفحات وتقويها بـ إعادة الاختبار والمقارنة بين المحاولات
مع جهزني تدخل الاختبار وعندك تصور عن الاسئلة الي ممكن تجيك👏
jahizni.com
العربية

أهم مفهوم في oop، الوراثة (inheritance) لان حرفيًا ما في كلاس راح نسويه الا مفهوم الوراثة مطبق عليه
الفكرة من الوراثة احيانًا ونحنا نبني برنامج بيكون هدفنا نقلل من كتابة الكود والاسطر ولا نكرره كل مرة (Reusability)، لنفترض عندنا نظام لشركة معينة، وعندنا اكثر من موظف بمختلف المجالات مثلًا developer، HR، marketing، لما اسوي ال Attributes بنلاحظ فيه صفات مشتركة مثل (الاسم, الايميل, الجوال, القسم, الادرس...) وغيرها من المعلومات اللي لازم تكون عند اي موظف (employee).
طيب انا هنا ليش ما اسوي Attributes مشتركة بينهم كلهم؟ بدلًا من اعيد كتابة Attributes حقت كل كلاس؟ هنا يجي دور الوراثة توفر علي اني ارجع اكتب Attributes، كيف أقدر؟ بكل بساطة اجمع كل ال Attributes اللي أحتاجهم تكون مشتركة في كل الكلاسات واحطهم في كلاس عام واحد بنسميه (employee) لان لو نلاحظة في النهاية هم كلهم موظفين، واي كلاس يحتاج هذه Attributes علطول عن الطريق الوراثة يقدر يستفيد منها، هنا انا حققت (Reusability) بدلا من أعيد كتابة الكود مرة ثانية وفرت على نفسي أسطر، ممكن ما نشوف ان الوراثة تساعدنا مرة خصوصًا كمثال بسيط كهذا لكن لما برنامجك يكبر بتشوف كيف أنها توفر عليك الكثير.

العربية

نستكمل الحديث عن ال OOP
مصطلحات مثل (Object)، (Class)، (Modifiers) ، (Encapsulation)، (Constructor) راح يمرون عليك بكثرة لما تتعامل مع oop، لازم نفهم من ايش يتكونون والفرق بينهم
خلنا نبدا بالكلاس، لو كنت تبي تشتري شيء اونلاين من اي موقع بتحط اغراضك في السلة وبتروح عند الدفع، لما توصل عند الدفع راح يكون عندك (قالب) جاهز برقم البطاقة، تاريخ الانتهاء، CVV، واسم صاحب البطاقة، كل هذي الخانات جاءتك "فاضية" كقالب جاهز ما فيها اي معلومات لازم انت تعبيها، القالب الجاهز هذا راح نسميه (كلاس)
بس لما انا اعبي هالمعلومات هنا راح يكون عندي "أوبكجت"، لاحظ هنا أنا عبيت "بياناتي الخاصة" ممكن يجي شخص ثاني يعبي بياناته بس أكيد بتكون مختلفة عن بياناتي، وهذا يخلينا نستنج ان الكلاس (القالب) ثابت، لكن المتغير هو الاوبكجت (بياناتي)، خلنا نأخذ مثال ثاني عشان توضح الفكرة، أبسط مثال ورقة الاختبار تجيك فاضية كقالب (كلاس) وانت تعبي فيها بياناتك و اجابتك (اوبكجت)، والامثلة كثيرة كل شيء حولنا عبارة عن اوبكجت، يتكون الاوبكجت من عنصرين variables & methods، لها أكثر من مسمى ولكن اخترت هالمسمين.
لو اخترنا مثلا السيارة على انها "اوبكجت" امثلة على الاشياء اللي ممكن تكون "data" الخاصة بالسيارة، اسم السيارة، أقصى سرعة، سعرها، الموديل، اما من ناحية ال methods نقدر نخلي ميثود تحسب لنا عمر السيارة مثلًا هذول العنصرين راح يساعدونا في تطبيق مفهوم ال Encapsulation.
اذا تذكر ال oop كان اللي يميزها انه البيانات مخفية ومحمية مو اي احد يوصل لهذي البيانات، Encapsulation يساعدني احقق هذي الميزة عن طريق يخلي العنصرين (variables - methods) كأنهم في كبسولة بس كيف؟ عن طريق Modifiers اللي هي 4 انواع عشان احدد الوصول سواء البيانات او الميثود لما تكون تشتغل على برنامج كبير راح تحتاجها خصوصا لما تكون شغال مع فريق، ف على سبيل المثال لو كنت ما ابي احد يلمس هذه واحد من البيانات من الفريق اللي معي ولا يقدر يعدل عليها بتاتًا.
قبل ما نعرف الانواع لازم نعرف انه كل برنامج عندنا يتكون من بكجات، البكج تقدر تقول نفس المجلد اللي فيه الملف، عادة البرامج الكبيرة يكون فيه أكثر من بكج
النوع الاول Public، سواء كان الكلاس او الميثود او المتغير كلها اقدر اوصل لها مباشرة من نفس البكج أو حتى برا البكج
النوع الثاني protected، نفس ال public ولكن فيه كم فرق بسيط (نتكلم عنها بعدين)
النوع الثالث private، هذا على مستوى من ناحية الامان وما تقدر توصل للبيانات هذي الا من نفس الكلاس عدا ذلك ما يمديك الا بوساطة ( Getter &Setter) هذول راح يكونون اصدقائنا اللي راح نتعامل معهم واجد (نتكلم عنها في نقطة اخرى)
النوع الرابع default، في حالة ما حطيت اي نوع من الانواع الثلاث هذي كأنك قلت للكومبلير تراه default فكرته مشابهة لل public لكن على عكسه ما تقدر توصل للبيانات برا البكج
الميثود عادة تكون public و نستخدم ال private للمتغيرات، لكن لو كانت private كيف نقدر نوصل لها؟ لهذا عندنا (Getter &Setter) هذول ميثود راح يساعدوني اوصل للمتغيرات بدون ما احتاج اغير الوصول لها، عندنا اولًا ال Setter بكل بساطة اتحكم بقيمة المتغير اقدر اغير القيمة أو حتى احدثها، اما ال Getter فهي ترجع لي القيمة.
عندنا عضو مهم جدا اللي هو (constructor) لما ننشئ اوبكجت فهو يجي علطول كأننا سوينا له استدعاء مع الاوبكجت، اقدر استفيد منه عشان أعيين قيم افتراضية، او قيم معرفة من قبل المستخدم، او عشان اطبع شيء مثلًا، من شروطه ما يكون فيه return type او حتى void، ويكون نفس اسم الكلاس.
عندنا عدة انواع من constructor لكن خلنا نذكر اللي نحتاجه حاليًا
الاول Default، هذا باختصار ما فيه ولا براميتر (parameters) راح ينشئ تلقائي من الكومبلير، يستخدم عادة لتعيين قيم افتراضية لكن المرة ذي اللي راح يحددها الكومبلير لو كانت القيمة string راح تكون القيمة الافتراضية : null
numeric : 0
boolean : false
char : '\u0000' == null
الثاني Parameterized Constructor، على عكس ال default هذا فيه parameters ونقدر نحط فيه القيم اللي نحتاجها




العربية

واحد من أهم المنهجيات اللي أكيد راح تمر عليك ال object oriented programming (OOP)
قبل ما نتعمق لازم نفهم نحنا ليش أصلا نحتاج ال OOP؟ وكيف ممكن نستفيد من هذي المنهجية؟ وفرقها عن باقي المنهجيات مثل (POP)procedural oriented programming
تخيل معي أنك قاعد تبني بيت بس بدون خطة مجرد انك تحط الطوب بشكل عشوائي بدون ما تراعي عن كيفية تركيب الطوب، في البداية كل شيء بيكون ماشي تمام، بس بتلاحظ كل ما زاد الطوب صار الموضوع أعقد أنك تفهم وش قاعد يصير وكيف البيت أصلا راح يصمل؟ حتى اذا حاولت أنك تغير شيء صغير ممكن البيت كله يطيح، شفت الفوضى هذي كلها؟ هذا شكل البرنامج حقك بدون منهجية وبدون أي هيكلة واضحة يصير كل جزء في البرنامج مستقل بذاته وما تقدر تتحكم فيه مثل ما تبي ف يصير التغييرات الصغيرة تسبب مشاكل كبيرة.
هنا يجي دور ال OOP تعطيك خطة وبناء واضح للبرنامج حيث يصير كل جزء من البرنامج مكانه وهدفه وتفاعله واضح مع الاجزاء الثانية من البرنامج، وهذا يخلي البرنامج قابل للتعديل والاستخدام، بحيث كل جزء من الكود عنده وظيفة محددة ف يصير التغيير فيه سهل أو حتى اعادة الاستخدام وهذا يوفر علي الكثير من الاسطر، أقرب مثال للفكرة هذي السيارة كل جزء من السيارة مستقل بذاته بس كل هذي الاجزاء متصلة مع بعض.
خلنا نتكلم عن الفرق بين ال OOP و POP، على عكس ال OOP اللي تركز على تنظيم البيانات والكائنات (راح نتكلم عن الكائن بعدين)، تركز ال POP على الفنكشن وخطوات التنفيذ، ومن ناحية أسلوب ال POP تتبع اسلوب من فوق الى تحت بمعنى اركز على الفكرة الاساسية واقسمها اجزاء صغيرة متسلسلة، أما ال OOP من تحت الى فوق بمعنى تبدأ بالاجزاء الصغيرة ثم تجمعها وتربطها مع بعض حتى يتكون لنا برنامج.
من ناحية بيانات في ال OOP تقدر تسوي لها Hide (بمعنى البيانات راح تقدر تحدد الوصول للبيانات وهذا يخليها محمية ومخفية)، على عكس ال POP ما تقدر تسوي لها "Hide" فأي أحد يقدر يوصل للبيانات لانها مشتركة (global)، هذا يعطي أفضلية لل OOP في الامان والتحكم بسبب الوصول للبيانات، على الجانب الاخر عيب في OOP انه عادة برامجها كبيرة ومعقدة وهذا يخلي البرنامج ابطأ على عكس ال POP اللي تعتبر أقل تعقيد وبساطة وهذا ممكن يخليها أفضل حل للمشاكل الصغيرة اللي ما فيها تعقيد كبير.


العربية
محمّد الهاشمي 리트윗함

Repost 🔁
هاشتاق بلغات مختلفة
1. العربية: #أنقذوا_السودان
2. الإنجليزية: #SaveSudan
3. الإسبانية: #SalvaSudan
4. الفرنسية: #SauverLeSoudan
5. الألمانية: #RettetSudan
6. الصينية: #拯救苏丹
7. الروسية: #СпаситеСудан
8. البرتغالية: #SalveOSudão
9. الهندية: #सुडानकोबचाओ

العربية

الحمدلله الحمدلله
WE MADE IT TO THE TOP 20 !! 🤩
#Aramco #ConsultingChampionship2025

Sajjad@1_sejoo
🤍 اللهم لك الحمد Me and my team made it to the Top 50 in the Aramco Consulting Championship!!!

اللي عنده جافا الترم هذا او يبي يتعلم جافا بشكل عام لا يروح بعيد عن عادل نسيم
youtube.com/playlist?list=…
العربية
محمّد الهاشمي 리트윗함

saadaiblog.netlify.app
المدونة جاهزة إن شاء الله , راح أكتب فيها مايقارب ال70 مقالة عن الذكاء الإصطناعي من تحت الصفر وصولاً لمصطلحات جداً متقدمة (LLMs - AI Agents - Machine Learning Algorithms) وأمور أخرى بعالم الCS
يُفضل معرفة بسيطة ببايثون , ويوجد الآن 4 مقالات في المدونة

العربية

طبيعي, قرأت ورقة تكلم عنها @AIVibecode عن هالموضوع, باختصار صحيح قلت عدد الاسئلة في الموقع بس زاد مستواها وصارت أغلبها مشاكل معقدة لانه صاروا يعتمدون على الذكاء في المشاكل الروتينية والسهلة
محمد هرموش@MhamadHarmush
قبل الذكاء الإصطناعي كان لا بد لك كمبرمج من البحث عن حلول لمشاكلك بنفسك ومصدرك الأول كان إجابات stackoverflow بعد ظهور الذكاء الإصطناعي الموقع شبه مات .. والمحزن أن الكثير من مبرمجي الفايب كودينج اليوم والمستقبليين لن يعرفوا حتى ما هو!
العربية





