فرص الشغل في الشركات الانترناشونال بتنزل هنا
t.me/its_dibo
t.me/its_dibo
Telegram
Dibo
هنساعدك تلاقي شغل وتتعلم وتكتسب خبرة ببلاش
بابا البرمجة
linkedin.com/in/dibo
بابا البرمجة
linkedin.com/in/dibo
❤1👍1
تعالوا نتكلم شوية عنن مميزات جديدة في #Angular
- the new control flow
- deffered loading
اشترك في قناة التليجرام عشان تتعلم كل حاجة ببلاش
@its_dibo
عارف ال structural directives في Angular?
لو مش فاكرها افكرك, اللي هي *ngIf و *ngFor وكدة
دي بنسميها control flow لانها بتتحكم في ال flow بتاع ال DOM بتاعك التيمبليت dynamically
فملا لو عاوزين نظهر element معين في حالة معينة ممكن نعمل كدة
<div *ngIf="user.role==='admin'">I'm Admin</div>
الحوار دة بأة اتغير وبأة كدة
{#if user.role === 'Admin'} I'm Admin {/if}
بيفكرني ب Svelte
الطريقة القديمة كان فيها شوية مشاكل كدة منها
- بتضظر تعمل import ل CommonModule عشان تقدر تستخدمها
- ساعات بتضطر تستخدم ng-container لو مش عاوز تضيف element مالوش لازمة
- بتضطر تستخدم directive بدون اي داعي
بس الاهم من دة انه مش متوافق مع ال Signal components الجديدة
الصيغة العامة لل control flow الجديد كالتالي
{#xyz} {:abc} {/xyz}
{#xyz} -> start a new scope block group
{:abc} -> start a new scope block within the current block group
{/xyz} -> end the block group
example:
{#if} ... {:else} .... {/if}
بالمرة بأة تعالوا نتكلم عن ميزة جديدة اللي هي Deffered loading
{#defer on viewport}
<calendar-cmp />
{/defer}
ودة معناه باختصار اننا نقدر نأجل نحميل جزء من الصفحة
ودة مثال تاني
{#defer when sheduleLoaded}
<calendar-cmp />
{/defer}
- the new control flow
- deffered loading
اشترك في قناة التليجرام عشان تتعلم كل حاجة ببلاش
@its_dibo
عارف ال structural directives في Angular?
لو مش فاكرها افكرك, اللي هي *ngIf و *ngFor وكدة
دي بنسميها control flow لانها بتتحكم في ال flow بتاع ال DOM بتاعك التيمبليت dynamically
فملا لو عاوزين نظهر element معين في حالة معينة ممكن نعمل كدة
<div *ngIf="user.role==='admin'">I'm Admin</div>
الحوار دة بأة اتغير وبأة كدة
{#if user.role === 'Admin'} I'm Admin {/if}
بيفكرني ب Svelte
الطريقة القديمة كان فيها شوية مشاكل كدة منها
- بتضظر تعمل import ل CommonModule عشان تقدر تستخدمها
- ساعات بتضطر تستخدم ng-container لو مش عاوز تضيف element مالوش لازمة
- بتضطر تستخدم directive بدون اي داعي
بس الاهم من دة انه مش متوافق مع ال Signal components الجديدة
الصيغة العامة لل control flow الجديد كالتالي
{#xyz} {:abc} {/xyz}
{#xyz} -> start a new scope block group
{:abc} -> start a new scope block within the current block group
{/xyz} -> end the block group
example:
{#if} ... {:else} .... {/if}
بالمرة بأة تعالوا نتكلم عن ميزة جديدة اللي هي Deffered loading
{#defer on viewport}
<calendar-cmp />
{/defer}
ودة معناه باختصار اننا نقدر نأجل نحميل جزء من الصفحة
ودة مثال تاني
{#defer when sheduleLoaded}
<calendar-cmp />
{/defer}
👍3
Forwarded from Dibo
يلا نتكلم شوية عن ال modern build tools في #javascript و #Nodejs
علي مر سنين طويلة كنت بعتمد علي #webpack بس قررت استتغني عنها واستخدم #esbuild و #vitejs وتعالوا احكيلكم عن تجربتي مع ال tools الجديدة
في الاول خلينا نفهم webpack بتشتغل ازاي خلف الكواليس ولية اصلا بنستخدمه!
ويباك عبارة عن bundling tool بتجمع ال resources من مصادر مختلفة وبتحولها عن طريق loaders
مثلا لو قابله ملف typescript بيحوله لكود javascript عن طريق ts-loader وبيحط الكود دة في ال output النهائي
في الاول webpack بيدخل ال entry point وهو الملف الرئيسي لل app وليكن مثلا src/index.ts
وكل اما يقابله import statement بيروح للملف المطلوب ويشتغل عليه ويجيب الكود النهائي بعد مايحوله لكود javascript يحطه في ال output
طب لية اصلا بنحتاج ن bundle الملفات بتاعتنا بالطريقة دي؟
من غير webpack نقدر نشغل الابليكيشن بتاعنا عادي جدا، ونقدر نحول ملفات #typescript لاكواد javsscript قابلة للتنفيذ من غير اي loaders بس هنا هيقابلنا مشكلة ...
مع كل import في كل ملف هنحتاج نعمل round trip عشان نجيب الملف المطلوب، واللي هنلاقيه هو كمان جواه imports كتير وكل ملف منهم هيطلب ملفات تانية وهكذا
في الاخر هنلاقي نفسنا بنعمل round trips كتير ودة بيبطأ الابليكيشن بتاعنا كتير
فبنجمع الاكواد دي كلها في ملف واحد بحيث يتطلب مرة واحدة عن طريق network trip واحدة
ويباك مش بس بيبندل الابليكيشن بتاعك، انما بيعمل عمليات كتير ورا الكواليس بتظبطلك ال performance بتاع الابليكيشن بتاعك كويس جدا زي مثلا عمل tree shaking لل dead ends وللاكواد غير المستخدمة
وكمان بيعمل optimization و minifying للكود عشان يكون تنفيذه اسرع
و esbuild بيقوم بنفس المهمة بالظبط بس بطريقة مختلفة شوية وبيتفوق علي webpack في شوية نقط
- اسرع من webpack ١٠ مرات، والسبب في كدة انه native code
لو ماتعرفش يعني اية native code هتلاقيني عامل بوست بيشرح الموضوع بالتفصيل، بس الخلاصة انه بيبأة كود مكتوب بلغة برمجة تانية ممكن تنفذ الجزء دة من الكود بطريقة افضل وبيشتغل جوة nodejs عادي جدا
بس مش دة السبب الاساسي اللي خلاني اسيب webpack وانقل ل esbuild
- كنا بنحتاج نسطب loaders ونظبط ال configurations بتاعة webpack اما esbuild فاهم انك بت build بيه node application من غير ماتسطب اي loaders او تعمل اي configurations
وبرضو مش دة السبب اللي خلاني انقل ل esbuild
السبب التالت والرئيسي اللي خلاني اسيب webpack وانقل ل esbuild و vitejs هتكلم عنه بالتفصيل البوست القادم
علي مر سنين طويلة كنت بعتمد علي #webpack بس قررت استتغني عنها واستخدم #esbuild و #vitejs وتعالوا احكيلكم عن تجربتي مع ال tools الجديدة
في الاول خلينا نفهم webpack بتشتغل ازاي خلف الكواليس ولية اصلا بنستخدمه!
ويباك عبارة عن bundling tool بتجمع ال resources من مصادر مختلفة وبتحولها عن طريق loaders
مثلا لو قابله ملف typescript بيحوله لكود javascript عن طريق ts-loader وبيحط الكود دة في ال output النهائي
في الاول webpack بيدخل ال entry point وهو الملف الرئيسي لل app وليكن مثلا src/index.ts
وكل اما يقابله import statement بيروح للملف المطلوب ويشتغل عليه ويجيب الكود النهائي بعد مايحوله لكود javascript يحطه في ال output
طب لية اصلا بنحتاج ن bundle الملفات بتاعتنا بالطريقة دي؟
من غير webpack نقدر نشغل الابليكيشن بتاعنا عادي جدا، ونقدر نحول ملفات #typescript لاكواد javsscript قابلة للتنفيذ من غير اي loaders بس هنا هيقابلنا مشكلة ...
مع كل import في كل ملف هنحتاج نعمل round trip عشان نجيب الملف المطلوب، واللي هنلاقيه هو كمان جواه imports كتير وكل ملف منهم هيطلب ملفات تانية وهكذا
في الاخر هنلاقي نفسنا بنعمل round trips كتير ودة بيبطأ الابليكيشن بتاعنا كتير
فبنجمع الاكواد دي كلها في ملف واحد بحيث يتطلب مرة واحدة عن طريق network trip واحدة
ويباك مش بس بيبندل الابليكيشن بتاعك، انما بيعمل عمليات كتير ورا الكواليس بتظبطلك ال performance بتاع الابليكيشن بتاعك كويس جدا زي مثلا عمل tree shaking لل dead ends وللاكواد غير المستخدمة
وكمان بيعمل optimization و minifying للكود عشان يكون تنفيذه اسرع
و esbuild بيقوم بنفس المهمة بالظبط بس بطريقة مختلفة شوية وبيتفوق علي webpack في شوية نقط
- اسرع من webpack ١٠ مرات، والسبب في كدة انه native code
لو ماتعرفش يعني اية native code هتلاقيني عامل بوست بيشرح الموضوع بالتفصيل، بس الخلاصة انه بيبأة كود مكتوب بلغة برمجة تانية ممكن تنفذ الجزء دة من الكود بطريقة افضل وبيشتغل جوة nodejs عادي جدا
بس مش دة السبب الاساسي اللي خلاني اسيب webpack وانقل ل esbuild
- كنا بنحتاج نسطب loaders ونظبط ال configurations بتاعة webpack اما esbuild فاهم انك بت build بيه node application من غير ماتسطب اي loaders او تعمل اي configurations
وبرضو مش دة السبب اللي خلاني انقل ل esbuild
السبب التالت والرئيسي اللي خلاني اسيب webpack وانقل ل esbuild و vitejs هتكلم عنه بالتفصيل البوست القادم
👍1
Forwarded from Dibo
مشكلة webpack الاساسية معايا انها static bundling tool، يعني اية الكلام دة
لو بصينا علي function زي دي مثلا
function loadFile(file: string){
return import(file)
}
الكود دة هيضرب في webpack .. عشان نعرف السبب لازم نتعمق اكتر في شغل ويب باك خلف الكواليس
ويب باك هيجيب كل الملفات المحتملة ويحطها جوة static import
والكود اللي احنا عملناه دة معناه انك تقدر تطلب اي فايل من اي مكان في الابليكيشن كله، بمعني اخر ويب باك هيضطر يعمل static import للابليكيشن كله بما في ذلك ال entry point ودة هيعملنا مشاكل كتير وهيدخلنا في cyclic dependencies
عشان نحل المشكلة دي هنحتاج نحددله فولدر معين فيه الملفات اللي ممكن ن import منه فهنعمل تعديل بسيط علي ال function بتاعتنا
function loadFile(file){
return import(`./dynamic/${file})
}
حلينا المشكلة، بس عملنا مشكلة تانية جديدة 😂
مع اننا استخدمنا ES dynamic import بس ويب باك نفسها static tool زي ما قولنا من شوية، فبتحتاج تجهز لستة محددة من الملفات والاسوأ ان الملفات لازم تكون موجودة وقت ال compile time حتي لو كنت ناوي تخلي الملفات دي تتوجد وقت ال runtime
خلف الكواليس لو ويب باك مالقاش الملف المطلوب وقت ال compile time هيرمي error
الطريقة دي بتقيدك كتير
اما esbuild حلت المشكلة دي وبتتعامل مع الموضوع علي انه dynamic import حقيقي بعكس ويب باك اللي بتحولها ل static import
ب esbuild تقدر تعمل حاجة زي كدة
function loadDynamicFile(path: string){
if(!existsSync(path)
download(path)
return import(path)
}
البوست الجاي هنتكلم فيه عن vitejs
لو بصينا علي function زي دي مثلا
function loadFile(file: string){
return import(file)
}
الكود دة هيضرب في webpack .. عشان نعرف السبب لازم نتعمق اكتر في شغل ويب باك خلف الكواليس
ويب باك هيجيب كل الملفات المحتملة ويحطها جوة static import
والكود اللي احنا عملناه دة معناه انك تقدر تطلب اي فايل من اي مكان في الابليكيشن كله، بمعني اخر ويب باك هيضطر يعمل static import للابليكيشن كله بما في ذلك ال entry point ودة هيعملنا مشاكل كتير وهيدخلنا في cyclic dependencies
عشان نحل المشكلة دي هنحتاج نحددله فولدر معين فيه الملفات اللي ممكن ن import منه فهنعمل تعديل بسيط علي ال function بتاعتنا
function loadFile(file){
return import(`./dynamic/${file})
}
حلينا المشكلة، بس عملنا مشكلة تانية جديدة 😂
مع اننا استخدمنا ES dynamic import بس ويب باك نفسها static tool زي ما قولنا من شوية، فبتحتاج تجهز لستة محددة من الملفات والاسوأ ان الملفات لازم تكون موجودة وقت ال compile time حتي لو كنت ناوي تخلي الملفات دي تتوجد وقت ال runtime
خلف الكواليس لو ويب باك مالقاش الملف المطلوب وقت ال compile time هيرمي error
الطريقة دي بتقيدك كتير
اما esbuild حلت المشكلة دي وبتتعامل مع الموضوع علي انه dynamic import حقيقي بعكس ويب باك اللي بتحولها ل static import
ب esbuild تقدر تعمل حاجة زي كدة
function loadDynamicFile(path: string){
if(!existsSync(path)
download(path)
return import(path)
}
البوست الجاي هنتكلم فيه عن vitejs
❤4
Forwarded from Dibo
❤2👍2
Forwarded from Dibo
مطلوب 𝗡𝗼𝗱𝗲.𝗷𝘀 + 𝗥𝗲𝗮𝗰𝘁.𝗷𝘀 developers خبرة 3 سنوات
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
direct apply:
info@alsatech.io
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
direct apply:
info@alsatech.io
Forwarded from Dibo
فرصة تدريب في Eyego
التخصصات المتاحة:
-Backend(Nodejs,Express,Mongo,Docker,GCP)
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
direct apply:
https://docs.google.com/forms/d/e/1FAIpQLSffbF6Y0GQmDJoYc11-sOPkkp2L9X3y55KZYSka34PjL_L94Q/viewform
التخصصات المتاحة:
-Backend(Nodejs,Express,Mongo,Docker,GCP)
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
direct apply:
https://docs.google.com/forms/d/e/1FAIpQLSffbF6Y0GQmDJoYc11-sOPkkp2L9X3y55KZYSka34PjL_L94Q/viewform
Forwarded from Dibo
مطلوب React Native Developer خبرة سنتين
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
direct apply:
functo7000@gmail.com
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
direct apply:
functo7000@gmail.com
Forwarded from Dibo
مطلوب junior backend developer لشركة الهرم جروب
لترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
📩 direct apply:
hr@alahramgroup-eg.net
لترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
📩 direct apply:
hr@alahramgroup-eg.net
Forwarded from Dibo
فرصة شغل اونلاين بـ 25 دولار للساعة + بونص
متاح full time او part time
مطلوب Administrative Assistant لمراجعة نتائج الذكاء الصناعي
ابعتلي CV وريكورد بالانجليش وريكورد بالعربية الفصحي وريكورد باللهجة العامة, مدة كل ريكورد لا تقل عن دقيقة واحدة
اتكلم عن نفسك, شغلك, تعليمك, كيف تعلمت اللغة الانجليزية
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
متاح full time او part time
مطلوب Administrative Assistant لمراجعة نتائج الذكاء الصناعي
ابعتلي CV وريكورد بالانجليش وريكورد بالعربية الفصحي وريكورد باللهجة العامة, مدة كل ريكورد لا تقل عن دقيقة واحدة
اتكلم عن نفسك, شغلك, تعليمك, كيف تعلمت اللغة الانجليزية
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
Forwarded from Dibo
مطلوب senior php/laravel developer لشغل ريموتلي مع عميل في السعودية
- خبرة في شركات E-commerce أو E-grocer
- 3+ سنين خبرة عملية في PHP & Laravel
ـــــــــــــــــــــــــــــــــــــــــ
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
📩 direct apply:
NHussien@migrationIT.com
- خبرة في شركات E-commerce أو E-grocer
- 3+ سنين خبرة عملية في PHP & Laravel
ـــــــــــــــــــــــــــــــــــــــــ
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
📩 direct apply:
NHussien@migrationIT.com
Forwarded from Dibo
مطلوب senior php/laravel developer لشغل ريموتلي مع عميل في السعودية
- خبرة في شركات E-commerce أو E-grocer
- 3+ سنين خبرة عملية في PHP & Laravel
ـــــــــــــــــــــــــــــــــــــــــ
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
ـــــــــــــــــــــــــــــــــــــــــ
📩 direct apply:
NHussien@migrationIT.com
- خبرة في شركات E-commerce أو E-grocer
- 3+ سنين خبرة عملية في PHP & Laravel
ـــــــــــــــــــــــــــــــــــــــــ
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
ـــــــــــــــــــــــــــــــــــــــــ
📩 direct apply:
NHussien@migrationIT.com
فرصة عمل أو تدريب في ألمانيا تبع برنامج برنامج THAMM Plus
https://t.me/its_dibo/2270
فرصة شغل ريموتلي في شركة Elite Projects القطرية
- Frontend Developer
- Backend Developer
- Tele-Sales Team Leader
- Cost Accountant
https://t.me/its_dibo/2271
فرص شغل في Portoqaly
- Backend
- Frontend
- Flutter
- UI/UX
- testers
- DevOps
- project manager
https://t.me/its_dibo/2272
مطلوب Junior Odoo Developer لـ Royal Group
https://t.me/its_dibo/2273
مطلوب Junior React Native لـ ICN
https://t.me/its_dibo/2274
مطلوب Junior developers لـ JEDRA والشغل ريموتلي
https://t.me/its_dibo/2275
https://t.me/its_dibo/2270
فرصة شغل ريموتلي في شركة Elite Projects القطرية
- Frontend Developer
- Backend Developer
- Tele-Sales Team Leader
- Cost Accountant
https://t.me/its_dibo/2271
فرص شغل في Portoqaly
- Backend
- Frontend
- Flutter
- UI/UX
- testers
- DevOps
- project manager
https://t.me/its_dibo/2272
مطلوب Junior Odoo Developer لـ Royal Group
https://t.me/its_dibo/2273
مطلوب Junior React Native لـ ICN
https://t.me/its_dibo/2274
مطلوب Junior developers لـ JEDRA والشغل ريموتلي
https://t.me/its_dibo/2275
❤1
Forwarded from Dibo
مطلوب junior React developer لشغل hybrid
خبرة سنة
ـــــــــــــــــــــــــــــــــــــــــ
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
ـــــــــــــــــــــــــــــــــــــــــ
📩 direct apply:
rahma.behairy@useprofolio.com
خبرة سنة
ـــــــــــــــــــــــــــــــــــــــــ
للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة
قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk
ـــــــــــــــــــــــــــــــــــــــــ
📩 direct apply:
rahma.behairy@useprofolio.com
❤1
senior back-end #developer for Siemens
https://mobarmegeen.com/jobs/006c86ba-2aff-45b4-9c82-fc163c75744b
مطلوب full-stack developers للعمل ريموتلي في شركة قطرية
https://mobarmegeen.com/jobs/1125b9ec-4c41-4a96-86b6-e5173996cc65
more jobs: https://t.me/addlist/-O694-Mmrkw1ZjVk
للترشيح لاي فرصة اكتب تخصصك في كومنت وابعتلي CV بتاعك
https://mobarmegeen.com/jobs/006c86ba-2aff-45b4-9c82-fc163c75744b
مطلوب full-stack developers للعمل ريموتلي في شركة قطرية
https://mobarmegeen.com/jobs/1125b9ec-4c41-4a96-86b6-e5173996cc65
more jobs: https://t.me/addlist/-O694-Mmrkw1ZjVk
للترشيح لاي فرصة اكتب تخصصك في كومنت وابعتلي CV بتاعك
We're Hiring a fresh Full Stack Developer (React.js & Node.js) Remotely 💻
📌 Position:
Full Stack Developer (React.js & Node.js)
✅ Requirements:
🔹 Fresh Graduate or 1 year experience.
🔹 Good knowledge of NodeJS and ReactJS.
🔹 Understanding of REST APIs & Git.
💼 Job Details:
💻 Work Type: Remote
📩 Please send your updated CV with the subject: Full Stack Developer
dtr.egypt@gmail.com
📌 Position:
Full Stack Developer (React.js & Node.js)
✅ Requirements:
🔹 Fresh Graduate or 1 year experience.
🔹 Good knowledge of NodeJS and ReactJS.
🔹 Understanding of REST APIs & Git.
💼 Job Details:
💻 Work Type: Remote
📩 Please send your updated CV with the subject: Full Stack Developer
dtr.egypt@gmail.com