غبنا فترة بسبب ضغط العمل لكن راجعلكم بمحتوى جديد و مميز و فيديو جديد على اليوتيوب اليوم
و خلينا نحكيلكم اليوم عن الـ Deadlock
خطأ الـ Deadlock هو حالة بتصير بقاعدة البيانات لما عمليتين (أو أكتر) بيوقفوا لأن كل عملية عم تستنى التانية تحرر الـ lock يلي عندها. يعني باختصار، العمليتين بيعلقوا وبيضلوا ناطرين بعض، وما بيقدروا يكملوا شغلهم إلا إذا النظام تدخل وأوقف واحدة منهن.
كيف بيصير الـ Deadlock؟
خلينا نفترض إنه عنا عمليتين (أو استعلامين) عم يشتغلوا بنفس الوقت:
العملية A بتاخد lock على السجل رقم 1.
العملية B بتاخد lock على السجل رقم 2.
بعدين العملية A بتحاول تاخد lock على السجل رقم 2 (بس هاد السجل معه lock من العملية B)، فبتظل ناطرة.
بنفس الوقت، العملية B بتحاول تاخد lock على السجل رقم 1 (بس هاد السجل معه lock من العملية A)، فبتظل هي كمان ناطرة.
بهالحالة، ولا واحدة من العمليتين بتقدر تكمل لأنها كل وحدة مستنية التانية تحرر الـ lock، وهون النظام بيتدخل وبيوقف واحدة من العمليتين وبيعطيك رسالة خطأ "Deadlock".
كنت بتعرف عن هالحالة من الأخطاء ولا اول مرة بتسمعها مني؟؟
المنشورات القادمة رح نحكي كيف بتم معالجة هيك نوع من المشاكل.
لا تنسوا الاشتراك بقناتي على YouTube حتى تشوفوا الشروحات على شكل فيديوهات
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
و خلينا نحكيلكم اليوم عن الـ Deadlock
خطأ الـ Deadlock هو حالة بتصير بقاعدة البيانات لما عمليتين (أو أكتر) بيوقفوا لأن كل عملية عم تستنى التانية تحرر الـ lock يلي عندها. يعني باختصار، العمليتين بيعلقوا وبيضلوا ناطرين بعض، وما بيقدروا يكملوا شغلهم إلا إذا النظام تدخل وأوقف واحدة منهن.
كيف بيصير الـ Deadlock؟
خلينا نفترض إنه عنا عمليتين (أو استعلامين) عم يشتغلوا بنفس الوقت:
العملية A بتاخد lock على السجل رقم 1.
العملية B بتاخد lock على السجل رقم 2.
بعدين العملية A بتحاول تاخد lock على السجل رقم 2 (بس هاد السجل معه lock من العملية B)، فبتظل ناطرة.
بنفس الوقت، العملية B بتحاول تاخد lock على السجل رقم 1 (بس هاد السجل معه lock من العملية A)، فبتظل هي كمان ناطرة.
بهالحالة، ولا واحدة من العمليتين بتقدر تكمل لأنها كل وحدة مستنية التانية تحرر الـ lock، وهون النظام بيتدخل وبيوقف واحدة من العمليتين وبيعطيك رسالة خطأ "Deadlock".
كنت بتعرف عن هالحالة من الأخطاء ولا اول مرة بتسمعها مني؟؟
المنشورات القادمة رح نحكي كيف بتم معالجة هيك نوع من المشاكل.
لا تنسوا الاشتراك بقناتي على YouTube حتى تشوفوا الشروحات على شكل فيديوهات
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
YouTube
Code With Somar
أهلاً بكم قناة Code With Somar
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
❤5🔥4👍3
كتير من الأشخاص بتضيع و بتخربط بين الـ boot و الـ booted بالـ Models و بتفكرهم نفس الشي لكن الحقيقة انه هي الاجابة صح و خطأ بنفس الوقت تعالوا اشرحلكم كيف 👇🏻
📍 boot:بتنادى أول شي لما يتحمل الـ model، وبتستخدم لإضافة أشياء مثل الـ global scopes أو تعديلات عالاستعلامات قبل الأحداث (مثل الإنشاء أو التحديث).
📍 booted:بتنادى بعد ما يخلص الـ boot، وبتستخدم لتشغل كود بعد ما يكون الـ model جاهز بشكل كامل.
يعني boot للأشياء اللي لازم تصير أول شي، و booted للأشياء اللي بتجي بعدين.
فالنتيجة ما في داعي نضيع بين الـ boot و booted، كل واحدة إلها توقيت محدد وشغلة مختلفة. الـ boot بتنفعك لما بدك تضيف شي قبل الأحداث الأساسية، بينما الـ booted بتشتغل بعد ما يكون الـ model جاهز تمام. بس تعرف هالتفاصيل الصغيرة، بيصير أسهل عليك تشتغل بمرونة أكبر ضمن الـ models تبعك بلارافيل!
و هلا خبروني كنتوا بتعرفوا هي المعلومة قبل ما اشرحلكم ياها ولا عرفتوها مني هلا؟
لا تنسوا الاشتراك بقناتي على YouTube حتى تشوفوا الشروحات على شكل فيديوهات
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
📍 boot:
📍 booted:
يعني boot للأشياء اللي لازم تصير أول شي، و booted للأشياء اللي بتجي بعدين.
فالنتيجة ما في داعي نضيع بين الـ boot و booted، كل واحدة إلها توقيت محدد وشغلة مختلفة. الـ boot بتنفعك لما بدك تضيف شي قبل الأحداث الأساسية، بينما الـ booted بتشتغل بعد ما يكون الـ model جاهز تمام. بس تعرف هالتفاصيل الصغيرة، بيصير أسهل عليك تشتغل بمرونة أكبر ضمن الـ models تبعك بلارافيل!
و هلا خبروني كنتوا بتعرفوا هي المعلومة قبل ما اشرحلكم ياها ولا عرفتوها مني هلا؟
لا تنسوا الاشتراك بقناتي على YouTube حتى تشوفوا الشروحات على شكل فيديوهات
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
YouTube
Code With Somar
أهلاً بكم قناة Code With Somar
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
❤13
سابقاً حكيلتككم عن الـ deadlock و اليوم رح احكيلكم عن مفهوم مرتبط فيها ارتباط كبير اللي هو الـ mutex
الـ mutex هو عبارة عن آلية منستخدمها لنأمن الوصول لموارد مشتركة، يعني لما عندك كود بيشتغل threads multi وبدك تتأكد إنه ما في أكتر من thread واحد بيوصل لنفس المورد بنفس الوقت، بتستخدم الـ mutex. يعني مثلاً إذا عندك متغير وبدك تعدله، الـ mutex بيمنع أي thread تاني يعدل عليه لحتى الـ thread الأول يخلص شغله.
أما الـ deadlock، فهو حالة بتصير لما بيكون عندك أكتر من mutex أو موارد، وكل خيط عم يستنى مورد محتاجه خيط تاني لحتى يكمل شغله، يعني كل واحد مستني الثاني يخلص، وبهالحالة كل threads بتوقف وما بتكمل شغلها.
باختصار، الـ mutex هي وسيلة للتحكم بالوصول للموارد، والـ deadlock هي حالة سلبية بتصير بسبب سوء استخدام هالوسيلة لما بيصير انتظار دائري بين threads.
لا تنسوا الاشتراك بقناتي على YouTube حتى تشوفوا الشروحات على شكل فيديوهات
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
الـ mutex هو عبارة عن آلية منستخدمها لنأمن الوصول لموارد مشتركة، يعني لما عندك كود بيشتغل threads multi وبدك تتأكد إنه ما في أكتر من thread واحد بيوصل لنفس المورد بنفس الوقت، بتستخدم الـ mutex. يعني مثلاً إذا عندك متغير وبدك تعدله، الـ mutex بيمنع أي thread تاني يعدل عليه لحتى الـ thread الأول يخلص شغله.
أما الـ deadlock، فهو حالة بتصير لما بيكون عندك أكتر من mutex أو موارد، وكل خيط عم يستنى مورد محتاجه خيط تاني لحتى يكمل شغله، يعني كل واحد مستني الثاني يخلص، وبهالحالة كل threads بتوقف وما بتكمل شغلها.
باختصار، الـ mutex هي وسيلة للتحكم بالوصول للموارد، والـ deadlock هي حالة سلبية بتصير بسبب سوء استخدام هالوسيلة لما بيصير انتظار دائري بين threads.
لا تنسوا الاشتراك بقناتي على YouTube حتى تشوفوا الشروحات على شكل فيديوهات
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
YouTube
Code With Somar
أهلاً بكم قناة Code With Somar
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
🔥4❤3
الـ N+1 المشكلة اللي اشهر من نار على علم شو هيي؟
الموضوع باختصار إنو لما تجيب بيانات من قاعدة البيانات، إذا كان في عنا علاقات (relations) بين الجداول، النظام أحياناً بيعمل استعلام إضافي (query) لكل عنصر، وهيك بصير عنا عدد كبير من الاستعلامات اللي ممكن نختصرها باستعلام واحد.
مثال بسيط: تخيل إنك عم تجيب 100 منشور من جدول الـ posts، وكل منشور مرتبط بكاتب (author) من جدول تاني. بدال ما نجيب الكتاب مع كل المنشورات باستعلام واحد، بصير النظام يعمل استعلام للـ 100 منشور + 100 استعلام لكل كاتب، يعني صار عنا 101 استعلام بدل 2!
الأرقام هون مهمة:
إذا الاستعلام الواحد بياخد 50ms، 100 استعلام رح ياخد 5 ثواني!
و الاستعلامات الإضافية بتستهلك موارد السيرفر مثل الـ RAM، وبتأدي لبطء ملحوظ بالأداء.
للحل منستعمل الـ eager loading، وهي فكرة بسيطة بتخليك تجيب كل البيانات اللي بدك ياها باستعلام واحد أو استعلامين.
فديروا بالكم و انتبهوا للـ N+1 وقت تشتغلوا على المشاريع و تابعوني على باقي المنصات:
Facebook | Linkedin |Instgram | Telegram | YouTube
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
الموضوع باختصار إنو لما تجيب بيانات من قاعدة البيانات، إذا كان في عنا علاقات (relations) بين الجداول، النظام أحياناً بيعمل استعلام إضافي (query) لكل عنصر، وهيك بصير عنا عدد كبير من الاستعلامات اللي ممكن نختصرها باستعلام واحد.
مثال بسيط: تخيل إنك عم تجيب 100 منشور من جدول الـ posts، وكل منشور مرتبط بكاتب (author) من جدول تاني. بدال ما نجيب الكتاب مع كل المنشورات باستعلام واحد، بصير النظام يعمل استعلام للـ 100 منشور + 100 استعلام لكل كاتب، يعني صار عنا 101 استعلام بدل 2!
الأرقام هون مهمة:
إذا الاستعلام الواحد بياخد 50ms، 100 استعلام رح ياخد 5 ثواني!
و الاستعلامات الإضافية بتستهلك موارد السيرفر مثل الـ RAM، وبتأدي لبطء ملحوظ بالأداء.
للحل منستعمل الـ eager loading، وهي فكرة بسيطة بتخليك تجيب كل البيانات اللي بدك ياها باستعلام واحد أو استعلامين.
فديروا بالكم و انتبهوا للـ N+1 وقت تشتغلوا على المشاريع و تابعوني على باقي المنصات:
Facebook | Linkedin |Instgram | Telegram | YouTube
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
❤19
ما هو نوع الهجوم الذي يتم فيه إدخال نصوص برمجية خبيثة في نماذج الويب أو الـ URLs؟
Anonymous Quiz
47%
SQL Injection
37%
Cross-Site Scripting (XSS)
8%
DDoS
8%
Man-in-the-Middle
: أي من الطرق التالية تُستخدم في REST APIs لاسترجاع بيانات؟
Anonymous Quiz
91%
GET
6%
POST
2%
PUT
0%
DELETE
أي بروتوكول يستخدم بشكل شائع للتواصل بين الـ APIs و الـ Web Clients؟
Anonymous Quiz
6%
FTP
92%
HTTP/HTTPS
1%
SMTP
1%
SSH
أي مما يلي يُستخدم لإنشاء علاقة "One To Many" بين جدولين؟
Anonymous Quiz
73%
FOREIGN KEY
11%
JOIN
14%
PRIMARY KEY
1%
UNIQUE
ما هي العبارة المستخدمة لاسترجاع البيانات من قاعدة بيانات؟
Anonymous Quiz
4%
INSERT
3%
UPDATE
92%
SELECT
0%
DELETE
❤1
منقول من LinkedIn:
We are Hiring at IXCoders
We're seeking the following on-site (Syria - Damascus ) positions:
Position1:
Job Title: Quilty Assurance
Job Type: Contract
Experience Level: junior- level(1+ years of experience)
Closing date for application : 26/9/2024
----------------
Position2:
Job Title: Senior Laravel Developer
Company: IXCoders
Job Type: Contract
Experience Level: Senior (4+ years of experience)
Closing date for application: 16/9/2024
----------------
for detailed job posting contact hr@ixcoders.com
----------------
How to apply:
To apply for these positions, please submit your resume to hr@ixcoders.com. Your email should be entitled "LD-44" for laravel developer and "QA-24" for Quality assurance.
We are Hiring at IXCoders
We're seeking the following on-site (Syria - Damascus ) positions:
Position1:
Job Title: Quilty Assurance
Job Type: Contract
Experience Level: junior- level(1+ years of experience)
Closing date for application : 26/9/2024
----------------
Position2:
Job Title: Senior Laravel Developer
Company: IXCoders
Job Type: Contract
Experience Level: Senior (4+ years of experience)
Closing date for application: 16/9/2024
----------------
for detailed job posting contact hr@ixcoders.com
----------------
How to apply:
To apply for these positions, please submit your resume to hr@ixcoders.com. Your email should be entitled "LD-44" for laravel developer and "QA-24" for Quality assurance.
Linkedin
#onsite #hiring #laravel #qa #quilty_assurance #ixcoders #job #damascus #syria #experience | Amira Khazna Katbi | 11 comments
We are Hiring at IXCoders
We're seeking the following on-site (Syria - Damascus ) positions:
**Position1:
Job Title: Quilty Assurance
Job Type: Contract
Experience Level: junior- level(1+ years of experience)
Closing date for application : 26/9/2024
-…
We're seeking the following on-site (Syria - Damascus ) positions:
**Position1:
Job Title: Quilty Assurance
Job Type: Contract
Experience Level: junior- level(1+ years of experience)
Closing date for application : 26/9/2024
-…
❤2
Are you an innovative Laravel developer with a passion for building scalable web applications? then we have an exciting opportunity for you at Raizer!
Apply Now!
Apply Now!
❤3
بتمنالكم بداية أسبوع موفقة الكم جميعاً
و حابب اتشكركم جميعاً على الدعم هون او على يوتيوب لان وصلني الاسبوع الماضي اول عرض من شركة بخصوص قناتي على اليوتيوب و هاد بعتبره أنجاز ماكنت متخيل اوصله بهيك سرعة. 🙏🏻
حالياً رح ننتقل للمرحلة التالية اللي هيي فريق العمل:
رح نشتغل سوا على محتوى المنصات و رح يكون في عنا نشرة بريدية خاصة بنا.
شو رح تستفاد من انك تكون معنا بفريق العمل:
1- رح زودكم بالمصادر و الحسابات اللي عم تابعها و عم اعتمد عليها كرمال ضل على اطلاع باخر التحديثات و التنقيات و غيره.
2- تواصل مباشر بيناتنا باي شي انا قادر ساعدكم فيه.
3- رح ساعدكم بكيفية كتابة المحتوى حتى تقدروا تنطلقوا مستقبلاً بالمحتوى الخاص فيكم.
4- لا يوجد مردود مادي من الانضمام ولا ساعات عمل انما مجموعة من الواجبات اللي لازم نشتغلها.
5- للفريق اولوية يكون معي بنشاطاتي المستقبلية ( في اكتر من مشروع عم اشتغل عليهم رح يكون الفريق ضمنه )
إذا مهتمين بالانضمام بإمكانكم من خلال تعبئة هذا الفورم: هنا
و حابب اتشكركم جميعاً على الدعم هون او على يوتيوب لان وصلني الاسبوع الماضي اول عرض من شركة بخصوص قناتي على اليوتيوب و هاد بعتبره أنجاز ماكنت متخيل اوصله بهيك سرعة. 🙏🏻
حالياً رح ننتقل للمرحلة التالية اللي هيي فريق العمل:
رح نشتغل سوا على محتوى المنصات و رح يكون في عنا نشرة بريدية خاصة بنا.
شو رح تستفاد من انك تكون معنا بفريق العمل:
1- رح زودكم بالمصادر و الحسابات اللي عم تابعها و عم اعتمد عليها كرمال ضل على اطلاع باخر التحديثات و التنقيات و غيره.
2- تواصل مباشر بيناتنا باي شي انا قادر ساعدكم فيه.
3- رح ساعدكم بكيفية كتابة المحتوى حتى تقدروا تنطلقوا مستقبلاً بالمحتوى الخاص فيكم.
4- لا يوجد مردود مادي من الانضمام ولا ساعات عمل انما مجموعة من الواجبات اللي لازم نشتغلها.
5- للفريق اولوية يكون معي بنشاطاتي المستقبلية ( في اكتر من مشروع عم اشتغل عليهم رح يكون الفريق ضمنه )
إذا مهتمين بالانضمام بإمكانكم من خلال تعبئة هذا الفورم: هنا
Google Docs
طلب انضمام
❤27🔥8👍2
هيك رسائل بتوصلني كل فترة و بكل مرة بفرح فيها.
فيديو مشاريع التخرج التقنية كان من الفيديوهات اللي انتعب عليها كتير و حاولت خليها تكون خارطة طريق عامة للموضوع ليس فقط لكيف تبني مشروع تخرجك إنما كيف تبني مشروع تقني المعلومات اللي فيه و الطريقة اللي حاولت اشرحها و وصلها الكم كنت متمني اني اعرفها او انه شخص يشرحلي الامور لان كنت مستعصب الموضوع كله.
الف مبروك لكل مين قدم مشروع و استفاد من الفيديو.
اللي حابب يشوف الفيديو بإمكانكم من: هنا
فيديو مشاريع التخرج التقنية كان من الفيديوهات اللي انتعب عليها كتير و حاولت خليها تكون خارطة طريق عامة للموضوع ليس فقط لكيف تبني مشروع تخرجك إنما كيف تبني مشروع تقني المعلومات اللي فيه و الطريقة اللي حاولت اشرحها و وصلها الكم كنت متمني اني اعرفها او انه شخص يشرحلي الامور لان كنت مستعصب الموضوع كله.
الف مبروك لكل مين قدم مشروع و استفاد من الفيديو.
اللي حابب يشوف الفيديو بإمكانكم من: هنا
❤19🔥4👍1
رجعنا على النشر اليومي نشالله و بمساعدة كريمة جداً من فريق كتاب المحتوى اللي رح يساهموا بشكل كتير كبير بتنوع المحتوى اللي رح يصير ينزل و كميته مما يعني فائدة اكبر 🔥🙏🏻
كونوا جاهزين لكمية منشورات كبيرة و لاتنسوا تنشروا القناة بين أصدقائكم و تدعمونا بـ Like على الـ Page بالـ facebook
كونوا جاهزين لكمية منشورات كبيرة و لاتنسوا تنشروا القناة بين أصدقائكم و تدعمونا بـ Like على الـ Page بالـ facebook
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
❤11🔥1
لما بدنا نحكي عن الـ (OOP)، في مصطلحين مهمين لازم نعرفهم ونفهم الفرق بيناتهم، و هنن : self و this.
الـ self بتدل على الـ class الحالي، يعني بتستخدم لما بدنا نحكي عن أشياء ثابتة (static) موجودة ضمن الـ class. بمعنى تاني، الـ self هي بتعبر عن بنية الـ class نفسها، يعني كل شي ثابت داخل الـ class.
أما الـ this، فهي بتدل على الـ object اللي منشأ من الـ class. يعني إذا عملنا instance (أو object) من الـ class، وقتا منستخدم this لنشير لهذا الـ object بالتحديد. فالـ this بتتعامل مع الخصائص (properties) و الـ (methods) اللي هي مو static.
ببساطة، فيك تقول إنو الـ self هي عم توصف بنية الـ class بشكل عام وما بتوصف شي خاص بمتغير معين، بينما الـ this بتوصف المتغيرات العادية والـ object اللي عم نتعامل معه بشكل مباشر.
بالنهاية، الـ self بتركز على الأمور الثابتة ضمن الـ class، أما الـ this فبتركز على الأمور اللي بتخص الـ object اللي عم نشتغل عليه
مثال توضيحي موجود ضمن الـ Comments 👇🏻
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
شكراً لـ Yousef Saleh على المساعدة في إعداد هذا المحتوى.
#OOP #SelfVsThis #ObjectOrientedProgramming #CodingTips #ProgrammingConcepts #SoftwareDevelopment #StaticVsInstance #CodingBasics #Developers #TechEducation #PythonProgramming #ProgrammingFundamentals #WebDevelopment #SoftwareEngineering #Laravel #php #web #iraq #erbil #UAE #syria
الـ self بتدل على الـ class الحالي، يعني بتستخدم لما بدنا نحكي عن أشياء ثابتة (static) موجودة ضمن الـ class. بمعنى تاني، الـ self هي بتعبر عن بنية الـ class نفسها، يعني كل شي ثابت داخل الـ class.
أما الـ this، فهي بتدل على الـ object اللي منشأ من الـ class. يعني إذا عملنا instance (أو object) من الـ class، وقتا منستخدم this لنشير لهذا الـ object بالتحديد. فالـ this بتتعامل مع الخصائص (properties) و الـ (methods) اللي هي مو static.
ببساطة، فيك تقول إنو الـ self هي عم توصف بنية الـ class بشكل عام وما بتوصف شي خاص بمتغير معين، بينما الـ this بتوصف المتغيرات العادية والـ object اللي عم نتعامل معه بشكل مباشر.
بالنهاية، الـ self بتركز على الأمور الثابتة ضمن الـ class، أما الـ this فبتركز على الأمور اللي بتخص الـ object اللي عم نشتغل عليه
مثال توضيحي موجود ضمن الـ Comments 👇🏻
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
شكراً لـ Yousef Saleh على المساعدة في إعداد هذا المحتوى.
#OOP #SelfVsThis #ObjectOrientedProgramming #CodingTips #ProgrammingConcepts #SoftwareDevelopment #StaticVsInstance #CodingBasics #Developers #TechEducation #PythonProgramming #ProgrammingFundamentals #WebDevelopment #SoftwareEngineering #Laravel #php #web #iraq #erbil #UAE #syria
🔥11❤9👍3
الفرق بين الـ Anonymous Function والـ Closure Function
من أهم الأسئلة الشائعة بمقابلات العمل، خلونا نعرف التفاصيل:
الـ Anonymous Function أو المعروفة كمان باسم lambda function هي function بدون اسم. فينا نخزنها بمتغير أو نمررها كـ parameter لـ function تانية.
الـ Closure Function هي نوع خاص من الـ Anonymous Function. اللي بيميزها وبخليها تنقال عليها Closure Function هو إنها بتستخدم variables من نطاقات خارجية (يعني بتقدر توصل لمتغيرات بدون ما نمررها إلها بشكل مباشر كوسيط).
ملاحظة: مو كل Anonymous Function هي Closure Function، بس كل Closure Function هي Anonymous Function.
الاختلافات:
النطاق أو الـ Scope: توابع الـ Closure بتقدر توصل للمتغيرات من النطاق المحيط فيها من خلال كلمة use (متل ما بنشوف بالمثال).
سهولة القراءة: الـ Closure Function بتخلي الكود أحياناً أوضح وأسهل للفهم، خصوصي إذا منحتاج نستخدم متغيرات خارجية. أما الـ Anonymous Function فهي أكتر بتستخدم بالمهام القصيرة والبسيطة.
باختصار:
الـ Closure Function والـ Anonymous Function هن أدوات مفيدة وقيمة بـ PHP لإنشاء functions بدون تسميتها بشكل صريح. الـ Closure Function بتكون مفيدة لما نحتاج نوصل لمتغيرات من النطاق المحيط، أما الـ Anonymous Function فهي بتكون عامة أكتر وبنستخدمها للمهام البسيطة والقصيرة.
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
لا تنسوا تتابعوني على FaceBook
شكراً لـ Ayham Ibrahim على المساعدة في إعداد هذا المحتوى
من أهم الأسئلة الشائعة بمقابلات العمل، خلونا نعرف التفاصيل:
الـ Anonymous Function أو المعروفة كمان باسم lambda function هي function بدون اسم. فينا نخزنها بمتغير أو نمررها كـ parameter لـ function تانية.
الـ Closure Function هي نوع خاص من الـ Anonymous Function. اللي بيميزها وبخليها تنقال عليها Closure Function هو إنها بتستخدم variables من نطاقات خارجية (يعني بتقدر توصل لمتغيرات بدون ما نمررها إلها بشكل مباشر كوسيط).
ملاحظة: مو كل Anonymous Function هي Closure Function، بس كل Closure Function هي Anonymous Function.
الاختلافات:
النطاق أو الـ Scope: توابع الـ Closure بتقدر توصل للمتغيرات من النطاق المحيط فيها من خلال كلمة use (متل ما بنشوف بالمثال).
سهولة القراءة: الـ Closure Function بتخلي الكود أحياناً أوضح وأسهل للفهم، خصوصي إذا منحتاج نستخدم متغيرات خارجية. أما الـ Anonymous Function فهي أكتر بتستخدم بالمهام القصيرة والبسيطة.
باختصار:
الـ Closure Function والـ Anonymous Function هن أدوات مفيدة وقيمة بـ PHP لإنشاء functions بدون تسميتها بشكل صريح. الـ Closure Function بتكون مفيدة لما نحتاج نوصل لمتغيرات من النطاق المحيط، أما الـ Anonymous Function فهي بتكون عامة أكتر وبنستخدمها للمهام البسيطة والقصيرة.
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
لا تنسوا تتابعوني على FaceBook
شكراً لـ Ayham Ibrahim على المساعدة في إعداد هذا المحتوى
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
❤13🔥9👍1
إذا عم تطلعلكم مشاكل بارسال الإشعارات بالـ Fire Base اخر فترة ف جبتلكم الحل 🔥
فيديو جديد مجدول رح يحللكم هي المشكلة على قناة اليوتيوب:
https://www.youtube.com/channel/UCSteMo_qy4wi_L3T5G6zb1Q
فيديو جديد مجدول رح يحللكم هي المشكلة على قناة اليوتيوب:
https://www.youtube.com/channel/UCSteMo_qy4wi_L3T5G6zb1Q
🔥11
اللي قادر يحضر هيك تدريبات يحضر لا تقلي انا اختصاصي برمجيات او انا ذكاء رح تحتاج هي المعلومات مليون بالمية
للمهندسين الخريجين و الطلاب في كليات الهندسة المعلوماتية و الاتصالات و هندسة الحاسبات و الكليات التطبيقية و تكنولوجيا المعلومات.
🛑 لطلاب معاهد الهندسية التقنية و معاهد الحاسوب.
🛑 لكل من يرغب بالدخول بمجال هندسة الشبكات و يريد ان يمتلك قاعدة صحيحة لتأسيسه.
يعلن مركز خطوات للشباب في #جبلة - #اللاذفية عن تدريب تصميم شبكات الحاسوب
200-301 CCNA
للتسجيل، يرجى تعبئة الاستمارة في التعليق:
#مجلس_الشباب_السوري
https://forms.gle/wrEpF1B1UkrrJTan8
المصدر: هنا
للمهندسين الخريجين و الطلاب في كليات الهندسة المعلوماتية و الاتصالات و هندسة الحاسبات و الكليات التطبيقية و تكنولوجيا المعلومات.
🛑 لطلاب معاهد الهندسية التقنية و معاهد الحاسوب.
🛑 لكل من يرغب بالدخول بمجال هندسة الشبكات و يريد ان يمتلك قاعدة صحيحة لتأسيسه.
يعلن مركز خطوات للشباب في #جبلة - #اللاذفية عن تدريب تصميم شبكات الحاسوب
200-301 CCNA
للتسجيل، يرجى تعبئة الاستمارة في التعليق:
#مجلس_الشباب_السوري
https://forms.gle/wrEpF1B1UkrrJTan8
المصدر: هنا
❤6👍2
لما نحكي عن الـ components اللي بتتعامل مع الـ State او ما يسمى بـ (stateful components) بـ React، معناها هي الـ component بتخزن بيانات جواتها، وهاد الشي بيسمح للبيانات إنها تتغير مع مرور الوقت.
لحتى يكون الـ component stateful، في طريقتين:
- يا إما بتكون من نوع class component أو تستخدم الـ (hook) useState بالـ functional components.
الـ state هي اللي بتخلّي الـ component يتفاعل مع التغييرات، متل مدخلات المستخدم أو الأحداث اللي بتصير عالصفحة. وكل ما تغيّرت هي الـ state الـ component بيرجع بينعمله re-render لحتى يعرض البيانات الجديدة.
أما الـ components اللي ما بتحتوي الـ state او ما تسمى بـ (stateless components) فهي components بسيطة، وغالباً بتكون functional components اللي بس بتعتمد على props اللي بيجوا من خارج المكون. هالنوع من الـ components ممتاز لما بدك تعرض محتوى ثابت أو واجهة مستخدم ما بتحتاج تخزين بيانات أو تغييرها جوات المكون.
بالتالي، الفرق الأساسي هو إنو الـ stateful components بتتعامل مع البيانات اللي بتتغير، بينما الـ stateless components بتعرض بيانات ثابتة أو بتعتمد على props جاهزة وما بتتعامل مع أي تغييرات داخلية.
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
لا تنسوا تتابعوني على FaceBook
شكراً لفريق كتابة المحتوى على المساعدة في إعداد هذا المنشور.
لحتى يكون الـ component stateful، في طريقتين:
- يا إما بتكون من نوع class component أو تستخدم الـ (hook) useState بالـ functional components.
الـ state هي اللي بتخلّي الـ component يتفاعل مع التغييرات، متل مدخلات المستخدم أو الأحداث اللي بتصير عالصفحة. وكل ما تغيّرت هي الـ state الـ component بيرجع بينعمله re-render لحتى يعرض البيانات الجديدة.
أما الـ components اللي ما بتحتوي الـ state او ما تسمى بـ (stateless components) فهي components بسيطة، وغالباً بتكون functional components اللي بس بتعتمد على props اللي بيجوا من خارج المكون. هالنوع من الـ components ممتاز لما بدك تعرض محتوى ثابت أو واجهة مستخدم ما بتحتاج تخزين بيانات أو تغييرها جوات المكون.
بالتالي، الفرق الأساسي هو إنو الـ stateful components بتتعامل مع البيانات اللي بتتغير، بينما الـ stateless components بتعرض بيانات ثابتة أو بتعتمد على props جاهزة وما بتتعامل مع أي تغييرات داخلية.
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
لا تنسوا تتابعوني على FaceBook
شكراً لفريق كتابة المحتوى على المساعدة في إعداد هذا المنشور.
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
🔥7❤2👍1