وقتی توی گروها سوال میبینم، از داخلش میشه فهمید باقی افراد روی چه مباحثی مشکل دارند.
مثلاً توی موضوع
میزنند، به اون
درصورتی که این برداشت اشتباه هست
موضوع
توی مثال:
شما میگی این دیتا میتونه
موضوع بعدی قوانین
مثلاً توی موضوع
lifetime متوجه شدم که خیلی از بچهها فکر میکنند, وقتی &’static strمیزنند، به اون
string slice دارن lifetime جدیدی میدهند.درصورتی که این برداشت اشتباه هست
موضوع
lifetime annotation هم مثل موضوع generic هست، شما وقتی میزنی T: Display داری میگی که من دیتایی رو میدم که حتماً Display trait براش پیادهسازی شده.توی مثال:
&’static strشما میگی این دیتا میتونه
lifetime به اندازه طول برنامه داشته باشه، اگر دیتایی بدید که این مقدار lifetime رو نداره کامپایل نمیشه و بهت ارور میدهموضوع بعدی قوانین
lifetime مشخص کردن توی توابع هست (تحت چه شرایطی حتماً lifetime نیازه) که خب بنظرم باشه برای یک پست دیگری.👍11❤4✍1
قطعا اگر با
همیشه هم راهکار ساده هست و با گوگل سرچ اول بدست میاد. شما
سوالی که امروز توی فروم دیدم؛ من که توی مثال بالا غیر از چاپ کردن
بخش اول سوال جوابش بر میگرده به خود
اما بخش دوم؛ سواد
FnOnce : خود
دقیقا هم
برای همین هست که باید توی مثال تصویر؛
multi-threading توی Rust کار کرده باشید؛ حتما این ارور رو دیدید.همیشه هم راهکار ساده هست و با گوگل سرچ اول بدست میاد. شما
move رو قبل از closure میذاری و مشکل حل میشه وقتی هم که سرچ میزنی چرا همه زدند که move بصورت زوری ownership رو میده به closure.سوالی که امروز توی فروم دیدم؛ من که توی مثال بالا غیر از چاپ کردن
counter کاری باهاش نمیکنم پس چرا با reference کار نمی کنه ؟ یا از کجا باید بدونم چه زمان هایی باید از move استفاده کنم ؟بخش اول سوال جوابش بر میگرده به خود
ownership و تفکیک بودن thread ها از هم؛ یادتون باشه توی Rust هر value باید فقط و فقط یک owner داشته باشه که توی threading ممکنه نقض بشه اگر راهکار فعلی براش نبود.اما بخش دوم؛ سواد
closure رو میخواد و ربطی به thread نداره؛ closure هارو به ۳ حالت توی annotation استفاده میکنند.Fn : که بعنوان ورودی یک رفرنس میگیرهFnMut : که بعنوان ورودی یک رفرنس با قابلیت تغییر میگیرهFnOnce : خود
value رو میگیرهدقیقا هم
FnOnce توی ویژگی هایی هست که متد spawn بهش نیاز داره و بررسی می کنه و اسم FnOnce هم برای این Trait کاملا عالی هست؛ چون Ownership اون value رو میگیره و بعد دیگه غیر قابل استفاده میشه.برای همین هست که باید توی مثال تصویر؛
closure رو مجبور کنیم که ownership متغییر counter رو بگیره چراکه خود کلوژر می دونه به reference فقط نیاز داره و Fn براش کفایت می کنه اما spawn نیاز به FnOnce داره برای امن بودن threading, ownership پس با استفاده از move کلوژر رو میبریم روی FnOnce.👍9✍4❤3
من خیلی از این اطلاعات رو در مورد مموری توی
و ... شاید به کار خیلیها نیاد ولی برای
خیلی اتفاقی توی یوتیوب این ویدئو رو شروع کردم و دیدم داره این اطلاعات رو همرو یکجا توضیح میده؛ الان روی دقیقه ۸ هستم و دارم ازین ویدئو لذت میبرم امیدوارم بدرد شما هم بخوره
Youtube Link
بعدش میرم سراغ ۱۵ صفحه
با وجود کم خوابی ۲۴ ساعت گذشته؛ دارم از یادگیری Rust لذت میبرم و همین نمیذاره بخوابم.
Rust مجبور شدم دونه دونه بخونم مثلا اینکه stack: 2MB-8MB
و ... شاید به کار خیلیها نیاد ولی برای
System developer جزو واجبات هست که حداقل یکبار این موارد رو برای زبان برنامهنویسی که کد میزنه ببینه و بررسی کنه.خیلی اتفاقی توی یوتیوب این ویدئو رو شروع کردم و دیدم داره این اطلاعات رو همرو یکجا توضیح میده؛ الان روی دقیقه ۸ هستم و دارم ازین ویدئو لذت میبرم امیدوارم بدرد شما هم بخوره
Youtube Link
بعدش میرم سراغ ۱۵ صفحه
Rust خوندن امروز با وجود کم خوابی ۲۴ ساعت گذشته؛ دارم از یادگیری Rust لذت میبرم و همین نمیذاره بخوابم.
YouTube
Visualizing memory layout of Rust's data types
Covers how a binary is executed, what segments are mapped to memory, the purpose/working of stack and heap memory, and how values of Rust's data types are laid out in memory. The data types that we cover here are integers, char, Vector, slice, String, string…
👍10❤4👏4
Forwarded from Python Hints
توی این هفته freecodecamp دوتا دوره عالی گذاشته؛ این دو مورد ربطی به پایتون نداره اما بدرد خیلیا میخوره بخصوص :
@pytens, @pyrust
اینکه دارم پست رو اینجا میذارم چون متوجه شدم خیلی از بچه ها این کانال فوق العاده رو نمی شناسند و باهاش آشنا نیستند؛ بهونه کردم برای معرفی کانال.
دوره ها کدوم موارد هستند ؟
1- Cuda Programming Course (in C)
2- Linux Device Driver Development (in C)
حقیقتش اینکه این هفته جلسه نداریم؛ برای این هست که از شروع لایوها اولین جمعه ای هست که تسک ندارم و چون ۲ هفته گذشته بسیار بسیار درگیر بودم؛ ترجیح دادم این جمعه رو استراحت کنم و برای این استراحت این ۲ ویدئو رو انتخاب کردم برای دیدن.
امیدوارم شما هم لذت ببرید؛ کانسپت مهم هست.
@pytens, @pyrust
اینکه دارم پست رو اینجا میذارم چون متوجه شدم خیلی از بچه ها این کانال فوق العاده رو نمی شناسند و باهاش آشنا نیستند؛ بهونه کردم برای معرفی کانال.
دوره ها کدوم موارد هستند ؟
1- Cuda Programming Course (in C)
2- Linux Device Driver Development (in C)
حقیقتش اینکه این هفته جلسه نداریم؛ برای این هست که از شروع لایوها اولین جمعه ای هست که تسک ندارم و چون ۲ هفته گذشته بسیار بسیار درگیر بودم؛ ترجیح دادم این جمعه رو استراحت کنم و برای این استراحت این ۲ ویدئو رو انتخاب کردم برای دیدن.
امیدوارم شما هم لذت ببرید؛ کانسپت مهم هست.
YouTube
CUDA Programming Course – High-Performance Computing with GPUs
Lean how to program with Nvidia CUDA and leverage GPUs for high-performance computing and deep learning.
Code:
💻 https://github.com/Infatoshi/cuda-course
💻 https://github.com/Infatoshi/mnist-cuda
Elliot on X - https://x.com/elliotarledge
YouTube - htt…
Code:
💻 https://github.com/Infatoshi/cuda-course
💻 https://github.com/Infatoshi/mnist-cuda
Elliot on X - https://x.com/elliotarledge
YouTube - htt…
❤8👍6
دیروز برای اولین بار یکی از پروژهها رو به انتخاب خودم روی
یک کد کوچیکی داشتیم که زحمتش زو یکی از بچهها کشیده بود، باید خیلی سریع قیمت یک سری سرور رو پیدا میکرد و اگر ارزونتر بود درخواست اجاره سرور رو میداد، بعد خودشون به کاربر اجاره میدهند.
ولی رقیبهای بسیار زیادی داره این موضوع که هیچی به ما نمیرسه و همین باعث شد من وارد پروژه بشم.
خود دولوپر میگفت سرعت پاسخ سرور فروشنده کم هست؛ برای همین کد رو بردیم روی ۳ تا سرور مختلف و با
زمان پاسخ بسیار سریعتر از نسخه پایتون بود وقتی دیتا برامون میومد.
شک کردم سربارهای فریمورکهای پایتون باشه، بجای اینکه فریمورک عوض کنم چون همه چیز
کل زبان برنامهنویسی رو عوض کردم و اومدم روی
خلاصه که الان همه سرورها رو میبینیم و اگر خوشمون نیاد رد میکنیم تا باقی بخرند، برای خودم خیلی جذاب بود گفتم با شما هم به اشتراک بذارم.
یادم باشه
Rust کد زدم.یک کد کوچیکی داشتیم که زحمتش زو یکی از بچهها کشیده بود، باید خیلی سریع قیمت یک سری سرور رو پیدا میکرد و اگر ارزونتر بود درخواست اجاره سرور رو میداد، بعد خودشون به کاربر اجاره میدهند.
ولی رقیبهای بسیار زیادی داره این موضوع که هیچی به ما نمیرسه و همین باعث شد من وارد پروژه بشم.
خود دولوپر میگفت سرعت پاسخ سرور فروشنده کم هست؛ برای همین کد رو بردیم روی ۳ تا سرور مختلف و با
curl درخواست دادیم.زمان پاسخ بسیار سریعتر از نسخه پایتون بود وقتی دیتا برامون میومد.
شک کردم سربارهای فریمورکهای پایتون باشه، بجای اینکه فریمورک عوض کنم چون همه چیز
API بود و سختی نداشت. کل زبان برنامهنویسی رو عوض کردم و اومدم روی
Rust، بعد از اتمام برای اولین بار تونستیم ۷ تا سرور رو بگیریم، یک سرچ دیگه زدم و یک سری optimization flag پیدا کردم که هم حجم فایل نصف شد هم مصرف memory، سرعتمون هم بالاتر رفت.خلاصه که الان همه سرورها رو میبینیم و اگر خوشمون نیاد رد میکنیم تا باقی بخرند، برای خودم خیلی جذاب بود گفتم با شما هم به اشتراک بذارم.
یادم باشه
optimization flag هارو باهاتون به اشتراک بذارم.👍23❤7🔥1
وقتی شروع میکنی از
حقیقتا برای من که درحال یادگیری هستم وقتگیر هست بررسی کردن دونه دونه نتایج و اوایل یادگیری چیزی که برام مهم هست
https://blessed.rs/crates
اصطلاحا به پکیج هایی با ویژگی بالا که گفتم (محبوبیت و نگهداری) میگن
خلاصه که شما هم میتونید ازین استفاده کنید و با خیال راحت
Rust بیشتر و بیشتر استفاده کردن بعضی وقتا بین اینکه از کدوم crates استفاده کنی میمونی مخصوصا اینکه برای هر کلمه کلیدی شاید چند صفحه crate بیاد.حقیقتا برای من که درحال یادگیری هستم وقتگیر هست بررسی کردن دونه دونه نتایج و اوایل یادگیری چیزی که برام مهم هست
maintenance, popularity اون پکیج هست.https://blessed.rs/crates
اصطلاحا به پکیج هایی با ویژگی بالا که گفتم (محبوبیت و نگهداری) میگن
blessed crates و این سایت هم برای همین این اسم رو داره و شده منبع اصلی من برای یافت پکیج های اصلی برای تسکهای مختلف.خلاصه که شما هم میتونید ازین استفاده کنید و با خیال راحت
crate های مورد نیاز رو یاد بگیرید.👍16✍3❤1👏1
ببین چی پیدا کردم؛ واسه مصاحبه الگوریتم به زبان
https://github.com/TheAlgorithms/Rust/blob/master/DIRECTORY.md
Rust برید سراغ این https://github.com/TheAlgorithms/Rust/blob/master/DIRECTORY.md
GitHub
Rust/DIRECTORY.md at master · TheAlgorithms/Rust
All Algorithms implemented in Rust . Contribute to TheAlgorithms/Rust development by creating an account on GitHub.
❤17👍5
Forwarded from Python Hints
بیشترین سوالی که از من میشه، برای پیشرفت چه پروژهای بزنم ؟
یا از کجا بفهمم سطحم برای توسعه پروژه چطوری هست و ...
شاید همین الان هم خود شما درگیر این موضوع باشید، برای بچههای
ولی توی
https://codecrafters.io/
این موضوع رو لذت بخش کرده (سایت پولی هست) بعضی از چلنجها رایگان هست و بر اساس سطح شما چلنج سخت یا آسون میشه.
مثلاً توی پیادهسازی گیت، اگر
اگر هم نتونستید خرید کنید:
۱- ازش ایده بگیرید
۲- توی یوتیوب اسم چالش رو سرچ کنید، ویدئو گذاشتن از مراحله چالشها و حل اونها از نظر سایت هیچ ایرادی که نداره هیچ، تشویق هم میشه.
بازم میگم
یا از کجا بفهمم سطحم برای توسعه پروژه چطوری هست و ...
شاید همین الان هم خود شما درگیر این موضوع باشید، برای بچههای
frontend, mobile ساده هست، مثلا وارد یوتیوب میشن و میزنند Clone X in React
Clone Facebook in React, ....
ولی توی
Python و حالا تمرکز خودم Rust موضوع سختتر هست و ۹۹٪ مواقع مجبور میشیم Source Code بخونیم که به اندازه کد زدن لذت بخش نیست واقعاً https://codecrafters.io/
این موضوع رو لذت بخش کرده (سایت پولی هست) بعضی از چلنجها رایگان هست و بر اساس سطح شما چلنج سخت یا آسون میشه.
مثلاً توی پیادهسازی گیت، اگر
beginner باشید ویژگیها سادهتر هست وقتی Senior شدید میتونید دوباره همون رو تمرین کنید.اگر هم نتونستید خرید کنید:
۱- ازش ایده بگیرید
۲- توی یوتیوب اسم چالش رو سرچ کنید، ویدئو گذاشتن از مراحله چالشها و حل اونها از نظر سایت هیچ ایرادی که نداره هیچ، تشویق هم میشه.
بازم میگم
leetcode برای یادگرفتن و تمرین زبان برنامهنویسی نیست؛ چون دیدم بعضی اساتید به اشتباه leetcode رو پیشنهاد میدهند برای تمرین زبان برنامهنویسی.CodeCrafters
The Software Pro's Best Kept Secret.
Real-world proficiency projects designed for experienced engineers. Develop software craftsmanship by recreating popular devtools from scratch.
❤11👍3
امروز آخرین مصاحبه درخواست همکاریم توی سری اول شرکتهایی که براشون رزومه فرستاده بودم به عنوان
گفتم شاید بد نباشه که تجربیات این ۲-۳ هفته رو در اختیار دوستان بذارم، توجه کنید که هیچکدوم از موقعیتها ایران نبود.
اولین موضوع مشترک توی همه مصاحبهها این بود که بسیار مصاحبههام مفهومی بود، بخش اول مصاحبهها واقعاً تئوری و نحوه عملکرد بخشهای مختلف توی Rust بود
دقیقاً این دوتا مورد ازم سوال شد (دوتا شرکت مختلف) :
https://news.1rj.ru/str/pyrust/77
https://news.1rj.ru/str/pyrust/82
بعد با توجه به پوزیشن شغلی وارد مفاهیم، سیستم یا بکند یا ... میشدیم که خب اینها خیلی وابسته به زبانبرنامهنویسی نبود.
ولی خیلی جالب بود، هیچکدوم سوال الگوریتم و ساختمان داده نپرسیدند (منظورم توی بخش کد زدن هست.)
تمام موارد چون بعنوان
اما توی کد زدن، با اینکه کار رو در میاوردم ولی دستم کند بود وقتی از
چیزی که من متوجه شدم این بود که حداقل برای پوزیشن جونیور و شاید حتی میدلول باید لیست
برای مثال امروز از من توسعه یک ابزار خواستند که ۷-۸ تا آرگومان توی حالات مختلف میگرفت و یک سری لاگ رو بررسی میکرد چه بصورت
تمام منطقی که بهم داده بودند رو پیادهسازی کردم تقریباً هم سریع بودم ولی وقتی رسیدم به استفاده از
چندروز قبل متوجه این قضیه شدم و بعد از اون دیگه قرار مصاحبهای رو قبول نکردم و به سمت
ها رفتم تا نقطه ضعفهام رو تقویت کنم.
دلیل مصاحبه رفتنم هم همین بود، نقاط ضعف خودم رو پیدا کنم.
راستی
Rust developer/software engineer بود.گفتم شاید بد نباشه که تجربیات این ۲-۳ هفته رو در اختیار دوستان بذارم، توجه کنید که هیچکدوم از موقعیتها ایران نبود.
اولین موضوع مشترک توی همه مصاحبهها این بود که بسیار مصاحبههام مفهومی بود، بخش اول مصاحبهها واقعاً تئوری و نحوه عملکرد بخشهای مختلف توی Rust بود
دقیقاً این دوتا مورد ازم سوال شد (دوتا شرکت مختلف) :
https://news.1rj.ru/str/pyrust/77
https://news.1rj.ru/str/pyrust/82
بعد با توجه به پوزیشن شغلی وارد مفاهیم، سیستم یا بکند یا ... میشدیم که خب اینها خیلی وابسته به زبانبرنامهنویسی نبود.
ولی خیلی جالب بود، هیچکدوم سوال الگوریتم و ساختمان داده نپرسیدند (منظورم توی بخش کد زدن هست.)
تمام موارد چون بعنوان
junior rust درخواست پر کرده بودم؛ کسی رو میخواستند که بتونه کد بزنه، من توی بخشی که اونها نیازی نداشتند عملکرد خوبی داشتم System design, Software Architecture, ...اما توی کد زدن، با اینکه کار رو در میاوردم ولی دستم کند بود وقتی از
crate ها قرار بود استفاده کنم.چیزی که من متوجه شدم این بود که حداقل برای پوزیشن جونیور و شاید حتی میدلول باید لیست
crate های مهم رو بلد باشی، چون دقیقاً توی مرحله توسعه کد مصاحبه ازت همچین چیزی میخوان.برای مثال امروز از من توسعه یک ابزار خواستند که ۷-۸ تا آرگومان توی حالات مختلف میگرفت و یک سری لاگ رو بررسی میکرد چه بصورت
file و چه بصورت stdin.تمام منطقی که بهم داده بودند رو پیادهسازی کردم تقریباً هم سریع بودم ولی وقتی رسیدم به استفاده از
clap بسیار سرعتم کند شد چون تا امروز از این crate استفاده نکرده بودم و برای args از خود std استفاده میکردم.چندروز قبل متوجه این قضیه شدم و بعد از اون دیگه قرار مصاحبهای رو قبول نکردم و به سمت
Blessed crate ها رفتم تا نقطه ضعفهام رو تقویت کنم.
دلیل مصاحبه رفتنم هم همین بود، نقاط ضعف خودم رو پیدا کنم.
راستی
clap رو هم کامل خوندم و به اندازه کافی یادگرفتم.Telegram
Rust for Python developers
توی گروهی بحث دیدم راجب تفاوت های :
.iter(), .iter_mut(), .into_iter().
و دیدم انگار خیلی از اعضا تفاوت هاش رو درک نکردن برای همین closure های داخل متدهایی که با iterator میاد رو متوجه نمیشدند.
گفتم بزنم به ریشه و چون کانال خودمم مقدمات هست اینجا هم مطلب…
.iter(), .iter_mut(), .into_iter().
و دیدم انگار خیلی از اعضا تفاوت هاش رو درک نکردن برای همین closure های داخل متدهایی که با iterator میاد رو متوجه نمیشدند.
گفتم بزنم به ریشه و چون کانال خودمم مقدمات هست اینجا هم مطلب…
👍29❤11👏4✍3🔥2👌2🕊2🥰1
میخوام یک منبع معرفی کنم ولی قبلش باید بگم چرا به این نتیجه رسیدم؛
توی دوران نوجوانی بعد از چندسال
نوشتن کرک یا حذف قفل یا حتی فارسی سازی قطعات و ... یک بخش قضیه بود؛ کار با
همیشه همه جا میگم اگر یادگرفتن
توی اسمبلی کار کردن با مموری - شیفت دادن بیت برای اعمال ریاضی و ... همرو باید یاد بگیری چیزهایی که توی خیلی از زبانهای دیگه نیست (هرچند بعضیهاش رو توی دوره یوتیوب پایتون بررسی کردیم)
امروز داشتم کتاب
خلاصه خواستم بگم اگر شما هم توی این بحثها با من بودید و پیش از این گفتم همرو مدیون اسمبلی هستم؛ شما دیگه نیازی نیست سراغ اسمبلی برید میتونید
توی دوران نوجوانی بعد از چندسال
Linux Server Administrator بودن و وقتی تسکها برام تکراری و همگی اسکریپت شده بود رفتم سراغ مباحث امنیتی به مدت هک و امنیت رو خوندم و بعد به Reverse Engineering رو آوردم.نوشتن کرک یا حذف قفل یا حتی فارسی سازی قطعات و ... یک بخش قضیه بود؛ کار با
Assembly یک بحث دیگه (تنها درس دانشگاه که ۲۰ گرفتم هم همین بود بدون استاد و میانترم ببین چه عشقی به کد زدن و خوندن Assembly داشتم)همیشه همه جا میگم اگر یادگرفتن
assembly نبود قطعا زمانی که امنیت کار میکردم بدترین و وقت تلف کنترین بخش حرفهای عمرم بود ولی به لطف اسمبلی یادگرفتن عمرم تلف نشد؛ به همه بچهها هم از یک سطحی به بعد وقتی بهم میگفتن چطوری فلان چیز رو یاد میگری یا بدون خوندن میدونی چه عملکردی باید داشته باشه و ... میگم همش رو مدیون یادگیری اسمبلی هستم شما هم بخون و یاد بگیر.توی اسمبلی کار کردن با مموری - شیفت دادن بیت برای اعمال ریاضی و ... همرو باید یاد بگیری چیزهایی که توی خیلی از زبانهای دیگه نیست (هرچند بعضیهاش رو توی دوره یوتیوب پایتون بررسی کردیم)
امروز داشتم کتاب
Rust in Action رو یک مروری میکردم که دیدم تمام این مقاهیم رو صحبت کرده بسیار سادهتر و البته کاربردی چون همشون رو استفاده میکنه تا توی Rust یک پروژهای رو بزنه (مثلا cpu emulator یا OS نویسی و ...)خلاصه خواستم بگم اگر شما هم توی این بحثها با من بودید و پیش از این گفتم همرو مدیون اسمبلی هستم؛ شما دیگه نیازی نیست سراغ اسمبلی برید میتونید
Rust رو بخونید و بعد برید سراغ Rust in Action مسیر سادهتر؛ کاربردیتر و قطعا جذابتری هست.❤32👍14✍2
یک آپدیت بدم،
توی مقایسه فریمورکهای بکند بین دو مورد
ولی داستان این هست که توی مصاحبهها بسیار کار بیشتری برای
یک حسی مثل
گفتم اطلاع بدم که کسی اشتباه نکنه برای شغل درحال حاضر اولویت رو روی
توی مقایسه فریمورکهای بکند بین دو مورد
Axum, Actix گفتم که شخصاً رفتم سمت axum (اسمش از یک پادشاهی - حکومت اومده فکر کنم چون کلی مطلب تاریخی برام اومده، البته دقیق بررسی نکردم.) ولی داستان این هست که توی مصاحبهها بسیار کار بیشتری برای
actix بود درحالی که وقتی وارد میشدم اکثراً axum رو هم میپرسیدند.یک حسی مثل
Django, FastApi توی پایتون بهم دست داد؛ خلاصه چون بیشاز ۸۰٪ موارد مهم یکسان هست، شخصاً دارم روی هردو فریمورک کار میکنم.گفتم اطلاع بدم که کسی اشتباه نکنه برای شغل درحال حاضر اولویت رو روی
Axum بذاره؛ هرچند توی کارهای من Axum گزینه بهتر هست.👍19🔥3
#Quick
اگر از
الان اومد یک کدی رو بزنم چندتا از
اگر از
vscode برای Rust استفاده میکنید حتما این extension رو نصب کنید که دستورات sql رو براتون وسط کدهای rs به خوبی highlight میکنه ( از حالت str& خالی در میاد)الان اومد یک کدی رو بزنم چندتا از
Sql Query هاش خیلی طولانی و سخت شد بدون highlight خوندنش قطعا آزار دهنده بود با سرچ به این رسیدم و بنظرم گزینه بسیار کمک کننده و عالیای هست.👍14❤3🙏1
Rust for Python developers
#Quick اگر از vscode برای Rust استفاده میکنید حتما این extension رو نصب کنید که دستورات sql رو براتون وسط کدهای rs به خوبی highlight میکنه ( از حالت str& خالی در میاد) الان اومد یک کدی رو بزنم چندتا از Sql Query هاش خیلی طولانی و سخت شد بدون highlight…
توی بعضی شرایط rust-analyzer ممکنه رو دستش بیاد؛ اونوقت highlight به درستی انجام نمیشه اگر اینطوری شد توی تنظیمات
وارد بشید و گزینهاش رو غیر فعال کنید موقتا ( تا آخر پروژه مثلا)
Rust-analyzer > Semantic Highlighting > String
وارد بشید و گزینهاش رو غیر فعال کنید موقتا ( تا آخر پروژه مثلا)
👌6❤2👍2
Rust for Python developers
#Quick اگر از vscode برای Rust استفاده میکنید حتما این extension رو نصب کنید که دستورات sql رو براتون وسط کدهای rs به خوبی highlight میکنه ( از حالت str& خالی در میاد) الان اومد یک کدی رو بزنم چندتا از Sql Query هاش خیلی طولانی و سخت شد بدون highlight…
سر یک موضوع احمقانه ۱ ساعت وقتم رفت.
توی تصویر میبینید که خط رو شکونده دقیقا باید توی rust همینکارو بکنید وگرنه
چیزی که بدون مشکل هست:
خلاصه که حواستون باشه؛ من حتی توی کدهای دیگران هم دیدم این مورد رو.
توی تصویر میبینید که خط رو شکونده دقیقا باید توی rust همینکارو بکنید وگرنه
query درست نیست و بدتر از اون خطایی هم دریافت نمیکنید.r#"--sql SELECT name FROM users;"
چیزی که بدون مشکل هست:
r#"--sql
SELECT name FROM users;
"
خلاصه که حواستون باشه؛ من حتی توی کدهای دیگران هم دیدم این مورد رو.
😐10👍4
#Quick
توی پایتون (باقی زبانها) وقتی کسی بهم میگفت سریعترین راه برای پیشرفت کردن جیه میگفتم یاد بگیر خطاهارو خیلی زود بفهمی.
توی
توی
https://docs.rs/
به راحتی داخلش بچرخی و به راحتی بخونی و درک کنی (چیزی که ندیدم جایی آموزش بده) این موضوع رو توی سنیورهای
ولی برای جونیورها خیلی خیلی سخت هست انگار و اکثرا سمت داکیومنت نمیرن (خیلی دیر این سمتی میروند)
توی پایتون (باقی زبانها) وقتی کسی بهم میگفت سریعترین راه برای پیشرفت کردن جیه میگفتم یاد بگیر خطاهارو خیلی زود بفهمی.
توی
Rust این موضوع صادق نیست چون کامپایلر خیلی دقیق خطارو میکوبه تو صورتت اما یک چیز معادل داریم که توی تجربه این مدت بهش رسیدم.توی
Rust برای پیشرفت سریعتر باید یادبگیری داکیومنت اون crate ایی که داری باهاش کار میکنی رو توی سایت https://docs.rs/
به راحتی داخلش بچرخی و به راحتی بخونی و درک کنی (چیزی که ندیدم جایی آموزش بده) این موضوع رو توی سنیورهای
Rust به خوبی میشه دید سریعا متدهای struct, enum, ... رو پیدا میکنند trait هایی که باید پیادهسازی بشه و نحوه استفاده و ... ولی برای جونیورها خیلی خیلی سخت هست انگار و اکثرا سمت داکیومنت نمیرن (خیلی دیر این سمتی میروند)
👍29😁1
مصاحبه شرکتی در کره جنوبی رو قبول شدم.
روزی که
اول هفته درگیر ارسال مدارک بودم و امروز تماس تصویری داشتم و نتیجه :
روزی که
Rust رو شروع کردم و بابت کاری که میخوام انجام بدم کره جنوبی رو مقصد انتخاب کردم؛ با هدف یادگیری بیشتر.اول هفته درگیر ارسال مدارک بودم و امروز تماس تصویری داشتم و نتیجه :
متاسفانه امکان ادامه پروسه همکاری با شما را نخواهیم داشت.
شما درگیر جنگ هستید؛ دسترسی به شما سخت خواهد بود.
امیدواریم زودتر به صلح دست پیدا کنید.
به پیشرفت ادامه بده.
💔76😁14🗿5🤣4🤯2😢2😡2❤1😨1
Rust for Python developers
مصاحبه شرکتی در کره جنوبی رو قبول شدم. روزی که Rust رو شروع کردم و بابت کاری که میخوام انجام بدم کره جنوبی رو مقصد انتخاب کردم؛ با هدف یادگیری بیشتر. اول هفته درگیر ارسال مدارک بودم و امروز تماس تصویری داشتم و نتیجه : متاسفانه امکان ادامه پروسه همکاری با…
کد زدن بعد ی همچین شرایطی واقعا سخت هست مخصوصا اینکه هم هدفم بود هم خیلی روش حساب کرده بودم.
ولی
ما دیگه عادت کردیم.
شب قبل با یک
ولی
ما دیگه عادت کردیم.
شب قبل با یک
crate به اسم secrecy آشنا شدم بسیار عالی هست (نیازی نیست خودتون دیتاهای مهم رو mask کنید.)👍13😁6❤4💔2