ورژن اولیه بازی اومد بالا. ممنون از همه کسایی که توی لایو بودن
ربات اصلی بازی اینه:
https://news.1rj.ru/str/KingsCompBot
به مدت چند روز بالاست که تست کنیم و ایده بدیم توی گروه. حتما حتما باگی بود یا ایده ایی داشتید توی گروه بگید:
https://news.1rj.ru/str/MhrCodeGp
و در نهایت لینک گیت پروژه اینجاست اگه خواستید باگی که دیدید رو فیکس کنید عالی میشه :)
https://github.com/mhrlife/kingscomp
از اینجا به بعد مسئله اینه بازی رو ادامه بدیم یا نه. اگه بنظرتون جذابه ویا ایده ایی دارید توی گروه حتما بگید.
ربات اصلی بازی اینه:
https://news.1rj.ru/str/KingsCompBot
به مدت چند روز بالاست که تست کنیم و ایده بدیم توی گروه. حتما حتما باگی بود یا ایده ایی داشتید توی گروه بگید:
https://news.1rj.ru/str/MhrCodeGp
و در نهایت لینک گیت پروژه اینجاست اگه خواستید باگی که دیدید رو فیکس کنید عالی میشه :)
https://github.com/mhrlife/kingscomp
از اینجا به بعد مسئله اینه بازی رو ادامه بدیم یا نه. اگه بنظرتون جذابه ویا ایده ایی دارید توی گروه حتما بگید.
Telegram
نبرد شاهان | بازی تلگرامی
نبرد شاهان، جاییست که شما میتوانید در میدانی پر از هیجان و رقابت، دانش اطلاعات عمومی خود را با رقبای استثنایی محک بزنید
❤31👍4
MHRCODE | برنامهنویسی با طعم توتفرنگی
ورژن اولیه بازی اومد بالا. ممنون از همه کسایی که توی لایو بودن ربات اصلی بازی اینه: https://news.1rj.ru/str/KingsCompBot به مدت چند روز بالاست که تست کنیم و ایده بدیم توی گروه. حتما حتما باگی بود یا ایده ایی داشتید توی گروه بگید: https://news.1rj.ru/str/MhrCodeGp و در نهایت لینک…
این ارشیو لایو ها هست و میتونید ببینید. پیشنهادم اینه حتما اول لایو چهارم رو ببینید که خلاصه اتفاقای جذاب رو توش گفتیم
https://www.youtube.com/playlist?list=PLUKW34GJxYOZ0GqhUrpz9VhCv0ZIeGxw2
https://www.youtube.com/playlist?list=PLUKW34GJxYOZ0GqhUrpz9VhCv0ZIeGxw2
❤16👍1
با هم بازی ساختیم 🎮 خلاصهای از سیستم Real-Time بازی لایو تلگرامی
توی چند تا لایو یوتیوبی یک بازی مولتیپلیر لایو ساختیم که کلی اتفاقای Real-time توش میوفته، برای راحتی کار یک سیستم Event Driven طراحی کردیم که توش مکالمه بین سرور بازی و کاربرا مثل آب خوردن باشه. توی این ویدیو در مورد اینکه چیکار کردیم و خروجیش چطوره صحبت میکنیم و اینکه در آینده چه تغییراتی باید بکنه.
https://youtu.be/WDyGqSTSzy0
توی چند تا لایو یوتیوبی یک بازی مولتیپلیر لایو ساختیم که کلی اتفاقای Real-time توش میوفته، برای راحتی کار یک سیستم Event Driven طراحی کردیم که توش مکالمه بین سرور بازی و کاربرا مثل آب خوردن باشه. توی این ویدیو در مورد اینکه چیکار کردیم و خروجیش چطوره صحبت میکنیم و اینکه در آینده چه تغییراتی باید بکنه.
https://youtu.be/WDyGqSTSzy0
YouTube
با هم بازی ساختیم 🎮 خلاصهای از سیستم Real-Time بازی لایو تلگرامی
توی چند تا لایو یوتیوبی یک بازی مولتیپلیر لایو ساختیم که کلی اتفاقای Real-time توش میوفته، برای راحتی کار یک سیستم Event Driven طراحی کردیم که توش مکالمه بین سرور بازی و کاربرا مثل آب خوردن باشه. توی این ویدیو در مورد اینکه چیکار کردیم و خروجیش چطوره صحبت…
❤21👍3
دیزاین پترنهای ابری: Asynchronous Request-Reply ✉️
فرض کنید یک جاب مثل پردازش ویدیو دارید! حالت معمولی بین چند ثانیه تا چند دقیقه طول میکشه و وقتی ترافیک زیادی روش باشه چند ساعت! ما نمیتونیم با یک درخواست به سرور این جاب رو اجرا کنیم و جوابش رو به کاربر بدیم پس برای حلش از پترن Async Request-Reply استفاده میکنیم. توی این ویدیو به توضیحات این پترن ابری مهم میپردازیم و در نهایت با هم دیگه پیاده سازیش میکنیم.
https://youtu.be/8v-gwThFs0o
فرض کنید یک جاب مثل پردازش ویدیو دارید! حالت معمولی بین چند ثانیه تا چند دقیقه طول میکشه و وقتی ترافیک زیادی روش باشه چند ساعت! ما نمیتونیم با یک درخواست به سرور این جاب رو اجرا کنیم و جوابش رو به کاربر بدیم پس برای حلش از پترن Async Request-Reply استفاده میکنیم. توی این ویدیو به توضیحات این پترن ابری مهم میپردازیم و در نهایت با هم دیگه پیاده سازیش میکنیم.
https://youtu.be/8v-gwThFs0o
YouTube
دیزاین پترنهای ابری: Asynchronous Request-Reply ✉️
فرض کنید یک جاب مثل پردازش ویدیو دارید! حالت معمولی بین چند ثانیه تا چند دقیقه طول میکشه و وقتی ترافیک زیادی روش باشه چند ساعت! ما نمیتونیم با یک درخواست به سرور این جاب رو اجرا کنیم و جوابش رو به کاربر بدیم پس برای حلش از پترن Async Request-Reply استفاده…
❤25👍4🔥3
آپدیت بازی: لیدربورد و یک سری تغییرات دیگه
در راستای مقیاس پذیرشدن بازی یک سری تغییرات انجام دادم که کدش رو میتونید توی گیت ببینید. به شکل خلاصه از پاب ساب ردیس و لیستها برای ارتباط بین اجزای مختلف استفاده شده و با استفاده از وب هوک هم اسکیل شده. اینطوری میتونیم سرور های جدید به بازی اضافه کنیم و اسکیل کنیم.
همچنین چند تا فیچر ساده اضافه کردم و تعدادی سوال اضافه کردم که بازی کردنه مزه بده.
@KingsCompBot
اگه پایه هستید یه تست بریم هم مطمئن شیم مقیاس پذیریش کامل داره انجام میشه و مشکل نمیخوریم هم یکم بازی کنیم :)
https://github.com/mhrlife/kingscomp
کد رو هم میتونید اینجا ببینید
در راستای مقیاس پذیرشدن بازی یک سری تغییرات انجام دادم که کدش رو میتونید توی گیت ببینید. به شکل خلاصه از پاب ساب ردیس و لیستها برای ارتباط بین اجزای مختلف استفاده شده و با استفاده از وب هوک هم اسکیل شده. اینطوری میتونیم سرور های جدید به بازی اضافه کنیم و اسکیل کنیم.
همچنین چند تا فیچر ساده اضافه کردم و تعدادی سوال اضافه کردم که بازی کردنه مزه بده.
@KingsCompBot
اگه پایه هستید یه تست بریم هم مطمئن شیم مقیاس پذیریش کامل داره انجام میشه و مشکل نمیخوریم هم یکم بازی کنیم :)
https://github.com/mhrlife/kingscomp
کد رو هم میتونید اینجا ببینید
GitHub
GitHub - mhrlife/kingscomp
Contribute to mhrlife/kingscomp development by creating an account on GitHub.
👍11
اسلایسها (Slice) توی گولنگ چطور کار میکنن؟ ( به انگلیسی)
در کنار چنل خودمون یه چنل کوچولوی انگلیسی ساختم که ویدیوهای خیلی کوتاه گولنگی که شاید توی کامیونیتی فارسی خیلی خواهان نداشته باشه رو انگلیسی بگیرم که امتحان کنم شاید جالب بود. اگه دوس داشتید و لایک و کامنت بذارید خیلی خوشحالم میکنه
https://www.youtube.com/watch?v=EzeJg36vhnw
در کنار چنل خودمون یه چنل کوچولوی انگلیسی ساختم که ویدیوهای خیلی کوتاه گولنگی که شاید توی کامیونیتی فارسی خیلی خواهان نداشته باشه رو انگلیسی بگیرم که امتحان کنم شاید جالب بود. اگه دوس داشتید و لایک و کامنت بذارید خیلی خوشحالم میکنه
https://www.youtube.com/watch?v=EzeJg36vhnw
YouTube
Slices in #Golang - Arrays on steroids!
In this video, I describe how we usually handle arrays when they reach their capacity: by allocating a new part of the memory and duplicating the last values there, with more capacity. Now, slices in Golang do this automatically for us. Then, I show that…
👍20👎6🔥4❤2
MHRCODE | برنامهنویسی با طعم توتفرنگی
اسلایسها (Slice) توی گولنگ چطور کار میکنن؟ ( به انگلیسی) در کنار چنل خودمون یه چنل کوچولوی انگلیسی ساختم که ویدیوهای خیلی کوتاه گولنگی که شاید توی کامیونیتی فارسی خیلی خواهان نداشته باشه رو انگلیسی بگیرم که امتحان کنم شاید جالب بود. اگه دوس داشتید و لایک…
اگه موافق این حرکت نیستید یک حرکت دیگه هم توی ذهنم بود که شاید بهتره. فقط ویدیوهایی که فارسیشون توی کانال هست رو انگلیسی کنم که کامیونیتی فارسی اولویت باشه مثل همیشه. این رو خودم بیشتر پایه ام. یعنی بخاطر کانال دوم چیزی کانال اول از دست نمیده
👍47❤4👎3🔥1
با Redis بازیمون رو Scale کردیم 🔥 مقیاس پذیر کردن هر پروژهای
بازی مولتی پلیر لایوی که نوشتیم رو scalable کردیم! و جای اینکه روی یک سرور بالا باشه با 3 سرور اوردیمش بالا. توی این ویدیو در مورد نیازمندی هایی صحبت میکنم که کدمون لازم داره تا بتونه scale بشه. توی یک پروژه واقعی که بازیمون بود چطور با کمک ردیس یکی یکی این مشکلات رو حل کردیم.
https://youtu.be/0F1H3qt-tNY
بازی مولتی پلیر لایوی که نوشتیم رو scalable کردیم! و جای اینکه روی یک سرور بالا باشه با 3 سرور اوردیمش بالا. توی این ویدیو در مورد نیازمندی هایی صحبت میکنم که کدمون لازم داره تا بتونه scale بشه. توی یک پروژه واقعی که بازیمون بود چطور با کمک ردیس یکی یکی این مشکلات رو حل کردیم.
https://youtu.be/0F1H3qt-tNY
YouTube
با Redis بازیمون رو Scale کردیم 🔥 مقیاس پذیر کردن هر پروژهای
بازی مولتی پلیر لایوی که نوشتیم رو scalable کردیم! و جای اینکه روی یک سرور بالا باشه با 3 سرور اوردیمش بالا. توی این ویدیو در مورد نیازمندی هایی صحبت میکنم که کدمون لازم داره تا بتونه scale بشه. توی یک پروژه واقعی که بازیمون بود چطور با کمک ردیس یکی یکی این…
🔥20👍3
هرآنچه در مورد Concurrency در Golang نیاز است بدانید 🔥
از گوروتینها گرفته تا چنلها و Select Case و Context و... سوالاتیه که این چند وقتیه دیدم خیلی ذهن هم برنامه نویسهای تازه کار گولنگ هم کسایی که چند وقتی هست کار میکنن بوجود اومده و توی این ویدیو سعی کردم به تمام این ها بپردازم. طوری که حتی اگر کسی هستید که به گولنگ آشنایی نداره و فقط براش جالبه، تا کسی که چندین وقته گو میزنه بتونه ازش استفاده کنه.
https://youtu.be/yhMXwezyVd4
از گوروتینها گرفته تا چنلها و Select Case و Context و... سوالاتیه که این چند وقتیه دیدم خیلی ذهن هم برنامه نویسهای تازه کار گولنگ هم کسایی که چند وقتی هست کار میکنن بوجود اومده و توی این ویدیو سعی کردم به تمام این ها بپردازم. طوری که حتی اگر کسی هستید که به گولنگ آشنایی نداره و فقط براش جالبه، تا کسی که چندین وقته گو میزنه بتونه ازش استفاده کنه.
https://youtu.be/yhMXwezyVd4
YouTube
هرآنچه در مورد Concurrency در Golang نیاز است بدانید 🔥
از گوروتینها گرفته تا چنلها و Select Case و Context و... سوالاتیه که این چند وقتیه دیدم خیلی ذهن هم برنامه نویسهای تازه کار گولنگ هم کسایی که چند وقتی هست کار میکنن بوجود اومده و توی این ویدیو سعی کردم به تمام این ها بپردازم. طوری که حتی اگر کسی هستید…
🔥24❤9👍2
پوینترها به زبان خیلییی ساده 🔥 Pointerها در #Golang
پوینترها یا اشارهگر ها یا همون Pointer در اصل یک ساختمان داده هست که آدرس حافظه رو توی خودش نگه میداره و با کمک dereference کردن بهمون اجازه میده به مقدار اون آدرس در حافظه دسترسی پیدا کنیم و ویرایشش کنیم. توی این ویدیو تمام اصطلاحات و پایههای که برای کار با پوینترها در گولنگ نیازدارید رو با مثال توضیح دادم. در نهایت هم به این سوال جواب دادم:
https://youtu.be/nEgf3LpZbNo
پوینترها یا اشارهگر ها یا همون Pointer در اصل یک ساختمان داده هست که آدرس حافظه رو توی خودش نگه میداره و با کمک dereference کردن بهمون اجازه میده به مقدار اون آدرس در حافظه دسترسی پیدا کنیم و ویرایشش کنیم. توی این ویدیو تمام اصطلاحات و پایههای که برای کار با پوینترها در گولنگ نیازدارید رو با مثال توضیح دادم. در نهایت هم به این سوال جواب دادم:
چرا جای اینکه مقدار متغیر رو بدیم به توابع، پوینترشون رو ندیم که سریع تر باشه و حافظه کمتری ارسال بشه؟
https://youtu.be/nEgf3LpZbNo
YouTube
پوینترها به زبان خیلییی ساده 🔥 Pointerها در #Golang
پوینترها یا اشارهگر ها یا همون Pointer در اصل یک ساختمان داده هست که آدرس حافظه رو توی خودش نگه میداره و با کمک dereference کردن بهمون اجازه میده به مقدار اون آدرس در حافظه دسترسی پیدا کنیم و ویرایشش کنیم. توی این ویدیو تمام اصطلاحات و پایههای که برای کار…
❤18🔥10👍3
سلام دوستان روز زیبایی داشته باشید
توی ویدیو بعدی میخوام حالت Q&A به سوالاتی که دارید چه در مورد برنامه نویسی، چه محیط کاری، شرکتهای که توشون بودم، اینده برنامه نویسی با وجود هوش مصنوعی و... جواب بدم
اگه هر سوالی یا دغدغه ای داشتید توی همین ترد لطفا ارسال کنید، سوال بد هم نداریم، خود سانسوری و اینا هم نکنید.😅
توی ویدیو بعدی میخوام حالت Q&A به سوالاتی که دارید چه در مورد برنامه نویسی، چه محیط کاری، شرکتهای که توشون بودم، اینده برنامه نویسی با وجود هوش مصنوعی و... جواب بدم
اگه هر سوالی یا دغدغه ای داشتید توی همین ترد لطفا ارسال کنید، سوال بد هم نداریم، خود سانسوری و اینا هم نکنید.😅
❤23👍3🔥3
MHRCODE | برنامهنویسی با طعم توتفرنگی
سلام دوستان روز زیبایی داشته باشید توی ویدیو بعدی میخوام حالت Q&A به سوالاتی که دارید چه در مورد برنامه نویسی، چه محیط کاری، شرکتهای که توشون بودم، اینده برنامه نویسی با وجود هوش مصنوعی و... جواب بدم اگه هر سوالی یا دغدغه ای داشتید توی همین ترد لطفا ارسال…
ممنون از همه تون بابت مشارکتتون، خیلییی سوالای جذاب و خوبی بودن و بهم ایده داد برای ادامه مسیر کانال چه مطالب نیاز کامیونیتی فارسی رو بیشتر رفع میکنه ♥️
❤31👍2
دوستان به لطف شما کانال اماده مانیتایز شدن هست.
شما جایی رو میشناسید که کارای ادسنس رو انجام بده؟ اگه اره ممنون میشم بهم معرفی کنید
شما جایی رو میشناسید که کارای ادسنس رو انجام بده؟ اگه اره ممنون میشم بهم معرفی کنید
❤27🔥8👎1
اصل Interface Segregation - کدت رو مجبور به کار بی ربط نکن!
یکی از جذابیتهای برنامهنویسی اینه با استفاده از Interfaceها اجزای مختلف کدمون رو به شکل extendable پیادهسازی کنیم. اما این وسط پیادهسازیهای مختلف یک Interface میتونن در بخشهای جزئی با هم تفاوت داشته باشن که اگه این منطق هارو با اینترفیس اصلی قاطی کنیم باعث میشه کلی کد داشته باشیم که اضافه هستن و مجبور به نوشتنشون شدیم. توی این ویدیو یادمیگیریم چطور با Interface Segregation جلوی این موضوع رو بگیریم.
https://youtu.be/yHsUH4kMkpM
یکی از جذابیتهای برنامهنویسی اینه با استفاده از Interfaceها اجزای مختلف کدمون رو به شکل extendable پیادهسازی کنیم. اما این وسط پیادهسازیهای مختلف یک Interface میتونن در بخشهای جزئی با هم تفاوت داشته باشن که اگه این منطق هارو با اینترفیس اصلی قاطی کنیم باعث میشه کلی کد داشته باشیم که اضافه هستن و مجبور به نوشتنشون شدیم. توی این ویدیو یادمیگیریم چطور با Interface Segregation جلوی این موضوع رو بگیریم.
https://youtu.be/yHsUH4kMkpM
YouTube
اصل Interface Segregation - کدت رو مجبور به کار بی ربط نکن!
یکی از جذابیتهای برنامهنویسی اینه با استفاده از Interfaceها اجزای مختلف کدمون رو به شکل extendable پیادهسازی کنیم. اما این وسط پیادهسازیهای مختلف یک Interface میتونن در بخشهای جزئی با هم تفاوت داشته باشن که اگه این منطق هارو با اینترفیس اصلی قاطی کنیم…
❤29👍8👎2
اسلایس Slice در گولنگ! یک بار برای همیشه!
اسلایسها آرایه نیستن. بهتره فرقشون رو زودتر یادبگیریم تا مجبور نباشیم از راه سخت (دیباگ کردن یک باگ روی پروداکشن!) یادش بگیریم. اسلایسها در گولنگ به ما اجازه میدن به شکل داینامیک سایز به آرایه ها دسترسی داشته باشیم. اما باز هم توی خودشون از آرایه استفاده میکنند. توی این ویدیو اول یکم با پایههای ارایه توی گولنگ آشنا میشیم و سعی میکنیم ساختاری مشابه Sliceها با ارایه پیاده سازی کنیم و کد اسلایس رو هم یک نگاه میندازیم.
https://youtu.be/_72DZnwRG10
اسلایسها آرایه نیستن. بهتره فرقشون رو زودتر یادبگیریم تا مجبور نباشیم از راه سخت (دیباگ کردن یک باگ روی پروداکشن!) یادش بگیریم. اسلایسها در گولنگ به ما اجازه میدن به شکل داینامیک سایز به آرایه ها دسترسی داشته باشیم. اما باز هم توی خودشون از آرایه استفاده میکنند. توی این ویدیو اول یکم با پایههای ارایه توی گولنگ آشنا میشیم و سعی میکنیم ساختاری مشابه Sliceها با ارایه پیاده سازی کنیم و کد اسلایس رو هم یک نگاه میندازیم.
https://youtu.be/_72DZnwRG10
YouTube
اسلایس Slice در گولنگ! یک بار برای همیشه!
اسلایسها آرایه نیستن. بهتره فرقشون رو زودتر یادبگیریم تا مجبور نباشیم از راه سخت (دیباگ کردن یک باگ روی پروداکشن!) یادش بگیریم. اسلایسها در گولنگ به ما اجازه میدن به شکل داینامیک سایز به آرایه ها دسترسی داشته باشیم. اما باز هم توی خودشون از آرایه استفاده…
🔥28👍5
توی بازی Glory Arena وابستگی پرفورمنس به latancy دیتابیس داشت خیلی زیاد میشد و با چند تا تغییر ساده توی Gorm، یکی از پیچیده ترین تراکنشا ( با کلی کوئری و لاجیک ) از میانگین 150ms رسید به 30ms.
خلاصه تمام این اتفاق ها رو میتونید توی یکی از ویدیوهای قدیمیم ببینید:
https://youtu.be/sUxpHdR86dM?si=TOjmMlDIhyMadGqG
خلاصه تمام این اتفاق ها رو میتونید توی یکی از ویدیوهای قدیمیم ببینید:
https://youtu.be/sUxpHdR86dM?si=TOjmMlDIhyMadGqG
👍20🔥4
سلام به همه دوستان بعد یک تاخیر طولانی
این چند وقته برای هکتون تلگرام روی یک بازی تلگرامی کار کردم که کلی تجربه جالب بدست اوردم، از اینکه چطور از صفر یک محصول رو با سرعت و انعطاف بالا با Golang توسعه بدیم، تا تجربه های جالب optimization با css.
اسم بازی Glory Arena هست و به شکل خلاصه شما یک ترکیب از کارتها دارید که هر کارت قدرت متفاوتی داره. میتونید ترکیبشون کنید و کارتهای خفنتر بسازید و رقابت کنید.
اگه دوس داشتید یک سر بهش بزنید ادرس رباتش اینه:
@GloryArenaBot
این چند وقته برای هکتون تلگرام روی یک بازی تلگرامی کار کردم که کلی تجربه جالب بدست اوردم، از اینکه چطور از صفر یک محصول رو با سرعت و انعطاف بالا با Golang توسعه بدیم، تا تجربه های جالب optimization با css.
اسم بازی Glory Arena هست و به شکل خلاصه شما یک ترکیب از کارتها دارید که هر کارت قدرت متفاوتی داره. میتونید ترکیبشون کنید و کارتهای خفنتر بسازید و رقابت کنید.
اگه دوس داشتید یک سر بهش بزنید ادرس رباتش اینه:
@GloryArenaBot
❤27👍5
همستر کوین چیه؟
▪️بعد از اینکه عید لایو بازی تلگرامی رو رفتیم من با هکتونهای تلگرام اشنا شدم و واقعا فاز اون شدم به مدت دو ماه (که تجربیات خوبی داشت ولی کم کم دارم فاصله میگیرم). جالب ترین نکتش این بود برام تلگرام چرا اینقدر داره پول مفت میده؟
▪️تلگرام یک میلیارد کاربر داره حدودا و این با راه انداختن شبکه بلاکچین اش خیلی دوست داره این کاربرا تبدیل به کاربرای بلاکچینش بشن. خب منطقی هم هست، فرصت مشابه WeChat البته برای تمام دنیا! برای همین عددهای چند میلیون دلاری هزینه هکتون هاش میکنه و خروجی سری اولش میشه Catizen، ناتکوین و Pixel.
▪️بعد از این اتفاق و کمک مالی تلگرام به نات کوین روزانه یک میلیون والت جدید ساخته شد و کاربرای تلگرام انبورد شدن روی TON.
▪️این وسط افراد زیادی سعی کردن مشابه نات کوین هایپ ایجاد کنن مثل TheYesCoin و ... که الزامی نداره تلگرام ازشون پشتیبانی کنه.
▪️اما تفاوت Hamster Kombat با اونها اینه که توسط صرافیهای بزرگ مثل بایننس پشتیبانی میشه و تلگرام از روز اول اون رو توی TON Community تبلیغ کرد و ازش قراره پشتیبانی بکنه. یعنی لیست میشه. اما لزوما هم ارزش نات کوین نخواهد بود.
@MhrCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
MHRCODE | برنامهنویسی با طعم توتفرنگی
اینقدر این دو ماه برای منی که هیچ دیدی نسبت به بلاکچین نداشتم موضوع جذابی بود که بعد از تسلط نسبی حتما در مورد زبون TACT برای برنامهنویسی توی اون بستر ویدیو میسازم.
شما هم اگه علاقه دارید حتما این فرصت رو از دست ندید
شما هم اگه علاقه دارید حتما این فرصت رو از دست ندید
👍17❤8