نصائح وحيل

اكتشف نصائح عملية في البرمجة والرياضيات لتعزيز إنتاجيتك ومهارات حل المشكلات

50
إجمالي النصائح
25
نصائح البرمجة
25
نصائح الرياضيات
البرمجة شائع

استخدم المعامل الثلاثي للشروط البسيطة

المشكلة

كتابة جمل if-else مطولة للشروط البسيطة تجعل الكود أصعب في القراءة والصيانة.

الحل

استخدم المعامل الثلاثي (condition ? true : false) للتعيينات الشرطية في سطر واحد.

الفائدة

يقلل طول الكود بنسبة تصل إلى 70٪ ويحسن قابلية القراءة للشروط البسيطة.

مثال الكود

// بدلاً من:
if (age >= 18) {
    status = 'adult';
} else {
    status = 'minor';
}

// استخدم:
status = age >= 18 ? 'adult' : 'minor';
الرياضيات شائع

الضرب السريع في 11

المشكلة

ضرب الأرقام ذات الخانتين في 11 باستخدام الطرق التقليدية يستغرق وقتاً.

الحل

اجمع الرقمين وضع المجموع بينهما. إذا كان المجموع > 9، احمل الواحد.

الفائدة

يقلل وقت الحساب بنسبة 80٪ ويمكن إجراؤه ذهنياً.

مثال

23 × 11:
2 _ 3 ← 2 (2+3) 3 ← 253

67 × 11:
6 _ 7 ← 6 (6+7) 7 ← 6(13)7 ← 737

89 × 11:
8 _ 9 ← 8 (8+9) 9 ← 8(17)9 ← 979
البرمجة شائع

استخدم تفكيك المصفوفات

المشكلة

استخراج قيم متعددة من المصفوفات أو الكائنات يتطلب كتابة كود تعيين متكرر.

الحل

استخدم بناء التفكيك لاستخراج قيم متعددة في سطر واحد.

الفائدة

يجعل الكود أنظف، ويقلل الأخطاء، ويحسن كفاءة تعيين المتغيرات.

مثال الكود

// تفكيك المصفوفة
const [first, second, third] = [1, 2, 3];

// تفكيك الكائن
const { name, age } = user;
الرياضيات شائع

تربيع الأرقام المنتهية بـ 5

المشكلة

تربيع الأرقام المنتهية بـ 5 باستخدام الضرب التقليدي بطيء.

الحل

خذ الرقم/الأرقام الأولى، اضربها في (نفسها + 1)، ثم أضف 25.

الفائدة

حساب فوري بدون ضرب طويل، يوفر 90٪ من الوقت.

مثال

25² = 2×(2+1) = 2×3 = 6، أضف 25 ← 625

75² = 7×(7+1) = 7×8 = 56، أضف 25 ← 5625

105² = 10×(10+1) = 10×11 = 110، أضف 25 ← 11025
البرمجة شائع

استخدم Array.map() بدلاً من الحلقات

المشكلة

حلقات for التقليدية لتحويل المصفوفات مطولة وعرضة للأخطاء مع إدارة الفهرس اليدوي.

الحل

استخدم Array.map() لتحويل المصفوفات بطريقة وظيفية وتصريحية.

الفائدة

يقلل الكود بنسبة 60٪، ويزيل أخطاء الفهرس، ويجعل الغرض أوضح.

مثال الكود

// بدلاً من:
const doubled = [];
for (let i = 0; i < numbers.length; i++) {
    doubled.push(numbers[i] * 2);
}

// استخدم:
const doubled = numbers.map(n => n * 2);
الرياضيات شائع

الضرب في 9 باستخدام الأصابع

المشكلة

حفظ جدول ضرب 9 صعب على العديد من الطلاب.

الحل

ارفع 10 أصابع. لـ 9×n، اثنِ الإصبع رقم n. الأصابع يسار الثني = العشرات، اليمين = الآحاد.

الفائدة

طريقة بصرية تعمل لجميع عمليات الضرب بأرقام مفردة في 9.

مثال

9 × 3:
اثنِ الإصبع الثالث ← 2 أصابع يساراً، 7 أصابع يميناً ← 27

9 × 7:
اثنِ الإصبع السابع ← 6 أصابع يساراً، 3 أصابع يميناً ← 63
البرمجة شائع

استخدم القوالب النصية لدمج النصوص

المشكلة

دمج النصوص باستخدام + صعب القراءة والصيانة، خاصة مع متغيرات متعددة.

الحل

استخدم القوالب النصية مع علامات `` وبناء ${} لدمج نصوص أنظف.

الفائدة

يحسن القابلية للقراءة بنسبة 80٪ ويدعم النصوص متعددة الأسطر بدون دمج يدوي.

مثال الكود

// بدلاً من:
const msg = 'Hello ' + name + ', you are ' + age + ' years old.';

// استخدم:
const msg = `Hello ${name}, you are ${age} years old.`;
الرياضيات شائع

الضرب في 5 بسرعة

المشكلة

ضرب الأرقام الكبيرة في 5 يتطلب ضرب طويل.

الحل

اضرب في 10، ثم اقسم على 2. أو اقسم على 2، ثم اضرب في 10.

الفائدة

يحول الضرب الصعب إلى قسمة/ضرب بسيط في 10.

مثال

86 × 5:
86 × 10 = 860
860 ÷ 2 = 430

أو: 86 ÷ 2 = 43
43 × 10 = 430
البرمجة

استخدم Object.keys() للتحقق من الكائنات الفارغة

المشكلة

التحقق من أن الكائن فارغ يتطلب التكرار عبر خصائصه يدوياً.

الحل

استخدم Object.keys(obj).length === 0 للتحقق بسرعة من عدم وجود خصائص.

الفائدة

حل من سطر واحد أسرع وأكثر موثوقية من التكرار اليدوي.

مثال الكود

// تحقق إذا كان الكائن فارغاً
const isEmpty = Object.keys(myObj).length === 0;

// احصل على جميع مفاتيح الكائن
const keys = Object.keys(user); // ['name', 'age', 'email']
الرياضيات شائع

حساب النسبة المئوية السريع

المشكلة

حساب النسب المئوية مثل 15٪ أو 18٪ يتطلب رياضيات ذهنية معقدة.

الحل

قسّم النسب المئوية إلى أجزاء سهلة: 10٪، 5٪، 1٪. ثم اجمعها.

الفائدة

احسب أي نسبة مئوية ذهنياً بتقسيمها إلى مكونات بسيطة.

مثال

15٪ من 80:
10٪ = 8
5٪ = 4
15٪ = 8 + 4 = 12

18٪ من 200:
10٪ = 20
5٪ = 10
1٪ = 2
3٪ = 6
18٪ = 20 + 10 + 10 - 6 = 36
البرمجة

استخدم Array.filter() لإزالة القيم الخاطئة

المشكلة

إزالة null و undefined و 0 و false و NaN من المصفوفات يتطلب منطق شرطي معقد.

الحل

استخدم Array.filter(Boolean) لإزالة جميع القيم الخاطئة في سطر واحد.

الفائدة

يزيل أكثر من 10 أسطر من المنطق الشرطي ويتعامل مع جميع القيم الخاطئة تلقائياً.

مثال الكود

const arr = [0, 1, false, 2, '', 3, null, undefined, NaN];

// احذف جميع القيم الخاطئة
const clean = arr.filter(Boolean);
// النتيجة: [1, 2, 3]
الرياضيات

قاعدة القسمة على 3

المشكلة

اختبار قسمة الأرقام الكبيرة على 3 يتطلب قسمة فعلية.

الحل

اجمع جميع الأرقام. إذا كان المجموع يقبل القسمة على 3، فالرقم يقبل القسمة على 3.

الفائدة

اختبار قسمة فوري بدون إجراء القسمة.

مثال

هل 2,847 يقبل القسمة على 3؟
2 + 8 + 4 + 7 = 21
21 ÷ 3 = 7 ✓
نعم، 2847 يقبل القسمة على 3

هل 5,923 يقبل القسمة على 3؟
5 + 9 + 2 + 3 = 19
19 لا يقبل القسمة على 3 ✗
البرمجة شائع

استخدم المعاملات الافتراضية

المشكلة

الدوال تحتاج قيم احتياطية عند عدم توفير المعاملات، مما يتطلب فحوصات يدوية.

الحل

استخدم بناء المعاملات الافتراضية لتعيين القيم الاحتياطية تلقائياً في توقيعات الدوال.

الفائدة

يقلل البرمجة الدفاعية بنسبة 50٪ ويجعل واجهات الدوال موثقة ذاتياً.

مثال الكود

// بدلاً من:
function greet(name) {
    name = name || 'Guest';
    return `Hello ${name}`;
}

// استخدم:
function greet(name = 'Guest') {
    return `Hello ${name}`;
}
الرياضيات

قاعدة القسمة على 9

المشكلة

فحص القسمة على 9 للأرقام الكبيرة يتطلب قسمة طويلة.

الحل

اجمع جميع الأرقام. إذا كان المجموع يقبل القسمة على 9، فالرقم يقبل القسمة على 9.

الفائدة

فحص ذهني سريع للقسمة على 9 بدون حساب.

مثال

هل 7,362 يقبل القسمة على 9؟
7 + 3 + 6 + 2 = 18
18 ÷ 9 = 2 ✓
نعم، 7362 يقبل القسمة على 9

(في الواقع: 7362 ÷ 9 = 818)
البرمجة شائع

استخدم معامل النشر لنسخ المصفوفات

المشكلة

نسخ المصفوفات بالطرق التقليدية قد ينشئ مراجع بدلاً من مصفوفات جديدة عن طريق الخطأ.

الحل

استخدم معامل النشر [...arr] لإنشاء نسخة سطحية من المصفوفة.

الفائدة

يمنع أخطاء التعديل وينشئ نسخ مستقلة في بناء بسيط واحد.

مثال الكود

const original = [1, 2, 3];

// انسخ المصفوفة
const copy = [...original];

// ادمج المصفوفات
const merged = [...arr1, ...arr2];
الرياضيات

تقدير سريع للجذر التربيعي

المشكلة

إيجاد الجذور التربيعية ذهنياً للمربعات غير الكاملة صعب.

الحل

جد المربعين الكاملين بينهما، ثم قدّر بالتناسب.

الفائدة

احصل على تقديرات دقيقة (±0.5) للجذور التربيعية ذهنياً في ثوانٍ.

مثال

√50:
49 < 50 < 64
7 < √50 < 8
50 قريب من 49، لذا √50 ≈ 7.1
(الفعلي: 7.07)

√80:
64 < 80 < 81
8 < √80 < 9
80 قريب جداً من 81، لذا √80 ≈ 8.9
(الفعلي: 8.94)
البرمجة شائع

استخدم Array.includes() للشروط المتعددة

المشكلة

التحقق من شروط OR متعددة ينشئ سلاسل مقارنة طويلة ومتكررة.

الحل

استخدم Array.includes() للتحقق من تطابق قيمة مع أي عنصر في مصفوفة الاحتمالات.

الفائدة

يقلل تعقيد الشروط بنسبة 70٪ ويجعل الكود أكثر قابلية للصيانة.

مثال الكود

// بدلاً من:
if (status === 'active' || status === 'pending' || status === 'approved') {
    // ...
}

// استخدم:
if (['active', 'pending', 'approved'].includes(status)) {
    // ...
}
الرياضيات

ضرب رقمين من خانتين ينتهيان بنفس الرقم

المشكلة

ضرب أرقام مثل 23×27 أو 41×49 يتطلب ضرب كامل.

الحل

عندما خانة العشرات نفسها والآحاد تجمع إلى 10: اضرب العشرات×(العشرات+1)، ثم الآحاد×الآحاد.

الفائدة

اختصار حالة خاصة يوفر 80٪ من وقت الحساب.

مثال

23 × 27 (نفس العشرات 2، الآحاد تجمع 10: 3+7=10):
العشرات: 2 × (2+1) = 2 × 3 = 6
الآحاد: 3 × 7 = 21
الجواب: 621

41 × 49:
العشرات: 4 × 5 = 20
الآحاد: 1 × 9 = 09
الجواب: 2009
البرمجة شائع

استخدم التسلسل الاختياري للخصائص المتداخلة

المشكلة

الوصول إلى خصائص الكائنات المتداخلة يتطلب فحوصات null/undefined متعددة.

الحل

استخدم التسلسل الاختياري (?.) للوصول الآمن للخصائص المتداخلة بدون فحوصات null صريحة.

الفائدة

يزيل 90٪ من كود فحص null ويمنع أخطاء "Cannot read property".

مثال الكود

// بدلاً من:
const city = user && user.address && user.address.city;

// استخدم:
const city = user?.address?.city;
الرياضيات

جمع الكسور بمقامات مختلفة

المشكلة

جمع الكسور يتطلب إيجاد المقام المشترك الأصغر وهو مستهلك للوقت.

الحل

استخدم الضرب التبادلي: (a/b + c/d) = (ad + bc) / (bd)

الفائدة

طريقة عالمية تعمل لأي جمع كسور بدون إيجاد المقام المشترك الأصغر.

مثال

2/3 + 3/4:
(2×4 + 3×3) / (3×4)
(8 + 9) / 12
17/12 = 1 5/12

1/5 + 2/7:
(1×7 + 2×5) / (5×7)
(7 + 10) / 35
17/35
البرمجة شائع

استخدم Array.find() بدلاً من filter()[0]

المشكلة

استخدام filter() للعثور على عنصر واحد يعالج المصفوفة بالكامل دون داعٍ.

الحل

استخدم Array.find() الذي يتوقف عند أول تطابق، مما يحسن الأداء.

الفائدة

أسرع بما يصل إلى 100 مرة للمصفوفات الكبيرة ويوضح الغرض بشكل أفضل.

مثال الكود

const users = [{id: 1, name: 'John'}, {id: 2, name: 'Jane'}];

// غير فعال:
const user = users.filter(u => u.id === 2)[0];

// فعال:
const user = users.find(u => u.id === 2);
الرياضيات

خدعة الضرب في 99

المشكلة

الضرب في 99 يتطلب ضرب طويل مع الحمل.

الحل

اضرب في 100 واطرح الرقم الأصلي.

الفائدة

يحول الضرب الصعب إلى طرح بسيط.

مثال

46 × 99:
46 × 100 = 4600
4600 - 46 = 4554

73 × 99:
73 × 100 = 7300
7300 - 73 = 7227
البرمجة شائع

استخدم Set لإزالة التكرار من المصفوفات

المشكلة

إزالة التكرار من المصفوفات يتطلب حلقات متداخلة أو منطق filter معقد.

الحل

حول المصفوفة إلى Set (الذي يخزن قيم فريدة فقط) ثم ارجعها لمصفوفة.

الفائدة

حل من سطر واحد أسرع بـ 50 مرة من الطرق التقليدية.

مثال الكود

const numbers = [1, 2, 2, 3, 3, 3, 4];

// احذف التكرار
const unique = [...new Set(numbers)];
// النتيجة: [1, 2, 3, 4]
الرياضيات شائع

حساب نسبة البقشيش بسرعة

المشكلة

حساب بقشيش 15٪ أو 20٪ في المطاعم يتطلب رياضيات ذهنية تحت ضغط.

الحل

10٪ = حرك الفاصلة يساراً. 20٪ = ضاعف ذلك. 15٪ = 10٪ + نصف 10٪.

الفائدة

احسب نسب البقشيش الشائعة في 3 ثوانٍ بدون آلة حاسبة.

مثال

الفاتورة: $84.50
10٪ = $8.45
بقشيش 20٪ = $8.45 × 2 = $16.90

بقشيش 15٪ = $8.45 + $4.23 = $12.68

الفاتورة: $42.00
10٪ = $4.20
بقشيش 15٪ = $4.20 + $2.10 = $6.30
البرمجة

استخدم Array.reduce() للتحويلات القوية

المشكلة

التحويلات المعقدة للمصفوفات تتطلب تمريرات متعددة ومتغيرات وسيطة.

الحل

استخدم Array.reduce() لتحويل المصفوفات إلى أي شكل (مجموع، كائن، بيانات مجمعة).

الفائدة

حل بتمريرة واحدة يتعامل مع التحويلات المعقدة بكفاءة.

مثال الكود

const numbers = [1, 2, 3, 4, 5];

// اجمع المصفوفة
const sum = numbers.reduce((acc, n) => acc + n, 0);

// جمّع حسب الخاصية
const grouped = items.reduce((acc, item) => {
    acc[item.category] = acc[item.category] || [];
    acc[item.category].push(item);
    return acc;
}, {});
الرياضيات

تحويل سلسيوس إلى فهرنهايت بسرعة

المشكلة

الصيغة الدقيقة (C × 9/5) + 32 صعبة الحساب ذهنياً.

الحل

ضاعف السلسيوس، اطرح 10٪، ثم أضف 32.

الفائدة

يقدّر فهرنهايت ضمن ±1 درجة باستخدام رياضيات ذهنية بسيطة.

مثال

20°C إلى °F:
20 × 2 = 40
40 - 4 = 36
36 + 32 = 68°F
(الدقيق: 68°F)

30°C إلى °F:
30 × 2 = 60
60 - 6 = 54
54 + 32 = 86°F
(الدقيق: 86°F)
البرمجة

استخدم console.table() لتصحيح الأخطاء

المشكلة

تصحيح مصفوفات الكائنات باستخدام console.log() يجعل البيانات صعبة القراءة والمقارنة.

الحل

استخدم console.table() لعرض المصفوفات والكائنات في جدول منسق.

الفائدة

يجعل تصحيح الأخطاء أسرع بـ 10 مرات مع تصور جدولي واضح قابل للفرز.

مثال الكود

const users = [
    {id: 1, name: 'John', age: 30},
    {id: 2, name: 'Jane', age: 25}
];

// اعرض كجدول
console.table(users);
الرياضيات

تحقق من الضرب بخدعة 9s

المشكلة

التحقق من نتائج الضرب يتطلب إعادة حساب المسألة بالكامل.

الحل

استخدم طرح التسعات: اجمع أرقام كل عدد بشكل متكرر حتى رقم واحد، ثم تحقق.

الفائدة

طريقة تحقق سريعة تمسك 90٪ من أخطاء الحساب.

مثال

تحقق: 234 × 56 = 13,104

234: 2+3+4=9 ← 9
56: 5+6=11 ← 1+1=2
9 × 2 = 18 ← 1+8=9

13,104: 1+3+1+0+4=9 ✓
الجواب على الأرجح صحيح!
البرمجة

استخدم دمج القيم الفارغة للقيم الافتراضية

المشكلة

استخدام || للقيم الافتراضية يعامل 0 و false كقيم خاطئة، مما يسبب سلوك غير متوقع.

الحل

استخدم ?? (دمج القيم الفارغة) الذي يُفعّل فقط لـ null/undefined وليس 0/false.

الفائدة

يمنع الأخطاء عند العمل مع 0 أو false أو نصوص فارغة كقيم صالحة.

مثال الكود

const count = 0;

// خطأ: count تصبح 10 (غير متوقع)
const value1 = count || 10;

// صحيح: count تبقى 0
const value2 = count ?? 10;
الرياضيات

الطرح من 1000 بسرعة

المشكلة

الطرح من 1000 مع الاستلاف عرضة للأخطاء.

الحل

اطرح كل رقم من 9، ماعدا الرقم الأخير الذي تطرحه من 10.

الفائدة

لا حاجة للاستلاف، يزيل أكثر أخطاء الطرح شيوعاً.

مثال

1000 - 456:
9-4=5
9-5=4
10-6=4
الجواب: 544

1000 - 723:
9-7=2
9-2=7
10-3=7
الجواب: 277
البرمجة شائع

استخدم دوال الأسهم للاستدعاءات الأقصر

المشكلة

بناء الدالة التقليدي في الاستدعاءات يضيف إطناب غير ضروري.

الحل

استخدم دوال الأسهم (=>) لبناء استدعاءات مختصرة مع إرجاع ضمني.

الفائدة

يقلل كود الاستدعاءات بنسبة 40٪ ويربط سياق this تلقائياً.

مثال الكود

// تقليدي
numbers.map(function(n) {
    return n * 2;
});

// دالة سهم
numbers.map(n => n * 2);
الرياضيات

اختصار الضرب في 15

المشكلة

الضرب في 15 يتطلب خطوات متعددة بالطرق التقليدية.

الحل

اضرب في 10، ثم أضف نصف تلك النتيجة.

الفائدة

يقلل الضرب المعقد إلى جمع بسيط.

مثال

24 × 15:
24 × 10 = 240
240 ÷ 2 = 120
240 + 120 = 360

36 × 15:
36 × 10 = 360
360 ÷ 2 = 180
360 + 180 = 540
البرمجة شائع

استخدم Object.assign() لنسخ الكائنات

المشكلة

تعيين الكائنات ينشئ مراجع، مما يسبب تعديلات عرضية.

الحل

استخدم Object.assign({}, obj) أو نشر {...obj} لإنشاء نسخ سطحية.

الفائدة

يمنع أخطاء التعديل ويسمح بمعالجة آمنة للكائنات.

مثال الكود

const original = {name: 'John', age: 30};

// انسخ الكائن
const copy1 = Object.assign({}, original);
const copy2 = {...original};

// ادمج الكائنات
const merged = {...obj1, ...obj2};
الرياضيات

تربيع الأرقام القريبة من 50

المشكلة

تربيع أرقام مثل 48 أو 52 يتطلب ضرب طويل.

الحل

استخدم (50-a)² = 2500 - 100a + a² أو (50+a)² = 2500 + 100a + a²

الفائدة

يحول المربعات الصعبة إلى حساب بسيط حول 2500.

مثال

48² (50-2):
2500 - 200 + 4 = 2304

52² (50+2):
2500 + 200 + 4 = 2704

47² (50-3):
2500 - 300 + 9 = 2209
البرمجة

استخدم Array.some() و Array.every()

المشكلة

التحقق من أن أي/جميع العناصر تحقق شرطاً يتطلب حلقات يدوية مع جمل break.

الحل

استخدم Array.some() للتحقق من تطابق أي عنصر، Array.every() لجميع العناصر.

الفائدة

أكثر قابلية للقراءة ويوقف التنفيذ مبكراً لأداء أفضل.

مثال الكود

const numbers = [1, 2, 3, 4, 5];

// تحقق إذا كان أي رقم > 3
const hasLarge = numbers.some(n => n > 3); // true

// تحقق إذا كانت جميع الأرقام > 0
const allPositive = numbers.every(n => n > 0); // true
الرياضيات

قاعدة القسمة على 4

المشكلة

اختبار القسمة على 4 للأرقام الكبيرة يتطلب القسمة.

الحل

افحص فقط الرقمين الأخيرين. إذا شكلا عدداً يقبل القسمة على 4، فالعدد الكامل يقبلها.

الفائدة

اختبر أي عدد للقسمة على 4 فوراً.

مثال

هل 5,328 يقبل القسمة على 4؟
افحص آخر رقمين: 28
28 ÷ 4 = 7 ✓
نعم!

هل 7,862 يقبل القسمة على 4؟
افحص آخر رقمين: 62
62 ÷ 4 = 15.5 ✗
لا!
البرمجة

استخدم Array.flat() لتسطيح المصفوفات المتداخلة

المشكلة

تسطيح المصفوفات المتداخلة يتطلب دوال تكرارية أو منطق reduce معقد.

الحل

استخدم Array.flat(depth) لتسطيح المصفوفات إلى عمق محدد في سطر واحد.

الفائدة

يزيل أكثر من 20 سطر من كود التسطيح التكراري.

مثال الكود

const nested = [1, [2, 3], [4, [5, 6]]];

// سطّح مستوى واحد
const flat1 = nested.flat(); // [1, 2, 3, 4, [5, 6]]

// سطّح جميع المستويات
const flat2 = nested.flat(Infinity); // [1, 2, 3, 4, 5, 6]
الرياضيات

قاعدة القسمة على 6

المشكلة

فحص القسمة على 6 يتطلب فحص 2 و 3 بشكل منفصل.

الحل

الرقم يجب أن يكون زوجياً والمجموع أرقام يقبل القسمة على 3.

الفائدة

يدمج قاعدتين بسيطتين لفحص قسمة سريع.

مثال

هل 426 يقبل القسمة على 6؟
زوجي؟ نعم (ينتهي بـ 6)
مجموع الأرقام: 4+2+6=12، 12÷3=4 ✓
نعم، يقبل القسمة على 6!

هل 534 يقبل القسمة على 6؟
زوجي؟ نعم
مجموع الأرقام: 5+3+4=12، 12÷3=4 ✓
نعم!
البرمجة شائع

استخدم Promise.all() للعمليات المتزامنة المتوازية

المشكلة

استدعاءات await المتسلسلة تضيع الوقت عندما يمكن تشغيل العمليات بالتوازي.

الحل

استخدم Promise.all() لتنفيذ عمليات متزامنة متعددة في نفس الوقت.

الفائدة

يمكن أن يقلل وقت التنفيذ بنسبة 70٪ للعمليات المتزامنة المستقلة.

مثال الكود

// متسلسل (بطيء): 3 ثوان إجمالاً
const user = await fetchUser();
const posts = await fetchPosts();
const comments = await fetchComments();

// متوازي (سريع): ثانية واحدة إجمالاً
const [user, posts, comments] = await Promise.all([
    fetchUser(),
    fetchPosts(),
    fetchComments()
]);
الرياضيات شائع

الضرب في 25 فوراً

المشكلة

الضرب في 25 يتطلب ضرب طويل معقد.

الحل

اقسم على 4 واضرب في 100 (أو اضرب في 100 واقسم على 4).

الفائدة

يحول الضرب إلى قسمة بسيطة على 4.

مثال

32 × 25:
32 ÷ 4 = 8
8 × 100 = 800

48 × 25:
48 ÷ 4 = 12
12 × 100 = 1200
البرمجة

استخدم Array.from() لتحويل القابلة للتكرار

المشكلة

تحويل NodeLists أو Sets أو النصوص إلى مصفوفات يتطلب تحويل يدوي معقد.

الحل

استخدم Array.from() لتحويل أي قابل للتكرار إلى مصفوفة مع خريطة اختيارية.

الفائدة

حل تحويل عالمي يعمل مع جميع الأنواع القابلة للتكرار.

مثال الكود

// حول NodeList إلى مصفوفة
const divs = Array.from(document.querySelectorAll('div'));

// أنشئ مصفوفة من نص
const chars = Array.from('hello'); // ['h','e','l','l','o']

// أنشئ مصفوفة مع خريطة
const squares = Array.from({length: 5}, (_, i) => i * i);
// [0, 1, 4, 9, 16]
الرياضيات

خوارزمية يوم الأسبوع (تقويم ذهني)

المشكلة

معرفة أي يوم من الأسبوع يقع فيه تاريخ يتطلب تقويماً.

الحل

استخدم صيغة زيلر المبسطة: تعلم أيام المرساة لكل شهر واحسب للأمام/الخلف.

الفائدة

أبهر الآخرين بحساب يوم أي تاريخ ذهنياً.

مثال

لسنة 2024 (سنة كبيسة):
1 يناير = الاثنين (المرساة)
1 فبراير = الخميس (+31 يوماً = +3 أيام)
1 مارس = الجمعة (+29 يوماً = +1 يوم)

ما هو يوم 14 فبراير 2024؟
1 فبراير هو الخميس
14-1 = 13 يوماً للأمام
13 ÷ 7 = 1 أسبوع + 6 أيام
الخميس + 6 = الأربعاء
البرمجة شائع

استخدم تقييم الدائرة القصيرة

المشكلة

التنفيذ الشرطي غالباً يتطلب جمل if مطولة للحالات البسيطة.

الحل

استخدم && للتنفيذ الشرطي و || للقيم الاحتياطية في سطر واحد.

الفائدة

يقلل الشروط البسيطة من 5 أسطر إلى سطر واحد.

مثال الكود

// نفّذ إذا كان الشرط صحيحاً
isLoggedIn && redirectToDashboard();

// استخدم قيمة احتياطية
const name = userName || 'Guest';

// سلسل الشروط
user && user.isAdmin && showAdminPanel();
الرياضيات

قاعدة 72 للفائدة المركبة

المشكلة

حساب المدة التي يستغرقها الاستثمار لمضاعفة يتطلب صيغ معقدة.

الحل

اقسم 72 على معدل الفائدة للحصول على السنوات التقريبية للمضاعفة.

الفائدة

حساب سريع لوقت مضاعفة الاستثمار بدون صيغ أو آلات حاسبة.

مثال

عائد سنوي 6٪:
72 ÷ 6 = 12 سنة للمضاعفة

عائد سنوي 9٪:
72 ÷ 9 = 8 سنوات للمضاعفة

عائد سنوي 12٪:
72 ÷ 12 = 6 سنوات للمضاعفة
البرمجة

استخدم JSON.parse() مع دالة الإحياء

المشكلة

تحليل JSON مع تواريخ أو أنواع خاصة يتطلب معالجة يدوية لاحقة.

الحل

استخدم معامل reviver في JSON.parse() لتحويل القيم أثناء التحليل.

الفائدة

يؤتمت تحويل الأنواع ويزيل حلقات التحويل المنفصلة.

مثال الكود

const json = '{"date":"2024-01-01T00:00:00.000Z","count":"42"}';

const data = JSON.parse(json, (key, value) => {
    // حول نصوص التاريخ إلى كائنات Date
    if (key === 'date') return new Date(value);
    // حول النصوص الرقمية إلى أرقام
    if (key === 'count') return parseInt(value);
    return value;
});
الرياضيات

تقدير الجذور التكعيبية

المشكلة

إيجاد الجذور التكعيبية ذهنياً صعب للغاية.

الحل

احفظ مكعبات 1-10، ثم جد بين أي مكعبين يقع الرقم.

الفائدة

قدّر الجذور التكعيبية ضمن ±0.5 بمعرفة 10 نقاط مرجعية.

مثال

مكعبات للحفظ:
1³=1، 2³=8، 3³=27، 4³=64، 5³=125
6³=216، 7³=343، 8³=512، 9³=729، 10³=1000

∛200:
125 < 200 < 216
5 < ∛200 < 6
200 أقرب إلى 216، لذا ∛200 ≈ 5.8
(الفعلي: 5.85)
البرمجة شائع

استخدم الخصائص المختصرة للكائنات

المشكلة

إنشاء كائنات من متغيرات يتطلب أزواج مفتاح-قيمة متكررة.

الحل

استخدم ES6 المختصرة لحذف القيمة عندما يكون المفتاح واسم المتغير متماثلين.

الفائدة

يقلل كود إنشاء الكائنات بنسبة 50٪ ويحسن القابلية للقراءة.

مثال الكود

const name = 'John';
const age = 30;
const city = 'NYC';

// بدلاً من:
const user1 = {name: name, age: age, city: city};

// استخدم:
const user2 = {name, age, city};
الرياضيات شائع

صيغة الزيادة/النقص المئوية

المشكلة

حساب التغيير المئوي بين قيمتين محير وعرضة للأخطاء.

الحل

((الجديد - القديم) / القديم) × 100. موجب = زيادة، سالب = نقص.

الفائدة

صيغة عالمية لجميع حسابات التغيير المئوي.

مثال

السعر ارتفع من $50 إلى $65:
((65 - 50) / 50) × 100
(15 / 50) × 100 = زيادة 30٪

السعر انخفض من $80 إلى $60:
((60 - 80) / 80) × 100
(-20 / 80) × 100 = نقص 25٪
البرمجة

استخدم console.time() لقياس الأداء

المشكلة

قياس وقت تنفيذ الكود يتطلب حسابات Date.now() يدوية.

الحل

استخدم console.time() و console.timeEnd() لقياس وقت التنفيذ بسهولة.

الفائدة

قياس أداء بسيط ودقيق بدون حسابات طوابع زمنية يدوية.

مثال الكود

console.time('معالجة المصفوفة');

const result = largeArray.map(item => {
    // معالجة معقدة
    return processItem(item);
});

console.timeEnd('معالجة المصفوفة');
// الناتج: معالجة المصفوفة: 234.56ms
الرياضيات

جمع أعمدة طويلة من الأرقام بسرعة

المشكلة

جمع قوائم طويلة من الأرقام واحداً تلو الآخر بطيء وعرضة للأخطاء.

الحل

ابحث عن أزواج تجمع إلى 10، جمّع أرقام سهلة الجمع (مثل 25+75=100).

الفائدة

يسرع الجمع الذهني بنسبة 50٪ بتقليل عدد العمليات.

مثال

اجمع: 8 + 14 + 2 + 6 + 25 + 75

جمّع استراتيجياً:
(8 + 2) = 10
(14 + 6) = 20
(25 + 75) = 100

10 + 20 + 100 = 130

لم يتم العثور على نصائح مطابقة لبحثك

جرب مصطلح بحث أو فلتر مختلف

ES
Edrees Salih
منذ 6 ساعات

We are still cooking the magic in the way!