👾 Geek Engineers
505 subscribers
47 photos
41 files
300 links
👾 Extremist software engineering guidance for Geeks.

Website:
https://geekengineers.netlify.app

Github:
https://github.com/geekengineers
https://github.com/tahadostifam

Community:
@geek_engineers_community
Download Telegram
عجیب غریب ترین expression های توی Rust :

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;
}

اصلا اینا چرا کار میکنه خدا میدونه😹
13
نمیدونم کی ستاره اهدا کرد. فقط خواستم بگم این اولین باره توی کانال هایی که داشتم کسی ستاره داده. کار هرکی بوده خیلی خیلی دمش گرم😁❤️
112
راجب زبونای Functional در مقایسه با زبونای Imperative.
و تفاوت دیدگاه زبان OCaml برای حل مسائل.

https://www.youtube.com/watch?v=v1CmGbOGb2I
👾3
ویدیو ساخت خودم. میخواستم برا Cyrus بیام Foreach بسازم که. کار کشید به نوشتن runtime inbounds check😂🤌🏿

https://www.youtube.com/watch?v=667xXQbBELs

ادامه ش اینجاس

https://www.youtube.com/watch?v=1P36cFccQn8

فردا نوشتن Foreach رو ادامه میدیم.

اگر این مدل ویدیو (Daily Coding) رو دوس داشتین میتونیم بیشتر رو این قضیه تمرکز کنیم. اگر نه هم که هیچی.

پ.ن: این ویدیو ها برای اشنایی با کلیت پروژه مفیده. اگر کسی بخواد میتونه سورس کد پروژه رو بخونه و با دیدن ویدیو ها بیشتر متوجه شیوه کار کامپایلر مون میشه و موقعیت مشارکت راحت تر میشه خلاصه.
🔥7
یه چیت شیت ۱۰ صفحه ای برای اسمبلی x64

https://cs.brown.edu/courses/cs033/docs/guides/x64_cheatsheet.pdf
1🔥8
اینم یک زبان برنامه نویسی اسوتریک دیگه که من ساختم :)

این یک زبان برنامه نویسی اسوتریک (esoteric) است که محض تفنن و ایجاد انگیزه ساخته شده است. داستان به اونجایی برمیگرده که یکروز اونقدری کامپایلر دیزاین فشار آورد که مجبور شدم صداهای ناهنجاری مث بععععع از خودم روانه کنم :) این زبان رو به عشق برنامه نویس های سیستمی ساختم که فشار روانی زیادی رو تحمل میکنن تا بتونن مکانیزمی رو پیاده سازی و نتیجتا مشکلی رو حل کنند. این زبان رمزی از Brainfuck الهام گرفته شده و همان شیوه instruction هارو شامل میشه. امیدوارم بععععع بععععع کردن موقع کار به بهبود سلامت روان تون کمک کنه و یادتون نره که زندگی هنوزم سرزندگی و خوشحالی رو از دست نداده :)

https://github.com/tahadostifam/Babaism

شما هم به ببئیسم بپیوندید
با ساختن ایشیو در همین ریپازیتوری و با روانه کردن بعععع بععععع میتونین بدون اخذ هیچ هزینه ای در ببئیسم عضو بشید.
🔥12🤣21👍1
زیگ برای async و event loop یه rewrite داشتن چون سازنده ش Andrew Kelley فکر میکرد که به اون خوبی ای نشده که فکرشو میکرد و اومدن آپگرید ش کردن :)

میتونم بگم فوق العاده ست پیاده سازیش. ولی خدایی "async"@ قطعا چیزی نیستش که بهش بتونی بگی سیمپل :) زیگ از simplicity فاصله گرفته.

https://www.youtube.com/watch?v=hEIBsqP63Pg
🆒51
‌آیا 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/>
11🔥6
خب Carbon تا یه حدی نسخه experimental ش تکمیل شده و آماده تست و مشارکت هستش، اگر ++C دوس دارین یه نگاهی بهش بندازین؛ گرچه قبلا هم معرفی ش کرده بودم :)

https://docs.carbon-lang.dev
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