داریم به پایان سال 2023 نزدیک میشیم و به مناسبت تولد خالق لینوکس بریم با ۷ اپلیکیشن جذاب و کاربردی متن باز که کاربران لینوکس در سال ۲۰۲۳ دوست داشتن آشنا بشیم :)
1️⃣ اپلیکیشن Warp:برنامه به اشتراک گذاری فایل امن
اپلیکیشن Warp یک برنامه اشتراک فایل متن باز مبتنی بر Rust عه که برای Linux، Windows و Android در دسترسه.
اگه دنبال برنامه ای هستید که در یک شبکه ی داخلی بین ویندوز و لینوکس و اندروید در یک محیط رمزنگاری شده فایل جابه جا کنید. حتما Warp رو امتحان کنید. رابط کاربری فوق العاده تمیز و راحتی داره
2️⃣ اپلیکیشن MusicPod: یک پخش کننده موسیقی زیبا
اگر به دنبال یک پخش کننده موسیقی هستید که تجربه کاربری خوبی رو با پشتیبانی از پادکست ها و رادیو ارائه بده، MusicPod یک انتخاب عالیه . با فلاتر نوشته شده و فقط برای لینوکس در دسترسه.
3️⃣ اپلیکیشن Beaver Notes: برنامه نوت برداری با تمرکز روی حریم شخصی
برنامههای نوت برداری مختلفی روی لینوکس وجود دارن اما اگه بیشترشون رو امتحان کردین و دنبال یه چیز ساده و سر راست و با تمرکز روی حریم شخصی هسید، Beaver Notes گزینه خوبیه. علاوه بر لینوکس برای مک و ویندوز هم نسخه داره.
4️⃣ اپلیکیشن Wave: یک ترمینال مدرن لینوکسی
ترمینال Waveterm هم رابط کاربری خیره کننده ای داره و هم تجربه کاربری خیلی خوبی داره. بهتون اجازه میده پروفایل های مختلفی بسازید و کانکشن های SSH اتون رو هم ذخیره کنید. حتما امتحانش کنید. برای مک هم نسخه داره و با Go و Typenoscript نوشته شده
5️⃣ اپلیکیشن Xplorer: یک مدیر فایل زیبا
اکثر شما از مدیر فایل پیش فرضی که توی سیستمتون هست راضی هستید، با این حال، اگه میخواهید یه چیز مدرن ترو امتحان کنید، Xplorer یک مدیر فایل زیبا با گزینه های زیادی برای سفارشی سازیه. برای لینوکسو مک و ویندوز نسخه داره
6️⃣ اپلیکیشن Mission Center: نرم افزار نظارت سیستم
اگه دنبال یه برنامه با GUI خوب هستید که میزان مصرف منابع سیستمون رو نشون بده Mission Center میتونه گزینه ی خوبی باشه.
7️⃣ اپلیکیشن Denaro
این برنامه یه دستیار مدیریت مالی عیه که می تونید ازش برای نظارت و سازماندهی استفاده کنید. فقط برای لینوکس در دسترسه
🆔 @MdDaily
1️⃣ اپلیکیشن Warp:برنامه به اشتراک گذاری فایل امن
اپلیکیشن Warp یک برنامه اشتراک فایل متن باز مبتنی بر Rust عه که برای Linux، Windows و Android در دسترسه.
اگه دنبال برنامه ای هستید که در یک شبکه ی داخلی بین ویندوز و لینوکس و اندروید در یک محیط رمزنگاری شده فایل جابه جا کنید. حتما Warp رو امتحان کنید. رابط کاربری فوق العاده تمیز و راحتی داره
2️⃣ اپلیکیشن MusicPod: یک پخش کننده موسیقی زیبا
اگر به دنبال یک پخش کننده موسیقی هستید که تجربه کاربری خوبی رو با پشتیبانی از پادکست ها و رادیو ارائه بده، MusicPod یک انتخاب عالیه . با فلاتر نوشته شده و فقط برای لینوکس در دسترسه.
3️⃣ اپلیکیشن Beaver Notes: برنامه نوت برداری با تمرکز روی حریم شخصی
برنامههای نوت برداری مختلفی روی لینوکس وجود دارن اما اگه بیشترشون رو امتحان کردین و دنبال یه چیز ساده و سر راست و با تمرکز روی حریم شخصی هسید، Beaver Notes گزینه خوبیه. علاوه بر لینوکس برای مک و ویندوز هم نسخه داره.
4️⃣ اپلیکیشن Wave: یک ترمینال مدرن لینوکسی
ترمینال Waveterm هم رابط کاربری خیره کننده ای داره و هم تجربه کاربری خیلی خوبی داره. بهتون اجازه میده پروفایل های مختلفی بسازید و کانکشن های SSH اتون رو هم ذخیره کنید. حتما امتحانش کنید. برای مک هم نسخه داره و با Go و Typenoscript نوشته شده
5️⃣ اپلیکیشن Xplorer: یک مدیر فایل زیبا
اکثر شما از مدیر فایل پیش فرضی که توی سیستمتون هست راضی هستید، با این حال، اگه میخواهید یه چیز مدرن ترو امتحان کنید، Xplorer یک مدیر فایل زیبا با گزینه های زیادی برای سفارشی سازیه. برای لینوکسو مک و ویندوز نسخه داره
6️⃣ اپلیکیشن Mission Center: نرم افزار نظارت سیستم
اگه دنبال یه برنامه با GUI خوب هستید که میزان مصرف منابع سیستمون رو نشون بده Mission Center میتونه گزینه ی خوبی باشه.
7️⃣ اپلیکیشن Denaro
این برنامه یه دستیار مدیریت مالی عیه که می تونید ازش برای نظارت و سازماندهی استفاده کنید. فقط برای لینوکس در دسترسه
🆔 @MdDaily
❤🔥5👍1🔥1
Md Daily
🎉سوپرایز یلدایی MdDaily🎉 یلدای همگی مبارک باشه❤️ به مناسبت شب یلدا پلتفرم ام دی کورس برای محقق شدن پروژه ی رویای ام دی راه اندازی شد 🎊 از این به بعد کورس های Md daily از طریق ام دی کورس منتشر میشوند و شما هم میتونید توی آماده سازی دوره ها مشرکت کنید یا…
🎉 پروژه ی MdCourse دامنه دار شد و الان روی Firebase میزبانی میشه که از طریق آدرس :
🔗 https://mddaily.web.app/
در دسترسه :)
🆔 @MdDaily
🔗 https://mddaily.web.app/
در دسترسه :)
🆔 @MdDaily
mddaily.web.app
ام دی کورس | خانه
آموزش آزاد و رایگان برای همه
🔥4
Md Daily
فردا پست ساخت لود بالانسر با گولنگ توی وبلاگ MdCourse منتشر میشه
#ام_دی_کورس
ساخت Load Balancer در گولنگ
ادامه در :
https://mddaily.web.app/blog/building-a-load-balancer-in-go/
🆔 @MdDaily
ساخت Load Balancer در گولنگ
لود بالانسر ها در معماری وب نقشی اساسی دارن.
چونکه اجازه میدن بار بین مجموعه ای از backendها توزیع بشه. این باعث مقیاس پذیری بیشتر خدمات میشه و در نهایت سرویس با داشتن load balancer تشخیص بده کدوم سرور ترافیک زیادی روشه یا خراب شده و ترافیک را به سرور های آماده به کار منتقل کنه.
توی این پست قرار با استفاده از Golang یک لود بالانسر ایجاد کنیم.
ادامه در :
https://mddaily.web.app/blog/building-a-load-balancer-in-go/
🆔 @MdDaily
👌5👍1🔥1🐳1
#course
درایو گوگل شامل آموزش های رایگان در زمینه های:
✅ Artificial Intelligence
✅ AWS Certified
✅ Cloud
✅ BIG DATA
✅ Data science
✅ BI
✅ Python
✅ Data Analytics
✅ Google Cloud Platform
✅ IT Training
✅ MBA
✅ Machine Learning
✅ Ethical Hacking
✅ Deep Learning and more
https://drive.google.com/drive/mobile/folders/1CgN7DE3pNRNh_4BA_zrrMLqWz6KquwuD 🔗
🆔 @MdDaily
درایو گوگل شامل آموزش های رایگان در زمینه های:
✅ Artificial Intelligence
✅ AWS Certified
✅ Cloud
✅ BIG DATA
✅ Data science
✅ BI
✅ Python
✅ Data Analytics
✅ Google Cloud Platform
✅ IT Training
✅ MBA
✅ Machine Learning
✅ Ethical Hacking
✅ Deep Learning and more
https://drive.google.com/drive/mobile/folders/1CgN7DE3pNRNh_4BA_zrrMLqWz6KquwuD 🔗
🆔 @MdDaily
🔥6
#معرفی
وب سایت هایی برای یادگیری تکنولوژی های مختلف:
🧠 هوش مصنوعی: ai.google
💻 برنامه نویسی: codeacademy.com
💹 بلاک چین: 101blockchains.com
🔒 امنیت سایبری: cybrary.it
🤖 ماشین لرنینگ: machinelearningmastery.com
📊 علم داده: kaggle.com
🏗 دوآپس: kodekloud.com
☁️ کلود کامپیوتینگ: aws.amazon.com
📈 تحلیل داده: careerfoundry.com
🌐 وب 3.0: buildspace.so
🧑💻 مصاحبه کدنویسی و الگوریتم ها: leetcode.com
🆔 @MdDaily
وب سایت هایی برای یادگیری تکنولوژی های مختلف:
🧠 هوش مصنوعی: ai.google
💻 برنامه نویسی: codeacademy.com
💹 بلاک چین: 101blockchains.com
🔒 امنیت سایبری: cybrary.it
🤖 ماشین لرنینگ: machinelearningmastery.com
📊 علم داده: kaggle.com
🏗 دوآپس: kodekloud.com
☁️ کلود کامپیوتینگ: aws.amazon.com
📈 تحلیل داده: careerfoundry.com
🌐 وب 3.0: buildspace.so
🧑💻 مصاحبه کدنویسی و الگوریتم ها: leetcode.com
🆔 @MdDaily
👍3
پست فردای ام دی کورس راجب چه موضوعی باشه؟
Final Results
41%
سیستم دیزاین PayPal
22%
کارهایی که html بدون نیاز به js میتونه بکنه
20%
Sharing a state between windows (توی پست بعدی نمونش رو میذارم)
16%
مقدمه ای بر svelte و svelte kit
2%
توی کامنت ها میگم
👍2
Md Daily
پست فردای ام دی کورس راجب چه موضوعی باشه؟
نمونه ی Sharing a state between windows که چند وقت پیش خیلی ترند شده بود :)
👍1
#ام_دی_کورس
چطوری پیپل با استفاده از فقط 8 ماشین مجازی به یک میلیارد تراکنش روزانه رسید
ادامه در:
https://mddaily.web.app/blog/how-paypal-was-able-to-support-a-billion-transactions-per-day-with-only-8-virtual-machines/
🆔 @MdDaily
چطوری پیپل با استفاده از فقط 8 ماشین مجازی به یک میلیارد تراکنش روزانه رسید
این پست توضیح میده که چطور پیپال با فقط 8 تا ماشین مجازی به یه میلیارد تراکنش روزانه رسید.
دسامبر 1998 - کالیفرنیا، آمریکا
تیمی از مهندسان نرم افزار امنیتی برای دستگاه های hand-held درست کردن. ولی مدل کسبوکارشون شکست خورد.
پس تصمیم گرفتن یه سرویس پرداخت آنلاین درست کنن و اسمش رو گذاشتن پیپال.
تو اوایل، با افزایش تعداد کاربرا، سختافزار جدیدتر میخریدن تا بتونن مقیاسبندی کنن ...
ادامه در:
https://mddaily.web.app/blog/how-paypal-was-able-to-support-a-billion-transactions-per-day-with-only-8-virtual-machines/
🆔 @MdDaily
🔥8👍3
#معرفی #مصاحبه
کاربر X (توئیتر سابق) ای بنام Ashish Pratap Singh که الان مهندس نرم افزار توی آمازونه توی رشته پستی منابعی که برای : کد نویسی، سیستم دیزاین و ... مطالعه کرده تا توی مصاحبه های Adobe، Amazon، Google و Microsoft شرکت کنه رو منتشر کرده بود که در ادامه بررسیشون می کنیم:
👈 برای مصاحبه کدنویسی :
- مطالعه ی کتاب: Cracking the Coding Interview by Gayle Laakmann McDowell که این کتاب شامل 189 مسئله با کیفیت بالا و راه حل هاشون (فایل کتاب در پست بعدی)
- دوره های Algorithms 1 و Algorithms 2 از دانشگاه Princeton در کورسرا (این دو دوره رایگان هستند و میتونید مستقیم از خود کورسرا ببنید)
- پلی لیست ساختار داده از William Fiset’s توی این پلی لیست ویلیام ساختار داده را از طریق انیمیشن ها توضیح میده که درک مفاهیم سخت رو خیلی آسون تر میکنه
- پلی لیست Dynamic Programming و Graph از Tushar Roy’s این پلی لیست برای هر کسی که بخواد مشکلات Dynamic Programming رو حل کنه دیدنش واجبه
- پلتفرم LeetCode: برای تمرین مشکلات کدنویسی. بهترین پلفترم برای حل و تمرین سوال های روز مصاحبه
👈 برای مصاحبه سیستم دیزاین :
- کتاب Designing Data Intensive Applications از Martin Klepmann. خوندن این کتاب بهتون تو درک طراحی سیستمهایی با مقیاس بزرگ کمک میکنه و برای درک نحوه عملکرد سیستم های توزیع شده باید بخونید. (فایل کتاب در پست بعدی)
- دوره Grokking the System Design Interview در Educative . خود Ashish Pratap Singh میگفت که این دوره رو 3 بار گذرونده و بهش خیلی کمک کرده تا توی سوالات مربوط به سیستم دیزاین که ازش می پرسن جواب های خوبی بده. (دورش رایگان نبود. لینک دانلودش رو از دانلودلی براتون گذاشتم 😅)
- ویدیو های Tech Dummies System Design در یوتیوب
- پلی لیست Gaurav Sen's System Design for Beginners
- پلی لیست Codekarle System Design Interview
- ریپوی گیت هاب Awesome System Design Resources
👈 برای مصاحبه های low level design:
- کتاب Head First Design Patterns. این کتاب با استفاده از طنز و تصاویر، یادگیری مفاهیم شی گرا را سرگرم کننده و جذاب می کنه. (فایل کتاب در پست بعدی)
- دوره Grokking the Low Level Design Interview Using OOD Principles Course در Educative. این دوره همه چیز را از مفاهیم OOPS گرفته تا الگوهای طراحی تا اصول جامد و مشکلات رایج در چنین مصاحبه هایی را پوشش میده. (لینک دانلود رایگانش رو پیدا نکردم. اگه کسی پیدا کرد توی کامنت ها بفرسته)
- ریپوی گیت هاب awesome-low-level-design
👈 برای مصاحبه های behavioural:
- ریپوی گیت هاب Awesome Behavioral Interviews
👈 برای مصاحبه های تمرینی و آزمایشی (Mock):
- پلتفرم pramp . به نقل از Ashis:
👈 برای نوت برداری:
- پلتفرم Notion به نقل از Ashis:
➖➖➖
امیدوارم این منابع بهتون کمک کنه و براتون مفید باشه :)
🆔 @MdDaily
کاربر X (توئیتر سابق) ای بنام Ashish Pratap Singh که الان مهندس نرم افزار توی آمازونه توی رشته پستی منابعی که برای : کد نویسی، سیستم دیزاین و ... مطالعه کرده تا توی مصاحبه های Adobe، Amazon، Google و Microsoft شرکت کنه رو منتشر کرده بود که در ادامه بررسیشون می کنیم:
👈 برای مصاحبه کدنویسی :
- مطالعه ی کتاب: Cracking the Coding Interview by Gayle Laakmann McDowell که این کتاب شامل 189 مسئله با کیفیت بالا و راه حل هاشون (فایل کتاب در پست بعدی)
- دوره های Algorithms 1 و Algorithms 2 از دانشگاه Princeton در کورسرا (این دو دوره رایگان هستند و میتونید مستقیم از خود کورسرا ببنید)
- پلی لیست ساختار داده از William Fiset’s توی این پلی لیست ویلیام ساختار داده را از طریق انیمیشن ها توضیح میده که درک مفاهیم سخت رو خیلی آسون تر میکنه
- پلی لیست Dynamic Programming و Graph از Tushar Roy’s این پلی لیست برای هر کسی که بخواد مشکلات Dynamic Programming رو حل کنه دیدنش واجبه
- پلتفرم LeetCode: برای تمرین مشکلات کدنویسی. بهترین پلفترم برای حل و تمرین سوال های روز مصاحبه
👈 برای مصاحبه سیستم دیزاین :
- کتاب Designing Data Intensive Applications از Martin Klepmann. خوندن این کتاب بهتون تو درک طراحی سیستمهایی با مقیاس بزرگ کمک میکنه و برای درک نحوه عملکرد سیستم های توزیع شده باید بخونید. (فایل کتاب در پست بعدی)
- دوره Grokking the System Design Interview در Educative . خود Ashish Pratap Singh میگفت که این دوره رو 3 بار گذرونده و بهش خیلی کمک کرده تا توی سوالات مربوط به سیستم دیزاین که ازش می پرسن جواب های خوبی بده. (دورش رایگان نبود. لینک دانلودش رو از دانلودلی براتون گذاشتم 😅)
- ویدیو های Tech Dummies System Design در یوتیوب
- پلی لیست Gaurav Sen's System Design for Beginners
- پلی لیست Codekarle System Design Interview
- ریپوی گیت هاب Awesome System Design Resources
👈 برای مصاحبه های low level design:
- کتاب Head First Design Patterns. این کتاب با استفاده از طنز و تصاویر، یادگیری مفاهیم شی گرا را سرگرم کننده و جذاب می کنه. (فایل کتاب در پست بعدی)
- دوره Grokking the Low Level Design Interview Using OOD Principles Course در Educative. این دوره همه چیز را از مفاهیم OOPS گرفته تا الگوهای طراحی تا اصول جامد و مشکلات رایج در چنین مصاحبه هایی را پوشش میده. (لینک دانلود رایگانش رو پیدا نکردم. اگه کسی پیدا کرد توی کامنت ها بفرسته)
- ریپوی گیت هاب awesome-low-level-design
👈 برای مصاحبه های behavioural:
- ریپوی گیت هاب Awesome Behavioral Interviews
👈 برای مصاحبه های تمرینی و آزمایشی (Mock):
- پلتفرم pramp . به نقل از Ashis:
من چند هفته قبل از مصاحبه هایم از Pramp استفاده کردم تا در یک مصاحبه تمرین کنم. این باعث شد من اعتماد به نفس بیشتری داشته باشم و سرعت بیشتری را که در آن به مشکلات مصاحبه نزدیک شدم ، بهبود بخشیدم.
👈 برای نوت برداری:
- پلتفرم Notion به نقل از Ashis:
پلتفرم Notion برای یادداشت برداری و سازماندهی اطلاعات است. من همه چیزهای جالبی را که در طول آماده سازی به آن برخورد کردم یادداشت کردم.
➖➖➖
امیدوارم این منابع بهتون کمک کنه و براتون مفید باشه :)
🆔 @MdDaily
❤8👍2
@Mddaily OReilly-Designing-Data-Intensive-Applications.rar
20.1 MB
کتاب: Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
🆔 @MdDaily
🆔 @MdDaily
🔥1
Md Daily
#معرفی #مصاحبه کاربر X (توئیتر سابق) ای بنام Ashish Pratap Singh که الان مهندس نرم افزار توی آمازونه توی رشته پستی منابعی که برای : کد نویسی، سیستم دیزاین و ... مطالعه کرده تا توی مصاحبه های Adobe، Amazon، Google و Microsoft شرکت کنه رو منتشر کرده بود که…
منابع مفید برای مصاحبه های فنی به همراه فایل کتاب ها 👆🏻👆🏻👆🏻
#معرفی
وبسایت Terminal Trove اومده ابزار های TUI رو توی دسته بندی های مختلف مثل:
✅ CLI
✅ Devops
✅ Networking
✅ AI
✅ LLM
✅ Rust
✅ SysAdmin
✅ ....
قرار داده و میتونید صد ها ابزار TUI مختلف رو برسی کنید
🔗 https://terminaltrove.com/
🆔 @MdDaily
وبسایت Terminal Trove اومده ابزار های TUI رو توی دسته بندی های مختلف مثل:
✅ CLI
✅ Devops
✅ Networking
✅ AI
✅ LLM
✅ Rust
✅ SysAdmin
✅ ....
قرار داده و میتونید صد ها ابزار TUI مختلف رو برسی کنید
🔗 https://terminaltrove.com/
🆔 @MdDaily
❤3❤🔥1🔥1
🎉 به درخواست شما عزیزان اولین قسمت پادکست مشترک DevOps با سید مهدی عزیز پنجشنبه دوازدهم بهمن ماه 1402 از MdDaily منتشر میشه!
❓توی این پادکست قرار راجب چه موضوع هایی بحث کنیم؟
بعد از آشنایی با DevOps و بخش معرفی، با سید مهدی عزیز همراه میشیم تا ببینیم چیشد که وارد این حوزه شد، افرادی که تازه میخوان وارد این حوزه بشن چه چیز هایی باید بگیرن، چیکار کنن و در کل در چه مسیری قرار میگیرن و با چالش های این حوزه آشنا میشیم.
❓منم میتونم توی این پادکست مشارکت کنم؟
بله! چرا که نه :)
لطفا سوال های خودتون رو زیر کامنت های این پست بنویسید تا توی پادکست راجبشون صحبت کنیم
🆔 @MdDaily - @seyedmahdidiary
❓توی این پادکست قرار راجب چه موضوع هایی بحث کنیم؟
بعد از آشنایی با DevOps و بخش معرفی، با سید مهدی عزیز همراه میشیم تا ببینیم چیشد که وارد این حوزه شد، افرادی که تازه میخوان وارد این حوزه بشن چه چیز هایی باید بگیرن، چیکار کنن و در کل در چه مسیری قرار میگیرن و با چالش های این حوزه آشنا میشیم.
❓منم میتونم توی این پادکست مشارکت کنم؟
بله! چرا که نه :)
لطفا سوال های خودتون رو زیر کامنت های این پست بنویسید تا توی پادکست راجبشون صحبت کنیم
🆔 @MdDaily - @seyedmahdidiary
🔥7🙏1
#tips
حذف Youtube Shorts
برای حذف Short های یوتیوب فقط کافیه یکی از دو اکستن شن AdGuard AdBlocker یا uBlock Origin رو توی مرورگرتون نصب کنید
توی uBlock Origin -> تنظیمات -> “My Filters”
توی AdGuard AdBlocker -> تنظیمات -> “User rules”
محتویات این فایل را وارد کنید:
https://raw.githubusercontent.com/gijsdev/ublock-hide-yt-shorts/master/list.txt
و تمام !
یوتیوب با قابلیت Shorts خیلی تلاش میکنه که مثل تیک تاک باشه ولی با این کار شما Short های یوتیوب رو از صفحه ی اصلی و بقیه ی جاها حذف میکنید :)
این روش باعث میشه که صفحه اصلی یوتیوب شما شلوغ نشه و فقط ویدیوهای مورد علاقتون رو ببینید و وقت کمتری رو صرف تماشای Short های یوتیوب کنید
🆔 @MdDaily
حذف Youtube Shorts
برای حذف Short های یوتیوب فقط کافیه یکی از دو اکستن شن AdGuard AdBlocker یا uBlock Origin رو توی مرورگرتون نصب کنید
توی uBlock Origin -> تنظیمات -> “My Filters”
توی AdGuard AdBlocker -> تنظیمات -> “User rules”
محتویات این فایل را وارد کنید:
https://raw.githubusercontent.com/gijsdev/ublock-hide-yt-shorts/master/list.txt
و تمام !
یوتیوب با قابلیت Shorts خیلی تلاش میکنه که مثل تیک تاک باشه ولی با این کار شما Short های یوتیوب رو از صفحه ی اصلی و بقیه ی جاها حذف میکنید :)
این روش باعث میشه که صفحه اصلی یوتیوب شما شلوغ نشه و فقط ویدیوهای مورد علاقتون رو ببینید و وقت کمتری رو صرف تماشای Short های یوتیوب کنید
🆔 @MdDaily
👍9🔥3👎1
تفاوت Load Balancers و API Gateways و BFFs
خیلی از افراد ممکنه بین سه مفهوم Load Balancer ، API Gateway و BFF (Backend For Frontend) دچار سردرگمی بشن اما توی این پست قرار به زبون خودمونی و با چنتا مثال ساده این سه مفهوم رو بررسی کنیم
👈 توزیع کننده های بار (Load Balancers)
وقتی میری هتل، معمولاً با یه پذیرشگر | رسپشن روبه رو میشی. پذیرشگر مدارکت رو چک میکنه، یه سری اطلاعات وارد سیستمش میکنه، و میفرستتتت اتاقت. اگه مهمون زیاد باشه، هتل ممکنه چند تا پذیرشگر داشته باشه.
توزیع کنندههای بار هم کار مشابهی رو برای اپلیکیشن انجام میدن. یه ابزاره که درخواستهای ورودی رو بین چند تا سرور تقسیم میکنه. همچنین، توزیع کنندههای بار سیستم رو در دسترس نگه میدارن. اگه یه سرور از کار بیفته، درخواست رو به سرور دیگهای میفرسته.
👉 API Gateway
فرض کن بری مصاحبه یه شرکتی که برای پوزیشنهای مختلف استخدام میکنه - معمار فنی، مدیر مهندسی و مهندس نرم افزار. برای هر پوزیشن، یه پنل متفاوت وجود داره. حالا، نمیخوان کاندیداهای مصاحبه هر اتاق رو برای پیدا کردن پنل مناسب چک کنن. این جاییه که یه هماهنگ کننده مشخصات کاندیدا رو چک میکنه و اونها رو به پنل مناسب هدایت میکنه.
برای یه سیستم،API Gateway همون هماهنگ کنندهس. API Gateway ها همچنین میتونن عملکردهای مختلفی رو انجام بدن، مثل احراز هویت، محدود کردن سرعت، ورود به سیستم و کش کردن.
👉 BFF (Backends for Frontend)
بیا مثال مصاحبه خودمون رو ادامه بدیم. برای هر پوزیشن شغلی (مثل معمار تکنولوژی، مدیر مهندسی، مهندس نرمافزار)، مراحل مصاحبه متفاوته اما ممکنه بعضی مراحل هم بین پوزیشن ها مشترک باشه (مثل مصاحبه فنی). برای مدیریت این تفاوت ها به یه هماهنگ کننده نیاز داریم.
مفهوم Backends for Frontends در این سناریو رفیق صمیمیه (BFF) شماست :)
در اصطلاحات سیستم، BFF کامپوننتیه که میتونه از نیازهای مختلف دستگاه مراقبت کنه. BFF مخفف Backends for Frontends هست. یعنی سرویسهای بکاند مخصوصی که برای رابطهای کاربری خاص ساخته میشن. این مفهوم معمولاً توی سیستمهایی استفاده میشه که رابطهای کاربری متنوعی دارن و دستگاههای مختلف نیازهای متفاوتی دارن. به زبان ساده، BFF برای هر نوع رابط کاربری یه سرویس بکاند اختصاصی میسازه. این کار باعث میشه که توسعهی سیستم سریعتر و مدیریتش راحتتر بشه. مثلا، میتونی یه BFF برای وب اپ ها یه BFF برای دستگاه های تلفن همراه و یکی دیگه برای اپلیکیشن های اکسترنال داشته باشی. در نهایت، میتونی هر 3 مورد رو تویه application stack داشته باشی که در سطوح مختلف کار میکنن.
https://i.postimg.cc/1zVRyyhy/GEBz-Tx9a-AAAef-Zu.jpg
🆔 @MdDaily
خیلی از افراد ممکنه بین سه مفهوم Load Balancer ، API Gateway و BFF (Backend For Frontend) دچار سردرگمی بشن اما توی این پست قرار به زبون خودمونی و با چنتا مثال ساده این سه مفهوم رو بررسی کنیم
👈 توزیع کننده های بار (Load Balancers)
وقتی میری هتل، معمولاً با یه پذیرشگر | رسپشن روبه رو میشی. پذیرشگر مدارکت رو چک میکنه، یه سری اطلاعات وارد سیستمش میکنه، و میفرستتتت اتاقت. اگه مهمون زیاد باشه، هتل ممکنه چند تا پذیرشگر داشته باشه.
توزیع کنندههای بار هم کار مشابهی رو برای اپلیکیشن انجام میدن. یه ابزاره که درخواستهای ورودی رو بین چند تا سرور تقسیم میکنه. همچنین، توزیع کنندههای بار سیستم رو در دسترس نگه میدارن. اگه یه سرور از کار بیفته، درخواست رو به سرور دیگهای میفرسته.
👉 API Gateway
فرض کن بری مصاحبه یه شرکتی که برای پوزیشنهای مختلف استخدام میکنه - معمار فنی، مدیر مهندسی و مهندس نرم افزار. برای هر پوزیشن، یه پنل متفاوت وجود داره. حالا، نمیخوان کاندیداهای مصاحبه هر اتاق رو برای پیدا کردن پنل مناسب چک کنن. این جاییه که یه هماهنگ کننده مشخصات کاندیدا رو چک میکنه و اونها رو به پنل مناسب هدایت میکنه.
برای یه سیستم،API Gateway همون هماهنگ کنندهس. API Gateway ها همچنین میتونن عملکردهای مختلفی رو انجام بدن، مثل احراز هویت، محدود کردن سرعت، ورود به سیستم و کش کردن.
نکته جالب: توزیع کننده های بار (Load Balancers) لایه 7 هم میتونن نقشAPI Gateway رو ایفا کنن.
👉 BFF (Backends for Frontend)
بیا مثال مصاحبه خودمون رو ادامه بدیم. برای هر پوزیشن شغلی (مثل معمار تکنولوژی، مدیر مهندسی، مهندس نرمافزار)، مراحل مصاحبه متفاوته اما ممکنه بعضی مراحل هم بین پوزیشن ها مشترک باشه (مثل مصاحبه فنی). برای مدیریت این تفاوت ها به یه هماهنگ کننده نیاز داریم.
مفهوم Backends for Frontends در این سناریو رفیق صمیمیه (BFF) شماست :)
در اصطلاحات سیستم، BFF کامپوننتیه که میتونه از نیازهای مختلف دستگاه مراقبت کنه. BFF مخفف Backends for Frontends هست. یعنی سرویسهای بکاند مخصوصی که برای رابطهای کاربری خاص ساخته میشن. این مفهوم معمولاً توی سیستمهایی استفاده میشه که رابطهای کاربری متنوعی دارن و دستگاههای مختلف نیازهای متفاوتی دارن. به زبان ساده، BFF برای هر نوع رابط کاربری یه سرویس بکاند اختصاصی میسازه. این کار باعث میشه که توسعهی سیستم سریعتر و مدیریتش راحتتر بشه. مثلا، میتونی یه BFF برای وب اپ ها یه BFF برای دستگاه های تلفن همراه و یکی دیگه برای اپلیکیشن های اکسترنال داشته باشی. در نهایت، میتونی هر 3 مورد رو تویه application stack داشته باشی که در سطوح مختلف کار میکنن.
پ ن: به نظرم این اسم گذاریا فقط دارن لقمه رو میچرخونن در نهایت شما یه Reverse Proxy میاری بالا و هرکدوم از این کار ها میشه یکی از ویژگی های Reverse Proxy اتون :)
https://i.postimg.cc/1zVRyyhy/GEBz-Tx9a-AAAef-Zu.jpg
🆔 @MdDaily
ImgBB
GEBz-Tx9a-AAAef-Zu hosted at ImgBB
Image GEBz-Tx9a-AAAef-Zu hosted in ImgBB
👌5👏2🔥1