Category: التطوير

مستقبل تصميم لوحات المعلومات؟

2024-12-23
مستقبل تصميم لوحات المعلومات؟

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

JRuby و JBang: مزيج فعال (وإلى حد ما مؤقت)

2024-12-22

خلال عطلة عيد الميلاد، قام الكاتب بتجربة دمج JRuby و JBang للاستفادة من أداء JVM وإنتاجية Ruby. على الرغم من أن JBang لا يدعم JRuby رسميًا، إلا أنه تم استخدام حل ذكي باستخدام إدارة التبعيات الخاصة بـ JBang و ProcessBuilder من Java. والنتيجة؟ تطبيق JRuby وظيفي يتضمن Javalin و JDBI و SLF4J و ruby-jwt، مما يحقق عمليات CRUD على قاعدة بيانات SQLite مع مصادقة JWT. يوضح هذا الاختراق إمكانية دمج JRuby مع مكتبات نظام Java البيئي، مع التحقق من الأداء من خلال Apache Benchmark.

التطوير

الدروس المستفادة من تطوير البرمجيات على المدى الطويل

2024-12-22
الدروس المستفادة من تطوير البرمجيات على المدى الطويل

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

إثبات أن مشكلة التجزئة هي مشكلة NP كاملة، مما يضاعف تحديات ضغط البيانات

2024-12-22
إثبات أن مشكلة التجزئة هي مشكلة NP كاملة، مما يضاعف تحديات ضغط البيانات

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

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

2024-12-22
مديرو المنتجات في عصر الذكاء الاصطناعي: أدوات جديدة، نفس المبادئ الأساسية

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

ميتا تحارب البريد العشوائي على نطاق واسع باستخدام هاسكيل

2024-12-22
ميتا تحارب البريد العشوائي على نطاق واسع باستخدام هاسكيل

خضع نظام سيجما التابع لميتا، وهو سلاح أساسي في مكافحة البريد العشوائي والبرامج الضارة، لإعادة تصميم شاملة استمرت عامين. تم إعادة كتابة النظام بلغة هاسكيل، وهو خيار غير شائع لأنظمة الإنتاج واسعة النطاق، ليصل إلى أكثر من مليون طلب في الثانية. وقد استفادت عملية التحويل إلى هاسكيل من طبيعتها الوظيفية النقية والنوعية القوية، كما أتاحت إطار عمل هاكسيل معالجة البيانات الضخمة والمتزامنة بشكل تلقائي. وقد لوحظت تحسينات في الأداء بنسبة تتراوح بين 20% و30% مقارنة بالنظام السابق القائم على FXL. كما تضمن المشروع مساهمات كبيرة في مُجمِّع GHC، مما أدى إلى حل العديد من الأخطاء.

مشروع مفتوح المصدر على جيثب: epub-tts يحول الكتب الإلكترونية إلى صوت

2024-12-22
مشروع مفتوح المصدر على جيثب: epub-tts يحول الكتب الإلكترونية إلى صوت

مشروع مفتوح المصدر على جيثب اسمه epub-tts يحول الكتب الإلكترونية بصيغة EPUB إلى ملفات صوتية. مكتوب بلغة Go، ويعتمد على ffmpeg وأمر `say` في نظام MacOS لتحليل ملف EPUB إلى أقسام (فصول) وتحويل كل قسم إلى ملف صوتي. يعتبر هذا الإصدار حاليًا إصدارًا تجريبيًا (alpha)، ويوفر بديلاً بسيطًا عندما تكون العينان متعبتان ولكن العقل لا يزال نشطًا. الخطط المستقبلية تتضمن تحسين الكود، والتحويل الضخم، وتقليل حجم ملفات الصوت، ودعم المزيد من اللغات.

twtxt: خدمة مايكروبيلوجينج لامركزية وبسيطة للغاية

2024-12-22

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

مرشحات بلوم: سر جعل SQLite أسرع بعشرة أضعاف

2024-12-22

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

(avi.im)

Jujutsu: نظام تحكم بالإصدارات ثوري

2024-12-22

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

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

2024-12-22

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

إصدار بيتا من Fish Shell 4.0b1: إعادة كتابة الشفرة الأساسية بلغة Rust، وتحسينات رئيسية متضمنة

2024-12-22
إصدار بيتا من Fish Shell 4.0b1: إعادة كتابة الشفرة الأساسية بلغة Rust، وتحسينات رئيسية متضمنة

تم إصدار النسخة التجريبية بيتا من Fish Shell 4.0b1! النقاط الرئيسية في هذا الإصدار هي نقل الشفرة الأساسية من C++ إلى Rust، مما أدى إلى تحسينات كبيرة في الأداء والميزات. وتتضمن العديد من التحسينات الأخرى، مثل دعم المحطة المحسّن، وقدرات الربط المحسّنة، وميزات البرمجة النصية المحسّنة، وتجربة تفاعلية أفضل. من الجدير بالذكر بعض التغييرات غير المتوافقة مع الإصدارات السابقة، مثل ترميز المفاتيح الجديد للربط، وتمكين ميزة qmark-noglob بشكل افتراضي. بشكل عام، هذا إصدار مهم يوفر للمستخدمين تجربة قشرة أكثر قوة وكفاءة.

التطوير

Notion: مساحة العمل الشاملة الخاصة بك

2024-12-22
Notion: مساحة العمل الشاملة الخاصة بك

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

cURL و libcurl يتخليان عن Hyper

2024-12-22
cURL و libcurl يتخليان عن Hyper

بعد أربع سنوات من التجربة، أعلن مشروع cURL أنه يتخلى عن استخدام مكتبة Hyper القائمة على Rust كخلفية لـ HTTP. على الرغم من مزايا Hyper في مجال سلامة الذاكرة ودعم Let's Encrypt، إلا أن نقص الطلب من المستخدمين ومشاركة المطورين أدى إلى إنهاء المشروع. ذكر فريق cURL التكلفة العالية للحفاظ على رمز Hyper والتركيز على تحسين وصيانة قاعدة التعليمات البرمجية الحالية. وعلى الرغم من فشل التجربة، إلا أن cURL اكتسب خبرة قيّمة وحسّن من قدراته في معالجة HTTP.

التطوير

قارئات التغذية العنيدة تُسقط موقع الويب

2024-12-22

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

بحث جديد من تأليف تاو: دراسة متعمقة لتوزيع القيم الذاتية لـ GUE وقصرها

2024-12-22
بحث جديد من تأليف تاو: دراسة متعمقة لتوزيع القيم الذاتية لـ GUE وقصرها

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

اقتراح EIP لإشارة ترقية السلسلة في إثيريوم: إجماع المجتمع يقود الترقيات

2024-12-22
اقتراح EIP لإشارة ترقية السلسلة في إثيريوم: إجماع المجتمع يقود الترقيات

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

تقليل استهلاك بطارية الواي فاي في مشاريع إنترنت الأشياء

2024-12-22
تقليل استهلاك بطارية الواي فاي في مشاريع إنترنت الأشياء

في المراحل المبكرة من تطوير PetDrifts، وهو جهاز إنترنت أشياء يستند إلى ESP32 C3، كانت عمر البطارية تحديًا كبيرًا، حيث استمرت ليوم واحد فقط. تم تحديد سبب المشكلة في استهلاك الطاقة العالي أثناء طلبات HTTP POST كل 15 دقيقة. للتعامل مع هذه المشكلة، استكشف الفريق حلين: التبديل من TCP إلى UDP لتقليل عبء الشبكة، واعتماد MQTT للاتصالات الدائمة وانخفاض استهلاك الطاقة. على الرغم من ملاحظة التحسينات، إلا أن عمر البطارية لم يكن كافيًا. في النهاية، اختاروا وحدة تحكم دقيقة تعمل بتقنية Bluetooth للحصول على عمر بطارية أطول بكثير.

مخزن قيمة مفتاح مدعوم بـ SQLite: معالجة كائنات تشبه JS والتحويل التسلسلي التلقائي لـ JSON

2024-12-22
مخزن قيمة مفتاح مدعوم بـ SQLite: معالجة كائنات تشبه JS والتحويل التسلسلي التلقائي لـ JSON

يقدم مشروع على GitHub مخزن قيمة مفتاح مبني على SQLite، مما يسمح بمعالجة كائنات مشابهة لـ JavaScript مع تحويل تسلسلي تلقائي لـ JSON. تُنشئ دالة `createDatabaseClient` عميلاً موازيًا بمكونات قارئ (`rdr`) وكاتب (`wtr`) منفصلين. يستخدم الكاتب وكلاءً للتحديثات الجزئية لـ JSON، بينما يُعيد القارئ كائنات JavaScript بسيطة. تغطي الاختبارات الشاملة عمليات CRUD الأساسية، والتحديثات المتداخلة، والحذف، ومعالجة المصفوفات.

مدير الصفحة الرئيسية لـ Nix: دليل لإدارة ملفات dotfiles

2024-12-22

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

التطوير

فشل بناء GCC: لغز تصحيح أخطاء ناتج عن إعادة هيكلة sbuild

2024-12-22

بدأت عمليات بناء Debian GCC الرسمية في الفشل بشكل غامض بعد إعادة هيكلة sbuild. قام فريق عمل بإجراء تحقيق من ست مراحل، وكشف في النهاية عن صراع بين نظام التهيئة الجديد لـ sbuild واختبار وحدة بلغة D. أنهى الاختبار عن طريق الخطأ مجموعته الخاصة من العمليات، مما تسبب في توقف عملية البناء. كان السبب الرئيسي هو استخدام -2 كقيمة PID خاصة في اختبار وحدة لغة D، مما أدى إلى إرسال إشارات SIGTERM إلى مجموعة العمليات الخاطئة. أدى التبديل إلى نظام التهيئة القديم أو تعديل رمز الاختبار إلى حل المشكلة.

التطوير

إرث NeXT الدائم في OS X و iOS

2024-12-22
إرث NeXT الدائم في OS X و iOS

تتناول هذه المقالة التأثير العميق لشركة NeXT ونظام تشغيلها NeXTSTEP على نظامي OS X و iOS من أبل. لقد قدمت أساسيات يونكس في NeXTSTEP ميزات أساسية مثل الذاكرة المحمية، والتشغيل المتعدد الاستباقي، وعمليات الخلفية، مما أدى إلى تحسين الاستقرار والكفاءة. كما قدمت لغة البرمجة Objective-C وإطار عمل Cocoa، مما يبسط تطوير البرامج ويؤدي إلى أدوات قوية مثل Interface Builder. علاوة على ذلك، فقد وضعت تقنية Display PostScript من NeXTSTEP الأساس لنظام الرسومات Quartz في OS X. لا تزال هذه التقنيات تشكل جوهر أجهزة أبل اليوم، مما يبرز مساهمة NeXT الكبيرة في الحوسبة الحديثة.

التطوير

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

2024-12-22
الانتشار البطيء يولد الاجتماعات: حجة السببية العكسية

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

تحسين معالجة الأخطاء في F#: تقديم FaultReport

2024-12-22

ينتقد هذا المقال أوجه القصور في نوع Result في F# في معالجة الأخطاء، ويسلط الضوء على عدم الاتساق في أنواع الأخطاء والمشاكل الناتجة عن استخدام السلاسل النصية كأنواع أخطاء. يقترح الكاتب FaultReport كبديل، باستخدام واجهة IFault لتوحيد أنواع الأخطاء ونوع Report<'Pass', 'Fail> لتمثيل نتائج العملية، حيث يجب أن يطبق 'Fail واجهة IFault. هذا يضمن معالجة أخطاء متسقة وآمنة من حيث النوع، وتجنب عيوب الأخطاء القائمة على السلاسل النصية. يوفر FaultReport أيضًا Report.generalize للترقية الصاعدة وأنماطًا فعالة FailAs للترقية الهابطة، مما يسهل التعامل مع أنواع الأخطاء المختلفة. على الرغم من أن استبدال Result في FSharp.Core مهمة كبيرة، إلا أن الكاتب يجادل بأن تصميم FaultReport يمثل تحسينًا قيّمًا لمعالجة الأخطاء في F#.

التطوير

مساعد جيثب: استكشف مستودعات جيثب بلغة طبيعية

2024-12-22
مساعد جيثب: استكشف مستودعات جيثب بلغة طبيعية

مساعد جيثب هو مشروع إثبات مفهوم يسمح للمستخدمين باستكشاف مستودعات جيثب باستخدام أسئلة بلغة طبيعية. تم إنشاؤه باستخدام Relta و assistant-ui، يسمح للمستخدمين بطرح الأسئلة باللغة العربية البسيطة والحصول على معلومات ذات صلة بالمستودع. وحدة Relta الفرعية مغلقة المصدر حاليًا، ولكنها متاحة عند الطلب. يتطلب Python 3.9+ و npm و Git، وتكوين مفتاح API OpenAI و URI اتصال قاعدة البيانات.

منشئ Rosetta 2 ينضم إلى Lean FRO لتحسين مُولّد التعليمات البرمجية

2024-12-22
منشئ Rosetta 2 ينضم إلى Lean FRO لتحسين مُولّد التعليمات البرمجية

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

ثورة في سير العمل: قوة سجل التغييرات العام

2024-12-22

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

حالة غريبة من بطء استيراد USD في Blender

2024-12-22
حالة غريبة من بطء استيراد USD في Blender

واجه مطور مشكلة في بطء استيراد مشاهد USD في برنامج Blender بشكل غير متوقع. أظهر تحليل الأداء أن المشكلة تكمن في دالة الفرز الداخلية لـ IDs في Blender، وهي `id_sort_by_name`. كان من المتوقع أن تكون هذه الدالة ذات تعقيد O(N)، لكنها تدهورت إلى O(N²) بسبب طريقة تسمية الملفات في USD. قام المطور بتعديل اتفاقية التسمية وتحسين خوارزمية الفرز، مما قلل من أوقات الاستيراد من 4 دقائق و40 ثانية إلى 8 ثوانٍ للملفات الأصغر. ومع ذلك، فإن المشكلة الأساسية نابعة من شرط Blender بفرز IDs، مما أدى إلى اقتراحات لاستبدال القائمة المرتبطة بشجرة Trie أو جدول هاش. تبرز هذه العملية تحديًا شائعًا في تحسين الأداء: وهو تحديد ومعالجة التعقيد غير المتوقع.

التطوير

cqd: أداة مساعدة Python ملونة لفحص سمات الكائن

2024-12-22
cqd: أداة مساعدة Python ملونة لفحص سمات الكائن

cqd هي أداة مساعدة خفيفة الوزن بلغة Python توفر عرضًا ملونًا لسمات الكائن، مما يبسط فحص الكائنات أثناء التطوير و تصحيح الأخطاء. تقوم بتلوين السمات حسب الألوان: أساليب dunder (زرقاء)، سمات محمية (صفراء)، وسمات/أساليب عامة (خضراء). على سبيل المثال، إنها مفيدة لعرض سمات مُمَيِّز Hugging Face بسهولة. التثبيت سهل عبر `pip install cqd`. الاستخدام يتضمن استيراد دالة `cqd` و استدعاء `cqd(your_object).

JEP 483 من Java: تحميل وربط الفئات مسبقًا يعزز وقت بدء التشغيل

2024-12-22

يعزز JEP 483 بشكل كبير من وقت بدء تشغيل تطبيقات Java من خلال تحميل وربط فئات التطبيق مسبقًا عند بدء تشغيل JVM HotSpot. يتم تحقيق ذلك من خلال مراقبة تشغيل تطبيق واحد، وتخزين الأشكال المحملة والمربوطة لجميع الفئات في ذاكرة تخزين مؤقت لإعادة استخدامها في التشغيلات اللاحقة. لا تتطلب هذه الميزة أي تغييرات في التعليمات البرمجية، وتوفر تحسينات كبيرة في السرعة لتطبيقات الخادم الكبيرة، حيث يُظهر Spring PetClinic انخفاضًا بنسبة 42% في وقت بدء التشغيل. على الرغم من أنه عملية من خطوتين حاليًا، إلا أن الإصدارات المستقبلية ستُحسّن عملية إنشاء ذاكرة التخزين المؤقت إلى خطوة واحدة، وستوفر تكوينًا أكثر مرونة لتشغيل التدريب.

التطوير
1 2 202 203 204 206 208 209 210 213 214