Microfrontend.ir

Канал
Технологии и приложения
Образование
Блоги
Бизнес
ПерсидскийИранИран
Логотип телеграм канала Microfrontend.ir
@microfrontend_irПродвигать
1,26 тыс.
подписчиков
203
фото
1
видео
259
ссылок
کانال تلگرامی وبلاگ میکروفرانت‌اند. مباحثی پیرامون هوش مصنوعی و یادگیری ماشین، معماری نرم افزار با تمرکز بر DDD ، میکروسرویس و میکروفرانت‌اند www.microfrontend.ir @hemanhp2
К первому сообщению
احتمالا همه‌تون داستان ترکیدن سرویس‌های مایکروسافتی در سطح جهان رو شنیدید. داستان از این قراره که Vincent Flibustier که روز اول کاریش در شرکت Crowdstrike فکر میکنه یک خط کد رو برای بهینه سازی تغییر بده که در عکس می‌بینید.


به نظرتون تفاوت Rust و Go در کار با پوینترها چطوریه؟

** این تیکه کد و موضوع شوخیه ولی جواب سوال مهمه :)
کست -1 به size_t که بدون علامته رفتارهای متفاوت داره ولی معمولا بزرگترین عدد قابل شمارش صحیح تو اون سیستم رو برمیگردونه
〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
Microfrontend.ir
زبان Rust تضمین Race-Free بودن می‌ده، زبان Go این تضمین رو نمی‌ده ولی به فرهنگ و کالچر برنامه‌نویساش دلخوشه و به نظرم دلخوشی بجاییه و البته اگر High Availability در معماری فاکتور بحرانیه طبعا زبان یا ران تایمی مثل Erlang اولویت بالاتری داره. 〰️〰️〰️〰️〰️〰️
Race Condition
فرض کنید برنامه‌‌ای می‌نویسید که چندین ترد یا پروسس به طور همزمان در حال اجرا هستند. این ترد ها ممکن است به داده های مشترکی دسترسی داشته باشند و آنها را بروزرسانی کنند. حال اگر این دسترسی و به روزرسانی بدون کنترل و نظم انجام شود، به طوری که ترتیب دقیق دسترسی و به روزرسانی داده ها توسط ترد ها مشخص نباشد، شرایط مسابقه (Race Condition) رخ می دهد.
در این مثال، متغیر counter به عنوان یک شمارنده استفاده می شود. 10 تابع به طور همزمان مقدار counter را با استفاده از تابع increment افزایش می دهند.
در Rust با وجود اینکه ما با چندین ترد به شمارنده دسترسی داریم، سیستم مالکیت Rust تضمین می‌کند که فقط یک ترد می‌تواند همزمان شمارنده را به‌صورت تغییرپذیر یا میوتیبل در اختیار بگیرد و با قطعیت می‌توان گفت که عدد ۱۰ چاپ خواهد شد.
در Go با استفاده از یک اشاره گر مستقیماً به متغیر شمارنده دسترسی داریم. این یک Race Condition بالقوه ایجاد می کند زیرا چندین گوروتین می توانند همزمان آن را تغییر دهند. مقدار نهایی شمارنده بسته به اینکه کدام گوروتین در مسابقه برای دسترسی به آن "برنده" شود، می تواند غیرقابل پیش بینی باشد.
زبان Rust تضمین Race-Free بودن می‌ده، زبان Go این تضمین رو نمی‌ده ولی به فرهنگ و کالچر برنامه‌نویساش دلخوشه و به نظرم دلخوشی بجاییه و البته اگر High Availability در معماری فاکتور بحرانیه طبعا زبان یا ران تایمی مثل Erlang اولویت بالاتری داره.

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
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
یک سرور دیسکورد برای کانال ساختم که برخی کارها مخصوصا دسته بندی اطلاعات و رفع اشکال پلی لیست‌ها رو اونجا داشته باشیم. اگر مایل بودید خوشحال می‌شم جوین شید.

https://discord.gg/hmxWQjKb

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
سلام و با عرض پوزش، در دو هفته گذشته متاسفانه عملا دسترسی نداشتم و نتونستم ویدیو منتشر کنم. از هفته بعد مجدد شروع می‌کنم.
〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
از هفته بعد تمرکز کانال بر روی داکر و پستگرس خواهد بود و پلی لیست‌های جاوا اسکریپت رو هم با سرعت کمتری ادامه می‌دم. روی یک پلی لیست آموزش Go هم دارم کار می‌کنم که چون می‌خوام مثل پلی لیست‌های ناقص دیگه نشه تا کامل ضبط نکنم منتشر نمی‌کنم. برای حمایت از کانال به دوستان خود بگویید :)

https://youtube.com/microfrontend

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
Microfrontend.ir
مصاحبه فنی جاوا اسکریپت: پیاده سازی Event Emitter با تست در این ویدیو از سری مصاحبه فنی جاوا اسکریپت به بررسی یگ مثال واقعی یعنی پیاده سازی Event Emitter با تست پرداختیم. EventEmitter یک سیستم ساده برای مدیریت و اجرای رویدادها فراهم می‌کند. این کلاس به…
مصاحبه فنی جاوا اسکریپت: Prototype Inheritance

در این ویدیو از سری مصاحبه فنی جاوا اسکریپت به بررسی مفهوم Prototype Inheritance در زبان برنامه نویسی جاوا اسکریپت پرداختیم.
در برنامه‌نویسی شیءگرا، دو روش اصلی برای وراثت وجود دارد: وراثت نمونه‌ای و وراثت کلاسیک. وراثت کلاسیک بر مبنای کلاس‌ها است که در زبان‌های برنامه‌نویسی شیءگرا مانند Java، C++، و Python مورد استفاده قرار می‌گیرد. در این مدل، یک کلاس والد تعریف می‌شود و کلاس‌های فرزند از این کلاس والد وراثت می‌گیرند. کلاس‌ها نوعی الگو یا قالب هستند که اشیاء از روی آنها ساخته می‌شوند.
وراثت نمونه‌ای در زبان‌های برنامه‌نویسی مانند JavaScript استفاده می‌شود. در این مدل، اشیاء می‌توانند مستقیماً از اشیاء دیگر وراثت بگیرند، بدون نیاز به تعریف کلاس‌ها. هر شیء یک نمونه دارد که به عنوان مرجعی برای وراثت عمل می‌کند.


Link: https://youtu.be/gl6BCRRuyVc

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzcA25VvIevaPo-5qrKXtWY

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
Microfrontend.ir
مصاحبه فنی جاوا اسکریپت: کلمه کلیدی this و کاربردهای آن در این ویدیو از سری مصاحبه فنی جاوا اسکریپت یکی از پرتکرارترین مفاهیم آن یعنی کلمه کلیدی this را بررسی کردیم. کلمه کلیدی this در جاوا اسکریپت یکی از مفاهیم مهم و پیچیده است که معنای آن به نحوهٔ فراخوانی…
مصاحبه فنی جاوا اسکریپت: پیاده سازی Event Emitter با تست

در این ویدیو از سری مصاحبه فنی جاوا اسکریپت به بررسی یگ مثال واقعی یعنی پیاده سازی Event Emitter با تست پرداختیم. EventEmitter یک سیستم ساده برای مدیریت و اجرای رویدادها فراهم می‌کند. این کلاس به شما اجازه می‌دهد که برای رویدادهای مختلف، شنونده‌های (listener) متفاوتی ثبت کنید و سپس این رویدادها را اجرا کنید و شنونده‌ها را فراخوانی کنید. در این ویدیو ابتدا Test Case های خود را بر اساس مساله تعریف و با استفاده از Vitest و Vite مراحل پیاده سازی و پاس کردن تست ها را پیش بردیم.

Link: https://youtu.be/ph7fqGM8gek

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzcA25VvIevaPo-5qrKXtWY

DOM Playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxTnc38aIpeTV3m_UUw-4EF


〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
مصاحبه فنی جاوا اسکریپت: کلمه کلیدی this و کاربردهای آن

در این ویدیو از سری مصاحبه فنی جاوا اسکریپت یکی از پرتکرارترین مفاهیم آن یعنی کلمه کلیدی this را بررسی کردیم. کلمه کلیدی this در جاوا اسکریپت یکی از مفاهیم مهم و پیچیده است که معنای آن به نحوهٔ فراخوانی تابع بستگی دارد. در این ویدیو سعی کردم حالت‌های مختلف استفاده از this را توضیح دهم. ابتدا در مورد شرایط implicit binding کلمه کلیدی this صحبت کردم و سپس explicit binding را از طریق متدها call, apply و bind شرح دادم.

Link: https://youtu.be/fCQFyVckhs8

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBzcA25VvIevaPo-5qrKXtWY

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
Microfrontend.ir
آموزش پروژه محور جاوا اسکریپت - DOM Events در قسمت پنجم از آموزش پروژه محور جاوا اسکریپت به بررسی مفهوم DOM Events ها پرداختیم. ابتدا به معرفی مفهوم و کارکرد event در استاندارد DOM پرداختیم. سپس سه شیوه اضافه کردن Event Listener ها به المان‌ها را شرح و مزایا…
آموزش پروژه محور جاوا اسکریپت - Capturing and Bubbling

در قسمت ششم از آموزش پروژه محور جاوا اسکریپت به بررسی مفهوم Capturing and Bubbling در مدیریت Event ها پرداختیم. ابتدا به بررسی رویکرد مرورگر برای مدیریت Event در فازهای Capturing و Bubbling پرداختیم و سپس شیوه اضافه کردن Event Listener برای هر کدام از فازها را شرح و در نهایت یک مثال ساده از کاربرد آن را بررسی کردیم. در خاتمه یک کوییز و سوال کوچک جاوا اسکریپتی رو مطرح کردم :)

Link: https://youtu.be/KtUmvqTcSjo

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxTnc38aIpeTV3m_UUw-4EF
〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
آموزش پروژه محور جاوا اسکریپت - DOM Events

در قسمت پنجم از آموزش پروژه محور جاوا اسکریپت به بررسی مفهوم DOM Events ها پرداختیم. ابتدا به معرفی مفهوم و کارکرد event در استاندارد DOM پرداختیم. سپس سه شیوه اضافه کردن Event Listener ها به المان‌ها را شرح و مزایا و معایب هرکدام را بررسی کردیم.


Link: https://youtu.be/2oEq-oLZI0A

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxTnc38aIpeTV3m_UUw-4EF
〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
آموزش پروژه محور جاوا اسکریپت - ایجاد و مدیریت DOM Elements

در قسمت چهارم از آموزش پروژه محور جاوا اسکریپت به بررسی مفهوم ایجاد و مدیریت DOM Elements پرداختیم. ابتدا دستور createElement را شرح و سپس شیوه های مختلف اضافه کردن آیتم به DOM را بررسی و در مورد پرفورمنس هرکدام از آنها توضیحات مختصری مطرح کردیم. سپس دستورات اضافه کردن و حذف کردن و کپی کردن المان ها را شرح دادیم

Link: https://youtu.be/EINkFBKPC6E

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxTnc38aIpeTV3m_UUw-4EF
〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
Microfrontend.ir
آموزش پروژه محور رایگان جاوا اسکریپت - DOM چیست؟ در قسمت اول از پلی لیست آموزش پروژه محور رایگان جاوا اسکریپت و DOM به بررسی مسیری که مرورگر برای نمایش صفحات یا Critical Render Path طی می‌کند پرداختیم. مرورگر به شکل کلی ۵ گام اصلی را برای رندر طی می‌کند.…
آموزش پروژه محور جاوا اسکریپت - DOM Nodes and Elements

در قسمت دوم از پلی لیست آموزش پروژه محور رایگان جاوا اسکریپت و DOM به بررسی عمیق‌تر درخت DOM و شیوه های پیداکردن و تعامل با عناصر آن پرداختیم. ابتدا آبجکت window رو بررسی و سپس انواع Node های دام را شرح دادیم. سپس استفاده از متدهای DOM برای دستیابی و پیداکردن عناصر را شرح و چند نکته مهم مرتبط با آنها را توضیح دادیم. سپس شیوه استفاده از آنها را با مثالی توضیح دادیم. در نهایت با یک مثال بی ربط به بحث مفهوم Web Scraping را توضیح دادم که با استفاده از مهارت‌های مرتبط با DOM می توانیم اطلاعات صفحات وب را استخراج و تحلیل کنیم.


Link: https://youtu.be/OEZJNgKzYN4

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxTnc38aIpeTV3m_UUw-4EF
〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
Microfrontend.ir
آموزش پروژه محور جاوا اسکریپت و DOM در این ویدیو به معرفی پلی لیست آموزش پروژه محور رایگان جاوا اسکریپت و DOM پرداختم. در این پلی لیست قصد دارم به چند تا سوال مهم در مورد DOM یا document object model و همچنین مکانزیم‌های رندرینگ در فضای بروز پاسخ دهم و سپس…
آموزش پروژه محور رایگان جاوا اسکریپت - DOM چیست؟

در قسمت اول از پلی لیست آموزش پروژه محور رایگان جاوا اسکریپت و DOM به بررسی مسیری که مرورگر برای نمایش صفحات یا Critical Render Path طی می‌کند پرداختیم. مرورگر به شکل کلی ۵ گام اصلی را برای رندر طی می‌کند. در گام اول DOM را می‌سازد، در گام دوم CSS Object Model و در گام سوم این دو را باهم ترکیب و Render Tree را می سازد. در گام چهارم هرآنچه برای چیدن Layout لازم است را داریم و در نهایت آن را Paint می کند. فرایند گفته شده را با یک مثال ساده در بروزر بررسی کردیم.


Link: https://youtu.be/XmQvIvP6yxc

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxTnc38aIpeTV3m_UUw-4EF
〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
آموزش پروژه محور جاوا اسکریپت و DOM

در این ویدیو به معرفی پلی لیست آموزش پروژه محور رایگان جاوا اسکریپت و DOM پرداختم. در این پلی لیست قصد دارم به چند تا سوال مهم در مورد DOM یا document object model و همچنین مکانزیم‌های رندرینگ در فضای بروز پاسخ دهم و سپس شیوه کار با DOM از طریق Vanilla JS شرح و در نهایت یک پروژه عملی را با هم تمرین کنیم.

** این پلی لیست پیش نیاز پلی لیست بعدیمون در مورد ساخت یک فریمورک جاوا اسکریپتی است.
** برنامه کانال در حال حاضر روزهای فرد است اما تلاشم این خواهد بود که این پلی لیست را سریعتر تکمیل کنم


Link: https://youtu.be/mNVrorM0U-U

PlayList: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxTnc38aIpeTV3m_UUw-4EF

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
من ویرایش اول این کتاب رو خوندم و به نظرم دروازه خوبیه برای ورود به معماری ‌نرم افزار و چالش‌هاش. نسخه دومش تازه چاپ شده و تغییرات زیادی داره.
Designing Software Architectures: A Practical Approach, 2nd Edition

** از این به بعد سعی می‌کنم هر هفته حداقل یکی دو کتاب خوب هم معرفی کنم.

〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
Ещё