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

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

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

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

Tip #2

لما تستخدم WHERE أو JOIN، حاول دائماً تستعمل الأعمدة يلي عليهم Index
وإذا كان الـ Index مركّب (multi-column index)، فالأفضل تكتب الأعمدة بنفس ترتيب ظهورها داخل الـ Index.

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

🔍 مثال:
لو عندك Index على الأعمدة: (user_id, created_at)
فالـquery التالية رح تستفيد من الـ Index:
SELECT * FROM orders WHERE user_id = 5 AND created_at > '2024-01-01';


لكن هي الـquery ما رح تستفيد بنفس الكفاءة:
SELECT * FROM orders WHERE created_at > '2024-01-01';

كل ما كتبت querys متوافقة مع ترتيب الأعمدة بالـ Index، كل ما استفدت من سرعة البحث.

🚫 أما إذا استخدمت أعمدة مو مفهرسة أو غيّرت الترتيب، فقاعدة البيانات رح تعمل Full Table Scan، وهاد الشي بطيء كتير لما يكون عندك آلاف أو ملايين الصفوف.

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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
8👍1
Code With Somar pinned «Laravel Security Masterclass – من الثغرة إلى الحماية دورة متكاملة صُممت خصيصًا لمطوّري Laravel الراغبين في بناء تطبيقات آمنة واحترافية، قادرة على التصدي للتهديدات الأمنية المتزايدة. ماذا ستتعلّم في هذه الدورة؟ نبدأ من الأساسيات وننتقل بك خطوة بخطوة نحو الاحتراف:…»
Which protocol uses port 22?
Anonymous Quiz
47%
SSH
36%
FTP
9%
HTTP
8%
DNS
1
Which port does SMB (Server Message Block) use?
Anonymous Quiz
23%
23
54%
445
12%
80
12%
21
😢1
Which of the following best describes the purpose of system auditing?
Anonymous Quiz
8%
Block incoming traffic
26%
‏Detect malware signatures
60%
Monitor and log user activity
5%
Optimize internet speed
🏆3
An application is being built that needs to identify faces in images. Which service can be used?
Anonymous Quiz
12%
AWS Polly
18%
AWS Lambda
70%
AWS Rekognition
إذا بتشتغل بـ Laravel، فأنت أكيد استعملت whereIn لما يكون معك array فيها IDs وبدك تعمل عليها استعلام.
بس... شو بصير لو كانت الـ array كبيرة كتير؟

هون الأداء (performance) بينهار، والـ query بصير بطييييء!
الحل؟ استخدم whereIntegerInRaw بدل whereIn، وحتشوف الفرق الواضح بالأداء.

🎥 شرحت كل هالشي بالتفصيل بفيديو على اليوتيوب ليش whereIntegerInRaw هو الخيار الأمثل بهيك حالات.

📺 روح شوف الفيديو من هون:https://youtu.be/mm6DPZaPa-U

وإذا عجبك، لا تنسى تدعمني بلايك واشتراك 🙌
24🔥2👍1
سلسة نصائح DB
Tip #3

إبعد عن الـ Cursors قد ما فيك، لأنها بتسحب أداء السيرفر لورا.
===================

Linkedin |Instgram | YouTube

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

مدخل إلى أمن المعلومات: مفهوم الـ CIA و الفرق بين Secure Code و Secure Infrastructure و غيرها من المعلومات النظرية المهمة.

أساسيات الحماية في Laravel: اهمية ملف الـ env و الـ CSRF و غيرها من ادوات الحماية الاساسية الموجودة داخل Laravel

و يتم الآن العمل على المحور التالي:
📌الهجمات الشائعة وطرق الحماية منها

بإمكانكم الانضمام إلى مجموعة التسجيل المبكر للحصول على دورة بخصم كبير عند انطلاقها و الإجابة على استفساراتكم من خلال الرابط:
https://t.me/+GizVHFz0TYYzNjUy
13👍1
سلسة نصائح DB
Tip #4

حاسس في بطء بالـ Queries؟
راجع مساحة التخزين يلي فيها قاعدة البيانات، لازم تضل فاضية حوالي 30% على الأقل.

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

Linkedin |Instgram | YouTube

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

بـ SQL Server، المقارنة بين 'A' و 'a' هي نفسها.
يعني ما في داعي تستخدم LOWER() أو UPPER() لما تقارن بين Strings.

لأن SQL Server افتراضيًا بيشتغل بـ Collation غير حساس لحالة الأحرف (Case-Insensitive)،
فالمقارنة:

WHERE name = 'ahmed'


رح ترجع 'Ahmed', 'AHMED', 'ahmed'… بدون مشاكل.

وكمان: استخدام LOWER() أو UPPER() بيمنع استخدام الـ Index، وهاد ممكن يبطّئ الاستعلام كتير خاصة بالجداول الكبيرة.



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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
14🔥2👏2
سلسة نصائح DB
Tip #6
الأوبريتورز (Operators) بتأثر بشكل مباشر على أداء الـ query!
= هو الأسرع
بعده >
وبعدين >= و < بيجوا الأبطأ.

ليش؟
لأن المقارنة باستخدام = بتكون مباشرة، أما باقي العمليات بتحتاج فحص أوسع للبيانات.

🔍 مثال:
SELECT * FROM orders WHERE status = 'completed';

أسرع من:
SELECT * FROM orders WHERE amount > 1000;


نصيحة: لما تكتب شروط بـ WHERE، بلّش بأبسط وأسرع شرط، خاصة إذا فيه AND بين الشروط – هيك بتحسّن أداء الـ query وبتخفف الحمل على الـ Query Optimizer



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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
🔥11👍3
Media is too big
VIEW IN TELEGRAM
مقدمة دورة Laravel Security Master Class لتتعرفوا اكثر على المحاور المقدمة خلال الدورة
9🔥3
واحدة من أجمل ميزات Laravel يلي يمكن ما بيعرفها الكل هي التحقق القوي والمبني مسبقًا لكلمات السر باستخدام كلاس Password.

شوف هالمثال:
Password::min(8)
->letters()
->mixedCase()
->numbers()
->symbols()
->uncompromised();

شو يعني؟

لازم تكون الكلمة أكتر من 8 حروف

فيها حروف أبجدية

فيها حروف صغيرة وكبيرة

فيها أرقام

فيها رموز

والأهم: ما تكون مسرّبة من قبل! (uncompromised() بتشيّك تلقائيًا على قاعدة بيانات haveibeenpwned.com)

🔥 هالشي بيرفع مستوى الأمان بشكل رهيب وبسطر كود بسيط.

💬 شو رأيك؟ عم تستخدم هالطريقة بكودك؟ ولا لسه بتكتب قواعد التحقق يدويًا؟

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

Linkedin |Instgram | YouTube

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

#Laravel #WebSecurity #PasswordValidation #PHP #FormRequest #امن_المواقع #LaravelTips
🔥179👍7
سلسة نصائح DB
Tip #7

EXISTS و NOT EXISTS غالبًا بيقدّموا أداء أفضل من IN و NOT IN، خاصة لما تتعامل مع جداول كبيرة.

ليش؟
لأن EXISTS بيوقف أول ما يلاقي نتيجة، بينما IN بيمرّ على كل القيم ويحمّلها بالذاكرة قبل ما يقارن، وهاد الشي بيستهلك وقت وموارد أكتر.

SELECT * FROM orders 
WHERE EXISTS (
SELECT 1 FROM customers WHERE customers.id = orders.customer_id
);


هاد أسرع من:
SELECT * FROM orders 
WHERE customer_id IN (
SELECT id FROM customers
);


📌 كمان BETWEEN بيقدّم أداء أفضل من IN لما تقارن على مدى رقمي متسلسل:
-- أفضل:
WHERE price BETWEEN 100 AND 500

-- أبطأ:
WHERE price IN (100, 101, 102, ..., 500)


الخلاصة:
إذا كنت بتشتغل على conditions بتعتمد على مجموعة قيم أو subqueries، فكّر دائمًا بـ EXISTS أو BETWEEN بدل IN.


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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
9🔥2👍1
بـ PHP 7.4 وفوق، فيك تحط قيمة افتراضية بهالطريقة إذا المتغيّر طالع فاضي أو null:

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

Linkedin |Instgram | YouTube

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

ترتيب الشروط بـ AND و OR بيفرق!
حط الشرط يلي ممكن يكون false أول بـ AND
وحط يلي ممكن يكون true أول بـ OR



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

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
9
أذكى وأجرأ قرار أخدوه تيم React؟ مو الـHooks ولا الـServer Components، ولا حتى الـJSX!

خليني خبركن عن قرار قديم صار بـ2015، ولسا لهلأ عم يغير شكل تطوير الواجهات 👇

بوقتها، قرروا يفصلوا React عن React-DOM
يعني خلّوا React عبارة عن "عقل" ومنطق عام لإدارة الـUI
وخلّوا التّصيير (Rendering) مسؤولية أدوات تانية حسب المنصة

والنتيجة؟
صار فيك تستخدم React بكل مكان تقريبًا:

🔹 react-dom للويب
🔹 react-native للموبايل
🔹 ink للـTerminal (نعم، CLI!)
🔹 react-three-fiber لعوالم 3D
🔹 وغيرهم كتار...

نفس المفاهيم اللي بتحبها بـReact:
state, components, props, hooks...
بس تقدر تستخدمها على أي منصة!

القرار هاد عمل نقلة نوعية، وخلى React تتحول من "مكتبة للويب" لـ"منصة عالمية لبناء الواجهات" 🎯

والأجمل؟ إنو هالقرار من 2015 ولسا لهلأ عم يفتح أبواب جديدة للمطورين!

📌 اللي كتب الوثائق لهالنسخة كانت Sophie Alpert

لو حبيتوا هيك محتوى تقني وتاريخي، لا تنسوا تشاركوه مع المهتمين 💙

#React #WebDev #OpenSource #TechHistory
32👍2
سلسة نصائح OOP

قبل ما ندخل بعالم الـ Object-Oriented Programming، لازم نتفق على أهم نقتطين لازم تهتم فيهم بأي كود بتكتبه:

الـ Readability:
يعني الكود لازم يكون سهل القراءة والفهم لأي مبرمج ممكن ييجي بعدك.
الكود مو معمول بس للكمبايلر، معمول لزملاءك المطورين كمان.

🧠 "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." – Martin Fowler

الـ Reusability
ما في داعي تكرر نفس الكود أكتر من مرة.
إذا عندك قطعة كود عم تتكرر بنفس الطريقة أكتر من مرة، لازم تعيد تنظيمه بطريقة قابلة لإعادة الاستخدام، وهاد بالضبط من أهم أهداف OOP.

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

Linkedin |Instgram | YouTube

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

هلا لازم نفهم شو يعني Programming Paradigm.

🔸 هو باختصار "نمط برمجي" أو "أسلوب كتابة كود".
كل لغة برمجة بتدعم واحد أو أكتر من الـ paradigms، وهي الاستراتيجيات الأساسية لكتابة الكود.

🔹 بنقسم الـ paradigms لقسمين كبار:

Imperative Paradigm – النمط التعليمي

Declarative Paradigm – النمط التصريحي (رح نحكي عنه لاحقًا)

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

Linkedin |Instgram | YouTube

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