Neueste Beiträge von Rust for Python developers (@pyrust) auf Telegram

Rust for Python developers Telegram-Beiträge

Rust for Python developers
Rust programming language for python developers

یک توسعه دهنده پایتون هستم که سعی میکنم rust یاد بگیرم.
تو این مسیر منابع و نظرات شخصی خودم رو با آیندگان هم به اشتراک میذارم

اگر به هوش مصنوعی و پایتون علاقه دارید به کانال :
@pytens
@pyhints
سر بزنید.
1,740 Abonnenten
13 Fotos
2 Videos
Zuletzt aktualisiert 06.03.2025 22:23

Der neueste Inhalt, der von Rust for Python developers auf Telegram geteilt wurde.

Rust for Python developers

01 Feb, 19:07

1,855

#5min_Rust

برای نصب rust روی سیستم؛ به rust-lang سر بزنید اگر از لینوکس استفاده می‌کنید ۱ خط دستور رو توی ترمینال می‌زنید؛ اگر اینترنت ضعیف باشه ی چایی بریزی برگردی نصب شده.

اگر روی vs-code کد میزنید؛ بعدش حتما rust-analyzer رو نصب کنید. اگر روی Pycharm کد میزنید که برید یک محصول دیگه رو هم بخرید 😂
اگر روی Neovim هستید هم که؛ چایی دم کردم ناراحت می‌شم جای دیگه برید یک سری به github خودم بزنید.

نصب کنید که از پست بعدی کد هم بزنید.
Rust for Python developers

01 Feb, 18:48

1,750

ازونجایی که بکگراند خیلی‌ها توی کانال python هست ترجیح میدم با چرایی Rust شروع کنم (هرچند برای خودم دلیلی نداشت؛ نشستم کد زدم و لذت بردم و به اینکار ادامه دادم.)

خیلی از پست‌ها ممکنه شوخی توش باشه (خودم اینطوری یادم می‌مونه) و اینکه ممکنه ۱۰۰٪ درست نباشه متن اما برای ساده‌سازی و درک بهتر تصمیم گرفتم از یکسری چیزا بگذرم؛ هرچی پیشرفته تر بشیم بر میگردیم به عقب و اون موارد رو هم تصحیح می‌کنیم.

#5min_Rust

اصن چرا Rust ؟ چرا Chap نه ؟
اسمش از یک قارچ اومده که عملکرد خیلی باحالی داره (بخونید راجبش)

دو مدل مدیریت حافظه داریم:
یا دست خود برنامه‌نویس می‌سپارید و میگیم برو به امان خدا.
یا آشغال جمع‌کنی (garbage collector) می‌ذاریم و می‌گیم اعتمادی به برنامه‌نویس نیست.

حالت اول میشه زبان‌هایی مثل C/C++ و بزرگترین مشکل کدهاش اینه که ی آدرس از یک خونه حافظه داریم که داره به یک جایی اشاره می‌کنه؛ حالا اون نقطه از خونه حافظه رو توی یک بخش دیگه کدهامون اومدیم خالی کردیم (دیتایی نداره).

فرض کن من یک خونه حافظه گرفتم و توی اون حاصل یک سری محاسبات رو بصورت String ذخیره کردم و یک اشاره‌گر به اون خونه حاقظه رو توی کدم دارم (آدرسش رو گرفتم بعدا با بچه‌ها مزاحم بشیم)؛ یک جای دیگه کدهام توی یک تابع دیگه بعدها اومدم اون خونه حاقظه رو گرفتم و یک سری کار باهاش کردم و دوباره ذخیره کردم همونجا؛ بیاید فرض کنیم این کارا که کردم یک پسورد رو براساس String اولیه ساخته.

اون آدرس رو اگر یادم رفته باشه آپدیتش کنم یا ... و هنوز به این خونه حافظه دسترسی داشته باشه اون وقت به فنا رفتم؛ همونطور که دوس ندارید لخت دوس دختر/دوس پسرتون رو کسی ببینه؛ پسورد لختتون رو هم نمی‌خواید با رفقا به خونه حافظه‌اش سر بزنید.

پس یک مشکل اساسی اینجاس (خیلی ساده گفتم کسی یادش نره)

حالت دوم زبان‌هایی مثل Python/Java می‌شه یکی هست به اسم آشغال جمع کن که وقتی خونه حافظه قابل دسترسی نیست یا رفرنس دیگه استفاده اولیه‌اش رو نداره اینارو حذف می‌کنه.
خب مشکلمون حل شد بریم خونمون ؟

مسئله اینجاس که دست دوم زبان‌ها سربار دارند و بدرد کارهای Realtime, Mission Critical نمی‌خورند دسته اول هم که بدرد میخوره وقتی پروژه گنده میشه تا دلتون بخواد باگ می‌کوبه تو صورت دولوپرها.

اما زبان Rust اومد با یک ایده دیگه (با پیاده سازی درست) :
گفت من یک کاری انجام میدم که Garbage Collector نمی‌خوام ولی مموری رو امن میدم در اختیارت که بری عشق کنی.
همه چیز اینجا صاحاب داره و تا صاحابش اجازه نده؛ نگاشم نمی‌تونی بکنی.
همین مورد چندین مشکل رو حل کرد:
۱- دستبرسی به خونه خالی نداریم: null dereferencing
۲- هیچ اشاره‌گری رو معلق نمی‌ذاریم بریم: dangling pointer
۳- اصراف هم نمی‌کنیم چون کار خوبی نیست: buffer overflow

حل همین ۳ تا مشکل باعث شد Rust کلی مرید پیدا کنه. ولی مسئله سرعت اجرا چی ‌میشه ؟ Rust اومد گفت بذارید دولوپر اذیت بشه ولی کاربر نشه چون شما یک کد رو ۱ بار می‌نویسی ولی ممکنه میلیون‌ها بار اجرا بشه پس همه بررسی‌های مربوط به قوانین همه چیز صاحاب داره؛ بی‌صاحابی در زمان کامپایل بررسی میشه.

یعنی چیزی دستت رو نمی‌گیره مگر اینکه قوانین رو رعایت کرده باشی (حالا جلوتر می‌بینیم خودش چقدر خوب مشکلاتت رو بهت می‌گه) چی شد که مریداش سر به بیابان گذاشتن (بله گونه‌های اولیه خشتک به دهان.) هیچی Rust گفت همه هزینه‌هاتون با من شما پرفورمنس C بهت تحویل داده می‌شه.
Rust for Python developers

01 Feb, 15:05

1,703

از امشب شروع کنیم

بخش‌های اول که ساده‌تر هست رو سعی می‌کنم بیشتر بگم (که سریع ازشون بگذریم)

توقع این هست که همگی، با یک زبان برنامه‌نویسی کار کرده باشید توجه کنید صرف اینکه با اون زبان کد زدید اینجا مناسب نیست باید زبان رو درک کرده باشید.

مفاهیم software enginnering رو توی زبان برنامه‌نویسی که باهاش تجربه دارید بخوبی بلد باشید.

اگر این ویژگی رو ندارید، یا Rust اولین زبان برنامه‌نویسی هست که یاد می‌گرید؛ نمی‌گم شدنی نیست ولی قراره روزای سختی رو داشته باشید پس نیاز به انگیزه قوی داره.

نکته آخر: اگر Rust رو برای کسب درآمد و سرکار رفتن می‌خواید، زبان و گزینه خوبی نیست حداقل درحال حاضر در ایران و اروپا.


فکر نکنم نکته دیگه‌ای لازم باشه، همه می‌تونند Rust رو یاد بگیرند.
Rust for Python developers

29 Jan, 07:52

1,782

یک موضوعی از شب قبل رفته توی مغزم
#5min_Rust

بعد پست بالا توی کانال، Intec یکی از بچه‌ها چندتا سوال Rust داشت که تونستم جواب بدم.

وقتی متوجه شدند این کانال وجود داره، پیشنهاد دادند که توی این کانال روزانه یا ... پستهای آموزش Rust بذارم.

از مباحث ساده شروع کنیم.

حقیقتا پیشنهاد خوبی بود (اگر بتونم خوب هم انجامش بدم) متن کوتاه باشه که از حوصله کسی خارج نشه.

و شدنی هم هست، چون برخلاف کانال پایتون که هدف تخصصی صحبت کردن بود.
اینجا هدف شروع مقدمات هست.

نمی‌دونم نهایتاً چی میشه ولی تلاشم رو می‌کنم، امیدوارم چیز خوبی بشه ولی اگر نشد شما بهم بگید 🌹
Rust for Python developers

28 Jan, 20:29

1,193

خیلی هم عالیه :

I love Rust
Rust for Python developers

18 Jan, 17:05

2,205

هفته پیش اولین پروژه Rust خودم رو تحویل دادم.

یک ابزار تحت ترمینال برای آنالیز فایل (تعداد خیلی بالا) بود.
توی پایتون نوشته شده بود، می‌خواستند بیارنش روی Rust و یکسری ویژگی جدید هم بهش اضافه کنند.
هرچند من بعد از خوندن کدها بهشون اطلاع دادم که کد پایتون درست نوشته نشده و همون باعث کند بودن هست و می‌تونم درستش کنم ولی به خواست خودشون رفتم روی Rust امروز تأیید خروجی و تست‌ها و پرداخت انجام شد و شد اولین دستمزد Rust من و سریعترین درآمد مبلغ خوبم از یادگیری زبان برنامه‌نویسی جدید.

البته این درآمد نشه موضوعی برای اینکه برید Rust یادبگیرید، چون قطعاً تجربیات دیگری که داشتم باعث شد این پروژه رو بگیرم.

اما، خواستم این رو بگم که بیشترین کمک رو بهم، خوندن سورس کد دیگران کرد.
مثلاً پروژه Limbo که بالاتر گفتم، خیلی خیلی کمکم کرد که توی ۱ روز تمام دستورات cli پروژه رو بزنم.

ازم درخواست tui کردند که گفتم درحال حاضر وقتش رو ندارم و حقیقتا تا حالا هم tui برای Rust نخوندم.
احتمالاً بعد از خوندن ۲-۳ تا سورس کد دیگری که در دستم هست و تمرین کردنشون برم سراغ یادگیری پکیج‌های tui و بعد از اون Tauri یا Dioxus ولی این موضوع انگیزه شد مضاعف برای ادامه مسیر.
Rust for Python developers

16 Jan, 09:34

1,903

در ادامه تمرین‌های Rust رو آوردم به Dioxus چرا ؟
فقط چون با Rust میشه فرانت‌اند وب زد

البته توی داکیومنتش گفته که از Tauri هم استفاده می‌کنند برای desktop build های مختلفی که دارند و شاید بهتر باشه منم برم سراغ همین تا Tauri (فعلا روی بکند و tui هستم)

https://dioxuslabs.com
Rust for Python developers

04 Jan, 17:51

2,162

تو زندگیم ۲-۳ بار برای پروتوتایپ ایده‌ رفتم سمت Electron و قسم می‌خورم حتی ۲ مورد که سرمایه‌گذار داشته رو بعد از ۲ هفته ازش زدم بیرون چون بنظرم احمقانه بود و بعد از اون هیچوقت فکر نمی‌کردم بخوام برم سراغ اینکار

چندروزی هست دارم روی کار با Tauri وقت میذارم؛ شرکتی که باهاش کار می‌کنم چند وقت یکبار مسابقه ۱-۲ روزه میذاره سر اپتیمایز کردن برنامه‌ها و پروژه‌های موفق و جایزه درخوری هم میده (شرکت کننده‌ها هم براشون ساعت کاری رد میشه) دیگه گفتم ی جایزه‌ای بگیریم سیستم رو جایگزین کنم.

توی همین راستا رسیدم به یک مصاحبه خوب؛ توی این مسابقه طراحی سیستم؛ چرایی انتخاب‌ها و بعد پیاده‌سازی دمو اولیه خیلی مهمه منم از الان شروع کردم روش کار کردن (چون برای اینکه جایزه جواب آپگرید رو بده مجبورم یا تنها پیش برم یا نهایتا تیم رو دونفره ببندم)

Youtube Link

شما جایگزین بهتری می‌شناسید ؟
Rust for Python developers

29 Dec, 20:40

2,006

Fish shell

رو با بازنویسی کامل روی Rust برای نسخه 4 خواهیم داشت.

ازون گیت‌هابای پر از درس هست که خیلی خوب میشه سورس کدش رو خوند.
پروژه Limbo رو که یادتون هست ؟

https://t.me/pyrust/110
Rust for Python developers

29 Dec, 20:34

1,499

https://github.com/pykeras/neovim

بالاخره آماده شد.

تست هم رفتیم با ۸ نفر از دوستان و ۲ تا از بچه‌های گروه خودمون.

فکر می‌کنم خوب باشه.

توی ReadMe اصل داستان رو گفتم؛ نکاتی هم برای آنان که می‌اندیشند وجود داره