Category: التطوير

الأنواع: أساس تصميم البرمجيات

2025-01-03
الأنواع: أساس تصميم البرمجيات

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

قياس أداء توليد مفاتيح RSA: معركة ضد الاحتمالات

2025-01-03
قياس أداء توليد مفاتيح RSA: معركة ضد الاحتمالات

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

CoinTracker توظف مهندس منتجات كامل المكدس

2025-01-03
CoinTracker توظف مهندس منتجات كامل المكدس

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

هل يمكن أن تكتب نماذج اللغات الكبيرة (LLMs) رمزًا أفضل إذا استمررت في مطالبتها بـ "كتابة رمز أفضل"؟

2025-01-03
هل يمكن أن تكتب نماذج اللغات الكبيرة (LLMs) رمزًا أفضل إذا استمررت في مطالبتها بـ

تتناول هذه المدونة تجربةً لاستكشاف ما إذا كانت المطالبة المتكررة بنموذج لغة كبير (LLM) بـ "كتابة رمز أفضل" تُحسّن من جودة الرمز. باستخدام Claude 3.5 Sonnet، يبدأ الكاتب بمشكلة ترميز Python بسيطة ويطلب من LLM بشكل متكرر. يتحسن الأداء بشكل كبير، ويصل إلى تسريع 100 مرة. ومع ذلك، تؤدي المطالبات المتكررة البسيطة إلى هندسة زائدة. تُنتج هندسة المطالبات الدقيقة رمزًا أكثر كفاءة بكثير. تُظهر التجربة أن LLMs يمكن أن تساعد في تحسين الرمز، لكن التدخل البشري والخبرة لا تزالان ضروريتين للجودة والكفاءة.

إعادة كتابة التعليمات البرمجية: عصا سحرية مقابل التحسين التدريجي

2025-01-03

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

Gource: عرض مخزن الاكواد الخاص بك برسوم متحركة مذهلة

2025-01-03
Gource: عرض مخزن الاكواد الخاص بك برسوم متحركة مذهلة

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

تحكم في جهاز Roku الخاص بك باستخدام الإيماءات: مشروع Python و MediaPipe

2025-01-03
تحكم في جهاز Roku الخاص بك باستخدام الإيماءات: مشروع Python و MediaPipe

يسمح لك HandiRokuRemote بالتحكم في جهاز Roku الخاص بك باستخدام إيماءات اليد! يستخدم هذا المشروع بلغة Python تقنية MediaPipe من جوجل لتتبع اليد في الوقت الفعلي، وترجمة الإيماءات إلى أوامر تُرسل إلى جهاز Roku عبر بروتوكول التحكم الخارجي (ECP). تتميز الواجهة سهلة الاستخدام باكتشاف الأجهزة تلقائيًا، وإعدادات قابلة للتخصيص (وضع التصحيح، التشغيل التلقائي، عرض الهيكل العظمي)، ومجموعة من الإيماءات المدعومة للتنقل والتحكم في الوسائط. على الرغم من وجود قيود حالية تتعلق بمسافة اكتشاف اليد، إلا أن التطوير في المستقبل يهدف إلى توسيع التوافق مع أجهزة التلفزيون الذكية الأخرى والأجهزة التي تدعم HDMI-CEC.

التطوير

Kuvasz-streamer: أداة CDC عالية الأداء لـ PostgreSQL

2025-01-03

Kuvasz-streamer هو مشروع مفتوح المصدر لالتقاط بيانات التغيير (CDC) مصمم خصيصًا لقاعدة بيانات PostgreSQL. إنه مدمج بشكل وثيق مع ميزة النسخ المتماثل المنطقي في PostgreSQL، مما يوفر نسخًا متماثلًا عالي الأداء ومنخفض التأخير. تتميز بميزات مثل التصميم الخفيف (Go، بدون تبعيات)، وسرعة معالجة عالية (10000 TPS، تأخير أقل من ثانية واحدة)، وإدارة تلقائية للمنشورات وفتحات النسخ، ونماذج مرنة لنشر الجداول (نسخ، تاريخي، إضافة فقط)، ودعم الوضعين الإعلاني والتفاعلي. تغطي حالات الاستخدام دمج البيانات، وترقيات قواعد البيانات، ودمج قواعد بيانات الخدمات الدقيقة، ودمج قواعد البيانات متعددة المستأجرين، وتحسين أداء قواعد البيانات.

التطوير نسخ البيانات

كن مالكًا وليس مستأجرًا على الإنترنت

2025-01-03
كن مالكًا وليس مستأجرًا على الإنترنت

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

تبرعات رائعة: قائمة مختارة من مشاريع البرمجيات الحرة والمفتوحة المصدر (FLOSS) لدعمها

2025-01-03
تبرعات رائعة: قائمة مختارة من مشاريع البرمجيات الحرة والمفتوحة المصدر (FLOSS) لدعمها

مستودع جيثب هذا، awesome-donations، عبارة عن قائمة مختارة من خيارات التبرع للعديد من مشاريع البرمجيات الحرة والمفتوحة المصدر (FLOSS). يوفر إمكانية سهلة لدعم المشاريع بدءًا من المؤسسات الكبيرة مثل مؤسسة لينكس ومؤسسة موزيلا وصولًا إلى مشاريع فردية مثل LibreOffice وGIMP وQEMU. سواءً كنت تفضل باي بال أو بطاقات الائتمان أو طرقًا أخرى، يمكنك المساهمة بسهولة في مجتمع المصدر المفتوح والمساعدة في ضمان التطوير المستمر للبرمجيات الحرة الأساسية.

التطوير تبرعات

تحسين أداء JSON في روبي: قصة تخصيص المكدس ودمج الكود

2025-01-02

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

التطوير

مقابلة البرمجة السحرية: قصة برولوج، ليسب، وµكانرن

2025-01-02

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

ما وراء RAG: بناء نظام لإدارة المعرفة يعزز بدلاً من استبدال الفكر

2025-01-02
ما وراء RAG: بناء نظام لإدارة المعرفة يعزز بدلاً من استبدال الفكر

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

التطوير

قائمة مرجعية لترقية Go: الدروس المستفادة من ترقية أكثر من 150 خدمة

2025-01-02
قائمة مرجعية لترقية Go: الدروس المستفادة من ترقية أكثر من 150 خدمة

تتناول هذه التدوينة تجربة ترقية أكثر من 150 خدمة Go من الإصدار 1.17 إلى 1.20 في شركة Lyft. يؤكد الكاتب على أهمية التخطيط الدقيق ويحدد عملية خطوة بخطوة تتضمن قراءة ملاحظات الإصدار، والتحقق من الأدوات، وتشغيل اختبارات الوحدة، وتحليل جودة الكود. الآلية هي المفتاح، مع الاستفادة من خطوط أنابيب البناء وCI/CD والانتشار الموجودة. أنهت Lyft الترقية في غضون 3-4 أسابيع مع حد أدنى من مشاكل الإنتاج. كما تتناول التدوينة العقبات المحتملة، مثل دعم أداة التحقق من الأخطاء، والتغييرات في خوارزميات الفرز، ومعالجة الوظائف المُهملة، مع تسليط الضوء على أهمية خطة الرجوع للخلف.

التطوير ترقية Go

مرحباً بالعالم! : تم تصغيره إلى 167 بايت

2025-01-02
مرحباً بالعالم! : تم تصغيره إلى 167 بايت

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

قواعد كتابة دروس تعليمية رائعة للبرامج

2025-01-02
قواعد كتابة دروس تعليمية رائعة للبرامج

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

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

2025-01-02
Notion: مساحة العمل الشاملة الخاصة بك

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

التطوير

تجربة لمدة 7 أيام: تقويم ذكاء اصطناعي شخصي مع تكامل ChatGPT

2025-01-02

يبحث تقويم ذكاء اصطناعي شخصي مدمج مع ChatGPT عن 20 مختبرًا لإجراء تجربة مدتها 7 أيام (3 أيام كحد أدنى). تساعد هذه الأداة في تخطيط المهام مسبقًا، وتوفر استجابات مخصصة تعمل بالذكاء الاصطناعي في اليوم المجدول لبدء الإبداع والتغلب على العقبات. يمكن للمستخدمين صقل استجابات الذكاء الاصطناعي من خلال وظيفة "بدء الدردشة". تقتصر التجربة على 10 رسائل لكل جلسة و 100 كلمة لكل رسالة مستخدم. احفظ الرابط؛ دعوة Discord للاستخدام مرة واحدة. أهلاً بكم في التعليقات على الميزات وواجهة المستخدم. البريد الإلكتروني الوهمي مقبول.

الآليات الداخلية لتبديل سياق لينكس: حالة العملية والذاكرة

2025-01-02
الآليات الداخلية لتبديل سياق لينكس: حالة العملية والذاكرة

تتناول هذه المقالة بالتفصيل كيفية تمثيل نواة لينكس للعمليات وحالاتها، مع التركيز على بنيتي البيانات الأساسيتين: task_struct و mm_struct. تدير task_struct حالة التنفيذ، بما في ذلك حالة العملية، وتتبع وقت وحدة المعالجة المركزية، ومعلومات الجدولة. يدير mm_struct حالة الذاكرة، بما في ذلك جداول الصفحات، وحدود مقاطع الذاكرة، والتفاصيل المحددة بالهندسة المعمارية. تشرح المقالة بالتفصيل حقول هذه البنيات وأدوارها في تبديل السياق، مما يوفر فهماً عميقاً لآليات عمل نواة لينكس الداخلية.

Connet: وكيل عكسي من نظير إلى نظير مع اختراق NAT

2025-01-02
Connet: وكيل عكسي من نظير إلى نظير مع اختراق NAT

Connet هو وكيل عكسي من نظير إلى نظير لاختراق NAT، مستوحى من ngrok و frp و rathole. يسمح لك بنشر الخدمات المحلية إلى أجهزة أخرى على الإنترنت دون الحاجة إلى عنوان IP عام. على عكس أسلافه، تعمل عملاء Connet على كل من مزود الخدمة (الوجهة) ومُطلب الخدمة (المصدر)، مما يضمن اتصالًا خاصًا وفعالًا. في مرحلة ألفا حاليًا، يدعم Connet الاتصالات المباشرة واتصالات خادم التتابع، مشفرًا جميع الاتصالات باستخدام TLS.

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

حل مشكلة تأخر الواي فاي الغامضة: لقد كان Qt5!

2025-01-02

لثمانية أشهر، كافح الكاتب مع ارتفاعات متقطعة في تأخر الواي فاي تزيد عن 2000 مللي ثانية، مما جعل الألعاب ومكالمات الفيديو مستحيلة. محولات شبكة جديدة، إعادة تثبيت نظام التشغيل - لم ينجح شيء. الجاني؟ MediBang Paint Pro، باستخدام Qt5 (<5.14). يقوم QNetworkAccessManager الخاص به بالتحقق باستمرار من تغييرات واجهة الواي فاي، مما يتسبب في تأخير هائل. الحل؟ تعيين متغير البيئة QT_BEARER_POLL_TIMEOUT على -1.

PostgreSQL 18 سيدعم UUIDv7: نهاية مشاكل فرز معرفات الاختبارات

2025-01-02

ستضيف PostgreSQL دعم UUIDv7 في الإصدار 18. هذه الطريقة المحسّنة لإنشاء UUID تحافظ على مزايا عشوائية UUIDv4 مع ضمان زيادة معرفات بشكل رتيب داخل خادم قواعد بيانات Postgres واحد. يتم تحقيق ذلك من خلال دمج طابع زمني وعداد 12 بت فرعيّ للملي ثانية. يتم تبسيط الاختبارات، حيث يتم فرز بيانات الاختبار تلقائيًا، مما يلغي الحاجة إلى الفرز اليدوي ويحسن من كفاءة الاختبارات وموثوقيتها. على الرغم من عدم ضمان الرتابة بين الخوادم، إلا أنها كافية لمعظم سيناريوهات الاختبار. من المقرر إطلاق هذا التحسين في أواخر عام 2025 مع PostgreSQL 18.

التطوير

HtmlSlice: أجزاء HTML قابلة لإعادة الاستخدام لـ Ruby

2025-01-02
HtmlSlice: أجزاء HTML قابلة لإعادة الاستخدام لـ Ruby

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

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

أداة بناء Mill JVM: ملفات JAR قابلة للتنفيذ مباشرةً

2025-01-02

تقوم أداة بناء Mill JVM بإنشاء ملفات JAR قابلة للتنفيذ مباشرةً، مما يلغي الحاجة إلى الأمر `java -jar`. يتم تحقيق ذلك عن طريق إضافة برنامج نصي shell إلى بداية ملف JAR، والذي بدوره يقوم باستدعاء بيئة تشغيل Java. تم تصميم هذا البرنامج النصي بذكاء ليكون متوافقًا مع أنظمة Unix و Windows، مما يسمح بالتنفيذ عبر الأنظمة الأساسية. تشرح المقالة بالتفصيل كيفية عمل ذلك، مستفيدة من طبيعة ملفات ZIP لربط برنامج نصي لإطلاق البرنامج مع محتويات ملف JAR لتنفيذ سلس. هذا يحسن بشكل كبير تكامل برامج Java في سير عمل سطر الأوامر.

التطوير أداة بناء

FineCodeX: تطبيق يتطلب تمكين جافا سكريبت

2025-01-02

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

التطوير

رسم الأشعة في عطلة نهاية الأسبوع: من الصفر إلى صور مذهلة

2025-01-02

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

محاكاة تعليمة FMAdd: غوص عميق في الأعداد العائمة 32 بت

2025-01-02

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

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

2025-01-02

كشفت دروببوكس عن إطار مسار عمل الهندسة الخاص بها، وهو دليل مصمم ليس كقائمة تحقق للترقية، بل كأداة لمساعدة المهندسين على فهم المسؤوليات والأثر في كل مستوى (مثل مهندس البرمجيات IC1 إلى IC7). وهو يحدد المسؤوليات الأساسية والمهارات الفنية، مع التركيز على الأثر التجاري كمعيار رئيسي. كل مستوى يحدد السلوكيات المتوقعة في ركائز النتائج، والتوجيه، والمواهب، والثقافة. يعمل المهندسون مع مدرائهم لتحديد الأهداف الفصلية، باستخدام الإطار لتوجيه تطورهم وخلق أثر دائم.

mitmproxy2swagger: هندسة عكسية تلقائية لواجهات برمجة التطبيقات REST

2025-01-02
mitmproxy2swagger: هندسة عكسية تلقائية لواجهات برمجة التطبيقات REST

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

التطوير

Zasper: بيئة تطوير متكاملة فائقة الأداء لعلوم البيانات

2025-01-02
Zasper: بيئة تطوير متكاملة فائقة الأداء لعلوم البيانات

Zasper هي بيئة تطوير متكاملة (IDE) جديدة تم إنشاؤها من البداية لعلوم البيانات، تتميز بالتزامن الضخم، وأقل مساحة ذاكرة، وسرعة استثنائية. وهي مناسبة تمامًا لتطبيقات البيانات من نوع REPL، حيث تعد دفاتر Jupyter مثالًا على ذلك. حاليًا، يتم دعم Zasper بشكل كامل على نظام Mac مع دعم محدود على نظام Linux. تُظهر المقاييس أنها تستهلك 75٪ أقل من ذاكرة الوصول العشوائي وحدة المعالجة المركزية من JupyterLab. تم إنشاؤها بواسطة Prasun Anand، وتهدف إلى أن تكون حلًا مجانيًا مفتوح المصدر يعمل محليًا، مع تعظيم قوة أجهزة الكمبيوتر الحديثة.

1 2 194 195 196 198 200 201 202 213 214