Category: التطوير

توازي توليد التعليمات البرمجية بواسطة نماذج اللغة الكبيرة: زيادة الإنتاجية باستخدام Git Worktrees و Tmux

2025-05-28
توازي توليد التعليمات البرمجية بواسطة نماذج اللغة الكبيرة: زيادة الإنتاجية باستخدام Git Worktrees و Tmux

يتشارك نيكولاس خامي تجربته في تشغيل عدة نماذج لغة كبيرة (LLM) لتوليد التعليمات البرمجية (مثل Claude Code و Codex) بالتوازي باستخدام Git Worktrees و tmux. وقد وجد زيادة كبيرة في الكفاءة؛ حتى مع جودة متفاوتة في المخرجات الفردية لنماذج LLM، فإن تشغيل عدة نماذج في وقت واحد يزيد بشكل كبير من فرص الحصول على تعليمات برمجية قابلة للاستخدام. ومع ذلك، فإن إدارة العديد من worktrees وجلسات tmux يدويًا أمرٌ شاق. لحل هذه المشكلة، يقوم هو وشريكه بتطوير أداة سطر أوامر تسمى `uzi`، بهدف تبسيط سير العمل، وتوفير تجربة تطوير أكثر سلاسة من خلال أتمتة المهام مثل تشغيل النماذج، وإرسال الاقتراحات، وتشغيل الأوامر، والمعاينة، والالتزام، وإنشاء طلبات السحب. ويُعد هذا الأمر واعدًا لتحسين إنتاجية المطورين بشكل كبير، وتتجاوز فلسفة المعالجة المتوازية مجال البرمجة، لتشمل مجالات أخرى مثل مراجعة العقود القانونية وتحليل بيانات التسويق. من المتوقع أن نرى المزيد من البرامج التي تدمج قدرات التنفيذ المتوازية المماثلة في المستقبل.

التطوير

مستكشف المُجمِّع: وعد عناوين URL التي تدوم إلى الأبد

2025-05-28

تطورت عناوين URL الخاصة بمستكشف المُجمِّع من ترميز حالة المُجمِّع مباشرةً في عناوين URL إلى استخدام مُختصرات عناوين URL من goo.gl، ثم إلى حل تخزين ذاتي الصنع. نظرًا لإيقاف تشغيل goo.gl في أغسطس 2025، يبذل الكاتب قصارى جهده لإنقاذ الروابط القديمة القائمة على goo.gl، وقد استعاد أكثر من 12000 رابط حتى الآن. تُبرز هذه المقالة التزام الكاتب بـ "عناوين URL التي تدوم إلى الأبد"، وتعكس الاعتماد على خدمات الجهات الخارجية.

arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

2025-05-28
arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

arXivLabs هو إطار عمل يسمح للمشاركين بتطوير ومشاركة ميزات arXiv الجديدة مباشرةً على موقعنا الإلكتروني. لقد تبنى كل من الأفراد والمنظمات الذين يعملون مع arXivLabs قيمنا المتمثلة في الانفتاح والمجتمع والتميز وخصوصية بيانات المستخدم. يلتزم arXiv بهذه القيم ويعمل فقط مع الشركاء الذين يلتزمون بها. هل لديك فكرة لمشروع سيضيف قيمة لمجتمع arXiv؟ تعرف على المزيد حول arXivLabs.

التطوير

قمت بعمل هندسة عكسية لموقع ويب Waffle House أثناء إعصار

2025-05-28
قمت بعمل هندسة عكسية لموقع ويب Waffle House أثناء إعصار

خلال إعصار هيلين في أواخر سبتمبر 2024، بينما كانت جامعتي مغلقة وكان الناس يسدون منازلهم، قمت بعمل هندسة عكسية لموقع ويب Waffle House. باستخدام بيانات JSON مخفية على موقعهم Next.js، قمت بإنشاء خريطة حية تتبع إغلاقات Waffle House للمساعدة في تقييم تأثير الإعصار. أصبح الموقع شائعًا بشكل غير متوقع، وجذب انتباه Waffle House نفسها وحتى Frank Luntz. في النهاية، أجبرتني مشكلات العلامات التجارية على إزالته، لكن التجربة كانت مغامرة ممتعة وغير متوقعة.

التطوير

Tesseral: بنية تحتية مفتوحة المصدر للتحقق من الهوية لـ SaaS من الأعمال التجارية (B2B)

2025-05-28
Tesseral: بنية تحتية مفتوحة المصدر للتحقق من الهوية لـ SaaS من الأعمال التجارية (B2B)

Tesseral هي بنية تحتية مفتوحة المصدر للتحقق من الهوية للبرامج التجارية (B2B SaaS). إنها خدمة سحابية متعددة المستأجرين، ذات واجهة برمجة تطبيقات أولية، متوافقة مع أي مجموعة تقنية. يمكن للمطورين استخدام الخدمة المُدارة على console.tesseral.com أو استضافتها بأنفسهم. فهي تجمع كل ما هو مطلوب لإدارة المستخدمين: صفحات تسجيل دخول قابلة للتخصيص، دعم متعدد المستأجرين من الأعمال التجارية إلى الأعمال التجارية، تقليد المستخدم، تكوين الخدمة الذاتية، طرق تسجيل دخول متعددة (روابط سحرية، تسجيل دخول اجتماعي، SAML، SCIM)، التحكم في الوصول القائم على الأدوار (RBAC)، المصادقة متعددة العوامل (MFA)، مفاتيح المرور/WebAuthn، تطبيقات المصادقة (TOTPs)، إدارة مفاتيح واجهة برمجة التطبيقات، دعوات المستخدمين، و Webhooks. تتوفر مجموعات تطوير البرامج (SDKs) لنظام React و Flask وأكثر من ذلك، مما يبسط عملية دمج الواجهة الأمامية والخلفية.

Wetlands: مكتبة بايثون خفيفة الوزن لإدارة بيئات Conda

2025-05-28

Wetlands هي مكتبة بايثون خفيفة الوزن مصممة لتبسيط إدارة بيئات Conda. إنها تُنشئ بيئات Conda عند الطلب، وتُثبت التبعيات، وتُنفذ أكوادًا عشوائية بداخلها، مما يمنع حدوث تعارضات في التبعيات. وهي مثالية لأنظمة الإضافات أو دمج الوحدات الخارجية، وتستخدم Wetlands إما pixi أو micromamba للمعالجة السريعة والفعالة لبيئات Conda. تتيح واجهة برمجة التطبيقات البسيطة للمطورين إنشاء بيئات، وبدء تشغيلها، واستيراد الوحدات، وتنفيذ الوظائف، والخروج من البيئات بشكل نظيف، مما يجعل إدارة التبعيات في مشاريع بايثون أسهل وأكثر كفاءة.

التطوير

غوص Project Zero العميق في سجل Windows: عامان، 53 ثغرة أمنية

2025-05-28
غوص Project Zero العميق في سجل Windows: عامان، 53 ثغرة أمنية

أمضى ماتيوز جوركزيك من مشروع Project Zero التابع لشركة جوجل عامين في البحث المتعمق في سجل Windows، وكشف عن 53 ثغرة أمنية في هذه العملية. يبرز بحثه تعقيد السجل كسطح هجوم محلي لتصعيد الامتيازات، مفصلًا مشكلات الأمان الناشئة عن قاعدة التعليمات البرمجية القديمة الضخمة المكتوبة بلغة C. تغطي الدراسة فئات مختلفة من الثغرات الأمنية، بما في ذلك تلف الذاكرة، والكشف عن المعلومات، وأخطاء المنطق، وتحليل نقاط دخول الهجوم المختلفة مثل تحميل خلايا النحل، وخلايا تطبيقات النحل، ونداءات النظام المباشرة. كما يشدد البحث على كيفية تأثير آليات الإصلاح الذاتي للسجل على مراجعة الأمان، وتحديات الحدود غير الواضحة بين متطلبات التنسيق الصارمة والاتفاقيات. وأخيرًا، يلخص المنشور بدائيات الاستغلال ويناقش استراتيجيات وصعوبات اختبار السجل.

نماذج اللغات الكبيرة: تسريع عدم الكفاءة في هندسة البرمجيات

2025-05-28
نماذج اللغات الكبيرة: تسريع عدم الكفاءة في هندسة البرمجيات

تجادل هذه المقالة في أن الإفراط في الاعتماد على نماذج اللغات الكبيرة (LLMs) في هندسة البرمجيات يمكن أن يُسرّع من عدم الكفاءة. يُفصّل مهندس برمجيات خبير كيف أن نماذج اللغات الكبيرة، على الرغم من سرعتها في توليد الشفرة، تُدخِل مخاطرًا كبيرة: مخرجات خاطئة، وعدم القدرة على فهم السياق، وزيادة الديون التقنية، وقمع التفكير النقدي والإبداع. بناءً على رؤى بيتر ناور وفريد بروكس، يُشدّد الكاتب على أن البرمجة تتكون من بناء نظرية البرنامج وإدارة إنتروبيته، وهما مهمتان تتجاوز قدرات نماذج اللغات الكبيرة الحالية. يخلص المقال إلى أن نماذج اللغات الكبيرة، على الرغم من كونها أدوات مفيدة، لا تستطيع أن تحل محل براعة الإنسان وعمق تفكيره، وأن الإفراط في الاعتماد عليها قد يؤدي إلى زيادة التكاليف وفشل المشاريع.

التطوير

مايكروسوفت تفتح تحديثات Windows لتطبيقات الجهات الخارجية

2025-05-28
مايكروسوفت تفتح تحديثات Windows لتطبيقات الجهات الخارجية

تُوسّع مايكروسوفت تحديثات Windows لتشمل تطبيقات الجهات الخارجية. يمكن للمطورين الآن التسجيل في معاينة خاصة لمنصة تنسيق تحديثات Windows، مما يتيح الدعم في المستقبل لتحديثات أي تطبيق أو برنامج تشغيل. على الرغم من التركيز الأولي على تطبيقات الأعمال، إلا أنها ستكون مفتوحة لجميع التطبيقات وأدوات الإدارة. يسمح هذا للمطورين بالاستفادة من التحديثات المجدولة بناءً على نشاط المستخدم، وحالة البطارية، وحتى توقيت الطاقة المستدامة، والاتصال المباشر بإشعارات تحديث Windows الأصلية، وإدراج التحديثات في سجل تحديثات التطبيقات في Windows Update. ستدعم مايكروسوفت التطبيقات المعلبة MSIX/APPX وحتى بعض تطبيقات Win32 المخصصة.

إصدار CheerpJ 4.1: دعم مبكر لـ Java 17 وجافا محسّنة للمتصفحات

2025-05-28
إصدار CheerpJ 4.1: دعم مبكر لـ Java 17 وجافا محسّنة للمتصفحات

أعلنت شركة Leaning Technologies عن إصدار CheerpJ 4.1، والذي يتضمن دعمًا أوليًا لـ Java 17 وتحسينًا في استقرار Java 11، بالإضافة إلى تحسينات في الأداء، وتحسينات في بنية الشبكة، وتحسين قابلية الاستخدام على الأجهزة المحمولة. CheerpJ عبارة عن JVM باستخدام WebAssembly يسمح بتنفيذ bytecode Java دون تعديلات في المتصفحات، ويدعم تطبيقات Swing/AWT واسعة النطاق وتكامل مكتبات Java (وضع المكتبة). كما يقدم CheerpJ 4.1 دعمًا لوحدات JNI WebAssembly، مما يسمح بتشغيل تطبيقات Java التي تعتمد على التعليمات البرمجية الأصلية مثل Minecraft. سيتضمن إصدار CheerpJ 5.0 دعمًا ثابتًا لـ Java 17 ودعمًا لـ NPM.

التطوير

نماذج اللغات الكبيرة: التكلفة غير المتوقعة لكتابة الشفرة بسهولة أكبر

2025-05-28

لقد أحدثت نماذج اللغات الكبيرة (LLMs) ثورة في كتابة الشفرة، متجاوزة حتى تأثير شبكة الإنترنت العالمية. ومع ذلك، لم يغير هذا الحقيقة الأساسية وهي أن فهم الشفرة أصعب من كتابتها؛ كل سطر يمثل ديونًا تقنية. إن إدخال نماذج اللغات الكبيرة يجعل من الصعب أكثر إقناع الفرق بالتخلي عن مجموعات الاختبار القديمة والقرارات التقنية. تنتج نماذج اللغات الكبيرة بسهولة وظائف جديدة، مما يؤدي إلى قواعد بيانات ضخمة يصعب صيانتها، مما يتحدى مبادئ DRY. تعتمد فرق الهندسة المنتجة تاريخيًا على خبرة عميقة في سلسلة الأدوات، لكن نماذج اللغات الكبيرة تخفض بشكل كبير تكاليف كتابة الشفرة، مما يؤدي إلى زيادة هائلة في التنوع البيئي في بيئات البرامج. على الرغم من أن نماذج اللغات الكبيرة قد تعمل في النهاية على تحسين إمكانية قراءة الشفرة واستنتاجها، إلا أن التحديات الحالية كبيرة.

التطوير كتابة الشفرة

التاريخ الفوضوي لتحليل التواريخ في جافا سكريبت

2025-05-28

تكشف هذه المقالة عن غرابة في تحليل التواريخ في جافا سكريبت: '2025/05/28' و '2025-05-28' تمثلان تواريخ مختلفة. ينبع هذا من عدم الاتساق الطويل الأمد في كيفية تحليل المتصفحات لسلاسل التواريخ. تتتبع المقالة تطور تحليل سلاسل التواريخ في كروم وفايرفوكس وسفاري منذ إصدار معيار ES5 في عام 2009، مع تسليط الضوء على تنفيذاتها وتفسيراتها المختلفة لمعيار ISO 8601. في النهاية، يتم تفسير تنسيقات التواريخ مثل '2025-05-28' على أنها UTC، بينما يتم تفسير التنسيقات الأخرى على أنها التوقيت المحلي، مما يسبب الارتباك. تستنتج المقالة من خلال تقديم واجهة برمجة التطبيقات Temporal القادمة في جافا سكريبت، والتي ستحل هذه المشكلة من خلال طلب معلومات المنطقة الزمنية.

التطوير

LIEF يضيف إنشاء DWARF: ربط أدوات الهندسة العكسية

2025-05-28
LIEF يضيف إنشاء DWARF: ربط أدوات الهندسة العكسية

يقدم LIEF الآن واجهة برمجة تطبيقات شاملة لإنشاء ملفات DWARF، بالإضافة إلى إضافات لـ Ghidra و BinaryNinja لتصدير نتائج تحليل الهندسة العكسية. يسمح هذا بمشاركة معلومات بالغة الأهمية مثل أسماء الدوال والهياكل بين أدوات الهندسة العكسية المختلفة. باستخدام دعم DWARF من LLVM، تبسط واجهة البرمجة التطبيقات (المتاحة بلغات Python وRust وC++) العملية، بما في ذلك تفاصيل مثل إزاحات المتغيرات على المكدس. يحسن هذا التعاون والفهم في مشاريع الهندسة العكسية المعقدة.

التطوير

سباق التسلح بين برهان العمل في جافا سكريبت و نماذج اللغات الكبيرة (LLMs)

2025-05-28

تستخدم مواقع الويب بشكل متزايد أنظمة برهان العمل القائمة على جافا سكريبت، مثل أنوبيس من شركة Xe Iaso، لمكافحة نماذج اللغات الكبيرة (LLMs) والخوادم العنيدة. ومع ذلك، يمكن لـ LLMs الاستفادة من الأجهزة المخترقة للحصول على قدرة وحدة المعالجة المركزية الهائلة لحل هذه التحديات. تكمن المشكلة في أن LLMs تعمل في بيئة معادية، مما يجعل من الصعب التمييز بين برهان العمل الأصلي و جافا سكريبت الخبيثة. هذا يعرض LLMs للخطر من خلال عمليات تعدين وحدة المعالجة المركزية أو الهجمات الأخرى. محاولة تحديد أنظمة برهان العمل هي لعبة خاسرة بالنسبة لـ LLMs، حيث أن الجهات الفاعلة الخبيثة لديها حافز لمحاكاتها. هذا يخلق سباق تسلح بين مواقع الويب و LLMs، حيث يحاول كل منهما تحسين استخدام الموارد مع حماية مصالحه.

التطوير

سلاح المُبرمج السري: الملاحظات المكتوبة بخط اليد تتفوق على محررات الشفرة

2025-05-28
سلاح المُبرمج السري: الملاحظات المكتوبة بخط اليد تتفوق على محررات الشفرة

يشارك مطور برامج رؤاه الفريدة حول استخدام دفتر ملاحظات للتفكير وحل المشكلات. وهو يجادل بأن كتابة الأفكار والرسوم البيانية في دفتر ملاحظات، قبل كتابة التعليمات البرمجية مباشرةً على جهاز كمبيوتر، يسمح بزيادة الوضوح وتحديد الحلول. تساعد هذه الطريقة في تحويل الأفكار الغامضة إلى خطط ملموسة، واكتشاف الأخطاء وعيوب التصميم في التعليمات البرمجية، وترك سجل قيّم لعملية التفكير للرجوع إليها لاحقًا. بالنسبة له، دفتر الملاحظات أداة أكثر أهمية من محرر التعليمات البرمجية.

التطوير طرق التفكير

تنفيذ مرجعي لبروتوكول توافق آلبنجلو

2025-05-28
تنفيذ مرجعي لبروتوكول توافق آلبنجلو

أصدرت شركة أنزا تكنولوجي تنفيذًا مرجعيًا لبروتوكول توافق آلبنجلو. يتضمن ذلك مثالًا على مجموعة محلية قابلة للتشغيل مع 6 عقد تتواصل عبر بروتوكول UDP. يوفر ملف ثنائي للمحاكاة محاكاة متنوعة لمرونة آلبنجلو ومتطلبات عرض النطاق الترددي. يلزم وجود مجموعة بيانات Ping عامة لبعض عمليات المحاكاة. كما تم تضمين اختبارات دقيقة ومجموعة اختبارات. في حالة وجود مشكلات أمنية، يرجى التواصل مباشرة مع quentin (at) anza (dot) xyz.

مونوريبو: درب شائك نحو إنتاجية المطورين

2025-05-28

يستكشف هذا المقال التحديات والفرص المتعلقة ببناء وصيانة مونوريبو. يحذر المؤلف من اتباع قصص نجاح شركات التكنولوجيا الكبرى بشكل أعمى، مؤكداً أن مونوريبو ليس حلاً سحرياً. يعتمد النجاح على أهداف محددة بوضوح، مثل تحسين اتساق التعليمات البرمجية، والتماسك التنظيمي، وكفاءة مشاركة الأدوات. يفصل المقال استراتيجيات التحسين للتحكم في الإصدارات (قيود جيت وخيارات بديلة)، ونظم البناء (بإعطاء الأولوية لاستراتيجيات لغة واحدة)، والاختبارات (O(change) وليس O(repo))، وعمليات سير عمل CI/CD في بيئة مونوريبو. يشدد المؤلف على أهمية التعامل بعناية مع التعليمات البرمجية المُولدة والطبيعة غير المتزامنة لنشر الخدمات لتجنب الحوادث الناجمة عن وهم الالتزامات الذرية. في النهاية، يجادل المؤلف بأنه على الرغم من صعوبة الأمر، إلا أن فوائد مونوريبو المُحسّن جيداً تستحق العناء إذا التزمت المؤسسة بالتحسين المستمر للأدوات والعمليات.

التطوير

pg_test_fsync: قياس أداء الكتابة على القرص للّقواعد البيانات

2025-05-28

تُقدّم هذه المقالة أداة pg_test_fsync، المُستخدمة لاختبار سرعة أداء الكتابة على القرص أو تخزين السحابة، وهي مفيدة بشكل خاص لسجلات WAL في قواعد البيانات وأحمال العمل الأخرى التي تتطلب كتابة منخفضة التأخير. قام الكاتب باختبار محرك أقراص الحالة الثابتة Samsung 990 Pro من فئة المستهلكين، ومحرك أقراص الحالة الثابتة Micron 7400 من فئة المؤسسات، وكشفت النتائج عن سرعات كتابة متزامنة أسرع بكثير في محرك أقراص الحالة الثابتة من فئة المؤسسات نظرًا لوجود ذاكرة تخزين مؤقتة DRAM ووظيفة حماية من فقدان الطاقة. أثبتت fdatasync أنها أسرع من fsync أو O_SYNC، لكن حتى fdatasync تستغرق 1.6 مللي ثانية لكتابة واحدة بحجم 8 كيلوبايت. وتلاحظ المقالة أن عمليات الكتابة الصغيرة المتعددة تُقلل من الأداء، مما يقترح كتابة دفعات لزيادة الكفاءة.

التطوير

تطبيق UEFI ينقذ نظامي x86 الذي يعمل بالطاقة عبر PoE

2025-05-28
تطبيق UEFI ينقذ نظامي x86 الذي يعمل بالطاقة عبر PoE

في عام 2015، واجه المؤلف تحديًا أثناء تطوير أجهزة كمبيوتر x86 مضمنة تعمل بالطاقة عبر PoE: كان النظام يحتاج إلى 23 وات للتشغيل، لكن PoE القياسية توفر 15.4 وات فقط. بعد فشل محاولات تعديل BIOS، استخدم المؤلف بذكاء تطبيق UEFI لإرسال حزم LLDP قبل بدء تشغيل نظام التشغيل، مما أدى إلى التفاوض بنجاح على طاقة PoE+ أعلى. تطبيق UEFI هذا، المسمى PoePwrNegotiator، المكتوب بلغة C، أصبح الآن مفتوح المصدر، مما يوفر خبرة قيّمة لمطوري مشاريع مماثلة.

التطوير

ضغط الصور: اجعل موقعك الإلكتروني يعمل بسرعة البرق

2025-05-28

قد تزن صورة البطل الواحدة غير المُحسّنة أكثر من ميزانية موقعك الإلكتروني بالكامل! تُعلّمُك هذه المقالة كيفية إتقان تقنيات ضغط الصور بسرعة لتحسين سرعة موقع الويب وتحسين محركات البحث. تشرح المقالة الفرق بين الضغط بدون فقدان والضغط بفقدان، والمقاييس الرئيسية (الجودة، والدقة، وحجم الملف)، والتنسيقات الشائعة (JPEG وPNG وWebP وAVIF)، وخطوات استخدام أداة SlimImg لضغط الصور. تُظهر دراسة حالة للتجارة الإلكترونية أنه من خلال ضغط صور المنتجات، تم تقليل متوسط حجم الصفحة بنسبة 68٪، وزادت معدلات التحويل بنسبة 38٪.

التطوير

لماذا منحنيات إهليلجية لـ Diffie-Hellman؟

2025-05-27
لماذا منحنيات إهليلجية لـ Diffie-Hellman؟

تتناول هذه المقالة أسباب استخدام المنحنيات الإهليلجية في تبادل مفاتيح Diffie-Hellman. بدايةً من نظرية المجموعات، يشرح الكاتب سبب عدم ملاءمة مجموعات أخرى، مثل مجموعة مونستر. من خلال استكشاف أجسام المجموعات ونظرية الفئات، تكشف المقالة أن المنحنيات الإهليلجية ليست اختيارًا عشوائيًا، بل الخيار الوحيد تقريبًا، بل وتُظهر أن Diffie-Hellman في المجال المحدود هو حالة خاصة من تشفير المنحنيات الإهليلجية.

LLM 0.26: نماذج اللغات الكبيرة تحصل على أدوات طرفية

2025-05-27
LLM 0.26: نماذج اللغات الكبيرة تحصل على أدوات طرفية

تم إصدار LLM 0.26، والذي يُعدّ أكبر إضافة منذ بدء المشروع: دعم الأدوات. تتيح واجهة سطر الأوامر LLM ومكتبة Python الآن إعطاء نماذج LLMs من OpenAI وAnthropic وGemini والنماذج المحلية من Ollama إمكانية الوصول إلى أي أداة يمكن تمثيلها كدالة Python. تشرح المقالة بالتفصيل تثبيت واستخدام إضافات الأدوات، وتشغيل الأدوات عبر سطر الأوامر أو واجهة برمجة التطبيقات Python، وتُظهر أمثلة مع OpenAI وAnthropic وGemini وحتى النموذج الصغير Qwen-3. بالإضافة إلى الأدوات المُدمجة، يتم عرض إضافات مخصصة مثل simpleeval (للرياضيات) وquickjs (لـ JavaScript) وsqlite (لاستعلامات قواعد البيانات). يُعالج دعم الأدوات هذا نقاط الضعف في LLM، مثل العمليات الحسابية، مما يُوسّع القدرات بشكل كبير ويفتح إمكانيات لتطبيقات الذكاء الاصطناعي القوية.

التطوير دعم الأدوات

تحسين محوّل APT: معالجة أنيقة لإزالة الحزم المثبتة يدويًا

2025-05-27

تتناول هذه المشاركة تحسينات في محوّل إدارة حزم APT. في البداية، تم التعامل مع الحزم المثبتة يدويًا على أنها حقائق ثابتة، بينما كانت الحزم المثبتة تلقائيًا عبارة عن فقرات وحدة اختيارية. ومع ذلك، فإن السماح بإزالة الحزم المثبتة يدويًا أدى إلى تعطل المحوّل؛ حيث يمكنه إزالتها بشكل غير ضروري. يحل المؤلف هذه المشكلة بافتراض جميع الفقرات الاختيارية في البداية، ثم التراجع عن هذه الافتراضات بشكل متكرر خلال عملية الحل. هذا النهج، على الرغم من أنه ليس مثاليًا على الصعيد العالمي، إلا أنه يثبت فعاليته في الممارسة العملية لحل التبعيات، مما يتجنب التعقيد الأسي للبحث العالمي.

التطوير محوّل SAT

تشغيل GPT-2 على وحدة معالجة الرسومات باستخدام ظلال WebGL: رحلة قرصان

2025-05-27

يُفصّل هذا النجاح على موقع Hacker News تجربة الكاتب في تنفيذ GPT-2 باستخدام ظلال WebGL على وحدة معالجة الرسومات. يستكشف المقال أصول تطور البرمجة العامة لوحدة معالجة الرسومات، مُقارناً واجهات برمجة التطبيقات الرسومية التقليدية (مثل OpenGL) بواجهات برمجة التطبيقات الحاسوبية (مثل CUDA و OpenCL). يستخدم الكاتب بذكاء القواميس وذاكرة الإطار كحافلة بيانات، مُستخدماً ظلال الأجزاء كنواة حاسوبية لإجراء عمليات الشبكة العصبية مثل ضرب المصفوفات وتنشيط GELU. على الرغم من الاعتراف بالقيود المتعلقة بالذاكرة المشتركة وحجم القواميس والدقة، يُبرز المقال قوة وإمكانات برمجة وحدة معالجة الرسومات، ويُظهر استخداماً مبتكرًا لتقنيات معالجة الرسومات للحساب العام. الشفرة متوفرة على Github.

التطوير

عداد أوليات مقطوعة من اليمين بكفاءة بلغة C

2025-05-27
عداد أوليات مقطوعة من اليمين بكفاءة بلغة C

يحسب هذا البرنامج بلغة C بكفاءة عدد الأعداد الأولية المقطوعة من اليمين لعدد معين من الأرقام. يستخدم جدول هاش مخصصًا للتحقق من الأعداد الأولية بسرعة، و مكتبة primesieve لإنشاء الأعداد الأولية المُحسّنة. يبقى العدد الأولي المقطوع من اليمين أوليًا بعد إزالة رقمه الأيمن بشكل متتالي. يتعامل البرنامج مع المدخلات من 1 إلى 19 رقمًا، مع الإبلاغ عن عدد الأعداد الأولية المقطوعة من اليمين لكل طول رقم ووقت التنفيذ الإجمالي. على سبيل المثال، بالنسبة للأرقام المكونة من 8 أرقام، يجد 5 أعداد أولية من هذا النوع وما مجموعه 83 حتى 8 أرقام.

التطوير

Glasskube تنتقل من Docusaurus إلى Starlight لوثائقها التقنية

2025-05-27
Glasskube تنتقل من Docusaurus إلى Starlight لوثائقها التقنية

يشارك فيليب، وهو مهندس في Glasskube، تجربته في نقل إطار عمل وثائقهم التقنية من Docusaurus إلى Starlight. تنشر هذه المقالة مقارنة مفصلة بين الإطارين من حيث التصميم، وتحسين محركات البحث (SEO)، وتجربة المطور، وسرعة البناء، وقابلية التوسعة. يعاني Docusaurus، القائم على React، من أوقات بناء أبطأ وقابلية تخصيص محدودة؛ بينما يوفر Starlight، القائم على Astro، أوقات بناء أسرع ودعمًا لـ Tailwind CSS، ولكنه يفتقر إلى تكامل Mermaid ووظائف صفحات التسويق. اختارت Glasskube في النهاية Starlight لتجربة المطور الأفضل والمظهر الأكثر حداثة، على الرغم من بعض العيوب. تشارك المقالة أيضًا الدروس المستفادة من كتابة الوثائق التقنية، بما في ذلك الهيكل، وتحليل سلوك المستخدم، وأسلوب الكتابة، مع التركيز على الوضوح والإيجاز.

التطوير اختيار الإطار

مهندس بحث وتطوير هجين: نصف بحث، ونصف هندسة

2025-05-27
مهندس بحث وتطوير هجين: نصف بحث، ونصف هندسة

ليست هذه وظيفة مهندس مؤسس نموذجية في شركة ناشئة في مرحلة مبكرة. إنها تقسيم 50/50 بين البحث والهندسة. في حين أن الخبرة في كلا المجالين مثالية، إلا أن الخلفية الكمية القوية والرغبة في التعلم يمكن أن تعوض عن نقص الخبرة في البحث. إتقان تطوير الويب (Javascript، Node.js) و Python إلزامي. العمل مفتوح ويتطلب التكيّف مع عدم اليقين؛ توقع العديد من التجارب الفاشلة. ومع ذلك، ستتمتع باستقلالية كبيرة وحرية في معالجة المشكلات كما ترى مناسباً. هذا المنصب مثالي لأولئك الذين يزدهرون في الحرية والتحدي.

فهم سطحي للتكنولوجيا: جيد بما فيه الكفاية هو جيد بما فيه الكفاية

2025-05-27

يُجادل الكاتب بأن الفهم السطحي للتكنولوجيات التي يستخدمها المهندسون كافٍ. إن الغوص العميق في مؤشرات قواعد البيانات، والنماذج اللغوية الكبيرة، وما إلى ذلك، يُمكّن من اتخاذ قرارات أفضل؛ على سبيل المثال، اختيار النماذج المناسبة لإخراج JSON وتجنب الأخطاء الناجمة عن قيود النماذج الأصغر. بدلاً من التعمق في مجال واحد، يدافع الكاتب عن المعرفة الواسعة في العديد من المجالات للتكيف بشكل أفضل مع الاتجاهات الجديدة. يجب أن يركز تعلم التقنيات الجديدة على فهم المبادئ الأساسية وشرحها ببساطة للآخرين، مع استخدام نماذج اللغة الكبيرة للتحقق من الحقائق لضمان الدقة.

التطوير

خادم MCP عالي الكفاءة من Xata: OpenAPI وKubb وبعض Next.js

2025-05-27
خادم MCP عالي الكفاءة من Xata: OpenAPI وKubb وبعض Next.js

بنت Xata خادم MCP يسمح بالتفاعل الآمن في الوقت الفعلي بين نماذج الذكاء الاصطناعي والأدوات/واجهات برمجة التطبيقات. وبدلاً من ترميز كل أداة يدويًا، فقد استخدموا مواصفات OpenAPI الحالية الخاصة بهم وأداة إنشاء الكود Kubb لأتمتة العملية. يستخدم هذا النهج مواصفات OpenAPI كمصدر واحد للحقيقة، مما يضمن تطويرًا سريعًا ومتسقًا. تتناول المقالة تفاصيل الانتقال إلى Kubb، وإنشاء مُولِّدات مخصصة، وبناء خادم MCP باستخدام Next.js، مما أدى إلى دمج فعال للذكاء الاصطناعي.

التطوير

Pyrefly و ty: ظهور اثنين من مدققين أنواع Python الجديدين القائمين على Rust

2025-05-27

في مؤتمر PyCon 2025، ظهر كل من Pyrefly من Meta و ty من Astral، وهما اثنان من مدققين أنواع Python الجديدين القائمين على Rust. يهدف Pyrefly إلى أن يكون أسرع وأكثر قابلية للنقل وأكثر قدرة من سابقه، بينما ينخرط بنشاط مع مجتمع المصدر المفتوح. يشدد ty على "الضمان التدريجي"، مما يعني أن إزالة تعليقات الأنواع لا ينبغي أن تسبب أخطاء الأنواع. يستخدم كلاهما Ruff لتحليل AST ويقدمان تكامل سطر الأوامر و IDE. أظهرت معايير الأداء أن ty أسرع بشكل عام، لكنهما يختلفان في استنتاج النوع ومعالجة الأخطاء. Pyrefly أكثر عدوانية، مما قد يؤدي إلى اكتشاف المزيد من الأخطاء، ولكنه قد يقدم أيضًا المزيد من الإيجابيات الكاذبة ؛ ty أكثر تحفظًا، ويعطي الأولوية لتوافق الكود. كلاهما في مرحلة ألفا مبكرة، وتطورهما المستقبلي مثير للمشاهدة.

التطوير مدقق الأنواع
1 2 74 75 76 78 80 81 82 213 214