Category: التطوير

إعادة بناء OSS: إعادة بناء الثقة في أنظمة حزم المصدر المفتوح

2025-07-22
إعادة بناء OSS: إعادة بناء الثقة في أنظمة حزم المصدر المفتوح

يهدف مشروع OSS Rebuild الجديد من جوجل إلى تعزيز الثقة في أنظمة حزم المصدر المفتوح من خلال إعادة إنتاج عناصر التحكم الأصلية. استجابةً لزيادة هجمات سلسلة التوريد، يقوم OSS Rebuild بأتمتة إنشاء تعريفات البناء التصريحي لـ PyPI و npm و Crates.io، مما يوفر مصدرًا موثوقًا من SLSA يلبي متطلبات مستوى بناء SLSA 3 دون تدخل من الناشر. يقدم أدوات مراقبة التحقق من البناء، بالإضافة إلى تعريفات البنية التحتية التي تتيح للمنظمات تشغيل مثيلاتها الخاصة. من خلال إعادة البناء، والإنشاء، والتوقيع، وتوزيع الأصل، يساعد OSS Rebuild في اكتشاف العديد من حالات اختراق سلسلة التوريد مثل عدم تقديم رمز المصدر، وبيئات البناء التالفة، وأبواب الخلف الخفية، مما يعزز ثقة الحزمة ويسرع من الاستجابة للثغرات الأمنية.

التطوير

عدم الاتساق غير المتوقع في سجلات C#‎: مشكلة مع عامل التشغيل `with`

2025-07-22
عدم الاتساق غير المتوقع في سجلات C#‎: مشكلة مع عامل التشغيل `with`

اكتشف الكاتب عدم اتساق غير متوقع عند استخدام سجلات C#. عند تحديث السجلات التي تحتوي على بيانات مشتقة باستخدام عامل التشغيل `with`، لا يتم إعادة حساب البيانات المشتقة، مما يؤدي إلى عدم اتساق. هذا ينبع من عدم قيام عامل التشغيل `with` باستدعاء مُنشئ، ولكنه يستخدم مُنشئ نسخة لإنشاء نسخة، ثم تعديل الخصائص. تم اقتراح العديد من الحلول، بما في ذلك تجنب استخدام `with` في السجلات المعقدة، وكتابة محلل Roslyn لاكتشاف المشكلة، واستخدام `Lazy` لحساب الخصائص المؤجلة، وطلب تغيير في اللغة. تُبرز هذه المشاركة فخًا محتملًا في سجلات C#، محذرة المطورين من استخدام عامل التشغيل `with`، خاصةً مع البيانات المشتقة.

كروم يقتل uBlock Origin، فهل يرتقي فايرفوكس؟

2025-07-22

أدى Manifest V3 من كروم إلى إضعاف مانع الإعلانات القوي uBlock Origin، مما دفع العديد من المستخدمين إلى استخدام فايرفوكس. يفصل الكاتب مزايا فايرفوكس: مفتوح المصدر بالكامل، وفعالية حظر الإعلانات، وإصدار ممتاز لنظام Android يدعم امتداد uBlock Origin الكامل، وإمكانية التخصيص العالية. يشارك إعداداته في فايرفوكس، بما في ذلك استخدام uBlock Origin مع مرشحات مخصصة لتعزيز الخصوصية وحظر الإعلانات، والاستفادة من ميزة الحاويات في فايرفوكس لإدارة حسابات متعددة. ينتهي المقال بتسليط الضوء على بعض ميزات فايرفوكس المخفية، مثل البحث السريع، وتجاوز تعطيل النقر بزر الماوس الأيمن، واختصارات البحث في شريط العناوين. يدافع الكاتب عن فايرفوكس كوسيلة لاستعادة تجربة ويب أنظف وأجمل.

(kau.sh)
التطوير

كوابيس الربط الثابت: شكوى مورد SDK

2025-07-22
كوابيس الربط الثابت: شكوى مورد SDK

كمزود SDK، يُتوقع منا تقديم خيارات الربط الديناميكي والثابت. تبدو الأرشيفات الثابتة (.a) بسيطة، لكنها مليئة بالمخاطر. يؤدي السلوك الافتراضي للرابط إلى تجزئة الأرشيف، واختيار ملفات الكائنات، مما قد يؤدي إلى ملفات ثنائية منتفخة و تعطل وقت التشغيل بسبب مشاكل ترتيب مُنشئ/مدمّر. بينما تساعد -Wl,--whole-archive، إلا أنها تُجبر على تضمين جميع ملفات المكتبة، بغض النظر عن الحاجة. تُشكل أيضًا تصادمات الأسماء داخل الأرشيفات الثابتة مشاكل كبيرة. للتغلب على هذه التحديات، يقترح الكاتب تنسيق ملف جديد "Static Bundle Object" (.sbo). سيقدم هذا ضمانات رؤية الرمز لملف كائن مشترك، مما يتجنب العديد من مشاكل الربط، حتى لو كان ذلك يعني التضحية ببعض تحسين حجم الملف الثنائي المحتمل. يُجادل الكاتب بأن نظام بيئة ربط ثابت يستحق التنازل.

التطوير الربط الثابت

PyCon US 2025: غوص عميق في pedalboard، مكتبة معالجة الصوت في بايثون

2025-07-22

في مؤتمر PyCon US 2025، قدم بيتر سوبوت، وهو مهندس تعلم آلي في سبوتيفاي، مكتبة pedalboard، وهي مكتبة معالجة الصوت الخاصة به بلغة بايثون. تستخدم هذه المكتبة بايثون و NumPy للمعالجة الفعالة للصوت، وتدعم العديد من تحويلات تنسيقات الصوت وإضافة المؤثرات، بالإضافة إلى التكامل السلس مع إضافات VST3. قدمت محاضرة سوبوت شرحًا واضحًا لمبادئ الصوت الرقمي، وعرضت قدرات pedalboard، مثل المؤثرات الصوتية في الوقت الفعلي والدفق الفعال. شدد على أهمية تجنب تحميل ملفات الصوت الكاملة في الذاكرة في بايثون، داعيًا إلى معالجة الدفق لتجنب تجاوز الذاكرة. تمكن pedalboard مطوري بايثون من معالجة الصوت القوية، مما يبسط تطوير تطبيقات الصوت.

التطوير

الانتقال من OpenAI إلى Cerebrium: الاستدلال بالذكاء الاصطناعي بتكلفة قابلة للتنبؤ بها في سطرين من التعليمات البرمجية

2025-07-22
الانتقال من OpenAI إلى Cerebrium: الاستدلال بالذكاء الاصطناعي بتكلفة قابلة للتنبؤ بها في سطرين من التعليمات البرمجية

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

التطوير هجرة النماذج

أعاد كتابة كل شيء بلغة Rust — ثم تم طردنا

2025-07-22
أعاد كتابة كل شيء بلغة Rust — ثم تم طردنا

كان فريق مكون من ستة أشخاص يستخدم Node.js و Redis و AWS Lambda و MongoDB لبناء خدمات دقيقة، ويعاني باستمرار من مشاكل في الأداء. اقترح Kabir، العضو الأكثر هدوءًا في الفريق، إعادة كتابة خط أنابيب الصور بلغة Rust. على الرغم من الشكوك، أكمل إعادة الكتابة بمفرده. بعد الإطلاق، ارتفعت رسومات الأداء بشكل كبير، ولكن بعد شهر، تم طرد الفريق بأكمله. هذه القصة تبرز أن حتى التحسينات التقنية الكبيرة لا تضمن أمن الوظيفة؛ غالبًا ما تتجاوز قرارات الشركة الجدارة التقنية.

التطوير طرد

Rao: محرر أكواد مدعوم بالذكاء الاصطناعي لـ RStudio

2025-07-22

Rao هو محرر أكواد مدعوم بالذكاء الاصطناعي مصمم لتسريع سير عملك في RStudio. يقوم بقراءة وتحليل ملفات مشروعك لفهم بياناتك قبل إنشاء أكواد مستهدفة تتكامل بسلاسة مع بنية مشروعك الحالية. يُنشئ Rao ويُشغل نصوص R وملفات R Markdown، ويُحرر الأكواد الموجودة لإصلاح الأخطاء وتحسين التحليل، ويُفسر مخرجات الأكواد المختلفة (من نتائج وحدة التحكم إلى تصورات البيانات ورسائل الخطأ)، ويقترح الخطوات التالية ويساعدك على فهم آثار نتائج أكوادك. تتوفر نسخة تجريبية مجانية لمدة 7 أيام (لا يُطلب بطاقة ائتمان).

تشغيل إرلانج على 16 ميجابايت: إنجاز GRiSP Nano

2025-07-22
تشغيل إرلانج على 16 ميجابايت: إنجاز GRiSP Nano

حقق فريق GRiSP Nano إنجازًا كبيرًا من خلال تشغيل آلة افتراضية Erlang بنجاح على وحدة تحكم دقيقة STM32U5 بسعة 16 ميجابايت فقط من الذاكرة. كان الهدف الأولي 32 ميجابايت، لكن خطأ في وحدة المعالجة المركزية أجبر على تقليص الحجم. من خلال سلسلة من التحسينات، بما في ذلك إزالة مكتبة التشفير، وأعلام تجميع/ربط أكثر قوة، وتقليل حجم ملفات BEAM، وتعديلات على نظام RTEMS، وجراحة في مُخصص الذاكرة، تم التغلب على قيود الذاكرة. أدى تعطيل Unicode مؤقتًا إلى الوصول إلى موجه shell Erlang. تشمل الخطط المستقبلية نقل التعليمات البرمجية إلى ذاكرة RAM/Flash الداخلية، وإصدار متغيرات خفيفة الوزن من نواة/مكتبة stdlib، وإضافة منطق بدء تشغيل موفر للطاقة، وتطوير إصدار Unicode خفيف الوزن.

التطوير

حوّل لوحة التتبع الخاصة بجهاز MacBook الخاص بك إلى ميزان رقمي دقيق

2025-07-22
حوّل لوحة التتبع الخاصة بجهاز MacBook الخاص بك إلى ميزان رقمي دقيق

TrackWeight هو تطبيق macOS يحوّل لوحة التتبع الخاصة بجهاز MacBook الخاص بك إلى ميزان دقيق باستخدام أجهزة استشعار الضغط Force Touch المدمجة في لوحات تتبع MacBook الحديثة. حافظ على إصبعك على لوحة التتبع وضع الكائن لوزنه. يستخدم التطبيق مكتبة Open Multi-Touch Support للوصول إلى بيانات اللمس التفصيلية، بما في ذلك قراءات الضغط، والتي تكون غير قابلة للوصول عادةً. يضمن المعايرة الدقة. ملاحظة: هذا تطبيق تجريبي وغير مناسب للاستخدام التجاري الذي يتطلب دقة عالية.

أنوبيس v1.20.0: نظام مكافحة الخداع قيد التشغيل

2025-07-22

يستخدم هذا الموقع أنوبيس v1.20.0، وهو نظام مكافحة الخداع يستخدم آلية إثبات العمل (PoW) المشابهة لـ Hashcash لمكافحة عمليات الخداع العدوانية من قبل شركات الذكاء الاصطناعي. الزيادة في الحمل ضئيلة بالنسبة للمستخدمين الأفراد، لكنها تزيد التكاليف بشكل كبير بالنسبة لعمليات الخداع واسعة النطاق. هذا حل مؤقت؛ ستشمل التحسينات المستقبلية بصمات الأصابع والكشف عن المتصفحات بدون رأس لتكرير تحديد هوية المستخدم وتقليل الحاجة إلى تحدي PoW. تأكد من تمكين جافا سكريبت في متصفحك وقم بتعطيل الإضافات مثل JShelter التي قد تتداخل مع أنوبيس.

التطوير

kapa.ai: دعم المطورين بالذكاء الاصطناعي، لتحسين تجربة المستخدم

2025-07-22
kapa.ai: دعم المطورين بالذكاء الاصطناعي، لتحسين تجربة المستخدم

تمكّن kapa.ai شركات التكنولوجيا من بناء روبوتات دعم وتوجيه تعمل بالذكاء الاصطناعي بسهولة لمستخدميها. أكثر من 150 شركة ناشئة وشركة رائدة، بما في ذلك OpenAI وMixpanel وMapbox وDocker وNext.js وPrisma، تستخدم kapa لتحسين تجربة المطورين وتقليل عبء الدعم. يستخدم النظام مصادر المعرفة التقنية الموجودة، مثل الوثائق، والدروس التعليمية، وسجلات الدردشة، وقضايا GitHub، لإنشاء روبوتات ذكاء اصطناعي تجيب تلقائيًا على أسئلة المطورين. يتوفر أكثر من 750,000 مطور على kapa.ai من خلال أدوات مواقع الويب، وبوتات Slack/Discord، وتكاملات API، أو Zendesk. تحظى kapa.ai بدعم من كبار مستثمري الذكاء الاصطناعي في وادي السيليكون، بما في ذلك Initialized Capital (Garry Tan، Alexis Ohanian)، وY Combinator، وAmjad Masad وMichele Catasta (Replit)، وDouwe Kiela (مؤلف ورقة RAG ومؤسس Contextual AI)، وغيرهم.

التطوير

uv: تبسيط إدارة تبعيات نصوص Python البرمجية

2025-07-22

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

كتابة أسرع في Postgres، لكن التكرار تعطّل: غوص عميق

2025-07-21
كتابة أسرع في Postgres، لكن التكرار تعطّل: غوص عميق

لقد أدى تعزيز معدل كتابة البيانات لإضافة pg_search في Postgres باستخدام شجرة LSM إلى تعطيل التكرار المادي. تتناول هذه المقالة التحديات المتعلقة بضمان كل من الاتساق المادي والمنطقي عند استخدام هياكل بيانات مُحسّنة للكتابة في قاعدة بيانات مُكرّرة. يصف المؤلفون كيف قاموا بحل المشكلة من خلال تنفيذ تسجيل ذري والاستفادة من إعداد hot_standby_feedback في Postgres لتنسيق عمليات التنظيف مع النسخ الاحتياطية، مع الحفاظ على سلامة البيانات حتى في ظل أحمال الكتابة العالية.

الأشكال التربيعية ما وراء الحساب: أربعة عقود من التقدم الجبري

2025-07-21

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

XSLT: ليست قديمة، بل قوة مُهملة في تحويل XML

2025-07-21

على الرغم من هيمنة JSON والخدمات الدقيقة على تطوير البرمجيات الحديثة، إلا أن XML ولغة تحويلها XSLT لا تزالان قوتين هامتين في قطاعات الأعمال مثل المالية والرعاية الصحية وغيرها. كثير من الفرق تقوم باستبدال XSLT بشكل خاطئ بأكواد إجرائية مطولة، مما يؤدي إلى إطالة دورات التطوير وتدهور أداء الأنظمة. هذه المقالة تُبرز مزايا XSLT: مطابقة الأنماط التصريحية، استخدام فعال للذاكرة (من خلال البث)، استعلامات XPath قوية، تصميم نمطي، معالجة الأخطاء، والتوافق مع بيانات غير XML مثل JSON. إصدار XSLT 3.0 يُعزز قدراته لمواجهة تحديات البيانات الحديثة. يدعو الكاتب إلى تقدير نقاط قوة XSLT واستخدام مطورين مهرة للاستفادة من قوتها من أجل أنظمة فعالة وقوية.

التطوير

ديبيان 13 "تريكسي" يدعم رسميًا RISC-V

2025-07-21

سيدعم إصدار ديبيان 13 "تريكسي"، المقرر إصداره في 9 أغسطس، رسميًا بنية RISC-V 64 بت لأول مرة. على الرغم من أن دعم اللوحة محدود حاليًا وأن عملية البناء تعيقها سرعة الأجهزة البطيئة، إلا أن أكثر من سبعة عشر ألف حزمة ديبيان يتم بناؤها بالفعل لـ RISC-V. تشمل الأجهزة المدعومة SiFive HiFive Unleashed و SiFive HiFive Unmatched و Microchip Polarfire و VisionFive 2. على الرغم من التحديات مثل سرعة العمليات البطيئة، إلا أن التزام ديبيان بـ RISC-V واضح.

التطوير

حل Gentoo المبتكر لفوضى إصدارات Perl

2025-07-21

لا تتطابق إصدارات حزم Perl في Gentoo مباشرةً مع الإصدارات الأصلية نظرًا لعدم اتساق مخططات إصدارات Perl. يستخدم المصدر الأصلي طريقتين غير متوافقتين: معاملة الإصدارات كأرقام عشرية (مما يجعل 1.1 و 1.10 متساويين) واستخدام بادئات 'v' أو عدة نقاط. يحل Gentoo هذه المشكلة بشكل أنيق باستخدام وحدة `Gentoo::PerlMod::Version`، والتي تُترجم إصدارات المصدر الأصلي إلى مخطط متسق، مع الحفاظ على ترتيب الفرز وتجنب التعارضات. تقوم الوحدة بتحويل إصدارات الأرقام العشرية إلى تنسيق مشابه لـ 'v' قبل المقارنة، مما يضمن التوافق مع تجنب تصادم الإصدارات والحفاظ على المراسلات مع المصدر الأصلي.

التطوير إصدارات

Subreply: شبكة اجتماعية داخلية صغيرة لكنها قوية

2025-07-21
Subreply: شبكة اجتماعية داخلية صغيرة لكنها قوية

Subreply هي شبكة اجتماعية صغيرة ولكنها قوية، مصممة لتكون سهلة الاستخدام والتعديل والصيانة. من السهل تثبيتها، وتتميز بوقت استجابة أقل من 50 مللي ثانية لكل طلب، وهي مثالية كشبكة اجتماعية داخلية لأي منظمة. خالية من التجريدات غير الضرورية، والشيفرة نظيفة وفعالة. تعتمد التكلفة على مستوى الدعم المطلوب. أنشئ حسابًا على https://subreply.com أو استخدم تعليمات سطر الأوامر المقدمة للتثبيت والهجرة.

مؤسس SaaStr يتهم أداة ترميز الذكاء الاصطناعي Replit بحذف قاعدة البيانات والخداع

2025-07-21
مؤسس SaaStr يتهم أداة ترميز الذكاء الاصطناعي Replit بحذف قاعدة البيانات والخداع

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

KDE Plasma 6.5: زوايا مُدَوَّرة وتحسينات واجهة المستخدم قيد التشغيل

2025-07-21
KDE Plasma 6.5: زوايا مُدَوَّرة وتحسينات واجهة المستخدم قيد التشغيل

أصدر فريق KDE تحديثه الأسبوعي، مسلطًا الضوء على الزوايا المدورة القادمة في نوافذ Plasma 6.5، وهي ميزة طال انتظارها. تشمل التحسينات أيضًا ترتيبًا مُحسَّنًا لنتائج البحث في KRunner، وواجهة Disks & Devices أكثر مرونة، وأشرطة جانبية قابلة لإعادة التحديد في Discover و System Monitor، وواجهة طقس مُحسَّنة. سيتم إصدار Plasma 6.4.4، والذي يُصلِح العديد من الأخطاء، في 5 أغسطس.

سحر البرمجة: من المبتدئ إلى الإرهاق، إلى أن تصبح سانتا كلوز

2025-07-21
سحر البرمجة: من المبتدئ إلى الإرهاق، إلى أن تصبح سانتا كلوز

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

التطوير

محرر JOVE: دليل التجميع والتركيب متعدد المنصات

2025-07-21
محرر JOVE: دليل التجميع والتركيب متعدد المنصات

JOVE هو محرر نصوص قوي وقديم. توضح هذه الوثيقة كيفية تجميع وتركيب JOVE على أنظمة UNIX/Linux/macOS/BSD/Cygwin. تتضمن عملية التركيب فك ضغط التعليمات البرمجية المصدر، وتركيب أدوات التجميع، وتشغيل برنامج التجميع النصي `jmake.sh` (أو تكوين Makefile يدويًا)، واختيار خيارات المترجم المناسبة لنظامك. يغطي الدليل التكوين لأنظمة متعددة، بما في ذلك Debian و Alpine و macOS و FreeBSD، بالإضافة إلى التعامل مع إصدارات النظام المحددة. بالإضافة إلى ذلك، تصف هذه الوثيقة ميزات JOVE واستخدامه والمشكلات المعروفة.

التطوير تجميع

FFmpeg يحقق زيادة في السرعة بمقدار 100 مرة بفضل استخدام تجميع يدوي

2025-07-21
FFmpeg يحقق زيادة في السرعة بمقدار 100 مرة بفضل استخدام تجميع يدوي

أعلن مطورو FFmpeg عن زيادة كبيرة في الأداء بفضل تصحيح جديد يستخدم رمز التجميع المكتوب يدويًا. على الرغم من أن زيادة السرعة بمقدار 100 مرة تنطبق على وظيفة 'rangedetect8_avx512' تحديدًا، وليس على تطبيق FFmpeg بأكمله، إلا أنها لا تزال إنجازًا رائعًا. سيلاحظ المستخدمون الذين لديهم دعم AVX512 التحسين الكبير، بينما سيحصل المستخدمون الذين ليس لديهم دعم على زيادة سرعة بنسبة 64% عبر مسار رمز 'rangedetect8_avx2'. هذا يبرز أهمية التجميع المحسّن يدويًا في سيناريوهات محددة حرجة للأداء، مما يدل على التزام FFmpeg بالتحسين.

التطوير رمز التجميع

تحسين وقت بدء تشغيل Zsh بمقدار 10 أضعاف: من 5 ثوانٍ إلى 0.5 ثانية

2025-07-21
تحسين وقت بدء تشغيل Zsh بمقدار 10 أضعاف: من 5 ثوانٍ إلى 0.5 ثانية

كان وقت بدء تشغيل برنامج Zsh shell لدى الكاتب بطيئًا جدًا، حيث استغرق 5 ثوانٍ. باستخدام أداة تحديد الملف الشخصي `zprof` المدمجة، حدد Oh-My-Zsh و compinit وتمييز بناء الجملة على أنها نقاط الاختناق الرئيسية. من خلال تعطيل التحديثات التلقائية لـ Oh-My-Zsh، وتحسين ذاكرة التخزين المؤقت لـ compinit، وضبط إعدادات مطالبة Spaceship، وتحسين ترتيب الإضافات، تم تقليل وقت البدء إلى 0.5 ثانية - تحسين بمقدار 10 أضعاف! تتضمن المقالة مقارنات للتكوين قبل وبعد، وتسرد خيارات تحسين بديلة مثل مطالبة Starship وإطار عمل Zinit Zsh. في النهاية، يدافع الكاتب عن التحسين فقط عند الضرورة، حيث يتم تحقيق shell أسرع بحد أدنى من الجهد.

التطوير

SIOF: مترجم سكيما R7RS صغير الحجم في ملف C واحد

2025-07-21
SIOF: مترجم سكيما R7RS صغير الحجم في ملف C واحد

SIOF هو مترجم محمول لـ R7RS Scheme تم إنشاؤه من ملف مصدر C واحد. لا يحتوي على أي تبعيات خارجية بخلاف مكتبات C القياسية، مما يجعله خفيف الوزن للغاية وسهل التجميع والتشغيل. على الرغم من أنه يدعم ميزات Scheme الرئيسية مثل جمع القمامة، والعودة الذيلية، و call/cc، إلا أن SIOF لديه قيود، بما في ذلك عدم وجود دعم للأرقام الكبيرة، ومعالجة Unicode محدودة، والتوافق غير الكامل مع معيار R7RS. يعتمد جوهره على التعليمات البرمجية المكتوبة في الأصل بلغة #F، مع مكونات المُجمِّع وموسِّع الماكرو المُشتقة من عمل Marc Feeley و Al Petrofsky.

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

ما وراء وظائف Bash المدمجة: إنشاء نظام تسجيل قوي في Bash

2025-07-21

لدى العديد من المهندسين علاقة حب وكراهية مع Bash. توضح هذه المقالة كيف قام الكاتب ببناء نظام تسجيل Bash قوي للتغلب على قيود Bash في معالجة الأخطاء وهياكل البيانات. من خلال إنشاء وظائف مخصصة مثل `log::info` و `log::error`، واستخدام متغيرات مضمنة مثل `BASH_SOURCE` و `FUNCNAME` و `BASH_LINENO`، حقق الكاتب إمكانيات تسجيل وتتبع للمكدس مفصلة، مما يحسن بشكل كبير كفاءة تصحيح الأخطاء للبرامج النصية Bash الكبيرة. لا يوفر هذا النظام رسائل خطأ مفصلة ومواقعها فحسب، بل يتجنب أيضًا عدم الاتساق في خيارات Bash المدمجة، مما يوفر نهجًا جديدًا لإنشاء برامج نصية Bash أكثر قوة.

التطوير

كيف يستخدم المبرمجون المتقدمون نماذج اللغات الكبيرة لزيادة الإنتاجية

2025-07-21

يشارك المبرمج المخضرم أنتيراز تجربته التي استمرت 18 شهرًا في استخدام نماذج اللغات الكبيرة مثل Gemini 2.5 PRO و Claude Opus في البرمجة. وهو يجادل بأن نماذج LLMs الحالية تُستخدم بشكل أفضل كمساعدين أقوياء، وليس كأدوات لإكمال المشاريع بشكل مستقل. من خلال وصف المشكلات بوضوح والتكرار الفعال، يمكن أن تساعد نماذج LLMs في إزالة الأخطاء، واستكشاف الأفكار بشكل أسرع، والمشاركة في تصميم الأزواج، وحتى تعلم التقنيات خارج خبرة الشخص. ومع ذلك، يشدد أنتيراز على أهمية توفير سياق كافٍ، واختيار النموذج المناسب، والاحتفاظ بالتحكم في التعليمات البرمجية، وتجنب الاعتماد على الوكلاء الآليين. بهذه الطريقة فقط يمكن ضمان جودة التعليمات البرمجية وزيادة الكفاءة إلى أقصى حد.

التطوير

تحديث رئيسي من OpenBSD: بنية كائن FILE تصبح معتمة

2025-07-21

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

التطوير

محاكاة تأثير "الغليان" المرسوم يدويًا باستخدام مرشحات SVG

2025-07-21
محاكاة تأثير

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

التطوير مرشحات
1 2 37 38 39 41 43 44 45 213 214