داستان از اینجا شروع میشه که توی دهه 90 میلادی، برنامهنویسها با زبانهای برنامهنویسی پیچیدهای سر و کار داشتن که هر خط کدشون کلی وقت و انرژی میبرد. در همین حین، یه برنامهنویس ژاپنی به اسم یوکیهیرو ماتسوموتو (Yukihiro Matsumoto)، معروف به ماتز، تصمیم گرفت یه زبانی بسازه که هم قوی باشه و هم استفاده ازش لذتبخش باشه. اینطوری بود که Ruby به دنیا اومد.
تاریخچه Ruby
Ruby اولین بار در سال 1995 توسط ماتز معرفی شد. اون با ترکیب بهترین ویژگیهای زبانهای مختلفی مثل پرل، Smalltalk و Lisp، روبی رو به وجود آورد. هدف اصلی ماتز، ایجاد زبانی بود که هم قدرتمند باشه و هم خوانا و زیبا.
Ruby چیست؟
روبی یه زبان برنامهنویسی پویا، تفسیری و شیءگراست که همانطور که گفتیم، اواسط دهه 1990 توسط یوکیهیرو ماتسوموتو (ماتز) ساخته شده. اسم این زبان از یه نوع جواهر سرخ و قیمتی گرفته شده. Ruby به عنوان یه زبان متنباز به برنامهنویسها اجازه میده تا به راحتی و با لذت کد بزنن. ماتز هدفش این بود که زبانی بسازه که هم از برنامهنویسی شیءگرا استفاده کنه و هم سرعت مناسبی داشته باشه، و نتیجهش یه زبان با نحو ساده و کاربردی شد که امروز به عنوان Ruby میشناسیم.
Ruby on Rails
حالا بریم سراغ Ruby on Rails که بدون اون صحبت کردن درباره Ruby کامل نیست. Rails یه فریمورک توسعه وبه که Ruby رو واقعاً معروف و محبوب کرد. Rails از کدهای از پیشنوشتهشده Ruby استفاده میکنه و کارهای پیچیده مثل ارتباطات، مدیریت فایل، و اتصالات دیتابیس رو راحتتر میکنه.
یکی از اصول مهم این فریمورک، DRY (Don't Repeat Yourself) هست که باعث میشه کدهای تکراری کمتر باشه و بهرهوری بیشتر. این چارچوب با استفاده از الگوی MVC (Model-View-Controller) ساختار کد رو منظمتر و قابل نگهداریتر میکنه.
مقایسه Ruby و Ruby on Rails
حالا بیا یه نگاهی به مقایسه Ruby و Ruby on Rails بندازیم.
ویژگی
Ruby
Ruby on Rails
چی هست؟
یه زبان برنامهنویسی شیءگرا و متنباز
یه فریمورک توسعه وب بر پایه Ruby
الهام گرفته از
Perl و Smalltalk
Django
نوشته شده با
C
Ruby
برای چی استفاده میشه؟
ساخت اپلیکیشنهای دسکتاپ، وبسایتهای استاتیک، ابزارهای خودکارسازی و خدمات پردازش داده
توسعه اپلیکیشنهای وب مبتنی بر دیتابیس و بازارگاهها (Marketplaces)
ویژگیهای اصلی
پویا، تفسیری، خوانا و ساده
استفاده از الگوی MVC، اصل DRY، بهرهوری و خوشحالی برنامهنویس
این جدول به خوبی تفاوتها و ویژگیهای کلیدی بین Ruby و Ruby on Rails رو نشون میده. با استفاده از Ruby میتونی اپلیکیشنهای مختلفی بسازی، ولی با اضافه کردن Rails به Ruby، توسعه وب اپلیکیشنهای پیچیده خیلی راحتتر و سریعتر میشه.
کاربردهای Ruby
حالا که متوجه شدی روبی چیه بیا ببینیم چه کاربردهایی داره و کجاها ازش استفاده میشه.
توسعه وب
یکی از معروفترین کاربردهای Ruby توی توسعه وبه. با استفاده از چارچوب محبوب Ruby on Rails، توسعهدهندهها میتونن به سرعت اپلیکیشنهای وب بسازن. Rails همه چیز رو برای ساخت یه اپلیکیشن وب فراهم میکنه. از زمان انتشارش توی 2005، Rails باعث شد توسعه وب خیلی سریعتر و کارآمدتر بشه. با ای فریمورک میتونی ساختار پروژهت رو با استفاده از کنوانسیونها تعریف کنی و کدهایی که نیاز داری رو با دستورات ساده تولید کنی. این ویژگیها باعث شدن Rails انتخاب محبوبی برای استارتاپها باشه.
برخی از سایتهای معروفی که از Ruby on Rails استفاده میکنن شامل GitHub، Shopify، Kickstarter، Twitch، Instacart، Zendesk، SoundCloud، Ask.fm، Hulu، و Square هستن.
تولید سایتهای استاتیک
بیشتر وبسایتها از کدهای سمت سرور برای تولید HTML و ارسالش به مرورگر استفاده میکنن، اما سایتهای استاتیک اینطوری نیستن. یه تولیدکننده سایت استاتیک با استفاده از کد، تمام صفحات وبسایت رو یهباره تولید میکنه. این صفحات بعداً روی سرور قرار میگیرن و وقتی یه آدرس رو بازدید میکنی، یه فایل HTML ثابت دریافت میکنی. سایتهای استاتیک سریع، کارآمد، امن و راحت برای استقرار هستن. Jekyll، اولین و محبوبترین تولیدکننده سایت استاتیک، با Ruby نوشته شده و به عنوان راه پیشفرض برای انتشار محتوا روی GitHub توسط یکی از بنیانگذاران GitHub، تام پرستون-ورنر، ساخته شده.
DevOps و خودکارسازی
Ruby به طور گستردهای توی DevOps، خودکارسازی و استقرار وبسایتها استفاده میشه. Heroku یه پلتفرم معروف برای استقرار اپلیکیشنهای وبه که اول فقط از Ruby پشتیبانی میکرد و باعث شد استارتاپها به سمتش بیان چون استقرار اپلیکیشنها رو بدون نیاز به مهندس DevOps انجام میداد. Vagrant، یه ابزار برای مدیریت ماشینهای مجازی از خط فرمان، با Ruby نوشته شده. این ابزار به توسعهدهندهها اجازه میده تا پروژههایی که برای یه سیستمعامل خاص ساخته شدن رو روی هر سیستمعاملی اجرا کنن.
Chef و Puppet دو ابزار دیگه هستن که مهندسای DevOps برای خودکارسازی و مدیریت پیکربندی اپلیکیشنها و سرورها ازشون استفاده میکنن. با استفاده از این ابزارها، میتونی محیطهای اپلیکیشن رو با یه فایل پیکربندی ساده تعریف کنی و بدون هیچ قدم دستی، اونا رو روی هر پلتفرمی اجرا کنی.
سرورهای وب
با Ruby میتونی سرورهای وب هم بسازی. سرورهای وبی مثل Passenger، Unicorn و Puma با Ruby نوشته شدن. این سرورها درخواستهای HTTP ورودی رو پردازش میکنن، اونا رو به اپلیکیشنهای وب مربوطه میفرستن و پاسخهای HTTP رو مدیریت میکنن.
پردازش داده
Ruby همچنین یه زبان عالی برای پردازش، تمیز کردن و فیلتر کردن دادههاست. توابع داخلی Ruby مثل map، reduce و select ابزارهای قدرتمندی برای حل مشکلات پردازش داده ارائه میدن.
وباسکریپینگ و کراولینگ
Ruby بستههای زیادی داره که استخراج داده از صفحات وب رو خیلی راحت میکنن. کتابخونههایی مثل Vessel برای کراول و دانلود صفحات وب استفاده میشن و Nokogiri، یه کتابخونه محبوب دیگه برای پردازش HTML، به کار میره تا بخشهای خاصی از صفحه رو به صورت ساختاریافته استخراج کنه و برای تحلیل دادهها آماده کنه.
ساخت اپلیکیشنهای دسکتاپ
میتونی برنامههای دسکتاپی بسازی که روی سیستمعاملهای مختلف اجرا بشن. این یعنی با یه بار نوشتن کد، میتونی برنامهت رو روی ویندوز، مک و لینوکس اجرا کنی.
مزایا و معایب Ruby
حالا که متوجه شدی Ruby چطور به وجود اومد و چرا اینقدر مهمه، بیا نگاهی به مزایا و معایب استفاده از این زبان بندازیم.
مزایای روبی
خوانایی و سادگی: یکی از بزرگترین مزایای Ruby، خوانایی و سادگی کدهاشه. کدهای نوشته شده با Ruby خیلی شبیه به زبان طبیعی انسان هستن، که باعث میشه فهم و نگهداری اونا خیلی راحتتر باشه.
جامعهی فعال و منابع فراوان: جامعهی برنامهنویسان Ruby خیلی فعاله و منابع آموزشی زیادی برای یادگیری این زبان وجود داره. تو میتونی به راحتی توی انجمنها و گروههای مختلف عضو بشی و از تجربهی دیگران بهرهمند بشی.
انعطافپذیری: Ruby خیلی انعطافپذیره و بهت اجازه میده تا به راحتی کتابخانهها و ابزارهای مختلفی رو به پروژههات اضافه کنی. این ویژگی باعث میشه که بتونی به سرعت اپلیکیشنهای پیچیده و کارآمدی رو توسعه بدی.
Rails: چارچوب قدرتمند برای توسعه وب: یکی از دلایل اصلی محبوبیت Ruby، چارچوب Ruby on Rails هست که بهت اجازه میده تا به سرعت وبسایتها و اپلیکیشنهای پیچیده رو بسازی.
امکانات متنوع: Ruby از کتابخانهها و ابزارهای متنوعی برخورداره که بهت کمک میکنه تا کارهای مختلفی رو به راحتی انجام بدی. برای مثال، میتونی از کتابخانههایی مثل Nokogiri برای پردازش XML و HTML یا از Devise برای مدیریت کاربران و احراز هویت استفاده کنی.
"روبی برای شادی برنامهنویسان ساخته شده، چون اگه برنامهنویسان خوشحال باشن، کدهای بهتری مینویسن." - یوکیهیرو ماتسوموتو
معایب روبی
سرعت اجرا: یکی از بزرگترین معایب Ruby، سرعت اجرای اونه. Ruby به عنوان یه زبان تفسیری، در مقایسه با زبانهای کامپایلی مثل C و Java، کندتر اجرا میشه.
مصرف منابع: Ruby معمولاً منابع بیشتری نسبت به زبانهای دیگه مصرف میکنه. این ممکنه برای پروژههایی که نیاز به کارایی بالا دارن، یه مشکل بزرگ باشه.
مشکلات مقیاسپذیری: برخی از پروژههای بزرگ ممکنه در مقیاسپذیری با Ruby دچار مشکل بشن. با این حال، با استفاده از تکنیکها و ابزارهای مناسب، میشه این مشکل رو تا حد زیادی کاهش داد.
هنوز با ما هستی؟ عالیه!😉 الان میخوایم بهت بگیم که چه شرکتها و پروژههای مشهوری از Ruby استفاده میکنن و چطور میتونی کدهای خودت رو با این زبان بنویسی.
شرکتها و پروژههای معروفی که از Ruby استفاده میکنند
خیلی از شرکتها و پروژههای بزرگ از Ruby و Ruby on Rails استفاده میکنند. اینجا به برخی از معروفترینهاشون اشاره میکنم.
GitHub: گیتهاب، یکی از بزرگترین پلتفرمهای میزبانی کده که برنامهنویسها میتونن پروژههای خودشون رو مدیریت و به اشتراک بگذارن. بخشهای زیادی از GitHub با استفاده از Ruby و Rails توسعه داده شده.
Airbnb: ایربیانبی یه پلتفرم معروف برای اجاره اقامتگاهها و تجربههای محلیه. این شرکت از Ruby on Rails برای توسعه بخشهای زیادی از سیستمش استفاده کرده.
Shopify: شاپیفای یه پلتفرم تجارت الکترونیکه که به کسبوکارها اجازه میده فروشگاههای آنلاین خودشون رو ایجاد و مدیریت کنن. Shopify هم به طور گستردهای از Ruby on Rails استفاده میکنه.
Twitch: پلتفرم محبوب استریمینگ بازیهای ویدیوییه که از Ruby on Rails برای ساختاردهی و مدیریت بخشهای مختلف سرویس خودش استفاده کرده.
Kickstarter: کیکاستارتر، یکی از بزرگترین پلتفرمهای جمعآوری سرمایه برای پروژههای خلاقانه، از Ruby on Rails برای ساخت و مدیریت سایتش استفاده کرده.
SoundCloud: ساوندکلود، پلتفرم به اشتراکگذاری موسیقی، از Ruby on Rails برای توسعه بخشهای مهمی از سایتش استفاده میکنه.
Zendesk: یه سرویس پشتیبانی مشتریانه که به کسبوکارها کمک میکنه تا ارتباط بهتری با مشتریانشون داشته باشن. این شرکت از Ruby on Rails برای توسعه سیستمش استفاده کرده.
Hulu: سرویس استریمینگ ویدیویی که برنامههای تلویزیونی و فیلمهای زیادی رو ارائه میده، از Ruby on Rails برای بخشهای مختلف سیستمش استفاده کرده.
Square: یه پلتفرم پرداخت آنلاینه که به کسبوکارها اجازه میده تا پرداختها رو مدیریت کنن. Square هم از Ruby on Rails برای ساختاردهی و مدیریت سیستم خودش استفاده کرده.
Basecamp: یه ابزار مدیریت پروژه و همکاری تیمیه که از Ruby on Rails برای توسعه و مدیریت سیستمش استفاده کرده.
Instacart: یه سرویس تحویل مواد غذاییه که به مشتریان اجازه میده مواد غذایی رو آنلاین سفارش بدن و درب منزل تحویل بگیرن. Instacart هم از Ruby on Rails استفاده میکنه.
The Weather Channel: ارائهدهنده اطلاعات هواشناسی، از Ruby on Rails برای توسعه سیستمهای داخلی و مدیریت دادهها استفاده کرده.
Twitter (در ابتدا): توییتر، شبکه اجتماعی معروف، در ابتدا با استفاده از Ruby on Rails ساخته شده بود. اگرچه بعدها به تکنولوژیهای دیگه مهاجرت کرد، ولی شروع موفقیتش با Rails بود.
این شرکتها فقط نمونههایی از موارد استفادهی گسترده Ruby و Ruby on Rails در صنعت تکنولوژی هستن. محبوبیت و کارایی این زبان و فریمورک Rails باعث شده تا کسبوکارهای بزرگ و کوچک زیادی به سمتش بیان و ازش برای توسعه محصولات و خدمات خودشون استفاده کنن.
شروع به کار با Ruby
برای شروع به کار با Ruby، ابتدا باید این زبان رو نصب کنی. سپس میتونی اولین برنامه خودت رو بنویسی. در اینجا چند مثال ساده برای شروع کار آورده شده.
نصب Ruby
برای نصب Ruby، میتونی از ابزارهایی مثل RVM یا rbenv استفاده کنی. این ابزارها بهت اجازه میدن تا نسخههای مختلف Ruby رو مدیریت کنی.
مثال 1: Hello, World!
بیایید با یه برنامه ساده شروع کنیم. برنامهی معروف "Hello, World!" رو با Ruby بنویسیم.
# This is a simple Ruby program to print "Hello, World!"
puts 'Hello, World!'
مثال 2: محاسبه مجموع اعداد یک آرایه
در این مثال، برنامهای رو مینویسیم که مجموع اعداد یک آرایه رو محاسبه میکنه. این کد با استفاده از متد reduce، که به هر عنصر آرایه یک مقدار اولیه (اینجا صفر) اضافه میکنه و نتیجه رو با جمع کردن هر عنصر بعدی به دست میاره.
# This Ruby program calculates the sum of an array of numbers
numbers = [1, 2, 3, 4, 5]
sum = numbers.reduce(0) { |total, num| total + num }
puts "The sum of the array is: #{sum}"
در این کد:
numbers یک آرایه از اعداد است.
reduce یک متد برای جمع کردن همه عناصر آرایه است.
puts نتیجهی مجموع رو چاپ میکنه.
مثال 3: برنامهای برای پیدا کردن عدد اول
این برنامه بررسی میکنه که آیا یک عدد اول هست یا نه. عدد اول عددیست که تنها به خودش و 1 بخشپذیر باشه.
# This Ruby program checks if a number is prime
def prime?(num)
return false if num <= 1
(2...num).each do |i|
return false if num % i == 0
end
true
end
number = 7
puts "Is #{number} a prime number? #{prime?(number)}"
در این کد:
prime? یک تابع هست که بررسی میکنه آیا num عدد اول هست یا نه.
each یک حلقهست که از 2 تا یک عدد کمتر از num میچرخه و بررسی میکنه که آیا num به هر عددی جز 1 و خودش بخشپذیر هست یا نه.
puts نتیجه رو چاپ میکنه.
مثال 4: نمایش اطلاعات کاربران
این برنامه اطلاعات کاربران رو به صورت یک لیست چاپ میکنه.
# This Ruby program prints user information
users = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 35 }
]
users.each do |user|
puts "Name: #{user[:name]}, Age: #{user[:age]}"
end
در این کد:
users یه آرایه از هشهاست که هر هش شامل نام و سن یه کاربره.
each یه حلقهست که برای هر کاربر توی آرایه، اطلاعات نام و سنش رو چاپ میکنه.
puts هم برای چاپ اطلاعات کاربر استفاده میشه.
توضیح متد reduce
متد reduce یکی از متدهای پرکاربرد توی Ruby هست که بهت اجازه میده تا یه عملیات تجمعی روی عناصر یه مجموعه (مثل آرایه) انجام بدی. توی مثال محاسبه مجموع اعداد، reduce از یه مقدار اولیه (0) شروع میکنه و هر عنصر آرایه رو به این مقدار اضافه میکنه.
توضیح حلقه each
حلقه each یکی از روشهای معمول برای پیمایش عناصر توی یه مجموعه در Ruby هست. این متد بهت اجازه میده تا یه بلاک کد رو برای هر عنصر توی مجموعه اجرا کنی. توی مثال نمایش اطلاعات کاربران، each هر هش توی آرایه users رو پیمایش میکنه و اطلاعاتش رو چاپ میکنه.
توضیح متد prime?
متد prime? برای بررسی عدد اول از یه روش ساده استفاده میکنه: اگه عدد کمتر یا مساوی 1 باشه، عدد اول نیست. بعد از عدد 2 تا عدد مورد نظر پیمایش میکنه و اگه عدد به هر کدوم از این اعداد بخشپذیر باشه، عدد اول نیست. اگه نه، عدد اول هست.
مقایسه Ruby و Python
خب، حالا که با Ruby آشنا شدی، شاید برات سوال پیش بیاد که این زبان چه تفاوتهایی با Python داره. بیایید با هم این دو زبان محبوب رو مقایسه کنیم.
شباهتها
اول از همه، بذار یه نگاه کلی به شباهتهای این دو زبان بندازیم:
پویا بودن: هر دو زبان پویا هستن، یعنی نیاز نیست نوع دادهها رو قبل از استفاده تعریف کنی.
سطح بالا بودن: هر دو زبان سطح بالا هستن، یعنی کدهایی که مینویسی به زبان طبیعی نزدیکتره و نیازی نیست با جزئیات سختافزار سروکله بزنی.
سینتکس ساده و خوانا: کدهای هر دو زبان ساده و خوانا هستن و میتونن به راحتی توسط برنامهنویسان دیگه فهمیده بشن.
چندمنظوره بودن: هر دو زبان برای کاربردهای مختلف مثل توسعه وب، تحلیل داده، اسکریپتنویسی و غیره مناسب هستن.
جامعه فعال و منابع آموزشی: هر دو زبان جامعههای بزرگ و فعالی دارن و منابع آموزشی زیادی براشون موجوده.
تفاوتها
حالا نگاهی به تفاوتهای بین Ruby و Python بندازیم:
فلسفه طراحی
Ruby: تمرکز روی سادگی و زیبایی کدها داره. ماتز (خالق Ruby) میخواست زبانی بسازه که برنامهنویسها از نوشتن کد با اون لذت ببرن.
Python: تاکید روی سادگی و وضوح داره. فلسفه "یک راه واضح و درست برای انجام هر کار" توی Python بسیار مهمه.
استفاده اصلی
Ruby: بیشتر برای توسعه وب استفاده میشه، مخصوصاً با چارچوب Ruby on Rails.
Python: توی زمینههای مختلفی استفاده میشه مثل علم داده، یادگیری ماشین، توسعه وب (با استفاده از Django و Flask)، و حتی اتوماسیون.
سرعت اجرا
Ruby: معمولاً سرعت اجرای کمتری نسبت به Python داره.
Python: معمولاً کمی سریعتر از Ruby هست، هر چند هر دو زبان بهینهسازیهای خودشون رو دارن.
کتابخانهها و ابزارها
Ruby: تعداد زیادی کتابخانه و Gems برای توسعه وب و اسکریپتنویسی داره.
Python: کتابخانههای فراوانی داره، به ویژه در زمینه علم داده و یادگیری ماشین مثل NumPy، Pandas، Scikit-Learn و TensorFlow.
ویژگی
Ruby
Python
فلسفه طراحی
تاکید بر سادگی و زیبایی کدها
تاکید بر سادگی و وضوح کدها
استفاده اصلی
توسعه وب (Ruby on Rails)
علم داده، یادگیری ماشین، توسعه وب (Django و Flask)
سرعت اجرا
معمولاً کمتر از Python
معمولاً کمی سریعتر از Ruby
کتابخانهها و ابزارها
کتابخانهها و Gemsهای زیاد برای توسعه وب
کتابخانههای گسترده برای علم داده و یادگیری ماشین
جامعه و منابع آموزشی
جامعه فعال و منابع آموزشی زیاد
جامعه فعال و منابع آموزشی زیاد
هر دو زبان Ruby و Python ویژگیهای خاص خودشون رو دارن و انتخاب بین این دو زبان بستگی به نیازها و ترجیحات شخصی تو داره. اگه به دنبال توسعه وب هستی و میخوای با یه چارچوب قوی کار کنی، Ruby on Rails میتونه انتخاب خوبی باشه. اما اگه به علم داده، یادگیری ماشین یا اتوماسیون علاقه داری، Python میتونه گزینه بهتری باشه. هر دو زبان عالی هستن و یادگیری هر کدومشون میتونه به توسعهدهندهها کمک کنه تا پروژههای جذابی بسازن.
سوالات متداول
1. چرا باید Ruby یاد بگیرم؟
Ruby یه زبان ساده و قدرتمنده که بهت اجازه میده تا به سرعت و به راحتی برنامههای کاربردی رو توسعه بدی. جامعهی فعال و منابع آموزشی فراوان، یادگیری این زبان رو خیلی آسون میکنه.
2. Ruby on Rails چیه؟
Ruby on Rails یه چارچوب توسعه وبه که بر پایه Ruby ساخته شده. این چارچوب بهت اجازه میده تا به سرعت وبسایتها و اپلیکیشنهای پیچیده رو بسازی.
3. چه تفاوتی بین Ruby و Python وجود داره؟
Ruby و Python هر دو زبانهای پویا و شیءگرا هستن، اما Ruby بیشتر به خاطر سادگی و خوانایی کدهاش معروفه، در حالی که Python بیشتر به دلیل سادگی و کارایی در علم دادهها و یادگیری ماشین شناخته میشه.
4. آیا Ruby برای مبتدیها مناسبه؟
بله، Ruby به دلیل سادگی و خوانایی کدهاش، یه زبان عالی برای مبتدیهاست. منابع آموزشی زیادی هم برای کمک به یادگیری این زبان وجود داره.
5. چطوری میتونم پروژههای Ruby خودم رو دیپلوی کنم؟
برای دیپلوی کردن پروژههای Ruby، میتونی از سرویسهایی مثل Heroku، AWS یا DigitalOcean استفاده کنی. این سرویسها ابزارهای مختلفی برای مدیریت و دیپلوی کردن پروژههای Ruby فراهم میکنن.
جمعبندی
Ruby یه زبان برنامهنویسی قدرتمند و انعطافپذیره که بهت اجازه میده تا به سرعت و به راحتی برنامههای کاربردی رو توسعه بدی. خوانایی و سادگی کدها، جامعهی فعال و منابع آموزشی فراوان، و ابزارها و کتابخانههای متنوع از جمله مزایای این زبان هستن. با استفاده از Ruby میتونی به سرعت به یه توسعهدهنده حرفهای تبدیل بشی و پروژههای جذاب و کاربردی بسازی.
امیدوارم این مقاله برات مفید بوده باشه و تو رو به یادگیری Ruby تشویق کرده باشه. اگه سوالی داری یا نیاز به راهنمایی بیشتر داری، حتماً با ما در میان بذار.