مهندس نرمافزار عاشق قهوه
سلام! من بهمن شادمهرم من بهمنام، یه برنامهنویس و توسعهدهنده نرمافزار که عاشق چالشهای فنیام! این چند سال گذشته، بیشتر وقتهام رو صرف این کردم که با یه لپتاپ و یه اینترنت درستحسابی، سیستمهای عجیب و غریب بسازم و مشکلات بقیه رو حل کنم (از همونایی که میگن "این دیگه چطوری کار میکنه؟"). از نوشتن کدهای باحال و اتوماتکردن سیستمهای انرژی گرفته تا تریدینگ با دادههای پرسرعت، حسابی سرم شلوغ بوده. یه پروژهای داشتم که حسابی دردسرساز بود ولی آخرش تونستم با بهینهسازی زیرساخت، ۵۰ درصد هزینهها رو کاهش بدم! (میدونی وقتی هزینه رو اینقدر کم میکنی، چه جوری همه باهات رفیق میشن؟!). بعضی از پروژههایی که انجام دادم: CoffeeCodeCamp: یه پلتفرم که بهتون یاد میده کد بزنید و هر چی نوشتید رو هم خودش تست میکنه! MasterYourCourses: یه سیستم مدیریت دورههای آموزشی که کاملترین امکانات رو داره. CryptoCasting: این یکی برای عاشقای تریدینگ! پلتفرمی برای جمعآوری دادههای با سرعت بالا. اگه بخوام از مهارتهام بگم، بیشتر با پایتون و گلانگ ور میرم، توی AWS و GCP غرقم و از Docker و Kubernetes هم برای نگهداشتن سرویسها استفاده میکنم (یه جورایی مثل کارهای عادی روزمرهم شدن اینا!). همیشه دوست دارم با سیستمهای پیچیده سر و کله بزنم و کدهای خفنتر بنویسم. راستش از اینکه زیرساختهای نرمافزاری رو بهینه کنم و هزینهها رو پایین بیارم هم بد نمیاد؛ آخه کی از کمشدن هزینهها بدش میاد؟!
وبینار آشنایی با سلری و اجرای بک گراند جاب
خیلی مواقع پیش میاد که ما نیاز داریم یه کاری رو به درخواست کاربر انجام بدیم که ممکنه زمان بر باشه. یکی از معروف ترین مثالهاش، ارسال اس ام اس و یا ایمیل هستش. توی اینجور شرایط ما نیاز داریم که یه سرویس جانبی رو صدا بزنیم. وقتی بحث سر یه دونه سرویس باشه، این کار ممکنه ساده به نظر برسه. میتونیم همون موقع که کاربر درخواست میده، اون کار رو انجام بدیم. برای مثال وقتی که کاربر درخواست کد ورود میده و ما قراره اون کد رو براش اس ام اس کنیم. ولی خیلی وقتها، اون سرویس جانبی ممکنه کار نکنه. به هر دلیلی ممکنه درخواست ما زمان ببره و یا حتی با خطا مواجه بشه و ما نیاز داشته باشیم دوباره اون کار رو انجام بدیم. قطعا برای خیلی از ماها پیش اومده که توی بعضی وبسایت ها درخواست یه کد دادیم، ولی صفحه توی حالت لودینگ مونده. حالا راه حل چیه؟
ما باید کارهایی که زمان بر هستن رو، توی بک گراند ایجاد کنیم. معنیش چیه؟ یعنی این که زمانی که کاربر درخواست اون عملیات رو میده، ما بلافاصله پاسخ کاربر رو بدیم و به جای این که خود اون کار رو انحام بدیم، یه لیست از کارهایی که باید انجام بشن داشته باشیم و یه سرویس دیگه اون ها رو به ترتیب پیش ببره.
خیلی به نظر کار پیچیدهای میاد درسته؟ واقعیت اینه که این کار اصلا پیچیده نیست. علتش هم اینه که کتابخونههای زیادی مثل celery برای این کار نوشته شدن. هر کدوم از این کتابخونهها امکانات مختلفی رو به ما میدن. یکی از معروف ترینهاشون سلریه. سلری به ما این امکان رو میده تا تسکهای بک گراند خودمون رو بهتر مدیریت کنیم.
طبق تعریفی که برای سلری توی وبسایت رسمیش اومده، سلری یه task queue آسنک هستش که بر اساس distributed messaging کار میکنه. شاید خیلی از این کلمات براتون ناآشنا به نظر برسه ولی توی وبینار در موردش صحبت خواهیم کرد پس نگرانشون نباشید.
اگه بخوایم از مزیتهای سلری بگیم، میتونیم به موارد زیر اشاره کنیم:
سلری فیچرهای زیادی به ما میده که بعضیهاش رو براتون پایین آوردم:
البته باید بدونیم که سلری به ابزارهای دیگه ای تحت عنوان message broker ها هم نیاز داره. برای مثال redis و یا rabbitmq.
توی این وبینار اول از همه قراره با سلری بیشتر آشنا بشیم و بعد از اون قراره یه پروژهی ساده ارسال اس ام اس ورود رو به کمک سلری پیاده سازی کنیم.
faq
دورههای آموزشی ما با تمرکز بر یادگیری عملی طراحی شدهاند تا شما را آماده بازار کار کنند.