Category: التطوير

arXivLabs: التعاون المجتمعي على ميزات arXiv الجديدة

2025-05-13
arXivLabs: التعاون المجتمعي على ميزات arXiv الجديدة

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

التطوير

Shader Minifier: السلاح السري وراء رسوم متحركة صغيرة ومذهلة في مشهد الديمو

2025-05-13
Shader Minifier: السلاح السري وراء رسوم متحركة صغيرة ومذهلة في مشهد الديمو

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

التطوير ضغط الرمز

سياسة العَرَض: فلسفة استخدام الكمبيوتر لدى مبرمج

2025-05-13

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

التطوير عادات البرمجة

الغوص في أعماق BEAM: أساسات Elixir

2025-05-12
الغوص في أعماق BEAM: أساسات Elixir

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

التطوير

بناء مساعدك الصوتي المحلي الخاص: عودة الميزة

2025-05-12
بناء مساعدك الصوتي المحلي الخاص: عودة الميزة

هل سئمت من الاعتماد على نماذج اللغات الضخمة (LLMs) السحابية؟ يقدم هذا البرنامج التعليمي المكون من 5 أجزاء تعليمات حول كيفية بناء مساعدك الصوتي المحلي الذي يفهم اللغة الطبيعية، وينفذ وظائف تطبيقك، ويحترم خصوصيتك. تعلم كيفية ضبط LLaMA 3.1 بدقة باستخدام LoRA، وإنشاء مجموعة بيانات لاستدعاء الوظائف، وتشغيل الاستدلال محليًا، ودمج إدخال/إخراج الصوت. يشدد المؤلف على أهمية مبادئ MLOps للذكاء الاصطناعي المحلي، ويوفر دليلًا عمليًا لبناء مساعد صوتي محلي قوي ومستدام.

التطوير

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

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

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

التطوير

بناء أساس متين لـ SOC 2: حل شامل

2025-05-12
بناء أساس متين لـ SOC 2: حل شامل

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

التطوير

Mergeable: صندوق بريد أفضل لطلبات السحب على GitHub

2025-05-12
Mergeable: صندوق بريد أفضل لطلبات السحب على GitHub

Mergeable هو تطبيق متصفح مصمم لتحسين إدارة طلبات السحب على GitHub. يسمح للمستخدمين بتنظيم طلبات السحب في أقسام باستخدام استعلامات بحث مرنة، ويخزن جميع البيانات محليًا في المتصفح، ويدعم اختصارات لوحة المفاتيح للتنقل السريع، ويتصل بعدة مثيلات GitHub (بما في ذلك GitHub Enterprise). والأهم من ذلك، أنه يبرز طلبات السحب التي تنتظر إجراءك، وكل ذلك بدون الحاجة إلى تثبيت أي تطبيق GitHub. جرب مثيلًا عامًا على https://app.usemergeable.dev أو قم بتثبيته بنفسك باستخدام الوثائق على https://www.usemergeable.dev.

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

٥ خطوات لمحاكاة الجسم N: برنامج تعليمي بلغة بايثون

2025-05-12

يساعد هذا البرنامج التعليمي المكون من سلسلة من الدروس المبتدئين على كتابة شفرة نظيفة وسريعة لمحاكاة الجاذبية N-body بلغة بايثون، مستوحاة من دورة "CFD Python: ١٢ خطوة إلى معادلات نافييه-ستوكس". توفر كل خطوة شرحًا تفصيليًا وكودًا كاملاً، مما يشجع القراء على إعادة كتابة الكود لفهم أفضل. حتى مع معرفة أساسية بلغة بايثون والحساب التفاضلي والتكاملي، يمكن للمبتدئين متابعة البرنامج. بعد الانتهاء، ستتمكن من إنشاء محاكاة N-body الخاصة بك واستكشاف مشاريع ذات صلة.

التطوير محاكاة الجسم N

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

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

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

التطوير

تمثيل الذاكرة بكفاءة باستخدام GADTs في OCaml

2025-05-12
تمثيل الذاكرة بكفاءة باستخدام GADTs في OCaml

تتناول هذه المقالة استخدام أنواع البيانات الجبرية المعممة (GADTs) في OCaml لتحسين تمثيل الذاكرة. يشرح الكاتب أولاً قيود تعدد الأشكال في OCaml، ولا سيما عدم كفاءة List.iter عند التعامل مع أنواع بيانات مختلفة بسبب التمثيل الموحد للذاكرة. تفشل محاولات إنشاء نوع `Compact_array` باستخدام المتغيرات العادية والأشياء بسبب مشاكل الاستنتاج النمطي وتخصيص الذاكرة. أخيرًا، باستخدام GADTs، ينشئ الكاتب بنجاح تمثيل ذاكرة مرنًا وفعالًا لمصفوفات أنواع البيانات المختلفة، مما يُظهر فائدة GADTs لما هو أبعد من كتابة المترجمات، خاصة في التطبيقات عالية الأداء التي تتطلب تحكمًا دقيقًا في الذاكرة.

التطوير

Nix: سلاسل توريد البرامج البرمجية الآمنة بشكل واضح

2025-05-12
Nix: سلاسل توريد البرامج البرمجية الآمنة بشكل واضح

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

التطوير

التغلب على زيادة التحميل على HN: أخبار تقنية شخصية تعمل بالذكاء الاصطناعي

2025-05-12
التغلب على زيادة التحميل على HN: أخبار تقنية شخصية تعمل بالذكاء الاصطناعي

كافح الكاتب، وهو مستخدم قديم لـ Hacker News، مع زيادة التحميل من المعلومات. لمكافحة ذلك، قام بإنشاء أداتين: Tobie، وهو روبوت تيليجرام يقدم منشورات HN مخصصة بناءً على الكلمات الرئيسية وعتبات التصويت؛ و HaNe، وهو امتداد لكروم يوفر روابط مؤرشفة للمقالات المدفوعة، ووصولاً سريعًا إلى مواضيع HN، وملخصات تعليقات من خلال الذكاء الاصطناعي. حسّنت هذه الأدوات كفاءة القراءة بشكل كبير، وخفضت وقت الشاشة، و خففت من قلق المعلومات.

التطوير

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

2025-05-12

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

التطوير تقنية الدمج

StarGuard: درجات الثقة لمستودعات GitHub

2025-05-12
StarGuard: درجات الثقة لمستودعات GitHub

StarGuard هي أداة سطر أوامر مصممة لاكتشاف حملات النجوم المزيفة، واختطاف التبعيات، وأعلام ترخيص الخطر، وغيرها من مؤشرات مخاطر البرمجيات المفتوحة المصدر على GitHub. من خلال تحليل النجوم، والتبعيات، والرخص، والمسؤولين عن الصيانة، والرمز، تولد درجة ثقة، مما يسمح لمديري التكنولوجيا، وفرق الأمن، وشركات رأس المال الاستثماري بتقييم مخاطر البرمجيات المفتوحة المصدر بسرعة. ينتج StarGuard تقارير بتنسيقات JSON و Markdown ونص عادي، بالإضافة إلى مخططات تاريخ النجوم وشعارات shields.io.

مسافات الأسماء في روبي: نظرة نقدية على التنفيذ المقترح

2025-05-12

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

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

2025-05-12

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

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

CoMaps: فرع مجتمعي من Organic Maps ينطلق بقوة

2025-05-12
CoMaps: فرع مجتمعي من Organic Maps ينطلق بقوة

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

kdlfmt: أداة قوية لتنسيق كود KDL

2025-05-12
kdlfmt: أداة قوية لتنسيق كود KDL

kdlfmt هي أداة سطر أوامر مبنية على Rust لتنسيق وثائق KDL (قائمة المفتاح والبيانات). التثبيت مرن، يدعم Cargo و Homebrew و npm وملفات ثنائية مُجمعة مسبقًا. توفر الأمر `format` للتنسيق، و `check` للتحقق من الصحة، و `completions` لإكمال shell التلقائي. تسمح ملفات `.kdlfmtignore` بالاستبعاد، والخيارات تسمح بتحديد إصدار KDL ومستوى السجل. سواءً من خلال إدخال الأنابيب أو معالجة الملفات، يقوم kdlfmt بتنسيق كود KDL بكفاءة لتحسين القابلية للقراءة والاتساق.

التطوير

إتقان عملية تجميع دارت: نظرة متعمقة على الأمر `dart compile`

2025-05-12
إتقان عملية تجميع دارت: نظرة متعمقة على الأمر `dart compile`

يوفر هذا الدليل نظرة عامة شاملة على الأمر `dart compile` في دارت، والذي يسمح بتجميع برامج دارت إلى منصات مُستهدفة مُختلفة. يُفصّل الدليل استخدام أوامر فرعية مثل `exe` (ملفات قابلة للتنفيذ بذاتها)، و`aot-snapshot` (وحدات AOT)، و`jit-snapshot` (وحدات JIT)، و`kernel` (وحدات محمولة)، و`js` (جاڤا سكريبت)، و`wasm` (ويب أسمبلي)، مُوضحاً وظائفها وخصائصها. يغطي الدليل عملية التجميع المُتداخل، وتوقيع التعليمات البرمجية، وتقنيات التحسين لتجميع الويب في بيئة الإنتاج، مما يُتيح فهماً كاملاً لعملية تجميع دارت.

التطوير

تحديث رئيسي من أرمبيان: دمج OpenMediaVault والمزيد

2025-05-12
تحديث رئيسي من أرمبيان: دمج OpenMediaVault والمزيد

يُقدم تحديث أرمبيان هذا الأسبوع تحسينات كبيرة في جميع المجالات. الجزء الأبرز هو دمج OpenMediaVault، مما يسمح للمستخدمين بتحويل أجهزة الكمبيوتر أحادية اللوحة المدعومة بسهولة إلى أجهزة تخزين متصلة بالشبكة (NAS). وتشمل التحسينات الأخرى إزالة مطالبة نقطة اتصال لاسلكية زائدة، وترقية برامج تحميل التشغيل على Orange Pi 5 Max وPocketBeagle2، وتحسين الأداء والاستقرار على منصة Rockchip64. كما يستمر أرمبيان في تحسين البنية التحتية، وتنظيف الرموز غير المستخدمة، والاستعداد لمبادرات الاختبارات المستقبلية.

مستودع PyPI: مجموعة اختبارات أسرع بنسبة 81٪ من خلال تحسينات بسيطة

2025-05-12
مستودع PyPI: مجموعة اختبارات أسرع بنسبة 81٪ من خلال تحسينات بسيطة

حسّنت Trail of Bits بشكل كبير أداء مجموعة اختبارات مستودع PyPI، حيث خفضت وقت التنفيذ من 163 ثانية إلى 30 ثانية، مع زيادة عدد الاختبارات من 3900 إلى أكثر من 4700. تم تحقيق هذه التحسينات التي بلغت نسبتها 81٪ من خلال عدة تحسينات رئيسية: موازاة تنفيذ الاختبارات باستخدام pytest-xdist، واستخدام sys.monitoring في Python 3.12 لقياس التغطية بكفاءة، وتحسين اكتشاف الاختبارات، وإزالة الاستيرادات غير الضرورية. هذه التقنيات قابلة للتطبيق بسهولة على العديد من مشاريع Python التي تعاني من مجموعات اختبارات بطيئة، مما يوفر مكاسب كبيرة في الأداء بتكلفة ضئيلة.

هندسة عكسية لمركز أمان Windows من Airbnb في سيول

2025-05-12

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

التطوير مركز أمان Windows

تصنيف لغات البرمجة: بايثون وراست وجافا سكريبت في المقدمة

2025-05-12

تصنيفات لغات البرمجة لشهر مايو جاهزة! تحتفظ بايثون بمكانتها الرائدة بفضل سهولة استخدامها وانتشارها الواسع، بينما تستمر راست في الصعود بفضل أدائها وميزاتها الأمنية. تظل جافا سكريبت قوة مهيمنة في تطوير الويب. من الأخبار المهمة لهذا الشهر ورشة عمل ++C حول التطوير المضمن الآمن والفعال، والإصدار المستقر من Kotlin Compose Multiplatform، وإصدار Python 3.14.0 beta 1. تختلف التصنيفات قليلاً بين المؤشرات المختلفة (PyPL، TIOBE، GitHub Pushes)، لكن بايثون وجافا سكريبت ولغات عائلة C تحتل باستمرار المراتب العليا، مما يعكس تأثيرها في مختلف المجالات.

التطوير التصنيفات

اختراق ساعتك من أجل التركيز: نص برمجي بسيط بلغة bash لتحسين التركيز

2025-05-12
اختراق ساعتك من أجل التركيز: نص برمجي بسيط بلغة bash لتحسين التركيز

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

بناء جامع قمامة من الصفر: رحلة تمتد لعشرين عامًا

2025-05-12

قام مبرمج لديه خبرة 20 عامًا، بعد دراسة خوارزمية جامع القمامة Immix، بتنفيذ جامع قمامة جديد لـ Guile Scheme. كان هدفه الأولي هو إنشاء واجهة إدارة ذاكرة عامة، لكنه انتهى به الأمر إلى تطوير جامع قمامة جديد يسمى Nofl، والذي يستخدم جدولًا جانبيًا من جامع قمامة mark-sweep لتخصيص مؤشر bump. كما يشارك المؤلف تجربته في تقديم بحثه إلى مؤتمر أكاديمي، بالإضافة إلى أفكاره حول البحث الأكاديمي والصناعة.

التطوير

toyDB: قاعدة بيانات SQL موزعة بلغة Rust لأغراض تعليمية

2025-05-11
toyDB: قاعدة بيانات SQL موزعة بلغة Rust لأغراض تعليمية

toyDB هي قاعدة بيانات SQL موزعة تم إنشاؤها من الصفر بلغة Rust كمشروع تعليمي. تهدف إلى توضيح بنية مفاهيم قواعد بيانات SQL الموزعة بطريقة بسيطة وسهلة الفهم، مع دعم معظم ميزات SQL الشائعة، بما في ذلك عمليات الانضمام، والعمليات الإجمالية، والمعاملات. على الرغم من أن الأداء والقابليّة للتوسّع ليسا من الأهداف الرئيسية، إلا أن هناك أداة قياس معيارية متضمنة لتقييم الأداء تحت مختلف أحمال العمل. تستخدم toyDB خوارزمية Raft لتحقيق الإجماع لإدارة مخزن مفتاح/قيمة معاملاتي، مع محرّك استعلام SQL مبني فوقه.

التطوير

حل معادلة إيكونال باستخدام طريقة المسح السريع في JAX

2025-05-11

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

Scraperr: استخراج بيانات الويب بدقة باستخدام XPath

2025-05-11
Scraperr: استخراج بيانات الويب بدقة باستخدام XPath

Scraperr هو تطبيق استخراج بيانات الويب ذاتي الاستضافة يستخدم مُحدِّدات XPath للاستخراج الدقيق للبيانات. يوفر واجهة نظيفة لإدارة مهام الاستخراج، وعرض النتائج، وتصدير البيانات بتنسيقات متعددة. تشمل الميزات إدارة قوائم الانتظار، ونسخ مواقع الويب، والرؤوس المخصصة، وتنزيل الوسائط، وتصور النتائج، وقنوات الإشعارات. تذكر احترام ملف robots.txt، وشروط الخدمة، وتنفيذ تحديد المعدل. استخدمه فقط على مواقع الويب التي تسمح صراحةً بالاستخراج.

التطوير

حماية المكتبات: طريق شائك نحو الأمان

2025-05-11
حماية المكتبات: طريق شائك نحو الأمان

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

التطوير
1 2 90 91 92 94 96 97 98 213 214