آیا به دنبال ساختارهای دادهای تغییرناپذیر هستی که خیال تو رو از بابت ایمنی، پیشبینیپذیری و تمیزی کد راحت کنه؟
اینجاست که pyrsistent وارد میشه!
این کتابخانه ساختارهایی مثل pmap, pvector, pset و... رو در اختیارت قرار میده که بعد از ایجاد، دیگه قابل تغییر نیستن. مناسب برای اپلیکیشنهای حساس، بدون عوارض جانبی.
🛠️ نمونه کد کاربردی:
from pyrsistent import pmap, pvector # دیکشنری تغییرناپذیر user = pmap({"name": "Alice", "age": 30}) updated_user = user.set("age", 31) print(user) # pmap({'name': 'Alice', 'age': 30}) print(updated_user) # pmap({'name': 'Alice', 'age': 31}) # لیست تغییرناپذیر items = pvector([1, 2, 3]) new_items = items.append(4) print(items) # pvector([1, 2, 3]) print(new_items) # pvector([1, 2, 3, 4])
pip install pyrsistent
برنامهنویسی تمیز رو تجربه کن!
#Python #PythonTips #FunctionalProgramming
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2❤1
Forwarded from Python Hints
یک گروه هکری گفته کل اطلاعات همراه اول رو با نفوذ بدست آورده
بعد رفتن اعتبار سنجی کردن، دیدن دادهها درسته؛ تو گزارش چی زده باشند خوبه ؟
اطلاعات موردی تأیید میشود، اما با توجه به نفوذهای مکرر ممکنه این اطلاعات از دیتاهای مربوط به نفوذهای قدیمیتر باشه.
یعنی مملکت اینطوریه که، خب دیتای ملت رو که همه دارند، اگر راست میگید نفوذ کردید، سیستم خانم فلانی رو بکگراندش رو عوض کنید 😂🤣
بعد رفتن اعتبار سنجی کردن، دیدن دادهها درسته؛ تو گزارش چی زده باشند خوبه ؟
اطلاعات موردی تأیید میشود، اما با توجه به نفوذهای مکرر ممکنه این اطلاعات از دیتاهای مربوط به نفوذهای قدیمیتر باشه.
یعنی مملکت اینطوریه که، خب دیتای ملت رو که همه دارند، اگر راست میگید نفوذ کردید، سیستم خانم فلانی رو بکگراندش رو عوض کنید 😂🤣
👀14🤣11
پیشنیازها: HTML، CSS، JavaScript کتابخانهای قدرتمند برای ساخت رابط کاربری پویا و قابل ترکیب.
پیشنیازها: HTML، CSS، JavaScript فریمورکی سبک و ساده برای شروع سریع توسعهی فرانتاند.
پیشنیازها: HTML، CSS، TypeScript
فریمورکی جامع و ساختاریافته برای ساخت برنامههای وب در مقیاس بزرگ.
پیشنیازها: HTML، CSS، JavaScript فریمورکی با کامپایلر که کد نهایی سریع و
سبک تولید میکند.
پیشنیازها: HTML، CSS، JavaScript، React
فریمورکی مبتنی بر React برای ساخت وبسایتهای سریع با رندر سمت سرور.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1
Fara Code | برنامه نویسی
https://youtu.be/c0pAuHojy4A?si=nAqz52whaCyWg8m0
پادکست طبقه ۱۶ رو حتما نگاه کنید یکی از بهترین پادکستای تک ایران که فرآیند استارتاپ زدن و چالش هایی که توی ایران هست رو بیان میکنن...
مخصوصا این قسمت که بسیارعالی بود
حتما نگاه کنید...
مخصوصا این قسمت که بسیارعالی بود
حتما نگاه کنید...
👍11
دوستان اگه سوال برنامه نویسی یا هر مبحثی مربوط به برنامه نویسی و کامپیوتر دارید میتونید توی گروهمون جوین شید و بپرسید
@DevCodeGp
@DevCodeGp
👍9🤯1
🔺🔻«چتجیپیتی» برای کاربران ایرانی بدون فیلترشکن باز شد
«چتجیپیتی»(ChatGPT) شرکت «اوپنایآی»(OpenAI) بدون نیاز به فیلترشکن کار میکند.
«چتجیپیتی»(ChatGPT) شرکت «اوپنایآی»(OpenAI) بدون نیاز به فیلترشکن کار میکند.
👍16
آیا پایتون "اشارهگر" (Pointer) داره؟
خب معلومه که نههههه🤦♂️
اما یکی از سوالهایی که خیلی موقعها مطرح میشه، مخصوصاً از طرف کسایی که با زبانهایی مثل C یا C++ کار کردن، اینه:
"چرا توی پایتون اشارهگر نداریم؟!"😒
جواب کوتاه اینه:
پایتون اشارهگر نداره، ولی رفتار شبیه به اون داره!
پایتون چطوری کار میکنه؟
توی پایتون، وقتی یه متغیر تعریف میکنی، در واقع اون متغیر یه نام هست که به یه آبجکت اشاره میکنه. یعنی:
همونطور که میبینی، با تغییر b، مقدار a هم تغییر کرد. چون هر دو دارن به یه آبجکت توی حافظه اشاره میکنن.
پس فرقش با C چیه؟🤯
✅ توی C، اشارهگرها خیلی مستقیم و سطح پایینن:
✅ آدرس حافظه رو مستقیم میگیری و باهاش کار میکنی.
ولی پایتون این جزئیات رو ازت مخفی کرده و مدیریت حافظه رو خودش انجام میده. تو فقط با مرجع (Reference) کار میکنی، نه آدرس دقیق حافظه.
شاید نشه توی پایتون مثل C با اشارهگرها بازی کرد، ولی رفتار ارجاعی و mutable بودن آبجکتها نشون میده که مفهوم اشارهگر به شکلی امنتر و سادهتر همچنان حضور داره.
➖ ➖ ➖ ➖ ➖ ➖
😂 @Learrning_Python 😂
خب معلومه که نههههه
اما یکی از سوالهایی که خیلی موقعها مطرح میشه، مخصوصاً از طرف کسایی که با زبانهایی مثل C یا C++ کار کردن، اینه:
"چرا توی پایتون اشارهگر نداریم؟!"
جواب کوتاه اینه:
پایتون اشارهگر نداره، ولی رفتار شبیه به اون داره!
پایتون چطوری کار میکنه؟
توی پایتون، وقتی یه متغیر تعریف میکنی، در واقع اون متغیر یه نام هست که به یه آبجکت اشاره میکنه. یعنی:
a = [1, 2, 3]
b = a
b.append(4)
print(a) # خروجی: [1, 2, 3, 4]
همونطور که میبینی، با تغییر b، مقدار a هم تغییر کرد. چون هر دو دارن به یه آبجکت توی حافظه اشاره میکنن.
پس فرقش با C چیه؟
ولی پایتون این جزئیات رو ازت مخفی کرده و مدیریت حافظه رو خودش انجام میده. تو فقط با مرجع (Reference) کار میکنی، نه آدرس دقیق حافظه.
شاید نشه توی پایتون مثل C با اشارهگرها بازی کرد، ولی رفتار ارجاعی و mutable بودن آبجکتها نشون میده که مفهوم اشارهگر به شکلی امنتر و سادهتر همچنان حضور داره.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍4
بنظرتون برای مهاجرت، مدرک مهم تره یا مهارت؟
Final Results
9%
صددرصد مدرک
37%
مهارت مهمه
54%
دوتاش هم باشه بهتره
Fara Code | برنامه نویسی pinned «بنظرتون برای مهاجرت، مدرک مهم تره یا مهارت؟»
Fara Code | برنامه نویسی
بنظرتون برای مهاجرت، مدرک مهم تره یا مهارت؟
نظرسنجی بسته شد!
اول یه چیزی بگم: منظورم تو این نظرسنجی، مهاجرت شغلی بود، ( برنامهنویسی) امیدوارم با این دید رای داده باشید.
از نظر من برای مهاجرت کاری مثل برنامهنویسی، مهارت و تجربه حرف اول رو میزنه. شرکتها بیشتر دنبال اینن که ببینن تو عمل چی بلدی و چه پروژه هایی تا حالا زدی و میتونی براشون مفید باشی یا نه. مدرک هم گاهی ممکنه برای یه سری موقعیتها لازم باشه و اولویت قرار بدن، ولی خب بازم بدون مهارت، مدرک یه کاغذه.
اگه کسی تجربه ای تو این موضوع داشت خوشحال میشیم باهامون در میون بزاره💙
اول یه چیزی بگم: منظورم تو این نظرسنجی، مهاجرت شغلی بود، ( برنامهنویسی) امیدوارم با این دید رای داده باشید.
از نظر من برای مهاجرت کاری مثل برنامهنویسی، مهارت و تجربه حرف اول رو میزنه. شرکتها بیشتر دنبال اینن که ببینن تو عمل چی بلدی و چه پروژه هایی تا حالا زدی و میتونی براشون مفید باشی یا نه. مدرک هم گاهی ممکنه برای یه سری موقعیتها لازم باشه و اولویت قرار بدن، ولی خب بازم بدون مهارت، مدرک یه کاغذه.
اگه کسی تجربه ای تو این موضوع داشت خوشحال میشیم باهامون در میون بزاره💙
👍12
Forwarded from MMN-DEV</> (MMD)
📦 آموزش بکاپ گرفتن پسورد های مرورگر فایرفاکس به صورت دستی (در لینوکس) 🔐
اگه از مرورگر Firefox توی لینوکس استفاده میکنی و کلی پسورد ذخیره کردی، طبیعیه که نخوای همهشونو از دست بدی وقتی میری روی یه سیستم دیگه یا بخوای لینوکس رو دوباره نصب کنی.
✅ مرحله ۱: پیدا کردن پوشهی پروفایل
فایرفاکس همه اطلاعات کاربری مثل تاریخچه، بوکمارکها و پسوردها رو توی یه پوشهی مخصوص ذخیره میکنه به اسم پروفایل.
این پوشه معمولاً اینجاست:
📌 اون x ها یه سری عدد و حرف تصادفی هستن.
✅ مرحله ۲: بکاپ گرفتن
کافیه این دو تا فایل رو از پروفایل برداری و یه جای امن نگه داری:
- `logins.json` → لیست رمزهای ذخیرهشده
- `key4.db` → کلید رمزنگاری
مثلاً:
✅ مرحله ۳: انتقال به سیستم جدید
حالا که رفتی روی یه سیستم جدید یا لینوکس رو دوباره نصب کردی:
1. اول یه بار فایرفاکس رو باز و بعد ببندش تا یه پروفایل جدید بسازه.
2. بعد همون دو تا فایل
مثال:
✅ مرحله 4 : کار تمومه
حالا Firefox رو باز کن و برو به:
پسورد ها رو نشون میده
#linux_tut
اگه از مرورگر Firefox توی لینوکس استفاده میکنی و کلی پسورد ذخیره کردی، طبیعیه که نخوای همهشونو از دست بدی وقتی میری روی یه سیستم دیگه یا بخوای لینوکس رو دوباره نصب کنی.
✅ مرحله ۱: پیدا کردن پوشهی پروفایل
فایرفاکس همه اطلاعات کاربری مثل تاریخچه، بوکمارکها و پسوردها رو توی یه پوشهی مخصوص ذخیره میکنه به اسم پروفایل.
این پوشه معمولاً اینجاست:
~/.mozilla/firefox/xxxxxxxx.default-release
📌 اون x ها یه سری عدد و حرف تصادفی هستن.
✅ مرحله ۲: بکاپ گرفتن
کافیه این دو تا فایل رو از پروفایل برداری و یه جای امن نگه داری:
- `logins.json` → لیست رمزهای ذخیرهشده
- `key4.db` → کلید رمزنگاری
مثلاً:
cp ~/.mozilla/firefox/xxxx.default-release/logins.json /path/to/backup/
cp ~/.mozilla/firefox/xxxx.default-release/key4.db /path/to/backup/
✅ مرحله ۳: انتقال به سیستم جدید
حالا که رفتی روی یه سیستم جدید یا لینوکس رو دوباره نصب کردی:
1. اول یه بار فایرفاکس رو باز و بعد ببندش تا یه پروفایل جدید بسازه.
2. بعد همون دو تا فایل
logins.json
و key4.db
رو بریز توی پوشهی پروفایل جدید.مثال:
cp /path/to/backup/logins.json ~/.mozilla/firefox/yyyy.default-release/
cp /path/to/backup/key4.db ~/.mozilla/firefox/yyyy.default-release/
✅ مرحله 4 : کار تمومه
حالا Firefox رو باز کن و برو به:
Settings → Privacy & Security → Saved Logins
پسورد ها رو نشون میده
#linux_tut
👍5❤1
فرصت باورنکردنی!
دسترسی رایگان به ابزارهای هوش مصنوعی جمنای
فقط و فقط با آیپی آمریکا وارد لینک زیر بشید و 15 ماه اکانت ادونس هوش مصنوعی جمنای به ارزش 30 میلیون تومن رو هدیه بگیرید.
one.google.com/join/ai-student
با آیپی بقیه کشورا برید ازتون کارت بانکی میخواد!
میتونید از فیلترشکن ویندسکرایب استفاده کنید
فضای ذخیرهسازی ۲ ترابایتی
دسترسی به Gemini Advanced (با مدل Gemini 2.5 Pro)
دسترسی Gemini Deep Research
دسترسی NotebookLM Plus
دسترسی Gemini در Google Docs, Sheets و Slides
دسترسی تولید ویدیو با Veo 2
دسترسی Whisk (خلق تصاویر و انیمیشن از متن)
و سایر فیچرهای پرو
➖ ➖ ➖ ➖ ➖ ➖
😂 @Learrning_Python 😂
دسترسی رایگان به ابزارهای هوش مصنوعی جمنای
فقط و فقط با آیپی آمریکا وارد لینک زیر بشید و 15 ماه اکانت ادونس هوش مصنوعی جمنای به ارزش 30 میلیون تومن رو هدیه بگیرید.
one.google.com/join/ai-student
با آیپی بقیه کشورا برید ازتون کارت بانکی میخواد!
میتونید از فیلترشکن ویندسکرایب استفاده کنید
فضای ذخیرهسازی ۲ ترابایتی
دسترسی به Gemini Advanced (با مدل Gemini 2.5 Pro)
دسترسی Gemini Deep Research
دسترسی NotebookLM Plus
دسترسی Gemini در Google Docs, Sheets و Slides
دسترسی تولید ویدیو با Veo 2
دسترسی Whisk (خلق تصاویر و انیمیشن از متن)
و سایر فیچرهای پرو
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2❤1
Media is too big
VIEW IN TELEGRAM
دوروف توی چنل تلگرامی خود نوشت :
تلگرام + گروک =🔥 تابستان امسال، کاربران تلگرام به بهترین فناوری هوش مصنوعی موجود در بازار دسترسی خواهند داشت. من و ایلان ماسک برای یک همکاری یک ساله توافق کردهایم تا چتبات Grok از xAI را در اختیار بیش از یک میلیارد کاربر خود قرار دهیم و آن را در تمام برنامههای تلگرام ادغام کنیم.🤝
💪 این همچنین موقعیت مالی تلگرام را تقویت میکند: ما ۳۰۰ میلیون دلار پول نقد و سهام از xAI، به علاوه ۵۰٪ از درآمد حاصل از اشتراکهای xAI فروخته شده از طریق تلگرام، دریافت خواهیم کرد.💰
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3❤2👎1🤯1
🧐احتمالا به گوشتون خورده که یه رباتی اومده و میتونه اطلاعات کاربرا رو با گرفتن ایدی بهتون بده!
🤔 منظورت چیه؟
درواقع شما یکی از مخاطبینتون یا ایدی یک فرد رو به ربات میدید و اون میاد و بهتون دیتایی مثل (گروه هایی که جوین هست یا قبلا بوده، گروه هایی که خیلی توشون چت داشته، افرادی که خیلی باهاشون صبحت کرده، اسم و یوزرنیم های قبلی کاربر رو و...) به شما میده.
🫣 ولی این ترسناکه.
اره ترسناکه؛ ولی نه خیلی. چرا؟ چون تا جایی که من فهمیدم، فقط اطلاعات پابلیک شمارو بدست میاره. یعنی اینکه گروه هایی که قبلا توشون بودی ولی عمومی بودن رو میتونه بدست بیاره و چند پیام اخری تورو بدست میاره.
😨 باشه، ولی چطوری کار میکنه؟
هنوز دقیقا نمیدونم چطوری کار میکنه. چون ربات ها دسترسی خیلی محدودی دارن و فقط چیزای بیسیک رو بدست میارن. ولی چندتا تئوری دربارش هست.
1⃣ تئوری اول : میتونه توی همه گروه های پابلیک، با ربات های client جوین بشه و اطلاعات هر کاربری رو بدست بیاره و ذخیره کنه. اما این تقریبا غیر ممکنه. چرا؟ تو پست بعدی توضیح کامل میدم.
2⃣ تئوری دوم: از تلگرام های فیک برای جمع اوری اطلاعات استفاده کردن. اما همینم غیر ممکنه. چرا؟ چون من حتی یک بارم تلگرام فیک نداشتم.
3⃣ تئوری سوم: تلگرام هک شده. خب من برای اینم توضیح بدم؟ چون فکر کنم همتون میدونید که خنده دار ترین تئوری همینه😂
4⃣ تئوری چهارم: تلگرام باگ خورده و اطلاعات دردسترس بعضی ربات ها قرار داره. من از ممرام مطمعنم. مطمعنم خودشون میدونن که این حتی از هک تلگرام هم غیر منطقی تره.
ببینید دوستان، راستش خیلی فکر کردم روش ولی دقیقا نفهمیدم چطوری این ربات کار میکنه. چیز ترسناکی نیست و اگه کسی تهدیدتون کرد اصلا نترسید. چون اصلااااا چیز ترسناکی نیست.
ولی در هر صورت این نقض قوانین تلگرامه و ریپورت های زیادی خورده تا الان و امیدوارم هرچی زودتر بن شه تا سواستفاده ای نشه ازش.
💡 من به شخصه بیشتر روش کار میکنم و سعی میکنم یچیزایی ازش بفهمم. اگه فهمیدم باهاتون به اشتراک میزارم.
➖ ➖ ➖ ➖ ➖ ➖
😂 @Learrning_Python 😂
🤔 منظورت چیه؟
درواقع شما یکی از مخاطبینتون یا ایدی یک فرد رو به ربات میدید و اون میاد و بهتون دیتایی مثل (گروه هایی که جوین هست یا قبلا بوده، گروه هایی که خیلی توشون چت داشته، افرادی که خیلی باهاشون صبحت کرده، اسم و یوزرنیم های قبلی کاربر رو و...) به شما میده.
🫣 ولی این ترسناکه.
اره ترسناکه؛ ولی نه خیلی. چرا؟ چون تا جایی که من فهمیدم، فقط اطلاعات پابلیک شمارو بدست میاره. یعنی اینکه گروه هایی که قبلا توشون بودی ولی عمومی بودن رو میتونه بدست بیاره و چند پیام اخری تورو بدست میاره.
😨 باشه، ولی چطوری کار میکنه؟
هنوز دقیقا نمیدونم چطوری کار میکنه. چون ربات ها دسترسی خیلی محدودی دارن و فقط چیزای بیسیک رو بدست میارن. ولی چندتا تئوری دربارش هست.
1⃣ تئوری اول : میتونه توی همه گروه های پابلیک، با ربات های client جوین بشه و اطلاعات هر کاربری رو بدست بیاره و ذخیره کنه. اما این تقریبا غیر ممکنه. چرا؟ تو پست بعدی توضیح کامل میدم.
2⃣ تئوری دوم: از تلگرام های فیک برای جمع اوری اطلاعات استفاده کردن. اما همینم غیر ممکنه. چرا؟ چون من حتی یک بارم تلگرام فیک نداشتم.
3⃣ تئوری سوم: تلگرام هک شده. خب من برای اینم توضیح بدم؟ چون فکر کنم همتون میدونید که خنده دار ترین تئوری همینه😂
4⃣ تئوری چهارم: تلگرام باگ خورده و اطلاعات دردسترس بعضی ربات ها قرار داره. من از ممرام مطمعنم. مطمعنم خودشون میدونن که این حتی از هک تلگرام هم غیر منطقی تره.
ببینید دوستان، راستش خیلی فکر کردم روش ولی دقیقا نفهمیدم چطوری این ربات کار میکنه. چیز ترسناکی نیست و اگه کسی تهدیدتون کرد اصلا نترسید. چون اصلااااا چیز ترسناکی نیست.
ولی در هر صورت این نقض قوانین تلگرامه و ریپورت های زیادی خورده تا الان و امیدوارم هرچی زودتر بن شه تا سواستفاده ای نشه ازش.
💡 من به شخصه بیشتر روش کار میکنم و سعی میکنم یچیزایی ازش بفهمم. اگه فهمیدم باهاتون به اشتراک میزارم.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤯1💔1
Fara Code | برنامه نویسی
1⃣ تئوری اول : میتونه توی همه گروه های پابلیک، با ربات های client جوین بشه و اطلاعات هر کاربری رو بدست بیاره و ذخیره کنه. اما این تقریبا غیر ممکنه. چرا؟ تو پست بعدی توضیح کامل میدم
راجب تئوری اول اینجوری بگم که تقریبا غیر ممکنه.
چرا؟ چون تلگرام دارای چند میلیون گروهه. و ما بگیم نصف این گروه ها هم پابلیک باشن. بااازم تعدادش خیلییی زیاده.
هر اکانتی میتونه فقط 200 تا چت داشته باشه و با پرمیوم میشه 400 تا. 200 تا شامل پیوی و چنل ها هم میشه. پس برای جوین شدن تو همه گروه های تلگرام چند صد هزار اکانت client میخواد و هر کدوم نیاز به سرور و api دارن.
همه اینا به دیتابیسی متصلن که همه اطلاعات رو ذخیره میکنن. پس ما الان یک big data داریم.
این بیگ دیتا درخواست های خیلیییی زیادی میخوره. پس نیاز به یه سرور داریم که همه این درخواست هارو بتونه بگیره + حجم بیگ دیتا که نیاز به یک سرور گرون قیمت برای فقط api داریم. تلگرام به محضی که متوجه بشه یک ربات(مخصوصا cli) دیتا هایی که بهش مربوط نیست رو بیش از حد ذخیره میکنه، فوری جد در حد اون ربات رو بن میکنه.
از اونورم یکی از مهم ترین قوانین تلگرام رو نقض کرده یعنی "حریم خصوصی" و این خودش دلیل دیگه ایه که این حرکت به راحتی صاحبت ربات لو میره.
همه اینارو کنار هم بزاریم، یک دردسر بزرگی میشه که فکر نمیکنم کسی حاضر باشه به جون بخره.
البته این فقط زاویه دید منه و شاید واقعا یه همچین چیزی باشه. شمام نظرات خودتونو بگید.
➖ ➖ ➖ ➖ ➖ ➖
😂 @Learrning_Python 😂
چرا؟ چون تلگرام دارای چند میلیون گروهه. و ما بگیم نصف این گروه ها هم پابلیک باشن. بااازم تعدادش خیلییی زیاده.
هر اکانتی میتونه فقط 200 تا چت داشته باشه و با پرمیوم میشه 400 تا. 200 تا شامل پیوی و چنل ها هم میشه. پس برای جوین شدن تو همه گروه های تلگرام چند صد هزار اکانت client میخواد و هر کدوم نیاز به سرور و api دارن.
همه اینا به دیتابیسی متصلن که همه اطلاعات رو ذخیره میکنن. پس ما الان یک big data داریم.
این بیگ دیتا درخواست های خیلیییی زیادی میخوره. پس نیاز به یه سرور داریم که همه این درخواست هارو بتونه بگیره + حجم بیگ دیتا که نیاز به یک سرور گرون قیمت برای فقط api داریم. تلگرام به محضی که متوجه بشه یک ربات(مخصوصا cli) دیتا هایی که بهش مربوط نیست رو بیش از حد ذخیره میکنه، فوری جد در حد اون ربات رو بن میکنه.
از اونورم یکی از مهم ترین قوانین تلگرام رو نقض کرده یعنی "حریم خصوصی" و این خودش دلیل دیگه ایه که این حرکت به راحتی صاحبت ربات لو میره.
همه اینارو کنار هم بزاریم، یک دردسر بزرگی میشه که فکر نمیکنم کسی حاضر باشه به جون بخره.
البته این فقط زاویه دید منه و شاید واقعا یه همچین چیزی باشه. شمام نظرات خودتونو بگید.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1👏1😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤4👍2