IPC and RPC
فرق بین IPC و RPC چیه؟
احتمالا تا الان RPC رو شنیدید که Remote procedure call هستش و حالا یه فانکشن و قطعه کدی رو از راه دور اجراش می کنه.
اما بیاید از یه دید دیگه به قضیه نگاه کنیم.
توی IPC ما داخل یک سیستم می تونیم بین core های cpu ارتباط برقرار کنیم و در واقع پراسس های مختلف با هم در تماس باشن.
اما توی RPC اتفاقی که میوفته اینه که ما می تونیم با پراسسی که توی یک سیستم دیگه قرار داره ارتباط برقرار کنیم که خب یه تکنولوژی باحال و خیلی خیلی کاربردیه
توضیح کوتاهی که medium داده:
IPC:
روشی که پراسس های موجود توی یک سیستم رو بهشون توانایی تعامل داشتن با همدیگه رو میده
RPC:
یک نوع خاص از ارتباطه که میتونه توی یه سیستم یا اینکه توی شبکه بین سیستم های مختلف باشه
https://medium.com/concepts-for-dummies/ipc-vs-rpc-12001178281f
@khat_academy
فرق بین IPC و RPC چیه؟
احتمالا تا الان RPC رو شنیدید که Remote procedure call هستش و حالا یه فانکشن و قطعه کدی رو از راه دور اجراش می کنه.
اما بیاید از یه دید دیگه به قضیه نگاه کنیم.
توی IPC ما داخل یک سیستم می تونیم بین core های cpu ارتباط برقرار کنیم و در واقع پراسس های مختلف با هم در تماس باشن.
اما توی RPC اتفاقی که میوفته اینه که ما می تونیم با پراسسی که توی یک سیستم دیگه قرار داره ارتباط برقرار کنیم که خب یه تکنولوژی باحال و خیلی خیلی کاربردیه
توضیح کوتاهی که medium داده:
IPC:
روشی که پراسس های موجود توی یک سیستم رو بهشون توانایی تعامل داشتن با همدیگه رو میده
RPC:
یک نوع خاص از ارتباطه که میتونه توی یه سیستم یا اینکه توی شبکه بین سیستم های مختلف باشه
https://medium.com/concepts-for-dummies/ipc-vs-rpc-12001178281f
@khat_academy
Medium
IPC vs RPC
Remote Procedure Call (calling methods remotely at a system)
👍9
🔴 ساخت کلید میانبر برای ران کردن کد درvscode
ما میتونیم برای run python file in terminal کلید میانبر تعریف تعریف کنیم .
1. وارد قسمت file بشید (بالای صفحه سمت چپ گزینه اول)
2.روی گزینه preferencesکلیک کنید .
3.روی گزینه keyboard shortcustکلیک کنید .
4.درقسمت search عبارت run python file in terminalرا تایپ کنید .
5.روی +کنار متن کلیک کنید .
6.پنجره ای براتون باز میشه که ازتون میخواد کلید هایی که مدنظرتون رو وارد کنید
برای مثال من کلید هایctrl+shift+D را وارد کردم (توجه داشته باشید هر دکمه ای که دلتون میخواد رو میتونید وارد کنید )
7.درنهایت enter رو میزنید و براتون ست میشه و میتونین برای ران کردن کدتون از کلید های میانبر استفاده کنید.
@khat_academy
ما میتونیم برای run python file in terminal کلید میانبر تعریف تعریف کنیم .
1. وارد قسمت file بشید (بالای صفحه سمت چپ گزینه اول)
2.روی گزینه preferencesکلیک کنید .
3.روی گزینه keyboard shortcustکلیک کنید .
4.درقسمت search عبارت run python file in terminalرا تایپ کنید .
5.روی +کنار متن کلیک کنید .
6.پنجره ای براتون باز میشه که ازتون میخواد کلید هایی که مدنظرتون رو وارد کنید
برای مثال من کلید هایctrl+shift+D را وارد کردم (توجه داشته باشید هر دکمه ای که دلتون میخواد رو میتونید وارد کنید )
7.درنهایت enter رو میزنید و براتون ست میشه و میتونین برای ران کردن کدتون از کلید های میانبر استفاده کنید.
@khat_academy
👍6
dns.py
2 KB
با پایتون dns های مناسب واسه بازیو استخراج کن 🔥
برای استفاده از برنامه اول کتابخونه هاش رو نصب کنید
بعد از نصب کتاب خونه ها شماره کشور مورد نظر خودتون رو وارد کنید
بعد صبر کنید که برنامه پیغام END رو به شما نشون بده
شما میتونین DNS رو انتخواب کنید که پینگ پایین تری داره
برای استفاده از DNS ها رقم آخر هرچی بود شما یکی بش اضافه کنین و وارد کنید
31.210.69.163
31.210.69.164
موفق باشید
[ارسالی توسط یکی از ممبرای کانال]
@khat_academy
برای استفاده از برنامه اول کتابخونه هاش رو نصب کنید
بعد از نصب کتاب خونه ها شماره کشور مورد نظر خودتون رو وارد کنید
بعد صبر کنید که برنامه پیغام END رو به شما نشون بده
شما میتونین DNS رو انتخواب کنید که پینگ پایین تری داره
برای استفاده از DNS ها رقم آخر هرچی بود شما یکی بش اضافه کنین و وارد کنید
31.210.69.163
31.210.69.164
موفق باشید
[ارسالی توسط یکی از ممبرای کانال]
@khat_academy
❤9👍2
چرا کروم کلی پراسس ایجاد میکنه!؟
خیلیا از کروم ایراد میگیرن و یا کلا ازش استفاده نمی کنن و فکر می کنن خیلی گنگ هستن.
اما خوبی هایی که کروم داره رو در نظر نگرفتن که قراره با هم بررسیش کنیم
برای هر چیز، پراسس جداگونه:
کروم اولین پراسسی که باز میکنه Browser هستش که کاملا مشخصه چیه.
بعدی GPU process که از کارت گرافیک برای کار های گرافیکی استفاده می کنه.
پراسس بعدی Storage service هستش که ذخیره سازی دیتا رو به عهده داره.
همچنین برای هر extension که دارید و new tab که باز میکنید یه پراسس جداگونه هم باز می کنه.
خب سوال اینه همه اینکارا واسه چیه؟
اولین دلیل امنیت هستش
مثلا اگه تو یکی از تب ها شما لینک مخربی رو باز کردید فقط اون پراسس دچار مشکل میشه و اگه بخوان به مثلا پسورد های شما دسترسی پیدا کنن کارشون خیلی سخت میشه چون توی پراسس جدا قرار داره.
دلیل دیگه که میتونم بگم استفاده از چند core هستش که باعث speed up و افزایش سرعت برنامه میشه. در واقع یه برنامه مالتی پراسس رو اجرا می کنه.
#note
@khat_academy
خیلیا از کروم ایراد میگیرن و یا کلا ازش استفاده نمی کنن و فکر می کنن خیلی گنگ هستن.
اما خوبی هایی که کروم داره رو در نظر نگرفتن که قراره با هم بررسیش کنیم
برای هر چیز، پراسس جداگونه:
کروم اولین پراسسی که باز میکنه Browser هستش که کاملا مشخصه چیه.
بعدی GPU process که از کارت گرافیک برای کار های گرافیکی استفاده می کنه.
پراسس بعدی Storage service هستش که ذخیره سازی دیتا رو به عهده داره.
همچنین برای هر extension که دارید و new tab که باز میکنید یه پراسس جداگونه هم باز می کنه.
خب سوال اینه همه اینکارا واسه چیه؟
اولین دلیل امنیت هستش
مثلا اگه تو یکی از تب ها شما لینک مخربی رو باز کردید فقط اون پراسس دچار مشکل میشه و اگه بخوان به مثلا پسورد های شما دسترسی پیدا کنن کارشون خیلی سخت میشه چون توی پراسس جدا قرار داره.
دلیل دیگه که میتونم بگم استفاده از چند core هستش که باعث speed up و افزایش سرعت برنامه میشه. در واقع یه برنامه مالتی پراسس رو اجرا می کنه.
#note
@khat_academy
👍15🔥5👏2❤1
قانون امدال:
بنظرتون اگه بی نهایت core داشته باشیم، می تونیم اجرا شدن یک برنامه رو از مثلا 100 ساعت به یک ساعت برسونیم؟
قانون امدال (AMDAHL) بهمون کمک میکنه تا به جوابمون برسیم.
قبلش بصورت خلاصه بگم serial چیه:
به قسمتی از کد که اصلا توانایی این رو نداره مالتی پراسس بشه رو serial میگیم.
فرمول امدال:
speedup ≤ 1 / (S + ((1 - S) / N) )
S:
عددی بین 0 تا یک که بر اساس حالا بگیم درصد کد های serial هستش.
N:
تعداد core ها.
مثال:
خب بیاید در نظر بگیریم که بیست درصد از کد های ما serial هستش و چهار تا core داریم.
در این صورت میشه:
1 / (0.2 + ((1 - 0.2) / 4)) = 2.5
در این صورت speed up ما میشه دو و نیم برابر و کد ما دو و نیم برابر سریع تر شده.
اما حالا در نظر بگیرید ما 40 تا core داریم، فکر میکنید سرعتمون چقدر افزایش پیدا می کنه؟؟
خب بیاید که حساب کنیم:
1 / (0.2 + ((1 - 0.2) / 40)) = 4.5
بله! speedup ما میشه 4.5 برابر!
احتمالا بر خلاف تصورتون، با افزایش تعداد پراسس ها سرعت ما همش بصورت صعودی افزایش پیدا نمیکنه. در واقع بر اساس درصد serial کد های ما از یه جایی به بعد دیگه سرعت بالا نمیره و فقط بار اضافی بوجود میاد
پست بعدی با نمودار یه سری توضیحات بیشترو میدم
پس قانون امدال چیه؟
قانون Amdahl یک فرموله که بهبود احتمالی عملکرد رو که با اضافه کردن پراسس های بیشتر به یک برنامه که شامل بخشهای ترتیبی (غیرموازی) و موازی است رو میده.
#note
@khat_academy
بنظرتون اگه بی نهایت core داشته باشیم، می تونیم اجرا شدن یک برنامه رو از مثلا 100 ساعت به یک ساعت برسونیم؟
قانون امدال (AMDAHL) بهمون کمک میکنه تا به جوابمون برسیم.
قبلش بصورت خلاصه بگم serial چیه:
به قسمتی از کد که اصلا توانایی این رو نداره مالتی پراسس بشه رو serial میگیم.
فرمول امدال:
speedup ≤ 1 / (S + ((1 - S) / N) )
S:
عددی بین 0 تا یک که بر اساس حالا بگیم درصد کد های serial هستش.
N:
تعداد core ها.
مثال:
خب بیاید در نظر بگیریم که بیست درصد از کد های ما serial هستش و چهار تا core داریم.
در این صورت میشه:
1 / (0.2 + ((1 - 0.2) / 4)) = 2.5
در این صورت speed up ما میشه دو و نیم برابر و کد ما دو و نیم برابر سریع تر شده.
اما حالا در نظر بگیرید ما 40 تا core داریم، فکر میکنید سرعتمون چقدر افزایش پیدا می کنه؟؟
خب بیاید که حساب کنیم:
1 / (0.2 + ((1 - 0.2) / 40)) = 4.5
بله! speedup ما میشه 4.5 برابر!
احتمالا بر خلاف تصورتون، با افزایش تعداد پراسس ها سرعت ما همش بصورت صعودی افزایش پیدا نمیکنه. در واقع بر اساس درصد serial کد های ما از یه جایی به بعد دیگه سرعت بالا نمیره و فقط بار اضافی بوجود میاد
پست بعدی با نمودار یه سری توضیحات بیشترو میدم
پس قانون امدال چیه؟
قانون Amdahl یک فرموله که بهبود احتمالی عملکرد رو که با اضافه کردن پراسس های بیشتر به یک برنامه که شامل بخشهای ترتیبی (غیرموازی) و موازی است رو میده.
#note
@khat_academy
👍7🔥2🥰1
Syntax | سینتکس
قانون امدال: بنظرتون اگه بی نهایت core داشته باشیم، می تونیم اجرا شدن یک برنامه رو از مثلا 100 ساعت به یک ساعت برسونیم؟ قانون امدال (AMDAHL) بهمون کمک میکنه تا به جوابمون برسیم. قبلش بصورت خلاصه بگم serial چیه: به قسمتی از کد که اصلا توانایی این رو نداره…
توضیح:
در این نمودار y مساویه با speedup و x مساویه با تعداد هسته ها.
ایده آل ترین حالت ممکن اینه که توی کد های ما اصلا serial کد وجود نداشته باشه. در این صورت سرعت برنامه ما با اضافه شدن هسته بیشتر و بیشتر تر میشه.
اگه فقط ده درصد serial داشته باشیم توی شونزده هسته سرعت ده برابر میشه و از اون به بعد تفاوت آنچنانی نمیکنه.
اگه پنجاه درصد کد serial باشه از دو برابر بیشتر نمیشه
پس قبل از هر چیزی شما باید بررسی کنید ایا برنامه ی شما اصلا مناسب مالتی پراسس بودن هست یا خیر.
#note
@khat_academy
در این نمودار y مساویه با speedup و x مساویه با تعداد هسته ها.
ایده آل ترین حالت ممکن اینه که توی کد های ما اصلا serial کد وجود نداشته باشه. در این صورت سرعت برنامه ما با اضافه شدن هسته بیشتر و بیشتر تر میشه.
اگه فقط ده درصد serial داشته باشیم توی شونزده هسته سرعت ده برابر میشه و از اون به بعد تفاوت آنچنانی نمیکنه.
اگه پنجاه درصد کد serial باشه از دو برابر بیشتر نمیشه
پس قبل از هر چیزی شما باید بررسی کنید ایا برنامه ی شما اصلا مناسب مالتی پراسس بودن هست یا خیر.
#note
@khat_academy
👍8
۵ لایسنس متن باز محبوب:
1.MIT:
این لایسنس به توسعهدهندگان اجازه میدهد کدهای منبع را بازنشر کرده و تغییراتی روی آنها اعمال کنند، حتی بدون اینکه اون کدو اپن سورسش کنن. این لایسنس محدودیتهای کمتری نسبت به سایر لایسنسها دارد.
2.GNU General Public License (GPL):
تفاوتی که این لایسنس با MIT دارد این است که اگر کدی تحت لایسنس GPL استفاده شود، کدهای منبع تغییر داده شده نیز باید تحت GPL منتشر شوند.
3.Apache:
به توسعهدهندگان اجازه میدهد کدهای خود را بازنشر کرده و تغییراتی روی آنها اعمال کنند. همچنین این لایسنس حقوق برند را نیز حفظ میکند و لایسنسی است که برای پروژههای تجاری نیز مناسب است.
4.BSD:
به توسعهدهندگان اجازه میدهد کدهای خود را بازنشر کرده و تغییراتی روی آنها اعمال کنند. شرایط این لایسنس بسیار ساده و کوتاه است و برخی نسخههای آن حقوق برند را نیز حفظ میکنند.
5.Creative Commons:
این لایسنس بیشتر برای محتوایی مانند مقالات، موسیقی و ... استفاده میشود. این لایسنس به صاحبان حقوق اجازه میدهد تا محتوای خود را با محدودیتهایی مانند نام برده شدن و عدم استفاده تجاری به اشتراک بگذارند.
@khat_academy
1.MIT:
این لایسنس به توسعهدهندگان اجازه میدهد کدهای منبع را بازنشر کرده و تغییراتی روی آنها اعمال کنند، حتی بدون اینکه اون کدو اپن سورسش کنن. این لایسنس محدودیتهای کمتری نسبت به سایر لایسنسها دارد.
2.GNU General Public License (GPL):
تفاوتی که این لایسنس با MIT دارد این است که اگر کدی تحت لایسنس GPL استفاده شود، کدهای منبع تغییر داده شده نیز باید تحت GPL منتشر شوند.
3.Apache:
به توسعهدهندگان اجازه میدهد کدهای خود را بازنشر کرده و تغییراتی روی آنها اعمال کنند. همچنین این لایسنس حقوق برند را نیز حفظ میکند و لایسنسی است که برای پروژههای تجاری نیز مناسب است.
4.BSD:
به توسعهدهندگان اجازه میدهد کدهای خود را بازنشر کرده و تغییراتی روی آنها اعمال کنند. شرایط این لایسنس بسیار ساده و کوتاه است و برخی نسخههای آن حقوق برند را نیز حفظ میکنند.
5.Creative Commons:
این لایسنس بیشتر برای محتوایی مانند مقالات، موسیقی و ... استفاده میشود. این لایسنس به صاحبان حقوق اجازه میدهد تا محتوای خود را با محدودیتهایی مانند نام برده شدن و عدم استفاده تجاری به اشتراک بگذارند.
@khat_academy
👍4❤2🔥1
Django Jwt
مشکلات سینتکسی و امنیتی پروژه جنگویی زیر رو پیدا کنید و توی کامنت بگید:
https://github.com/alireza-fa/django-jwt-auth
توضیح:
این یک پروژه با تمرکز بر روی پیاده سازی یک سیستم احراز هویت امن jwt در جنگو هست که در حال توسعه دادنه.
توکن ها انکریپت شده(AES) سمت فرانت اند ارسال میشوند
وریفای اکانت با ارسال otp کد انجام میشود.
کاربر ها فقط با وارد کردن شماره موبایل و دریافت کد شش رقمی عملیات لاگین رو انجام میدن
#django
@khat_academy
مشکلات سینتکسی و امنیتی پروژه جنگویی زیر رو پیدا کنید و توی کامنت بگید:
https://github.com/alireza-fa/django-jwt-auth
توضیح:
این یک پروژه با تمرکز بر روی پیاده سازی یک سیستم احراز هویت امن jwt در جنگو هست که در حال توسعه دادنه.
توکن ها انکریپت شده(AES) سمت فرانت اند ارسال میشوند
وریفای اکانت با ارسال otp کد انجام میشود.
کاربر ها فقط با وارد کردن شماره موبایل و دریافت کد شش رقمی عملیات لاگین رو انجام میدن
#django
@khat_academy
👍6😱1
اگر توی یک تیم کار میکنید و میخواید اکستنشن هایی که پروژه ی شما داره، بقیه ی تیم هم نصب کنن، یا اگر میخواید پروژه ی گیتهابتون اکستنشن های شما رو هم به برنامه نویس ها پیشنهاد کنه...
فایل
.vscode/extensions.json
رو بسازید و داخلش اسم اکستنشن هایی که برای اون پروژه نیازه رو بنویسید.
وقتی یکی پروژه رو توی vscode باز میکنه، vscode ازش میخواد که این اکستنشن ها رو نصب کنه.
#python
#اکستنشن
@khat_academy
فایل
.vscode/extensions.json
رو بسازید و داخلش اسم اکستنشن هایی که برای اون پروژه نیازه رو بنویسید.
وقتی یکی پروژه رو توی vscode باز میکنه، vscode ازش میخواد که این اکستنشن ها رو نصب کنه.
#python
#اکستنشن
@khat_academy
👍19🔥2
دوستان منبعی میشناسید که تمرینات مقدماتی تا پیشرفته پایتون رو بذاره ؟
اگه میشناسین توکامنتا معرفی کنین
اگه میشناسین توکامنتا معرفی کنین
👀3🌚1
♨️ کتابخانه پایتون چیست؟
📌 کتابخانه پایتون مجموعهای از کدها و توابع از پیش نوشته شده است که مجموعهای از ابزارهای مفید و قابلاستفاده را برای وظایف و اهداف مختلف به کاربران ارائه میدهد.
💢 این کتابخانهها توسط توسعهدهندگان ایجادشدهاند تا با ارائه توابع، کلاسها و ماژولهای از پیش پیادهسازیشده، به سادهسازی و تسریع فرآیند کدنویسی کمک کنند.
📌 کتابخانه های پایتون طیف گستردهای از حوزهها و برنامههای کاربردی را پوشش میدهند، ازجمله موارد زیر:
▪️تجزیهوتحلیل و دستکاری دادهها
▫️محاسبات علمی
▪️یادگیری ماشین و هوش مصنوعی
▫️مصورسازی دادهها
▪️توسعه وب
▫️پردازش زبان طبیعی
▪️توسعه بازی
▫️شبکه و خدمات وب
▪️پایگاههای داده
▫️تست و تضمین کیفیت
#python
#معرفی_کتابخانه
@khat_academy
📌 کتابخانه پایتون مجموعهای از کدها و توابع از پیش نوشته شده است که مجموعهای از ابزارهای مفید و قابلاستفاده را برای وظایف و اهداف مختلف به کاربران ارائه میدهد.
💢 این کتابخانهها توسط توسعهدهندگان ایجادشدهاند تا با ارائه توابع، کلاسها و ماژولهای از پیش پیادهسازیشده، به سادهسازی و تسریع فرآیند کدنویسی کمک کنند.
📌 کتابخانه های پایتون طیف گستردهای از حوزهها و برنامههای کاربردی را پوشش میدهند، ازجمله موارد زیر:
▪️تجزیهوتحلیل و دستکاری دادهها
▫️محاسبات علمی
▪️یادگیری ماشین و هوش مصنوعی
▫️مصورسازی دادهها
▪️توسعه وب
▫️پردازش زبان طبیعی
▪️توسعه بازی
▫️شبکه و خدمات وب
▪️پایگاههای داده
▫️تست و تضمین کیفیت
#python
#معرفی_کتابخانه
@khat_academy
👍12
⌨️ میدونستید VS Code یه مرورگر تو خودش داره؟!
برنامه محبوب VS code یه مرورگر داخلی تو خودش داره که بعضی مواقع میتونه کار راه انداز باشه.
فعالسازیش هم کاری نداره فقط کافیه کلید های زیر رو همزمان باهم بگیرید
Ctrl + Shift + P
بعدش سرچ کن Simple browser و تماام ، آدرس سایت مدنظرتون رو وارد کنید ؛)
#vscode
#python
@khat_academy
برنامه محبوب VS code یه مرورگر داخلی تو خودش داره که بعضی مواقع میتونه کار راه انداز باشه.
فعالسازیش هم کاری نداره فقط کافیه کلید های زیر رو همزمان باهم بگیرید
Ctrl + Shift + P
بعدش سرچ کن Simple browser و تماام ، آدرس سایت مدنظرتون رو وارد کنید ؛)
#vscode
#python
@khat_academy
👏8😱3👍2
چه زمانی از جنگو استفاده کنیم؟
https://virgool.io/liara-ir/%DA%86%D9%87-%D8%B2%D9%85%D8%A7%D9%86%DB%8C-%D8%A7%D8%B2-django-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%DA%A9%D9%86%DB%8C%D9%85-xvqjw5tdzlq5
#Django
@khat_academy
https://virgool.io/liara-ir/%DA%86%D9%87-%D8%B2%D9%85%D8%A7%D9%86%DB%8C-%D8%A7%D8%B2-django-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%DA%A9%D9%86%DB%8C%D9%85-xvqjw5tdzlq5
#Django
@khat_academy
ویرگول
چه زمانی از Django استفاده کنیم؟
انتخاب یک زبان برنامهنویسی و فریمورک برای یک پروژه به دلیل اینکه آخرین پروژه شما با آن زبان و فریمورک انجام شده است و یا حتی به این دلیل…
👍4👎1
چند تا از بهترین کتاب ها درباره ساختمان داده و الگوریتم.
خودم دارم introduction to algorithms رو شروع می کنم
نکات و مطالب جالبش رو براتون پست میکنم(با هشتگ data_structure).
اگه کتاب فارسی میخواید بخونید این دوتا کتابای خوبی هستن:
دادهساختارها و مبانی الگوریتمها
ساختمان داده دکتر ابراهیمی مقدم
#book
@khat_academy
خودم دارم introduction to algorithms رو شروع می کنم
نکات و مطالب جالبش رو براتون پست میکنم(با هشتگ data_structure).
اگه کتاب فارسی میخواید بخونید این دوتا کتابای خوبی هستن:
دادهساختارها و مبانی الگوریتمها
ساختمان داده دکتر ابراهیمی مقدم
#book
@khat_academy
👍4🔥1
دوستان لینک گروهمونه جوین شید
_انتقادات و پیشنهاداتونو بگید
_سوالی داشتین بپرسین و همدیگه رو راهنمایی کنید
https://news.1rj.ru/str/Syntax_fa_group
_انتقادات و پیشنهاداتونو بگید
_سوالی داشتین بپرسین و همدیگه رو راهنمایی کنید
https://news.1rj.ru/str/Syntax_fa_group
Telegram
Syntax group
Syntax group
Channel:
https://news.1rj.ru/str/Syntax_fa
Channel:
https://news.1rj.ru/str/Syntax_fa
🔥6👍1🎉1
Syntax | سینتکس pinned «دوستان لینک گروهمونه جوین شید _انتقادات و پیشنهاداتونو بگید _سوالی داشتین بپرسین و همدیگه رو راهنمایی کنید https://news.1rj.ru/str/Syntax_fa_group»