قعدة مبرمجين
2.16K subscribers
44 photos
3 videos
3 files
57 links
الجروب

👉 @mobarmegeen
Download Telegram
مطلوب React Developer خبرة سنوات او اكثر لشركة في الهند

prathvi.frantiger@gmail.com
مطلوب dot net developer لـ Procoor
بدون خبرة او حتي سنتين خبرة

hiring@procoor.com (subject: Dot Net Full-stack Developer)
👍1
مطلوب Android developers سواء native او flutter لشركة في اكتوبر
خبرة من سنة الي 3 سنوات

o.rahman@arabcalibers.com (subject: AND_FLUT_DEV)
مطلوب Android Developer خبرة من سنة الي 3 سنوات لشركة white arrow information technology في الجيزة
5 ايام عمل \ 8 ساعات منها ساعة راحة

hr@waiteg.com
مطلوب UI/UX لشركة في الاسكندرية

drmedia24@gmail.com
مطلوب developers خبرة سنتين لشركة في مدينة نصر

التخصصات المطلوبة:
1-Web designer
2-Front-End Developer (Angular)
3-Front-End Developer (Vue.js)
4-Full Stack Developer (Angular/Node)
5-Full Stack Developer (Laravel/Vue.js)

abdullah.a@storexweb.com
👍2
تجميعة فرص #الشغل هتنزل في البوست دة
البوست هيتجدد كل شوية طول اليوم بالفرص الجديدة

https://t.me/dibo_talks/143
Channel name was changed to «[deleted] developers talks»
Channel name was changed to «developers talks»
ادخلوا جروب @dibo_talks

هنعمل كورسات ببلاش ونساعدك تلاقي شغل حلو + توزيع جوائز للمشتركين النشطين

شيرررر 🔥🔥
1
Channel name was changed to «Code hits | Arabic»
Channel name was changed to «قعدة مبرمجين»
تعالوا نتكلم شوية عنن مميزات جديدة في #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}
👍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 هتكلم عنه بالتفصيل البوست القادم
👍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
4
Forwarded from Dibo
نكمل موضوع modern build tools ونتكلم عن vitejs  ولا كفاية كدة؟
Anonymous Poll
80%
نكمل
20%
كفاية كدة
2👍2
Forwarded from Dibo
مطلوب 𝗡𝗼𝗱𝗲.𝗷𝘀 + 𝗥𝗲𝗮𝗰𝘁.𝗷𝘀 developers خبرة 3 سنوات

للترشيح اكتب ملخص خبراتك وابعتلي 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
Forwarded from Dibo
مطلوب React Native Developer خبرة سنتين

للترشيح اكتب ملخص خبراتك وابعتلي CV بتاعك خاص للمراجعة

قنوات تليجرام مهمة لازم تكون مشترك فيها وتتابعها يوميا
https://t.me/addlist/-O694-Mmrkw1ZjVk

direct apply:
functo7000@gmail.com