Category: التطوير

ts_zip: ضغط النص باستخدام نماذج اللغة الكبيرة

2024-12-30

أصدر فابريس بيلارد أداة جديدة لضغط النصوص تسمى ts_zip، والتي تستخدم نموذج لغة كبير RWKV 169M v4 لتحقيق نسب ضغط أعلى بكثير من الطرق التقليدية. على الرغم من أنها تتطلب وحدة معالجة الرسومات و 4 غيغابايت من ذاكرة الوصول العشوائي، وأن سرعتها أبطأ من ضواغط البيانات التقليدية (حتى 1 ميغابايت/ثانية على RTX 4090)، إلا أن ts_zip تُظهر ضغطًا مثيرًا للإعجاب للنصوص الإنجليزية ولغات أخرى، بما في ذلك الشيفرة المصدرية. يتم قياس نسبة الضغط بوحدات البت لكل بايت (bpb)، حيث تُظهر النتائج أداءً أفضل من xz على مجموعات البيانات مثل enwik8 و enwik9. يضمن التقييم الحتمي للنموذج فك ضغطًا ثابتًا عبر تكوينات الأجهزة والبرامج المختلفة.

التطوير ضغط النص

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

2024-12-30
اختراق في تقييم نماذج اللغة الكبيرة في توليد اختبارات الوحدة

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

إشعار اتصال داخلي لفريق Diaspora*

2024-12-30
إشعار اتصال داخلي لفريق Diaspora*

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

التطوير

SQLite: أسطورة قاعدة البيانات المذهلة

2024-12-30

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

(avi.im)
التطوير أسطورة

أداة جديدة لضغط الرسائل القصيرة: ts_sms

2024-12-30

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

التطوير

وحدات التنفيذ غالبًا ما تكون أنابيب

2024-12-30

تتناول هذه المدونة موضوع خط أنابيب وحدات التنفيذ في أنظمة المعالجة الدقيقة غير المرتبة. افترضت الكاتبة في البداية أن وحدات التنفيذ تبقى مشغولة حتى اكتمال عملية µop، لكنها استخدمت بنية Firestorm الدقيقة (A14 وM1) كمثال لإظهار أن وحدتي تنفيذ صحيح يمكنهما التعامل مع عمليات الضرب المتعددة في وقت واحد، حيث تستغرق كل منها ثلاثة دورات. من خلال مقارنة تسلسلات التعليمات التابعة والمستقلة، تكشف الكاتبة أن العديد من مجموعات وحدة التنفيذ/µop يتم خط أنابيبها بشكل كبير، مما يسمح بإصدار µop بينما تعالج الوحدة عمليات أخرى. هذا يقلل من وقت التنفيذ للتعليمات المستقلة من 6 دورات متوقعة إلى 4. وأخيرًا، تشرح الكاتبة سبب تحديد جداول زمن الوصول وعرض النطاق الترددي للتعليمات لمعدل الإنتاجية المتبادل - فهو يعادل دورات/تعليمة.

Panel Graphic Walker: استكشاف تفاعلي للبيانات باستخدام HoloViz Panel

2024-12-30
Panel Graphic Walker: استكشاف تفاعلي للبيانات باستخدام HoloViz Panel

Panel Graphic Walker هي مكتبة بايثون تجمع بين قوة Graphic Walker و HoloViz Panel لاستكشاف البيانات التفاعلي داخل Jupyter Notebooks وتطبيقات Panel. وهي توفر واجهة مشابهة لـ Tableau، مما يسمح للمستخدمين بإنشاء تصورات وجداول ديناميكية بسرعة باستخدام الحد الأدنى من التعليمات البرمجية. وتدعم العديد من خوادم البيانات وواجهات العرض، ويمكنها التعامل مع مجموعات البيانات الضخمة باستخدام الحوسبة من جانب الخادم. يُنصح بتثبيت إصدار محدد لأن المشروع لا يزال في مراحله الأولى.

Zig: أكثر أمانًا وسرعة من Rust غير الآمنة؟

2024-12-30
Zig: أكثر أمانًا وسرعة من Rust غير الآمنة؟

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

التطوير

curl يحصل على تحديث رئيسي: دعم قراءة الملفات الجزئية

2024-12-30
curl يحصل على تحديث رئيسي: دعم قراءة الملفات الجزئية

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

تحديث curl-impersonate: قدرات محسّنة على تقليد متصفحات الويب

2024-12-30
 تحديث curl-impersonate: قدرات محسّنة على تقليد متصفحات الويب

مشروع lexiforest/curl-impersonate هو فرع نشط من curl-impersonate، ويعزز قدرات تقليد متصفحات الويب ويدعم المزيد من الإصدارات وأهداف البناء. يُعدّل هذا المشروع curl ليحاكي سلوك متصفحات الويب الرئيسية (كروم، إيدج، سفاري، وفايرفوكس) أثناء عمليات المصافحة TLS و HTTP، متجاوزًا بذلك قيود مواقع الويب القائمة على بصمات الأصابع. تتضمن التحديثات دعم ECH، وضغط ZSTD، ومنحنى X25519Kyber768، بالإضافة إلى المزيد من إصدارات المتصفح، مما يوفر أدوات سطر أوامر ووظائف مكتبة محسّنة.

86Box: رحلة إلى الماضي مع بنية x86

2024-12-30
86Box: رحلة إلى الماضي مع بنية x86

86Box هو محاكي x86 منخفض المستوى يعمل على تشغيل أنظمة التشغيل والبرامج القديمة المصممة لأنظمة IBM PC والمتوافقة معها، من عام 1981 وحتى تصميمات الأنظمة الحديثة نسبيًا القائمة على ناقل PCI. يتميز بواجهة سهلة الاستخدام، محاكاة منخفضة المستوى للمعالجات القائمة على 8086 حتى Celeron من عصر Mendocino، مجموعة كبيرة من إمكانيات تخصيص الأجهزة الظاهرية، ودعم مجموعة متنوعة من الأجهزة الطرفية. يسمح بتشغيل MS-DOS، إصدارات قديمة من Windows، OS/2، توزيعات Linux متنوعة، وأنظمة قديمة مثل BeOS أو NEXTSTEP.

التطوير محاكي x86

MiceWine: تشغيل تطبيقات وألعاب Windows على Android

2024-12-30
MiceWine: تشغيل تطبيقات وألعاب Windows على Android

يهدف مشروع MiceWine إلى تشغيل تطبيقات وألعاب Windows على هواتف Android الذكية. يستخدم إصدارًا مُعدلاً من Wine مُجمّعًا لنظام Android و Box64 لتحقيق أفضل أداء ممكن. لا يزال قيد التطوير النشط، ويستخدم خادم X قائمًا على Termux-X11. يدعم إصدار Android 10 والإصدارات الأحدث. تدعم وحدات معالجة الرسومات Adreno 7xx و 6xx مع Turnip/Zink، بينما تحظى وحدات المعالجة الرسومية الأخرى بدعم جزئي مع native/Zink (تجريبي). Vulkan الأصلي على وحدات معالجة الرسومات غير Adreno تجريبي ويتطلب اختبارات.

التطوير تطبيقات Windows

التشبيه الهيدروليكي: عقبة في تعلم الإلكترونيات

2024-12-30
التشبيه الهيدروليكي: عقبة في تعلم الإلكترونيات

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

بايثون في عام 2024: أسرع، وأقوى، وأكثر شعبية من أي وقت مضى

2024-12-30
بايثون في عام 2024: أسرع، وأقوى، وأكثر شعبية من أي وقت مضى

في عام 2024، عززت بايثون مكانتها كواحدة من لغات البرمجة الرائدة. قدم بايثون 3.13 زيادة كبيرة في الأداء مع إصدار تجريبي "بدون GIL" ومُترجم JIT. أدت إزالة الوحدات القديمة إلى تبسيط اللغة، بينما لعب دورها المهم في الذكاء الاصطناعي، والتعلم الآلي، وعلم البيانات دورًا في زيادة شعبيتها إلى مستويات جديدة. تجاوزت بايثون جافا سكريبت من حيث الاستخدام على جيثب، وحققت نسبة رائعة بلغت 18٪ في مؤشر تيوب، مما عزز مكانتها بين اللغات الثلاث الرئيسية للبرمجة.

التطوير

إعادة تحميل تجريد لامدا في هاسكل: نهج أنيق لتصميم EDSL

2024-12-30
إعادة تحميل تجريد لامدا في هاسكل: نهج أنيق لتصميم EDSL

تقدم هذه المقالة طريقة جديدة لإعادة تحميل تجريد لامدا في هاسكل لبناء لغات مجال محددة مضمنة (EDSLs). من خلال استخدام نوع `Port` ووظائف `encode`/`decode` بذكاء، يترجم الكاتب وظائف هاسكل بشكل أنيق إلى تشكيلات داخل فئة مخصصة. ينتج عن هذا بناء جملة موجز وبديهي، متجنباً تعقيدات تجريدات السهم وترميز proc. يتطلب هذا النهج الحد الأدنى من رمز هاسكل، ولا يحتاج إلى برمجة تكوينية أو مكونات إضافية للمجمع. يوضح مثال DSL لنموذج تدفق تطبيق هذه الطريقة، بالإضافة إلى مناقشات حول منع التكرار ومعالجة الآثار الجانبية.

احتفال IOCCC بالذكرى الأربعين مع المسابقة الثامنة والعشرين

2024-12-30

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

التطوير مسابقة برمجة

مشاكل في البرمجة الشيئية في جوايل

2024-12-30

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

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

بناء محاكي حاسوب كامل بلغة C: من بوابة NAND إلى لعبة تتريس

2024-12-30
بناء محاكي حاسوب كامل بلغة C: من بوابة NAND إلى لعبة تتريس

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

Little Snitch: حامي أمن شبكة macOS الخاص بك

2024-12-30
Little Snitch: حامي أمن شبكة macOS الخاص بك

Little Snitch هو برنامج مراقبة الشبكة وجدار حماية للتطبيقات الشخصية لنظام macOS، يمنحك التحكم في التطبيقات التي تتصل بالإنترنت. ينبهك إلى كل محاولة اتصال، مما يتيح لك السماح بالوصول أو رفضه، مما يضمن أمان بياناتك. تشمل الميزات الوضع الصامت، و مخطط مرئي لحركة المرور، وإدارة قواعد مرنة، وتشفير DNS مدمج، وتحديد العمليات المشفرة لمكافحة البرامج الضارة. راقب وادير نشاط شبكة Mac الخاص بك بسهولة، وحافظ على خصوصيتك.

التطوير جدار الحماية

تسريع عملية دمج التغييرات المستمر (CI) مع Mill: استراتيجيات الاختبار الانتقائي

2024-12-30

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

مشكلة زومبوكوم: من "أي شيء" إلى "شيء محدد" في تطوير البرمجيات

2024-12-29
مشكلة زومبوكوم: من

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

Stripe تطلق API الإصدار الثاني بصمت: تحسينات REST وتغيير في تجربة المطور

2024-12-29

أطلقت Stripe API الإصدار الثاني بشكل سري في أكتوبر، مع تحويل هياكل طلبات البيانات من ترميز النماذج إلى JSON، وإضافة تصفح بأسلوب HATEOAS. ويهدف الإصدار الثاني إلى تحسين السرعة، والتحكم في تحميل الكيانات الفرعية من خلال معلمة `include`. كما تم محاولة تحقيق الاستدعاءات المتسقة للتعامل بشكل أفضل مع الطلبات الفاشلة. ومع ذلك، لا تزال هناك حاجة إلى تحسينات في استخدام أفعال REST و تصميم الموارد. ويجادل الكاتب بأن تجربة تطوير رائعة (DX) تعتمد الآن بشكل أكبر على مجموعات أدوات SDK عالية الجودة، بدلاً من API REST مثالية.

التطوير

تشغيل نماذج اللغات الكبيرة محليًا: دليل للمطورين

2024-12-29
تشغيل نماذج اللغات الكبيرة محليًا: دليل للمطورين

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

BSD kqueue: جبل من ديون التقنية

2024-12-29

تتناول هذه المقالة الاختلافات بين BSD kqueue و Linux epoll في برمجة الشبكات. يستخدم kqueue مرشحات الأحداث، مما يوفر وظائف قوية لكنها تفتقر إلى القدرة على التركيب، مما يؤدي إلى تراكم ديون التقنية. أما epoll، فيتعامل مباشرة مع مقابض نواة النظام، مما يوفر قدرة تركيب أكبر ويسمح بمراقبة مرنة لموارد نواة النظام المختلفة مثل المنافذ، ومسارات نظام الملفات، والعدادات الزمنية. يجادل الكاتب بأن تصميم epoll أفضل لأنه يتجنب مشكلة إضافة أنواع جديدة من مرشحات الأحداث إلى kqueue باستمرار.

التطوير برمجة الشبكات

امتداد راكت: تضمين الصور في التعليمات البرمجية المصدر

2024-12-29
امتداد راكت: تضمين الصور في التعليمات البرمجية المصدر

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

لماذا لا أستخدم تصميمًا قائمًا على المجال؟

2024-12-29

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

١٠ أدوات Django أساسية لتحسين الأداء والأمان والإنتاجية

2024-12-29

تستعرض هذه المقالة عشر أدوات أساسية لمشروع Django القادم، تغطي إدارة التبعيات، وتحديد ملفات الأداء، وأكثر من ذلك لتعزيز كفاءة التطوير، والأمان، والأداء. من Poetry لإدارة التبعيات إلى Silk لملفات الأداء، يتم شرح كل أداة — بما في ذلك Django Extensions و Django REST Framework و djangorestframework-camel-case و Django Storages و django-simple-history و django-otp و Celery و Gunicorn مع عمال Uvicorn — مع مقارنات لبدائل مثل Pipenv و FastAPI و django-reversion. تساعد هذه الأدوات في بناء تطبيقات Django أسرع وأكثر أمانًا وكفاءةً.

التطوير أدوات

SQLite3: بطل غير معروف في قواعد البيانات

2024-12-29

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

مشروع libsearch مفتوح المصدر على GitHub: بحث نصوص كامل بدون فهرسة لـ JavaScript

2024-12-29
مشروع libsearch مفتوح المصدر على GitHub: بحث نصوص كامل بدون فهرسة لـ JavaScript

libsearch هي مكتبة بحث نصوص كاملة مفتوحة المصدر بلغة JavaScript على GitHub تسمح بالبحث السريع عن النصوص دون الحاجة إلى فهرس مُبني مسبقًا. وهي تستفيد من محرك التعبيرات النمطية المُحسّن للغاية في محركات JavaScript الحديثة، حيث تُحوّل سلاسل الاستعلام إلى مرشحات تعبيرات نمطية للبحث، وتستخدم خوارزمية TF-IDF تقريبية للتصنيف. هذه المكتبة مناسبة للتطبيقات البسيطة التي لا تتطلب فهرسة معقدة، وهي مفيدة بشكل خاص لإنشاء النماذج الأولية السريعة وتطبيقات الويب الصغيرة.

انتقام المبرمجة: محنة تشغيل برنامج HelloWorld على نظام z/OS

2024-12-29
انتقام المبرمجة: محنة تشغيل برنامج HelloWorld على نظام z/OS

واجهت مبرمجة، كانت ذات يوم متجاهلةً للتفاعل مع نظام التشغيل أثناء دراستها للدراسات العليا، صعوباتٍ كبيرةً مع نظام z/OS من IBM بعد سنوات، وذلك من أجل كتابة مقالٍ على مدونة. يختلف نظام z/OS اختلافًا كبيرًا عن بيئات هندسة البرمجيات الحديثة، حيثُ قدّم العديد من التحديات من خلال واجهته النصية، ونصوص JCL، واتفاقيات التسمية الفريدة من IBM. يوضح المقالُ صعوباتها في إنشاء الملفات (مجموعات البيانات)، واستخدام محرر ISPF، وتخصيص مجموعات البيانات، والترجمة، والربط، والتحميل، ومعالجة الإخراج باستخدام SPOOL. كما يشارك المقالُ نصائح عمليةً ودروسًا مستفادةً، مما يُبرهن على التحديات التي تواجه العمل مع أنظمة التراث.

التطوير
1 2 197 198 199 201 203 204 205 213 214