أعاد GitHub مؤخراً إطلاق طريقة سهلة للوصول إلى سجل نجوم مشاريعك المفضلة من خلال نقطة نهاية جديدة ومخصصة، مما يحل مشكلة تقييد الوصول السابق. يمكن لأي شخص الآن رؤية كيف نمت شعبية مشروع مفتوح المصدر بمرور الوقت.
يا عشاق التكنولوجيا! هل لاحظتم اختفاء سجل نجوم GitHub لبعض الوقت؟ لدينا أخبار رائعة: عاد بإصدار أفضل! أطلقت GitHub نقطة نهاية جديدة كلياً لسجل نجوم المشاريع في سبتمبر الماضي، وهذا يعني أنه يمكنكم مرة أخرى تتبع شعبية أي مستودع عام (repo) على GitHub بسهولة ويسر.
بالنسبة لكم كمطورين، أو حتى مجرد فضوليين، هذا يعني أن الأدوات التي كنتم تعتمدون عليها لرؤية كيف يكتسب مشروع ما النجوم، عادت للعمل بشكل صحيح، بل وأفضل. كانت GitHub قد قيدت في وقت سابق عرض قائمة 'المميزين بنجمة' (stargazers) على مديري المستودعات والمتعاونين فقط، مما جعل العديد من أدوات سجل النجوم بلا جدوى. لكن مع نقطة النهاية الجديدة، عاد كل شيء.
ما الجديد بالضبط؟ هذه النقطة الجديدة، 'GET /repos/{owner}/{repo}/stargazers/history'، مصممة خصيصاً لتتبع تاريخ النجوم. إنها تعمل لأي مستودع عام دون الحاجة إلى أي مصادقة، وهذا رائع! تعيد لكم النجوم مجمعة حسب الأسبوع التقويمي، بدءاً من الأحدث. على سبيل المثال، يمكنكم رؤية بيانات مثل: '[{ "week": 1754784000, "total": 19, "days": [0, 12, 7, 0, 0, 0, 0] }]'، حيث يمثل 'days' عدد النجوم في كل يوم من أيام الأسبوع، بدءاً من الأحد.
وماذا عن دقتها؟ تم اختبارها بدقة، وتطابق الإجمالي الأسبوعي للنجوم تماماً مع عدد النجوم الفعلي في جميع المستودعات السبعة التي تم فحصها، بما في ذلك مشاريع ضخمة مثل 'vercel/next.js' و 'torvalds/linux'. كما أنها ذكية بما يكفي لتعقب المستودعات التي تم تغيير اسمها؛ فمثلاً، يعيد 'facebook/react' تاريخ نجمة 'react/react' بالكامل.
بالنسبة للمشاريع الأقدم، لا تقلقوا. يمكنكم جلب ما يصل إلى 100 صفحة من البيانات، كل صفحة تحتوي على ما يصل إلى 30 أسبوعاً من تاريخ النجوم. هذا يعني أنه يمكنكم تتبع سجل النجوم لمشاريع تعود إلى سنوات طويلة. النتائج التي يتم جلبها تخضع للتخزين المؤقت لمدة ساعة لتسريع الوصول.
في السابق، كانت محاولات الحصول على هذه البيانات من مصادر أخرى، مثل بيانات أرشيف GitHub العامة، تواجه مشاكل، خاصة مع المستودعات التي تغير أسماءها، حيث كانت تفقد جزءاً كبيراً من تاريخ نجومها. لكن مع هذه النقطة الجديدة، أصبحت هذه المشكلة من الماضي. هذه خطوة رائعة من GitHub لتسهيل تتبع نمو المشاريع وإتاحة هذه البيانات للمجتمع ككل. استعدوا لرسم بياني لنجوم مشاريعكم المفضلة!
بالنسبة لكم كمطورين، أو حتى مجرد فضوليين، هذا يعني أن الأدوات التي كنتم تعتمدون عليها لرؤية كيف يكتسب مشروع ما النجوم، عادت للعمل بشكل صحيح، بل وأفضل. كانت GitHub قد قيدت في وقت سابق عرض قائمة 'المميزين بنجمة' (stargazers) على مديري المستودعات والمتعاونين فقط، مما جعل العديد من أدوات سجل النجوم بلا جدوى. لكن مع نقطة النهاية الجديدة، عاد كل شيء.
ما الجديد بالضبط؟ هذه النقطة الجديدة، 'GET /repos/{owner}/{repo}/stargazers/history'، مصممة خصيصاً لتتبع تاريخ النجوم. إنها تعمل لأي مستودع عام دون الحاجة إلى أي مصادقة، وهذا رائع! تعيد لكم النجوم مجمعة حسب الأسبوع التقويمي، بدءاً من الأحدث. على سبيل المثال، يمكنكم رؤية بيانات مثل: '[{ "week": 1754784000, "total": 19, "days": [0, 12, 7, 0, 0, 0, 0] }]'، حيث يمثل 'days' عدد النجوم في كل يوم من أيام الأسبوع، بدءاً من الأحد.
وماذا عن دقتها؟ تم اختبارها بدقة، وتطابق الإجمالي الأسبوعي للنجوم تماماً مع عدد النجوم الفعلي في جميع المستودعات السبعة التي تم فحصها، بما في ذلك مشاريع ضخمة مثل 'vercel/next.js' و 'torvalds/linux'. كما أنها ذكية بما يكفي لتعقب المستودعات التي تم تغيير اسمها؛ فمثلاً، يعيد 'facebook/react' تاريخ نجمة 'react/react' بالكامل.
بالنسبة للمشاريع الأقدم، لا تقلقوا. يمكنكم جلب ما يصل إلى 100 صفحة من البيانات، كل صفحة تحتوي على ما يصل إلى 30 أسبوعاً من تاريخ النجوم. هذا يعني أنه يمكنكم تتبع سجل النجوم لمشاريع تعود إلى سنوات طويلة. النتائج التي يتم جلبها تخضع للتخزين المؤقت لمدة ساعة لتسريع الوصول.
في السابق، كانت محاولات الحصول على هذه البيانات من مصادر أخرى، مثل بيانات أرشيف GitHub العامة، تواجه مشاكل، خاصة مع المستودعات التي تغير أسماءها، حيث كانت تفقد جزءاً كبيراً من تاريخ نجومها. لكن مع هذه النقطة الجديدة، أصبحت هذه المشكلة من الماضي. هذه خطوة رائعة من GitHub لتسهيل تتبع نمو المشاريع وإتاحة هذه البيانات للمجتمع ككل. استعدوا لرسم بياني لنجوم مشاريعكم المفضلة!