Category: التطوير

منافسة الخيوط في روبي: ليست معركة عشوائية

2025-02-03

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

حذف قناة يوتيوب: مطور مستقل يتضرر من خطأ خوارزمي

2025-02-03
حذف قناة يوتيوب: مطور مستقل يتضرر من خطأ خوارزمي

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

التطوير

غوغل تتخلى عن مشروع ماكرو دارت: التركيز هو المفتاح

2025-02-03
غوغل تتخلى عن مشروع ماكرو دارت: التركيز هو المفتاح

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

التطوير فلتر

مطورو أوبونتو ينتقلون إلى ماتريكس للتواصل في الوقت الفعلي

2025-02-03
مطورو أوبونتو ينتقلون إلى ماتريكس للتواصل في الوقت الفعلي

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

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

تنفيذ دائم خفيف الوزن: مكتبة DBOS Transact مفتوحة المصدر

2025-02-03
تنفيذ دائم خفيف الوزن: مكتبة DBOS Transact مفتوحة المصدر

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

التطوير

تأمين الأسرار في عمليات نشر Docker Compose الحديثة

2025-02-03
تأمين الأسرار في عمليات نشر Docker Compose الحديثة

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

التطوير إدارة الأسرار

إنشاء تأثير موقع ويب ثلاثي الأبعاد عتيق باستخدام ظلال: التمويه، وكمية الألوان، والتمثيل النقطي

2025-02-03
إنشاء تأثير موقع ويب ثلاثي الأبعاد عتيق باستخدام ظلال: التمويه، وكمية الألوان، والتمثيل النقطي

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

NSDI 24: Autothrottle: نهج عملي ثنائي المستوى لإدارة الموارد لخدمات مايكرو منصبة على SLO

2025-02-03

تلتزم USENIX بالوصول المفتوح، مما يجعل الأبحاث من فعالياتها متاحة مجانًا. الأوراق والمحاضر وأي فيديو/صوت/شرائح لاحقة مفتوحة للجميع بعد الحدث. وهذا يشمل ورقة NSDI 24، "Autothrottle: نهج عملي ثنائي المستوى لإدارة الموارد لخدمات مايكرو منصبة على SLO"، من قبل Wang et al.، التي تقدم نهجًا عمليًا لإدارة موارد خدمات مايكرو منصبة على SLO. الورقة والفيديو والشرائح متاحة الآن للجمهور.

التطوير خدمات مايكرو

المتغيرات العالمية: ليست سيئة كما تعتقد

2025-02-03

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

HYTRADBOI: مؤتمر غير متزامن حول قواعد البيانات و لغات البرمجة

2025-02-02

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

محلل بيانات Garmin: استخدم بيانات اللياقة البدنية الخاصة بك مع GarminDb

2025-02-02
محلل بيانات Garmin: استخدم بيانات اللياقة البدنية الخاصة بك مع GarminDb

GarminDb عبارة عن مجموعة قوية من نصوص Python مصممة لتحليل بيانات الصحة من Garmin Connect وتخزينها في قاعدة بيانات SQLite خفيفة الوزن. يقوم بتنزيل واستيراد بيانات المراقبة اليومية تلقائيًا (معدل ضربات القلب ، والنشاط ، والصعود / الهبوط ، والتوتر ، ودقائق الكثافة) ، والنوم ، والوزن ، ومعلومات معدل ضربات القلب أثناء الراحة. بالإضافة إلى ذلك ، فإنه يلخص البيانات في تقارير يومية وأسبوعية وشهرية وسنوية ويسمح بإنشاء رسوم بيانية عبر سطر الأوامر أو Jupyter Notebooks. يسمح نظام الإضافات بتوسيع أنواع البيانات بسهولة. باختصار ، GarminDb أداة شاملة وسهلة الاستخدام لإدارة بيانات Garmin الخاصة بك ، مما يجعل تحليل بيانات الصحة أكثر كفاءة وراحة.

التطوير

مشاركة أصحاب المصلحة الفعالة في المشاريع الرشيقة

2025-02-02

تتناول هذه المقالة الدور المحوري لمشاركة أصحاب المصلحة في إدارة المشاريع الرشيقة. وتسلط الضوء على التحديات المتعلقة بالحفاظ على مشاركة ثابتة في بيئات سريعة الخطى ومتكررة، خاصة مع المتطلبات المتغيرة والفرق الجغرافية المتباعدة. وتؤكد المقالة على أهمية أدوات مثل رسم خريطة أصحاب المصلحة، ومنصات التعاون الرقمي (Jira، Trello)، وأطر تحديد الأولويات (MoSCoW، Kano) لتعزيز التواصل الفعال والمحاذاة. كما يتم مناقشة الأدوار الرئيسية لمديري المشاريع والمحللين التجاريين في سد الفجوة بين أصحاب المصلحة والفرق الرشيقة، مما يوضح كيف تؤدي المشاركة الناجحة إلى نتائج أفضل للمشروع وتعزز قيمة المنهجيات الرشيقة. وتقدم أمثلة عملية من Kaiser Permanente و Revolut و Atlassian التطبيق العملي لهذه الاستراتيجيات.

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

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

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

التطوير

mutool: سكين جيش سويسري لمعالجة ملفات PDF

2025-02-02

mutool، المبنية على مكتبة MuPDF، هي أداة سطر أوامر قوية توفر مجموعة واسعة من الأوامر الفرعية لمعالجة ملفات PDF. من تحويل الصفحات إلى صور PNG واستخراج النص إلى دمج ملفات PDF متعددة واستخراج الصور والخطوط المضمنة، تتولى mutool مجموعة متنوعة من المهام. إنها أداة متعددة الاستخدامات لكل من التحويلات البسيطة والعمليات المعقدة لملفات PDF.

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

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

2025-02-02
بروتوكولات بايثون: الكتابة الإجرائية الثابتة وتطور الميراث

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

Sniffnet: أداة قوية ومتعددة المنصات لمراقبة حركة مرور الشبكة

2025-02-02
Sniffnet: أداة قوية ومتعددة المنصات لمراقبة حركة مرور الشبكة

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

التطوير

لوم: واجهة سطر أوامر خفيفة الوزن لإدارة آلات الظاهرية على Apple Silicon

2025-02-02
لوم: واجهة سطر أوامر خفيفة الوزن لإدارة آلات الظاهرية على Apple Silicon

لوم هي واجهة سطر أوامر (CLI) خفيفة الوزن وخادم واجهة برمجة تطبيقات محلي لإنشاء وتشغيل وإدارة آلات ظاهرية (VMs) لنظامي التشغيل macOS وLinux على Apple Silicon بأداء قريب من الأداء الأصلي، وذلك باستخدام Virtualization.Framework من Apple. قم بتشغيل صور macOS مُعدّة مسبقًا بخطوة واحدة فقط. توفر واجهة سطر الأوامر مجموعة شاملة من الأوامر لإدارة آلات الظاهرية، بما في ذلك إنشاء وتشغيل وقائمة وعرض التفاصيل وتعيين التكوينات وإيقاف وتكوين وحذف وجلب الصور واستنساخ وإدارة ذاكرة التخزين المؤقت. كما يوفر لوم خادم واجهة برمجة تطبيقات HTTP محليًا لإدارة آلات الظاهرية تلقائيًا.

التطوير

OmiAI: مجموعة أدوات الذكاء الاصطناعي التي تعمل ببساطة

2025-02-02
OmiAI: مجموعة أدوات الذكاء الاصطناعي التي تعمل ببساطة

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

مكتبة موديست: مكتبة لوا للانسجام الموسيقي

2025-02-02
مكتبة موديست: مكتبة لوا للانسجام الموسيقي

موديست هي مكتبة لوا قوية للانسجام الموسيقي، توفر كائنات Chord و Note و Interval التي تتعامل مع مجموعة واسعة من الأوتار، من الأوتار الرئيسية/الصغرى البسيطة إلى الأوتار الجاز المعقدة. تتميز بتحليل سلاسل مرن لتحديد الأوتار، وقدرات النقل، واسترجاع الملاحظات الفردية. من السهل تثبيتها عبر LuaRocks أو التجميع اليدوي، يدعم موديست Lua 5.4 و LuaJIT ويتجنب تلويث مساحة الاسم العالمية. وظيفتها الرئيسية، بما في ذلك تحديد الأوتار، والنقل، واستخراج الملاحظات، وحسابات الفترات، توفر أدوات فعالة لتطوير برامج الموسيقى.

التطوير

غطسة عميقة في ذاكرة التخزين المؤقت Caffeine: كشف Window TinyLFU والتنفيذات الفعالة

2025-02-02

تتناول هذه المقالة بالتفصيل الآليات الداخلية لـ Caffeine، وهي مكتبة ذاكرة التخزين المؤقت عالية الأداء، مع التركيز على سياسة الإزالة الفريدة Window TinyLFU. تشرح المقالة كيف تجمع Window TinyLFU بين معلومات التردد و حداثة الوصول، باستخدام بنية بيانات CountMinSketch لتقدير التردد بكفاءة. بالإضافة إلى ذلك، تحلل المقالة آليات انتهاء الصلاحية في Caffeine القائمة على قوائم الانتظار المُرتبة وعجلة المؤقت الهرمي، وكيف تعمل سياسة ذاكرة التخزين المؤقت التكيفية على ضبط تكوين ذاكرة التخزين المؤقت ديناميكيًا باستخدام خوارزمية الصعود بالتلال لتحقيق إدارة ذاكرة تخزين مؤقت عالية الأداء.

Qodo Merge 1.0: تطوير مراجعة التعليمات البرمجية المدعومة بالذكاء الاصطناعي

2025-02-02
Qodo Merge 1.0: تطوير مراجعة التعليمات البرمجية المدعومة بالذكاء الاصطناعي

يعالج Qodo Merge 1.0، وهو أداة مراجعة التعليمات البرمجية التي تعمل بالذكاء الاصطناعي، التحديات المتأصلة في الترميز بمساعدة الذكاء الاصطناعي بعد أكثر من عام من التطوير. تتضمن النسخة الجديدة وضع التركيز على المشكلات الذي يعطي الأولوية للمشكلات الحرجة مثل الأخطاء وثغرات الأمان؛ والتعلم الديناميكي الذي يُحسّن الاقتراحات بناءً على التغييرات المقبولة؛ ودمج سياق التذاكر في الوقت الفعلي؛ وأمر `/implement` لتحويل التعليقات إلى تغييرات قابلة للتطبيق في التعليمات البرمجية. يجعل Qodo Merge 1.0 مراجعة التعليمات البرمجية أكثر دقة، وقابلية للتكيف، وكفاءة.

ترويض التكرار الأيسر: إصلاح قواعد نحوية لبرنامج فك تشفير C++

2025-02-02

تتناول هذه المقالة رحلة الكاتب في حل مشاكل التكرار الأيسر والتكرار الأيسر المتبادل ضمن قواعد نحوية بلا سياق (CFG) أثناء إعادة كتابة برنامج فك تشفير C++ من RizinOrg، وهو rz-libdemangle. يبدأ بشرح مفاهيم التكرار الأيسر والتكرار الأيسر المتبادل، مع توضيح ذلك من خلال أمثلة بسيطة ورسوم بيانية توضح كيفية تحويل القواعد النحوية التكرارية اليسرى إلى قواعد نحوية تكرارية يمنى لمنع التكرار اللانهائي. بعد ذلك، يشارك الكاتب مشكلة حقيقية واجهها في برنامج فك تشفير Itanium ABI، مع عرض قواعد نحوية معقدة ذات تكرار أيسر وتكرار أيسر متبادل، وكيف استخدم ماكروات وتحويلات نحوية ذكية لحل هذه المشاكل، مما يحول دون حدوث أخطاء في تجاوز سعة المكدس.

PL/Rust: أداء أصلي لوظائف PostgreSQL بلغة Rust

2025-02-02
PL/Rust: أداء أصلي لوظائف PostgreSQL بلغة Rust

PL/Rust هي لغة برمجية قابلة للتحميل تُمكّن من تطوير وظائف PostgreSQL بلغة Rust، حيث يتم تجميعها إلى رمز آلة أصلي لتحقيق أداء مثالي. على عكس البدائل المُفسّرة، فهي تستفيد من نظام Rust البيئي وسلامة وقت التجميع. توفر الوصول إلى واجهة برمجة تطبيقات الخادم الخاصة بـ Postgres (بما في ذلك الاستعلامات الديناميكية والتعليمات المُعدّة)، وأنواع Rust آمنة لمعظم أنواع بيانات Postgres، ودعم لوظائف المُشغلات. على أنظمة Linux x86_64 و aarch64، تعمل كلغة "موثوقة"، مما يوفر ضمانات أمنية محسّنة؛ وفي أماكن أخرى، تعمل كلغة "غير موثوقة". تتوفر وثائق شاملة، وتعليمات التثبيت، ودعم التجميع المتبادل.

التطوير

SQL أم الموت؟ سلسلة ندوات CMU تستكشف مستقبل قواعد البيانات

2025-02-02
SQL أم الموت؟ سلسلة ندوات CMU تستكشف مستقبل قواعد البيانات

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

التطوير لغة استعلام

بناء ملفات ثنائية أصلية متعددة المنصات من Mill عبر Github Actions

2025-02-02

يستخدم مشروع Mill Github Actions لبناء ملفات ثنائية أصلية على منصات مختلفة (Mac و Windows و Linux) وتحميلها على Maven Central. يُفصل تكوين ذكي بين نشر الملفات الاصطلاحية المتوافقة مع JVM والملفات الثنائية الأصلية الخاصة بالمنصة، مما يضمن التوافق بين المنصات. تُنشئ مهام `artifactName` و `jar` المخصصة ملفات مُرقمة مع لاحقات نظام التشغيل وهندسة وحدة المعالجة المركزية، مما يسمح للمستخدمين باختيار الملف التنفيذي المناسب لبيئتهم.

المؤشرات معقدة II: أخطاء دقيقة في تحسينات LLVM

2025-02-02

تتناول هذه المشاركة أهمية الدلالات الدقيقة لتمثيلات وسيطة للمترجم (IRs)، خاصةً للغات مثل C و C++ و Rust التي تسمح بالتعامل مع المؤشرات غير الآمنة. يوضح الكاتب كيف يمكن أن تؤدي سلسلة من ثلاث تحسينات لمرجع LLVM تبدو صحيحة إلى سلوك خاطئ للبرنامج. والسبب الجذري هو مصدر المؤشر (provenance) - المعلومات الإضافية المضمنة في المؤشر بخلاف عنوان ذاكرته، والتي توضح كيف تم حسابه. هذا يتطلب مواصفات IR LLVM أكثر دقة، بما في ذلك تعريف دقيق للسلوك غير المحدد (UB). إن معاملة IRs للمترجم كلغات برمجة مستقلة ذات مواصفات صارمة هو المفتاح لحل هذه المشاكل.

مطورو البرمجيات المفتوحة المصدر يواجهون عقوبات مكتب مراقبة الأصول الأجنبية (OFAC): دليل جديد لتجاوز التعقيدات

2025-02-02
مطورو البرمجيات المفتوحة المصدر يواجهون عقوبات مكتب مراقبة الأصول الأجنبية (OFAC): دليل جديد لتجاوز التعقيدات

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

وداعًا، فأرة الكمبيوتر: إنشاء بيئة عمل منتجة بدون فأرة

2025-02-01

سئمت من استخدام فأرة الكمبيوتر؟ يشارك الكاتب تجربته في إنشاء بيئة عمل بدون فأرة. من خلال استخدام أدوات مثل PaperWM، مدير نوافذ البلاط القابل للتمرير، وكلمات مفتاحية لعلامات تصنيف Firefox، وامتداد Vimium للمتصفح، وعميل البريد الإلكتروني القائم على المحطة الطرفية Aerc، بالإضافة إلى امتداد Quake Terminal من GNOME وأداة Input Remapper، زاد الكاتب من إنتاجيته بشكل كبير وحسّن من بيئة العمل. تتناول المقالة بالتفصيل كيفية استخدام وتكوين هذه الأدوات، وتشارك تجربته في إخفاء شريط القائمة وشريط الأدوات في Emacs للحد من الاعتماد على فأرة الكمبيوتر.

Cosmopolitan 3.0: اكتب مرة واحدة، شغّل في أي مكان (وأسرع!)

2025-02-01
Cosmopolitan 3.0: اكتب مرة واحدة، شغّل في أي مكان (وأسرع!)

مكتبة Cosmopolitan الإصدار 3.0 متوفرة الآن! بعد عام تقريبًا من التطوير، هذا الإصدار يغيّر قواعد اللعبة. ملفّ واحد قابل للتنفيذ يعمل الآن على أنظمة AMD64 و ARM64 عبر أنظمة Linux و macOS و Windows و FreeBSD و OpenBSD و NetBSD. يُمكن ذلك بفضل مُجمّع جديد، apelink.c، الذي يجمع بذكاء بين صيغ الملفات PE و ELF و Mach-O و PKZIP. كما يوفر Cosmopolitan 3.0 تحسينات كبيرة في توافق Windows و macOS، بالإضافة إلى مكاسب كبيرة في السرعة وكفاءة الذاكرة. يتضمن ذلك توزيع "Linux سميك"، Cosmos، يحتوي على أدوات مثل Emacs و Vim و CoreUtils. يوفر هذا النهج المبتكر ليس فقط قابلية نقل غير مسبوقة، بل وأداءً متفوقًا أيضًا.

تخلص من رؤوس الصفحات اللاصقة!

2025-02-01

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

1 2 170 171 172 174 176 177 178 213 214