Category: التطوير

التفاضل الرمزي في برولوج: قواعد DCG الأنيقة والجدولة الفعالة

2025-03-12

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

واجهة مستخدم محلية مدمجة متوفرة الآن في DuckDB!

2025-03-12
واجهة مستخدم محلية مدمجة متوفرة الآن في DuckDB!

يسر فريق DuckDB و MotherDuck الإعلان عن واجهة مستخدم محلية مدمجة لـ DuckDB! هذه الواجهة القوية تعمل محليًا، مما يلغي الحاجة إلى برامج إضافية. فهي تتميز بمفكرات تفاعلية، واستعراض لقاعدة البيانات، ومعاينة بيانات الجداول، وأدوات تحليل البيانات، مما يسهل التفاعل مع DuckDB بشكل كبير. يتم معالجة جميع الاستعلامات محليًا لضمان أمان البيانات. كما توفر الواجهة إمكانية الاتصال بخدمات MotherDuck السحابية لمشاركة البيانات والتعاون بسلاسة.

سنة من البرمجة اليومية: الدروس المستفادة

2025-03-12
سنة من البرمجة اليومية: الدروس المستفادة

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

التطوير

وداعًا لإدارة النوافذ التقليدية المُبَطَّنة: احتضان المساحة اللانهائية لنظام Niri

2025-03-12
وداعًا لإدارة النوافذ التقليدية المُبَطَّنة: احتضان المساحة اللانهائية لنظام Niri

استخدم الكاتب مديري نوافذ مُبَطَّنة (Sway و i3) لفترة طويلة، لكنه تحول مؤخرًا إلى مدير النوافذ الجديد Niri بسبب خطأ في Sway. يستخدم Niri تصميمًا مُبَطَّنًا قابل للتمرير، مما يحل مشكلة قيود المساحة في مديري النوافذ المُبَطَّنة التقليديين. يفصل الكاتب المقارنة بين Niri و Sway، مُسلطًا الضوء على تفوق Niri في مشاركة الشاشة، وخصائص التقاط الشاشة، وعمر البطارية، وسهولة التعديل. ويجادل بأن Niri يكسر القيود الاصطناعية للمساحة في مديري النوافذ المُبَطَّنة التقليديين، مما يعزز الإنتاجية، ويُوصي به بشدة للآخرين.

التطوير

نقل ملفات نظير إلى نظير في المتصفح بدون خادم: FilePizza v2 وصل

2025-03-12
نقل ملفات نظير إلى نظير في المتصفح بدون خادم: FilePizza v2 وصل

FilePizza v2 هي أداة نقل ملفات من نظير إلى نظير (P2P) تعتمد على WebRTC للمتصفحات. تقضي على الحاجة إلى الخوادم الوسيطة، حيث تنقل الملفات مباشرة بين المتصفحات لضمان السرعة والخصوصية والأمان. تتضمن الميزات الجديدة واجهة مستخدم حديثة، ووضع الظلام، ودعم الأجهزة المحمولة، وتحميل ملفات متعددة (مضغوطة بصيغة zip)، ومراقبة تقدم التحميل، وحماية بكلمة مرور، وتخزين حالة الخادم باستخدام Redis. يضمن التشفير من طرف إلى طرف عمليات نقل آمنة. تم تصميمها أثناء تناول البيتزا في جامعة كاليفورنيا، بيركلي، وهي الآن مفتوحة المصدر ومتاحة على file.pizza.

تحديث عناصر واجهة المستخدم على الويب: مهمة مجموعة مجتمع Open UI

2025-03-12
تحديث عناصر واجهة المستخدم على الويب: مهمة مجموعة مجتمع Open UI

تنبع تفاعلية الويب من عناصر النماذج وعناصر واجهة المستخدم التي يوفرها HTML. ومع ذلك ، منذ HTML5 ، تتطلب مشاريع الويب المعقدة قدرات تحكم أكثر قوة في واجهة المستخدم ، مما يدفع المطورين إلى الاعتماد على أطر عمل JavaScript. هذا يؤدي إلى ضعف إمكانية الوصول ، وبطء الصفحات ، ومشاكل أخرى. تهدف مجموعة مجتمع Open UI إلى تحسين HTML و CSS و JavaScript وواجهات برمجة تطبيقات الويب لتمكين المطورين من إنشاء واجهات مستخدم مخصصة وحديثة. هدفهم هو جعل واجهات مستخدم الويب أكثر مرونة وكفاءة وإمكانية وصول إليها.

التطوير

من لغة Common Lisp إلى KC3: رحلة برمجة استمرت عقدًا من الزمن

2025-03-12
من لغة Common Lisp إلى KC3: رحلة برمجة استمرت عقدًا من الزمن

برمجّيٌّ مخضرمٌ يتمتّع بخبرةٍ تبلغ 20 عامًا، وبعد أن تعلّم لغة Common Lisp، أدرك قيود عملية جمع القمامة ومشاكل الأمان في تقنية الحاويات. للتحسين من الأداء والقدرة على النقل، تخلى عن جميع مشاريعه السابقة، وكرس نفسه لتطوير لهجة جديدة من لغة C، ألا وهي KC3، واستخدمها لإعادة كتابة مشاريع سابقة مثل قاعدة بيانات الرسوم البيانية. تروي هذه المقالة رحلته من لغة Common Lisp إلى لغة C، وفلسفة التصميم والميزات الرئيسية للغة KC3، مما يُظهر تفكيره العميق في لغات البرمجة وتصميم النظم.

التطوير تطوير النظم

الاتساق في فئات الأنواع: مقارنة بين سويفت وراست وسكالا وهسكيل

2025-03-12
الاتساق في فئات الأنواع: مقارنة بين سويفت وراست وسكالا وهسكيل

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

Cursor: مساعد ترميز الذكاء الاصطناعي - ضجيج إعلامي أم حقيقة؟

2025-03-12
Cursor: مساعد ترميز الذكاء الاصطناعي - ضجيج إعلامي أم حقيقة؟

أدت أدوات الترميز بالذكاء الاصطناعي مثل Cursor إلى ردود فعل مختلطة، حيث يدعي البعض القدرة على بناء تطبيقات SaaS كاملة في غضون ثلاثة أيام، بينما يعتبرها آخرون عديمة الفائدة. يشارك هذا الكاتب، وهو متشكك في الذكاء الاصطناعي، نصائح لتحقيق أقصى قدر من كفاءة Cursor. تتضمن الاستراتيجيات الرئيسية إنشاء ملف `.cursorrules` وصقل قواعده بشكل تدريجي لتجنب الإدخالات المفرطة؛ وتحديد مواقع التعليمات البرمجية والسياق ذي الصلة بوضوح؛ واستخدام Composer (Agent) للتغييرات البسيطة وChat (Ask) للتغييرات المعقدة؛ ومراجعة وإعادة هيكلة التعليمات البرمجية التي تم إنشاؤها بواسطة الذكاء الاصطناعي بعناية؛ والتواصل الكامل مع الذكاء الاصطناعي قبل معالجة المهام المعقدة. يستنتج الكاتب أن أدوات ترميز الذكاء الاصطناعي مفيدة عند الإرهاق العقلي، ولكن ينبغي توخي الحذر بشأن الإفراط في الاعتماد عليها، مع الاعتراف باحتمال ضمور المهارات.

التطوير

مأزق البرمجيات المفتوحة المصدر: التوازن بين مجانية الاستخدام والاستدامة

2025-03-12

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

مُترجم LLVM Fortran Flang: عقد من الزمن في طور التطوير، تم إصداره رسميًا

2025-03-12

بعد ما يقرب من عقد من الزمن من التطوير، تم إعادة تسمية مُترجم LLVM Fortran، Flang، رسميًا من "flang-new" إلى "flang". تُسرد هذه المقالة رحلة Flang، من تطويره الأولي بواسطة المختبرات الوطنية الأمريكية و NVIDIA، إلى اعتماد تمثيل الوسيط متعدد المستويات (MLIR) من LLVM، ودمجه النهائي في مشروع LLVM. كان هدف إنشاء Flang هو توفير مُترجم Fortran طويل الأمد وغير احتكاري، مما يخفف من المخاطر المرتبطة بنقاط الفشل الفردية، ويعزز نمو مجتمع Fortran. تُظهر رحلة Flang أيضًا التقدم المحرز في تقنية المُترجمين، مثل استخدام MLIR لتحسين رمز Fortran. أصبح Flang الآن ناضجًا ومستقرًا، بدعم من موردين مثل AMD، ويُعد أداة قوية لمطوري Fortran.

التطوير

بروتوكول سياق النموذج (MCP): ضجة عابرة أم معيار مستقبلي؟

2025-03-12
بروتوكول سياق النموذج (MCP): ضجة عابرة أم معيار مستقبلي؟

دار جدل على تويتر حول بروتوكول سياق النموذج (MCP)، حيث يدافع هاريسون تشيس (الرئيس التنفيذي لشركة LangChain) عن فائدته في إضافة أدوات إلى وكلاء خارج نطاق سيطرة المطور، مثل تخصيص تطبيقات مثل Claude Desktop. ويرد عليه نونو كامبوس (رئيس LangGraph) بأن فائدة MCP العملية مبالغ فيها، حيث تتطلب تخصيصًا كبيرًا للوكيل وتعاني من دقة منخفضة في اختيار الأدوات من قبل النماذج الحالية. وتناقش المناقشة أوجه التشابه مع إضافات OpenAI وZapier، وتستكشف التحسينات اللازمة لمستقبل MCP، مثل التبسيط، وزيادة قابلية الاستخدام، والتنفيذ على جانب الخادم. ويختتم الاستطلاع على تويتر النقاش، متسائلاً عن طول عمر MCP كمعيار.

التطوير

مركز إدارة الاتصالات عن بُعد الشامل

2025-03-12
مركز إدارة الاتصالات عن بُعد الشامل

تُعد هذه الأداة بمثابة مركز التحكم الرئيسي لجميع اتصالاتك عن بُعد، حيث تجمع بين SSH وDocker وKubernetes وغيرها. وهي تدعم العديد من المحطات الطرفية، وبيئات تشغيل الحاويات، ونظم افتراضية (Proxmox، Hyper-V، إلخ)، وتوفر دعمًا كاملاً لـ SSH، بما في ذلك ملفات التكوين، وتكاملات الوكيل، وخوادم القفز، والأنفاق، وملفات المفاتيح، والبطاقات الذكية، وإعادة توجيه X11، والمزيد. قم بتشغيل جلسات المحطة الطرفية على الفور، وقم بإدارة جميع مواردك عن بُعد بكفاءة.

daylight: برنامج سطر الأوامر لتتبع أوقات شروق الشمس وغروبها

2025-03-12
daylight: برنامج سطر الأوامر لتتبع أوقات شروق الشمس وغروبها

daylight هو برنامج سطر أوامر يتتبع أوقات شروق الشمس، وغروبها، والظهر الشمسي، وطول النهار، مع إمكانية التنبؤ بهذه التغيرات على مدار العشرة أيام القادمة. يستخدم عنوان IP الخاص بك لتحديد الموقع والمنطقة الزمنية، ويعمل في المناطق القطبية ومع VPN. التثبيت عبر Homebrew (MacOS/Linux) أو التثبيت اليدوي (بما في ذلك Windows). الميزات تتضمن إمكانية تعديل الموقع/التاريخ يدوياً ووضع ملخص قصير. تم إنشاؤه بلغة Go كمشروع تعليمي، والمشاكل مرحب بها!

محرك رسومات ثلاثي الأبعاد في الوقت الحقيقي VSC: قائم على البرمجيات

2025-03-12
محرك رسومات ثلاثي الأبعاد في الوقت الحقيقي VSC: قائم على البرمجيات

محرك VSC (VOUGA-SHREINER-CANTH) المُعتمد هو محرك رسومات ثلاثي الأبعاد في الوقت الحقيقي مكتوب بالكامل بلغة برمجية من أجل قابلية النقل. مستوحى من فصل الواجهة الأمامية/الخلفية في DoomGeneric وخبرة الكاتب السابقة في محركات ألعاب C++، فهو عبارة عن مُرسِخ يُقارب الإضاءة والظلال والقوام والمواد. يعتمد على كتاب Eric Lengyel "Mathematics for 3D Game Programming"، ويستلهم من مستوى صعب في لعبة Geometry Dash، VSC المُعتمد، باستخدام موسيقى Michael Bublé. واجهة برمجة التطبيقات قيد التطوير النشط، ولكن التغييرات يجب أن تكون ضئيلة. تتضمن توافق ESP32، ورمز مثال، وملف Makefile. اتبع الكتاب حتى الفصل 5 للحصول على المعرفة الأساسية.

دليل الرئيس التنفيذي للتقنية في الشركات الناشئة: دليل عملي لفِرَق الهندسة عالية الأداء

2025-03-12
دليل الرئيس التنفيذي للتقنية في الشركات الناشئة: دليل عملي لفِرَق الهندسة عالية الأداء

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

تسريع خوارزمية الفرز المدمج باستخدام CUDA: مغامرة في الحوسبة المتوازية

2025-03-12

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

التطوير الفرز المدمج

حقائق مريرة في علوم الحاسوب: صرخة ديكسترا عام 1975

2025-03-11

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

التطوير

تحسين منطق الأنظمة المضمنة: تسريع التعليمات البرمجية باستخدام قانون دي مورغان

2025-03-11

واجه اثنان من المخترقين، هما بوب وأليس، خطأً في وحدة التحكم الدقيقة الخاصة بهما والتي لديها موارد محدودة: كانت عمليات OR أبطأ بخمس مرات من العمليات الأخرى. في ظل مهلة زمنية تبلغ ثلاثة أيام، استخدما مكافئات منطقية، وتحديداً قانون دي مورغان، لإعادة كتابة التعليمات البرمجية الخاصة بهما، واستبدال عمليات OR بعمليات AND و NOT. هذا تجاوز اختناق الأداء. كما يستكشف المقال عالمية عمليات NAND وتطبيقها في تحسين الحسابات المشفرة، مثل تحسين كفاءة التشفير المتماثل بشكل كبير في مكتبة TFHE.

fastplotlib: تبسيط عرض البيانات العلمية في بايثون

2025-03-11
fastplotlib: تبسيط عرض البيانات العلمية في بايثون

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

تشغيل نماذج اللغات الكبيرة محليًا: الخصوصية، والتكلفة، والتجريب

2025-03-11
تشغيل نماذج اللغات الكبيرة محليًا: الخصوصية، والتكلفة، والتجريب

تتناول هذه المقالة مزايا و طرق تشغيل نماذج اللغات الكبيرة (LLMs) محليًا. على الرغم من الاعتراف بأن أداء نماذج LLMs المحلية لن يضاهي خدمات السحابة، إلا أن الكاتب يبرز مزاياها من حيث الخصوصية، ومراقبة التكاليف، والتطوير التجريبي. يتم تقديم ثلاث أدوات: Ollama (سهلة الاستخدام، مكتبة واسعة من النماذج)، Llama.cpp (متعددة المنصات، قوية)، و Llamafiles (ملف واحد قابل للتنفيذ، سهل المشاركة). تغطي المقالة أيضًا جوانب مهمة مثل اختيار النماذج، والمعلمات، والكمية، وقدرات النموذج، مع التحذير من أحجام ملفات النموذج والأمن. في النهاية، يوفر تشغيل نماذج LLMs محليًا للمطورين نهجًا مرنًا وقابل للتحكم في تطوير الذكاء الاصطناعي.

UUIDv7: معيار UUID جديد قائم على الوقت

2025-03-11
UUIDv7: معيار UUID جديد قائم على الوقت

UUIDv7 هو معيار UUID جديد قائم على الوقت يجمع بين مزايا UUIDs التقليدية والأنظمة الموزعة الحديثة القابلة للتطوير. على عكس UUIDv4 الذي يتم إنشاؤه عشوائيًا، يوفر UUIDv7 معرفات فريدة عالميًا ومرتبة زمنيًا، مما يجعله مثاليًا للتطبيقات التي تتطلب طوابع زمنية وخاصية الفرادة. وهو يعالج مخاوف الخصوصية المرتبطة بـ UUIDv1 ويحافظ على التوافق مع مكتبات UUID الموجودة. تشمل حالات الاستخدام الرئيسية الأنظمة الموزعة، وفهرسة قواعد البيانات، وتسجيل الدخول والمراقبة، والتجارة الإلكترونية.

التطوير

تصغير حجم بناء Godot: من 93 ميجابايت إلى 6.4 ميجابايت

2025-03-11
تصغير حجم بناء Godot: من 93 ميجابايت إلى 6.4 ميجابايت

تشرح هذه المقالة بالتفصيل كيفية تقليل حجم بناء مشاريع محرك ألعاب Godot بشكل كبير. يقوم الكاتب بتحسين مشروع بشكل منهجي، بدءًا من تعطيل ميزات ثلاثية الأبعاد، وخوادم النصوص المتقدمة، والوحدات غير الضرورية. كما يتم استكشاف تقنيات مثل استخدام أداة الضغط UPX، وتحسين WebAssembly (wasm-opt)، وضغط Brotli. تستخدم المقالة لعبة بسيطة ثنائية الأبعاد كمثال، تعرض تأثير كل خطوة بمقارنات واضحة قبل وبعد. إنه دليل عملي يغطي استراتيجيات تحسين مختلفة وإيجابياتها وسلبياتها.

التطوير تحسين المحرك

مُجمِّع TypeScript الأصلي: زيادة الأداء بمقدار 10 أضعاف

2025-03-11
مُجمِّع TypeScript الأصلي: زيادة الأداء بمقدار 10 أضعاف

أعلن فريق TypeScript عن منفذ أصلي لمُجمِّع TypeScript وأدواته لتحسين الأداء بشكل كبير. من المتوقع أن يؤدي هذا التنفيذ الأصلي إلى تسريع تشغيل المحرر بشكل كبير، وتقليل معظم أوقات البناء بمقدار 10 أضعاف، وتقليل استخدام الذاكرة بشكل كبير. تُظهر الاختبارات الأولية تحسينات في سرعة التجميع تزيد عن 10 أضعاف بالنسبة للعديد من المشاريع الكبيرة (مثل VS Code و Playwright). سيُدعم TypeScript الأصلي في المستقبل (المُخطط له كـ TypeScript 7) عمليات إعادة التشكيل الأكثر تقدمًا، وتحليلًا أعمق للكود، وسيضع الأساس لأدوات تطوير الذكاء الاصطناعي من الجيل التالي. سيستمر الحفاظ على TypeScript 6 (القائم على JS) لضمان انتقال سلس.

محول Cinder JIT: تمثيل الأنواع بكفاءة باستخدام مجموعات البتات وشبه الشبكات

2025-03-11
محول Cinder JIT: تمثيل الأنواع بكفاءة باستخدام مجموعات البتات وشبه الشبكات

يستخدم مُحوّل Cinder JIT تمثيلًا ذكيًا للأنواع، حيث يعامل الأنواع على أنها مجموعات (أو حتى شبكات) ويختار تمثيلًا مضغوطًا لمجموعات البتات. تتعمق هذه المقالة في كيفية استخدام Cinder لمجموعات البتات وهياكل شبه الشبكات للتعامل مع معلومات الأنواع بكفاءة، حيث تغطي تمثيل الأنواع الأساسية، واتحادات الأنواع، والتخصيص. من خلال ترميز معلومات الأنواع في مجموعات البتات، يمثل Cinder اتحادات الأنواع بكفاءة ويسمح بتمييزات أكثر دقة للأنواع. بالإضافة إلى ذلك، يُدخِل Cinder آلية تخصيص لتتبع القيمة المحددة للأشياء الفردية، مما يحسّن من كفاءة تحسين المُحوّل. تناقش المقالة أيضًا نوع Bottom والتفاصيل المتعلقة بإنشاء شبكة الأنواع.

هجرة قاعدة بيانات بدون وقت توقف تم التحقق منها باستخدام PlusCal

2025-03-11

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

التطوير

ثمانية أنماط بصرية لتحسين قابلية قراءة التعليمات البرمجية

2025-03-11
ثمانية أنماط بصرية لتحسين قابلية قراءة التعليمات البرمجية

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

التطوير

GCC 15 سيدعم COBOL!

2025-03-11

تحديث كبير قادم إلى مُجمِّع GCC 15: تم دمج دعم واجهة برمجة تطبيقات لغة COBOL! هذه خطوة مهمة لدعم COBOL من قِبل GCC، مما يُسهِّل هجرة تطبيقات COBOL القديمة من أنظمة الحواسيب المركزية إلى بيئات Linux و السحاب. على الرغم من أن شعبية COBOL لم تعد كما كانت، إلا أن هذا الدمج يُعد مفاجأة سارة. يمكن للمطورين استخدام الأمر `gcobol` لاستدعاء واجهة برمجة تطبيقات مُجمِّع COBOL. توقع دعم COBOL إلى جانب العديد من الميزات الأخرى في الإصدار المستقر من GCC 15.1 في الأسابيع القادمة.

التطوير

مساعد بحث عميق محلي: أداة بحث قوية مدعومة بالذكاء الاصطناعي تجمع بين نماذج اللغات الكبيرة وبحث الويب

2025-03-11
مساعد بحث عميق محلي: أداة بحث قوية مدعومة بالذكاء الاصطناعي تجمع بين نماذج اللغات الكبيرة وبحث الويب

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

التطوير أداة البحث

سايدكيك: تطبيق LLM محلي قوي لنظام macOS

2025-03-11
سايدكيك: تطبيق LLM محلي قوي لنظام macOS

سايدكيك هو تطبيق LLM أصلي لنظام macOS يعمل محليًا بالكامل، حيث يمكنه الوصول إلى ملفاتك ومجلداتك ومواقع الويب الخاصة بك دون الحاجة إلى برامج إضافية. باستخدام تقنية RAG، فهو يتعامل مع مجموعات بيانات ضخمة، ويدعم العديد من نماذج الاستدلال، بما في ذلك مُفسّر التعليمات البرمجية، ويُنشئ الصور، ويحتوي على ميزات متقدمة لـ Markdown، بالإضافة إلى أدوات مساعدة الكتابة المدمجة. يضع سايدكيك البساطة وسهولة الاستخدام أولوية قصوى، ويعمل بشكل كامل دون اتصال بالإنترنت، دون تتبع المحادثات، وباتباع نهج مفتوح المصدر من أجل الشفافية.

التطوير LLM محلي
1 2 140 141 142 144 146 147 148 213 214