عجیب غریب ترین expression های توی Rust :
https://www.wakunguma.com/blog/rust-weird-expr
یک نمونه ش :
اصلا اینا چرا کار میکنه خدا میدونه😹
https://www.wakunguma.com/blog/rust-weird-expr
یک نمونه ش :
fn infcx() {
pub mod cx {
pub mod cx {
pub use super::cx;
pub struct Cx;
}
}
let _cx: cx::cx::Cx = cx::cx::cx::cx::cx::Cx;
}
اصلا اینا چرا کار میکنه خدا میدونه😹
Wakunguma
Weird expressions in rust
Explore weird quirks of rusts type system
1❤3
نمیدونم کی ستاره اهدا کرد. فقط خواستم بگم این اولین باره توی کانال هایی که داشتم کسی ستاره داده. کار هرکی بوده خیلی خیلی دمش گرم😁❤️
1❤12
راجب زبونای Functional در مقایسه با زبونای Imperative.
و تفاوت دیدگاه زبان OCaml برای حل مسائل.
https://www.youtube.com/watch?v=v1CmGbOGb2I
و تفاوت دیدگاه زبان OCaml برای حل مسائل.
https://www.youtube.com/watch?v=v1CmGbOGb2I
YouTube
Why OCaml
A summary of why Jane Street uses OCaml, including a discussion of how OCaml fits into the broader space of programming languages. Given to our summer interns.
👾3
ویدیو ساخت خودم. میخواستم برا Cyrus بیام Foreach بسازم که. کار کشید به نوشتن runtime inbounds check😂🤌🏿
https://www.youtube.com/watch?v=667xXQbBELs
ادامه ش اینجاس
https://www.youtube.com/watch?v=1P36cFccQn8
فردا نوشتن Foreach رو ادامه میدیم.
اگر این مدل ویدیو (Daily Coding) رو دوس داشتین میتونیم بیشتر رو این قضیه تمرکز کنیم. اگر نه هم که هیچی.
پ.ن: این ویدیو ها برای اشنایی با کلیت پروژه مفیده. اگر کسی بخواد میتونه سورس کد پروژه رو بخونه و با دیدن ویدیو ها بیشتر متوجه شیوه کار کامپایلر مون میشه و موقعیت مشارکت راحت تر میشه خلاصه.
https://www.youtube.com/watch?v=667xXQbBELs
ادامه ش اینجاس
https://www.youtube.com/watch?v=1P36cFccQn8
فردا نوشتن Foreach رو ادامه میدیم.
اگر این مدل ویدیو (Daily Coding) رو دوس داشتین میتونیم بیشتر رو این قضیه تمرکز کنیم. اگر نه هم که هیچی.
پ.ن: این ویدیو ها برای اشنایی با کلیت پروژه مفیده. اگر کسی بخواد میتونه سورس کد پروژه رو بخونه و با دیدن ویدیو ها بیشتر متوجه شیوه کار کامپایلر مون میشه و موقعیت مشارکت راحت تر میشه خلاصه.
YouTube
میخواستم foreach برای زبانم درست کنم ولی کار به جاهای باریک کشید
🔥7
یه چیت شیت ۱۰ صفحه ای برای اسمبلی x64
https://cs.brown.edu/courses/cs033/docs/guides/x64_cheatsheet.pdf
https://cs.brown.edu/courses/cs033/docs/guides/x64_cheatsheet.pdf
1🔥8
اینم یک زبان برنامه نویسی اسوتریک دیگه که من ساختم :)
این یک زبان برنامه نویسی اسوتریک (esoteric) است که محض تفنن و ایجاد انگیزه ساخته شده است. داستان به اونجایی برمیگرده که یکروز اونقدری کامپایلر دیزاین فشار آورد که مجبور شدم صداهای ناهنجاری مث بععععع از خودم روانه کنم :) این زبان رو به عشق برنامه نویس های سیستمی ساختم که فشار روانی زیادی رو تحمل میکنن تا بتونن مکانیزمی رو پیاده سازی و نتیجتا مشکلی رو حل کنند. این زبان رمزی از Brainfuck الهام گرفته شده و همان شیوه instruction هارو شامل میشه. امیدوارم بععععع بععععع کردن موقع کار به بهبود سلامت روان تون کمک کنه و یادتون نره که زندگی هنوزم سرزندگی و خوشحالی رو از دست نداده :)
https://github.com/tahadostifam/Babaism
شما هم به ببئیسم بپیوندید
با ساختن ایشیو در همین ریپازیتوری و با روانه کردن بعععع بععععع میتونین بدون اخذ هیچ هزینه ای در ببئیسم عضو بشید.
این یک زبان برنامه نویسی اسوتریک (esoteric) است که محض تفنن و ایجاد انگیزه ساخته شده است. داستان به اونجایی برمیگرده که یکروز اونقدری کامپایلر دیزاین فشار آورد که مجبور شدم صداهای ناهنجاری مث بععععع از خودم روانه کنم :) این زبان رو به عشق برنامه نویس های سیستمی ساختم که فشار روانی زیادی رو تحمل میکنن تا بتونن مکانیزمی رو پیاده سازی و نتیجتا مشکلی رو حل کنند. این زبان رمزی از Brainfuck الهام گرفته شده و همان شیوه instruction هارو شامل میشه. امیدوارم بععععع بععععع کردن موقع کار به بهبود سلامت روان تون کمک کنه و یادتون نره که زندگی هنوزم سرزندگی و خوشحالی رو از دست نداده :)
https://github.com/tahadostifam/Babaism
شما هم به ببئیسم بپیوندید
با ساختن ایشیو در همین ریپازیتوری و با روانه کردن بعععع بععععع میتونین بدون اخذ هیچ هزینه ای در ببئیسم عضو بشید.
GitHub
GitHub - tahadostifam/Babaism: پکیج درمانی ببئیسم برای سیستم پروگرمر ها و سایرین
پکیج درمانی ببئیسم برای سیستم پروگرمر ها و سایرین. Contribute to tahadostifam/Babaism development by creating an account on GitHub.
🔥12🤣2❤1👍1
زیگ برای async و event loop یه rewrite داشتن چون سازنده ش Andrew Kelley فکر میکرد که به اون خوبی ای نشده که فکرشو میکرد و اومدن آپگرید ش کردن :)
میتونم بگم فوق العاده ست پیاده سازیش. ولی خدایی "async"@ قطعا چیزی نیستش که بهش بتونی بگی سیمپل :) زیگ از simplicity فاصله گرفته.
https://www.youtube.com/watch?v=hEIBsqP63Pg
میتونم بگم فوق العاده ست پیاده سازیش. ولی خدایی "async"@ قطعا چیزی نیستش که بهش بتونی بگی سیمپل :) زیگ از simplicity فاصله گرفته.
https://www.youtube.com/watch?v=hEIBsqP63Pg
YouTube
Did Zig Fix Async / Await?
Twitch https://twitch.tv/ThePrimeagen
Discord https://discord.gg/ThePrimeagen
Become Backend Dev: https://boot.dev/prime
(plus i make courses for them)
This is also the best way to support me is to support yourself becoming a better backend engineer. …
Discord https://discord.gg/ThePrimeagen
Become Backend Dev: https://boot.dev/prime
(plus i make courses for them)
This is also the best way to support me is to support yourself becoming a better backend engineer. …
🆒5❤1
مثال هایی از error polymorphism در زبان های مختلف Java, C#, Rust, Zig, Koka
https://www.youtube.com/watch?v=OcyijYJq18s
https://www.youtube.com/watch?v=OcyijYJq18s
YouTube
Error polymorphism in Java, C#, Koka, Rust, & Zig
Note: I've updated the Zig code in the repo, because I should have tried the easy thing first. I didn't expect it to, but standard error set inference using `![]const u8` on mapJoin just works here.
Code: https://github.com/contextfreecode/errorpoly/
0:00…
Code: https://github.com/contextfreecode/errorpoly/
0:00…
🔥5
Forwarded from DevTwitter | توییت برنامه نویسی
آیا async/await همیشه مفیده؟ نه دقیقاً!
توی یکی از پروژههای ما با ترافیک بالا، همهی endpointها بهصورت async نوشته شده بودن.
ولی با وجود کد تمیز و async بودن کامل، سیستم دچار ThreadPool starvation شده بود و latency بهشدت بالا رفته بود.
بررسی کردیم و دیدیم: async بهصورت blanket روی همه مسیرها اجرا شده، حتی روی عملیاتهای CPU-bound یا توی حلقههای ریز و پرتکرار.
حالا async ابزار خیلی خوبیه، ولی:
- روی CPU-bound = بدتر شدن عملکرد
- توی حلقههای tight = هزینه context switching اضافی
توصیه:
فقط عملیاتهای I/O واقعی (مثل DB, HTTP, File IO) ارزش async دارن
چیکار کردیم؟
؛ endpointهایی که واقعاً I/O-bound بودن، async موندن
بقیهی مسیرها برگشتن به sync
و با این تغییر ساده، latency تقریباً نصف شد (بر اساس لاگهای واقعی)
ابزار:
من برای این تحلیل از ابزارهایی مثل MiniProfiler و لاگهای دقیق Serilog کمک گرفتم.
جمعبندی:
تجربه نشون میده async فقط یه keyword نیست.
یه تصمیم مهندسیه، که اگه بیدلیل و همهجا استفاده بشه، میتونه قاتل performance باشه.
@DevTwitter | <Bahare Zarei/>
توی یکی از پروژههای ما با ترافیک بالا، همهی endpointها بهصورت async نوشته شده بودن.
ولی با وجود کد تمیز و async بودن کامل، سیستم دچار ThreadPool starvation شده بود و latency بهشدت بالا رفته بود.
بررسی کردیم و دیدیم: async بهصورت blanket روی همه مسیرها اجرا شده، حتی روی عملیاتهای CPU-bound یا توی حلقههای ریز و پرتکرار.
حالا async ابزار خیلی خوبیه، ولی:
- روی CPU-bound = بدتر شدن عملکرد
- توی حلقههای tight = هزینه context switching اضافی
توصیه:
فقط عملیاتهای I/O واقعی (مثل DB, HTTP, File IO) ارزش async دارن
چیکار کردیم؟
؛ endpointهایی که واقعاً I/O-bound بودن، async موندن
بقیهی مسیرها برگشتن به sync
و با این تغییر ساده، latency تقریباً نصف شد (بر اساس لاگهای واقعی)
ابزار:
من برای این تحلیل از ابزارهایی مثل MiniProfiler و لاگهای دقیق Serilog کمک گرفتم.
جمعبندی:
تجربه نشون میده async فقط یه keyword نیست.
یه تصمیم مهندسیه، که اگه بیدلیل و همهجا استفاده بشه، میتونه قاتل performance باشه.
@DevTwitter | <Bahare Zarei/>
❤11🔥6
خب Carbon تا یه حدی نسخه experimental ش تکمیل شده و آماده تست و مشارکت هستش، اگر ++C دوس دارین یه نگاهی بهش بندازین؛ گرچه قبلا هم معرفی ش کرده بودم :)
https://docs.carbon-lang.dev
https://docs.carbon-lang.dev
Carbon Language documentation
Home
An experimental successor to C++
❤10
learning.python.pdf
20.2 MB
Learning Python: Powerful Object-Oriented Programming, 5th edition (2013)
❤2👍2
ProgAbs.pdf
8 MB
Programming Abstractions in C++
اون کتاب قبلیه زیادی مقدماتی بود. این یکی یکم بهتره =)
فصل ۶ و ۷ و ۸ راجب انتزاعات در الگوریتم ها هستش و خوندنش رو پیشنهاد میکنم.
اون کتاب قبلیه زیادی مقدماتی بود. این یکی یکم بهتره =)
فصل ۶ و ۷ و ۸ راجب انتزاعات در الگوریتم ها هستش و خوندنش رو پیشنهاد میکنم.
❤5