ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

قعدة مبرمجين

قعدة مبرمجين

Открыть в Telegram

الجروب 👉 @developers_talks_group

Больше
Страна не указанаКарьера11 791
2 379
Подписчики
Нет данных24 часа
Нет данных7 дней
Нет данных30 дней
Архив постов
Repost from Dibo
نكمل موضوع modern build tools ونتكلم عن vitejs  ولا كفاية كدة؟
Anonymous voting

Repost 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

Repost 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 هتكلم عنه بالتفصيل البوست القادم

تعالوا نتكلم شوية عنن مميزات جديدة في #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}

فرص الشغل في الشركات الانترناشونال بتنزل هنا t.me/its_dibo

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

ادخلوا جروب @dibo_talks هنعمل كورسات ببلاش ونساعدك تلاقي شغل حلو شيرررر 🔥🔥

ادخلوا جروب Talks هنعمل كورسات ببلاش ونساعدك تلاقي شغل حلو شيرررر 🔥🔥 https://t.me/+4edVkTXILu1lMzU8

ادخلوا جروب Talks هنعمل كورسات ببلاش ونساعدك تلاقي شغل حلو https://t.me/+4edVkTXILu1lMzU8

استكمالا لخطة التبسيط وعدم التشتت سيتم ايقاف عمل هذه القناة والاكتفاء بجروب "قعدة مبرمجين" 👉 @developers_talks

ادخلوا جروب "قعدة مبرمجين" @developers_talks

اشتركوا في الجروب: https://t.me/developers_chat

تجميعة فرص #الشغل هتنزل في البوست دة البوست هيتجدد كل شوية طول اليوم بالفرص الجديدة https://t.me/dibo_talks/143

مطلوب 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 لو عاوز ارشحك لفرص مشابهة اكتب تخصصك في كومنت هنعلمك ببلاش ونساعدك تلاقي #شغل https://t.me/dibo_talks/140

مطلوب UI/UX لشركة في الاسكندرية drmedia24@gmail.com لو عاوز ارشحك لفرص مشابهة اكتب تخصصك في كومنت كل فرص #شغل #البرمجة: https://t.me/developers_talks/78

مطلوب Android Developer خبرة من سنة الي 3 سنوات لشركة white arrow information technology في الجيزة 5 ايام عمل \ 8 ساعات منها ساعة راحة apply: hr@waiteg.com لو عاوز ارشحك لفرص مشابهة اكتب تخصصك في كومنت كل فرص #شغل #البرمجة: https://t.me/developers_talks/78

في فرصة #شغل جافا في فودافون https://opportunities.vodafone.com/job/Cairo-Java-Architect-_VOIS/873793301

مطلوب Android developers سواء native او flutter لشركة في اكتوبر خبرة من سنة الي 3 سنوات apply: o.rahman@arabcalibers.com (subject: AND_FLUT_DEV) لو عاوز ارشحك لفرص مشابهة اكتب تخصصك في كومنت كل فرص #شغل #البرمجة: https://t.me/developers_talks/78

مطلوب dot net developer لـ Procoor بدون خبرة او حتي سنتين خبرة apply: hiring@procoor.com (subject: Dot Net Full-stack Developer) لو عاوز ارشحك لفرص مشابهة اكتب تخصصك في كومنت كل فرص #شغل #البرمجة: https://t.me/developers_talks/78

مطلوب React Developer خبرة سنوات او اكثر لشركة في الهند prathvi.frantiger@gmail.com لو عاوز ارشحك لفرص مشابهة اكتب تخصصك في كومنت كل فرص #شغل #البرمجة: https://t.me/developers_talks/78