خان المُبرمجين (علي فاضل)
Photo
سنة 2019 كنت أبحث عن فرصة تدريب جامعي. قدَّمت للكثير من الشركات وقابلت في أكثر من واحدة وكانت دائما المشكلة في الجنسية. أنا ليبي وأدرس في الأردن والشركات تستصعب استصدار الأوراق المطلوبة سواء لتدريب أو توظيف الأجانب. كانت فترة صعبة ولكن ولله الحمد توفقت لفرصة تدريبية في شركة Samsung بعد ترشيح من مُشرف مشروع تخرُّجي وأستاذي بارك الله فيه وفي علمه وعمله، واجتيازي للمقابلة.
عزيزي الطالب، أتفهَّم شعورك أثناء مرحلة البحث عن فرصة للتدريب الجامعي، وما ذكرته في الأعلى يُثبت ذلك، ولكن أن تُرسل أنت وأصدقائك نفس البريد الإلكتروني (المكتوب باستخدام أدوات الذكاء الاصطناعي غالبًا) بحثًا عن فرصة تدريبية وتذكر في بداية البريد: "Dear Sir/Madam" فهذا يعني أنك لا تدري مع من تتكلم ولا تُخاطب الشخص بما يُريد أن يسمعه منك وعنك.
الصورة المُرفقة وصلتني على بريدي الشخصي من 3 أيام تقريبًا وترددت جدًّا في نشر هذا المنشور، ويعلم الله أن هدفي هو النصح للطلبة فقد كنت واحدًا منهم في يوم من الأيام. قال رسول الله صلى الله عليه وسلم: "بِحسْبِ امْرِئٍ من الشَّرِّ أنْ يَحقِرَ أخاهُ المسلِمَ" - صححه الألباني.
فاهتموا بكتابة بريد مخصص للشخص المُرسل له بارك الله فيكم، واهتموا باختصار سيرتكم الذاتية وذكر المهم فيها وما يتعلَّق بالوظيفة التي تطلبونها، وأخيرًا اهتموا بحساباتكم على GitHub (أو غيره) وعلى LinkedIn و X وغيرها وانشروا المشاريع التي تعملون على تنفيذها والمهارات التي تتعلمونها. فما فائدة حساب GitHub أو LinkedIn (أو غيره) فارغ لا يخبرني عنك شيئًا؟
كونوا مبدعين في تواصلكم وتسويق خبراتكم وإظهارها، فالعادي كثير والشركات المميزة تبحث عن الاستثنائيين.
هذا والله أعلى وأعلم، والسلام عليكم 👋🏻
عزيزي الطالب، أتفهَّم شعورك أثناء مرحلة البحث عن فرصة للتدريب الجامعي، وما ذكرته في الأعلى يُثبت ذلك، ولكن أن تُرسل أنت وأصدقائك نفس البريد الإلكتروني (المكتوب باستخدام أدوات الذكاء الاصطناعي غالبًا) بحثًا عن فرصة تدريبية وتذكر في بداية البريد: "Dear Sir/Madam" فهذا يعني أنك لا تدري مع من تتكلم ولا تُخاطب الشخص بما يُريد أن يسمعه منك وعنك.
الصورة المُرفقة وصلتني على بريدي الشخصي من 3 أيام تقريبًا وترددت جدًّا في نشر هذا المنشور، ويعلم الله أن هدفي هو النصح للطلبة فقد كنت واحدًا منهم في يوم من الأيام. قال رسول الله صلى الله عليه وسلم: "بِحسْبِ امْرِئٍ من الشَّرِّ أنْ يَحقِرَ أخاهُ المسلِمَ" - صححه الألباني.
فاهتموا بكتابة بريد مخصص للشخص المُرسل له بارك الله فيكم، واهتموا باختصار سيرتكم الذاتية وذكر المهم فيها وما يتعلَّق بالوظيفة التي تطلبونها، وأخيرًا اهتموا بحساباتكم على GitHub (أو غيره) وعلى LinkedIn و X وغيرها وانشروا المشاريع التي تعملون على تنفيذها والمهارات التي تتعلمونها. فما فائدة حساب GitHub أو LinkedIn (أو غيره) فارغ لا يخبرني عنك شيئًا؟
كونوا مبدعين في تواصلكم وتسويق خبراتكم وإظهارها، فالعادي كثير والشركات المميزة تبحث عن الاستثنائيين.
هذا والله أعلى وأعلم، والسلام عليكم 👋🏻
❤15
خان المُبرمجين (علي فاضل)
خلال بحث على Google (نعم، أستخدم Google أحيانا 😅) وجدت هذا المنشور على Reddit واستوقفني العنوان: "I spent the past 3 months working on a..." عمر هذا المنشور 3 سنوات، أظن لو أن الكاتب بدأ العمل على نفس المشروع اليوم، فسينتهي خلال أيام. الأمور تتطور بسرعة كبيرة.
وجدت ما كنت أبحث عنه، فبدأت بقراءة ملف الـ README.md الخاص بالمكتبة، لأكتشف أن صاحبها لم يطلب رأي الناس، إنما طلب رأي نماذج الذكاء الاصطناعي في مكتبته 😂
لا مكان للـ Testimonials بعد اليوم 🥲
لا مكان للـ Testimonials بعد اليوم 🥲
🤣9❤1
خان المُبرمجين (علي فاضل)
Photo
سنة 2024 بنيت مكتبة تحويل بلغة Python واستغرق الأمر 9 أيام (بناءً على Git) مع العلم أن جزءًا كبيرًا من شيفرة المكتبة كان موجودًا في ملفات خارجية مسبقًا. دور الذكاء الاصطناعي كان محدودًا نوعًا ما، مجرد أسئلة وأجوبة على المتصفح.
سنة 2025 أعدت بناء المكتبة من الصفر بلغة Ruby، لعدة أسباب ليس هذا وقت ذكرها، واستغرق الأمر 5 أيام تقريبا. كان دور الذكاء الاصطناعي في هذه المرة محوريًّا، فلم أكتب شيئًا بيدي تقريبًا، ولكن كنت أقود الذكاء الاصطناعي خطوة بخطوة وأتأكد من المخرجات.
سنة 2026 أعدت بناء المكتبة باستخدام Tauri لبناء تطبيق سطح مكتب لها (Rust + JS) وهذه المرة استغرق الأمر يومين فقط. الذكاء الاصطناعي كتب كل شيء بنفسه ولم أراجع الشيفرة البرمجية المُنتجة، لأن معرفتي بـ Rust تساوي معرفتي بالكيمياء الحيوية.
فقط طلبت منه استخدام مكتبة Ruby كمرجع. ثم بعد انتهاءه من الكتابة، أصلحت بعض الأمور البسيطة كالـ CI.
هذه تجربة عملية عن تطوُّر أدوات البرمجة بالذكاء الاصطناعي وكيف يمكن أن تستفيد منها بشكل مباشر لتسريع عملك، وهذا لا يعني أن دور المبرمج انتهى، ففي البناء الثاني كنت أقود الذكاء الاصطناعي، وفي البناء الثالث كان الذكاء الاصطناعي يعمل بناء على مرجع موجود.
أيضًا لا ننسى عامل "الثقة"، فأنا أثق بالبناء الأول والثاني لأني اطلعت على الشيفرة البرمجية وأعلم ما الذي تفعله، أما في البناء الثالث فأنا لا أدري شيئًا عنها.
الروابط في أول تعليق 👇
والسلام عليكم 👋🏻
سنة 2025 أعدت بناء المكتبة من الصفر بلغة Ruby، لعدة أسباب ليس هذا وقت ذكرها، واستغرق الأمر 5 أيام تقريبا. كان دور الذكاء الاصطناعي في هذه المرة محوريًّا، فلم أكتب شيئًا بيدي تقريبًا، ولكن كنت أقود الذكاء الاصطناعي خطوة بخطوة وأتأكد من المخرجات.
سنة 2026 أعدت بناء المكتبة باستخدام Tauri لبناء تطبيق سطح مكتب لها (Rust + JS) وهذه المرة استغرق الأمر يومين فقط. الذكاء الاصطناعي كتب كل شيء بنفسه ولم أراجع الشيفرة البرمجية المُنتجة، لأن معرفتي بـ Rust تساوي معرفتي بالكيمياء الحيوية.
فقط طلبت منه استخدام مكتبة Ruby كمرجع. ثم بعد انتهاءه من الكتابة، أصلحت بعض الأمور البسيطة كالـ CI.
هذه تجربة عملية عن تطوُّر أدوات البرمجة بالذكاء الاصطناعي وكيف يمكن أن تستفيد منها بشكل مباشر لتسريع عملك، وهذا لا يعني أن دور المبرمج انتهى، ففي البناء الثاني كنت أقود الذكاء الاصطناعي، وفي البناء الثالث كان الذكاء الاصطناعي يعمل بناء على مرجع موجود.
أيضًا لا ننسى عامل "الثقة"، فأنا أثق بالبناء الأول والثاني لأني اطلعت على الشيفرة البرمجية وأعلم ما الذي تفعله، أما في البناء الثالث فأنا لا أدري شيئًا عنها.
الروابط في أول تعليق 👇
والسلام عليكم 👋🏻
❤7
خان المُبرمجين (علي فاضل)
Video
كنت أتصفَّح X يوم الخميس، فوجدت شخصًا يبحث عن منصة تدمج بين:
1. التحرير التعاوني لملفات Markdown في الوقت الفعلي، كما هو متاح في منصات مثل Notion أو Google Docs (على اختلاف صِيَغ الملفات)
2. إمكانية التعامل مع المشاريع في هذه المنصة على أنها مستودع Git، كما هو متاح في منصات مثل GitHub و GitLab
أعجبتني الفكرة؛ فهي مفيدة خلال الاجتماعات أو التعاون في كتابة الملفات، وفي الوقت ذاته تتوافق بشكل ممتاز في حال أردت استخدام أدوات مثل Claude Code أو Codex لمراجعة هذه الملفات وتعديلها محليًّا ثم رفع التعديلات.
رددت عليه مازحا فكتبت:
Let's vide-code one 🚀
(نعم، أخطأت في كتابة كلمة vibe 🥲)
ثم فكرت: لمَ لا 🤔؟ فقررت تجربة إنشاء هذه المنصة باستخدام Claude Code 🤓 وكانت النتيجة MDArena:
https://github.com/AliOsm/MDArena
منصة مكتوبة باستخدام Rails + InertiaJS + VueJS، تعتمد على قاعدة بيانات PostgreSQL ومكتبات مثل Y.js و CodeMirror لتوفير تجربة تحرير تعاونية لملفات Markdown في الوقت الفعلي، وتُعامل المشاريع الموجودة عليها على أنها مستودعات Git 😁
كان المشروع للتسلية، ولم أكتب فيه أي سطر برمجي. كنت أختبر نموذج Opus 4.6 فقط لا غير، ثم راجعته بالكامل باستخدام Codex و GPT 5.3 Codex XHigh.
هل تظنون أن توفير هذه المنصة مفيد فعلًا؟ وهل تسجيل فيديو أشرح فيه عملية بنائها سيكون جيدًا؟
الفيديو المُرفق يستعرض المنصة بشكل سريع، واسم صديقي العزيز إبراهيم تفاحة يضيء فيه 😂
https://www.youtube.com/watch?v=RwEw10p80OI
والسلام عليكم 👋🏻
1. التحرير التعاوني لملفات Markdown في الوقت الفعلي، كما هو متاح في منصات مثل Notion أو Google Docs (على اختلاف صِيَغ الملفات)
2. إمكانية التعامل مع المشاريع في هذه المنصة على أنها مستودع Git، كما هو متاح في منصات مثل GitHub و GitLab
أعجبتني الفكرة؛ فهي مفيدة خلال الاجتماعات أو التعاون في كتابة الملفات، وفي الوقت ذاته تتوافق بشكل ممتاز في حال أردت استخدام أدوات مثل Claude Code أو Codex لمراجعة هذه الملفات وتعديلها محليًّا ثم رفع التعديلات.
رددت عليه مازحا فكتبت:
Let's vide-code one 🚀
(نعم، أخطأت في كتابة كلمة vibe 🥲)
ثم فكرت: لمَ لا 🤔؟ فقررت تجربة إنشاء هذه المنصة باستخدام Claude Code 🤓 وكانت النتيجة MDArena:
https://github.com/AliOsm/MDArena
منصة مكتوبة باستخدام Rails + InertiaJS + VueJS، تعتمد على قاعدة بيانات PostgreSQL ومكتبات مثل Y.js و CodeMirror لتوفير تجربة تحرير تعاونية لملفات Markdown في الوقت الفعلي، وتُعامل المشاريع الموجودة عليها على أنها مستودعات Git 😁
كان المشروع للتسلية، ولم أكتب فيه أي سطر برمجي. كنت أختبر نموذج Opus 4.6 فقط لا غير، ثم راجعته بالكامل باستخدام Codex و GPT 5.3 Codex XHigh.
هل تظنون أن توفير هذه المنصة مفيد فعلًا؟ وهل تسجيل فيديو أشرح فيه عملية بنائها سيكون جيدًا؟
الفيديو المُرفق يستعرض المنصة بشكل سريع، واسم صديقي العزيز إبراهيم تفاحة يضيء فيه 😂
https://www.youtube.com/watch?v=RwEw10p80OI
والسلام عليكم 👋🏻
🔥8❤2
إلى الأصدقاء في دبي (والإمارات عامةً)، تُقيم MilkStraw AI فعالية لمن يعيشون على كتابة الشيفرات البرمجية وتملأ حياتهم الشاشات السوداء ويُصيبهم ضعف النظر مبكرًا وغيرها من الأمور التي لا يتسع المجال لذكرها 😂
ستقام الفعالية يوم الجمعة القادم، ويمكنكم التسجيل فيها من هذا الرابط:
https://luma.com/6eg1dhml
للأسف، لن أكون موجودًا، ولكن زملائي جواد شريم وأنس عبدالله سيكونان حاضرين بإذن الله ✌️
نتمنى ممّن يستطيع الحضور أن يفعل، ففعاليات MilkStraw دائمًا مختلفة 😉
ستقام الفعالية يوم الجمعة القادم، ويمكنكم التسجيل فيها من هذا الرابط:
https://luma.com/6eg1dhml
للأسف، لن أكون موجودًا، ولكن زملائي جواد شريم وأنس عبدالله سيكونان حاضرين بإذن الله ✌️
نتمنى ممّن يستطيع الحضور أن يفعل، ففعاليات MilkStraw دائمًا مختلفة 😉
❤5🔥1
Media is too big
VIEW IN TELEGRAM
هل تعانون من عدم استقرار قاعدة بيانات بيئة التطوير عند التنقل بين فروع المشروع (Branches)؟ 🤔
واجهنا هذه المشكلة في MilkStraw AI وصنعنا حلًّا يُناسبنا ونشرناه لعله يُفيد الآخرين 🚀
في هذا الفيديو أستعرض المشكلة والطريقة التي اتبعناها لحلها 🤓
https://www.youtube.com/watch?v=Z4zsGm4k6ik
رابط المشروع على GitHub:
https://github.com/milkstrawai/branch_db
واجهنا هذه المشكلة في MilkStraw AI وصنعنا حلًّا يُناسبنا ونشرناه لعله يُفيد الآخرين 🚀
في هذا الفيديو أستعرض المشكلة والطريقة التي اتبعناها لحلها 🤓
https://www.youtube.com/watch?v=Z4zsGm4k6ik
رابط المشروع على GitHub:
https://github.com/milkstrawai/branch_db
🔥4❤3
This media is not supported in your browser
VIEW IN TELEGRAM
هل تبحث عن واجهة لـ Claude Code تعمل على المتصفح ؟.؟
وجدت هذا المستودع خلال تصفحي منصة X:
https://github.com/The-Vibe-Company/companion
فجرَّبته ويبدو أنه لطيف ويعمل بشكل جيد! واجهة جميلة على المتصفح لاشتراكك على Claude Code بدلا من استخدامه من الـ Terminal 🤓
وجدت هذا المستودع خلال تصفحي منصة X:
https://github.com/The-Vibe-Company/companion
فجرَّبته ويبدو أنه لطيف ويعمل بشكل جيد! واجهة جميلة على المتصفح لاشتراكك على Claude Code بدلا من استخدامه من الـ Terminal 🤓
❤1🔥1
خان المُبرمجين (علي فاضل)
Photo
قال صلى الله عليه وسلم: "اعقِلْها وتوكَّلْ"
وجدت الحديث قبل قليل وأنا أحاول ترجمة:
"Good intentions don't work, mechanisms do"
نستخدم في MilkStraw AI منصة Linear لإدارة المشاريع والمهام، ولكن بناء عادة "تجهيز المهمة على Linear، ثم إنجازها، ثم ربطها بـ Pull Request على GitHub" كان تحديًا حقيقيًّا.. والاعتماد على "حسن النوايا" لم يكن كافياً 😅
شخصيًّا، كنت أنسى توثيق المهام الصغيرة، وأحياناً تمر مشاريع كاملة دون توثيق كافٍ، وكنا في كل اجتماع نُذكّر بعضنا بالأمر دون جدوى ملموسة.
لذا قررنا الانتقال من "النية" إلى "الآلية":
1. منذ أسبوعين، وفَّقنا الله لإنشاء أمر جديد ضمن أوامر Mise التي نستخدمها لإدارة بيئة التطوير، ومهمته الأساسية هي إنشاء الـ PRs.
2. اعتمدنا سياسة صارمة: نرفض أي PR لا يتم إنشاؤه عبر هذا الأمر: mise pr:create.
3. وبالأمس، أضفنا ميزة تمنع المستخدم من إنشاء الـ PR إلا بعد إدخال معرّف المهمة (Issue ID) المرتبطة بها من Linear كالتالي: mise pr:create -t DEV1234.
النتيجة: أصبح الجميع مُجبرًا (بفعل النظام لا بحسن النوايا) على إنشاء مهمات على Linear وربطها بالـ PRs التي ينشئونها على GitHub وتوقفنا عن لوم الذاكرة 🤓
كتبت هذا المنشور لأن هذا التعديل "أجبرني" قبل قليل على إنشاء مهمة على Linear كنت سأنساها 🫠
والسلام عليكم 👋🏻
وجدت الحديث قبل قليل وأنا أحاول ترجمة:
"Good intentions don't work, mechanisms do"
نستخدم في MilkStraw AI منصة Linear لإدارة المشاريع والمهام، ولكن بناء عادة "تجهيز المهمة على Linear، ثم إنجازها، ثم ربطها بـ Pull Request على GitHub" كان تحديًا حقيقيًّا.. والاعتماد على "حسن النوايا" لم يكن كافياً 😅
شخصيًّا، كنت أنسى توثيق المهام الصغيرة، وأحياناً تمر مشاريع كاملة دون توثيق كافٍ، وكنا في كل اجتماع نُذكّر بعضنا بالأمر دون جدوى ملموسة.
لذا قررنا الانتقال من "النية" إلى "الآلية":
1. منذ أسبوعين، وفَّقنا الله لإنشاء أمر جديد ضمن أوامر Mise التي نستخدمها لإدارة بيئة التطوير، ومهمته الأساسية هي إنشاء الـ PRs.
2. اعتمدنا سياسة صارمة: نرفض أي PR لا يتم إنشاؤه عبر هذا الأمر: mise pr:create.
3. وبالأمس، أضفنا ميزة تمنع المستخدم من إنشاء الـ PR إلا بعد إدخال معرّف المهمة (Issue ID) المرتبطة بها من Linear كالتالي: mise pr:create -t DEV1234.
النتيجة: أصبح الجميع مُجبرًا (بفعل النظام لا بحسن النوايا) على إنشاء مهمات على Linear وربطها بالـ PRs التي ينشئونها على GitHub وتوقفنا عن لوم الذاكرة 🤓
كتبت هذا المنشور لأن هذا التعديل "أجبرني" قبل قليل على إنشاء مهمة على Linear كنت سأنساها 🫠
والسلام عليكم 👋🏻
❤4🔥2😁2
أول مساهمة على روبي عربي من الأخ Ghassen Faidi جزاه الله خيرا 🎉
رابط المساهمة:
https://github.com/AliOsm/ruby3araby/pull/2
رابط المستودع:
https://github.com/AliOsm/ruby3araby
رابط المساهمة:
https://github.com/AliOsm/ruby3araby/pull/2
رابط المستودع:
https://github.com/AliOsm/ruby3araby
❤6
خان المُبرمجين (علي فاضل)
Photo
فكرة وجود شيء يُنفِّذ ما تطلبه منه بجودة معقولة طوال الوقت مُرهقة
تريد أن تجعله يعمل دون توقُّف لتُنجز أكبر قدر ممكن من العمل، ثم تحتاج لمراجعة جزء من هذا الإنجاز لأنك لن تستطيع مراجعته بالكامل غالبًا، ثم تحتاج لتجهيز الدفعة التالية من الأعمال، وهكذا تدور في دوَّامة لا نهاية لها.
من مشاكل هذه الدوَّامة أنك تستطيع التعامل معها بسهولة من حاسبك فقط، فكل الوسائل الأخرى جودة تجربة المستخدم فيها ضعيفة إلى حد كبير.
طبَّقت البارحة هذا الشرح:
https://sealos.io/blog/claude-code-on-phone
لربط هاتفي بحاسبي من خلال SSH للتحدِّث مع Claude Code وأنا بعيد عن الحاسب. أتابع تقدُّم المهام، وأعطيه الأوامر التالية لتنفيذها.
أُعجبت جدًّا بهذه الطريقة وهي سلسة نوعًا ما:
- تستخدم Tailscale لإنشاء شبكة خاصة بين أجهزتك
- تستخدم tmux لإنشاء Sessions على الحاسب وحفظ حالتها
- تستخدم تطبيقًا مثل Termius على هاتفك لتتحكم بالحاسب
ولكن هذه الطريقة تجعلك تغرق في الدوَّامة أكثر من السابق للأسف. للحظة ستشعر أنك أنت "عنق الزجاجة" لعجلة الإنتاجية الجميلة هذه.
فرصة تشتتك وعدم تركيزك في هذه الأزمان كبيرة جدًّا سواء على مستوى حياتك الشخصية أو اهتماماتك العملية والعلمية، لأنك تستطيع فعل كل شيء "نظريًّا" وأنت تكتب على هاتفك ودون تكلفة كبيرة إلى حد ما.
أسأل الله التوفيق وسداد الرأي لي ولكم.
تريد أن تجعله يعمل دون توقُّف لتُنجز أكبر قدر ممكن من العمل، ثم تحتاج لمراجعة جزء من هذا الإنجاز لأنك لن تستطيع مراجعته بالكامل غالبًا، ثم تحتاج لتجهيز الدفعة التالية من الأعمال، وهكذا تدور في دوَّامة لا نهاية لها.
من مشاكل هذه الدوَّامة أنك تستطيع التعامل معها بسهولة من حاسبك فقط، فكل الوسائل الأخرى جودة تجربة المستخدم فيها ضعيفة إلى حد كبير.
طبَّقت البارحة هذا الشرح:
https://sealos.io/blog/claude-code-on-phone
لربط هاتفي بحاسبي من خلال SSH للتحدِّث مع Claude Code وأنا بعيد عن الحاسب. أتابع تقدُّم المهام، وأعطيه الأوامر التالية لتنفيذها.
أُعجبت جدًّا بهذه الطريقة وهي سلسة نوعًا ما:
- تستخدم Tailscale لإنشاء شبكة خاصة بين أجهزتك
- تستخدم tmux لإنشاء Sessions على الحاسب وحفظ حالتها
- تستخدم تطبيقًا مثل Termius على هاتفك لتتحكم بالحاسب
ولكن هذه الطريقة تجعلك تغرق في الدوَّامة أكثر من السابق للأسف. للحظة ستشعر أنك أنت "عنق الزجاجة" لعجلة الإنتاجية الجميلة هذه.
فرصة تشتتك وعدم تركيزك في هذه الأزمان كبيرة جدًّا سواء على مستوى حياتك الشخصية أو اهتماماتك العملية والعلمية، لأنك تستطيع فعل كل شيء "نظريًّا" وأنت تكتب على هاتفك ودون تكلفة كبيرة إلى حد ما.
أسأل الله التوفيق وسداد الرأي لي ولكم.
❤5😱1😐1😨1
Screenshot 2026-02-18 at 11.11.01 AM.png
5.4 KB
أحدهم كان يفحص ثغرات MilkStraw AI 🤓
فتحت قائمة الوصول السريع (Command+K) في منصة MilkStraw البارحة وضغطت "/" صدفة لأجد هذا المستخدم يُحاول استخدام ezxss . com لفحص ثغرة XSS على المنصة.
الحمدلله أغلب هذه الثغرات البسيطة تُعالجها Ruby on Rails تلقائيًّا لنهتم نحن بمعالجة الثغرات في الشيفرة البرمجية التي نكتبها نحن.
وأنت صديقي، ابحث عن "/" في أسماء المستخدمين لديك 😂
فتحت قائمة الوصول السريع (Command+K) في منصة MilkStraw البارحة وضغطت "/" صدفة لأجد هذا المستخدم يُحاول استخدام ezxss . com لفحص ثغرة XSS على المنصة.
الحمدلله أغلب هذه الثغرات البسيطة تُعالجها Ruby on Rails تلقائيًّا لنهتم نحن بمعالجة الثغرات في الشيفرة البرمجية التي نكتبها نحن.
وأنت صديقي، ابحث عن "/" في أسماء المستخدمين لديك 😂
❤5😁1
أطلقنا مؤخراً في MilkStraw AI نظامًا للخصومات، وأثناء تنفيذه واجهنا تحديات تتعلق بتناسق البيانات (Data Consistency) نتيجة العمليات المتزامنة.
في هذه المقالة، استعرضت خمس مشكلات شائعة واجهتنا، وكيفية معالجتها برمجيًّا مع أمثلة توضيحية لتبسيط الفكرة.
https://www.milkstraw.ai/blog/database-race-conditions-coupon-system-rails
في هذه المقالة، استعرضت خمس مشكلات شائعة واجهتنا، وكيفية معالجتها برمجيًّا مع أمثلة توضيحية لتبسيط الفكرة.
https://www.milkstraw.ai/blog/database-race-conditions-coupon-system-rails
❤5