تسابيح وأذكار عشوائية

…

عبدالسلام مطوّر أنظمة خلفية

أسعى لبناء أنظمة متقنة

أنظمة تعمل للعامة يوميا، بلا توقف ولا ضجيج.

٠١ أعمال مختارة

المشاريع

أنظمة بُنيت لتبقى دهرا.

كل المشاريع

٠١ أنظمة موزّعة

منصة تسليم الأحداث — Webhooks موثوقة

مشروع ذاتي لتطبيق أنماط الموثوقية في أنظمة الإنتاج — Outbox ومفاتيح Idempotency وقاطع الدائرة — على خدمة Spring Boot لتسليم الأحداث.

مطوّر منفرد · مشروع ذاتي قيد التطوير رسم تفاعلي

  • Java
  • Spring Boot
  • Spring Security
  • Flyway
  • Resilience4j
اقرأ دراسة الحالة

شكل ٠١ التسليم الموثوق للأحداث

  • 2 نوعا رموز JWT — وصول قصير العمر، وتحديث منفصل
  • 3 حالات قاطع الدائرة — مغلق، مفتوح، نصف مفتوح
  • Flyway هجرات قاعدة بيانات مُرقّمة وقابلة لإعادة البناء
محاكاة للتصميم المستهدف — بعض أجزائه قيد التطوير، والقيم المعروضة ليست قياسات. اقرأ الرسم
  1. الخدمة: تحفظ السجل وحدث الإرسال في المعاملة نفسها (Transactional Outbox)، فلا يُكتب أحدهما دون الآخر.
  2. جدول Outbox: الأحداث تنتظر هنا حتى تُسلَّم — لا تضيع إن سقطت الخدمة أو تعطّل المستقبِل.
  3. المُرسِل: يسحب الأحداث المعلّقة ويرسلها مع مفتاح Idempotency، فيتجاهل المستقبِل أي تكرار.
  4. قاطع الدائرة (Resilience4j): بعد فشل متكرر يفتح ويوقف الإرسال مؤقتًا، ثم يجرّب طلبًا واحدًا (نصف مفتوح) قبل أن يُغلق من جديد.
  5. المستقبِل: نقطة الـ webhook لدى العميل. عطّلها من الزر أدناه وراقب ما يحدث.

٠٢ تكامل الأنظمة

منصة التأهيل والتقييم

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

مطوّر خلفي · مشروع عمل رسم تفاعلي

  • Java
  • Spring Boot
  • MySQL
  • Liquibase
اقرأ دراسة الحالة

شكل ٠٢ إعادة المحاولة دون تكرار

    • 1 سجل واحد لكل طلب، مهما تكررت المحاولة
    • Idempotency-Key مفتاح ثابت يرافق الطلب في كل محاولة
    • Liquibase هجرات مُرقّمة وقابلة للتتبع عبر البيئات
    رسم مبسّط ومعمّم لمشروع عمل — القيم في المحاكاة ليست قياسات. اقرأ الرسم
    1. نموذج التقديم: أقسام متعددة ومرفقات كبيرة، يُرسل كطلب واحد.
    2. المنصة: تمنح كل طلب مفتاحًا فريدًا (Idempotency-Key) قبل أي اتصال خارجي.
    3. الشبكة: الأنظمة الخارجية قد تتأخر أو يضيع ردّها — فعّل «شبكة غير مستقرة» لترى ذلك.
    4. إعادة المحاولة: بعد انتهاء المهلة يُعاد الطلب بالمفتاح نفسه، لا بطلب جديد.
    5. النظام الخارجي: يتعرّف على المفتاح المكرر ويعيد النتيجة المحفوظة، فيبقى سجل واحد لكل طلب.

    ٠٣ الجدولة والإشعارات

    تذكيرات التجديد المجدولة

    رسائل تذكير بالبريد تُطلق عبر CronJob في Kubernetes يستدعي نقطة الوظيفة مرة واحدة بمفتاح API، فتُنفَّذ مرة واحدة رغم تعدد نسخ الخدمة.

    مطوّر خلفي · مشروع عمل رسم تفاعلي

    • Java
    • Spring Boot
    • Kubernetes
    اقرأ دراسة الحالة

    شكل ٠٣ تنفيذ واحد عبر نسخ متعددة

    • N → 1 نسخ متعددة، واستدعاء واحد يصل إلى نسخة واحدة
    • API Key نقطة الوظيفة لا تقبل إلا طلبات الجدولة الموقّعة بالمفتاح
    • Event / Listener الإرسال مفصول عن الجدولة، بقوالب بريد قابلة لإعادة الاستخدام
    رسم مبسّط ومعمّم لمشروع عمل — عدد النسخ في المحاكاة توضيحي. اقرأ الرسم
    1. CronJob في Kubernetes: يستدعي نقطة الوظيفة مرة واحدة في موعدها.
    2. مفتاح API: النقطة لا تقبل إلا الطلبات التي تحمل المفتاح المخزّن في Kubernetes — جرّب «طلب بلا مفتاح».
    3. Service في Kubernetes: يوجّه الطلب الواحد إلى نسخة واحدة من الخدمة، فلا تُنفَّذ الوظيفة إلا مرة.
    4. الحدث والمستمع: النسخة المنفّذة تنشر حدثًا، ومستمع منفصل يبني الرسالة من قالب قابل لإعادة الاستخدام.
    5. بريد العميل: رسالة واحدة لكل دورة. بدّل إلى «مُجدول داخل كل نسخة» لترى البديل الذي يتجنّبه التصميم.

    ٠٤ معالجة النص العربي

    محوّل PDF إلى EPUB للمحتوى العربي

    محاولة لتحويل كتب PDF العربية إلى EPUB بتنظيف النص بدل البحث عن مستخرج مثالي، مع الحفاظ على اتجاه النص وترتيب الفقرات.

    مطوّر منفرد قيد التطوير رسم تفاعلي

    • Python
    اقرأ دراسة الحالة

    شكل ٠٤ من PDF مشوّه إلى نص يُقرأ

    • RTL اتجاه النص العربي وترتيب الفقرات محفوظان
    • خفيف بلا أدوات ثقيلة — بهدف نشره أداةً في المتصفح
    • Python مكتوب يدويًا، دون مساعدات الذكاء الاصطناعي
    الأسطر من مخرجات الاختبار الحقيقية المنشورة في التدوينة؛ خطوات التنظيف هي المسار المقترح، والمشروع متوقف مؤقتًا. اقرأ الرسم
    1. المحوّلات العامة: مبنية للغات اللاتينية، فتخرج الحروف العربية مفككة ومعكوسة وتملأ الأسطر بالفراغات.
    2. الاستخراج: نص شبه صحيح، لكن فيه أخطاء متكررة يمكن التنبؤ بها.
    3. تنظيف الرموز: الفاصلة العربية تُقرأ «ء» في آخر الكلمة — قاعدة واحدة تصلحها في كل الكتاب.
    4. عزل النص الأجنبي: المقاطع اللاتينية داخل السطر العربي تُعلَّم للمراجعة بدل أن تُفسد ما حولها.
    5. إعادة بناء الفقرات: الأسطر المقطوعة تُدمج في فقرات تتدفق على شاشة القارئ الإلكتروني.

    مشاريع أخرى

    • ذكاء اصطناعي

      مطوّر منفرد

      نظام وكيل ذكاء اصطناعي مستقل عن مزوّد النموذج، بمكوّنات معيارية منفصلة وقابل للنشر على Kubernetes.

      • Python
      • LiteLLM
      • Docker
      • Kubernetes
      • ChromaDB

    ٠٣ الخبرة

    المسار المهني

    1. 2025 — حتى الآن

      مطوّر برمجيات

      الشركة السعودية للتحكم التقني والأمني الشامل (Tahakom)

      عملت في تحكم على بناء أنظمة لجهات حكومية، ودمج معلومات من جهات خارجية أخرى ضمن التطبيق. اعتمدت الأنظمة بشكل أساسي على Spring Boot، إلى جانب تقنيات أخرى مثل S3 وMySQL وDocker.

      • Java
      • Spring Boot
      • MySQL
      • Kafka
      • S3
      • Docker
      • Kubernetes
    2. 2024 — 2025

      مهندس برمجيات

      لوسيديا

      طوّرت خدمات خلفية قابلة للتوسّع بلغتي Python وRuby، وأعدت هيكلة معالجة المهام غير المتزامنة عبر RabbitMQ وSidekiq، وحسّنت استعلامات قواعد بيانات PostgreSQL وفهرستها لرفع كفاءة الأداء.

      • Python
      • Ruby
      • PostgreSQL
      • RabbitMQ
      • React
      • Django
      • Ruby on Rails
      • Metabase
      • Sidekiq
    3. 2024

      متدرّب هندسة برمجيات

      لوسيديا

      بنيت واجهات برمجية باستخدام FastAPI وFlask للتكامل مع واجهات React.js، وأسهمت في إعداد خطوط CI/CD لتسريع دورات الإصدار.

      • FastAPI
      • Django
      • PostgreSQL
      • React

    ٠٤ اعتمادات

    الشهادات

    • 2026

      أساسيات DevOps لتطوير التطبيقات الحديثة

      GIA

    • 2026

      أساسيات علم البيانات المسرّع باستخدام GPU

      NVIDIA · أكاديمية طويق

    • 2026

      تطوير التطبيقات باستخدام النماذج اللغوية الكبيرة

      NVIDIA · أكاديمية طويق

    • 2026

      إطلاق قوة وكلاء الذكاء الاصطناعي

      IBM SkillsBuild

    • 2024

      تعلّم الآلة من الألف إلى الياء: AI وPython وR

      Udemy

    ٠٦ تواصل

    لنتحدث

    فرصة عمل، أو فكرة مشروع، أو سؤال تقني — يسعدني أن أسمع منك.