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

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

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

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
قبل فترة نزلت فيديو على يوتيوب جاوبت فيه على أكتر الأسئلة الشائعة يلي بتوصلني من طلاب ومبتدئين:

React ولا Next؟
Laravel ولا Node؟
هل الشهادة الجامعية ضرورية؟
في شغل بدون خبرة؟
شو أعمل إذا لسا حاسس حالي ضعيف؟

وغيرها من المواضيع يلي بتساعدك تختار مسارك وتبلّش صح و لهلا هي الاسئلة بتوصلني بفقرة الاسئلة الاسبوعية لهيك كتير مهم نشوف هاد الفيديو لانه بجاوب على كتير أسئلة:
https://youtu.be/NS-FMdhTrKE
7
اليوم weekend لكن ما بيعني انه مافيني ندردش عن شوية أسئلة سوا

ناطركم: هنا
2
أهم أوامر Docker لازم تعرفها 🚀

إذا بلّشت تشتغل بـ Docker وعم تضيع بين الأوامر، هدول العشرة بس كافيين حتى تبدأ بالخطوات الأساسية:

docker --version

بتعرف أي نسخة Docker عندك.

docker ps


بيورجيك الكونتينرات اللي شغّالة هلأ.

docker ps -a


بيطلعلك كل الكونتينرات حتى الموقّفة.

docker images


بتشوف الصور (images) اللي موجودة عندك.

docker pull <image>


بتنزّل image من Docker Hub.

docker run -it <image>


بتشغّل كونتينر بطريقة تفاعلية.

docker exec -it <container> <cmd>


بتفوت لجوا الكونتينر وبتشغّل أوامر.

docker stop <container>


بتوقّف كونتينر.

docker rm <container>


بتحذف كونتينر.

docker rmi <image>


بتحذف image.

تذكّر، إذا حفظت هالأوامر، صرت بتغطي 80% من شغلك اليومي مع Docker.
———————————-

Linkedin |Instgram | YouTube

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

من دروس تقنية عملية، إلى حلقات بودكاست غنية بالنقاشات... كل شيء صار جاهز على قناتي في يوتيوب!👇

🔹 اختبر الـ APIs باحتراف باستخدام Postman
https://youtu.be/5S_NYaHFpGk

🔹 راقب تغييرات الكود مع DevTools باحتراف
https://youtu.be/Di7zJTdVcEU

🔹 طريقة تثبيت WordPress على cPanel خطوة بخطوة
https://youtu.be/LJ3dO2hYkxo

🔹 كيف غيّرت OpenAI قواعد اللعبة عبر Chat.com؟
https://youtu.be/VTngsh_SGVU

سلسلة Laravel للمطورين المحترفين:
🔸 تعلم الـ Validation باحتراف: https://youtu.be/waslz6jcGKs
🔸 أسرار Cron Jobs في Laravel: https://youtu.be/M6PEvSIAdBE
🔸 دعم تعدد اللغات بدون باكجات: https://youtu.be/-SwibEJ0tWg

🛡 أمن المعلومات - Cyber Security:
🔸 خطورة أسماء الملفات: https://youtu.be/TivSFthbjOM
🔸 رفع الملفات بأمان في Laravel: https://youtu.be/xtw_1p3sQhs
🔸 حماية المواقع الصغيرة: https://youtu.be/_ZaPm6S_QYA

🎙 بودكاست With Somar - نقاشات تقنية معمّقة:
1️⃣ تحليل النظم مع سارة قطف: https://youtu.be/iaMCgJegdn8
2️⃣ رحلة في الذكاء الاصطناعي - أشرف قاسم: https://youtu.be/glHdkn_QWlY
3️⃣ حلول برمجية لملايين المستخدمين - أنس الطرزي: https://youtu.be/dS2a62OqV-k
4️⃣ التحول الرقمي و Salesforce - ألكساندر الرهب: https://youtu.be/bTGhwthdWsk
5️⃣ الأمن السيبراني - علي سلمان: https://youtu.be/2iCI4iz9HFQ
6️⃣ الـ WordPress بعيون مختلفة - عبد اللطيف المهيوب: https://youtu.be/HmbK3rux3uo
7️⃣ ريادة الأعمال والمنهجيات الحديثة - رازق داؤد: https://youtu.be/jkgkfKBxjsQ

📌 اشترك بالقناة وفعل الجرس ليصلك كل جديد!

===================

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
10
أوقات منستدعي دالة بترجع قيمة، بس مننسى نستخدمها.
شو بيصير؟ 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