بخش سایبری کاخ سفید یا همون :
توی یک مقاله که هفته قبل منتشر شده گفته که نرمافزارهای آینده باید به سمت
توی خود این مقاله هم به
The white house oncd blog post
from the report :
Office of the National Cyber Director (ONCD)توی یک مقاله که هفته قبل منتشر شده گفته که نرمافزارهای آینده باید به سمت
memory safe بودن حرکت کنند (لینک مقاله رو میذارم) که همین نکته بازم به نفع جامعه توسعه دهنده Rust شده و خیلی از پوشش های خبری و تحلیلگرهای نرمافزاری فقط Rust رو مثال میزنند در این مورد.توی خود این مقاله هم به
Rust اشاره شده.The white house oncd blog post
from the report :
At this time, the most widely used languages that meet all three properties are C andC++, which are not memory safe programming languages. Rust, one example of a memory safeprogramming language, has the three requisite properties above, but has not yet been proven in space systems.The White House
Press Release: Future Software Should Be Memory Safe
Leaders in Industry Support White House Call to Address Root Cause of Many of the Worst Cyber Attacks Read the full report here WASHINGTON – Today, the White House Office of the National Cyber Director (ONCD) released a report calling on the technical community…
👍9😎3❤1
👍12💯1
👍8
یک سخنرانی جذاب راجب اهمیت Rust روی پروژههای cloud با چاشنی کمی تاریخچه
Cloud Native Computing Foundation Youtube
پ.ن: دقیقه ۲۷ تا ۳۰ خیلی درسته؛ خیلی
Cloud Native Computing Foundation Youtube
پ.ن: دقیقه ۲۷ تا ۳۰ خیلی درسته؛ خیلی
YouTube
The Rustvolution: How Rust Is the Future of Cloud Native - Flynn, Buoyant
Don't miss out! Join us at our next Flagship Conference: KubeCon + CloudNativeCon North America in Salt Lake City from November 12 - 15, 2024. Connect with our current graduated, incubating, and sandbox projects as the community gathers to further the education…
👍6❤4
نشستم با
زمان بندیهاش بسیار جالب شد،
توی پایتون هموار ه حدود ۷ دقیقه زمان میبره
از
و پیادهسازی توی
حتی اگر تفاوت محاسبات بین
دلیلش رو نمیدونم ولی حتماً دنبالش میگردم.
Rust یک تابع محاسباتی رو که جزو فرمولهای شرکت بود پیادهسازی کردم، و آوردمش توی پایتون؛ زمان بندیهاش بسیار جالب شد،
توی پایتون هموار ه حدود ۷ دقیقه زمان میبره
از
numpy که استفاده میکنم، به ۱ دقیقه هم میرسید و پیادهسازی توی
Rust؛ کمتر از ۵ ثانیه شد.حتی اگر تفاوت محاسبات بین
Rust, Python رو درک کنم موضوع و اختلاف سرعت بالای بین Numpy, Rust هنوز برای خودم عجیب هست.دلیلش رو نمیدونم ولی حتماً دنبالش میگردم.
❤27👍7⚡6😁4🤯3
خیلی از بچههای فرانت دولوپری که میشناسم (سنیورها البته) در حال یادگیری
کسی هست که ندونه
ابزارهای جدیدی که به لطف
۱) سبک هست
۲) کامپایل میشه و باینری خواهد بود (خیالتون بابت سورسکد راحت باشه)
۳) یکبار کد میزنید و همهجا استفاده میکنید (درحال حاضر
۴) می تونید اتنخاب کنید با
5) پشتیبانی از
شخصا باهاش کار نکردم و فقط چندتا لایو کد دیدم و البته رضایت کسانی که قبولشون دارم از مسیر پیشرفت پروژهها با
برای آشنایی بیشتر :
https://tauri.app/
حتما نسخه
Rust هستند؛ دیشب فرصت کردم با یکی از این دوستان صحبت کنم که توی تیم توسعه ابزارهای open source زیادی هم بوده و دلیل اصلیش کند بودن هست.کسی هست که ندونه
Electron چقدر افتضاح هست (اما چیز بهتری هم براش نبوده؛ پس قدردان توسعه دهندههاش هستیم).ابزارهای جدیدی که به لطف
Rust داره منتشر میشه؛ موردی که توی این پست داریم بررسی میکنیم Tauri هست چندتا مزیت داره :۱) سبک هست
۲) کامپایل میشه و باینری خواهد بود (خیالتون بابت سورسکد راحت باشه)
۳) یکبار کد میزنید و همهجا استفاده میکنید (درحال حاضر
Desktop, Web اما توی جستجو دیدم که iOS, Android هم pre-release هستند)۴) می تونید اتنخاب کنید با
Javascrip, TypeScript کد بزنید یا Rust5) پشتیبانی از
Vue.js, React.js هم داره.شخصا باهاش کار نکردم و فقط چندتا لایو کد دیدم و البته رضایت کسانی که قبولشون دارم از مسیر پیشرفت پروژهها با
Rust.برای آشنایی بیشتر :
https://tauri.app/
حتما نسخه
Beta v2.0 رو هم ببینید.Tauri
Tauri 2.0
The cross-platform app building toolkit
👍13❤5👎1
یکی از دوستان تو گروه اشاره کردند که کتاب
خیلی کتاب خوبی هست (شخصا نخوندم و درحال مطالعه و بررسی چند منبع دیگه هستم)
اما گفتم شاید دلتون بخواد ویدئویی ببینید؛ ویدئوها مربوط به یک خوانش گروهی آنلاین هست.
Rust for Rustaceans Book Club
کتابخونی خودمون هم توی دور بعدی همین اتفاق براش خواهد افتاد همونطور که قبلتر گفتم (البته هدف پایتون هست اونجا)
Rust for Rustaceans
خیلی کتاب خوبی هست (شخصا نخوندم و درحال مطالعه و بررسی چند منبع دیگه هستم)
اما گفتم شاید دلتون بخواد ویدئویی ببینید؛ ویدئوها مربوط به یک خوانش گروهی آنلاین هست.
Rust for Rustaceans Book Club
کتابخونی خودمون هم توی دور بعدی همین اتفاق براش خواهد افتاد همونطور که قبلتر گفتم (البته هدف پایتون هست اونجا)
👍11❤5👏2🔥1
پروژه
برای من
اگر شما هم دوست داشتید ببینید :
Nicholas Yang - Porting Turborepo From Go To Rust
حتما باقی سخنرانیها رو هم ببینید.
TurboRepo هم از Go-Lang به Rust درحال منتقل شدن هست؛ Rust Nation UK که حدودا ۳ روز قبل برگزار شد خیلی سخنرانیهای خوبی داشت.برای من
TurboRepo اهمیت جذابی داشت؛ چون بسیار بسیار توی HackerRank راجبش صحبت شده بود همچنین توی Reddit خیلی بازخورد داشت این حرکتشوناگر شما هم دوست داشتید ببینید :
Nicholas Yang - Porting Turborepo From Go To Rust
حتما باقی سخنرانیها رو هم ببینید.
YouTube
Nicholas Yang - Porting Turborepo From Go To Rust
Everybody talks about rewriting in Rust, but how do you actually do it? At Vercel, we decided to move Turborepo, our high performance build system for JavaScript and TypeScript, from Go to Rust. We did so by combining careful strategizing, lots of testing…
👍6❤1
کسی
البته پروژهای که فعال باشه همچنان 🤔
module برای کار با cuda توی Rust دیده ؟البته پروژهای که فعال باشه همچنان 🤔
😁6
یکی از جذابترین کتابهایی که توی این مدت برای
بود؛ البته پیشنهاد میکنم از تکنیکی که توی کانال بوتیوب و جلسه اول ویدئوها برای پایتون گفتم استفاده کنید؛ تا با سرعت بیشتر و درک بهتر کتاب رو بخونید.
Rust خوندم کتاب Learn Rust in a month of lunches
بود؛ البته پیشنهاد میکنم از تکنیکی که توی کانال بوتیوب و جلسه اول ویدئوها برای پایتون گفتم استفاده کنید؛ تا با سرعت بیشتر و درک بهتر کتاب رو بخونید.
❤9👍3
توی یوتیوب یک ویدئویی دیدم از این مواردی که آنچه خواهید دید بود؛ و طورف میخواست آموزش Rust بذاره و البته با پروژه
چندسال بود توسعه دهنده Rust بود و همین کدهایی که توی پروداکشن زده بود رو بخشهاییش رو میخواست تبدیل به دوره کنه
چیزی هست که توی یادداشتهام نگه داشتم.
متاسفانه الان پیداش نمیکنم و امروز سررسید تقویم بود برای انتشار این دوره.
کسی این ویدئو رو دیده ؟ خبری از وضعیت این دوره دارید ؟
اگر میشناسید لطفا توی کامنت لینک بدید؛ سپاس
چندسال بود توسعه دهنده Rust بود و همین کدهایی که توی پروداکشن زده بود رو بخشهاییش رو میخواست تبدیل به دوره کنه
Learn rust by doing یا Production ready Rust چیزی هست که توی یادداشتهام نگه داشتم.
متاسفانه الان پیداش نمیکنم و امروز سررسید تقویم بود برای انتشار این دوره.
کسی این ویدئو رو دیده ؟ خبری از وضعیت این دوره دارید ؟
اگر میشناسید لطفا توی کامنت لینک بدید؛ سپاس
👍13❤1👎1
یک پروژه بهم داده شده که بعد از سالهای بسیار (شاید ۸ سال) برای اولین بار پروژه رو از روز اولش هستم.
کدها رو باید توی پایتون انجام بدم؛ معمار سیستم اینطوری فکر میکنه که پایتون توی اسکیل هم جواب میده برای این پروژه خاص. (قطعا جواب میده اما سخت هست یا سختافزار بیشتری میخواد)
شخصا میخوام ۲-۳ ساعت در روزی که وقت دارم + جمعه عصر که زمان استراحتم هست پروژه رو ببرم روی
معمولا اینطوری هست که اگر شرکت به مشکلی بخوره و شما کد بهتر رو توی وقت خالی خودت زده باشی و شرکت هزینه دولوپ از صفر رو نده و مشکلش حل بشه بطور کامل کد رو ازت میخره (اگر به مشکل نخوره که تمرین شده واسه خودت)
البته شخصا قبلا ۱-۲ تا بکند فروختم.
بگذریم؛ این هفته تعطیلات خوبی داره؛ ۴شنبه + ۵شنبه رو بتونم مرخصی بگیرم (شرکتهای مختلف) هدف گذاشتم یک مروری روی
این آخرین هفته دیدن آموزش و مرور و ... هست.
اگر دوست داشتید شما هم این رو تبدیل به چالش کنید و ببینیم ۱ هفته شدنی هست؛ لیست منابعی که دنبال میکنم به ترتیب :
این کتاب واجب نیست ولی چون قبلا خوندم؛ مرورش راحت میشه برام.
البته همینجا اضافه کنم اپل احمق؛ کتابهای
من این موارد رو فقط لازم دارم برای پروژه؛ اگر پکیج یا ... نیاز شد موضوعی میشه و باید آموزش خودش رو ببینم
تا قبل از کتابها هم ویدئوهارو همونطور که توی ویدئو اول یوتبوب (کتابخوانی
پ.ن :
روزانه گزارش میدم اینجا؛ شاید انگیزه شد چندنفر دیگه هم با من بحث آموزش رو تموم کردند و دست به کد شدند.
کدها رو باید توی پایتون انجام بدم؛ معمار سیستم اینطوری فکر میکنه که پایتون توی اسکیل هم جواب میده برای این پروژه خاص. (قطعا جواب میده اما سخت هست یا سختافزار بیشتری میخواد)
شخصا میخوام ۲-۳ ساعت در روزی که وقت دارم + جمعه عصر که زمان استراحتم هست پروژه رو ببرم روی
Rust و یک نسخه برای خودم داشته باشم.معمولا اینطوری هست که اگر شرکت به مشکلی بخوره و شما کد بهتر رو توی وقت خالی خودت زده باشی و شرکت هزینه دولوپ از صفر رو نده و مشکلش حل بشه بطور کامل کد رو ازت میخره (اگر به مشکل نخوره که تمرین شده واسه خودت)
البته شخصا قبلا ۱-۲ تا بکند فروختم.
بگذریم؛ این هفته تعطیلات خوبی داره؛ ۴شنبه + ۵شنبه رو بتونم مرخصی بگیرم (شرکتهای مختلف) هدف گذاشتم یک مروری روی
Rust بکنم برای آخرین بار و از شنبه بعدی فقط حق کد زدن و یادگیری با کد رو به خودم بدم.این آخرین هفته دیدن آموزش و مرور و ... هست.
اگر دوست داشتید شما هم این رو تبدیل به چالش کنید و ببینیم ۱ هفته شدنی هست؛ لیست منابعی که دنبال میکنم به ترتیب :
1- Rust programming full course 2024 2- Rust Tutorial full course3- Learn Rust Together! Going through the book (live)!4- Rust book5- Rust in a month of launchاین کتاب واجب نیست ولی چون قبلا خوندم؛ مرورش راحت میشه برام.
البته همینجا اضافه کنم اپل احمق؛ کتابهای
highlight شدم رو چون ذخیره نکرده بودم توی آپدیت آخر پاک کرد (۱۵ مورد که باز بود توی پس زمینه) کل فایل رو پاک کرده.6- Zero to production in Rustمن این موارد رو فقط لازم دارم برای پروژه؛ اگر پکیج یا ... نیاز شد موضوعی میشه و باید آموزش خودش رو ببینم
تا قبل از کتابها هم ویدئوهارو همونطور که توی ویدئو اول یوتبوب (کتابخوانی
Fluent Python) گفتم پیش میبرم.پ.ن :
روزانه گزارش میدم اینجا؛ شاید انگیزه شد چندنفر دیگه هم با من بحث آموزش رو تموم کردند و دست به کد شدند.
YouTube
Rust Programming Full Course | Learn ⚙️ in 2024 | #rustprogramming #rust
🕒 Duration: 3 hours and 5 minutes
🎓 Instructor: Amir Bekhit
🅿 Support My Channel Through Patreon: https://www.patreon.com/bekbrace
☕ Buy me a coffee: https://ko-fi.com/bekbrace
✅ Become a Channel Member:
/ @BekBrace
✅ Cryptocurrency Donations:
₿ Bitcoin…
🎓 Instructor: Amir Bekhit
🅿 Support My Channel Through Patreon: https://www.patreon.com/bekbrace
☕ Buy me a coffee: https://ko-fi.com/bekbrace
✅ Become a Channel Member:
/ @BekBrace
✅ Cryptocurrency Donations:
₿ Bitcoin…
👍40❤14🔥5❤🔥1
قطعا شما هم همچین کدی رو دیدید :
برای من همش سوال بود؛ چرا از
چیزی پیدا نکردم (چون سوالم طولانی میشه و اومدم داکیومنتهای
قبلتر هم گفتم این ابزارها وقتی بهشون داکیومنت یا اینترنت بدی؛ برای تمرین مصاحبه و یا یادگیری بسیار کاربردی هستند. اما باید با دقت بسیار ازشون استفاده کرد.
use rand::Rng;
fn main() {
let rand_num = rand::thread_rng().gen_range(1..21)
}
برای من همش سوال بود؛ چرا از
rand میریم Rng رو میاریم ولی موقع استفاده Rng رو بیخیال میشیم و از خود rand باید thread_rng رو بیاریم و بعد میتوینم به متد دسترسی بگیریم ؟چیزی پیدا نکردم (چون سوالم طولانی میشه و اومدم داکیومنتهای
Rust رو دادم به مدل هوش مصنوعی و این جوابی بود که بهم داد)You're right to be curious! Let's break down why Rust code uses `Rng` and `rand::thread_rng()` for generating random numbers.
**1. Traits: The Power of Abstraction**
In Rust, traits define shared behavior. Think of them like blueprints or contracts that types can adhere to.
- The `Rng` trait represents anything capable of producing random numbers. It outlines methods like `gen()`, `gen_range()`, and others for generating different kinds of random values.
- By importing `Rng`, you gain access to this blueprint, allowing your code to work with any type that implements the `Rng` trait.
**2. Thread-Local Random Number Generators (RNGs): Ensuring Safety and Efficiency**
* `rand::thread_rng()` is a function that gives you a thread-local RNG. This means each thread in your program has its own independent random number generator, preventing conflicts and ensuring reproducibility within a thread's context.
* Using a thread-local RNG is generally preferred for performance and safety reasons:
* **Performance:** Accessing a global RNG can introduce contention (threads waiting for access) which slows things down. Thread-local RNGs avoid this bottleneck.
* **Safety:** Guarantees that random sequences generated within a thread are independent of other threads, important for scenarios requiring deterministic behavior.
**3. Chaining Methods: Building Randomness**
`rand::thread_rng().gen_range(1..101)` demonstrates method chaining.
* `rand::thread_rng()` returns an instance (a specific realization) of a type that implements the `Rng` trait.
* `.gen_range(1..101)` calls the `gen_range()` method on this RNG instance, specifying a range from 1 to 101 (inclusive). This generates a random integer within that range.
**Key Takeaways:**
- **Traits (`Rng`)**: Provide abstraction for random number generation capabilities.
- **Thread-Local RNGs (`rand::thread_rng()`)**: Ensure thread safety, performance, and independent randomness within threads.
- **Method Chaining**: Allows you to combine methods on the returned `Rng` instance to generate specific types of random values.
قبلتر هم گفتم این ابزارها وقتی بهشون داکیومنت یا اینترنت بدی؛ برای تمرین مصاحبه و یا یادگیری بسیار کاربردی هستند. اما باید با دقت بسیار ازشون استفاده کرد.
👍18😁3👌3❤1
چون ما از پایتون به راست اومدیم من ترجیح میدم همه چیز رو با پایتون
توی دورههای آموزشی که میبینم؛ تقریبا اکثرا
رو میگن iterator در حالی که بعدا میگن که رفتار متفاوتی داره؛ اما با توجه به رفتارهاشون
شما میتونی یک
ولی
مورد بعدی:
اکثرا
که با چیزی که توی پایتون داریم متفاوت هست (توی پایتون این دو مورد تعاریف مختلفی دارند و یکسان نیستند.)
جالب شد
map کنم تا جایی که اجازه میده:توی دورههای آموزشی که میبینم؛ تقریبا اکثرا
.iter(), .into_iter()
رو میگن iterator در حالی که بعدا میگن که رفتار متفاوتی داره؛ اما با توجه به رفتارهاشون
.iter() = iterable in python
.into_iter() = iterator in python
شما میتونی یک
iterable رو چندین بار روش for بزنی و یک رفرنس بهش داری توی راست (دیتا رو نمیتونی تغییر بدی مستفیم)ولی
iterator رو میتونی تغییر بدی اما بعد از تبدیل شدن به iterator دیگه متغییر اولیه رو از دست دادی .into_iter() میره برای owner شدن.مورد بعدی:
اکثرا
closure رو anonymous function تعریف میکنند.که با چیزی که توی پایتون داریم متفاوت هست (توی پایتون این دو مورد تعاریف مختلفی دارند و یکسان نیستند.)
جالب شد
closure هم anonymous هست هم دسترسی به متغیر nonlocal رو داره (هر دو حالت جون یک سینتکس رو داره کلا بهش میگن closure)👍11❤1
Rust for Python developers
یک پروژه بهم داده شده که بعد از سالهای بسیار (شاید ۸ سال) برای اولین بار پروژه رو از روز اولش هستم. کدها رو باید توی پایتون انجام بدم؛ معمار سیستم اینطوری فکر میکنه که پایتون توی اسکیل هم جواب میده برای این پروژه خاص. (قطعا جواب میده اما سخت هست یا سختافزار…
ویدئو اول و دوم تموم شد.
پلی لیست (مورد سوم رو باید شروع کنم) که خب با کتاب همزمان پیش خواهم رفت.
روز خوبی بود ولی سرعتم خیلی کم بود؛ برنامه داشتم حداقل ۸ ساعت اول پلی لیست رو هم ببینم؛ ولی خب با توجه به اینکه چندتا حواسپرتی داشتم و البته کمی کسالت دامن گیرم شده بود.
فکر نمیکنم بد باشه؛ قطعا فردا با انرژی بیشتر شروع میکنم و سعی میکنم ۱۲ فصل اول کتاب و ویدئوها رو همزمان پیش برم.
اما برای دوستانی که میخوان بعدا بخونند:
هر دو ویدئو اول و دوم رو به ترتیب پیشنهاد میکنم
ویدئو اول بعضی از موارد رو توضیح نمیده؛ ویدئو دوم شاید یک خطی ولی بهشون اشاره میکنه و میره جلو.
که اگر با دقت ولی حتی با سرعت 2x ببینید هم متوجهاش خواهید شد و میتونید راجبش جستجو کنید ( یا اینکه مثل من مواردی که سوال بیشتر دارید رو یادداشت کنید و موقع خوندن کتاب اصلی بهش توجه کنید)
پلی لیست (مورد سوم رو باید شروع کنم) که خب با کتاب همزمان پیش خواهم رفت.
روز خوبی بود ولی سرعتم خیلی کم بود؛ برنامه داشتم حداقل ۸ ساعت اول پلی لیست رو هم ببینم؛ ولی خب با توجه به اینکه چندتا حواسپرتی داشتم و البته کمی کسالت دامن گیرم شده بود.
فکر نمیکنم بد باشه؛ قطعا فردا با انرژی بیشتر شروع میکنم و سعی میکنم ۱۲ فصل اول کتاب و ویدئوها رو همزمان پیش برم.
اما برای دوستانی که میخوان بعدا بخونند:
هر دو ویدئو اول و دوم رو به ترتیب پیشنهاد میکنم
ویدئو اول بعضی از موارد رو توضیح نمیده؛ ویدئو دوم شاید یک خطی ولی بهشون اشاره میکنه و میره جلو.
که اگر با دقت ولی حتی با سرعت 2x ببینید هم متوجهاش خواهید شد و میتونید راجبش جستجو کنید ( یا اینکه مثل من مواردی که سوال بیشتر دارید رو یادداشت کنید و موقع خوندن کتاب اصلی بهش توجه کنید)
❤8👏8👍3