Code With Somar
2.72K subscribers
442 photos
4 videos
1 file
809 links
🚀 ريادي أعمال ومطوّر ويب بخبرة واسعة

💻 متخصص بتطوير حلول ويب متكاملة باستخدام Laravel، Django، React، Vue، و Node.js.

🏆 ضمن أفضل 4 صناع محتوى في سوريا وأفضل 3 في المحتوى التقني.

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
أوقات منستدعي دالة بترجع قيمة، بس مننسى نستخدمها.
شو بيصير؟ bugs ما بتبين غير بعدين.

مثال:
function getName(): string {
return "Nuno";
}

getName(); // رجعت قيمة وما استعملناها


قبل كان الموضوع يمرق عادي.
بس بـ PHP 8.5 في شغلة جديدة بتقلّك: "إنت نسيت شي مهم".
#[NoDiscard]
function getName(): string {
return "Nuno";
}

getName();
// تحذير: تجاهلت القيمة الراجعة


💡 ليش مفيدة؟

بتمنعك تعمل أغلاط سخيفة.
بتخليك يا تستخدم القيمة يا تعيد التفكير بالكود.
بتخلي الشغل أنضف وأوثق، خصوصي بالمشاريع الكبيرة.

———————————-

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
5
كتير مرات منكتب كود متل هيك:
$user = new User;
$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->save();

return $user;


النتيجة؟ كود طويل زيادة، ممل، وصعب تقراه بسرعة.

بدك تنشئ Object جديد (مثلاً User)، تعدّل عليه شوي، تحفظه، وبعدين ترجّعه.
بهالسيناريو بتضطر تعمل خطوات زيادة ما إلها داعي.

الحل:
استخدم tap() helper وخلي الكود أنضف:
$user = tap(new User, function ($user) {
$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->save();
});

هيك صرت تعمل كلشي بخط واحد أنيق وواضح: إنشاء، تعديل، وحفظ… بدون وجع راس.
———————————-

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
5
لما بدنا نتأكد من قوة و استقرار أي نظام (موقع – تطبيق – خدمة)، في عنا عدة أنواع من الاختبارات:

1️⃣ Load Test – اختبار التحميل
نقيس كيف يتصرف النظام بوجود عدد طبيعي من المستخدمين، يعني بالسيناريو العادي المتوقع.

2️⃣ Stress Test – اختبار الضغط
منزيد الحمل بشكل تدريجي فوق الطبيعي لنعرف حدود النظام، وين بيتوقف أو بيصير فيه مشاكل.

3️⃣ Spike Test – اختبار الارتفاع المفاجئ
منعمل قفزة سريعة ومفاجئة بعدد المستخدمين لنعرف إذا النظام بيتحمل الصدمات أو بينهار فجأة.

4️⃣ Soak Test – اختبار الاستقرار مع الزمن
منشغل النظام بتحميل مستمر ولساعات طويلة لنتأكد إذا في تسرب بالذاكرة، مشاكل استقرار أو بطء مع الوقت.

ببساطة:

Load: الوضع الطبيعي.
Stress: لنعرف الحد الأقصى.
Spike: المفاجآت.
Soak: الاستقرار على المدى الطويل.

———————————-

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
3
كتير مرات منكتب كود متل هيك:
$query = User::query();

if (request('role')) {
$query->where('role', request('role'));
}

$users = $query->get();


النتيجة؟ كود مليان if-statements وبيخلي الـ controller منفوخ وصعب تحافظ عليه.

بدك تكتب Query بشرط معيّن (مثلاً role) بس بشكل أنظف وأسهل للقراءة؟؟
الحل انك تستخدم when() helper وخلي الكود أنظف:
$users = User::when(request('role'), function ($query, $role) {
return $query->where('role', $role);
})->get();

بهالطريقة الكود صار أنيق، مقروء، والـ controller ظلّ خفيف ومرتب.

———————————-

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
4
للأسف تم تأجيل قبول أول مساهمة الي ضمن Laravel او لربما تم رفضها مامنعرف حسب الأيام القادمة لكن كانت تجربة جميلة جداً

و لسا عندي Pull Request ثاني معتمد عليه و متأمل انه يتم قبوله 🔥
13🔥8