스크립트
00:00:00اطلب من وكلاء البرمجة رسم خريطة لمستودع، والآن لدينا كافكا، أو رديس، أو بوابة واجهة برمجة تطبيقات غير موجودة أصلاً.
00:00:07غالبًا ما تبدو المخططات جيدة، لكنها تفوت الكثير.
00:00:10هذه هي أدوات Archify، حيث لا يقوم الوكيل برسم أي شيء.
00:00:14فهو يخرج رسمًا بيانيًا مصنفاً، وتتحقق Archify منه، ثم تقم بعرض المخطط.
00:00:19قد يكون هذا أحد أفضل الطرق لتصور بنيتنا التحتية.
00:00:23نحن على وشك معرفة ذلك.
00:00:30الآن، ربما لا ينبغي لنا نموذجنا أن يرسم المخطط على الإطلاق.
00:00:33طريقة عمل Archify هي أنها تصف النظام كنص JSON منظم ومصنف.
00:00:37يتم التحقق من صحة ذلك، وعندها فقط يقوم مترجم محلي بتحويله إلى ملف HTML النهائي.
00:00:42إذا كان الرسم البياني غير صالح، فسوف يفشل.
00:00:45تلك هي Archify، وقد حصدت 44,000 نجمة في غضون بضعة أشهر فقط لأنها تتصل مباشرة بـ Cloud Code و Cursor و Codex.
00:00:53لذا أود وضع هذا موضع الاختبار.
00:00:54سأقوم بتثبيت Archify، وتوجيهها إلى مستودع، وجعلها تجيب على سؤال واحد حول البنية.
00:01:00ثم سنرى ما إذا كان بإمكاننا حتى استخدام هذه النتيجة في طلب سحب (PR).
00:01:03وهناك حالات استخدام قليلة لن أستخدم فيها هذه الأداة قطعيًا، لكننا سنغوص فيها قريبًا.
00:01:08إذا كنت تستمتع بأدوات البرمجة التي تسّرع سير عملك، فتأكد من الاشتراك.
00:01:11لدينا مقاطع فيديو تصدر طوال الوقت.
00:01:13حسناً، إذن التثبيت عبارة عن أمر واحد هنا.
00:01:17وهذا ليس تطبيقًا أقوم بإعداده.
00:01:19إنه في الواقع مهارة وكيل.
00:01:22بعد تثبيته، يمكنني استخدام نفس المهارة من Cloud Code أو أي من الأدوات الأخرى التي ذكرتها سابقًا
00:01:28دون الحاجة إلى تغيير المحررات أو حتى سير عملي.
00:01:32الآن يمكنني إرسال مهمة حقيقية إليه.
00:01:34لن أطلب منه رسم بنية هذا المستودع.
00:01:37يبدو ذلك جيدًا.
00:01:39ولكن فيครับ النهاية، سيؤدي ذلك فقط إلى إرجاع مجموعة من البيانات غير الهامة إلينا.
00:01:42لذا سأطرح سؤالاً واحداً قوياً.
00:01:45استخدم Archify، مخطط بنية من 8 إلى 12 عقدة كحد أقصى.
00:01:49ماذا يحدث عند فقدان ذاكرة التخزين المؤقت في هذه الخدمة؟
00:01:52قم تضمين المربعات الموجودة في هذا المستودع فقط.
00:01:54إذا لم تتمكن من إثبات وجود مكون ما، فاحذفه.
00:01:58قدّم ملف HTML مكتفياً بذاته.
00:02:00هذا يشبه خطة واحدة، سؤال واحد.
00:02:02حوالي 8 إلى 12 عقدة.
00:02:04لأننا إذا طلبنا من الوكيل رسم خريطة لقاعدة الكود بالكامل، فهل قمنا بتبسيط أي شيء أم
00:02:08جعلناها فقط أكثر صعوبة في الفهم؟
00:02:10الآن لقد قمت للتو بتحويل شجرة مستودعي إلى مخطط انسيابي.
00:02:14يكتب الوكيل البنية المعمارية على شكل JSON.
00:02:16ثم تتحقق Archify من صحتها.
00:02:18يمكنني أيضًا تشغيل هذا التحقق من الصحة مباشرة كما سأفعل هنا.
00:02:23هذه في الواقع ميزة رائعة جدًا وجدتها هنا.
00:02:27يمكن أن تتضمن العقد أيضًا أدلة من المستودع مرتبطة بالتزام ونطاق أسطر معين.
00:02:32إذا لم يكن هذا الإثبات موجودًا، فلا تحصل العقدة على شارة المصدر (SRC) لمجرد أن العقدة تبدو
00:02:37قوية في الإجابة.
00:02:39حسناً.
00:02:39الآن، كيف يساعد هذا حقاً؟
00:02:41يبدو هذا وكأنه مخطط بنية معمارية.
00:02:43نعم، بالتأكيد، ولكن لا يتعين عليك استخدامه كمخطط عادي.
00:02:46يمكنني البحث عن خدمة فعلية ضمن هذا المخطط.
00:02:50يمكنني النقر فوقه ومعرفة ما هو متصل صعوداً وهبوطاً فوراً.
00:02:55ثم يمكنني تشغيل هذا المسار وتتبع مسار فقدان ذاكرة التخزين المؤقت عبر النظام.
00:02:59لذا، بدلاً من التحديق في 10 أسهم ومحاولة تتبعها عقلياً، يمكنني الآن المرور عبرها
00:03:05خطوة بخطوة.
00:03:06وعلاوة على القيام بذلك، يمكنني تصديره.
00:03:08يمكنني نسخ ملف PNG أو إنشاء بطاقة مشاركة بأبعاد 1200 في 36.
00:03:13الفرق الحقيقي هنا هو مخططات ميرميد (Mermaid)، أليس كذلك؟
00:03:17أداة ميرميد هي عادة شيْ أقرؤه فحسب.
00:03:20هذا شيء يمكنني طرح الأسئلة عليه وضده.
00:03:23ولا يُستخدم التحريك لإخفاء الهيكل السيء، بل تصدير المخطط كصورة ثابتة
00:03:28لتظل المعنى موجودًا وقائماً.
00:03:31وهناك حالة استخدام ثانية قد تكون أكثر فائدة في الواقع، أليس كذلك؟
00:03:35ماذا تفكر؟
00:03:36حسناً، أنا أفكر في مراجعة الكود.
00:03:38فلتفترض أن هذا هو النظام قبل إجراء أي تغيير.
00:03:41ثم أقوم بإضافة عامل إعادة محاولة موجود.
00:03:44يمكنني إخبار الوكيل بتحديث البنية المعمارية دون اختلاق أشياء من العدم.
00:03:49يمكن لـ Archify بعد ذلك مقارنة اللقطتين المتحققتين: المضاف، المحذوف، المنقول، والمعاد توجيهه.
00:03:54إذن، بدلاً من الحصول على مخططين مولدين، يمكنني أن أرى ما تغير فعلياً.
00:03:59والمحرر لا يزال مجرد محادثة.
00:04:02ولكن إذا كنت أريد لهذه البنية أن تستمر في جلسة الوكيل التالية، فإني أقوم بعمل Commit لملف JSON.
00:04:07في هذه المرحلة من اللعبة، أسهل طريقة لفهم Archify هي كالتالي.
00:04:11بالنسبة لجهاز الافتراضي HTML الخاص بخرائط النظام، فإن وكيل البرمجة هو الواجهة الأمامية.
00:04:15وملف JSON هو التمثيل الوسيط.
00:04:19وملف HTML هو النتيجة المترجمة.
00:04:21وتلك الطبقة المتوسطة تقوم بالكثير من العمل.
00:04:24يتبع ملف JSON مخططات صارمة.
00:04:26الحقول غير المعروفة يمكن أن تفشل في التحقق من الصحة.
00:04:28وهناك خمسة أنماط للمخططات.
00:04:30البنية، سير العمل، التسلسل، تدفق البيانات، ودورة الحياة.
00:04:34ولكن أحد أكثر القرارات إثارة للاهتمام هو ما لا يتحكم فيه النموذج.
00:04:38التخطيط.
00:04:39يصف النموذج النظام.
00:04:41فهو لا يحدد بدقة المكان الذي سيذهب إليه كل مربع.
00:04:44لقد حاولوا بالفعل استخدام ميرميد المخصص مع تخطيط الدرجات التلقائي.
00:04:48لم يكن أفضل بأي حال من الأحوال من ميرميد العادي.
00:04:51كما أن عملية التحقق تفشل عند الإغلاق (fail closed).
00:04:54ملف JSON السيء لا يتحول إلى مخطط جميل بأي شكل من الأشكال.
00:04:58تحصل على تشخيصات، ورموز قواعد، وإصلاحات مدعومة.
00:05:02الآن، من كل هذا، إليك ربما المكان الذي لن أستخدم فيه Archify.
00:05:06إذا كنت بحاجة إلى مخطط مباشرة داخل ملف التمهيدي (README) الخاص بك، فربما لا.
00:05:10قد يستغرق الأمر بعض الوقت.
00:05:11GitHub يعرضه.
00:05:12وملف HTML الخاص بـ Archify لا يفعل ذلك.
00:05:15تحل Archify نوعًا مختلفًا تمامًا من المشاكل هنا.
00:05:18هناك بالفعل وكيل قيد التشغيل.
00:05:20هذا الوكيل ينتج منتجاً معمارياً.
00:05:23ربما يذهب إلى طلب سحب (PR).
00:05:25ربما يذهب إلى مراجعة التصميم.
00:05:27هناك يبدأ الناتج المدقق في اكتساب الأهمية.
00:05:30الآن، ضمن هذا، هناك الكثير مما أعجبني هنا.
00:05:32فهو يعيش داخل الأدوات التي نستخدمها بالفعل كل يوم.
00:05:35يمكنني إرسال الناتج إلى الخارج.
00:05:38تمنحني أدلة المستودع شيئًا ملموسًا للتحقق منه بالفعل.
00:05:41ونظرًا لأن البنية منظمة، يمكنني الاستمرار في تعديلها دون أن تتغير الأشياء عشوائياً بمرور الوقت.
00:05:46كما أنها تبدو جيدة لدرجة أنني ربما لن أشعر بالحاجة إلى إعادة رسمها في Figma أو أي أداة أخرى مماثلة.
00:05:53ولكن كل هذا يقال، في نفس الوقت، Archify لا تعرف بنيتك المعمارية.
00:05:58يمكن أن يكون الرسم البياني صحيحًا تمامًا ومع ذلك يصف النظام الخطأ.
00:06:02لا يزال يتعين عليك قراءته.
00:06:03النموذج السيئ، كما نعلم، غالباً ما ينشئ فقط JSON يعمل، لكنه لا يزال سيئ المظهر.
00:06:08وإذا كانت الوجهة النهائية لمخططك هي ملف التمهيدي (README)، فقد تكون أداة ميرميد أفضل هنا.
00:06:13مع Archify، ربما تقوم بعمل Commit لملف JSON و HTML أو تقوم بتصدير صورة.
00:06:18وهناك خطأ واحد تجنبه بالتأكيد هنا.
00:06:21لا توجهه إلى مستودع ضخم وتطلب منه: ارسم خريطة لكل شيء.
00:06:25أعتقد أنه يمكنك تخمين كيف سيسير الأمر لأنك ستستعيد على الأرجح حمولة من البيانات غير الهامة.
00:06:29ولكن هذا ليس في الواقع فشلاً لـ Archify.
00:06:32بل هو بالأحرى سؤال سيء.
00:06:34إذا كنت تعمل بالفعل مع وكلاء البرمجة وتقوم بانتظام بإنشاء مخططات ستنظر إليها في المستقبل أو قد ينظر إليها شخص آخر، فهذا منطقي.
00:06:42مراجعات طلبات السحب (PRs)، وثائق التصميم، ربما سأستخدم هذه الأداة.
00:06:47لن أقوم بتثبيت هذا لأني أريد نسخة أجمل لشيء نمتلكه بالفعل، مثل ميرميد على سبيل المثال.
00:06:52وبالتأكيد لن أتوقع منه هندسة عكسية لأي شيء نيابة عني.
00:06:55عقبة التجربة صغيرة حقًا.
00:06:58أمر MPX واحد، ونود (Node) على الجهاز.
00:07:00لا توجد أوزان نماذج هنا.
00:07:02جهاز M4 Pro الخاص بي غير مهم أساسًا في هذا.
00:07:05ولكن هناك قاعدة واحدة أود الالتزام بها.
00:07:07سؤال واحد لكل ملف.
00:07:08إذا لم تتمكن من تحديد السؤال الذي يجيب عليه المخطط بوضوح، فلا تقم بتوليد المخطط.
00:07:14أنا جوش من BetterStack.
00:07:15إذا كنت تستمتع بنصائح وحيل البرمجة مثل هذه، فتأكد من الاشتراك في القناة.
00:07:19سنراكم في فيديو آخر.
00:07:20سنراكم في فيديو آخر.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기