Category: التطوير

إضافة Grammarly تسبب خللًا في تصميم الموقع بسبب تعارض CSS

2025-03-29
إضافة Grammarly تسبب خللًا في تصميم الموقع بسبب تعارض CSS

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

التطوير تعارض CSS

غطسة عميقة: تتبع دعوة النظام `write()` في OpenBSD

2025-03-29

تتناول هذه المقالة بتعمق التنفيذ على مستوى منخفض لدعوة النظام `write()` في OpenBSD. بدءًا من دعوة `write()` في مساحة المستخدم، تتبع مسار البيانات عبر النواة، مُفصلة المسار الكامل من دعوة النظام إلى كتابة البيانات على قرص صلب NVMe. تكشف المقالة عن سلسلة من دعوات دالة النواة، بما في ذلك `mi_syscall`, `sys_write`, `dofilewritev`, `vn_write`, `ffs_write`, `uiomove`, `bdwrite`, `syncer`, `bwrite`, `ufs_strategy`, `spec_strategy`, `sdstrategy`، وأخيرًا برنامج تشغيل NVMe. تُوضح تحويل البيانات ونقلها عبر مستويات تجريد مختلفة، مُسلطة الضوء على تفاصيل تقنية رئيسية مثل آليات التخزين المؤقت ونقل DMA.

التطوير دعوة النظام

بناء محرك بحث مشفر متعدد المنصات: معالجة تحدي التخزين في المتصفح

2025-03-29
بناء محرك بحث مشفر متعدد المنصات: معالجة تحدي التخزين في المتصفح

يتناول هذا المقال العقبة الأولى في بناء محرك بحث مشفر متعدد المنصات: تخزين البيانات الآمن والفعال على جانب المتصفح. يقارن الكاتب بين LocalStorage و IndexedDB وواجهة برمجة التطبيقات لنظام الملفات، ويختار في النهاية واجهة برمجة التطبيقات لنظام الملفات لواجهتها الشبيهة بنظام الملفات، وأدائها الأفضل، واتساقها مع المنصات الأخرى. يفصل المقال استخدام Rust و web-sys للتفاعل مع واجهة برمجة التطبيقات لنظام الملفات، وينفذ طبقة تشفير AES-GCM للأمان. وأخيرًا، تم إنشاء سمة موحدة `File` لإدارة الملفات المشفرة وغير المشفرة.

تتبع تغييرات الكود باستخدام خطافات جيت: نهج قائم على البيانات للتنمية

2025-03-29

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

خادم لغة Postgres: مجموعة أدوات SQL قوية للمطورين

2025-03-29
خادم لغة Postgres: مجموعة أدوات SQL قوية للمطورين

يوفر هذا المشروع مجموعة أدوات شاملة لتطوير Postgres، مبنية على محلل Postgres الخاص (libpg_query) لضمان توافق بناء جملة بنسبة 100٪. باستخدام بنية عميل-خادم بتصميم مستقل عن النقل، فإنه يوفر الوصول عبر LSP و CLI و APIs HTTP و WebAssembly. تشمل الميزات الحالية الإكمال التلقائي، وتمييز بناء الجملة، والتحقق من النوع (باستخدام رؤى EXPLAIN)، ومدقق أخطاء. يركز التطوير المستقبلي على تحسين هذه الميزات الأساسية وبناء بنية تحتية قوية. الاستضافات مرحب بها!

التطوير

ما وراء البرمجة الشيئية: تطور التصنيف الفرعي في لغات البرمجة

2025-03-29

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

آلة BEAM الظاهرية في Elixir: الانتظار المشغول - تحسين أم إهدار للموارد؟

2025-03-29

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

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

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

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

التطوير

الاختبار بدون محاكاة: نهج جديد لاختبارات الوحدة

2025-03-29

تقدم هذه المقالة نهجًا جديدًا لاختبارات الوحدة يلغي الحاجة إلى المحاكاة (mocks) والجواسيس (spies)، مما يؤدي إلى اختبارات سريعة، وموثوقة، ويسهل صيانتها. تتضمن الفكرة الأساسية الجمع بين اختبارات تعتمد على الحالة (state-based testing) وتقنية بنية تحتية جديدة تسمى "Nullables". لا تُعد Nullables بدائل للاختبارات؛ بل هي أكواد إنتاجية مع مفتاح "إيقاف"، مما يسمح لاختبارات التشغيل دون الاعتماد على أنظمة خارجية أو حالة. بالرغم من أنها تتطلب تعديلات على أكواد الإنتاج، إلا أن هذا النهج يتجنب العديد من عيوب الأساليب التقليدية، مثل الاختبارات غير المستقرة وصعوبة إعادة الهيكلة، كما يوفر مكاسب كبيرة في الأداء. تشرح المقالة بالتفصيل الأنماط والتقنيات المعنية، بما في ذلك الاختبارات الضيقة (Narrow Tests) والاختبارات القائمة على الحالة (State-Based Tests) والاختبارات الاجتماعية المتداخلة (Overlapping Sociable Tests)، مع توفير أمثلة كافية من الأكواد وحالات استخدام متنوعة، مما يجعلها مثالية للمطورين للتعلم والتنفيذ.

التطوير

استضافة خادم TURN مفتوح المصدر مجاني تقريبًا على سحابة Oracle بنفسك

2025-03-28
استضافة خادم TURN مفتوح المصدر مجاني تقريبًا على سحابة Oracle بنفسك

يقدم هذا الدليل تفاصيل حول إعداد خادم TURN مفتوح المصدر مجاني تقريبًا على الطبقة المجانية من Oracle Cloud، كبديل لتنفيذ WebRTC الذي يعتمد على خدمات الجهات الخارجية. ويشرح الدليل خطوة بخطوة إنشاء الشبكات الفرعية، وقوائم الأمان، وتكوينات مثيلات، وتثبيت Nginx، وCertbot، وخادم PeerJS، وخادم Coturn. كما يغطي الدليل تكوين قواعد iptables واستخدام coturn-credential-api للتحقق من صحة الهوية، مما يوفر تحكمًا كاملاً في اتصال WebRTC، ويعزز الخصوصية والأمان من خلال تجنب الاعتماد على مقدمي الخدمات الكبار مثل Google.

Swiftly 1.0: تبسيط إدارة سلسلة أدوات Swift

2025-03-28
Swiftly 1.0: تبسيط إدارة سلسلة أدوات Swift

تم إطلاق Swiftly 1.0 رسميًا! وهو عبارة عن مدير إصدارات Swift يسهل تثبيت سلسلة أدوات Swift وإدارتها وتحديثها. يدعم macOS وتوزيعات Linux المختلفة، مما يسمح للمطورين بتثبيت إصدارات Swift المختلفة بسهولة واستخدام Swift خارج Xcode. مكتوب بلغة Swift ويقوم بتحديث نفسه تلقائيًا، يدعم Swiftly الإصدارات المستقرة، ولقطات الليلية، والإصدارات القديمة، مما يسمح بالتبديل بينها بسهولة. ملف `.swift-version` يسهل اتساق الإصدارات داخل الفريق. يجعل Swiftly تطوير Swift أكثر سهولة وكفاءة.

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

ضرب المصفوفات FP32 المُحسّن على وحدة معالجة الرسومات AMD RDNA3: يتفوّق على rocBLAS بنسبة 60%

2025-03-28
ضرب المصفوفات FP32 المُحسّن على وحدة معالجة الرسومات AMD RDNA3: يتفوّق على rocBLAS بنسبة 60%

تُفصّل هذه المشاركة رحلة تحسين إنشاء نواة ضرب المصفوفات FP32 لوحدات معالجة الرسومات AMD RDNA3 التي تتفوّق على rocBLAS بنسبة 60%. يُحسّن الكاتب بشكلٍ متكرر ثمانية أنوية، بدءًا من التنفيذ الساذج وصولًا إلى تحسينات على مستوى ISA. تشمل التقنيات استخدام تقنية LDS tiling، و tiling للسجلات، و double buffering للذاكرة العالمية، وتحسين استخدام LDS، وأخيراً تحسين استخدام VALU على مستوى ISA و unrolling للحلقات. تتفوّق النواة النهائية على rocBLAS، حيث تصل إلى ما يقرب من 50 TFLOPS.

التطوير

مؤسسة فري بي إس دي توفر أجهزة لابتوب من فريم وورك لتحسين تجربة المستخدم

2025-03-28

قدمت مؤسسة فري بي إس دي أجهزة لابتوب من فريم وورك إلى مطوري البرمجيات لتحسين تجربة فري بي إس دي على أجهزة اللابتوب. قام أحد المطورين بتوثيق رحلته في تثبيت وتكوين فري بي إس دي 14.2، بما في ذلك تثبيت نظام التشغيل، وإعداد برامج تشغيل الرسومات، والتحديات التي واجهها، مثل تثبيت إطار الشاشة ومشاكل توافق سطح المكتب Wayland. على الرغم من أن تشغيل KDE Plasma 6 على Wayland قد أظهر بعض العقبات، إلا أن هذا يوفر رؤى قيّمة لتحسين تجربة سطح مكتب فري بي إس دي.

SignalBot: الأمان، والميزات، والاستخدام المجاني

2025-03-28

SignalBot، وهو روبوت إشعارات مجاني قائم على Signal، يستخدم إجراءات أمان قوية ولا يخزن الرسائل أو البيانات الوصفية؛ ومع ذلك، يُنصح بعدم استخدامه للبيانات الحساسة. يوفر واجهة برمجة تطبيقات عامة من نوع Webhook تدعم النص العادي والرموز التعبيرية (مع دعم Markdown قادمًا قريبًا) للإشعارات الفردية أو الجماعية. هل تحتاج إلى تنسيقات إشعارات مخصصة أو تكاملات محددة؟ اتصل بالمطور!

Hexi: مكتبة C++23 خفيفة الوزن للتعامل الآمن مع البيانات الثنائية

2025-03-28
Hexi: مكتبة C++23 خفيفة الوزن للتعامل الآمن مع البيانات الثنائية

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

التطوير بيانات ثنائية

تحليل اختناقات مدخلات/مخرجات القرص في خطوط أنابيب GitHub CI

2025-03-28
تحليل اختناقات مدخلات/مخرجات القرص في خطوط أنابيب GitHub CI

تتناول هذه المقالة اختناقات مدخلات/مخرجات القرص التي غالبًا ما يتم تجاهلها في خطوط أنابيب GitHub CI. باستخدام أدوات مثل iostat و fio، يقوم الكاتب بمراقبة واختبار أداء القرص على مختلف المُشغّلين، ويكتشف قيود عرض النطاق الترددي على مشغل ubuntu-22.04 الافتراضي الذي يعيق تثبيت التبعيات. يحلّل التحليل بالتفصيل تأثير تنزيل ذاكرة التخزين المؤقت، واستخراج العديد من الملفات الصغيرة على مدخلات/مخرجات القرص. توصي المقالة باستخدام fio لاختبارات قياس الأداء ومقارنة أداء القرص لكل مشغل، وتسلط الضوء في النهاية على Ultra Runner القادم من Depot، والذي يعد بتحسينات كبيرة في أداء مدخلات/مخرجات القرص.

Xee: محرك تنفيذ XML حديث بلغة Rust

2025-03-28

أمضى المؤلف عامين في تطوير Xee، وهو محرك تنفيذ XML تم تنفيذه بلغة Rust، ويدعم إصدارات حديثة من XPath وXSLT. أكثر من مجرد مكتبة، Xee هو تنفيذ كامل للغة برمجة، مع أداة سطر أوامر ومكتبة Rust، ويهدف إلى إحياء تقنية XML المتقادمة. تتناول المقالة بالتفصيل بنية Xee وطريقة تنفيذه وتاريخ XML وحالته الحالية، مع دعوة للعمل للمطورين للمساهمة.

التطوير

إنشاء ملفات قابلة للتنفيذ بلغة Go مرتبطة بشكل ثابت باستخدام CGO وZig

2025-03-28

تشرح هذه المقالة كيفية إنشاء ملف قابل للتنفيذ بلغة Go مرتبط بشكل ثابت يستخدم تبعيات CGO عبر Zig. يقوم الكاتب بإنشاء مكتبة ثابتة باستخدام Zig، ثم يكتب برنامجًا بسيطًا بلغة Go ليتصل بوظيفة بداخلها. باستخدام علامات خاصة بـ `go build` ونظام بناء Zig، يتم إنشاء ملف قابل للتنفيذ مرتبط بشكل ثابت بنجاح، وخالٍ من تبعيات المكتبات الديناميكية، مما يحسّن قابلية النقل والأمان.

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

بناء Node.js باستخدام clang-cl على Windows: قصة نجاح

2025-03-28

نجح الكاتب مؤخراً في بناء Node.js باستخدام clang-cl على نظام Windows، متغلباً على العديد من العقبات المتعلقة بالترجمة. تشرح المقالة العملية بالتفصيل، بما في ذلك تثبيت مكونات Visual Studio اللازمة (مترجم C++ Clang ودعم MSBuild لـ LLVM)، وتكوين أداة ccache لتسريع عمليات البناء، وخطوات الترجمة النهائية. يشارك الكاتب نصائحًا لحل المشاكل، مثل إعادة تثبيت مكونات Visual Studio وتعيين مسار ccache بشكل صحيح. يوفر هذا دليلاً قيماً لمستخدمي Windows الذين يرغبون في بناء Node.js باستخدام clang-cl، مما يوفر بديلاً لعملية البناء التقليدية باستخدام MSVC.

التطوير

تحليل مضروب الأعداد إلى عوامل كبيرة: تقدم في تخمين قديم

2025-03-28
تحليل مضروب الأعداد إلى عوامل كبيرة: تقدم في تخمين قديم

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

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

كيفية كتابة مقالات مدونة يقرأها المطورون بالفعل

2025-03-28
كيفية كتابة مقالات مدونة يقرأها المطورون بالفعل

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

التطوير

رخص البرمجيات المفتوحة المصدر: توازن بين الحرية والمسؤولية

2025-03-28
رخص البرمجيات المفتوحة المصدر: توازن بين الحرية والمسؤولية

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

التطوير

فورث صغير جدًا للـ 6502: أقل من 600 بايت

2025-03-28
فورث صغير جدًا للـ 6502: أقل من 600 بايت

تتناول هذه المقالة تنفيذًا مُصغّرًا للغاية لـ Forth لـ وحدة المعالجة المركزية 6502 ذات 8 بت، ليصل حجمه إلى أقل من 600 بايت. يقارن الكاتب بين نموذجين لمُفسّر: رمز الخيط المباشر (DTC) ورمز الخيط المُصغّر (MTC)، ويختار DTC لحجمه الأصغر. يركز المشروع على الحجم بدلاً من الأداء، ويهدف إلى التحقق من DTC القياسي مقابل اختلافات MTC. يتضمن Forth الناتج بدائيات أساسية ويتم اختباره باستخدام `my_hello_world.FORTH`، مما يُظهر وظائفه.

التطوير أنظمة مضمّنة

ذاكرة التخزين المؤقت AOT لـ Kafka 4.0 تعزز وقت بدء التشغيل بنسبة 59%

2025-03-28

تُظهر هذه المقالة كيفية الاستفادة من عملية التجميع المسبق (AOT) في Java لتحسين وقت بدء تشغيل Apache Kafka 4.0 بشكل كبير. من خلال إنشاء ملف ذاكرة تخزين مؤقت AOT، تمكن الكاتب من تقليل وقت بدء تشغيل Kafka من 690 ميلي ثانية إلى 285 ميلي ثانية، وهو تحسن مذهل بنسبة 59%. اشتملت العملية على التغلب على تعارض JMX، مما أدى في النهاية إلى إنشاء وتطبيق ذاكرة التخزين المؤقت AOT بنجاح، مما أدى إلى مكاسب كبيرة في الأداء.

أطفال ما قبل المدرسة يفاجئون الباحثين بقدراتهم على التفكير

2025-03-28
أطفال ما قبل المدرسة يفاجئون الباحثين بقدراتهم على التفكير

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

مستقبل البرمجة في عصر الذكاء الاصطناعي

2025-03-28
مستقبل البرمجة في عصر الذكاء الاصطناعي

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

التطوير

مصحح الأخطاء كبيئة تطوير تفاعلية (REPL): وظيفتا Run to Cursor و Quick Evaluate Expression في IntelliJ IDEA

2025-03-28

شعر الكاتب بالتعب من مصححي الأخطاء التقليديين، خاصةً قيود gdb و lldb مع التعليمات البرمجية الأصلية. اكتشف تدفق عمل قويًا في IntelliJ IDEA. من خلال الجمع بين "Run to Cursor" و "Quick Evaluate Expression"، يتحول مصحح الأخطاء إلى بيئة تطوير تفاعلية (REPL). تقوم "Run to Cursor" بتشغيل البرنامج حتى موضع المؤشر، بينما تسمح "Quick Evaluate Expression" بتقييم التعبيرات (حتى التعليمات البرمجية المكتوبة حديثًا!) ضمن إطار المكدس الحالي. يستبدل هذا النهج تصحيح الأخطاء خطوة بخطوة بتفاعل تجريبي ثنائي الأبعاد داخل المحرر، باستخدام إكمال التعليمات البرمجية وتوفير تجربة تصحيح أخطاء أكثر كفاءة بكثير.

التطوير

هندسة البرمجيات باستخدام بايثون: إتقان التعقيد

2025-03-28

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

التطوير

أنشئ قاعدة PHPStan مخصصة في 10 دقائق: اجعل تحليل التعليمات البرمجية ممتعًا

2025-03-28
أنشئ قاعدة PHPStan مخصصة في 10 دقائق: اجعل تحليل التعليمات البرمجية ممتعًا

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

التطوير قواعد مخصصة

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

2025-03-28
ندوة بوتنام في معهد ماساتشوستس للتكنولوجيا: أكثر من مجرد مسابقة

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

التطوير مسابقة رياضية
1 2 126 127 128 130 132 133 134 213 214