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

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

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

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
Anti-Pattern #3: Log & Forget

المشكلة:
Log::error("Order failed") … بدون أي تفاصيل.
النتيجة: لوجات عديمة الفائدة.

الحل:
سجّل السياق: order_id، user_id، payload … وحتى stack trace (بالdevelopment).

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

Linkedin |Instgram | YouTube

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

أعلنت شركة Proton (خدمة البريد الإلكتروني والـVPN الآمن) أنها عطلت مجموعة من الحسابات بعد أن تلقت إنذاراً من فريق الاستجابة لطوارئ الحاسوب (CERT) حول إساءة استخدامها من قبل قراصنة، في خرقٍ لشروط الخدمة.

بروتون أوضحت أن فريقها بدأ بمراجعة هذه الحالات بشكل فردي لتحديد الحسابات التي يمكن استعادتها لمستخدميها الشرعيين.

على ما يبدو الشركة عم تحاول توازن ما بين الأمن و حقوق المستخدمين
1
Anti-Pattern #4: Transaction Abuse

المشكلة:
تجمع كل العملية (DB + إيميل + side effects) داخل transaction.
النتيجة: locks طويلة + rollback بعد إرسال إيميل + مشاكل performance.

الحل:
خلي الـtransaction خاص بالداتا فقط، والـside-effects (مثل الإيميل) خليها برّا.

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
🔥54
تحياتي الكم أصدقائي
اليوم انا بحاجة انكم تساعدوني بمعلومة
عم دور على شخص سبق و تعامل مع بوابات الدفع السورية و بشكل خاص Syriatel cash و MTN cash

يشاركنا تجربته و الـ Flow تبع العمل و الشروط و غيره.

و شكراً لكم
👍7
تحياتي للجميع
تمنياتي لكم بأسبوع عمل موفق و بدون meetings او Bugs
موجود للإجابة عن اسئلتكم عبر instgram من خلال الرابط: هنا
🔥61🙏1
Anti-Pattern #5: Controller Try/Catch Bloat

المشكلة:
كل Controller فيه try/catch مكرر.
النتيجة: فوضى + استجابات HTTP مختلفة.

الحل:
مركّز الـerror handling بـapp/Exceptions/Handler.php وخلي الـcontrollers نظيفة.

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
4
مو كل كود يعني منتج. (وجهة نظري الشخصية)
بعد تريند الـAI وخاصةً ChatGPT صار كتير سهل تكتب كود و تطالع Demo بسرعة. بس المنتج اللي بيعيش وبيكبر هو أكبر بكتير من أسطر الكود هو طريقة تفكير كاملة.
خليني أشرحلك وجهة نظري:
التفاصيل من خلال الرابط: هنا
6👍2
بتحديث Laravel تحديداً الإصدار Laravel 12.8 نزلت معها ميزة الـ Automatic Eager Loading

كانت المشكلة انه لما تستدعي علاقة (مثلاً posts->comments) بشكل متكرر، Laravel كان يعمل استعلام جديد كل مرة → هاد اللي اسمه N+1 Query Problem.

الحل كان دائماً انه نتذكر نضيف :
Post::with('comments')->get();


وإذا نسيت؟ الاستعلامات بتنفجر وبيصير عندك بطء كبير.
و لكن من 12.8، Laravel صار يراقب استدعاءات العلاقات. إذا لاحظ إنها عم تتكرر، بيعمل Eager Loading تلقائي بدون ما تضيف with().

تفاصيل اكتر من هنا: الرابط

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
22
الصديق علي سلمان رح يكون معكم بورشة مميزة جداً و هي تفاصيلها:
وصلت لآخر سنة جامعة ولسا ما بتعرف تخصصك؟
خليك معنا مشان تعرف شو هو المجال اللي بدك تبني فيه مستقبلك من الـ 7 هدول:
1. مُبرمج؟ اللي بيبني التطبيقات والمواقع.
2. خبير أمن معلومات واختراق؟ اللي بيسكر الثغرات قبل ما حدا يدخل منها.
3. خبير ذكاء اصطناعي؟ اللي بيعمل للآلة عقل.
4. مهندس شبكات؟ الوسيط اللي خلاّك تتصل بصحابك على whatsapp.
5. مصمم تجربة مستخدم ساحر UI/UIX اللي خلاك تحب تستخدم Instagram.
6. مدير مشاريع؟ المسؤول عن فريق المبرمجين.

محتار؟ تعال عالورشة مشان:
- تفهم كل مجال ببساطة.
- تعرف شو اللي بيشتغلوه الناس فيه بالضبط.
- تحدد شو الأنسب لشخصيتك.
والورشة رح تغير منظورك كلو
للتسجيل فيك تبعت على بريد الصفحة او على رقم واتساب +963941313234
تاريخ الورشة: الخميس والجمعة 18 - 17 ايلول
مدة الورشة يوم واحد 3 ساعات
العدد الأقصى للحضور 20 شخص
مكان الورشة: مركز 360 business mentors - الزراعة دخلة الحمصاني 20م على اليمين
سعر الحضور 50000 بتندفع على باب المركز
6😱1
مين انتبه انه صاير في تغييرات بصفحات الخطأ (Error Page) اللي بـ Laravel:
1- بالنسخة Laravel 12.25 صار في خيار النسخ كـ MarkDown كرمال تقدر تتواصل صح مع الـ ai و يكون عنده معلومات عن الخطأ
2- بالنسخة 12.29 صار في تصميم جداد أبسط و أجمل

شو رأيك بهي التعديلات؟ ولا بتفضل التعديلات اللي على مستوى آخر؟

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

Linkedin |Instgram | YouTube

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

رح مون معكم حاوب على اسئلتكم من خلال الرابط:

https://www.instagram.com/stories/code.with.somar/3725063027340091634?utm_source=ig_story_item_share&igsh=MW5uZGJhaDkzOGxicA==
1
كتير مرات منشتغل بمشروع Laravel وبيصير معنا bug غريب لما نتعامل مع APIs خارجية:
📍الـ request بيوصل ناقص؟
📍في headers ما عم تنبعت؟
📍أو الـ payload عم يطلع بطريقة غريبة؟

و لحل هي المشكلة قرأت من فترة عن بكج اسمها Laravel Spy فكرتها ظريفة بتعملك log لأي outgoing HTTP request من مشروعك يعني أي طلب بتبعتو عبر Laravel HTTP client.

ميزاتها:
📌 رح تعطيك كل التفاصيل: URL, method, headers, payload وحتى response.
📌 بيشتغل من أول ما تنزلو (zero-config).
📌 بتقدر تعمل exclude لبعض الـ URLs.
📌 بيخفي الحقول الحساسة (obfuscate).
📌 فيك تنظّف اللوجات عالـ production باستخدام php artisan spy:clean.

ممكن تستخدمها إذا:
📌 بدك تعمل debug لطلبات API وتفهم شو عم ينرسل فعلياً
📌 بدك تعمل monitoring داخلي وتشوف شو عم يطلع من المشروع
📌 بحالات الintegration مع خدمات خارجية (مثلاً: بوابة دفع، خدمة شحن، أو أي third-party API) وما عم تفهم وين المشكلة.

بيشتغل مع Laravel 10 وفوق، وبيوفرلك راحة و وقت لما تحاول تكتشف مشاكل خارجية مو واضحة.

خطر ببالك شي مشروع رح تجربها فيه؟ خبرني تجربتك عنها بالتعليقات.

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
15👍1
أول ما بيخطرلنا نعمل Role & Permission Management بـ Laravel عم نروح باتجاه spatie/laravel-permission و اللي هيي بكج رائعة جداً و انا من المستخدمين الها و لكن هالاسبوع قرأت مقال عن بكج جديدة اسمها Porter عم تقدم حل بديل خفيف نظيف لـ Spatie بهاد الموضوع و الفكرة تبعها انه عم تقدم نفس الفكرة و لكن بطريقة ابسط و اخف

ليش ممكن تعطي Porter فرصة؟

خفة وأداء: بيعمل أقل تداخل مع قاعدة البيانات + built-in caching ➝ أسرع بكتير.
Minimal Architecture: 3 مكونات أساسية بس بدل الكود المعقد.
Business Logic First: بيعتبر الـ roles جزء من الـ business logic مو جداول مجردة.
سهولة بالتوسيع: كل role class مستقل وواضح.
تكامل كامل مع Laravel (Blade directives, Middleware, Gates, Policies).

باختصار: إذا Spatie مناسب أكتر للمشاريع الكبيرة اللي بدها layers واضحة، Porter ممكن يكون خيار ممتاز للمشاريع اللي بدها simplicity + performance بنفس الوقت.

الباكدج لساتو جديد و مامنعرف وين ممكن يوصل لكن انا شخصياً ناطر يجيني شي مشروع مناسب لجرب البكج فيه

و انت ممكن تجربها و تعطينا رأيك بالتعليقات.

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
10
سابقاً بـ PHP 8.4 وتحت إذا صار Fatal Error كنت تشوف بس رسالة عامة مثل:
Fatal error: Cannot declare class...

وتضل محتار: مين استدعى هاد الملف؟ وليش صار الخطأ؟

لكن بالـ PHP 8.5 إنو صار في fatal_error_backtraces يعني لما يوقع الخطأ تلقائياً بيطلعلك stack trace كامل يوضح التسلسل: أي ملف نادَى التاني، وأي method وصلتك للمشكلة.

يعني لو أخدنا مثال بـ Laravel:
📍 لو autoload جاب class مكرر من service أو package ➝ رح تشوف المسار كامل بدل ما تضيع وقتك.
📍 الـ debugging لمشاريع كبيرة (مع Octane أو Horizon) بصير أسرع وأوضح.
📍 بتفهم الـ context تبع الخطأ فوراً بدل ما تشوف سطر غامض وتدوّر بالسورس كله.

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
8
Which of the following is NOT a magic method in PHP?
Anonymous Quiz
8%
__construct
35%
__callStatic
42%
__start
14%
__invoke
تحياتي إلكن أصدقائي 🌹

رجعت خصص وقت لقناة اليوتيوب من جديد 🙌
ورح نبلش ننشر محتوى تقني مفيد و مرتب 🔥

إن شاء الله أوّل فيديو رح يكون عن موضوع مهم: DNS و Name Servers وكيف بيشتغلو 🖥🌐

💙 دعمكن بالمشاهدات بيعنيلنا كتير، خلونا نرجّع نحيي القناة ونكبرها سوا

🔗 وهي رابط القناة: هنا
17🔥2
ما تزال رحلة المهندس أشرف قاسم هي الأكثر مشاهدة على قناتي في يوتيوب، لما تحمله من تجربة غنية وواقعية من شخص يعمل اليوم كـ Machine Learning Engineer في أوروبا.

في هذه الحلقة المميزة، ناقشنا:
🔹 رحلته للوصول إلى مجال الذكاء الاصطناعي والعمل في شركات أوروبية.
🔹 استراتيجيات تطوير خوارزميات القيادة الذاتية في تحدي BFMC.
🔹 المهارات المطلوبة للمبرمجين الطامحين للعمل في السوق الأوروبي والعالمي.
🔹 خارطة طريق عملية للتخصص في مجالات مثل NLP وComputer Vision.
🔹 نصائح تقنية وشخصية للشباب المهتمين بمجال الـ AI.

الحلقة مليئة بالتجارب الملهمة والأفكار العملية 🌟
لا تفوتوا مشاهدتها على يوتيوب 👇
https://youtu.be/glHdkn_QWlY
4👏4
إذا حاسس الـ Controller تبعك صار Spaghetti؟ جرّب الـ Pipelines!

إذا عندك Laravel Controller مليان validation + business logic + تنسيق... وفجأة صار أكتر من 100 سطر وكله داخل ببعضه 🤯
بتغير سطر ➝ 5 أسطر تانية بتخرب.

هون بيجي دور Laravel Pipelines

شو يعني Pipeline؟
فكر فيها متل خط السير (production line):
كل خطوة (Pipe) بتعمل شغلة وحدة بس.
الداتا بتمشي بين الخطوات وحدة وحدة.
النتيجة: كود مرتب، نظيف، وقابل للتوسع.

مثال بسيط:
بدك تجهّز اسم المستخدم للترحيب:
الطريقة القديمة:
$name = trim($name);
$name = ucfirst(strtolower($name));
$message = 'Welcome, ' . $name . '!';


بتتكرر 4 مرات بـ Controllers مختلفة، وتكبر المشكلة لو ضفت شرط جديد.

الطريقة بـ Pipelines:
$name = Pipeline::send($name)
->through([
TrimInput::class,
FormatCase::class,
SkipAdminCheck::class,
AddGreeting::class,
])
->thenReturn();

كل class مستقل، قابل للاختبار، وما بيعمل غير مهمة وحدة.
وين فيك تستخدم Pipelines؟
تنظيف input
Query filtering
Data transformation

النتيجة:
Controllers صغيرة، مقروءة، وقابلة للصيانة.
Laravel بيعطيك الأدوات ➝ Pipelines بتعطيك الـ flow.

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

Linkedin |Instgram | YouTube

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