Mohammad Taheri
گذر یار | تجربه ی اینترنت آزاد، امن و سریع 🪩 ⚙️با ربات گذریار همهچیز بهصورت کاملاً خودکار و لحظهای انجام میشه. ✔️به محض ثبت سفارش، کانفیگ شما ساخته میشه و آماده استفادهست. ⭕دور زدن تمام تحریم ها: تحریم های گردل، npm و ... . 🌍 دسترسی راحت به: یوتیوب📱،…
این ربات توسط Pure Coder آزمایش شده و مورد تاییده.
البته شما خودتون ازش کانفیگ تست بگیرید و گردل رو باهاش امتحان کنید و اگه مشکلی داشتید به پشتیبانی ربات پیام بدید.
اگه قبلن هم کانفیگ تست گرفتین، میتونید بگین که براتون تمدید کنن..
پ.ن: اپ V2rayN نصب کنید و اپ های دیگه استفاده نکنید!
ورود به ربات...
البته شما خودتون ازش کانفیگ تست بگیرید و گردل رو باهاش امتحان کنید و اگه مشکلی داشتید به پشتیبانی ربات پیام بدید.
اگه قبلن هم کانفیگ تست گرفتین، میتونید بگین که براتون تمدید کنن..
پ.ن: اپ V2rayN نصب کنید و اپ های دیگه استفاده نکنید!
ورود به ربات...
❤8
🔥Value Type vs Reference Type
وقتی میگیم
مقدار یا value ی a توی b کپی میشه و از حالا به بعد هر دو ولیوی 4 رو دارن. یعنی یک فضا از حافظه به a اختصاص داده میشه و توش مقدار ۴ قرار میگیره و یک فضا هم به b اختصاص داده میشه و توش مقدار ۴ قرار میگیره.
حالا اگه بگیم:
مقدار b برابر با ۵ میشه و مقدار a برابر با ۴ باقی میمونه. چون حافظه ی اختصاص داده شده به این دو var کاملن از هم مستقل هستن و مستقل از هم تغییر میکنن.
به این ترتیب به این type ها value type گفته میشه.
اینجا کلید new باعث میشه که یه دونه person ساخته بشه و توی حافظه قرار بگیره، ولی رفرنسش یا به عبارتی ادرسش توی حافظه ی اختصاص داده شده به p قرار میگیره.
حالا اگه بگیم:
همون ادرس یا رفرنس توی p1 هم کپی میشه.
پس کلن یه دونه person توی حافظه داریم و دو تا var داریم که هر دو به همون اشاره میکنن. در نتیجه اگه بگیم:
مقدار age اون person ای که توی حافظه بوده تغییر میکنه و چون p و p1 هر دو به یک ابجکت رفرنس داشتن، مقادیر p.age و p1.age هر دو برابر با ۹۹ میشه.
به این type ها reference type میگن.
پست بعدی...
وقتی میگیم
int a = 4;
int b = a;
مقدار یا value ی a توی b کپی میشه و از حالا به بعد هر دو ولیوی 4 رو دارن. یعنی یک فضا از حافظه به a اختصاص داده میشه و توش مقدار ۴ قرار میگیره و یک فضا هم به b اختصاص داده میشه و توش مقدار ۴ قرار میگیره.
حالا اگه بگیم:
int a = 4;
int b = a
b = 5;
مقدار b برابر با ۵ میشه و مقدار a برابر با ۴ باقی میمونه. چون حافظه ی اختصاص داده شده به این دو var کاملن از هم مستقل هستن و مستقل از هم تغییر میکنن.
به این ترتیب به این type ها value type گفته میشه.
✅وقتی که یک value type رو با عملیات = توی یک value type دیگه میریزیم، عملیات کپی انجام میشه و مقدار مورد نظر توی حافظه ی اختصاص داده شده به. Var دوم کپی میشه و راه دو var از هم جدا میشه.حالا وقتی میگیم:
Person p = new Person();
p.age = 66;
اینجا کلید new باعث میشه که یه دونه person ساخته بشه و توی حافظه قرار بگیره، ولی رفرنسش یا به عبارتی ادرسش توی حافظه ی اختصاص داده شده به p قرار میگیره.
حالا اگه بگیم:
Person p1 = p:
همون ادرس یا رفرنس توی p1 هم کپی میشه.
پس کلن یه دونه person توی حافظه داریم و دو تا var داریم که هر دو به همون اشاره میکنن. در نتیجه اگه بگیم:
P1.age = 99;
مقدار age اون person ای که توی حافظه بوده تغییر میکنه و چون p و p1 هر دو به یک ابجکت رفرنس داشتن، مقادیر p.age و p1.age هر دو برابر با ۹۹ میشه.
به این type ها reference type میگن.
✅وقتی که یک reference type رو با عملیات = توی یک reference type دیگه میریزیم، فقط رفرنس ها کپی میشن. یعنی به هر دو var دو حافظه ی مستقل اختصاص داده میشه، ولی مقداری که توی هر دو حافظه قرار میگیره یکسان و برابر با رفرنس ابجکت مورد نظر توی حافظه هست.
پس موقع اختصاص یک value type به value type دیگه، خود value کپی میشه و موقع اختصاص یک reference type به یک reference type دیگه، این رفرنسه که کپی میشه!!!
پست بعدی...
@purecoder_ir
🔥6❤2👌1
Forwarded from Hamed
📕 Clean Code in C#
یک خبر عالی! 🥳
ترجمه فارسی کامل کتاب #Clean Code in C نوشته Jason Alls بهصورت رسمی آماده شد! این کتاب یکی از منابع فوقالعاده برای یادگیری اصول کدنویسی تمیز، Refactoring و ارتقای کیفیت نرمافزار در #C بهحساب میاد.
همراهی و نظرات انگیزشی شما کلی انرژی و دلگرمی به این پروژه میده. ممنون از حمایتتون! ❤️
https://github.com/hheydarian/clean-code-in-csharp-persian
یک خبر عالی! 🥳
ترجمه فارسی کامل کتاب #Clean Code in C نوشته Jason Alls بهصورت رسمی آماده شد! این کتاب یکی از منابع فوقالعاده برای یادگیری اصول کدنویسی تمیز، Refactoring و ارتقای کیفیت نرمافزار در #C بهحساب میاد.
همراهی و نظرات انگیزشی شما کلی انرژی و دلگرمی به این پروژه میده. ممنون از حمایتتون! ❤️
https://github.com/hheydarian/clean-code-in-csharp-persian
GitHub
GitHub - hheydarian/clean-code-in-csharp-persian: Persian translation of the book Clean Code in C# by Jason Alls
Persian translation of the book Clean Code in C# by Jason Alls - hheydarian/clean-code-in-csharp-persian
🔥8❤1🏆1
🔥Value Type vs Reference Type
پست قبلی...
❓وقتی که یه value type رو به یه فانکشن یا متد پاس میدیم چی میشه؟
اینجا یه فانکشن داریم که توی ورودی یه value type میگیره. حالا اگه:
این فانکشن رو کال کنم و myVar رو بهش پاس بدم، مقدار یا value ی myVar توی a کپی میشه و مسیر دو تا variable از هم جدا میشه. یعنی یه variable به اسم myVar دارم و یه دونه variable هم به اسم a که اسکوپ کوچیکتر داره. این var ها value شون کپی هم هست ولی روی هم دیکه تاثیر نمیگذارن. یعنی بعد از اجرای فانکشن مقدار myVar برابر با ۱۰ باقی میمونه.
❓حالا اگه یه reference type رو به یه فانکشن یا متد پاس بدیم چی؟
اگه این فانشکن رو به شکل زیر کال کنم:
✅بعد از اجرای فانکشن، مقدار Age ابجکت person برابر با ۹۹ میشه.
❓چرا؟
چون وقتی که یه reference type رو به یه فانکشن پاس میدیم، این رفرنسه که کپی میشه. پس دو تا var به اسم های person و p داریم که هر دو یک مقدار داخل خودشون دارن و اون مقدار هم رفرنس یا ادرس ابجکت Person توی حافظه ست. پس عملیاتی که که توی فانکشن روی p اعمال میشه، روی person هم تاثیر میگذاره، چون هر دو به یک ابجکت توی حافظه اشاره میکنن.
پست قبلی...
❓وقتی که یه value type رو به یه فانکشن یا متد پاس میدیم چی میشه؟
void DoSomething(int a)
{
a = 6;
}
اینجا یه فانکشن داریم که توی ورودی یه value type میگیره. حالا اگه:
int myVar = 10;
DoSomething(myVar);
این فانکشن رو کال کنم و myVar رو بهش پاس بدم، مقدار یا value ی myVar توی a کپی میشه و مسیر دو تا variable از هم جدا میشه. یعنی یه variable به اسم myVar دارم و یه دونه variable هم به اسم a که اسکوپ کوچیکتر داره. این var ها value شون کپی هم هست ولی روی هم دیکه تاثیر نمیگذارن. یعنی بعد از اجرای فانکشن مقدار myVar برابر با ۱۰ باقی میمونه.
❓حالا اگه یه reference type رو به یه فانکشن یا متد پاس بدیم چی؟
void DoSomething(Person p)
{
p.Age = 99;
}
اگه این فانشکن رو به شکل زیر کال کنم:
Person person = new Person();
person.Age = 66;
DoSomething(person);
✅بعد از اجرای فانکشن، مقدار Age ابجکت person برابر با ۹۹ میشه.
❓چرا؟
چون وقتی که یه reference type رو به یه فانکشن پاس میدیم، این رفرنسه که کپی میشه. پس دو تا var به اسم های person و p داریم که هر دو یک مقدار داخل خودشون دارن و اون مقدار هم رفرنس یا ادرس ابجکت Person توی حافظه ست. پس عملیاتی که که توی فانکشن روی p اعمال میشه، روی person هم تاثیر میگذاره، چون هر دو به یک ابجکت توی حافظه اشاره میکنن.
✅پس موقع پاس دادن یک value type به یه فانکشن یا متد، خود value توی پارامتر ورودی فانکشن کپی میشه و موقع پاس دادن یه reference type به یه متد هم این رفرنسه که توی اون پارامتر کپی میشه.
@purecoder_ir
🔥6
شما اگه توی کل عمرت فقط و فقط قرمه سبزی خورده باشی و بگی من عاشق قرمه سبزیم، میشه به این عشق و علاقه تردید کرد. تا وقتی که چندتا غذای دیگه رو امتحان نکنی و همچنان بر علاقه ی خودت استوار نباشی. نمیشه به علاقت اعتبار داد.
خب این یه مثال الکی بود. ولی توی ماجرای شغل میشه بهش نگاه کرد. بعضی از ماها یه حرفه رو انتخاب میکنیم و تا اخر با همون ادامه میدیم و به صورت خود گول زنکی فک میکنیم که خیلی عاشقیم.
از کجا معلوم؟
تا وقتی فقط یه حرفه رو امتحان کردیم چه اطمینانی به خالص بودن علاقه ی ما هست؟
یکی از مولفه هایی که میشه باهاش علاقه رو سنجید، خلاقیته. دروغ زشتی که بعضی از ماها به خودمون میگیم اینه که من اصلن ادم خلاقی نیستم🥲🥲
همه ی انسان ها خلاقن. همه. مهم اینه توی چه جایگاهی قرار بگیرن. طبیعتن من نوعی توی نقش نقی معمولی یا در جایگاه سرمربی منچستر یونایند هیچ خلاقیتی ندارم. ولی به این معنا نیست که کلن ادم خلاقی نیستم. اگه در جایگاه درست قرار بگیرم، میتونم خلاقیت خودم رو بروز بدم.
پس دیگه این دروغ رو به خودت نگو که من خلاق نیستم. اگه خلاق نیستی باید جات رو تغییر بدی.
خب این یه مثال الکی بود. ولی توی ماجرای شغل میشه بهش نگاه کرد. بعضی از ماها یه حرفه رو انتخاب میکنیم و تا اخر با همون ادامه میدیم و به صورت خود گول زنکی فک میکنیم که خیلی عاشقیم.
از کجا معلوم؟
تا وقتی فقط یه حرفه رو امتحان کردیم چه اطمینانی به خالص بودن علاقه ی ما هست؟
یکی از مولفه هایی که میشه باهاش علاقه رو سنجید، خلاقیته. دروغ زشتی که بعضی از ماها به خودمون میگیم اینه که من اصلن ادم خلاقی نیستم🥲🥲
همه ی انسان ها خلاقن. همه. مهم اینه توی چه جایگاهی قرار بگیرن. طبیعتن من نوعی توی نقش نقی معمولی یا در جایگاه سرمربی منچستر یونایند هیچ خلاقیتی ندارم. ولی به این معنا نیست که کلن ادم خلاقی نیستم. اگه در جایگاه درست قرار بگیرم، میتونم خلاقیت خودم رو بروز بدم.
پس دیگه این دروغ رو به خودت نگو که من خلاق نیستم. اگه خلاق نیستی باید جات رو تغییر بدی.
👍9
⛔️ترجمه ممنوع
💡فانکشن که مشخصه چیه.
🔥متد هم نوع خاصی از فانکشنه. متد، فانکشنیه که توی یه کلاس قرار میگیره و فقط روی ابجکت های ساخته شده از اون کلاس قابل کال شدنه.
البته دو نوع متد وجود داره: instance و static.
✅پس اگه مستقل بود و به هیچ ابجکت یا کلاسی گره نخورده بود بهشون میگیم فانکشن و اگه به یه ابجکت یا کلاس گره خورده بود، میگیم متد. (Instance Method یا Static Method )
تروخدا به اینا تابع نگید🤦♂🤦♂ بگید فانکشن یا متد.
مدرس های عزیز مخصوصن شماها به اینا تابع نگید. شما بگید هزار نفر یاد میگیرن میگن🤦♂🤦♂😂
وقتی شروع کردی به ترجمه ی این ها و به فانکشن گفتی تابع، اون موقع دیگه برای متد واژه ی مستقل پیدا نمیکنی و گیر میوفتی.
اینا واژگان تخصصی ان، نباید ترجمه بشن.
موارد دیگه که باید رعایت کنید:
✅کانستراکتور نه سازنده.
✅ابجکت نه شی.
✅ابجکت ارینتد نه شی گرا.
✅فانکشنال پروگرمینگ نه برنامه نویسی تابع محور 🤦♂🤦♂😭
✅یونیت تست نه تست واحد.
✅ترد نه نخ🤦♂ مگه سیگاره😂
✅و ... .
خیلی زیادن.
💡فانکشن که مشخصه چیه.
🔥متد هم نوع خاصی از فانکشنه. متد، فانکشنیه که توی یه کلاس قرار میگیره و فقط روی ابجکت های ساخته شده از اون کلاس قابل کال شدنه.
البته دو نوع متد وجود داره: instance و static.
✅پس اگه مستقل بود و به هیچ ابجکت یا کلاسی گره نخورده بود بهشون میگیم فانکشن و اگه به یه ابجکت یا کلاس گره خورده بود، میگیم متد. (Instance Method یا Static Method )
تروخدا به اینا تابع نگید🤦♂🤦♂ بگید فانکشن یا متد.
مدرس های عزیز مخصوصن شماها به اینا تابع نگید. شما بگید هزار نفر یاد میگیرن میگن🤦♂🤦♂😂
وقتی شروع کردی به ترجمه ی این ها و به فانکشن گفتی تابع، اون موقع دیگه برای متد واژه ی مستقل پیدا نمیکنی و گیر میوفتی.
اینا واژگان تخصصی ان، نباید ترجمه بشن.
موارد دیگه که باید رعایت کنید:
✅کانستراکتور نه سازنده.
✅ابجکت نه شی.
✅ابجکت ارینتد نه شی گرا.
✅فانکشنال پروگرمینگ نه برنامه نویسی تابع محور 🤦♂🤦♂😭
✅یونیت تست نه تست واحد.
✅ترد نه نخ🤦♂ مگه سیگاره😂
✅و ... .
خیلی زیادن.
@purecoder_ir
👍14👎5😁2
🔥حامد عزیز توی کانال زیر در مورد دات نت صحبت میکنه و محتواهای خیلی خوبی میگذاره👇
@dndevelop
🔥اگه به دات نت علاقه دارین حتمن عضو کانالش بشین و از محتواهای خوبش استفاده کنید😍
🤓البته بعضی محتوا ها، ازجمله کتاب هایی که ترجمه کرده (مثل کتاب کلین کدش) برای همه میتونه مفید باشه و اختصاص به دات نت نداره.
کلن فعالیتش توی گیتهاب هم زیاده و میتونید یه سری به گیتهابش هم بزنید:
https://github.com/hheydarian
نظر شخصی:
برای دوستانی که میخوان سمت بکند برن و حرفه ای کار کنن، به نظر من کامیونیتی دات نت و نود جی اس توی ایران از نظر عمق دانش یه سر و گردن از بقیه بالاترن.
به کسی برنخوره😅😅🤦♂. این طبق مشاهدات شخصی خودم بوده و کاملن نظر شخصیه و ممکنم هست اشتباه کنم و ایرادی هم نداره و طبق چیزی که دیدم میگم که این دو از نظر عمق دانش افرادی که داخلش کار میکنن از بقیه سرتر هستن. این به معنی بد بودن بقیه نیست. بهتر بودن یه چیز به معنی بد بودن بقیه چیزها نیست😅.
برای کسی که میخواد حرفه ای وارد بکند بشه، من پیشنهاد میکنم حتمن به این دو گزینه به صورت جدی فکر کنه.
کانال حامد رو هم فراموش نکنید.
حتمن بدردتون میخوره.
تازه فعالیتش رو شروع کرده ولی خیلی پرحرارت. حمایتش کنید تا با قدرت ادامه بده.
دیسلایک هم بزنید چون تعریف کردم از دو تا چیز 😂😂😜😜
@dndevelop
🔥اگه به دات نت علاقه دارین حتمن عضو کانالش بشین و از محتواهای خوبش استفاده کنید😍
🤓البته بعضی محتوا ها، ازجمله کتاب هایی که ترجمه کرده (مثل کتاب کلین کدش) برای همه میتونه مفید باشه و اختصاص به دات نت نداره.
کلن فعالیتش توی گیتهاب هم زیاده و میتونید یه سری به گیتهابش هم بزنید:
https://github.com/hheydarian
نظر شخصی:
برای دوستانی که میخوان سمت بکند برن و حرفه ای کار کنن، به نظر من کامیونیتی دات نت و نود جی اس توی ایران از نظر عمق دانش یه سر و گردن از بقیه بالاترن.
به کسی برنخوره😅😅🤦♂. این طبق مشاهدات شخصی خودم بوده و کاملن نظر شخصیه و ممکنم هست اشتباه کنم و ایرادی هم نداره و طبق چیزی که دیدم میگم که این دو از نظر عمق دانش افرادی که داخلش کار میکنن از بقیه سرتر هستن. این به معنی بد بودن بقیه نیست. بهتر بودن یه چیز به معنی بد بودن بقیه چیزها نیست😅.
برای کسی که میخواد حرفه ای وارد بکند بشه، من پیشنهاد میکنم حتمن به این دو گزینه به صورت جدی فکر کنه.
کانال حامد رو هم فراموش نکنید.
حتمن بدردتون میخوره.
تازه فعالیتش رو شروع کرده ولی خیلی پرحرارت. حمایتش کنید تا با قدرت ادامه بده.
دیسلایک هم بزنید چون تعریف کردم از دو تا چیز 😂😂😜😜
@purecoder_ir
GitHub
hheydarian - Overview
ASP.NET Core Developer | .NET Developer | C# Developer - hheydarian
❤8🔥2👌1
😱نشخوار فکری
1⃣تفکر عمیق (Ruminating):
اشتباهات گذشته رو بارها و بارها توی ذهنت مرور میکنی.
2⃣فاجعه سازی(Catastrophizing):
بدترین سناریوی ممکن رو محتمل ترین حالت تصور میکنی.
3⃣فلج تحلیلی (Paralysis by analysis):
بین گزینه ها گیر میکنی و هیچ وقت دست به کار نمیشی.
4⃣ ذهن خوانی (Mind-reading) :
با خودت فرض میکنی که دیگران چی فکر میکنن و اکثرا فکر خوبی نیست.
5⃣در جست وجوی تایید مداوم (Reassurance seeking):
مدام از دیگران میپرسی که آیا کارت رو درست انجام میدی.
6⃣نگرانی از آینده (Future - tripping):
در مورد چیزهایی که ممکنه در آینده اشتباه پیش برن وسواس به خرج میدی.
7⃣مارپیچ مقایسه (Comparison spirals):
زندگی خودت رو با ویترین زندگی دیگران مقایسه میکنی.
1⃣تفکر عمیق (Ruminating):
اشتباهات گذشته رو بارها و بارها توی ذهنت مرور میکنی.
2⃣فاجعه سازی(Catastrophizing):
بدترین سناریوی ممکن رو محتمل ترین حالت تصور میکنی.
3⃣فلج تحلیلی (Paralysis by analysis):
بین گزینه ها گیر میکنی و هیچ وقت دست به کار نمیشی.
4⃣ ذهن خوانی (Mind-reading) :
با خودت فرض میکنی که دیگران چی فکر میکنن و اکثرا فکر خوبی نیست.
5⃣در جست وجوی تایید مداوم (Reassurance seeking):
مدام از دیگران میپرسی که آیا کارت رو درست انجام میدی.
6⃣نگرانی از آینده (Future - tripping):
در مورد چیزهایی که ممکنه در آینده اشتباه پیش برن وسواس به خرج میدی.
7⃣مارپیچ مقایسه (Comparison spirals):
زندگی خودت رو با ویترین زندگی دیگران مقایسه میکنی.
@purecoder_ir
❤8
This media is not supported in your browser
VIEW IN TELEGRAM
جهان - من = ❓
یه بار یه جایی یه سوالی مطرح شد که از نظر شما یه برنامه نویس خوب کیه؟
یه نفر گفت کسیه که خوب بتونه داکیومنت بخونه.
یه نفر گفت کسیه که خوب بتونه از ابزارهای موجود استفاده کنه.
یه نفر دیگه گفت برنامه نویس خوب کسیه که مهارت های نرم خوبی هم در کنار مهارت های فنی داشته باشه.
و ... .
ولی من میگم تعریف از خوب بودن ارتباطی با جایگاه و شغل تو نداره.
❓تاثیر گذار هستی یا نه؟
❓تا حالا چقدر توی بهتر شدن مسیر بقیه ایفای نقش کردی؟
❓بدون وجود تو کارها چقدر سخت میشه؟
❓جهان بدون تو تعریفش تغییر میکنه یا نه؟
✅جهان بدون تو باید یه چیزی کم داشته باشه، ولو به اندازه ی یک اتم.
بقیه چیز ها ابزارهایی هستن که ما در جهت خوب بودن یا بد بودن ازشون استفاده میکنیم، ولی اون ابزارها به خودی خود و به تنهایی تعیین کننده نیستن!! این ما هستیم که ظرف اون ها رو تعیین میکنیم.
داکیومنت، کتاب، هوش مصنوعی، مهارت نرم، معماری، پترن های مختلف و ... ابزارن. تو تعیین میکنی که میتونی با اون ها در جهان تاثیر مثبت بگذاری یا نه؟
یه بار یه جایی یه سوالی مطرح شد که از نظر شما یه برنامه نویس خوب کیه؟
یه نفر گفت کسیه که خوب بتونه داکیومنت بخونه.
یه نفر گفت کسیه که خوب بتونه از ابزارهای موجود استفاده کنه.
یه نفر دیگه گفت برنامه نویس خوب کسیه که مهارت های نرم خوبی هم در کنار مهارت های فنی داشته باشه.
و ... .
ولی من میگم تعریف از خوب بودن ارتباطی با جایگاه و شغل تو نداره.
❓تاثیر گذار هستی یا نه؟
❓تا حالا چقدر توی بهتر شدن مسیر بقیه ایفای نقش کردی؟
❓بدون وجود تو کارها چقدر سخت میشه؟
❓جهان بدون تو تعریفش تغییر میکنه یا نه؟
✅جهان بدون تو باید یه چیزی کم داشته باشه، ولو به اندازه ی یک اتم.
بقیه چیز ها ابزارهایی هستن که ما در جهت خوب بودن یا بد بودن ازشون استفاده میکنیم، ولی اون ابزارها به خودی خود و به تنهایی تعیین کننده نیستن!! این ما هستیم که ظرف اون ها رو تعیین میکنیم.
داکیومنت، کتاب، هوش مصنوعی، مهارت نرم، معماری، پترن های مختلف و ... ابزارن. تو تعیین میکنی که میتونی با اون ها در جهان تاثیر مثبت بگذاری یا نه؟
@purecoder_ir
❤8👍1
میگن مدیرعامل اوراکل شده ثروتمندترین فرد دنیا و ایلان ماسک رو گرفته.
حالا دیگه چطوری توی چشم جاوایی ها نگاه کنیم 😂😂
داستانی شد🤦♂🤦♂😜
حالا دیگه چطوری توی چشم جاوایی ها نگاه کنیم 😂😂
داستانی شد🤦♂🤦♂😜
🤣9😁4