Category: التطوير

ثورة الذكاء الاصطناعي في هندسة البرمجيات

2025-02-15

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

التطوير

فايرفوكس وقاتل الصوت الصامت: كيف تهدر مواقع الويب وحدة المعالجة المركزية والبطارية

2025-02-15

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

إعادة تصور اختبارات الوحدة: ما وراء التعصب

2025-02-15

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

التطوير

وداعًا، أدوات المطور: رحلة تطوير باستخدام سويفت و إكس كود

2025-02-15
وداعًا، أدوات المطور: رحلة تطوير باستخدام سويفت و إكس كود

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

التطوير إكس كود

إغلاق مشروع أبسبين: حجم المجتمع صغير جدًا للحفاظ عليه

2025-02-15

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

Schemesh: نظام تشغيل يونكس قابل للكتابة بلغة Lisp

2025-02-15
Schemesh: نظام تشغيل يونكس قابل للكتابة بلغة Lisp

Schemesh عبارة عن نظام تشغيل تفاعلي قابل للكتابة بلغة Lisp، مصمم كبديل سهل الاستخدام لأنظمة التشغيل التقليدية مثل bash وzsh وغيرها من أنظمة تشغيل يونكس. يوفر تعديل السطور التفاعلي، والإكمال التلقائي، والسجل، بينما يدمج بسلاسة نظام REPL Lisp كامل يعمل بواسطة Chez Scheme للمهام المعقدة. يمكن للمستخدمين التبديل بسهولة بين بناء جملة النظام وبناء جملة Lisp، مع توفير العديد من الوظائف لإدارة عمليات يونكس. بالنسبة للكتابة البرمجية والبرمجة الجادة، يحل Schemesh محل كتابة البرامج النصية التقليدية البطيئة والقابلة للخطأ بنظام REPL Lisp قوي، مما يزيد من الكفاءة والموثوقية.

Jill: لغة برمجة وظيفية جديدة لنظام Nand2Tetris

2025-02-15
Jill: لغة برمجة وظيفية جديدة لنظام Nand2Tetris

Jill هي لغة برمجة وظيفية تم إنشاؤها لمنصة Nand2Tetris كبديل للغة Jack عالية المستوى الأصلية. وهي بديل مباشر لـ Jack، حيث تستخدم نفس مجموعة تعليمات VM والهندسة المعمارية HACK، ولكنها تقدم أسلوبًا أكثر أناقة ووظيفية. تشمل الميزات الرئيسية الوظائف من الدرجة الأولى، والعودية الذيلية المُحسّنة، وأنواع البيانات الجبرية مع مطابقة الأنماط، وتصميمًا بسيطًا مع ثلاثة مفاهيم أساسية فقط. تُخرِج المشاريع المُترجمة ملفات .vm إلى دليل /bin. يمكن ترجمة Jill باستخدام `cargo run -- path_to_jill_project_root` أو `jillc [path_to_jill_project_root]`.

التطوير

الحوافز، وليس التعليم: مفتاح حل مشاكل جودة التعليم البرمجي

2025-02-15
الحوافز، وليس التعليم: مفتاح حل مشاكل جودة التعليم البرمجي

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

داركس: مقدمة سهلة في التحكم في الإصدارات

2025-02-15

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

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

Synergetica: تطبيق سطح مكتب لتصميم دوائر جينية شاملة

2025-02-15
Synergetica: تطبيق سطح مكتب لتصميم دوائر جينية شاملة

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

FlakeHub يعزز عمليات نشر Nix: احصل على مسارات التخزين بدون تقييم

2025-02-15
FlakeHub يعزز عمليات نشر Nix: احصل على مسارات التخزين بدون تقييم

تعتمد إمكانات إنشاء Nix القوية على تقييم مسارات التخزين، والتي قد تكون مكلفة على الأجهزة ذات الموارد المحدودة. يقدم FlakeHub "مسارات التخزين المحلّلة"، مما يسمح للمستخدمين بالحصول على مسارات التخزين دون استخدام Nix وسحبها مباشرة من ذاكرة التخزين المؤقت FlakeHub، مما يعزز بشكل كبير كفاءة النشر لتكوينات NixOS و Home Manager و nix-darwin. تبسط أداة سطر الأوامر `fh` عملية حل المسارات وتطبيق التكوينات، مما يوفر مزايا كبيرة في بيئات السحابة وعلى الأجهزة ذات الموارد المحدودة. تعمل هذه الميزة مع ذاكرة التخزين المؤقت FlakeHub؛ تتيح الخطط المدفوعة الوصول إلى Flakes خاصة وميزات متقدمة أخرى.

التطوير كفاءة النشر

نظام الملكية في Rust: منع أخطاء الذاكرة في وقت التجميع

2025-02-15
نظام الملكية في Rust: منع أخطاء الذاكرة في وقت التجميع

يمنع Rust أخطاء إدارة الذاكرة في وقت التجميع من خلال نظام الملكية و RAII (اكتساب الموارد هو التهيئة). كل قيمة لها مالك واحد فقط ؛ يمكن نقل الملكية بين المتغيرات ، ولكن لا يمكن الإشارة إلى كائن معين بشكل قابل للتغيير في أكثر من مكان واحد في نفس الوقت. يوضح مثال الكود نقل الملكية: بعد نقل ملكية المتغير `a` إلى `_b` ، يؤدي الوصول إلى `a` مرة أخرى إلى خطأ في وقت التجميع ، مما يضمن سلامة الذاكرة. هذا يتناقض مع جمع القمامة التقليدي ؛ يضمن Rust سلامة الذاكرة من خلال عمليات فحص وقت التجميع ، مما يؤدي إلى تحسين الأداء والموثوقية.

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

مسؤول صيانة نواة لينكس يستقيل بسبب تعليق "الخط الأزرق الرفيع"

2025-02-15

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

Kreuzberg: مكتبة بايثون قوية لاستخراج النصوص من المستندات المحلية

2025-02-15
Kreuzberg: مكتبة بايثون قوية لاستخراج النصوص من المستندات المحلية

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

LLM Debugger: تصحيح الأخطاء بمساعدة الذكاء الاصطناعي في VS Code

2025-02-15
LLM Debugger: تصحيح الأخطاء بمساعدة الذكاء الاصطناعي في VS Code

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

Nping: أداة Ping سريعة ومرئية مبنية بلغة Rust

2025-02-15
Nping: أداة Ping سريعة ومرئية مبنية بلغة Rust

Nping هي أداة Ping قوية مكتوبة بلغة Rust، توفر إمكانية إرسال Ping متزامن لعدة عناوين مع عرض مرئي للبيانات في الوقت الحقيقي وواجهة سهلة الاستخدام. تعرض المقاييس الرئيسية مثل أقصى تأخير، وأدنى تأخير، ومتوسط التأخير، ومعدل فقدان الحزم، وتدعم كل من IPv4 و IPv6. كما تحتوي Nping على أمر فرعي مضيف لعرض تفاصيل عنوان IP لاسماء النطاق، ويسمح بتخصيص عدد مرات إرسال Ping والفترة الزمنية بينها. تصميمها البديهي يجعلها أداة قيّمة لمسؤولي الشبكات والمطورين.

التطوير أداة شبكة

إلغاء استخدام Create React App: تبني أطر عمل React

2025-02-15
إلغاء استخدام Create React App: تبني أطر عمل React

أعلن فريق React أن Create React App (CRA) يدخل وضع الصيانة ولم يعد موصى به للمشاريع الجديدة. على الرغم من أن CRA بسّط إنشاء تطبيقات React، إلا أنه يواجه قيودًا في إنشاء تطبيقات إنتاجية عالية الأداء، حيث يفتقر إلى حلول مدمجة للتوجيه وجلب البيانات وتقسيم التعليمات البرمجية. يوصي الفريق بالترحيل إلى أطر عمل React راسخة مثل Next.js أو Remix، والتي توفر أداءً أفضل وتجربة تطوير محسّنة، بالإضافة إلى معالجة أوجه القصور في CRA. تتوفر أدلة الترحيل لتطبيقات CRA الحالية. كما يتم توفير وثائق لبناء إعدادات مخصصة باستخدام Vite أو Parcel للمستخدمين الذين لديهم احتياجات فريدة.

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

كون كوليفاس، مطور نواة لينكس البارز، يستقيل: رؤى حول تحديات لينكس لسطح المكتب

2025-02-15

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

التطوير تطوير النواة

وضع Emacs Org Mode لقوائم التحقق الآلية: التخلص من البرامج النصية من أجل الكفاءة

2025-02-15

يشارك الكاتب تجربته في استخدام Emacs Org Mode وإضافة org-checklist.el لإدارة سير العمل المتكرر. يفضل استخدام قوائم التحقق مع مربعات الاختيار بدلاً من البرامج النصية الآلية نظرًا لمرونة قوائم التحقق وسهولة تحديثها. تقوم إضافة org-checklist.el بإعادة تعيين مربعات الاختيار تلقائيًا في القائمة وتسجيل وقت التنفيذ. بالاقتران مع التحكم في الإصدار Git ، هذا يسمح بإدارة فعالة للمهام المتكررة ويمنع البيانات الزائدة.

التطوير

العثور على أفضل المطاعم في كولورادو سبرينغز باستخدام نماذج اللغات الكبيرة وواجهة برمجة تطبيقات أماكن جوجل

2025-02-15
العثور على أفضل المطاعم في كولورادو سبرينغز باستخدام نماذج اللغات الكبيرة وواجهة برمجة تطبيقات أماكن جوجل

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

دوّال التجزئة غير التشفيرية: التصميم والتقييم

2025-02-15

تتناول هذه المقالة بالتفصيل تصميم وتقييم دوال التجزئة غير التشفيرية. من خلال تحليل أداء دوال شائعة مثل FNV-1a و FNV-1 و Murmur2 و DJBX33A على مجموعات بيانات متنوعة (بما في ذلك الأسماء والكلمات وعناوين IP ومجموعة بيانات منحازة بشكل متعمد)، يكشف المؤلفون عن خصائص رئيسية مثل التجانس ومعدل التصادم وتأثير الانهيار الجليدي. تُظهر التجارب أن Murmur2 تتفوق في تأثير الانهيار الجليدي، لكنها ليست مثالية دائمًا من حيث التجانس. تؤكد المقالة على أهمية خصائص مجموعة البيانات عند اختيار دوال التجزئة المناسبة، وتطرح تساؤلات حول معايير التقييم الحالية، بحجة أن مقياسًا واحدًا (مثل تأثير الانهيار الجليدي) لا يكفي لتقييم أداء دوال التجزئة غير التشفيرية بشكل شامل.

التطوير دوّال التجزئة

البرمجة بمساعدة الذكاء الاصطناعي: زيادة الكفاءة وتحديات التوظيف

2025-02-15

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

التطوير

التطوير الذي يحركه نماذج اللغة الكبيرة: ثورة الحلقة المغلقة

2025-02-15
التطوير الذي يحركه نماذج اللغة الكبيرة: ثورة الحلقة المغلقة

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

(fly.io)

VimLM: مساعد ترميز مدعوم بنموذج لغة كبير محلي لـ Vim

2025-02-15
VimLM: مساعد ترميز مدعوم بنموذج لغة كبير محلي لـ Vim

VimLM هو مساعد ترميز لـ Vim مدعوم بنموذج لغة كبير محلي، مستوحى من GitHub Copilot. يدمج فهم السياق للرمز، والتلخيص، والمساعدة بالذكاء الاصطناعي مباشرة في سير عمل Vim الخاص بك. وهو مستقل عن النموذج، ويستخدم أي نموذج متوافق مع MLX، ويتميز بتجربة مستخدم Vim أصلية، ويعمل بشكل كامل دون اتصال لتعزيز الأمان. يتفاعل المستخدمون عبر اختصارات مفاتيح بديهية لمهام مثل تحويل الرمز، وتوليده، وتلخيصه، مستفيدين من فهم سياقي عميق يشمل الملف الحالي، والاختيارات، والملفات المرجعية، وهيكل المشروع.

التطوير مساعد ترميز

Yash: برنامج Shell جديد يهدف إلى تحقيق أقصى قدر من الامتثال لـ POSIX

2025-02-15
Yash: برنامج Shell جديد يهدف إلى تحقيق أقصى قدر من الامتثال لـ POSIX

Yash هو برنامج Shell لسطر الأوامر متوافق مع POSIX، مكتوب بلغة C99، ويهدف إلى تحقيق أقصى قدر من الامتثال لـ POSIX. يتميز بميزات مثل الأسماء المستعارة العامة، والمصفوفات، وطرق إعادة التوجيه المتعددة، وتوسيع الأقواس، وتهيئة التعبيرات المتقدمة، والحساب الكسري، وإكمال الأوامر، والتنبؤ بالأوامر. يتم صيانته على GitHub، ويتوافق Yash بشكل كبير مع POSIX.1-2008، ويتلقى تحديثات صيانة منتظمة. يعمل على بيئات POSIX المختلفة، ويتم اختباره بشكل أساسي على Fedora وmacOS وCygwin. بعد التثبيت، يمكن للمستخدمين تخصيص متغيرات البيئة، والأسماء المستعارة، والرسائل، والمزيد من خلال ملفات التكوين.

التطوير

طباعة آمنة وفعالة في Idris: بدون استخدام وحدات ماكرو

2025-02-14

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

ماثيكس: بيئة حسابية رياضية معيارية مع خيارات نشر متعددة

2025-02-14

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

التطوير حساب رياضي

lzbench: أداة قياس مفتوحة المصدر لمدمج ضغط البيانات

2025-02-14

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

تقرير تطوير نظام التشغيل هايکو لشهر يناير: تحسينات جوهرية وميزات جديدة

2025-02-14

يغطي تقرير تطوير نظام التشغيل هايکو لشهر يناير العديد من التحسينات، بما في ذلك إعادة هيكلة كبيرة لإدارة الملفات Tracker، مع إضافة قوائم السياق، ووظائف القطع والنسخ واللصق، وتحديث القوائم في الوقت الفعلي. وقد شهدت التطبيقات إضافة ميزات جديدة، مثل ميزات جديدة في محرر الرموز، وإعدادات لوحة اللمس، ومحرر النصوص المُنسّق. تم توسيع دعم برامج التشغيل ليشمل شرائح Alder Lake، ومراقبة درجة حرارة AMD، و Wacom CTH-470. ركزت التغييرات على مستوى النواة على تحسينات واسعة النطاق في إدارة الذاكرة، وتعيين الصفحات، والتحقق من الأذونات، مما عزز استقرار النظام وأمنه. تم إصلاح العديد من الأخطاء، وتم تحسين نظام البناء والوثائق.

عناصر البرمجة تعود إلى المؤلفين بعد 10 سنوات

2025-02-14

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

1 2 159 160 161 163 165 166 167 213 214