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

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

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

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

بدل ما تعمل commit جديد و تخرب الـ graph و تفضح حالك قدام الـ Team Leader جرب هالحركة :
git add file-you-forgot.txt  
git commit --amend --no-edit


شو اللي بصير هون؟
🔹 git add بيضيف الملف للـ Staging Area.
🔹الـ git commit --amend --no-edit بيعدل آخر commit ليشمل الملف الجديد بدون ما يغير الرسالة.

⚠️ انتباه: إذا كنت عامل push لل commit، لا تستخدم هالحركة إلا إذا كنت بتعرف شو عم تعمل، لأنك ممكن تحتاج git push --force، وهاد ممكن يسبب مشاكل إذا في حدا غيرك عم يشتغل على نفس الـ branch!

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
12👍1
إذا كنت عم تستعمل الـ GitHub Action اللي اسمها tj-actions/changed-files، ضروري تراجع الـ workflows تبعك هلأ!

صار في اختراق لهاي الأكشن، والمخترق قدر يضيف كود خبيث يخلي كل الـ secrets تنطبع بالـ workflow logs، يعني أي حدا عنده وصول للـ logs بيقدر يشوف المعلومات الحساسة. المشكلة الأخطر بتكون مع الـ public repositories لأن اللوجز مفتوحة لأي حدا، بس حتى لو مستودعك private، لا زم تراجع اللوجز لتتأكد إنه ما صار أي تسريب.

بـ Software Supply Chain Security، أهم شغلة إنك ما تعتمد على مصادر خارجية بدون ما تأمنها منيح. بهي الحالة، كان فينا نتجنب المشكلة لو كنا مثبتين الأكشن على commit hash بدل ما نستعمل tags.

أي GitHub Action خارجية بدك تستخدمها، تأكد إنك مثبتها على commit hash مو على tag، حتى ما تتفاجأ بأي تحديثات مشبوهة بالمستقبل.
😱4
لا عاد تستخدم الـ md5 أرجوك

يا شباب كان الـ md5 اله ايام عز بس اليوم لا ينصح به أبداً و خلوني اشرح السبب الكم:

بداية اذا ما بتعرف شو هو الـ MD5 فهو عبارة عن algorithm يستخدم لتشفير الـ passwords بحيث ما تنحفظ بشكل plain text بقاعدة البيانات. الفكرة إنه بيحول أي input مهما كان طوله إلى 128-bit hash باستخدام عمليات رياضية، والنتيجة بتكون fingerprint ثابت لكل إدخال.

ليش ماعاد ينفع تشتغل فيه؟

1️⃣ الـ Collision attacks: ممكن أكتر من input يعطي نفس hash، يعني الـ password تبعك ممكن يكون إله توأم شرير! 😬
2️⃣ الـ Rainbow Tables attack: مع تطور hardware، صار سهل توليد precomputed hash tables تحتوي على ملايين الـ hashes لكل كلمة ممكنة، فبكل بساطة المهاجم بيلاقي الـ password الأصلي بسرعة!

جربو اشتغلوا بشي تاني مثل bcrypt, Argon2, أو SHA-256 مع salt إذا عنجد بدكم security حقيقي!

#CyberSecurity #PasswordSecurity

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
15🔥4👍3😱1
مر الوقت بسرعة بعد إطلاق Laravel 12 و اغلب الناس بلشت تتشجع انها تعمل upgrade للإصدار الجديد

إذا خايف من الـ Packages اللي عم تشتغل عليها انها ما تكون متوافقة مع الإصدار الجديد بإمكانك تستخدم الموقع التالي حتى تعرف التوافق بينهم

https://laravelshift.com/can-i-upgrade-laravel
9
لا تضل ماسك الـ SELECT * و تشتغل فيها بكل محل إذا مابتعرف فهي بتجبر الـ DB تبعك على قرائات غير ضرورية يعني زيادة بالـ (I/O) على استضافتك و بزيد من الـ network traffic و الاسوأ برايي هو انها بتتجاوز فحص الـ indexs (index-only scans)

جيب المعلومات اللي بتحتاجها بس و امورك رح تختلف 180 درجة

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
20👍7🔥3👌1
أصدقائي الأعزاء تمنياتي لكم ببداية اسبوع موفقة و خالية من الـ Bugs و الـ meeting

كما جرت العادة بانتظار اسئلتكم على الانستغرام من خلال الرابط:
https://www.instagram.com/stories/code.with.somar/3593790555143957496?utm_source=ig_story_item_share&igsh=MW1nbHE2OThyc2l2NA==
4🙏1
خليني اعطيك Security Tip ماكنت بتعرفها

بتعرف انه بالـ bcrypt ما بيدعم أكتر من 72 بايت، أي حرف زيادة عليه بيتم تجاهله يعني ممكن يكون في باسوردين مختلفين ونتيجتهم بعد التشفير وحدة 🤷🏻‍♂️

بـ Laravel 12 صار فيك تفعل رفض للباسوردات الطويلة بس لازم تفعلها يدوياً.

الـ Laravel بيستخدم mb_strlen() للـ max rule، يلي بيحسب عدد الأحرف،
بس bcrypt بيتعامل مع strlen() يلي بيحسب البايتات.


يعني ممكن الباسورد ينجح بالـ validation، بس يرمي خطأ عند الحفظ لهيك لازم تنتبه على هي النقطة

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

Linkedin |Instgram | YouTube

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

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

🔹 اختبر الـ 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 أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
26🔥3
Code With Somar pinned «فيديوهات تستحق وقتك! من دروس تقنية عملية، إلى حلقات بودكاست غنية بالنقاشات... كل شيء صار جاهز على قناتي في يوتيوب!👇 🔹 اختبر الـ APIs باحتراف باستخدام Postman https://youtu.be/5S_NYaHFpGk 🔹 راقب تغييرات الكود مع DevTools باحتراف https://youtu.be/Di7zJTdVcEU…»
بدك تعرف حالة الـ Storage بمشروعك؟
جرب الأمر التالي:
php artisan about --only=Storage


بيعطيك معلومات مثل نوع التخزين، إذا الرابط storage:link مفعّل، وإذا مجلد التخزين قابل للكتابة
===================

Linkedin |Instgram | YouTube

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

🔒 مجلد storage:
هون بينحطو الملفات يلي ما لازم تكون متاحة للعامة، متل اللوجات، الكاش، السيشن، والملفات المرفوعة يلي بدها معالجة أو حماية. السيرفر ما بيوصل لهدول الملفات بشكل مباشر.

🌍 مجلد public:
هاد هو وجهة التطبيق، يعني كل شي لازم يكون ظاهر للزوار من CSS, JS, صور، وغيره... لازم يكون بهالمجلد لأنه هو يلي السيرفر بيعرضه للعالم.

💡 ملاحظة مهمة:
إذا عندك ملف محفوظ بـ storage وبدك تخليه يوصل للناس، بتقدر تعمل رابط رمزي (symlink) من public لهالملف عن طريق الأمر:

php artisan storage:link


خليك منتبه وين بتحط ملفاتك، خصوصي لو فيها معلومات حساسة 🔐

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

Linkedin |Instgram | YouTube

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

هاد محتوى الفيديو الجديد على اليوتيوب

بكرا رح يكون على القناة لهيك لا تنسوا الاشتراك و تفعيل زر الجرس و الاشعارات من هنا
11👍2
متل ما وعدتكم الفيديو صار جاهز على يوتيوب:
https://youtu.be/mm6DPZaPa-U


و نشالله في مجموعة فيديوهات قادمة على الطريق لهيك لا تنسوا الاشتراك و تفعيل زر الجرس و الاشعارات

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
7🔥3
تحياتي جميعاً
اتمنى لكم جميعاً بداية اسبوع موفقة و خالية من الـ Bugs و الـ meeting و كما جرت العادة
نستقبل اسئلتكم عبر Story Instagram من خلال الرابط: هنا

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
8
Code With Somar pinned «تحياتي جميعاً اتمنى لكم جميعاً بداية اسبوع موفقة و خالية من الـ Bugs و الـ meeting و كما جرت العادة نستقبل اسئلتكم عبر Story Instagram من خلال الرابط: هنا =================== Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر…»
كل عام و انتم بخير جميعاً 🙏🏻
15
افترض انه لما بدنا نجيب كتب من الـ DB ومع كل كتاب نجيب المؤلف تبعو، ومع كل مؤلف نجيب بيانات التواصل ودار النشر التابعة إله و الخ منكتب Querys كتيرة، وهاد ممكن يسبب N+1 Problem ويبطئ التطبيق!

فإذا مابتعرف فـ Laravel بيدعم Eager Loading حتى للعلاقات المتداخلة، وبتقدر تكتبها بهالطريقة الموضحة بالصورة

هون:

Book هو الموديل الرئيسي.

author علاقة بين الكتاب والمؤلف.

contacts وpublisher علاقات داخل موديل Author.

يعني بس Query وحدة، Laravel بيجيب كل البيانات المطلوبة بدون ما يعمل Query إضافية لكل مؤلف.

جربها، وراقب الفرق بالأداء! إذا عندك مشروع كبير، هي الطريقة رح توفر عليك كتير

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

Linkedin |Instgram | YouTube

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

هلق صار فيك تستخدم Cache Purge API الكاملة بكل ميزاتها حتى لو كنت عالخطة المجانية أو المدفوعة العادية

فيك تفرّغ الكاش حسب:

Tag 🔖

Prefix 📁

أو Hostname مخصص 🌐

ما عاد لازم تكون على خطة Enterprise لتستفيد من هالميّزات.

هالشي رح يساعدك تتحكم بشكل ادق و اسرع بالـ Cache تبعك

برأيي خطوة ظريفة جداً من Cloudflare

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
👍5🔥2👏1
عم تلاحظ بطء مفاجئ بالتطبيق وما عم تعرف السبب؟
جرب هالكود عندك سجل اي Query طويلة باسهل طريقة

شو الفكرة هون:
أي استعلام بياخد أكتر من 1000ms (1 ثانية)، رح ينعملو log بشكل أوتوماتيكي

وهيك بتعرف شو الـ Querys اللي عم تسبب بطء وتتصرف بناءً عليها

#Laravel #Performance #Debugging #Backend

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

Linkedin |Instgram | YouTube

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

اذا بتعرف حدا او انت المصمم تواصل معي عبر انستغرام: https://www.instagram.com/code.with.somar/
🔥2👍1
Code With Somar pinned «بوست مؤقت بحاجة مصمم يصمملي صورة للكورس القادم اذا بتعرف حدا او انت المصمم تواصل معي عبر انستغرام: https://www.instagram.com/code.with.somar/»