الموقع دة تديله اي كود بيوريلك الكومبايلر بينفذه ازاي خطوة بخطوة وبيشرحلك بيعمل اية بالظبط
https://pythontutor.com/visualize.html
follow @dibo_talk
https://pythontutor.com/visualize.html
follow @dibo_talk
👍2
بدل ما تستخدم console.log ممكن برضو تستخدم console.table عشان يعرضلك ال log علي هيئة جدول جميل زي دة كدة
جرب بنفسك
جرب بنفسك
let foods = [
{
name: '🍔',
price: 30.89,
group: 1,
},
{
name: '🍨',
price: 20.71,
group: 1,
},
{
name: '🍿',
price: 10.31,
group: 2,
},
{
name: '🍵',
price: 5.98,
group: 2,
},
]
console.table(foods)
❤6👍1
قبل Angular 15 لما بتحب تحقن dependencies كنت بتحطهم في الـ constructor زي كدة
class MyComponent{
constructor(activatedRoute: ActivatedfRoute){}
}
دلوقت بأة ممكن تستخدم function جديدة اسمها inject()
طب هنستفيد اية يعني؟!!
اول ميزة تقدر تستخدمها جوة function ودي بتدينا ميزة rusability زي كدة
function getParam( paramName: string){
let activatedRoute = inject(ActivatedRoute)
return activatedRoute.snapshot.paramM.get(paramName)
}
ودلوقت نقدر نستخدمها ف اي كلاس من غير ما نحتاج نحقن ActivatedRoute في الكلاس
class MyComponent{
id: string;
constructor(){
this.id = getParam("id")
}
}
class MyComponent{
constructor(activatedRoute: ActivatedfRoute){}
}
دلوقت بأة ممكن تستخدم function جديدة اسمها inject()
طب هنستفيد اية يعني؟!!
اول ميزة تقدر تستخدمها جوة function ودي بتدينا ميزة rusability زي كدة
function getParam( paramName: string){
let activatedRoute = inject(ActivatedRoute)
return activatedRoute.snapshot.paramM.get(paramName)
}
ودلوقت نقدر نستخدمها ف اي كلاس من غير ما نحتاج نحقن ActivatedRoute في الكلاس
class MyComponent{
id: string;
constructor(){
this.id = getParam("id")
}
}
👍2
لو انت جديد في #unit_testing شوية المفاهيم دي هتنفعك جدا
follow @dibo_talks
عملية الـ #testing متقسمة ل 4 أجزاء
كل جزء فيهم هتلاقي مكتبة معينة متخصصة فيه
- Test runner
ودة مسؤل عن تشغيل الاختبارات وبيقرر انه تيست هيشتغل وانهو لأ, ومين هيشتغل قبل مين
- Assertion
ودي بنستخدمها أثناء الاختبار عشان نقرر اذا كان الاختبار ناجح ولا لأ
وبصفة اساسية عشان نتأكد ان النتايج المتوقعة مطابقة للنتايج المتوقعة
- test doubles
ودي بتوفرلنا طرق لعمل mocking و spies
أهم المكتبات المستخدمة في التيستنج
- #Jasmine
ودي من اهم مميزاتها انها مكتبة شاملة, يعني فيها runner و assertionو doubles
جاهزة للاستخدام المباشر من غير اي اعدادات كتير
- #jest
من انتاج #فيسبوك, تشبه jasmone من حيث انها مكتبة شاملة وكمان جاهزة للاستخدام من غير اي اعدادات
ميزتها انها سريعة جدا وبتنفذ الاختبارات ع التوازي فبتنجز الموقضوع في وقت اقل من اي مكتبة تانية
- #mocha
عارف مشروب الموكا؟
المكتبة دي بتديلك الحد الادني لاجراء الاختبارات, مش مكتبة شاملة زي jasmine و jest
ودة معناه انها محتاجة test runner يشغل الاختبارات
بما انها موكا فغالبا بنستخدم معاها شاي .. او مكتبة Chai
تحسهم كدة بيعلوا الألش علي بعض
وبرضو هنحتاج مكتبة نعمل بيها doubles اللي هي mocks و spies لو تفتكر
ممكن مثلا نستخدم حاجة زي Sinson
واكيد طبعا هنحتاج مكتبة للـ assertion عشان نعمل الاختبار نفسه
ممكن نستخدم حاجة زي Better-assert, shouldjs, unexpected
- #Nodejs
ودي حاجة واقعة من ناس كتير, Nodejs نفسها فيها assert library ممتازة جدا
لغاية وقت قريب كانت للاستخدام الداخلي بس, لكن فتحوها وخلوها متاحة للجميع
في الاصدارات الجديدة من Node عملوا test runners من غير اي مكتبة خارجية
- Karma
كارما مختلفة عن اي مكتبة تانية لانها بتشغل الاختبارات في browsers حقيقية
وأخيرا لو تحب ارشحلك افضل مكتبة تستخدمها في ال testing
الاختيار هيكون بناء علي تجاربي الشخصية وخبراتي الشخصية
بصفة عامة اول حاجة بفكر فيها هي Jest
لانها سريعة جدا وشاملة وفي نفس الوقت جاهزة للاستخدام فورا ومش محتاجة تستخدم معاها مكتبات تانية
في حالات معينة بحتاج اشغل الاختبارات في browsers حقيقية فبلجأ في الحالة دي ل Karma
لو بتتعلم تيتنج سيب كومنت عشان ابعتلك مواعيد الكورس المجاني
follow @dibo_talks
عملية الـ #testing متقسمة ل 4 أجزاء
كل جزء فيهم هتلاقي مكتبة معينة متخصصة فيه
- Test runner
ودة مسؤل عن تشغيل الاختبارات وبيقرر انه تيست هيشتغل وانهو لأ, ومين هيشتغل قبل مين
- Assertion
ودي بنستخدمها أثناء الاختبار عشان نقرر اذا كان الاختبار ناجح ولا لأ
وبصفة اساسية عشان نتأكد ان النتايج المتوقعة مطابقة للنتايج المتوقعة
- test doubles
ودي بتوفرلنا طرق لعمل mocking و spies
أهم المكتبات المستخدمة في التيستنج
- #Jasmine
ودي من اهم مميزاتها انها مكتبة شاملة, يعني فيها runner و assertionو doubles
جاهزة للاستخدام المباشر من غير اي اعدادات كتير
- #jest
من انتاج #فيسبوك, تشبه jasmone من حيث انها مكتبة شاملة وكمان جاهزة للاستخدام من غير اي اعدادات
ميزتها انها سريعة جدا وبتنفذ الاختبارات ع التوازي فبتنجز الموقضوع في وقت اقل من اي مكتبة تانية
- #mocha
عارف مشروب الموكا؟
المكتبة دي بتديلك الحد الادني لاجراء الاختبارات, مش مكتبة شاملة زي jasmine و jest
ودة معناه انها محتاجة test runner يشغل الاختبارات
بما انها موكا فغالبا بنستخدم معاها شاي .. او مكتبة Chai
تحسهم كدة بيعلوا الألش علي بعض
وبرضو هنحتاج مكتبة نعمل بيها doubles اللي هي mocks و spies لو تفتكر
ممكن مثلا نستخدم حاجة زي Sinson
واكيد طبعا هنحتاج مكتبة للـ assertion عشان نعمل الاختبار نفسه
ممكن نستخدم حاجة زي Better-assert, shouldjs, unexpected
- #Nodejs
ودي حاجة واقعة من ناس كتير, Nodejs نفسها فيها assert library ممتازة جدا
لغاية وقت قريب كانت للاستخدام الداخلي بس, لكن فتحوها وخلوها متاحة للجميع
في الاصدارات الجديدة من Node عملوا test runners من غير اي مكتبة خارجية
- Karma
كارما مختلفة عن اي مكتبة تانية لانها بتشغل الاختبارات في browsers حقيقية
وأخيرا لو تحب ارشحلك افضل مكتبة تستخدمها في ال testing
الاختيار هيكون بناء علي تجاربي الشخصية وخبراتي الشخصية
بصفة عامة اول حاجة بفكر فيها هي Jest
لانها سريعة جدا وشاملة وفي نفس الوقت جاهزة للاستخدام فورا ومش محتاجة تستخدم معاها مكتبات تانية
في حالات معينة بحتاج اشغل الاختبارات في browsers حقيقية فبلجأ في الحالة دي ل Karma
لو بتتعلم تيتنج سيب كومنت عشان ابعتلك مواعيد الكورس المجاني
الموقع دة كنز لاي حد بيحب يطور نفسه باستمرار..
اديله اي مجال يعجبك وهو هيجمعلك الكورسات المجانية من مواقع كتير زي كورسيرا ويوديمي
datakwery.com
follow @dibo_talks
اديله اي مجال يعجبك وهو هيجمعلك الكورسات المجانية من مواقع كتير زي كورسيرا ويوديمي
datakwery.com
follow @dibo_talks
👍1
في فرصة شغل في #Apple
محتاجين devOps engineer مش شرط خبرة
الشغل في الهند
join @dibo_talks
Qualifications:
- Experience deploying and managing CI/CD pipelines.
- Experience managing applications on any leading cloud platforms eg. AWS
- Working knowledge of databases and SQL
apply👇
https://jobs.apple.com/en-us/details/200375434/devops-engineer
محتاجين devOps engineer مش شرط خبرة
الشغل في الهند
join @dibo_talks
Qualifications:
- Experience deploying and managing CI/CD pipelines.
- Experience managing applications on any leading cloud platforms eg. AWS
- Working knowledge of databases and SQL
apply👇
https://jobs.apple.com/en-us/details/200375434/devops-engineer
فرص #شغل في فوري
Senior Bigdata Engineer
Senior BI Engineer
Senior Data Engineer
apply:
https://linkedin.com/posts/dibo_aecaeiaes-aepaewaezaey-activity-7027610649459372032-pdt_
follow @dibo_talks
Senior Bigdata Engineer
Senior BI Engineer
Senior Data Engineer
apply:
https://linkedin.com/posts/dibo_aecaeiaes-aepaewaezaey-activity-7027610649459372032-pdt_
follow @dibo_talks
فرص #شغل في FlairsTech
- Senior Java Developer
- Senior SQL Developer
- Senior Business Analyst
apply:
menna.sayed@flairstech.com
للمزيد من الفرص تابع @dibo_talks
- Senior Java Developer
- Senior SQL Developer
- Senior Business Analyst
apply:
menna.sayed@flairstech.com
للمزيد من الفرص تابع @dibo_talks
فرص #شغل في SmartTech خبرة سنتين في React و javascript
قدم هنا:
mai.awaad@smarttechsys.com
للمزيد من الفرص تابع @dibo_talks
قدم هنا:
mai.awaad@smarttechsys.com
للمزيد من الفرص تابع @dibo_talks
فرص #شغل في DAWAM بنظان hybrid
مطلوب BI developer خبرة سنة او اتنين
المتطلبات:
- BSc/BA in computer science, Engineering or relevant field.
- Experience: 1-2 years of experience in OBIEE and Crystal reports.
- IBM datastage is a plus.
- Background in data warehouse design.
- Translate business needs to technical specifications.
- Develop new reports.
#الشغل في القرية الذكية واونلاين
apply:
n.mohamed@dawam-eg.org
للمزيد من الفرص تابع @dibo_talks
مطلوب BI developer خبرة سنة او اتنين
المتطلبات:
- BSc/BA in computer science, Engineering or relevant field.
- Experience: 1-2 years of experience in OBIEE and Crystal reports.
- IBM datastage is a plus.
- Background in data warehouse design.
- Translate business needs to technical specifications.
- Develop new reports.
#الشغل في القرية الذكية واونلاين
apply:
n.mohamed@dawam-eg.org
للمزيد من الفرص تابع @dibo_talks
فرصة #شغل في Digis Squared العالمية بنظام hybrid
الشركة لها فروع في لندن ودبي والقاهرة
المطلوب Senior Nodejs
apply:
https://digis2.com/career/senior-backend-developer
للمزيد من الفرص تابع @dibo_talks
الشركة لها فروع في لندن ودبي والقاهرة
المطلوب Senior Nodejs
apply:
https://digis2.com/career/senior-backend-developer
للمزيد من الفرص تابع @dibo_talks
فرصة #شغل في Digis Squared العالمية بنظام hybrid
الشركة لها فروع في لندن ودبي والقاهرة
المطلوب Senior Nodejs
apply:
https://digis2.com/career/senior-backend-developer
للمزيد من الفرص تابع @dibo_talks
الشركة لها فروع في لندن ودبي والقاهرة
المطلوب Senior Nodejs
apply:
https://digis2.com/career/senior-backend-developer
للمزيد من الفرص تابع @dibo_talks
فرصة #شغل لحديثي التخرج في IT Cores في مجال QC
apply:
m.mohamed@it-cores.com
للمزيد من الفرص تابع @dibo_talks
apply:
m.mohamed@it-cores.com
للمزيد من الفرص تابع @dibo_talks
فرصة #شغل لحديثي التخرج في IT Cores في مجال QC
apply:
m.mohamed@it-cores.com
للمزيد من الفرص تابع @dibo_talks
apply:
m.mohamed@it-cores.com
للمزيد من الفرص تابع @dibo_talks
👍1
فرص #شغل في FlairsTech
- Senior Java Developer
- Senior SQL Developer
- Senior Business Analyst
apply:
menna.sayed@flairstech.com
للمزيد من الفرص تابع @dibo_talks
- Senior Java Developer
- Senior SQL Developer
- Senior Business Analyst
apply:
menna.sayed@flairstech.com
للمزيد من الفرص تابع @dibo_talks
👎1
مطلوب #Angular #developer خبرة سنتين او اكتر لشركة في التجمع الخامس
يومين اجازة في الاسبوع
apply:
menna.muhsen@bydotpy.com
follow @dibo_talks
يومين اجازة في الاسبوع
apply:
menna.muhsen@bydotpy.com
follow @dibo_talks
👍1
مطلوب software testers و testing team leadفي فودافون بنظام hybrid
apply:
https://opportunities.vodafone.com/job/Cairo-Software-Testing-Team-Lead/901158901
follow @dibo_talks
apply:
https://opportunities.vodafone.com/job/Cairo-Software-Testing-Team-Lead/901158901
follow @dibo_talks
👍1
ممكن تعرف function من غير implementation?
زي دي كدة
احنا هنا ماعرفناش غير اسم ال function بس, لكن ماعرفناش هي بتعمل اية ولا حتي عملنا body للدالة
طب ودي هنستفيد بيها ف اية طالما مابتعملش حاجة!!
الطريقة دي في البرمجة اسمها abstraction
ال abstraction بالعربي معناها تجريدي, زي الفن التجريدي كدة, اللي هو رسمة مش بتقول حاجة معينة
ال function دي مابتعملش حاجة معينة فبنسميها abstraction
خلينا متفقين ان في نوعين من ال consumers اللي هما بيستخدموا ال function دي او الكلاس اللي فيه الفنكشن دي
تعالي نبعد عن البرمجة شوية نفهم الموضوع ببساطة وبعد كدة نطبقه هنا في البرمجة
لو عندنا عربية عاوزين نحركها هتعمل اية؟ هتدوس بنزين
اقصي معلوماتك عن العربية انك هتدوس بنزين, لكن ماتعرفش دوسة البنزين دي بتعمل اية بالظبط خلف الكواليس
ودة كدة النوع الاول من المستخدمين او الـ consumers اللي هما عاوزين يستخدموا الحاجة بس ف نفس الوقت مش عاوزين يشغلوا بالهم هي بتشتغل ازاي
اما #المهندس اللي عامل العربية هو اللي بيعمل الـ implementation بتاع دواسة البنزين
يعني لما انت هتدوس بنزين هيحصل كذا وكذا والموتور هيعمل كذا ودايرة الاحتراق هتشتغل بالطريقة الفلانية وهكذا
يبأة فيه مستخدم للفنكشن وفي maintainer لها
نرجع للبرمجة, ولاني بحب دايما اربط #البرمجة بالواقع العملي فهنطبق مثال العربية دة بس برمجيا
تخيل ان عندنا كلاس اسمه Car جوة منه فنكشن اسمها move()
انت بأة عاوز تقول لما يحصل كذا هنـ move() العربية
بس مش عاوز تشغل بالك هنحركها ازاي
هتسيب التفصيلة دي للـ maintainer هو اللي يحط تفاصيل الفنكشن .. المهم بالنسبالك انك في لحظة معينة هتنده الفنكشن دي
الـ abstract class هو الكلاس اللي الـ methods بتاعته مالهاش implementation
والـ Interface هو كمان مافيهوش implementation
اية بأة الفرق بين ال interface والـ abstract
زي دي كدة
move();
احنا هنا ماعرفناش غير اسم ال function بس, لكن ماعرفناش هي بتعمل اية ولا حتي عملنا body للدالة
طب ودي هنستفيد بيها ف اية طالما مابتعملش حاجة!!
الطريقة دي في البرمجة اسمها abstraction
ال abstraction بالعربي معناها تجريدي, زي الفن التجريدي كدة, اللي هو رسمة مش بتقول حاجة معينة
ال function دي مابتعملش حاجة معينة فبنسميها abstraction
خلينا متفقين ان في نوعين من ال consumers اللي هما بيستخدموا ال function دي او الكلاس اللي فيه الفنكشن دي
تعالي نبعد عن البرمجة شوية نفهم الموضوع ببساطة وبعد كدة نطبقه هنا في البرمجة
لو عندنا عربية عاوزين نحركها هتعمل اية؟ هتدوس بنزين
اقصي معلوماتك عن العربية انك هتدوس بنزين, لكن ماتعرفش دوسة البنزين دي بتعمل اية بالظبط خلف الكواليس
ودة كدة النوع الاول من المستخدمين او الـ consumers اللي هما عاوزين يستخدموا الحاجة بس ف نفس الوقت مش عاوزين يشغلوا بالهم هي بتشتغل ازاي
اما #المهندس اللي عامل العربية هو اللي بيعمل الـ implementation بتاع دواسة البنزين
يعني لما انت هتدوس بنزين هيحصل كذا وكذا والموتور هيعمل كذا ودايرة الاحتراق هتشتغل بالطريقة الفلانية وهكذا
يبأة فيه مستخدم للفنكشن وفي maintainer لها
نرجع للبرمجة, ولاني بحب دايما اربط #البرمجة بالواقع العملي فهنطبق مثال العربية دة بس برمجيا
تخيل ان عندنا كلاس اسمه Car جوة منه فنكشن اسمها move()
انت بأة عاوز تقول لما يحصل كذا هنـ move() العربية
بس مش عاوز تشغل بالك هنحركها ازاي
هتسيب التفصيلة دي للـ maintainer هو اللي يحط تفاصيل الفنكشن .. المهم بالنسبالك انك في لحظة معينة هتنده الفنكشن دي
الـ abstract class هو الكلاس اللي الـ methods بتاعته مالهاش implementation
والـ Interface هو كمان مافيهوش implementation
اية بأة الفرق بين ال interface والـ abstract
👍4🔥4❤3😁1