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

@hemanhp2
Download Telegram
Microfrontend.ir
https://craftinginterpreters.com/
این کتاب به نظرم یه شاهکار به تمام معناست برای درک زبان های امروزی. نویسنده تو تیم زبان دارت گوگله
دیزاین پترن چیست ؟ الگوهای طراحی در برنامه نویسی
در این ویدیو به عنوان اولین ویدیو از پلی لیست دیزاین پترن‌ها به معرفی و تاریخچه الگوهای طراحی در برنامه نویسی پرداختیم. نخست به تاریخچه شکل گیری دیزاین پترن های در حوزه برنامه نویسی و کتاب Gang of Four پرداختیم. سپس کاتگوری دیزاین پترن های کتاب را مرور و در نهایت اصول اولیه طراحی و SOLID در فضای شی گرایی را مطرح کردیم

channel: @microfrontend_ir

Link: https://youtu.be/p6yC6qBtpJA

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxUIWhfp9euGlbBIrQUhm2Q
👍1
اهمیت API Versioning در طراحی API - پیاده سازی مثال با Django Rest

یکی از چالش های مهم در حوزه طراحی API فرایند ورژن یا نسخه بندی سرویس هاست. فرض کنید شما سرویس را به عنوان محصول به کلاینت های مختلف ارایه می‌دهید. در این شرایط روزانه تعدادی زیادی کلاینت به سرویس های شما متصل می‌شوند و نمی‌توانید هر تغییری را براحتی بر روی سرویس‌ها اعمال کنید. در چنین شرایطی نسخه بندی به شدت مهم خواهد شد. در این ویدیو ابتدا اهمیت نسخه بندی سرویس ها را بررسی کردیم و سپس رویکردهای مرسوم این کار را
معرفی کردیم و در نهایت شیوه پیاده سازی نسخه بندی را به عنوان مثال در Django Rest Framework پیاده کردیم.


video link: https://youtu.be/j1rTlrsoOkU

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
آموزش پروژه محور Flutter - پروژه مینی ترلو با فلاتر

در این ویدیو که بخشی از پروژه مینی ترلو است، قسمت آموزش پروژه محور flutter را معرفی و شروع می‌کنیم. در این قسمت به معرفی پروژه ، فلسفه و ضرورت آن پرداختیم و در ادامه پکیج های اصلی استفاده شده در پروژه را معرفی کردیم. از Git به عنوان سورس کنترل بهره میبریم. از فلاتر به عنوان فریمورک اصلی استفاده میگنیم. برای state management از bloc و provider استفاده میکنیم. برای تولید و جنریت کد از build runner کمک میگیریم. ارتباط با وب و سرویس ها را از طریق dio پیاده سازی میکنیم و از وب سوکت چنل برای اتصال به سوکت بهره میبریم. در نهایت برای تزریق وابستگی از پکیج بسیار خوب get_it استفاده میکنیم.

video link: https://youtu.be/DFGbTLGIZ7s

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxb--mXM7ILSKenSLLX9hEl

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
آموزش پروژه محور Angular - پروژه مینی ترلو با انگولار

در این ویدیو که بخشی از پروژه مینی ترلو است، قسمت آموزش پروژه محور angular را معرفی و شروع می‌کنیم. در این قسمت به معرفی پروژه ، فلسفه و ضرورت آن پرداختیم و در ادامه پکیج های اصلی استفاده شده در پروژه را معرفی کردیم. از Git به عنوان سورس کنترل بهره میبریم. طبعا از انگولار به عنوان فریمورک اصلی استفاده میکنیم، از typescript به عنوان زبان اصلی کمک میگیریم. به شکل گسترده ویژگی های RxJS را معرفی میکنیم. از angular material به عنوان کامپوننت های واسط کاربری بهره میگیریم همچنین برای بهبود واسط کاربری از tailwind و در نهایت از ngrx به عنوان ابزار مدیریت استیت یا state management به شیوه ریداکس استفاده میکنیم.

video link: https://youtu.be/0findq_DZd8

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBy2MzcY4nWiaIDIcCFJ48Ue

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
آموزش پروژه محور React Redux - پروژه مینی ترلو با ریاکت و ریداکس

در این ویدیو که بخشی از پروژه مینی ترلو است، قسمت آموزش پروژه محور react و redux را معرفی و شروع می‌کنیم. در این قسمت به معرفی پروژه ، فلسفه و ضرورت آن پرداختیم و در ادامه پکیج های اصلی استفاده شده در پروژه را معرفی کردیم. از Git به عنوان سورس کنترل بهره میبریم. طبعا از ریاکت به عنوان لایه یوای یا واسط کاربری استفاده میکنیم، از typescript به عنوان زبان اصلی کمک میگیریم. از craco به عنوان ابزار پیکربندی استفاده میکنیم. از کامپوننت های mui برای طراحی واسط کاربری استفاده میکنیم. برای state management از ریداکس و redux toolkit بهره میبریم. برای بهبود واسط کاربری از tailwind استفاده میکنیم. برای ارسال درخواست های وب از axios و برای مدیریت تزریق وابستگی از inversify بهره خواهیم برد.


video link: https://youtu.be/yzmO2bjjgPc

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwav-sGZhmy1ua9aIvmlrhb

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
در ادامه پلی لیست مبانی برنامه نویسی به زبان پایتون برای علم داده در این بخش ابتدا نوع داده رشته ای را بررسی و سپس دستورات شرطی را معرفی کردیم و برای درک بهتر چندین مثال ساده را با استفاده از دستورات شرطی اجرا کردیم

نوع داده String و کاربرد آن در پایتون:
https://youtu.be/W6AYtDcKP5U

دستورات شرطی در پایتون:
https://youtu.be/j4DsVIyR00A

مثال های برای درک دستورات شرطی در پایتون :
https://youtu.be/TxAaoUVwaMY

playlist:
https://www.youtube.com/playlist?list=PLJ9zDGwhhsBz89N0mFH2CDYmtrbyju4KH

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
تفکر شی گرایی - چرا افلاطون بهترین برنامه نویس شی گراست؟

تفکر شی گرایی تفکر غالب برنامه نویسی در چند دهه اخیر است. در این ویدیو ابتدا نظریه مثل افلاطون را مطرح کردیم و گفتیم افلاطون چه چیزی را حقیقی می دانست و چه چیزی را تجزیه پذیر می نامید. سپس شیوه تحلیل سیستم ها به روش نظریه مثل را مطرح و در نهایت پلی لیست تفکر شی گرایی را معرفی کردیم


link:
https://youtu.be/SoHrXW9wY7g

playlist:
https://www.youtube.com/playlist?list=PLJ9zDGwhhsBw_3IcHrthTMN245yCIQkx5

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
دیزاین پترن ها - دیاگرام کلاس Design Patterns رو چطوری بخونیم؟

در دومین ویدیو از پلی لیست الگوهای طراحی و دیزاین پترن ها به معرفی کلاس دیاگرام UML به عنوان زبان مشترک برنامه نویسان برای توصیف سیستم های شی گرا پرداختیم. نخستین گام یادگیری Design Pattern های شی گرا درک ادبیات مشترک برنامه نویسان شی گراست. ابتدا شیوه طراحی کلاس و عضو های آن به همراه سطوح دسترسی ها را شرح دادیم. در ادامه انواع روابط بین کلاس ها شامل Dependency – Association – Aggregation Composition – inheritance را با ذکر مثال توضیح دادیم. سپس مفاهیم abstraction و interface را تشریح کردیم و تفاوت abstract class و interface را مطرح کردیم.


Link: https://youtu.be/s-lJfW5YABQ

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxUIWhfp9euGlbBIrQUhm2Q

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
۲- آموزش پروژه محور فلاتر - ایجاد پروژه چند زبانه و تعریف ظرف IoC

در دومین ویدیو آموزش پروژه محور فلاتر یک پروژه Flutter را ایجاد و در ریپوزیتوری گیت پوش کردیم. در مرحله بعد امکانات لازم برای چند زبانه بودن را مهیا و سپس مفهموم dependecy injection یا تزریق وابستگی را با استفاده از get_it آماده استفاده کردیم.


video link: https://youtu.be/cnzRA-XA6g8

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxb--mXM7ILSKenSLLX9hEl

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
آموزش پروژه محور فلاتر - مدیریت خطاها و Exceptions در Flutter

در سومین ویدیو آموزش پروژه محور فلاتر ابتدا معرفی مختصر معماری فلاتر پرداختیم و گفتیم که معمولا در فلاتر یا در کدهای دارت یا در کدهای نایتیو امکان بروز خطا و exception وجود دارد و شما بایستی برای مدیریت آنها برنامه داشته باشید. همین مفهوم را با استفاده از مثالی ساده و مدل همزمانی در دارت و Zone توضیح دادیم. در ادامه یک ویژگی به برنامه اضافه میکنیم که به شکل گلوبالی خطاهارا دریافت کنیم. در ادامه یک mixin برای logger اضافه کردیم که بتوانیم در کلاس های دیکر از آن استفاده کنیم.


video link: https://youtu.be/mM-JsB6bHu4

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxb--mXM7ILSKenSLLX9hEl

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
👍1
Agile Design چیست؟ طراحی چابک و اجایل

Agile design چیست؟ طراحی اجایل یکی از فاکتورهای بسیار مهم در توسعه نرم افزار به شیوه مدرن است. به تعبیر هراکلس تنها چیز ثابت در دنیا، تغییر است. این بدان معنی است که شما بایستی همواره منتظر تغییر در نرم افزار باشید و برای مدیریت آن برنامه داشته باشید. اصول SOLID مجموعه ای از اصول اساسی طراحی است که به شما کمک می‌کند از تولید نرم افزاری که از منظر طراحی ضعیف باشد دوری کنید. در این ویدیو نشانه های طراحی ضعیف را تشریح کردیم.

Link: https://youtu.be/7KwmaZ3hHKc

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxUIWhfp9euGlbBIrQUhm2Q

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
پیاده سازی Navigation در Flutter

در چهارمین ویدیو آموزش پروژه محور فلاتر ابتدا به معرفی مختصر پشته و کاربرد آن در کامپیوتر و navigation در Flutter پرداختیم. سپس مفهوم GlobalKey فلاتر را مطرح کردیم و گفتیم این مکانیزم چگونه میتواند تغییرات در navigation را برای ما راحت کند. سپس یک کلاس مشخص برای کارهای ناویگیشن تعریف و آن را در ظرف وابستگی هایمان رجیستر کردیم. سپس متد onGenerateRoute را هم برای پیاده سازی جابجایی صفحات در فلاتر اضافه کردیم

Video link: https://youtu.be/FblsBFPkIfQ

Playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxb--mXM7ILSKenSLLX9hEl

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
💩1
دکوراتور تایپ اسکریپت و کاربردهای آن

یکی از عمده ویژگی های تایپ اسکریپت، امکان استقاده از دکوراتور است. البته این ویژگی در پروپوزال ES هست ولی با تایپ اسکریپت در حال حاضر میتوانید از آن استفاده کنید. اساسا یکی از ایده اصلی تایپ اسکریپت رو میشه دکوراتور دانست. میدانید که تایپ اسکریپت با همکاری مشترک گوگل و مایکروسافت ارایه شد. گوگل برای این همکاری در واقع قصد داشت زبان AtScript خود را بر روی تایپ اسکریپت اجرا کند که در نهایت در نسخه ۲ تایپ اسکریپت اغلب ویژگی های زبان گوگل به صورت نایتیو ارایه شد. گوگل قرار بود نسخه ۲ انگولار را با AtScript بنویسد که با این اتفاق انگولار با تایپ اسکریپت نوشته شد. به نظرم مهمترین ویژگی تایپ اسکریپت پس از استاتیک بودن، ارایه راهکارهایی برای Meta Programming و Annotation در زبان از طریق دکوراتورهاست. در این ویدیو به بررسی این ویژگی میپردازیم.

VideoLink: https://youtu.be/GCgPmZ-Vv-4

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
پیاده سازی کامپوننت سطح بالاتر در انگولار به کمک Ivy

در تفکر کامپوننت، بویژه کامپوننت های فانکشنال، کامپوننت سطح بالاتر یا Higher Order Component جایگاه بسیار ویژه ای دارد. اگر از توسعه دهندگان قدیمی واسط کاربری هستید یادتان هست که در گذشته اغلب فریمورک ها از مفهوم وراثت برای ساخت UI استفاده می‌کردند. بدین معنی که یک کلاس پایه، مثلا TextBox تعریف شده بود و معمولا شما به فراخور نیاز کلاسی می ساختید تا از آن ارث بگیرد و کارکردهای جدید به آن اضافه می شد. این شیوه مبتنی بر اولویت وراثت بر ترکیب بود. اما امروزه این شیوه معکوس شده است. با تغییر رویکرد، مفهوم استفاده مجدد دستخوش تغییراتی شده است. یکی از راه های استفاده مجدد در رویکرد اولویت ترکیب بر وراثت، بهره گیری از کامپوننت سطح بالاتر است که در این ویدیو شیوه ساخت این کامپوننت در فریمورک انگولار را بررسی میکنیم.


VideoLink: https://youtu.be/dwa2zDArlkI

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
آموزش برنامه نویسی وب با جنگو از صفر
در این کلاس آنلاین قصد داریم برنامه نویسی فرانت وب را از صفر شروع و تا پیاده سازی یک فروشگاه اینترنتی با جنگو ۴ پیش بریم

جلسه اول: تاریخچه وب و مولفه‌های آن - معرفی ساختار مرورگرها
https://youtu.be/GnJbynuOQK0

جلسه دوم: ساختار صفحات وب - HTML CSS JS
https://youtu.be/6wXjdW3oUiw

جلسه سوم: ساخت اولین صفحه وب با HTML و اهمیت آن در SEO
https://youtu.be/3rqCa-zuJs4

جلسه چهارم:آموزش کار با متن ها در HTML
https://youtu.be/22LtKg-j0pg

پلی لیست:
https://www.youtube.com/playlist?list=PLJ9zDGwhhsBw2UdsBVyA4ahU8057ONdSS

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
👍3
Channel photo updated
کاربرد Real Time Web در مصاحبه System Design

یکی از سوال های مهم در مصاحبه فنی برنامه نویسی و System Design یا طراحی سیستم بهره گیری از کاربرد Real Time Web است. در این ویدیو به بررسی انواع روش های پیاده سازی و کاربردهای آن در طراحی سیستم می‌پردازیم. راهکارهایی همچون وب سوکت، Short and long Polling، امکانات HTTP/2 و ویژگی مهم Server Sent Event مطرح و در ادامه پلی
لیست هرکدام را پیاده سازی میکنیم.

Link: https://youtu.be/6d3smYCV7XQ

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBw0ej6VPfTtMdssjqcNoSt8

〰️〰️〰️〰️〰️〰️
@microfrontend_ir
👍31
Microfrontend.ir
کاربرد Real Time Web در مصاحبه System Design یکی از سوال های مهم در مصاحبه فنی برنامه نویسی و System Design یا طراحی سیستم بهره گیری از کاربرد Real Time Web است. در این ویدیو به بررسی انواع روش های پیاده سازی و کاربردهای آن در طراحی سیستم می‌پردازیم. راهکارهایی…
پیاده سازی Short Polling برای وب

در این ویدیو به معرفی روش Short Polling برای پیاده سازی مکانیزم Real Time Web پرداختیم. ابتدا یک سرویس ساده وب را با جنگو نوشتیم که تغییرات قیمت را برگرداند سپس در سمت کلاینت با استفاده از یک چارت تغییرات را نمایش دادیم و سعی کردیم شیوه اتصال مجدد به سرور را بهینه تر کنیم.


link: https://youtu.be/5GymaQGTmHc

playlist: https://www.youtube.com/watch?v=6d3smYCV7XQ&list=PLJ9zDGwhhsBw0ej6VPfTtMdssjqcNoSt8

〰️〰️〰️〰️〰️〰️
©@microfrontend_ir
👍41