روح للمحتوى

عملت منتجك بالـ AI؟ يلا نجهّزه للـ production.

بناخد المواقع ومنتجات SaaS وأنظمة ERP وتطبيقات الموبايل اللي اتعملت بالـ AI ونجهّزها للـ production. وكمان بنعمل security review، وبنحمي تطبيقات الموبايل من الـ reverse engineering والتلاعب.

أول مراجعة ببلاش.

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

مثال توضيحي

app/dashboard/page.tsx

const API_KEY = "sk_live_REPLACE_ME"; export default function Dashboard() {  const [users, setUsers] = useState([]);   useEffect(() => {    (async () => {      const rows = await db.query("SELECT * FROM users");      for (const u of rows) {        u.orders = await db.query(          `SELECT * FROM orders WHERE user_id = ${u.id}`        );      }      setUsers(rows);    })();  }, []);   return <Table rows={users} />;}

Prototype ملاحظات: secret جوه الكود, N+1 loop, مفيش error handling

الـ prototype بيثبت الفكرة. لكن الـ production هو اللي بيخليها تعيش.

أدوات الـ AI بتوصّلك لديمو شغال بسرعة، وده إنجاز حقيقي. الديمو بيثبت الفكرة، لكن اليوزرز الحقيقيين بيختبروا كل حاجة تانية، والمشاكل دي بتظهر كل ما الاستخدام يزيد.

مثال توضيحي، مش أرقام حقيقية

ديمو: إنت وكام حد بيجرّبوا. كل حاجة شكلها شغالة.

Launch: يوزرز حقيقيين وداتا حقيقية. هنا الصلاحيات والـ secrets والـ deploy اللي محدش شايفه بيبتدوا يفرقوا.

النمو: داتا وزيارات وتعديلات أكتر. ودلوقتي الـ architecture نفسها بتبتدي تتعب.

الـ Architecture

  • Architecture بتتعب مع النمو

    Structure كانت ماشية مع 10 يوزرز ممكن تبتدي تتعب عند 1,000.

الـ Performance

  • صفحات بطيئة و queries تقيلة

    Queries من غير indexes، أو بتتكرر لكل record (N+1)، بتبطّأ الصفحات كل ما الداتا تزيد.

الـ Security

  • ثغرات في الـ login والصلاحيات

    مين يقدر يشوف ومين يقدر يعدّل، القواعد دي مش متطبقة في كل حتة المفروض تتطبق فيها.

  • الـ secrets والـ config والـ environments

    الـ keys مكتوبة جوه الكود، أو بتتنقل بالإيد بين الـ environments.

الـ Stability

  • مفيش tests، فأي تعديل مخاطرة

    تصلّح حتة، تبوّظ حتة تانية من غير ما تاخد بالك.

  • Deploy بالإيد و errors محدش شايفها

    الـ deploy بيتعمل بالإيد، والعملاء بيكتشفوا المشاكل قبلك.

Security review للكود المعمول بالـ AI.

أدوات الـ AI بتطلّع features شغالة، بس كتير بيفوتها الصلاحيات وإدارة الـ secrets وحماية الداتابيز اللي أي سيستم على production محتاجها. بنراجع تطبيقات الويب والموبايل وندوّر على الثغرات دي، ونصلّح اللي نلاقيه، ونضيف tests عشان الـ fix يفضل ثابت.

مثال توضيحي، مش فحص للكود بتاعك.

الـ RequestGET /api/invoices/1042من عميل عامل login، لفاتورة بتاعة عميل تاني

  1. بيانات العملاءمحدش لمسها

403 Forbidden. الصلاحيات وقفته: الفاتورة 1042 بتاعة عميل تاني.

الصلاحيات (Authorization)

بتتأكد من: بتتأكد إن اليوزر ده، بالـ role بتاعه، من حقه يوصل للـ record ده أو يعمل الحركة دي بالذات.

اختار بوابة عشان تشوف بتتأكد من إيه.

المراجعة بتغطي كل البوابات اللي فوق، وكمان

  • الـ injection في queries الـ SQL والـ NoSQL
  • الـ dependencies والـ packages اللي فيها ثغرات معروفة
  • رفع الملفات والـ webhooks وإشعارات الدفع
  • الـ CORS والـ security headers

هتستلم إيه

  • تقرير مكتوب بالمشاكل مترتب حسب الخطورة
  • Fixes أو Pull Requests للمشاكل اللي نلاقيها
  • Regression tests تضمن إنها ماترجعش تاني

الـ security review بيقلل المخاطر وبيصلّح المشاكل المعروفة، بس مايقدرش يضمن إن السيستم مفيهوش ثغرات خالص.

اطلب security review

Security تطبيقات الموبايل وتقوية حمايتها

أي حد يقدر ينزّل الـ APK أو حزمة التطبيق ويفكها، أو يعدّل فيها، أو يشغّلها على جهاز متهكّر. بنعمل assessment لتطبيقات Android وiOS وFlutter وبنقوّي حماية الكود والـ keys والبيانات اللي فيها. والحماية المناسبة بتختلف حسب التطبيق ودرجة المخاطرة.

  • Hardening للتطبيق

    إعدادات الـ release والـ obfuscation والحمايات اللي بتصعّب الـ reverse engineering والتعديل على التطبيق.

  • كشف مخاطر الجهاز وقت التشغيل

    اكتشاف الـ debugging والـ hooking والتلاعب والأجهزة اللي عليها root أو jailbreak، والتصرف على قد الخطورة.

  • الـ keys والبيانات الحساسة

    تخزين الـ keys في الأماكن الآمنة اللي بتوفرها المنصة، والتشفير، والـ local storage، والبيانات الحساسة اللي بتفضل في الـ memory.

  • Assessment لتطبيق الموبايل

    أشهر نقط الهجوم: تخزين مش آمن، واتصالات الشبكة، وإعدادات التطبيق، وحاجات التطبيق بيفترضها وهي مش مضمونة.

  • Security الـ APIs والـ sessions

    التعامل مع الـ tokens، والسيرفر يتأكد من الصلاحيات بنفسه بدل ما يثق في التطبيق.

اتكلم معانا عن security تطبيق الموبايل

خبرة هندسية على قد اللي منتجك محتاجه.

كل شغل بيبدأ بمراجعة للكود. وكل مشكلة بنلاقيها ليها خدمة من دول.

  • المشكلة: كود بيتعب كل ما يكبر

    Refactoring و architecture

    بنعيد تنظيم الكود اللي اتعمل بالـ AI في modules واضحة وحدود واضحة.

    إنت بتاخد إيه: Structure فريقك يفهمها ويقدر يكبّرها.

  • المشكلة: مفيش طريق واضح من الديمو للـ launch

    تجهيز للـ production

    بنرتب الـ technical debt حسب الأولوية، ونصلّح اللي معطّل الـ launch الأول.

    إنت بتاخد إيه: خطة مترتبة تنقلك من الـ prototype للـ launch.

  • المشكلة: صفحات بطيئة و queries تقيلة

    الـ Performance والداتابيز

    بنحدد الـ requests البطيئة، ونصلّح الـ N+1 queries، ونضيف الـ indexes المناسبة.

    إنت بتاخد إيه: صفحات أسرع و queries تستحمل الضغط.

  • المشكلة: ثغرات في الصلاحيات و keys مكشوفة

    Security و hardening للتطبيقات

    مراجعة تطبيقات الويب والموبايل: الـ authentication، والصلاحيات، وحماية التطبيق.

    إنت بتاخد إيه: مخاطر أقل وصلاحيات أوضح.

  • المشكلة: أي تعديل ممكن يبوّظ حاجة

    Testing و stability

    Tests، وتصليح bugs، و CI، و monitoring، و deploy تقدر تكرره بنفس الطريقة.

    إنت بتاخد إيه: تعديلات تنزّلها وإنت مطمّن.

  • المشكلة: مفيش senior تستشيره

    شغل مستمر معاك

    دعم هندسي مستمر وتطوير features جديدة.

    إنت بتاخد إيه: شريك هندسي senior معاك وإنت بتكبر.

السيستم بتاعك شغال على إيه.

تطبيقات Web و Mobile، والـ Backend اللي كلهم بيستخدموه. اختار منصة عشان تشوف بنراجع إيه الأول، وبنأكدلك الـ stack مناسب ولا لأ بعد ما نقرا الكود.

المواقع والـ Web apps ومنتجات SaaS

منتجات Frontend و Full-stack، من مواقع التسويق لحد السيستمز اللي بتخدم كذا شركة على نفس النسخة.

أهم الحاجات اللي بنركز عليها

  • الـ routing
  • الـ auth
  • الـ billing
  • الـ SEO

أنظمة الشركات و ERP والأدوات الداخلية

سيستمز Back-office اللي بتمشّي الشغل اليومي.

أهم الحاجات اللي بنركز عليها

  • الـ data model
  • الـ roles
  • الريبورتات
  • الـ audit log

Flutter (Android و iOS)

كود Flutter واحد شغال على Android و iOS.

أهم الحاجات اللي بنركز عليها

  • الـ state management
  • الشغل من غير نت
  • الـ release builds

عادةً بتتبني بـ

Native Android (Kotlin)

تطبيقات Android مكتوبة بـ Kotlin.

أهم الحاجات اللي بنركز عليها

  • الـ lifecycle
  • الـ permissions
  • النشر على Google Play

عادةً بتتبني بـ

Native iOS (Swift)

تطبيقات iOS مكتوبة بـ Swift.

أهم الحاجات اللي بنركز عليها

  • الـ lifecycle
  • الـ permissions
  • النشر على App Store

عادةً بتتبني بـ

الـ APIs والـ integrations والداتابيز

خدمات الـ Backend، والربط مع خدمات خارجية، والداتا اللي كله قايم عليها.

أهم الحاجات اللي بنركز عليها

  • الـ schema
  • الـ indexes
  • الـ API contracts
  • الـ queues

التقنيات اللي بنشتغل بيها.

تحت كل تقنية، أول حاجة بنبص عليها في المراجعة.

اختار منصة من الخريطة اللي فوق، وهنعلّملك التقنيات اللي بتتبني بيها عادةً.

Frontend

  • ReactAngular

    XSS والـ secrets جوه الـ client bundle

  • Next.js

    الـ API routes والـ Server Actions وفحص الـ auth

  • Remix

    الصلاحيات في الـ Loader والـ Action

  • Vue.js

    الـ state المكشوفة والـ template injection والتخزين في المتصفح

  • Svelte

    تغييرات الـ reactive state والـ SSR hydration والتخزين في المتصفح

  • Vanilla HTML/CSS/JS

    الـ secrets في كود المتصفح والـ injection

Mobile

  • FlutterKotlinSwift

    الـ secure storage والتعامل مع الـ API tokens

Backend

  • ASP.NET Core

    Authentication middleware والـ authorization policies والحماية من الـ CSRF

  • Node.js

    مخاطر الـ dependencies والـ input validation

  • NestJS

    الـ Guards والـ validation وفحص الـ roles

  • Express.js

    ترتيب الـ middleware وتنضيف الـ input والتعامل مع الـ errors

  • Django

    أمان الـ ORM queries والـ middleware والوصول للـ admin

  • FastAPI

    الـ validation بـ Pydantic والـ dependency injection للـ auth والـ CORS

  • Spring Boot

    الـ security filter chains والـ method security والـ actuator endpoints

  • Laravel

    الـ Policies والـ Mass Assignment والـ validation

منصات Backend

  • Firebase

    الـ security rules وانكشاف الـ API keys

  • Supabase

    الـ Row Level Security policies

  • Appwrite

    الـ permissions والـ API keys

الداتابيز

  • PostgreSQL

    الـ roles والـ permissions وأمان الـ queries

  • MySQL

    الـ injection ونطاق الصلاحيات

  • MongoDB

    الـ query injection وقواعد الوصول

الـ refactor شكله إيه في الكود.

تلات حاجات بتتكرر في التطبيقات المعمولة بالـ AI، وإزاي بنعملها refactor. الأمثلة متبسّطة عشان تتقري بسهولة.

مثال توضيحي، مش كود عميل

lib/posts.ts

const posts = await db.post.findMany(); for (const post of posts) {  post.author = await db.user.findUnique({    where: { id: post.authorId },  });}// The database does the join, onceconst posts = await db.post.findMany({  include: { author: true },  orderBy: { createdAt: "desc" },  take: 50,}); return posts;

فين المشكلة

الـ refactor بيغيّر إيه

خمس خطوات، وكل خطوة بتسلّمك حاجة واضحة.

تعديلات صغيرة تقدر تراجعها في كل مرحلة، عشان تعرف دايمًا إيه اللي اتغيّر وليه.

  1. مراجعة

    بنراجع الكود والـ architecture والـ data model وإعداد الـ deploy، ونحط baseline للـ security: الصلاحيات والـ secrets وحماية الداتابيز.

    هتستلمتقرير مكتوب بالمشاكل، ومعاه مشاكل الـ security

  2. الأولويات

    بنرتب المشاكل حسب خطورتها وتأثيرها على البيزنس.

    هتستلمخطة و scope واضح

  3. Refactor

    بنعمل refactor على خطوات صغيرة تقدر تراجعها.

    هتستلمCommits نضيفة وموثقة

  4. Testing

    بنضيف tests حوالين الأجزاء الحساسة.

    هتستلمشبكة أمان

  5. Deploy

    بنجهز deploy يتكرر بنفس الطريقة و monitoring للسيستم.

    هتستلمPipeline جاهزة للـ production

هتستلم مننا إيه.

كل اللي بنسلّمه، مكتوب وشغال، عشان المعرفة تفضل عند فريقك.

في الـ repo بتاعك

  • Pull Requests بالـ refactor وجاهزة للمراجعة
  • Fixes للثغرات اللي لقيناها ومعاها regression tests
  • Tests بتغطي الأجزاء الحساسة
  • Documentation للـ deploy والـ environments

تقارير مكتوبة

  • مراجعة مكتوبة للكود والمشاكل مترتبة حسب الأولوية
  • مشاكل الـ security مترتبة حسب الخطورة
  • ملاحظات عن الـ architecture
  • توصيات للـ security والـ performance

Session تسليم مع فريقك

بنشرح لفريقك إيه اللي اتغيّر وليه، وبنجاوب على أسئلتهم.

أسئلة بتتكرر.

تقدروا تشتغلوا على الكود اللي عندي دلوقتي؟

أيوه. أغلب شغلنا بيبدأ من كود موجود فعلًا. أكتر حاجة متمكنين منها TypeScript و JavaScript (زي React و Next.js و Node)، وبعدها Flutter و Kotlin و Swift، وداتابيز SQL. لو الـ stack بتاعك مختلف، هنقولك بصراحة هو مناسب لينا ولا لأ بعد ما نشوف طلبك.

بتشتغلوا على كود معمول بالـ AI؟ ولازم أبطّل أستخدم أدواته؟

أيوه، بنشتغل على النوع ده من الكود. ولأ، مش لازم تبطّل تستخدم أدوات الـ AI، دي فعلًا بتسرّع الشغل. شغلتنا إن الكود يبقى أساس متين ومتنظم، عشان اللي يبني بعدنا، سواء developer أو أداة AI، مايشتغلش ضد الـ structure بتاعه.

بتتعاملوا إزاي مع الـ security والسرية؟

الـ access بيبقى على قد اللي الشغل محتاجه بس (least privilege). ولو محتاج NDA موجودة. بنراجع الـ authentication والصلاحيات وإدارة الـ secrets كجزء من الشغل. ومش بندّعي إن معانا شهادات اعتماد.

تقدروا تضمنوا إن السيستم بتاعي مفيهوش ثغرات خالص؟

لأ. الـ security review بيقلل المخاطر وبيصلّح المشاكل المعروفة، بس مايقدرش يضمن إن مفيش ثغرات خالص. اللي هتستلمه: تقرير مكتوب بالمشاكل مترتب حسب الخطورة، وfixes للي لقيناه، و regression tests عشان الـ fixes تفضل ثابتة.

الشغل بياخد وقت قد إيه؟

الـ scope والمدة بيعتمدوا على حجم الكود. بنديك تقدير ثابت بعد المراجعة الأولية.

التكلفة كام؟

التكلفة بتعتمد على حجم الكود وحالته والـ scope اللي هتختاره. بنبعتلك عرض السعر بعد المراجعة الأولية، عشان تقرر وقدامك حاجة حقيقية.

محتاجين access لإيه؟

بنبدأ بـ read access على الـ repo بس. بعد كده بنطلب access على الـ staging قبل الـ production، ولو الـ scope محتاج ده بس. من فضلك ماتبعتش passwords أو API keys أو أي بيانات سرية في فورم التواصل. هنتفق سوا على طريقة آمنة نشارك بيها أي حاجة حساسة.

اطلب مراجعة للكود بتاعك.

احكيلنا عملت إيه، وإيه اللي مش شغال زي ما المفروض.

من فضلك ماتحطش passwords أو API keys أو أي بيانات سرية هنا. هنتفق على طريقة آمنة تدينا بيها access بعد ما نرد عليك.

مشروعك

نوصلك إزاي

لو عايزنا نكلمك تليفون أو WhatsApp، اكتب رقمك كمان. غير كده هنرد عليك بالإيميل.

اختار الدولة وبعدين اكتب الرقم، أو اكتبه بكود الدولة بصيغة +.

اختياري

اختياري. لينك بس، من غير أي بيانات دخول.

التفاصيل

عملت إيه، وبأنهي stack، وإيه المشكلة؟

تحب تبعتلنا إيميل؟ [email protected]