Category: التطوير

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

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

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

التطوير

شحن أسرع وأفضل: تطوير متوازي بمساعدة الذكاء الاصطناعي مع Claude Code

2025-08-20
شحن أسرع وأفضل: تطوير متوازي بمساعدة الذكاء الاصطناعي مع Claude Code

يقوم نظام Claude Code PM بثورة في تطوير البرمجيات من خلال الجمع بين تطوير قائم على المواصفات، وقضايا GitHub، وأشجار عمل Git، وعوامل ذكاء اصطناعي متوازية متعددة. يتصدى هذا النظام لمشاكل التعاون الجماعي الشائعة: تبديل السياق، وتعارضات الدمج، وانحراف المتطلبات، والتقدم غير المرئي. يحول النظام PRDs إلى ملحَمات، والملحَمات إلى قضايا GitHub، والقضايا إلى رمز إنتاجي مع إمكانية تتبع كاملة. تعمل مثيلات Claude المتعددة بشكل متزامن، مما يسمح بالتعاون الجماعي الحقيقي وتسليمات سلسة بين الإنسان والذكاء الاصطناعي. والنتيجة؟ زيادة السرعة، وعدد أقل من الأخطاء، و سير عمل محسّن بشكل كبير.

Tidewave Web: وكيل ترميز ذكاء اصطناعي داخل المتصفح لنظامي Rails وPhoenix

2025-08-20

تقدم Dashbit Tidewave Web، وهو وكيل ترميز ذكاء اصطناعي يعمل مباشرةً داخل المتصفح جنبًا إلى جنب مع تطبيقات الويب الخاصة بك على نظامي Rails وPhoenix. يتميز بمعرفة كاملة بسياق الصفحة والرمز، مما يلغي الحاجة إلى التبديل باستمرار بين الأدوات. يصل Tidewave مباشرةً إلى حالة واجهة المستخدم الخاصة بك، وينفذ الرموز، ويستعلم عن قواعد البيانات، ويراقب السجلات، وأكثر من ذلك. يمكن للمستخدمين اقتراح تحسينات عبر مُفتش النقر والاختيار، ويقوم Tidewave بإنشاء الميزات تلقائيًا واختبارها داخل المتصفح. يدعم حاليًا نظامي Rails وPhoenix، ومن المقرر دعم React وDjango وأطر عمل أخرى في المستقبل. يغير Tidewave أسلوب الترميز التقليدي للذكاء الاصطناعي من خلال إنشاء سياق مشترك بين المطور، والوكيل، وتطبيق الويب، مما يعزز كفاءة التطوير.

التطوير

ضد REPLs Lisp المخصصة: تبني REPLs الأصلية والأدوات العملية

2025-08-20

ينتقد الكاتب REPLs Lisp المخصصة (مثل CIEL)، بحجة أنها تضحي بقدرة وقابلية تخصيص REPLs الأصلية، مثل أوامر REPL الأصلية، و أداة تصحيح الأخطاء الخاصة بالتنفيذ، وإمكانية التخصيص باستخدام واجهات برمجة التطبيقات الخاصة بالتنفيذ. وتفصل المقالة كيفية تحسين REPLs الأصلية باستخدام أدوات مثل مكتبة Trivial Toplevel و rlwrap، بما في ذلك المطالبات المخصصة، والأوامر، وماكرو القارئ، وإدارة التبعيات باستخدام ASDF. ويدعو الكاتب إلى استخدام REPLs الأصلية مع الأدوات العملية من أجل بيئة تطوير Lisp عالية الكفاءة وشخصية، بدلاً من الاعتماد على REPLs المخصصة "المتكاملة".

التطوير

BusyBee: معالجة مهام الخلفية السريعة والقابلة للملاحظة لـ .NET

2025-08-20
BusyBee: معالجة مهام الخلفية السريعة والقابلة للملاحظة لـ .NET

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

بناء أبسط طبقة معنوية باستخدام YAML و Python

2025-08-20
بناء أبسط طبقة معنوية باستخدام YAML و Python

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

التجميع في نافذة زمنية ثابتة: FIFO محسّنة

2025-08-20

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

(pvk.ca)
التطوير نافذة زمنية

تحرير نص تعاوني فعال: تطبيق CRDT

2025-08-20

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

التطوير

أنظمة CI الحديثة معقدة للغاية: هل حان الوقت لدمج أنظمة البناء وأنظمة CI؟

2025-08-20

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

التطوير

خوارزمية الأسقف السكير في OpenSSH: عرض بصمات المفاتيح العامة بصريًا

2025-08-20

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

جوهرة Rails Charts: أنشئ رسومًا بيانية مذهلة بسهولة

2025-08-20
جوهرة Rails Charts: أنشئ رسومًا بيانية مذهلة بسهولة

سئمت من الكفاح من أجل إنشاء رسوم بيانية جميلة في تطبيق Ruby on Rails الخاص بك؟ جوهرة rails_charts موجودة هنا لإنقاذ اليوم! تم بناؤها على مكتبة Apache eCharts القوية (الإصدار 5.4.0)، فهي تتيح لك إنشاء أنواع مختلفة من الرسوم البيانية - الرسوم البيانية الخطية، والرسوم البيانية الشريطية، والرسوم البيانية الدائرية، وأكثر من ذلك - ببضع سطور فقط من التعليمات البرمجية. هذه الجوهرة تبسط الواجهة وتوفر مساعدين لدمج الرسوم البيانية بسرعة. قم بتخصيص الرسوم البيانية باستخدام خيارات العرض والارتفاع والموضوع والنمط، وحتى وظائف JavaScript مثل نصائح الأدوات. تحقق منها!

التطوير

نظام التشغيل ياماتو: مساحة رقمية عابرة مستوحاة من الزن

2025-08-20
نظام التشغيل ياماتو: مساحة رقمية عابرة مستوحاة من الزن

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

التطوير تصميم زين عابر

type-machine: محاكاة الكتابة الفرعية الهيكلية في Haskell

2025-08-20

يكافح مبرمجو Haskell غالبًا مع نمذجة البيانات، خاصة عند التعامل مع أنواع السجلات التي تحتوي على العديد من الحقول. تقدم هذه المدونة type-machine، وهي مكتبة Haskell تستغل Template Haskell لمحاكاة الكتابة الفرعية الهيكلية باستخدام محولات الأنواع و Typeclasses Is. هذا يبسط معالجة أنواع السجلات ويحسن كفاءة الكود. توفر المكتبة وظائف مثل pick و omit و record، مما يسمح بالتعامل بسهولة مع حقول السجلات. تُظهر المقاييس المعيارية مزايا الأداء مقارنة بالنهج البديلة.

توليد غزاة الفضاء من نوع بكسل آرت باستخدام الخوارزميات

2025-08-20
توليد غزاة الفضاء من نوع بكسل آرت باستخدام الخوارزميات

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

التطوير بكسل آرت

تحسين تطوير مونوريبو باستخدام توربوريبو و بي إن بي إم

2025-08-20
تحسين تطوير مونوريبو باستخدام توربوريبو و بي إن بي إم

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

إصدار D2 0.7.1: دعم إخراج ASCII الآن

2025-08-19
إصدار D2 0.7.1: دعم إخراج ASCII الآن

أصدرت أداة إنشاء الرسوم البيانية D2 الإصدار 0.7.1، والذي يقدم ميزة إخراج ASCII. سيتم الآن استخدام مُحوّل ASCII لمعالجة أي ملف يحمل الامتداد .txt. هذه الميزة مفيدة بشكل خاص للرسوم البيانية الصغيرة داخل تعليقات شفرة المصدر، مما يحسّن من قابلية القراءة. يمكن الوصول إلى هذه الميزة من خلال إضافة Vim أو باستخدام علم سطر الأوامر `--ascii-mode=standard`. يُرجى ملاحظة أن محوّل ASCII لا يزال في مرحلته التجريبية (alpha) وقد يحتوي على بعض الأخطاء.

تحرير متعدد اللاعبين في Figma: نهج CRDT مبسط

2025-08-19
تحرير متعدد اللاعبين في Figma: نهج CRDT مبسط

قبل أربع سنوات، شرعت Figma في بناء وظائف تعدد اللاعبين، واختارت نظامًا مخصصًا بدلاً من خوارزمية تحويل التشغيل (OT) الشائعة. بدافع من الحاجة إلى التكرار السريع ومخاوف بشأن تعقيد OT، فقد ابتكروا حلاً أبسط. تشرح هذه المقالة بالتفصيل بنية نظام تعدد اللاعبين في Figma، بما في ذلك بنيته المعمارية للعميل/الخادم، واتصال WebSocket، وقدرات التحرير دون اتصال، ومزامنة البيانات. على الرغم من استلهامه من CRDTs (أنواع البيانات المتكررة الخالية من التعارضات)، فإن تنفيذ Figma ينحرف عن الالتزام الصارم بـ CRDT، مستفيدًا من مبادئه مع الاستفادة من خادم مركزي لتحقيق الكفاءة والبساطة. تقارن المقالة بين OT و CRDT، وتعمق في تصميم بنية بيانات Figma وكيفية تعاملها مع حالات الحد.

برنامج قص الفيديو في Emacs: video-trimmer-mode

2025-08-19
برنامج قص الفيديو في Emacs: video-trimmer-mode

بإلهام من منشور مدونة مارسين بوركوفسكي، أنشأ المؤلف برنامج video-trimmer-mode، وهو برنامج إضافي خفيف الوزن لـ Emacs لقص الفيديو. باستخدام ffmpeg، يوفر هذا البرنامج الإضافي الذي يتكون من حوالي 300 سطر من التعليمات البرمجية طريقة سريعة وسهلة لقص مقاطع الفيديو. الرمز متوفر في مستودع تكوين Emacs الخاص بالمؤلف. ادعم عمل هذا المطور المستقل!

التطوير قص الفيديو

Positron: بيئة تطوير متكاملة مفتوحة المصدر من الجيل التالي لعلوم البيانات

2025-08-19
Positron: بيئة تطوير متكاملة مفتوحة المصدر من الجيل التالي لعلوم البيانات

أطلقت Posit PBC بيئة تطوير متكاملة (IDE) مجانية من الجيل التالي لعلوم البيانات تسمى Positron. وهي تجمع بسلاسة بين سير العمل لاستكشاف البيانات وإنتاجها، مع دعم متساوٍ لكل من Python وR. تشمل الميزات الرئيسية دفاتر ملاحظات تفاعلية، وأدوات رسم بياني، وسير عمل مدمج لتطبيقات البيانات، ومساعد ذكاء اصطناعي مدمج. تم بناء Positron على Code OSS، وهو يدعم ملحقات VSIX لتحسين التخصيص.

التطوير

Guile-Swayer: برمجة Sway/i3 باستخدام Guile

2025-08-19
Guile-Swayer: برمجة Sway/i3 باستخدام Guile

سئمت من قيود تكوين Sway/i3؟ يقدم مشروع Guile-Swayer حلاً قوياً يسمح لك بالتحكم الكامل في مدير نوافذ Sway/i3 باستخدام لغة البرمجة النصية Guile. تم تطوير هذا المشروع بعد الانتقال من StumpWM إلى Wayland، وهو يُعيد إنتاج مرونة وتخصيص StumpWM. يسمح لك Guile-Swayer بربط المفاتيح بتنفيذ أكواد Guile، والاشتراك في أحداث Sway والرد عليها، واسترداد معلومات Sway، والمزيد. يتضمن وحدات مثل workspace-grid لمساحات العمل القائمة على الشبكة، و workspace-groups لتجميع مساحات العمل عبر الشاشات، و which-key لإرشادات اختصارات لوحة المفاتيح المشابهة لـ Emacs. باستخدام Guile-Swayer، أنشئ بيئة إدارة نوافذ عالية التخصيص وكفاءة.

التطوير

إتقان آلية الانتباه: صياغة مطالبات فعّالة لأنظمة معالجة اللغة الكبيرة

2025-08-19
إتقان آلية الانتباه: صياغة مطالبات فعّالة لأنظمة معالجة اللغة الكبيرة

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

التطوير

قيود على تطبيق اقتراحات مراجعة الاكواد

2025-08-19
قيود على تطبيق اقتراحات مراجعة الاكواد

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

رحلتي مع متصفحات الويب: من Arc إلى Dia إلى Zen Browser

2025-08-19
رحلتي مع متصفحات الويب: من Arc إلى Dia إلى Zen Browser

كنتُ مستخدماً مخلصاً لمتصفح Arc، حيثُ أعجبني اختصارات لوحة المفاتيح القوية ووظيفة تعدد الملفات الشخصية. ومع ذلك، قام مطوّره، شركة The Browser Company، بالتحوّل إلى متصفح Dia القائم على الذكاء الاصطناعي، متخلياً عن العديد من نقاط القوة في Arc. على الرغم من دمج Dia لخصائص الذكاء الاصطناعي، إلا أنه ضحّى بسهولة الاستخدام والخصوصية، مما أجبرني على البحث عن بديل. يُعتبر Firefox وظيفياً، لكنه يفتقر إلى تجربة مستخدم مُحسّنة. في النهاية، وجدتُ Zen Browser، وهو متصفح قائم على Firefox يتميز بواجهة Arc النظيفة والسلسة وإمكانيات التخصيص القوية، بالإضافة إلى حل مشاكل إدارة الملفات الشخصية المتعددة في Firefox. وقد أصبح خياري المفضل. وأعتقد حتى أن Mozilla يجب أن تستحوذ على فريق Zen Browser لتحسين تجربة مستخدم Firefox.

التطوير

مُصالحة دفتر الأستاذ Beancount باستخدام وحدات ماكرو Vim: قصة قراصنة

2025-08-19

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

التطوير

الخطأ الفادح في كتاب "فن البرمجة متعددة المعالجات": تجاهل futex

2025-08-19

ينتقد هذا المقال كتاب "فن البرمجة متعددة المعالجات"، وهو كتاب دراسي ذو تقدير عالٍ، لتجاهله تقنية futex، وهي تقنية حديثة أساسية للمعالجة المتزامنة. ويجادل الكاتب بأن عدم تغطية الكتاب لهذه التقنية يجعل محتواه عتيقًا وغير عملي. تُمكّن تقنية futexes من تنفيذ mutex بكفاءة عالية، مما يحسّن أداء المعالجة المتزامنة بشكل كبير، وتُستخدم على نطاق واسع في أنظمة التشغيل مثل Linux و Windows و macOS. يفصل المقال وظائف futex ويقدم أمثلة برمجية تُظهر كيفية إنشاء mutex عالية الأداء باستخدام futexes، بما في ذلك spinlocks و mutexes غير العودية و mutexes العودية. ويخلص الكاتب إلى أن عدم تغطية الكتاب لتقنيات أساسية مثل futexes يجعله غير كافٍ لاحتياجات البرمجة المتزامنة الحديثة.

محاكي الكمبيوتر القديم على جهاز Raspberry Pi Pico: Pico-286

2025-08-19
محاكي الكمبيوتر القديم على جهاز Raspberry Pi Pico: Pico-286

يُعد مشروع Pico-286 إنجازًا رائعًا في مجال المحاكاة، حيث يُعيد تجربة الكمبيوتر الشخصي الكلاسيكية من أواخر الثمانينيات وأوائل التسعينيات إلى جهاز Raspberry Pi Pico. يوفر هذا المشروع الخفيف طريقة ممتعة لاستكشاف الحوسبة القديمة والتعرف على محاكاة أنظمة المستوى المنخفض. يدعم معالجات Intel المختلفة (حتى 286)، ومجموعة من الأجهزة الطرفية الكلاسيكية (بطاقات الصوت، وبطاقات الرسومات)، وأنماط الرسومات والنصوص المختلفة. حتى أن Pico-286 يحاكي ألوان التشويش التي تنتجها الشاشات القديمة! هذا المشروع مفتوح المصدر ومتعدد المنصات ويعمل على Raspberry Pi Pico و Windows و Linux.

التطوير

PyPI يعزز أمان الحسابات من خلال فحص النطاقات منتهية الصلاحية

2025-08-19
PyPI يعزز أمان الحسابات من خلال فحص النطاقات منتهية الصلاحية

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

التطوير إحياء النطاق

استخدام snprintf بأمان: تجنب تجاوزات المخزن المؤقت

2025-08-19
استخدام snprintf بأمان: تجنب تجاوزات المخزن المؤقت

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

استعادة مساحة القرص في نظام WSL: دليل يدوي وآلي

2025-08-19
استعادة مساحة القرص في نظام WSL: دليل يدوي وآلي

يمكن أن تتضخم أقراص WSL الظاهرية بمرور الوقت، مما يستنفد مساحة كبيرة على القرص. يوفر هذا البرنامج التعليمي طريقتين، يدوية وآلية، لضغط أقراص WSL الافتراضية (VHDX)، مما يوفر مساحة تخزين قيّمة. تشرح الطريقة اليدوية عملية خطوة بخطوة باستخدام أوامر PowerShell وDiskPart؛ أما الطريقة الآلية فتقدم برنامجًا نصيًا PowerShell لضغط الملف بنقرة واحدة. بغض النظر عن الطريقة المُختارة، يمكنك حل مشاكل مساحة تخزين WSL بفعالية والحفاظ على تشغيل النظام بكفاءة.

التطوير

برمجة من اليسار إلى اليمين: وداعاً لجحيم IntelliSense

2025-08-19
برمجة من اليسار إلى اليمين: وداعاً لجحيم IntelliSense

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

التطوير
1 2 21 22 23 25 27 28 29 213 214