00:00:00[صوت صامت]
00:00:30[صوت صامت]
00:01:00[صوت صامت]
00:01:29مرحباً بالجميع.
00:01:32أهلاً بكم في جلسة مجتمع Versailles لهذا الأسبوع.
00:01:36نحن متحمسون جداً لوجودكم معنا.
00:01:41من الرائع حقاً تقديم هذه الجلسات المباشرة لأنني أشعر أنني لم
00:01:44أقدمها منذ فترة طويلة.
00:01:46لذا، مرحباً بالجميع.
00:01:47[ضحك] إذا كانت هذه هي المرة الأولى لكم في إحدى جلساتنا المجتمعية،
00:01:53فأنا بولين نافاس من فريق المجتمع هنا في Versailles.
00:01:57ربما رأيتموني في المساحات المجتمعية على منصتنا الخاصة
00:02:03[www.versailles.com](https://www.google.com/search?q=https://www.versailles.com)، أو ربما على X أو LinkedIn، أجيب على الأسئلة
00:02:08وأتفاعل مع المجتمع لأفهم حقاً ما الذي تبنونه جميعاً
00:02:12على Versailles.
00:02:13هذه دائماً فرصة للتواصل مع مجتمعنا،
00:02:18وعملائنا، ومستخدمينا بشكل مباشر.
00:02:22رائع، من المذهل رؤية هذا العدد الكبير منكم هنا بالفعل.
00:02:25أرى تحية مساء الخير من آدم في الدردشة.
00:02:29أهلاً، أهلاً، أهلاً.
00:02:31لذا، اتركوا رسالة في الدردشة وأخبرونا من أين تتابعوننا اليوم.
00:02:36إذا كنتم تشاهدون هذا على X أو YouTube أو LinkedIn
00:02:39وترغبون في الانضمام للدردشة المباشرة، توجهوا إلى [community.versailles.com/live](https://www.google.com/search?q=https://community.versailles.com/live).
00:02:46ستجدون الجلسة في الأعلى تماماً، ضعوا تعليقاً في الدردشة.
00:02:53بالنسبة لجلسة اليوم، أنا متحمسة جداً كلما كانت لدينا جلسات
00:02:58تكامل متجر Versailles، لأنه من الرائع رؤية ما
00:03:03يمكنكم بناؤه فوق Versailles باستخدام عمليات التكامل الخاصة بنا.
00:03:07اليوم سنتحدث مع Posthog.
00:03:11وإذا لم تصادفوهم من قبل، فالاختصار هو أن Posthog
00:03:16عبارة عن منصة مفتوحة المصدر لتحليلات المنتجات.
00:03:19يمكنكم اعتبارها أداة لعلامات الميزات، واختبارات A/B، وتتبع الأحداث،
00:03:25وببساطة كل الأدوات التي تحتاجونها لمساعدتكم في فهم ما يحدث فعلياً
00:03:29عندما يستخدم الناس منتجكم.
00:03:31ما يجعل جلسة اليوم مثيرة للغاية هو أن Posthog الآن
00:03:36يتكامل مباشرة مع vZero.
00:03:38هذا يعني أنه يمكنك الانتقال من فكرة إلى تجربة حية دون الحاجة
00:03:43لمغادرة أداة البناء الخاصة بك.
00:03:45لذا لا مزيد من “أطلق المنتج ثم ابحث عن التحليلات لاحقاً”.
00:03:50يمكنك إعداد علامات الميزات، وإجراء الاختبارات، وتتبع تلك الأحداث المخصصة
00:03:55كجزء من عملية البناء نفسها.
00:03:58سأتوقف عن الكلام، ولكن مرحباً بالجميع، أرى الكثير منكم ينضم للدردشة هنا.
00:04:06جميل.
00:04:06أخبرونا من أين تتابعوننا يا رفاق.
00:04:09رائع.
00:04:10بدون مزيد من التأخير، يسعدني الترحيب بضيفنا، بروكر، من Posthog.
00:04:16أهلاً بروكر.
00:04:17- مرحباً.
00:04:17سعيد بوجودي هنا.
00:04:19نعم، كما قالت بولين، اسمي بروكر.
00:04:21أنا مهندس منتجات في فريق النمو.
00:04:25وللبدء، سأخبركم قليلاً عما تقدمه Posthog،
00:04:30ولماذا قد ترغبون في استخدام شيء مثل Posthog في vZero.
00:04:34ثم سنستعرض بعض حالات الاستخدام في vZero، في Vercel وvZero.
00:04:41سأقوم بعرض تجريبي مباشر.
00:04:42حيث سنقوم فعلياً بتنفيذ بعض حالات الاستخدام.
00:04:46الحالتان اللتان أريد تغطيتهما بشكل خاص، حسناً، سأبدأ
00:04:49بشرح ما هو Posthog، ولماذا قد يهمكم كمستخدمين لـ vZero
00:04:54وVercel.
00:04:56كما تعلمون، تستخدمون vZero، بنيتم أروع تطبيق على الإطلاق، ونشرتموه،
00:05:02وتريدون رؤية كيف يعمل، فكيف تكتشفون ذلك؟
00:05:06كيف تفهمون كيف يستخدم الناس تطبيقكم، وما الذي يعجبهم فيه،
00:05:11وما الذي لا يعجبهم؟
00:05:12وكيف تفهمون متى يحدث خطأ ما؟
00:05:15في كثير من الأحيان، تنشرون تطبيقاً، كما تعلمون، ويعمل بشكل رائع
00:05:19في وضع المعاينة.
00:05:20ربما أجريتم بعض الاختبارات عليه بأنفسكم، ولكن عندما يعمل في بيئة الإنتاج،
00:05:26يواجه بعض المشكلات التي لم تتوقعوها.
00:05:29عندها قد يحدث استثناء (Exception)، وسيكون من المفيد لكم
00:05:33الحصول على رؤية واضحة لذلك، وخاصة جلب تلك الرؤية
00:05:39والسياق إلى vZero، إلى الوكيل (Agent)، حتى يتمكن الوكيل من فهم كل شيء
00:05:45يدور في بيئة الإنتاج وإصلاح المشكلة نيابة عنكم دون الحاجة
00:05:50للتنقل لجمع السياق من أماكن مختلفة، سواء كان ذلك من
00:05:55نظام السجلات، أو نظام الأخطاء، أو محاولة
00:05:59إعادة إنتاج الخطأ بنفسكم والنسخ واللصق من أدوات مطوري Chrome.
00:06:02ليس وكأنني اضطررت لفعل ذلك من قبل.
00:06:04- أعتقد أننا جميعاً فعلنا ذلك.
00:06:07- نعم.
00:06:09لذا، إحدى حالات الاستخدام التي أريد استعراضها هي معالجة الأخطاء.
00:06:13والأخرى هي علامات الميزات واختبارات A/B.
00:06:17لقد استمتعت حقاً بهذا الأسلوب في التطوير.
00:06:23أنت تعمل مع فريقك.
00:06:26وتتحدثون عن ميزة تريدون إضافتها.
00:06:29وربما يكون لديك رأي مختلف عن زميلك في الفريق حول كيفية
00:06:33تنفيذ هذه الميزة.
00:06:34أنا أريد القيام بذلك بهذه الطريقة.
00:06:36وهم يريدون القيام بذلك بتلك الطريقة.
00:06:39إحدى الطرق الرائعة لحل ذلك هي القيام بالأمرين معاً ثم اختبارهما
00:06:42في بيئة الإنتاج ومعرفة أيهما يعطي نتائج أفضل.
00:06:46لذا سنقوم باستعراض ذلك أيضاً.
00:06:48بدون مزيد من اللغو، دعوني أشارك شاشتي.
00:06:51وسأأخذكم عبر العملية كاملة من البداية إلى النهاية.
00:06:55هناك جزء صغير تم إعداده مسبقاً في هذا الحساب.
00:06:58لذا سأنتقل إلى حساب لم أقم بتثبيت Posthog عليه بعد.
00:07:06وأرجو إخباري عندما تظهر شاشتي.
00:07:09- الشاشة واضحة يا بروكر.
00:07:11هيا بنا.
00:07:11- عظيم.
00:07:12حسناً.
00:07:12نحن الآن في Vercel.
00:07:14سنذهب إلى عمليات التكامل وسنبحث عن Posthog.
00:07:18لا أعرف لماذا يقول... أوه، تصفح المتجر.
00:07:21سنذهب إلى تصفح المتجر (Browse Marketplace).
00:07:22سنبحث عن Posthog ونختاره هنا ونضغط على تثبيت (Install).
00:07:29سيسألني عما إذا كنت أريد إنشاء حساب جديد أو الربط بحساب موجود.
00:07:32إذا كان لديك حساب Posthog بالفعل، يمكنك ربطهما.
00:07:35وما سيفعله هذا لي هو... وسنقوم بتثبيته هنا.
00:07:39سيقوم بـ... دعوني فقط... عذراً، لا يمكنني النقر والتحدث في نفس الوقت.
00:07:46لماذا يجب علي إدخال عنوان فواتير؟
00:07:48حسناً.
00:07:49ستملأ هذا النموذج.
00:07:52اضغط متابعة.
00:07:53هذا سيقوم فعلياً بمزامنة... دعوني أريكم ما سيفعله.
00:07:59سيقوم بمزامنة متغيرات البيئة الخاصة بك، بحيث إذا ذهبت إلى الإعدادات...
00:08:06سأذهب إلى النظرة العامة (Overview).
00:08:09أوه، ظننت أنني قمت بتثبيت هذا بالفعل.
00:08:14لنقم بذلك بسرعة.
00:08:15سنقوم بتثبيته لمشروع ما.
00:08:17سأختار المشروع الذي أريد تثبيته فيه.
00:08:20اضغط متابعة.
00:08:22رائع.
00:08:23هذا سيـ... لقد اخترت المشروع.
00:08:25لنرى.
00:08:30عذراً، ظننت أن لدي واحداً هنا.
00:08:32أوه، عرفت ما الأمر.
00:08:33لدي الحساب الخاطئ مفتوح هنا.
00:08:35أعتقد أنني في هذا الحساب.
00:08:37- هذا هو الأفضل، بالمناسبة، استكشاف الأخطاء وتجاوز الخطوات.
00:08:41هذا رائع.
00:08:42- نعم.
00:08:44حسناً، نعم، لقد قمت بتوصيله هنا.
00:08:47ما أردت استعراضه، الأمر الرائع حقاً في هذا التكامل هو أنك
00:08:51لست مضطراً لإدارة متغيرات البيئة بنفسك.
00:08:55إذا كانت لديك خبرة في ذلك، فهو ليس بالأمر الممتع، خاصة عندما تضطر
00:08:59لتدوير مفاتيحك (rotate keys)، وهي فكرة جيدة جداً.
00:09:03تكامل Vercel مع PostHog سيتولى كل ذلك نيابة عنك.
00:09:08كل ما عليك فعله هو النقر خلال عملية التثبيت،
00:09:12التي عرضتها للتو.
00:09:13كما أنه يتعامل مع الفواتير، ولدينا فئة مجانية سخية جداً.
00:09:17لذا نأمل ألا تضطر للتعامل مع ذلك في البداية حتى ينجح
00:09:21منتجك، وعندها سيكون ذلك آخر همومك.
00:09:24ولكن نعم، هذا سيقوم بمزامنة متغيرات البيئة الخاصة بك.
00:09:28الأشياء الرئيسية التي نحتاجها هنا، مضيف PostHog هو... لن أعرض هذه
00:09:33لأنني لا أريد التعرض للانتقاد، لكن المضيف هو مجرد عنوان URL.
00:09:39سيكون شيئاً مثل us.i.posthog.com.
00:09:43مفتاح PostHog هذا هو الجزء المهم، وهو ما سيخبر PostHog،
00:09:48سيعرف مشروعك لدى PostHog.
00:09:50عندما يعمل تطبيقك في بيئة الإنتاج، ويتم الإبلاغ عن الأخطاء والاستخدام
00:09:58وعلامات الميزات إلى PostHog، هذا المفتاح هو ما
00:10:02سيربط منتجك بمشروع PostHog معين.
00:10:07لذا من المفيد جداً إعداد ذلك تلقائياً لك هنا.
00:10:12أي أسئلة حول جانب Vercel؟
00:10:16الأمر بسيط للغاية.
00:10:17لقد شرحت الأمر بسرعة وواجهت بعض المشكلات، فأنا آسف لذلك.
00:10:21لكن ببساطة، تقوم بتثبيته، وربطه بالمشروع، مشروع Vercel الذي تريد
00:10:25استخدامه فيه، وبعدها تنطلق بقوة.
00:10:28هناك أيضاً أدلة لبدء الاستخدام هنا.
00:10:32يمكنك رؤية علامات الميزات الخاصة بك هنا إذا كنت قد أعددتها.
00:10:35ليس لدي أي منها في هذا المشروع بعد، لكن سيكون لدينا بعد دقيقة.
00:10:40- نعم، هذا رائع.
00:10:41كنت سأقول، لا توجد أسئلة حالياً، مما أظن أنه يظهر مدى سلاسة الأمر.
00:10:47لقد سألت في الدردشة، هل جرب أي شخص هذا التكامل من قبل؟
00:10:51إذا فعلتم، فأخبرونا بالتأكيد واسألوا الأسئلة بينما نمضي قدماً.
00:10:54- نعم، ولا تترددوا في المقاطعة.
00:10:58لننتقل إلى العرض التجريبي الآن.
00:10:59لدي تطبيق يعمل.
00:11:01لقد بنيت لعبة صغيرة.
00:11:02تسمى Hog Hop.
00:11:04وهنا لدي PostHog صغير.
00:11:06هناك بعض الحشرات (bugs) التي تركض حوله، وأنا أحاول جمع نقاط البيانات.
00:11:12ماكس يقفز في الأرجاء لجمع نقاط البيانات.
00:11:15لدي خطأ برمجبي (bug).
00:11:16عندما أجمع نقاط بيانات معينة، يتجمد التطبيق تماماً.
00:11:21لا يمكنني فعل أي شيء الآن.
00:11:23لقد واجهت هذا في بيئة الإنتاج، وأحتاج لمساعدة في معرفة ما يحدث.
00:11:28يمكنني، كما قلت سابقاً، فتح أدوات المطور (DevTools).
00:11:32أو يمكنني النظر في سجلات Vercel لمحاولة العثور على الأخطاء.
00:11:41لكن سأريكم كيف أنكم لستم مضطرين لفعل أي من ذلك.
00:11:44وفي v0، يمكنك جمع كل السياق الذي تحتاجه حول الخطأ وإصلاحه
00:11:50مباشرة هناك.
00:11:51أولاً، سأريكم كيف نضيف الـ MCP.
00:11:54في الركن السفلي الأيسر من الدردشة في v0، يوجد زر زائد صغير،
00:12:01وفيه مكان للـ MCPs.
00:12:04ويمكنك ببساطة النقر على إضافة MCP.
00:12:06وPostHog معد كنوع من الـ MCP المسبق الضبط.
00:12:10لقد قمت بتوصيله بالفعل لهذا العرض، لذا لن أقوم بفصله.
00:12:13لكن ستقوم فقط بالنقر على زر الزائد، وسيسألك عن تسجيل الدخول
00:12:18باستخدام حساب PostHog الخاص بك.
00:12:19شيء واحد لم أعرضه وهو أنه عند إنشاء هذا التكامل مع PostHog
00:12:25وVercel، ستحصل على زر “فتح في PostHog”، وهذا سيقوم بتسجيل
00:12:30دخولي إلى PostHog حتى لا أضطر لإدارة بيانات الاعتماد أو أي شيء من هذا القبيل.
00:12:36لقد سجلت الدخول هنا، وبعد ذلك في v0، عندما أريد توصيل الـ MCP،
00:12:42سأنقر فقط للمصادقة، وسيفتح علامة تبويب PostHog لمصادقة
00:12:48الـ MCP.
00:12:50لقد أدركت للتو أنني لم أعرف الـ MCP، وأنا آسف جداً.
00:12:52الـ MCP، أو Model Context Protocol، هو ببساطة وسيلة لجمع المعلومات
00:12:58لمنح الوكيل، وكيل v0، القدرة على جمع المعلومات أو
00:13:03استدعاء الوظائف المرتبطة بهذا الحساب.
00:13:07في هذه الحالة، نحن نقول: “يا v0، إذا كنت بحاجة لطرح أي أسئلة أو إدارة
00:13:14الأشياء في PostHog،” وهذا... إنه منتج غني جداً بالمميزات،
00:13:19الـ MCP الخاص بـ PostHog، لذا يمكنك القيام بالكثير هناك.
00:13:24سأعرض لكم في الواقع... لدينا وثائق... وثائق PostHog، بروتوكول سياق النموذج.
00:13:29هذا يوضح لكم نوعاً ما كل الأشياء التي يمكنك القيام بها.
00:13:33لا تشعروا بالارتباك الشديد من هذه القائمة.
00:13:35كل هذا محمل بالفعل في الوكيل الذكي.
00:13:36لذا يمكنك في الواقع أن تسأل، مثل، "ماذا يمكنني أن أفعل باستخدام PostHog MCP؟"
00:13:42وسوف يخبرك.
00:13:43وتأكد فقط من تفعيل هذا المفتاح الصغير هنا.
00:13:50ونعم، ما أردت إظهاره هنا هو، مرة أخرى،
00:13:55عندما أحاول جمع نقطة البيانات الثالثة هذه، أواجه خطأً برمجياً.
00:14:00إنه يتجمد فحسب.
00:14:01لذا سأصف ذلك هنا.
00:14:04لقد أخبرني بكل هذه الأشياء التي يمكنني فعلها باستخدام PostHog MCP.
00:14:08لذا سأصف ذلك للوكيل.
00:14:10سأقول، "عندما أجمع نقاط البيانات باستخدام max، فإنه يتجمد أحياناً.
00:14:23هل يمكنك العثور على الخطأ باستخدام أخطاء PostHog MCP وإصلاحه لي؟"
00:14:35وبينما يقوم بذلك، سأقوم فقط باستعراض لوحة تحكم PostHog.
00:14:39لذا عندما أكون في PostHog هنا، يمكنني الذهاب إلى التطبيقات ثم تتبع الأخطاء.
00:14:47وكما قلت، PostHog يقوم بالكثير من الأشياء.
00:14:50لذا هناك الكثير من الميزات التي يمكنك استكشافها هنا.
00:14:55نحن نركز فقط على ميزتين لإعطائكم فكرة ملموسة عما يمكنك القيام به.
00:15:01لذا إذا كنت مهتماً بالجانب التقني وتريد رؤية ما يحدث فعلياً
00:15:04مع هذه الأخطاء، يمكنك فتح هذا ورؤية، كما تعلم، يمكنك، مثلاً،
00:15:11النقر داخل الخطأ ورؤية تتبع المكدس (stack trace).
00:15:14يمكنك معرفة عدد المرات التي تكرر فيها.
00:15:17وماذا يمكنك أن ترى أيضاً؟
00:15:20مشاكل مماثلة.
00:15:21دعونا نرى ما إذا كان هذا لا يزال يعمل.
00:15:25أوه، لقد تم إصلاحه.
00:15:26حسناً. سأريكم شيئاً آخر في المرة القادمة التي نضطر فيها لانتظار الوكيل.
00:15:30هذا يشير إلى أنه تم الإصلاح.
00:15:32دعوني أرى ما إذا كان بإمكاني النشر أو اختبار ذلك في المعاينة.
00:15:37لنقم بذلك فحسب.
00:15:39تمام.
00:15:39سأتحرك قليلاً وأجمع شيئاً ما.
00:15:41أوه، إنه يعمل.
00:15:42رائع. الأمر بهذه السهولة.
00:15:46كان لدي خطأ برمجياً.
00:15:48أخبرته بما رأيته يحدث.
00:15:51حتى لو لم يكن لديك الكثير من المعلومات حول كيفية إعادة إنتاجه،
00:15:55يمكنك إعطاؤه معلومات أقل، فقط أخبره بالبحث عن الأخطاء.
00:15:59لذا يمكنني القول، هل هناك أخطاء أخرى في PostHog MCP يجب علينا إصلاحها؟
00:16:09سأقول "منذ اليوم" فقط لكي لا نغرق في التاريخ القديم.
00:16:12الشيء الآخر الذي أردت إظهاره هو ميزة إعادة تشغيل الجلسة (session replay)، وهي ميزة رائعة حقاً.
00:16:21حيث يمكنني فعلياً رؤية -- أوه، لا يبدو ذلك جيداً هنا.
00:16:27أوه، هذا مثير للاهتمام.
00:16:28حسناً. سنتجاوز ذلك، لكنني سأبحث في الأمر.
00:16:33عادةً، ستتمكن من رؤية ما يفعله الأشخاص فعلياً.
00:16:36أعتقد أنه ربما بسبب التكنولوجيا التي نستخدمها في هذه اللعبة،
00:16:42فإن التسجيل يتعطل.
00:16:44ولكن ربما في أنواع أخرى من التطبيقات، أو بالتأكيد في أنواع أخرى.
00:16:50لم أرَ هذا يحدث في أي تطبيق آخر.
00:16:51لذا يمكنك أن ترى كيف يستخدم الناس تطبيقك والمشاكل التي قد يواجهونها.
00:16:58ومجرد رؤية ذلك الفيديو الحي لما يفعلونه يساعد حقاً في فهم السياق.
00:17:04ويمنحك معلومات أكثر بكثير من محاولة النظر
00:17:08إلى النشاط أو الأحداث أو أشياء من هذا القبيل، أو السجلات.
00:17:13حسناً، لدينا بضعة أخطاء أخرى.
00:17:16وهذا شيء أريد التأكيد عليه أيضاً.
00:17:18أنت كمطور قد لا تعرف كل الأشياء التي يواجهها الناس في بيئة التشغيل الفعلية.
00:17:25قد لا يقومون بإبلاغك بها.
00:17:26وقد لا تواجهها أنت بنفسك.
00:17:28لذا فإن امتلاك رؤية واضحة لكل الأخطاء يمكن أن يكون مفيداً جداً لك.
00:17:34في هذه الحالة، لدينا بضعة أخطاء أخرى نواجهها -- أو نجري فيها.
00:17:40أوه، يبدو أنه تم إصلاح كليهما.
00:17:43رائع. أي أسئلة حول ذلك؟
00:17:47وأريد الانتقال إلى ميزة علامات الميزات (feature flags) هنا.
00:17:51>> لا توجد أسئلة في الدردشة حالياً، ولكن هناك تعليقات.
00:17:54لقد قال أحدهم في الدردشة أن لديهم الكثير من الأدوات في مكان واحد، ونسخة مجانية سخية للغاية
00:18:01وتجربة مطور (DX) مذهلة في منصتهم، وهو أمر يسعدنا دائماً سماعه.
00:18:05كان لدي سؤال في الواقع، وأنا متأكد من أنك ستتطرق إليه في هذا القسم التالي.
00:18:11ولكن بعيداً عن الأخطاء، ما هي بعض الأشياء الأخرى عالية القيمة التي يمكن لـ PostHog MCP القيام بها
00:18:19لمستخدمي v0 والتي تعتقد أن الناس يتغافلون عنها؟
00:18:23>> نعم. في رأيي، علامات الميزات والتجارب هي واحدة من أكثر الأشياء فائدة.
00:18:30أعتقد أن هناك الكثير من الفرق والتطبيقات التي لا تستخدمها بينما ينبغي عليها ذلك.
00:18:38لذا سأعرض ذلك سريعاً.
00:18:40>> نعم، بكل تأكيد.
00:18:41تمهيد مثالي.
00:18:42>> نعم. لنضف -- في هذه الحالة، لدي هذه اللعبة.
00:18:46ليس لدي طريقة الآن للقضاء على الحشرات.
00:18:48هناك حشرة على وجه الخصوص تتحرك ذهاباً وإياباً على هذه المنصة الصغيرة.
00:18:52وأواجه صعوبة حقيقية في الحصول على نقطة البيانات تلك.
00:18:55ومستخدمي يواجهون نفس المشكلة أيضاً.
00:18:57لذا أريد بناء بعض الوظائف الإضافية.
00:19:01لذا دعونا نبني شيئاً مثل منح القنفذ القدرة على إطلاق الليزر من عينيه.
00:19:16لكنني أريد اختبار ذلك مقابل وظيفة مختلفة.
00:19:22أفكر في الليزر.
00:19:24أعتقد أنه يمكننا القيام بشيء كلاسيكي مثل ماريو.
00:19:27أيضاً -- حسناً، لنبدأ بإنشاء علامة ميزة متعددة المتغيرات مع الليزر كأحد المتغيرات
00:19:43والقدرة على القفز فوق الحشرات لقتلها كمتغير آخر.
00:19:52وبعد ذلك -- هذا سيقوم بـ -- ما أريد إظهاره هنا هو بضعة أشياء.
00:19:59إن MCP قوي جداً.
00:20:02لذا يمكنك استخدام MCP لمعظم الأشياء التي تستخدم لوحة التحكم من أجلها.
00:20:07يمكنك القيام بذلك في لوحة التحكم.
00:20:10سأريكم إذا ذهبنا إلى التطبيقات.
00:20:17ثم علامة الميزة.
00:20:21يمكنك أيضاً -- معظم الأشياء التي يمكنك فعلها في MCP يمكنك فعلها في هذه الدردشة أيضاً.
00:20:25لذا إذا استخدمت -- سأفتح تبويباً جديداً هنا.
00:20:29أوه، لا توجد طريقة للدردشة في هذا التبويب.
00:20:33أوبس.
00:20:34لقد فقدته.
00:20:37لذا سأفتح دردشة جديدة، ها هي.
00:20:39يمكنني إعطاؤه طلباً مشابهاً.
00:20:43الفرق الوحيد هو أن هذه الدردشة لن تملك القدرة على تحديث كود v0 الخاص بي، بالطبع.
00:20:48يجب أن أقبل التغييرات.
00:20:52لكن لا يزال بإمكاني استخدامه لإدارة علامات الميزات.
00:20:55أو هنا يمكنني إنشاء علامة ميزة، كما تعلمون، باستخدام -- ومن المفترض أن يتم إنشاؤها
00:21:01الآن.
00:21:02ها نحن ذا.
00:21:03تجربة، إنشاء.
00:21:04كان بإمكاني إنشاؤها عبر واجهة المستخدم.
00:21:07أنا أوضح كيفية القيام بذلك عبر وكيل v0 باستخدام MCP لأنني أجد أنه كلما
00:21:16تمكنت من فعل المزيد في وكيلي مثل v0، كان ذلك أفضل.
00:21:20لا أريد أن أضطر لقضاء وقتي في النقر هنا وهناك لتعلم واجهة مستخدم جديدة.
00:21:24على الرغم من أن لوحة التحكم رائعة جداً وأنا أحب هذه الواجهة، إلا أنني أفضل قضاء
00:21:31مزيد من الوقت في البناء داخل v0 مباشرة.
00:21:35جميل.
00:21:36لقد قام بإعداد هذه التجربة.
00:21:39وقمنا بإعداد بعض المقاييس.
00:21:40هذا هو أحد المفاتيح للتجربة -- أو المفتاح الأساسي للتجربة هو: ما هي
00:21:47الفرضية التي تحاول اختبارها؟
00:21:49لقد تقدم v0 وقام بوضع فرضية لنا.
00:21:53هذا أمر رائع.
00:21:55قد أرغب في قراءة هذا وتحديثه.
00:21:58هذا يقول اختبار أيهما يؤدي إلى معدلات إكمال أفضل للعبة.
00:22:02هذا جيد.
00:22:03ربما يكون هدفي هو معدلات إكمال اللعبة.
00:22:05ولكن ربما يكون هدفي هو مجرد الوقت المستغرق في لعب اللعبة.
00:22:09أعتقد أن معدل إكمال اللعبة منطقي نوعاً ما.
00:22:13لذا قام بتعيين ذلك كمقياس أساسي.
00:22:16لذا ستبدأ أولاً بوضع فرضية.
00:22:18ما الذي أقوم باختباره؟
00:22:19في هذه الحالة، أختبر هل "السحق" أكثر جاذبية أم "الليزر" أكثر جاذبية؟
00:22:26ثم سنقوم بإعداد المقاييس الأساسية.
00:22:29وهناك أيضاً مفهوم المقاييس الثانوية الذي أعتقد أنه مهم جداً.
00:22:33المقاييس الأساسية ستكون الأهداف الرئيسية التي تريد تحقيقها.
00:22:38ولكن مع أي ميزة تضيفها أو تغيير تجريه، قد تكون هناك نوع من الآثار
00:22:43الثانوية لذلك.
00:22:44في هذه الحالة، ربما يقتلون عدداً أكبر أو أقل من الحشرات في كل جلسة.
00:22:49مثلاً، ربما يكملون اللعبة بمعدل أعلى ولكن يقتلون حشرات أقل.
00:22:52هذا مستبعد على الأرجح.
00:22:53أو، كما تعلمون، عدد الوفيات في كل جلسة هو شيء آخر يجب النظر إليه.
00:22:57لذا في أي وقت تقوم فيه بإعداد تجربة، من المهم التفكير في: ما هو
00:23:02هدفي؟
00:23:03ثم ما هي الأشياء التي قد يتأثر بها هذا، والتي ربما لا تمثل
00:23:09الهدف الأساسي، ولكنني أريد أن أكون على دراية بها أثناء اتخاذ هذا القرار.
00:23:14سؤال سريع هنا، بروكر.
00:23:17إذا قام شخص ما بتعيين مقياس الهدف الخاطئ عن طريق الخطأ في البداية، فما مدى سهولة
00:23:23تعديل ذلك في PostHog مثل تلك التجربة دون فقدان كل شيء على v0؟
00:23:30نعم، يمكنك القيام بذلك إما عبر MCP مرة أخرى أو الدردشة أو في واجهة المستخدم هنا.
00:23:36هناك أيقونة قلم رصاص صغيرة بجوار المقياس.
00:23:39فقط اضغط عليها.
00:23:41وبعد ذلك، لنفترض أنك تريد تغييره من إكمال اللعبة إلى الوقت المستغرق في
00:23:46التطبيق أو شيء من هذا القبيل.
00:23:47ستضغط هنا وتجد حدثاً (event)، أو ربما قررنا
00:23:53أننا نريد في الواقع التحقق مما إذا كانوا يغادرون بمعدل أعلى.
00:23:58لذا يمكنني تغييره إلى "مغادرة الصفحة".
00:24:00وفي هذه الحالة، سأجعل الهدف من ذلك هو تقليل هذا المعدل.
00:24:03لذا أريد أن يغادر الناس الصفحة بمعدل أقل.
00:24:08الأمر بهذه السهولة.
00:24:10يمكنك أيضاً استخدام MCP للقيام بذلك، وهو ما أجده أسهل بكثير شخصياً.
00:24:16ولكن من الجيد رؤية كلتا الطريقتين.
00:24:19نعم.
00:24:20رائع.
00:24:21نعم.
00:24:22وسيقوم بإعادة حساب ذلك.
00:24:23أحياناً ما أواجهه هو، مثلاً، قد أجري تجربة.
00:24:27وأرى النتائج وهذا يساعدني نوعاً ما في إدراك أن لدي سؤالاً آخراً
00:24:32أريد طرحه.
00:24:33كما قلت، أريد تحديث المقاييس التي أتتبعها.
00:24:36هناك أوقات ربما لا يكون لدي فيها حدث أو طريقة لتتبع ذلك بعد.
00:24:43لذا فهذا مكان آخر حيث يمكن لـ MCP أن يكون مفيداً حقاً.
00:24:46يمكنك قول شيء مثل "أضف حدثاً".
00:24:48أحاول التفكير في مثال جيد، مثل، لا أعرف، ربما القفزات.
00:24:53يمكنني أن أضيف "أضف حدثاً في كل مرة يقفز فيها القنفذ".
00:25:02في هذه الحالة، ستحصل فقط على تلك الأحداث بناءً على ماهيتها
00:25:08التي تتبعها، لمعظم الأشياء من هذا القبيل.
00:25:10قد يتم تتبع ذلك فقط من اللحظة التي تضيفه فيها إلى تطبيقك.
00:25:15وفي هذه الحالة، يمكنك تغيير مدة تجربتك لتبدأ من
00:25:21وقت معين.
00:25:22يمكنك أيضاً استهداف -- أوه، آسف.
00:25:24أنا آسف جداً.
00:25:25ولكن إذا قمت بتغيير ذلك في منتصف التجربة، هل هناك نوع من أفضل
00:25:31الممارسات الموصى بها حول ما إذا كان يجب عليك إعادة تشغيل الاختبار أم أنه من الآمن الاستمرار في جمع البيانات
00:25:38في نفس التجربة، إذا كان ذلك منطقياً؟
00:25:40نعم، هذا سؤال جيد.
00:25:42طالما أنك تدرك التغييرات المختلفة التي قد تؤثر على ما
00:25:48تفعله.
00:25:49لا أرى مشكلة في مجرد الاستمرار في نفس التجربة.
00:25:55قد يكون هناك سيناريو حيث توجد تغييرات أخرى تحدث في نفس الوقت
00:25:59والتي قد تؤثر على تجاربك.
00:26:02لذا تريد أن تكون مدركاً حقاً لكل الاختبارات المختلفة التي تجريها،
00:26:06وكيف يمكن أن تؤثر على بعضها البعض.
00:26:09لهذا السبب أشعر بشكل عام، إذا حدث أي شيء، مثل هذه الحالة، فقد أجرينا تجربة متعددة المتغيرات،
00:26:15حيث لدي السحق والليزر، أعتقد أنها فقط وضعت الليزر كمجموعة ضابطة (control).
00:26:20ولكنني قد أريد مجموعة ضابطة تكون مثل "لا سلاح".
00:26:30من المفيد تجميع كل ذلك في تجربة واحدة حتى لا تواجه
00:26:35مشاكل حيث تتنافس التجارب المختلفة مع بعضها البعض.
00:26:38هل هذا منطقي؟
00:26:39نعم، هذا منطقي.
00:26:41نعم.
00:26:42ودعونا نرى أين وصلنا، أوه، لم أضف ذلك إلى قائمة الانتظار.
00:26:45حسنًا، لقد انتهى الأمر.
00:26:47إذًا، لدينا عيون الليزر.
00:26:48دعونا نرى ما سيحدث إذا استخدمنا التطبيق الآن.
00:26:51حسنًا، رائع.
00:26:52لدي ليزر، لكنه لا يقتل الأعداء.
00:26:57هذا محبط.
00:26:58على أي حال، قد تواجهون هذا أيضًا.
00:27:02لم أقم بصياغة الأوامر لـ v0 بشكل فعال.
00:27:05لذا لن نلوم v0 على ذلك.
00:27:07لقد قلت فقط اطلق الليزر من عينيه.
00:27:10لكنني لم أقل اقتل الحشرات بالليزر.
00:27:12لذا يمكنك أيضًا استهداف مستخدمين مختلفين.
00:27:16يمكنني مثلًا استهداف حسابي لميزة السحق.
00:27:23وسنرى ما إذا كان بإمكانه العثور على حسابي.
00:27:26هذا يختبر قدرات العميل والـ MCP لأقصى حد،
00:27:31لكن الـ MCP لديه القدرة على العثور على المستخدم.
00:27:35ومن ثم تحديد نسخة التجربة لهذا المستخدم.
00:27:41ويمكنك استهداف مجموعات مختلفة لنسخ تجريبية مختلفة.
00:27:46فإذا أردت مثلًا أن يحصل الجميع في أستراليا على عيون الليزر،
00:27:51يمكنك فعل ذلك أيضًا.
00:27:53ويبدو أننا نقترب من نهاية وقتنا، أليس كذلك؟
00:27:56لقد نسيت كم من الوقت مضى.
00:27:57نعم، بالفعل.
00:27:58لقد تحققت من ذلك للتو.
00:27:59لكن نعم.
00:28:00حسناً، نعم.
00:28:02يمكنني الاستمرار في هذا.
00:28:03ولكن إذا كانت لديكم أي أسئلة أخرى أو أي شيء لم أغطّه،
00:28:08سيكون من المثير للاهتمام معرفتها.
00:28:09نعم، هناك سؤال آخر وصلنا،
00:28:15بالنسبة لمستخدمي v0 الجدد على مجال التجارب،
00:28:21هل لديكم قائمة مرجعية لتجنب إعداد تجربة “سيئة” أو مضللة؟
00:28:27نعم، هذا... لست متأكداً بنسبة 100%.
00:28:31أعلم أن لدينا أدلة إرشادية.
00:28:32لا أريد محاولة البحث عنها هنا على الهواء مباشرة.
00:28:34لكن يمكنني بالتأكيد تزويدكم بدليل لاحقاً.
00:28:38يمكننا ذلك.
00:28:39نعم، يمكننا بالتأكيد إرفاقه في قسم الموارد في هذه الدردشة.
00:28:43نعم، بكل تأكيد.
00:28:44نعم.
00:28:45وأيضاً يمكنك الاستعانة بالذكاء الاصطناعي، وأشجع الناس على
00:28:50سؤال الدردشة، وتصفح واجهة المستخدم، فهناك الكثير من الأمور المفيدة،
00:28:55مثل “الفرضية” التي ذكرتها، لم تظهر في v0.
00:28:58لذا قد يفيد فتح واجهة المستخدم ورؤية ما هو متاح هناك
00:29:02لتجربته واللعب به.
00:29:05أو حتى سؤال v0، “ما هي الأشياء
00:29:10التي قد تفوتني هنا؟”
00:29:11ما الذي يمكننا فعله أيضاً بهذا؟
00:29:13لذا أشجعكم على استغلال v0 قدر الإمكان لأمور كهذه،
00:29:18أو استخدام PostHog AI كخيار آخر للدردشة داخل PostHog.
00:29:23واو، لم أكن أعلم حتى أن لديكم ذلك.
00:29:26هذا رائع حقاً.
00:29:27أعتقد أنني أسأل هذا في كل جلسة من جلسات التكامل لدينا،
00:29:35ولكن على المدى الطويل، ما الذي تخططون له؟
00:29:36هل هناك أي شيء يمكنك مشاركته معنا؟
00:29:38نعم، نحن نرى مستقبل تطوير البرمجيات والمنتجات كعملية أكثر استقلالية.
00:29:45وأعتقد أن هذا بدأ يحدث بالفعل.
00:29:47لكنني أظن أنه لا يزال هناك طريق لنقطعه.
00:29:53أشياء مثل ما عرضته بخصوص حل الأخطاء،
00:29:59لا أظن أن الوقت سيطول قبل أن يصبح ذلك معياراً في التطبيقات،
00:30:04بأن يكون لدي تطبيق يعمل، وهناك شيء في الخلفية
00:30:09يقوم بإصلاح الأخطاء دون الحاجة لإخباره بذلك،
00:30:15وربما أحصل على تقرير عما حدث. لكن في النهاية،
00:30:20لا أريد أن أضطر لتوجيه الذكاء الاصطناعي للتحقق من الأخطاء،
00:30:24أو تلقي تنبيه في منتصف الليل يوقظني بسبب خطأ ما.
00:30:26أعتقد في المستقبل أن نوعاً من الأنظمة،
00:30:35سواء كانت PostHog أو Vercel أو كلاهما معاً،
00:30:38سوف يقومون بجمع المعلومات، والأخطاء مجرد جزء بسيط.
00:30:43هناك ميزة إعادة تسجيل الجلسات، وتحليلات المنتج، والتجارب،
00:30:49فهل أحتاج حقاً لإنشاء مقاييس مختلفة يدوياً؟
00:30:53كان من المثير للاهتمام هنا رؤية v0
00:30:57وهو يختار بالفعل بعض المقاييس المثيرة للاهتمام لنا.
00:31:00لكن غالباً سيكون لدي عميل يراقب هذه الأمور في المستقبل
00:31:05ويقوم بتحديثات الكود دون الحاجة لإعطائه أوامر بهذه الدقة،
00:31:14سأقوم بالتأكيد بالتوجيه الاستراتيجي،
00:31:19مثل نوع التجربة التي أريدها في لعبتي،
00:31:20وما هي المقاييس التي أستهدفها.
00:31:22ولكن بالنسبة للتفاصيل التقنية الدقيقة،
00:31:26أعتقد أن الكثير منها سيتم إنجازه بشكل مستقل.
00:31:28نعم، تطوير مستقل.
00:31:30نعم.
00:31:31أحب تلك الرؤية لأنها تتماشى تماماً مع كل ما نتحدث عنه
00:31:37في Vercel ومع v0 أيضاً.
00:31:40الأمر كله يتعلق بإغلاق الدائرة من النشر،
00:31:43إلى المراقبة في PostHog، ثم الإصلاح والتكرار تلقائياً.
00:31:49هذا رائع.
00:31:50سؤال أخير قبل أن نختم، لأنني أعلم أن وقتنا انتهى.
00:31:56كيف يمكن للناس المشاركة في مجتمع PostHog؟
00:32:00لقد ذكرت في البداية أن PostHog مفتوح المصدر.
00:32:03هل تقبلون المساهمات؟
00:32:05لا أعرف إن كانت هذه المعلومة صحيحة،
00:32:06بالمناسبة.
00:32:07لقد قرأت ذلك.
00:32:08نعم.
00:32:09بنسبة 100%.
00:32:10هناك طلبات سحب (PRs) تأتينا من كل مكان ونقوم بمراجعتها.
00:32:16هناك أيضاً منتدى PostHog حيث يمكنك طرح الأسئلة.
00:32:21ولدينا فعاليات مباشرة.
00:32:22أتمنى لو كان الرابط جاهزاً بيدي الآن، لكنني سأعطيك إياه لاحقاً.
00:32:26نعم، بكل تأكيد.
00:32:27نعم، هناك فعاليات حية.
00:32:29فقط قم بالتسجيل.
00:32:30استخدم التطبيق.
00:32:31وأخبرنا برأيك.
00:32:32تواصل معنا عبر X أو LinkedIn أو أي منصة تستخدمها.
00:32:37أخبرنا برأيك، فنحن نشطون جداً على تلك المنصات.
00:32:40مذهل.
00:32:41شكراً جزيلاً لك يا بروكر.
00:32:43كان هذا رائعاً.
00:32:44ولكل من يشاهدنا، إذا كانت لديكم أي أسئلة متابعة،
00:32:49اطرحوها في الدردشة وسنتأكد من أن فريق PostHog سيتابعها.
00:32:54لكن نعم، شكراً جزيلاً لك يا بروكر.
00:32:56أقدر تواجدك معنا هنا.
00:32:58شكراً لك.
00:32:59نعم.
00:33:00شكراً لاستضافتي.
00:33:02مذهل.
00:33:03شكراً جزيلاً للجميع على الانضمام لهذه الدردشة وجلستنا المباشرة اليوم.
00:33:08إذا كنتم لا تعلمون، فنحن نستضيف جلسة مجتمعية مباشرة كل أسبوع تقريباً.
00:33:14لذا إذا توجهتم إلى [community.vercel.com/events](https://www.google.com/search?q=https://community.vercel.com/events)،
00:33:21ستجدون تقويماً رائعاً حيث ننشر جميع فعالياتنا الواقعية وعبر الإنترنت.
00:33:24أخبرونا ما هو التكامل القادم الذي تودون رؤيته في جلستنا المجتمعية؟
00:33:31وسنعمل بالتأكيد على استضافتهم.
00:33:33لا يُصدق.
00:33:34حسناً، شكراً جزيلاً لكم جميعاً على الانضمام إلينا اليوم.
00:33:39وآمل أن أراكم في جلستنا المباشرة القادمة.