Microfrontend.ir
1.44K subscribers
221 photos
3 videos
2 files
272 links
کانال تلگرامی وبلاگ میکروفرانت‌اند. مباحثی پیرامون هوش مصنوعی و یادگیری ماشین، معماری نرم افزار با تمرکز بر DDD ، میکروسرویس و میکروفرانت‌اند
www.microfrontend.ir

@hemanhp2
Download Telegram
آموزش React Query - Infinite Scrolling


در این ویدیو از آموزش React Query مفهوم Infinite Scrolling را پیاده سازی کردیم. ابتدا با استفاده Intersection Observer زمان لود داده های جدید را مشخص و با استفاده از اسکرول لیست خود را آپدیت کردیم. در نهایت ضرورت دقت در مورد بهینه سازی کامپوننت ها بويژه در زمان کار با داده های سنگین شرح دادیم. به عنوان مثال نیز با استفاده از useCallback شیوه گرفتن داده ها را از query cache بهینه کردیم.


Video: https://youtu.be/AbUKEGNfJ9M

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzELHNdflPj4XgS2hAXBILz

Git Repo: https://github.com/hemanhp/react-query-course

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
6❤‍🔥1🥰1
اگر برنامه نویس جنگو هستید حتما استفاده از select_related و prefetch_related رو تو کوییری ست هاتون مد نظر داشته باشید. دیروز با دوستی سرویسی رو چک میکردیم که کار سنگینی رو انجام و میداد و بیش از ۸۰ ثانیه رو یک سیستم نسبتا قوی طول میکشید، صرفا با اضافه کردن مواردی که گفتم تایم اجرا اومد رو ۵ ثانیه




بهینه سازی جنگو از طریق select_related
Link: https://youtu.be/TK3P4Cy5fNg


بهینه سازی جنگو از طریق prefetch_related
Link: https://youtu.be/lkThOygE8LM


بهینه سازی جنگو از طریق defer و only
Link: https://youtu.be/u629fDW5drM

پلی لیست نکته ها و ترفندهای جنگو:
https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv


〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
👍115👏1
آموزش React Query - تفاوت initialData و placeholderData

در این ویدیو از آموزش React Query به بررسی initialDate و placeholderData پرداختیم. تاکنون گفتیم که برای دسترسی به داده ها بایستی تابع fetch داده ها را دریافت و به واسط کاربری انتقال دهیم. React Query از طریق دو خصوصیت initialData و placeholderData به ما این امکان را می دهند که برای کوییری ها داده های اولیه ست کنیم. در این ویدیو به عنوان مثال سرویس GetById را پیاده کردیم و از طریق tailwindcss یک Drawer ساده ایجاد کردیم که با کلیک بر روی هر آیتم جزییات آن در دراور نمایش داده شود.


Link: https://youtu.be/jx-zffeFCpc

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzELHNdflPj4XgS2hAXBILz

Git Repo: https://github.com/hemanhp/react-query-course

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
5👍2
ویژگی های جدید Django 5

نسخه Django 5 منتشر شد و ویژگی‌های جدیدی به آن اضافه شده و روند سازگاری با Asyncio سرعت بیشتری به خود گرفته است. در این ویدیو به برخی از ویژگی های مهم آن همچون مقادیر پیش فرض در سطح دیتابیس و Generated Field ها پرداختیم و در نهایت در مورد ضرورت بررسی CancelError که در نسخه های قبل وجود نداشت و در این نسخه امکان مدیریت آن اضافه شده صحبت کردیم.

Link: https://youtu.be/lKibwV47uLI
-------------

آموزش پردازش موازی در پایتون - جنگو مفاهیم thread, process و async await در پایتون
Link: https://youtu.be/TRnS-hMytc4

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
15❤‍🔥2
به نظرتون کدوم یک از دوره‌های زیر بیشتر به کارتون میاد؟
Anonymous Poll
50%
آموزش جامع داکر
14%
آموزش جامع گیت
36%
آموزش جامع پستگرس
👍11
اگر مثل من به حوزه های مرتبط با دیتا مخصوصا در مقیاس بزرگ علاقه دارید پیشنهادم اینه که حتما دیتابیس خفن ScyllaDB رو دنبال کنید. هم آینده خوبی داره و هم از نظر فنی بسیار دیتابیس جذابیه. حتی جذاب تر از کاساندرا! :)
حدودا دو ماه دیگه هم یک سامیت دارند که رایگان می‌تونید ثبت نام کنید:

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir

https://www.scylladb.com/scylladb-summit-2024/
👍6🔥2
آموزش React Query - ایجاد ایتم با useMutation


در این ویدیو از آموزش React Query به بررسی اولیه هوک useMutation پرداختیم. ابتدا با استفاده از React Hook Form یک فرم ساده برای ایجاد آگهی ساختیم و پس از ذخیره از طریق invalidateQueries لیست خود را به روزرسانی کردیم


Link: https://youtu.be/SqaB3cfl7eU

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzELHNdflPj4XgS2hAXBILz

Git Repo: https://github.com/hemanhp/react-query-course

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
🔥6👍2
آموزش React Query - پیاده سازی Optimistic Update با useMutation

در این ویدیو از آموزش React Query به بررسی مفهوم پیاده سازی Optimistic Update با useMutation پرداخت. ابتدا فرمی ساختیم که آگهی را آپدیت کند و سپس برای ایجاد واسط کاربری بهتر به روزرسانی آگهی به گونه ای انجام دادیم که بلافاصله بعد از زدن دکمه ذخیره واسط کاربری به روزرسانی شود و در صورتی که مشکلی در فراخوانی سرویس داشتیم به وضعیت قبل برگردیم.


Link: https://youtu.be/I0-Qey-VL_Y

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzELHNdflPj4XgS2hAXBILz

Git Repo: https://github.com/hemanhp/react-query-course

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
🔥4
آموزش React Query - پیاده سازی Undo با useMutation

در این ویدیو از آموزش React Query ابتدا با استفاده از useMutation امکان حذف آگهی ها را فراهم کردیم و سپس برای بررسی بیشتر با استفاده از Promise امکانی را فراهم کردیم که بتوان برای حذف آیتم تا زمان مشخصی به کاربر امکان Undo بدهیم.


Link: https://youtu.be/R5BR55jFGEo

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzELHNdflPj4XgS2hAXBILz

Git Repo: https://github.com/hemanhp/react-query-course

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
4👍2🔥2
Forwarded from Django Expert (Boby Cloud)
✔️ در طی چند سال گذشته از فعالیت کانال، محتواهای رایگان زیادی تولید شده و هدف کانال هم از ابتدا اشتراک دانش رایگان و عام المنفعه بوده، برای همین تصمیم گرفتیم یک بار دیگه تمام این محتواهارو در یک پیام قرار بدیم تا به راحتی قابل دسترسی برای افراد علاقمند به یادگیری باشه:

🎥 کانال یوتوب سیلیسیم مهران تعریف (آموزش پایتون و جاوااسکریپت و...)
https://www.youtube.com/@Silicium7

🎥 کانال یوتوب میکروفرانت اند (آموزش پایتون و جاواسکریپت و ...)
https://www.youtube.com/@MicroFrontend

🎥 کانال یوتوب بابی کلاد (آموزش پایتون، کلاد، دوآپس و ...)
https://www.youtube.com/@bobycloud

🎥 کانال یوتوب امیر مطهری (آموزش پایتون، میکروپایتون و ...)
https://www.youtube.com/@AmirMotahari

🎥 کانال یوتوب گیت اور هیر مانی (آموزش پایتون، دیزاین پترن و ...)
https://www.youtube.com/@GitOverHere

🎥 کانال یوتوب تورهام (آموزش پایتون، فست ای پی آی و ...)
https://www.youtube.com/@techwithtori

🎥 کانال یوتوب شهریار شریعتی (آموزش سلری، جنگو چنلز، وب فریمورک ها و ...)
https://www.youtube.com/@ShahriarShariati

🎥 کانال یوتوب دوآپس هابیز (آموزش امیربهادر - دوره پروژه محور جنگو به همراه داکر، سی آی سی دی و ...)
https://www.youtube.com/watch?v=KtYDIJN3wmM&list=PLYrn63eEqAzY5uG5ks_OquWcojzHvhp9Z

🔥 سه فایل مصاحبه با آقای حسن رمضانی که از Core Developer های Django, Gunicorn, Pydantic, Urllib3 و ... هستند در کانال موجود هست که با سرچ کردن اسم آقای "حسن رمضانی" در کانال میتونید مصاحبه هارو پیدا کنید و گوش بدید.

📚 ریپازیتوری گیتهاب Awesome Python Resources: مجموعه ای از بهترین و کامل ترین ریسورس‌های مورد نیاز برای رشد در مسیر شغلی مهندسی نرم افزار (پایتون) به همراه تفکیک بر اساس Career Path و Advanced Topics
https://github.com/DjangoEx/awesome-python-resources

📚 ریپازیتوری گیتهاب Awesome Python Roadmaps: مجموعه از رودمپ‌های مورد نیاز یک مهندس نرم افزار (پایتون) در Career Path هایی نظیر Backend، Data Scientist، Software Architect و ...
https://github.com/DjangoEx/awesome-python-roadmaps

📚 تمام ریپازیتوری‌ها به صورت یکجا نیز در صفحه گیتهاب DjangoEx قابل دسترسی هست
https://github.com/DjangoEx

تمام این موارد آموزشی رایگان هستند و میتونید ازشون استفاده کنید.
موقت: اگر مطلبی رو یادم رفته بزارم و قبلا توی کانال تولید محتوا داشتند لطفا به من (@BobyCloud) پیام بدید.

#رودمپ #پایتون #جنگو #منابع #از_کجا_شروع_کنیم

〰️〰️〰️〰️〰️〰️
© @DjangoEx
7👍3
آموزش جامع داکر
** در این پلی لیست میخوام داکر رو از بیخ یاد بگیریم. یعنی قبل از داکر خودمون یه چیزی شبیه داکر اما خیلی ساده تر با پایتون بنویسم بعد بریم سراغ خود داکر که هم داکر رو یاد بگیریم و هم بدونیم پشت صحنه چه اتفاقاتی می افته!

در این ویدیو از آموزش جامع Docker به بررسی تاریخچه مجازی سازی و روش های مختلف آن پرداختیم. روش VM-Based برای مجازی سازی کامل یک ماشین و روش Container Based برای اجرای ایزوله فرایندها و پروسس ها مطرح کردیم. سپس مولفه های لازم برای ساخت کانتینر در سیستم عامل لینوکس را بررسی کردیم و در نهایت Docker و podman و rtk را به عنوان مهمترین Container runtime های حال حاضر معرفی کردیم و در نهایت مفهوم Container Orchestration و ضرورت آن را شرح دادیم.


Link: https://youtu.be/Z8olH4UzeA0

Playlsit: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzLTI3VNE8Vp4JpXNn_yRR7

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
🔥1610👍4
Microfrontend.ir
آموزش جامع داکر ** در این پلی لیست میخوام داکر رو از بیخ یاد بگیریم. یعنی قبل از داکر خودمون یه چیزی شبیه داکر اما خیلی ساده تر با پایتون بنویسم بعد بریم سراغ خود داکر که هم داکر رو یاد بگیریم و هم بدونیم پشت صحنه چه اتفاقاتی می افته! در این ویدیو از آموزش…
در این ویدیو از آموزش جامع داکر به بررسی مفهوم Namespace پرداختیم. در لینوکس، مفهوم Namespace یک ویژگی اساسی از محیط‌های اجرای فرایندها (Processes) است که به آنها این امکان را می‌دهد که از یکدیگر جدا شده و منابع مختلفی را به اشتراک نگذارند. Namespace به عنوان یک مکانیزم ایزولاسیون سطح کرنل (Kernel-level isolation) عمل می‌کند و برای مدیریت و ایجاد یک محیط مجازی (Virtualized environment) برای هر فرایند مفید است.

در لینوکس، چندین نوع Namespace وجود دارد که هرکدام به یک نوع خاص از منابع مربوطه ایزوله می‌شوند.

Link: https://youtu.be/AgkmTpOMcRM

Playlsit: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzLTI3VNE8Vp4JpXNn_yRR7

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
9👍5🔥1
Microfrontend.ir
در این ویدیو از آموزش جامع داکر به بررسی مفهوم Namespace پرداختیم. در لینوکس، مفهوم Namespace یک ویژگی اساسی از محیط‌های اجرای فرایندها (Processes) است که به آنها این امکان را می‌دهد که از یکدیگر جدا شده و منابع مختلفی را به اشتراک نگذارند. Namespace به عنوان…
آموزش داکر - ایجاد Process با fork


در قسمت دوم از آموزش داکر برای بررسی و درک بهتر کانتینرها یک محیط توسعه پایتونی مبتنی بر ماشین مجازی و Vagrant ایجاد کردیم و سپس با استفاده از fork یک child process ایجاد کردیم که بتوانیم مفهوم isolation را بیشتر درک کنیم و در ادامه به پیاده سازی رویکردهای مختلف آن بپردازیم. همچنین پیکربندی vagrant را بر روی PyCharm و VSCode انجام دادیم تا بتوانیم در ادامه راحت تر از این ابزارها استفاده کنیم.

Link: https://youtu.be/VNRZyp5cjAQ

Git: https://github.com/hemanhp/container-course

Playlsit: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzLTI3VNE8Vp4JpXNn_yRR7

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
8👍7
در یک ماه گذشته کانال میکروفرانت اند بیش از ۹ هزار بازدید و یک هزار ساعت تماشا شده. برام باور پذیر نبود که با داشتن این جنس محتوا به این حد از بازدید برسه و از منظر خودم یک موفقیته. ممنونم از حمایت همه دوستانی که به رشد کانال کمک کردند. عمیقا امیدوارم و دوست دارم بتونم نقشی در توسعه جامعه توسعه دهندگان فارسی داشته باشم و خوشحال می‌شم اگر فکر می‌کنید این محتوا مفیده، با اشتراک گذاشتن محتوی کانال با دوستانتون من رو در رسیدن به این هدف یاری کنید.

در این کانال سعی میکنم تکنولوژی‌های مختلفی که باهاشون تو محیط پروداکشن کار کردم آموزش بدم. هدفم اینه از آموزش های مرسوم یه خرده فراتر برم و مباحثی مطرح کنم که در پروژه‌های واقعی به کار گرفته می‌شوند صحبت کنم و عمیق تر بررسی کنم. محتوای کانال فقط به فرانت اند مرتبط نیستند و سعی میکنم به شکل فول استک و حوزه های مختلف دیتا باشه.


Channel Link: https://www.youtube.com/microfrontend

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
61👍5🔥1
Microfrontend.ir
آموزش داکر - ایجاد Process با fork در قسمت دوم از آموزش داکر برای بررسی و درک بهتر کانتینرها یک محیط توسعه پایتونی مبتنی بر ماشین مجازی و Vagrant ایجاد کردیم و سپس با استفاده از fork یک child process ایجاد کردیم که بتوانیم مفهوم isolation را بیشتر درک…
آموزش داکر - Linux Busybox and chroot

در این به بررسی مفهوم jail process در لینوکس پرداختیم. بعد از اجرای پروسس در لینوکس به صورت پیش فرض به همه فایل سیستم دسترسی دارد. از طریق دستور chroot میتوان یک پروسس را با یک روت دایرکتوری مشخص و ایزوله اجرا کرد به گونه ای که صرفا همان دایرکتوری را ببیند و به سایر فایل سیستم دسترسی نداشته باشد و به اصطلاح لینوکسی یک پروسس را در زندان اجرا کنیم. سپس کاربرد busybox را بویژه در بهینه کردن ایمیج ها بررسی کردیم و دلیل سبک بودن ایمیج هایی مانند alpine را شرح دادیم و نهایتا موارد فوق را با پایتون پیاده کردیم.

Link: https://youtu.be/5m04uQDd5Ns

Git: https://github.com/hemanhp/container-course

Playlsit: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzLTI3VNE8Vp4JpXNn_yRR7

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
15👍2🔥2
بهینه سازی و افزایش سرعت پایتون با C Extension

در این ویدیو به بررسی ۴ سناریو مختلف برای اجرای یک مثال ساده پرداختیم که بتوانیم پرفورمنس را در حالت های مختلف مقایسه کنیم. در حالت اول از Pure Python استفاده کردیم. در حالت همان مثال را با C پیاده سازی کردیم. در حالت سوم از NumPy و در حالت چهارم کدی را که به زبان C نوشته بودیم از طریق پایتون فراخوانی کردیم و نتایج را به صورت آماری بررسی کردیم. یکی از مهمترین راهکارهای بهینه سازی کدهای پایتون در حالت هایی که پرفورمنس حیاتی است استفاده از C Extension است


** چون در پلی لیست داکر لازم است که با C تعامل داشته باشد مشاهده این ویدیو برای اون پلی لیست هم مفیده

Link : https://youtu.be/SfRtPJ8DNtA

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwZcy2wRRBNqXZP8wf--TmF


〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
❤‍🔥8👍63🔥1
Forwarded from Django Expert (Majid A.M)
برنامه نویس خوب کیه؟

این بار میخوایم با هیمن حسینی پناه در مورد تعریف های مختلف یه برنامه نویس گپ و گفت کنیم

امروز شنبه 7 بهمن ماه 1402 ساعت 18 به وقت تهران مهمان هیمن هستیم

™️ @DjangoIR

© @DjangoEX | @Djangogap
10❤‍🔥3👍2
Microfrontend.ir
آموزش داکر - Linux Busybox and chroot در این به بررسی مفهوم jail process در لینوکس پرداختیم. بعد از اجرای پروسس در لینوکس به صورت پیش فرض به همه فایل سیستم دسترسی دارد. از طریق دستور chroot میتوان یک پروسس را با یک روت دایرکتوری مشخص و ایزوله اجرا کرد به…
آموزش داکر - Mount Namespace

در قسمت چهارم از آموزش Docker به بررسی Mount Namespace در لینوکس و شیوه استفاده از آن پرداختیم. از طریق این مفهوم می توان Mount Point های یک پروسس را ایزوله کرد. برای این کار unshare Linux Api استفاده کردیم و شیوه فراخوانی آن در پایتون را بررسی کردیم.



Link: https://youtu.be/SrxytU6eZ68

Git: https://github.com/hemanhp/container-course

Playlsit: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzLTI3VNE8Vp4JpXNn_yRR7

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
11🔥4👍3
Microfrontend.ir
آموزش داکر - Mount Namespace در قسمت چهارم از آموزش Docker به بررسی Mount Namespace در لینوکس و شیوه استفاده از آن پرداختیم. از طریق این مفهوم می توان Mount Point های یک پروسس را ایزوله کرد. برای این کار unshare Linux Api استفاده کردیم و شیوه فراخوانی آن…
آموزش داکر - مفهوم Process در لینوکس

در قسمت پنجم از آموزش Docker به بررسی مفهوم Process در لینوکس پرداختیم. ابتدا در مورد فایل سیستم procfs و ضرورت mount شدن آن صحبت کردیم. سپس شیوه ایجاد پروسس در لینوکس پرداختیم. در لینوکس معمولا از دو رویکرد برای ساخت پروسس استفاده می شود. در حالت اول از fork استفاده می شود که یک ساختار پدر فرزندی ایجاد می کند و حالت دوم از سیستم کال execve استفاده می شود که پروسس را جایگزین می کند. و در نهایت تفاوت زامبی و اروفان پروسس را که یکی از سوالات پر تکرار در مصاحبه
های فنی است را با یک مثال شرح دادیم.



Link: https://youtu.be/A9la8hJvp2k

Git: https://github.com/hemanhp/container-course

Playlsit: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzLTI3VNE8Vp4JpXNn_yRR7

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
12👏2👍1