Rust for Python developers

Description
Rust programming language for python developers

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

اگر به هوش مصنوعی و پایتون علاقه دارید به کانال :
@pytens
@pyhints
سر بزنید.
Advertising
We recommend to visit

𝐈𝐍 𝐆𝐎𝐃 𝐖𝐄 𝐓𝐑𝐔𝐒𝐓 🕋

We comply with Telegram's guidelines:

- No financial advice or scams
- Ethical and legal content only
- Respectful community

Join us for market updates, airdrops, and crypto education!

Last updated 1 month ago

[ We are not the first, we try to be the best ]

Last updated 3 months, 2 weeks ago

FAST MTPROTO PROXIES FOR TELEGRAM

Ads : @IR_proxi_sale

Last updated 2 months, 4 weeks ago

1 Monat, 3 Wochen her

یک چندتا ادیت روی این مورد بدم؛ همونطور که گفتم من تازه داشتم اینجا داکرفایل رو برای پروژه‌ام می‌نوشتم که توی گروه یکی از دوستان سوال پرسید و ترجیح دادم روی نمونه جواب بدم.
اینکه این dockerfile درست هست خوبه یا نه هدف نبود و هدف درک multi\-stage بود.

اما چندتا نکته (بر خلاف دنیای پایتون) :

۱- استفاده از اسم src قطعا اینجا مناسب نیست؛ من حواسم نبود ولی cargo, rustc رو این اسم حساب می‌کنند پس app رو جایگزین کردم

۲- از cargo\-chef استفاده کردم به ۲ دلیل :
۲-۱: توی کد بالا من compile انجام نمیدادم و فقط پکیج‌هارو دانلود میکردم؛ قصدم این بود توی استپ بعدی سراغش برم ولی خب توی بعضی شرایط خاص دردسرش زیاد میشه که الان فرصتش رو نداشتم.
۲-۲: توی همون شرایط و crate های خاص (که اتفاقا یکی از دوستان توی پروژه‌اش بهم نشون داد) باعث میشه قابلیت cache رو از دست بدید؛ دلیل اصلیش رو نمی‌دونم.

۳- بجای استفاده از اداکر ایمیج‌های معرفی شده توسط پروژه cargo\-chef از همون rust:1.82.0 استفاده کردم و فقط یک استیج بیشتر ساختم که دستورات زیر رو داشته باشه :

RUN apt update && apt install lld clang \-y && cargo install cargo\-chef

۴- وقتی sqlx رو توی پروژه دارم؛ توی استیج runtime حتما باید sqlx migrate runtime رو اجرا کنم. (برایحجم کمتر این مورد رو با migrate macro اجرا کردم.

۵- خیلی بهتره موقع استفاده از cargo build —release توی استیج builder باید از فلگ:
—bin
استفاده کنم

نهایتا شد این :

```
FROM rust:1.82.0 AS chef
WORKDIR /app
RUN apt update && apt install lld clang -y && cargo install cargo-chef

FROM chef as planner
COPY . .
RUN cargo chef prepare --recipe-path recipe.json

FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
RUN cargo chef cook --release --recipe-path recipe.json
COPY . .
ENV SQLX_OFFLINE true
RUN cargo build --release --bin XYZ

FROM debian:bookworm-slim AS runtime
WORKDIR /app
RUN apt update -y \
&& apt install -y --no-install-recommends openssl ca-certificates \
&& apt autoremove -y \
&& apt clean -y \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/XYZ XYZ
COPY .env .env
ENTRYPOINT [ "./XYZ" ]
```

1 Monat, 3 Wochen her

بگذارید هرکس به آیین خودش باشد.
زنان را گرامی بدارید.
فرودستان را دریابید.
اجازه دهید هرکسی به تکلم قبیله‌ی خویش سخن بگوید.

آدمی تنها در مقام خویش به منزلت خواهد رسید.

۷ آبان روز بزرگداشت کوروش کبیر، همایون باد.

1 Monat, 4 Wochen her
4 Monate, 3 Wochen her

اگر خواستید یکی رو آزار بدید
بهش بگید

Red\-Black Tree

رو توی Rust پیاده سازی کنه

فکر کنم این عذاب برنامه‌نویس‌های جهنمی باشه ??

5 Monate her

توضیحات مدل :
The error is because &'static str has a static lifetime, which means the string must be valid at compile time. However, when you return an error, you're trying to store a string that's owned by myfunc and will go out of scope as soon as that function returns.
و راه حلش :
You can fix this by changing return Err(&'static ex) to return Err(ex.into_string().as_str()). This will create a new string from the error message using into_string() and then return it with a lifetime that's tied to the current function, which is what you want.

توضیحات دقیق و درست هست و اگر شبی که کد رو داشتم می‌نوشتم این توضیحات رو داشتم قطعا درجا درستش می‌کردم.
اما
چون ازش خواستم که کد کامل رو بهم برگردونه؛ توی این مرحله fail کرد؛ کد رو نوشت و بخشی که توضیح داده بود رو هم درست کرد ولی باقی بخش‌های وابسته کد رو اینکارو نکرد.

ولی با همه اینها GPT4o بعد از ۵ بار فرستادن ارورهای کامپایل خروجی بهم داد و این مدل فقط بعد از ۲ بار فرستادن ارورها.
نکته مهمتر توضیحات خیلی دقیق و درستی می‌داد که این بیشتر باعث تعجب من شده.

و من فقط دارم از Llama3.1 8b quantize 4 استفاده می‌کنم برای اینکار.

بنظرم لایق trophy هست. ?

5 Monate her

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

فقط فرصت کردم؛ نیمی از فصل ۱۵ رو بخونم.
موقع کد زدن برای درک بهتر بعضی مفاهیم بسیار سرچ داشتم ولی خب هدف اصلی کتاب هست.

5 Monate her

یک پروژه بهم داده شده که بعد از سال‌های بسیار (شاید ۸ سال) برای اولین بار پروژه رو از روز اولش هستم. کدها رو باید توی پایتون انجام بدم؛ معمار سیستم اینطوری فکر می‌کنه که پایتون توی اسکیل هم جواب میده برای این پروژه خاص. (قطعا جواب میده اما سخت هست یا سخت‌افزار…

5 Monate her

بیشترین سوالی که ازم شده راجب سرعت خوندن هست؛

روی ویدئو‌ها به سرعت 2x-3x عادت دارم و کندتر ازین نه تنها باعث یادگیری بهترم نمی‌شه که بی‌حوصله‌ام می‌کنه و تمرکزم رو از دست میدم (توی سخت‌ترین مباحث سرعت رو تا 1.75 نهایتا پایین میارم یه مدت انجام بدید عادت می‌کنید)

برای خوندن کتاب و متن سایت و ... هم اگر سرعت خوندن برام مهم باشه (بعضی کتاب‌ها خوندنش لذت بخش هست اونارو اینکارو نمی‌کنم) مثل همین کتابی که روی سایت هست.
از extension های مربوط به fast read استفاده می‌کنم مثلا
Sprint Reader
یا مواردی که برای متن رو بلند می‌خونه Text to speech شماهم اگر ابزار یا تکنیک بهتری میشناسید خوشحال میشم باهام به اشتراک بذارید.

5 Monate, 1 Woche her

یک نکته دیگه وقتی روی چندزبان برنامه نویسی و چندین پروژه تو در تو کار می‌کنیم فقط نصب rust\-analyzer روی vscode کافی نیست و ممکنه گیج بزنه

توی این شرایط بهتره این تنظیمات رو هم به settings.json اضافه کنید.

"[rust]": { "editor.defaultFormatter": "rust\-lang.rust\-analyzer", "editor.formatOnSave": true, "editor.tabSize": 4 },

We recommend to visit

𝐈𝐍 𝐆𝐎𝐃 𝐖𝐄 𝐓𝐑𝐔𝐒𝐓 🕋

We comply with Telegram's guidelines:

- No financial advice or scams
- Ethical and legal content only
- Respectful community

Join us for market updates, airdrops, and crypto education!

Last updated 1 month ago

[ We are not the first, we try to be the best ]

Last updated 3 months, 2 weeks ago

FAST MTPROTO PROXIES FOR TELEGRAM

Ads : @IR_proxi_sale

Last updated 2 months, 4 weeks ago