ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

Rust for Python developers

Rust for Python developers

الذهاب إلى القناة على Telegram

Rust programming language for python developers یک توسعه دهنده پایتون هستم که سعی میکنم rust یاد بگیرم. تو این مسیر منابع و نظرات شخصی خودم رو با آیندگان هم به اشتراک میذارم اگر به هوش مصنوعی و پایتون علاقه دارید به کانال : @pytens @pyhints سر بزنید.

إظهار المزيد
2 641
المشتركون
+124 ساعات
+47 أيام
+430 أيام
أرشيف المشاركات
کدوم رو ترجیح میدید؟
Anonymous voting

اما مهمترین موارد برای من روی Tauri این بود که؛ نمی‌دونستم توی فرانت چه چیزهایی رو نیاز دارم و نمی‌خواستم توی ورژن اول محدود باشم و با کتابخونه بجنگم. درک خوبی از React برای توسعه نسخه‌های عادی دارم و مهمتر از همه کتابخونه Tauri به بلوغ خیلی خوبی برای این موارد رسیده قابلیت توسعه برای همه‌ی سیستم‌عامل‌ها و البته Android, iOS رو هم داره (برای بعدها) اولش که شروع کردم روزی ۲ ساعت بیشتر نمی‌خواستم وقت بذارم (۱-۲ روز در میون هم نمی‌تونستم روش کار کنم) و الان به ۳-۴ ساعت رسیده؛ البته نه روزانه ولی خب. تقریبا ۳ هفته‌اس که کد زدن رو شروع کردم و همین میزان برای رسیدنش به یک سطح خوب کافی بود که بنظرم اگر Tauri نبود این اتفاق نمیوفتاد همه‌ی این‌ها باهم دلیلی شد که من این فریمورک رو انتخاب کنم (کامیونیتی خوبی هم داره) پینوشت : این پروژه توسط نیروی انسانی نوشته و تست شده از LLM فقط درحد رفع برخی ایرادات Frontend استفاده شده (تخصص من React نیست)‌ اما کمتر از ۲۰٪ کد توسط AI نوشته شده.

روی کانال RandRng پیام دادند که چرا از Tauri دارم استفاده می‌کنم و نه گزینه‌های دیگه گفتم اینجا توضیح بدم. اول اینکه گزینه‌ها
روی کانال RandRng پیام دادند که چرا از Tauri دارم استفاده می‌کنم و نه گزینه‌های دیگه گفتم اینجا توضیح بدم. اول اینکه گزینه‌های دیگه که به جایگاه خوبی رسیده باشند این موارد هست : iced, Dioxus, gpui توی این موارد iced خیلی گزینه‌ی خوبی هست فانکشن‌های زیادی داره و خوبم عمل می‌کنه اما توی فرانت محدودیت UI داره هنوز و البته داکیومنت خیلی عالی‌‌ای برای فیچرهای جزئی نداره؛ مثلا tray panel روی لینوکس یا ... مورد بعدی Dioxus هست؛ قبلا باهاش کار کرده بودم ولی تجربه عجیبی هست کد فرانت رو توی Rust نوشتن و اینکه من به نسخه موبایل هم نیازی نداشتم که مزیت اصلی dioxus هم هست (یک مقداری هم محدودیت UI داره) راجب gpui هم بنظرم از همه موارد سخت‌تره کار کردن باهاش من تاحالا باهاش کار نکردم ولی ادیتور zed با این فریمورک نوشته شده و شخصا syntax اون رو دوس ندارم و البته کتابخونه به بلوغ رسیده‌ای نیست. ادامه پست بعدی

مدتی هست که دارم یک موزیک پلیر توی وقت‌های خالیم برای لینوکس می‌نویسم. روی Tauri v2 هست به این دلیل که همه‌ی کارهایی که با Re
+6
مدتی هست که دارم یک موزیک پلیر توی وقت‌های خالیم برای لینوکس می‌نویسم. روی Tauri v2 هست به این دلیل که همه‌ی کارهایی که با React می‌شه برای فرانت انجام داد رو بهم میده و البته با بکند قدرتمند Rust سرعت خیلی خوبی هم داره برای فیچر‌ها، توی یک مورد دوستان روی ۱۸,۰۰۰ فایل صوتی تستش کردند. برای تست : Files پینوشت: به تصاویر توجه نکنید Theme اضافه شد واز نو کوبیدیم و ساختیم

Repost from RandRng
Cline Desktop (Beta) منتشر شده؛ خوبی این مورد این هست که کاملا open source هست این بنظرم یکی از بزرگترین مزیت‌هاش هست (بخصوص برای من و افرادی مثل من که به شرکت‌های خصوصی با افتضاحات این چندسال اعتماد ندارند) همچنان البته بنظرم لازم هست که یک مقدار ادیت شخصی روش بزنید اما یک نکته خیلی خوبی که داره این هست که با Tauri توسعه داده شده مثل music player ایی که من توسعه دادم (به ورژن ۱ برسه open source می‌کنم چون الان خیلی کثیف هست و فقط قراره کار کنه تو نسخه فعلی) : https://t.me/per3onnel/654 درنهایت کار کردن با Tauri برای اون‌هایی که Rust رو بلد هستند اصلا کار سختی نیست و این پروژه هم تا جایی که من کدهای بکندش رو بررسی کردم خوب و تمیز نوشته شده که برای تمرین و یادگیری هم خیلی گزینه خوبی می‌تونه باشه. توی Tauri یکی از فریمورک‌های معروف فرانت برای ساخت ui استفاده می‌شه و Rust بکند رو بعهده می‌گیره برای همین هم زیبایی رو داره و هم سرعت خیلی بالایی بهتون میده که خب توی این پروژه هم React برای اینکار استفاده شده. این پروژه ارزش بررسی کردن سورس کد رو داره.

Repost from RandRng
می‌دونستید کل ارائه رو می‌تونید به comic book تبدیل کنید ؟ هر مدلی که Image generation داشته باشه (مثال بالا Gemini Notebook
می‌دونستید کل ارائه رو می‌تونید به comic book تبدیل کنید ؟ هر مدلی که Image generation داشته باشه (مثال بالا Gemini Notebook هست) برای کسایی که حافظه تصویری قویتری دارند این روش خیلی جواب هست. پینوشت: سورس دیتای تصویر بخشی از ارائه خودم هست؛ قراره ۱۲-۱۶ ساعت آموزش Axum بدم. بطوریکه از روز بعدش بکند پروژه جدید رو روی Axum شروع به کد زدن کنند و از اونجایی که از درست کردن powerpoint نفرت دارم؛ به ذهنم رسید این کار رو بکنم (چون ۹۰٪ کد هست) برای مواقعی که کد نیست و باید توضیح بدم این بهترین گزینه هست بنظرم.

Saving another 100TB of RAM with math (and Rust) | Cloudflare Blog این پست رو بخونید و لذت ببرید.

طبق تجربه و بررسی شخصی چندین نفر از همکارا و نیروهام : خیلی از کسانی که شروع به خوندن Rust می‌کنند توی ۲ مرحله ازین زبان برنامه‌نویسی خسته می‌شوند و ادامه نمی‌دند: تقریبا ۲ هفته‌ای وقت گرفت تا بتونم دیتای لازم برای این بررسی رو جمع کنم؛ دسته اول که واضح هست و همه جا درموردش صحبت میشه این دسته شامل افرادی هست که Borrowing, Ownership , ... رو متوجه نمی‌شوند یا درست درک نمی‌کنند و بعد از یک مدت از این زبان خسته می‌شوند. اما دسته‌ی دوم خیلی برام جالب بود؛ برای درک بهتر من بصورت رندم چندنفر رو انتخاب کردم و باهم کدهاشون رو Review کردیم. تمام افرادی که برای این بررسی انتخاب کردم همگی افراد با تجربه برنامه‌نویسی بودند (حداقل ۱ سال روی پروداکشن با یک زبان برنامه‌نویسی دیگری کار کرده بودند) نکته جالب این بود که همگی کسایی که از Rust دست کشیده بودند داشتند استاندادرهای زبان‌های برنامه‌نویسی که روش کار کرده بودند رو توی Rust پیاده‌سازی می‌کردند. مثلا: از struct, trait دقیقا مثل class داخل پایتون استفاده می‌کردند و اونطوری می‌دیدنش و همین هم باعث می‌شد هر پروژه‌ای که روش کار می‌کردند بعد از مدتی توسعه کد و زیاد شدن خط کدهاشون به کلی ارورهای کامپایلری بخوره و به همین دلیل هم خارج می‌شدند. اگر توی کانال @pyrust بوده باشید و پست‌های قدیمی رو یادتون باشه؛ من چندین بار گفتم که دوستانی که python رو در سطح متوسط هم اگر هستند به هیچ وجه کتاب Gang of Four رو نخونند چرا که این کتاب نه برای پایتون نوشته شده و نه برای این زمان و این دقیقا همون اتفاقی هست که توی Rust باعث میشه خیلی‌ها از Rust فراری بشوند چون با Design pattern اشتباه دارند کد می‌زنند. بهترین راهکار چیه ؟ خوندن سورس کدهای دیگران؛ بخصوص افرادی که crate های اصلی رو توسعه می‌دند : tokio, serde, axum, actix, sqlx, diesel, clap, ... اینطوری به استانداردها عادت می‌کنید. نکته‌ی بعدی هم که دیدم این بود که خیلی از آموزش‌ها هم این موارد رو یا آموزش نمی‌دند یا بدتر از اون مدرس به این نکات آشنا نیست و توی پروژه دوره از Design pattern های اشتباه استفاده می‌کنه و به همین دلیل دائم توی کد دوره مجبور به پیاده‌سازی تریک‌های عجیب و غریب هست.

https://t.me/per3onnel/548 این پست رو بخونید. چون این کانال اکثرا درحال یادگیری هستیم؛ گفتم شاید مدل استفاده من از LLM ها توی Rust بدرد شما هم بخوره

ترکیب مورد علاقم برای یک ماه گذشته به راحتی
tch-rs axum (0.8 or higher) seaorm / sqlx
پیشنهاد می‌کنم.

Repost from RandRng
LLM قراره جای برنامه نویس‌هارو بگیره ؟ من که کدم رو + دستورالعمل ریفکتور دادم تا برام تمیز کنه و خروجی که توی تصویر هست نصف ب
LLM قراره جای برنامه نویس‌هارو بگیره ؟ من که کدم رو + دستورالعمل ریفکتور دادم تا برام تمیز کنه و خروجی که توی تصویر هست نصف باگ‌های مدل‌های LLM رو من درآوردم باید بهم هزینه پرداخت کنند واقعا پینوشت: تازه ۳۵ دقیقه هم طول کشید. خودم میزدم ۲۰ دقیقه‌ای تموم می‌شد.

GPU kernels in pure Rust (Cuda-Oxide) شرکت nvidia این رپو رو منتشر کرده البته فعلا توی نسخه Alpha هست. اما همین هم حرکت بسیار خوبی به نغع rust هست و باعث میشه فریمورک‌های هوش مصنوعی بتونند راحت‌تر به سمت rust حرکت کنند؛ برای موارد موجود هم می‌تونه کار رو روی Cuda راحت‌تر کنه

Repost from RandRng
یادآوری کنم: نه بنده و نه هیچ کدوم از کانال‌های بنده روی هیچ یک از پلتفرم‌های ایرانی اکانت نداره و نخواهد داشت. ویدئویی، متنی یا ...

Repost from RandRng
یک راهکار این هست که داکر ایمیج رو از یک دوستی که قبلتر pull کرده بگیرید. چون دیدم دوستان خودم این روش رو بلد نیستند گفتم اینجا هم بذارم: سناریو اینطوری هست. من روی registry شخصی خودم این image رو نداشتم و برای راه‌اندازی پروژه یکی از دوستان بهش نیاز داشتم، بعد از تماس با دوست دیگری متوجه شدم اون‌ها هفته قبل موفق به pull کردن این ایمیج شدند و من اینطوری image رو برداشتم فرض کنیم مثلاً postgres:18 رو لازم داشتم روی سروری که ایمیج رو داشتند (بله من از دوستانم دسترسی مستقیم به سرور میگیرم)
docker save postgres:18 | gzip > postgres_dockerimg.tar.gz
بعد این فایل رو با scp از سرور به سیستم خودم، و از سیستم خودم به سروری که ایمیج رو نداشت منتقل می‌کنم و این دستور رو روی اون سیستم میزنم :
docker load < postgres_dockerimg.tar.gz
و تمام حالا image رو روی این سرور دارم و می‌تونم به کارم ادامه بدم، اگر لازم شد می‌تونید با docker tag اسم و اطلاعات image رو تغییر بدید. پینوشت : یک توصیه امنیتی، اگر image رو از کسی یا جایی گرفتید که بهش اعتماد ندارید (۹۹.۹٪ بهتره اعتماد نداشته باشید) اول این دستور رو وارد کنید:
docker image inspect --format='{{.Id}}' postgres:18
خروجی این باید یک sha256 باشه. وارد سایت hub.docker.com بشید (گفتم که سایت کند باز می‌شه ولی pull نمیده چون کلودفلیر بسته‌اس) ایمیج مدنظر رو و تگ درستش رو پیدا کنید وارد جزئیات که بشید Index Digest رو گذاشته باید با چیزی که توی ترمینال دیدید یکسان باشه. اگر نبود image دستکاری شده و بهتره باهاش کانتینر اجرا نکنید.

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

Repost from RandRng
با خبرهایی که از رسانه‌های داخلی درباره اینترنت می‌آید (که خب دیگه طبقاتی شده)، یاد این ویدئوی یوتیوب افتادم؛ درباره بررسی یک گوشی موبایل از کره شمالی و دسترسی به آنچه توسط حکومت کره شمالی اینترنت خوانده می‌شود. Youtube Link (MrWhoseTheBoss)

Repost from RandRng
بازم مرام نت‌بلاکس حداقل صدای ماها هست. نهادهای دولتی‌ شبکه و اینترنت که همه خفه‌خون گرفتن.

Repost from RandRng
از ۱۶ مارس تا امروز که ۳ آپریل هست تصمیم گرفتم بجای اینکه خودم رو درگیر vpn کنم کتاب بخونم. با این وضعیت اینترنت که کلا کار ک
از ۱۶ مارس تا امروز که ۳ آپریل هست تصمیم گرفتم بجای اینکه خودم رو درگیر vpn کنم کتاب بخونم. با این وضعیت اینترنت که کلا کار کردن درش تخته‌‌اس، توی بخش هوش مصنوعی هم که اندازه حداقل یک سال تلاش تا همینجا عقب افتادیم (که قطعاً بیشتر هم میشه) کلی هم که خبر تعدیل و لغو پروژه دارم می‌شنوم از دوستان. خلاصه؛ دیدم جز اعصاب خوردی و ... چیزی برام نداره کلا همه چیز رو کنار گذاشتم و نشستم به یادگیری ولی جالب‌ترین کارش این بود که تعداد صفحاتی که هرروز می‌خونم رو یکجا یادداشت کردم تا ببینم فقط اگه درگیر vpn نباشم چقدر وقت می‌ذارم برای کتاب خوندن، که دیدم توی همین ۱۹ روز (با امروز) ۵۵۸ صفحه کتاب خوندم. جدای از موارد دیگه که ویدئویی دارم یاد میگیرم، خلاصه گفتم همین ۱ ساعت وقتی هم که برای وصل شدن vpn روزانه میذارم رو بیخیال بشم. و ازین سوشال مدیا خدافظی کنم برای مدتی! به امید روزای بهتری که همه منتظرش پیر شدیم. 🌹 کلا پیشنهاد می‌کنم سمت کارهایی که اینترنت نیاز دارند نیاید، بخصوص برنامه‌نویسی. دیوونه می‌شید.

#یادآوری اگر روزی اینترنت بین‌الملل بازشد، این کتاب‌هارو با تصاویر منتشر کنم و درموردشون بنویسم.

چندتا آپدیت و کتاب : نسخه سوم کتاب The Rust Programming Language هم منتشر شد که با edition 2024 زبان Rust آپدیت شده کتاب The Rust Programming Handbook (Francesco Ciulla) رو هم شخصاً خوندم و بنظرم کتاب بسیار روان و عالی برای شروع هست. نسخه سوم کتاب Rust Web Programming (Maxwell Flitton) هم منتشر شده که خب فکر کنم قبلاً راجبش صحبت کردم Early Review انجام دادم برای packt اما راجب Async Rust داشتم با یکی از دوستان صحبت می‌کردم من قبلتر کتاب Async Rust (Maxwell Filtton) رو معرفی کرده بودم که بسیار هم کتاب خوبی هست اما متوجه شدم این دوست بیشتر نیاز داره زیر قضیه رو بشناسه و چون این موارد رو نمی‌دونه باعث میشه درک یک سری مفاهیم توی async Rust براش خیلی سخت باشه اگر شما هم همین شرایط رو دارید کتاب Asynchronous Programming in Rust (Carl Fredrik Samson) رو بهتون معرفی می‌کنم. درنهایت اگر هیچ درکی از async ندارید سراغ توسعه web با Rust نرید.

Rust for Python developers - إحصائيات وتحليلات قناة تيليجرام @pyrust