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

@hemanhp2
Download Telegram
مبانی برنامه نویسی به زبان پایتون برای تبدیل شدن به عالم داده

روز اول، برنامه نویسی چیست؟ برنامه نویسی را از کجا شروع کنیم، چگونه برنامه نویس شویم؟ تفکر الگورتیمی


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



channel: @microfrontend_ir

Link: https://youtu.be/0WRM90aqlQ0

Playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBz89N0mFH2CDYmtrbyju4KH
پیاده سازی و برنامه نویسی یک مینی ترلو برای وب و موبایل

روز اول،آموزش پروژه محور، مینی ترلو، ایجاد داکر فایل برای پایتون و جنگو
Backend : Django-PostgreSQL-Redis-Docker
Frontend: Flutter, React, Angular


channel: @microfrontend_ir

Link: https://youtu.be/hw4RBA_ygWM

playlist: https://youtube.com/playlist?list=PLJ9zDGwhhsBytE9r6ZtsIwumc1Xu2lQWW

github: https://github.com/hemanhp/minitrello-services
روز دوم،آموزش پروژه محور، مینی ترلو، ایجاد داکر فایل برای پایتون و جنگو برای محیط پروداکشن

در این سری از ویدیوها میخوایم پروژه مینی ترلو برای وب و موبایل پیاده کنیم در جلسه دوم داکر فایل خودمون رو برای محیط پروداکشن آماده میکنیم. nginx را به عنوان پروکسی به جنگو استفاده و چگونگی استفاده از docker volume برای ذخیره سازی و بازیابی فایل های استاتیک بحث و بررسی کردیم


Backend : Django-PostgreSQL-Redis-Docker
Frontend: Flutter, React, Angular


channel: @microfrontend_ir

Link: https://youtu.be/OcoP0Xzzl8c

playlist: https://youtube.com/playlist?list=PLJ9zDGwhhsBytE9r6ZtsIwumc1Xu2lQWW

github: https://github.com/hemanhp/minitrello-services
مبانی برنامه نویسی به زبان پایتون برای تبدیل شدن به عالم داده

روز دوم: زبان برنامه نویسی پایتون، تاریخچه، متغیرها، عبارات و دستورها


در روز دوم مبانی برنامه نویسی به زبان پایتون برای تبدیل شدن دانشمند داده یا data scientist ابتدا تاریخچه شکل گیری زبان برنامه نویسی پایتون و منشا اسم آن را بررسی کردیم و تحولات اتفاق افتاده بر روی نسخه های آن را بررسی سپس با استفاده از اکسل و تشابه آن با محیط برنامه نویسی سعی در تعریف متغیرها در پایتون کردیم و گفتیم در پایتون همه چیز object و است هر object نیز دارای نوع و type است که قواعد و رفتارهایی که از آن آبجکت میتوان انتظار داشت را تعیین کرد . انواع int, float, bool را در پایتون شرح دادیم و چگونگی ساخت عبارات و ترکیب آن با دستورات را توضیح دادیم. همچنین تفاوت عبارت و دستور را شرح دادیم.


Telegram Channel: @microfrontend_ir

Video Link: https://youtu.be/_lcNh2hTmUw

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

Github: https://github.com/hemanhp/python-course
در این سری از ویدیوها که به نکته ها و ترفندهای پایتون میپردازیم، به سراغ ماژول logging رفتیم.لاگ و لاگ زدن یکی از بنیادی ترین اصول توسعه نرم‌افزار برای محیط های پروداکشن است.در این ویدیو ابتدا به مقایسه دستور print و مکانیزم logging پرداختیم بعد شیوه ساختن سلسله مراتب و طبقه بندی logger ها را مطرح کردیم. هر لاگر میتوانید چندین logger handler داشته باشد که مشخص میکند خروجی به کجا ارسال شود. پس از تعیین مقصد میتوان از طریق filter کنترل بیشتری بر روی آنچه که برای خروجی ارسال میشود داشته باشیم و در نهایت با formatter شیوه و استایل نوشتن خروجی را تعیین کرد. از آنجا که python logging module با هدف سازگاری با log4j پیاده شده است دلیل تفاوت نامگذاری متدها و کلاس ها را توضیح دادیم.

channel: @microfrontend_ir

video link : https://youtu.be/32l7Wogtsxk

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwZcy2wRRBNqXZP8wf--TmF
پیکربندی لاگ زدن در جنگو - django logging

در این سری از ویدیوها که به ترفندها و نکته های جنگو میپردازیم، به سراغ لاگ زدن در جنگو رفتیم و کانفیگ ها و شیوه پیکربندی آن را از طریق بررسی و خواندن کد داخلی جنگو، شرح دادیم. در این وبدیو به جای کد نوشتن بیشتر کد خوندیم که بفهمیم جنگو خودش برای لاگ زدن چگونه کار میکند و ما چگونه میتونیم از آن استفاده کنیم. همچنین امکان django logging را در سرویس های کلودی مانند sentry هم مطرح کردیم.


channel: @microfrontend_ir

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

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv
روز سوم آموزش پروژه محور جنگو، مینی ترلو، مدیریت خطاها و Exceptions و ایجاد Custom Command

در این سری از ویدیوها میخوایم پروژه مینی ترلو برای وب و موبایل پیاده کنیم در جلسه سوم ابتدا به معرفی لاگ پرداختیم و ابزارهایی مانند ELK و graylog را معرفی و در Sentry پروژه خود را ثبت و خطاها و exception های جنگو را در آن رکورد کردیم. مفهوم exception و استثنا را از منظر بیزنسی بررسی کردیم و شیوه مدیریت خطاهای مدیریت نشده در پایتون هم با یک مثال توضیح دادیم. در بخش دوم فریمورک System Check جنگو را تعریف و شیوه اضافه کردن Custom Command به جنگو را با مثالی برای چک کردن دسترسی به دیتابیس قبل از اجرای برنامه توضیح دادیم.


Backend : Django-PostgreSQL-Redis-Docker
Frontend: Flutter, React, Angular


channel: @microfrontend_ir

Link: https://youtu.be/C8gVs68rZ5s

playlist: https://youtube.com/playlist?list=PLJ9zDGwhhsBytE9r6ZtsIwumc1Xu2lQWW

github: https://github.com/hemanhp/minitrello-services
برنامه نویسی async یا غیر همزمان، یکی از مهمترین تغییرات رویکردهای برنامه نویسی در چند سال اخیر است. در این ویدیو مروری داشتیم بر مفاهیم thread و پروسس در پایتون و یک مثال ساده از آنهارا بررسی کردیم. تفاوت کارهای سنگین برای CPU و I/O را مطرح کردیم و در ادامه به بررسی برنامه نویسی async پرداختیم. کلمات کلیدی جدید پایتون شامل async / await رو استفاده کردیم و با معرفی این مفاهیم آماده استفاده از چنل جنگو شدیم


channel: @microfrontend_ir

video link : https://youtu.be/TRnS-hMytc4

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwZcy2wRRBNqXZP8wf--TmF
پیش بینی قیمت مسکن با پایتون - الگوریتم یادگیری ماشین رگرسیون خطی


در این سری ویدیوها میخواهیم به معرفی مختصر هرکدام از الگوریتم های یادگیری ماشین با ارایه یک مثال ساده بپردازیم. در این ویدیو الگوریتم یادگیری ماشین رگرسیون خطی برای تخمین و پیش بینی قیمت مسکن معرفی کردیم و گفتیم چگونه میتوان با رگرسیون خطی ساده روابط بین متغیرهای مستقل و متغیر وابسته را تخمین زد. از ابزارهای علم داده یا data science مانند scikit-learn در پایتون برای این کار استفاده
کردیم.

Video Link: https://youtu.be/xICExWgkGpU

Playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzpISmCQw481N3R6ofGK1hg

Telegram Channel: @microfrontend_ir
روز چهارم آموزش پروژه محور جنگو، مینی ترلو، پیاده سازی لاگین با SMS

در این ویدیو در مورد پیاده سازی لاگین با SMS صحبت میکنیم. در روز چهارم ابتدا به معرفی کاربر در جنگو پرداختیم، کلاس های پایه ی کاربر را در جنگو بررسی کردیم و با ایجاد یک اپ برای کاربر توضیح دادیم که چگونه میتوان مدل کاربر را سفارشی و custom کرد. سپس در قسمت admin مدل خودمون رو اضافه کردیم و ازش استفاده کردیم. در بخش دوم مکانیزمی رو پیاده میکنم که کاربر درخواست OTP بده و جنگو یه پسورد رو برای یک مدت محدود بسازه و براش بفرسته و کاربر از اون برای ورود به سیستم استفاده کنه. برای این کار از django rest framewrok و API استفاده میکنیم و برای درک بهتر از Queryset و Manager سفارشی بهره میبریم و با استفاده JSON Web Token توکنی را برای احراز هویت کاربر تولید میکنیم.

Backend : Django-PostgreSQL-Redis-Docker
Frontend: Flutter, React, Angular

channel: @microfrontend_ir

Link: https://youtu.be/M6erET1NLco

playlist: https://youtube.com/playlist?list=PLJ9zDGwhhsBytE9r6ZtsIwumc1Xu2lQWW
Idempotency در طراحی API چیست؟ به همراه پیاده سازی در جنگو

در این سری از ویدیوها که به ترفندها و نکته های جنگو میپردازیم، به سراغ یکی از رایج ترین سوالات مصاحبه های فنی یا coding interview یعنی مفهوم idempotency در طراحی API رفتیم.در این ویدیو سرویس idempotent را تعریف و با مثال یکی از سرویس های توییتر توضیح دادیم که چرا یک سرویس باید idempotent باشد. در ادامه یک سرویس ساده را با جنگو به صورت idempotent پیاده کردیم.

channel: @microfrontend_ir

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

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv
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