CS Student @IAU_CCSIT | Passionate Software Engineering | Interested in AI

Joined March 2025
29 Photos and videos
Pinned Tweet
أسوأ شيء ممكن يمر عليك كطالب حاسب التشتت الي يصير لك وقت تحديد التخصص/المسار، وأشوف الأغلب يعاني من هذا الشيء. لهذا بتكلم كيف تختار تخصصك/مسارك -من تجربتي- "قد نتطرق للمصادر لاحقًا"
9
5
309
39,382
محمّد الهاشمي retweeted
الفترة الاخيرة انتشرت العاب trivia زي حروف وسين جيم، فكرتها تنلعب في جمعات العائلة والاصحاب مشكلتها ؟ كلها بفلوس فقررت اسوي "نجيب" نفس الفكرة، بس مجانية بالكامل، العب الى ان تشبع. العبوا واستمتعوا مع اهاليكم وأصحابكم، ونستقبل اي ملاحظات واقتراحات انجوي najeebgame.com
16
23
916
385,268
محمّد الهاشمي retweeted
🚀 لأن إدارة المشاريع مو مجرد شهادة بل مهارة تُصنع بالممارسة والخبرة يسر نادي ريادة الأعمال التقنية دعوتكم لحضور ورشة: إدارة المشاريع بالمهارة لا بالشهادة ✨️ مع الأستاذ: عمر عبدالرحمن الزارع مدير مشاريع بخبرة عملية في عدة جهات وشركات، وقائد لعدد من المبادرات والفرق التطوعية والطلابية. خلال الورشة راح نتعرف على🔍: • أساسيات إدارة المشاريع • تنظيم الفرق والمهام • التعامل مع تحديات المشاريع الواقعية • كيف تبدأ طريقك في مجال إدارة المشاريع • نظرة عملية مرتبطة بسوق العمل 🎯 الفئة المستهدفة: كل طالب أو طالبة عنده مشروع جامعي، أو مهتم يبني مسار مهني في إدارة المشاريع. 📅 20 May 🕣 8:30 PM 📍 Online للتسجيل : forms.gle/8yLumcBfmsBMjNDt8 لا تفوّت الفرصة ✨ #CCSIT_CLUBS #IAU_CCSIT #جامعة_الإمام_عبدالرحمن_بن_فيصل #إدارة_المشاريع
3
11
3,251
وسعنا القروب اكثر وصار فيه تنوع بالقروب و أشياء جديدة جاية باذن الله.
إذا أنت شخص مبتدئ او خبير بالبرمجه و الويب سوينا قروب تلقرام فيه قريب 200 عضو نتعلم ونشارك المعرفه مع بعض وتحديات برمجيه ومشاريع مستقبلاً باذن الله، اذا حاب تدخل معنا وتتعلم معنا تواصل معي على الخاص.
4
3
18
1,491
محمّد الهاشمي retweeted
يسعدني أشارككم خطوة جديدة 👾 فتحت حسابي على منصة itch.io، والآن صارت جميع ألعابي متاحة للتجربة والتحميل 👏🏽 بتكون هذه المنصة المكان الأساسي اللي أنشر وأحدث فيه ألعابي. 🎮 تعليقاتكم وملاحظاتكم بتساعدني كثير في التطوير وتحسين التجربة. تقدروا تزوروا الحساب وتجربة الألعاب من الرابط: w-aq01.itch.io/
2
1
31
1,143
محمّد الهاشمي retweeted
الليلة إن شاء الله حنعمل: JavaScript crash course و نتونس عنها الساعة 9م بتوقيت السعودية على تيليجرام: t.me/musab_khunaijir #خنيجر #javascript
1
3
162
RT @wazkir: رجل مُعسر كبير في السن عمره 55 عاما أعزب لديه طفل عليه امر بالتنفيذ وحكم بالسجن. قال تعالى: ﴿وأحسنُوا إِنَ اللَه يُحِب المُحسن…

216
حلقة جميلة من @MusabKhunaijir وأسعد تطرقوا فيها في مواضيع مثل المجالات الفرعية والتولز اللي تحتاج تعرفها كمهندس DevOps، والفرق بين مهندس الكلود والـ Devops، وكيف تبني مشاريع وتظهر خبرتك للشركات، وكيف تقدر تستفيد من مجال الـ DevOps في مجالك youtube.com/watch?v=wfRo6ru3…
1
1
15
1,326
محمّد الهاشمي retweeted
ذاكرت للفاينل؟ اختبر نفسك ✅ ارفع سلايداتك وحدد الصعوبه والوقت وانشئ اختبار من نفس المحتوى راح تعرف ايش نقاط ضعفك بناء على المواضيع والصفحات وتقويها بـ إعادة الاختبار والمقارنة بين المحاولات مع جهزني تدخل الاختبار وعندك تصور عن الاسئلة الي ممكن تجيك👏 jahizni.com
2
5
1,728
أهم مفهوم في oop، الوراثة (inheritance) لان حرفيًا ما في كلاس راح نسويه الا مفهوم الوراثة مطبق عليه الفكرة من الوراثة احيانًا ونحنا نبني برنامج بيكون هدفنا نقلل من كتابة الكود والاسطر ولا نكرره كل مرة (Reusability)، لنفترض عندنا نظام لشركة معينة، وعندنا اكثر من موظف بمختلف المجالات مثلًا developer، HR، marketing، لما اسوي ال Attributes بنلاحظ فيه صفات مشتركة مثل (الاسم, الايميل, الجوال, القسم, الادرس...) وغيرها من المعلومات اللي لازم تكون عند اي موظف (employee). طيب انا هنا ليش ما اسوي Attributes مشتركة بينهم كلهم؟ بدلًا من اعيد كتابة Attributes حقت كل كلاس؟ هنا يجي دور الوراثة توفر علي اني ارجع اكتب Attributes، كيف أقدر؟ بكل بساطة اجمع كل ال Attributes اللي أحتاجهم تكون مشتركة في كل الكلاسات واحطهم في كلاس عام واحد بنسميه (employee) لان لو نلاحظة في النهاية هم كلهم موظفين، واي كلاس يحتاج هذه Attributes علطول عن الطريق الوراثة يقدر يستفيد منها، هنا انا حققت (Reusability) بدلا من أعيد كتابة الكود مرة ثانية وفرت على نفسي أسطر، ممكن ما نشوف ان الوراثة تساعدنا مرة خصوصًا كمثال بسيط كهذا لكن لما برنامجك يكبر بتشوف كيف أنها توفر عليك الكثير.
1
5
487
نستكمل الحديث عن ال 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 ونقدر نحط فيه القيم اللي نحتاجها
9
525
واحد من أهم المنهجيات اللي أكيد راح تمر عليك ال object oriented programming (OOP) قبل ما نتعمق لازم نفهم نحنا ليش أصلا نحتاج ال OOP؟ وكيف ممكن نستفيد من هذي المنهجية؟ وفرقها عن باقي المنهجيات مثل (POP)procedural oriented programming تخيل معي أنك قاعد تبني بيت بس بدون خطة مجرد انك تحط الطوب بشكل عشوائي بدون ما تراعي عن كيفية تركيب الطوب، في البداية كل شيء بيكون ماشي تمام، بس بتلاحظ كل ما زاد الطوب صار الموضوع أعقد أنك تفهم وش قاعد يصير وكيف البيت أصلا راح يصمل؟ حتى اذا حاولت أنك تغير شيء صغير ممكن البيت كله يطيح، شفت الفوضى هذي كلها؟ هذا شكل البرنامج حقك بدون منهجية وبدون أي هيكلة واضحة يصير كل جزء في البرنامج مستقل بذاته وما تقدر تتحكم فيه مثل ما تبي ف يصير التغييرات الصغيرة تسبب مشاكل كبيرة. هنا يجي دور ال OOP تعطيك خطة وبناء واضح للبرنامج حيث يصير كل جزء من البرنامج مكانه وهدفه وتفاعله واضح مع الاجزاء الثانية من البرنامج، وهذا يخلي البرنامج قابل للتعديل والاستخدام، بحيث كل جزء من الكود عنده وظيفة محددة ف يصير التغيير فيه سهل أو حتى اعادة الاستخدام وهذا يوفر علي الكثير من الاسطر، أقرب مثال للفكرة هذي السيارة كل جزء من السيارة مستقل بذاته بس كل هذي الاجزاء متصلة مع بعض. خلنا نتكلم عن الفرق بين ال OOP و POP، على عكس ال OOP اللي تركز على تنظيم البيانات والكائنات (راح نتكلم عن الكائن بعدين)، تركز ال POP على الفنكشن وخطوات التنفيذ، ومن ناحية أسلوب ال POP تتبع اسلوب من فوق الى تحت بمعنى اركز على الفكرة الاساسية واقسمها اجزاء صغيرة متسلسلة، أما ال OOP من تحت الى فوق بمعنى تبدأ بالاجزاء الصغيرة ثم تجمعها وتربطها مع بعض حتى يتكون لنا برنامج. من ناحية بيانات في ال OOP تقدر تسوي لها Hide (بمعنى البيانات راح تقدر تحدد الوصول للبيانات وهذا يخليها محمية ومخفية)، على عكس ال POP ما تقدر تسوي لها "Hide" فأي أحد يقدر يوصل للبيانات لانها مشتركة (global)، هذا يعطي أفضلية لل OOP في الامان والتحكم بسبب الوصول للبيانات، على الجانب الاخر عيب في OOP انه عادة برامجها كبيرة ومعقدة وهذا يخلي البرنامج ابطأ على عكس ال POP اللي تعتبر أقل تعقيد وبساطة وهذا ممكن يخليها أفضل حل للمشاكل الصغيرة اللي ما فيها تعقيد كبير.
10
554
محمّد الهاشمي retweeted
Repost 🔁 هاشتاق بلغات مختلفة 1. العربية: #أنقذوا_السودان 2. الإنجليزية: #SaveSudan 3. الإسبانية: #SalvaSudan 4. الفرنسية: #SauverLeSoudan 5. الألمانية: #RettetSudan 6. الصينية: #拯救苏丹 7. الروسية: #СпаситеСудан 8. البرتغالية: #SalveOSudão 9. الهندية: #सुडानकोबचाओ
128
2,734
5,821
220,411
اللي عنده جافا الترم هذا او يبي يتعلم جافا بشكل عام لا يروح بعيد عن عادل نسيم youtube.com/playlist?list=PL…
9
1,205
محمّد الهاشمي retweeted
saadaiblog.netlify.app/ المدونة جاهزة إن شاء الله , راح أكتب فيها مايقارب ال70 مقالة عن الذكاء الإصطناعي من تحت الصفر وصولاً لمصطلحات جداً متقدمة (LLMs - AI Agents - Machine Learning Algorithms) وأمور أخرى بعالم الCS يُفضل معرفة بسيطة ببايثون , ويوجد الآن 4 مقالات في المدونة
12
25
294
16,696
طبيعي, قرأت ورقة تكلم عنها @AIVibecode عن هالموضوع, باختصار صحيح قلت عدد الاسئلة في الموقع بس زاد مستواها وصارت أغلبها مشاكل معقدة لانه صاروا يعتمدون على الذكاء في المشاكل الروتينية والسهلة
قبل الذكاء الإصطناعي كان لا بد لك كمبرمج من البحث عن حلول لمشاكلك بنفسك ومصدرك الأول كان إجابات stackoverflow بعد ظهور الذكاء الإصطناعي الموقع شبه مات .. والمحزن أن الكثير من مبرمجي الفايب كودينج اليوم والمستقبليين لن يعرفوا حتى ما هو!
1
7
1,110

في الفترة الأخيرة صار فيه كلام كثير بين المبرمجين إن موقع Stack Overflow انتهى وقته، لأن الذكاء الاصطناعي وبالذات ChatGPT صار يجاوب على أغلب الأسئلة البرمجية بسرعة، فليش الواحد يتعب نفسه ويكتب سؤال في الموقع وينتظر أحد يرد عليه. لكن طلعت دراسة جديدة بعنوان "Stack Overflow لم يمت بعد: إجابات البشر لا تزال مهمة". خلاصة الدراسة إن الموقع ما مات لكنه يتغير ويتطور. الباحثون جمعوا بيانات سنتين من الموقع وقارنوا الفترة قبل ظهور ChatGPT، يعني قبل نوفمبر 2022، بالفترة اللي بعده، وحتى يضمنون إن المقارنة عادلة قارنوا كل شهر مع نفس الشهر من السنة اللي قبله عشان يتجنبون أي تغييرات موسمية. أول ملاحظة كانت متوقعة إن عدد الأسئلة قل، وهذا منطقي لأن الأسئلة البسيطة صار الواحد يطرحها على ChatGPT ويأخذ جواب سريع بدل ما يكتبها في Stack Overflow. لكن المثير للاهتمام إن الأسئلة اللي ما زالت تُطرح في الموقع صارت أعمق وأكثر تعقيد، فمتوسط طول الأسئلة والأجوبة زاد وحجم الكود المرفق معها زاد بعد. مثلاً طول الكود في أسئلة بايثون ارتفع بنسبة 21%، وهذا يعني إن الناس ما عادوا يسألون عن الأساسيات، صاروا يسألون عن مشاكل أعقد تحتاج شرح مفصل وكود أكبر. الاستنتاج اللي وصلت له الدراسة إن فيه تقسيم عمل واضح، فالذكاء الاصطناعي صار يحل المشاكل السهلة والمعروفة، بينما Stack Overflow صار الملجأ للمشاكل اللي تحتاج خبرة بشرية ونقاش بين أكثر من مبرمج وفهم عميق لسياق المشكلة اللي الآلة ما تقدر تستوعبه. الموقع تحول من موسوعة عامة لكل شيء إلى غرفة عمليات للمشاكل الصعبة. هذا الكلام تدعمه دراسات ثانية، مثل دراسة من مؤتمر CHI 2024 اللي حللت 517 إجابة من ChatGPT على أسئلة مأخوذة من Stack Overflow ووجدت إن إجاباته مليئة بالأخطاء والمعلومات الملفقة، وهذا هو السبب اللي خلى الموقع يمنع نشر الإجابات المولدة بالذكاء الاصطناعي. الخلاصة إن الذكاء الاصطناعي ما قضى على Stack Overflow، لكنه صار بمثابة فلتر، أخذ منه الأسئلة السهلة والروتينية وترك له المشاكل اللي تحتاج عقل بشري وخبرة ونقاش جاد. الموقع ما مات، لكنه ترفّع وصار مكان للمسائل اللي تتطلب عمق وتفكير نقدي، وهو الدور اللي الذكاء الاصطناعي لسه ما يقدر يقوم فيه بكفاءة. رابط الورقة: arxiv.org/abs/2509.05879
2
339
النماذج اللغوية ما تفهم الأرقام كقيم رياضية مثلنا، بل تشوفها كـ "رموز" مجردة، يعني بالنسبة لها 2 = 3 = " " = "حصان" كلها رموز داخل فضاء احتمالي تختار منه لهذا لما تقول لها "خمن رقم عشوائي"، هي ما تفكر حسابيًا، بل لغويًا… وهنا يجي انحيازها لأرقام معينة مثل 27
7
622
مستودع للـ Project-Based Learning يعطيك أفكار مشاريع بلغات مختلفة (Python, Go, C , JS..) ومع كل مشروع رابط شرح يساعدك تطبقه بشكل مفصل github.com/practical-tutoria…
3
13
835
وحدة من السلاسل الكتب اللي ناوي أقراها في المستقبل Writing An Interpreter In Go Writing A Compiler In Go الاول يعلمك تسوي لغة بلغة Go، والثاني تكملة للاول كيف تحول اللغة اللي سويتها الى Compiler
6
472
{إِنَّ اللَّهَ وَمَلائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا}
4
12
888