برای اولین باز :
شخصا این کتاب رو هنوز نخوندم (۲ فصل فقط)
با توجه به مطالب اخیر؛ سوالات زیادی برام اومده راجب معرفی منبع! و خیلی از دوستان خواستند که هرچه زودتر این اتفاق بیوفته.
این کتاب رو یکی از دوستان به من هدیه داده (که خب هنوز وقت نکردم خوندنش رو کامل کنم) توی کانال @pyrust درگیری این مدتم رو نوشتم.
اما چون خودش خونده و بسیار تعریف میکرد؛ منم توی یک مرور سریع دیدم راجب بسیاری از مفاهیم مهم به خوبی صحبت شده گفتم معرفی کنم.
برای اونهایی که واقعا نیاز دارند به این موضوعات درحال حاضر پیشنهادش میکنم. اما اگر کتابهای دیگه که معرفی شده رو نخوندید میتونید صبر کنید تا شخصا کتاب رو بخونم و بعد نظر دقیقتر بدم!
به همین دلیل این پست رو هشتگ نمیزنم که قاطی باقی کتابهای اصلی نشه!
شخصا این کتاب رو هنوز نخوندم (۲ فصل فقط)
با توجه به مطالب اخیر؛ سوالات زیادی برام اومده راجب معرفی منبع! و خیلی از دوستان خواستند که هرچه زودتر این اتفاق بیوفته.
این کتاب رو یکی از دوستان به من هدیه داده (که خب هنوز وقت نکردم خوندنش رو کامل کنم) توی کانال @pyrust درگیری این مدتم رو نوشتم.
اما چون خودش خونده و بسیار تعریف میکرد؛ منم توی یک مرور سریع دیدم راجب بسیاری از مفاهیم مهم به خوبی صحبت شده گفتم معرفی کنم.
برای اونهایی که واقعا نیاز دارند به این موضوعات درحال حاضر پیشنهادش میکنم. اما اگر کتابهای دیگه که معرفی شده رو نخوندید میتونید صبر کنید تا شخصا کتاب رو بخونم و بعد نظر دقیقتر بدم!
به همین دلیل این پست رو هشتگ نمیزنم که قاطی باقی کتابهای اصلی نشه!
❤🔥19❤12
#Quick
یکی از دلایل خوب استفاده از
پروژهای رو داشتم که هنوز از
بعد بنده خدا مدیر شرکت میخواست optimization بزنه که مشکلاتش کمتر بشه، همین که ابزارهایی که استفاده میکردند رو آپدیت کردم و البته معماری سیستم رو کمی بهتر (مثلاً برای دسترسی به یک سری سرویسهای داخلی چون نتونسته بودند کانفیگ کنند، درخواستها رو از اینترنت رد میکردند که خودش باعث میشه
بخصوص میزان مصرف منابع!
خلاصه که، اون ایمیج لعنتی رو هر از گاهی یک آپدیت بزنید. از کانتینرها برای همین استفاده میکنیم.
یکی از دلایل خوب استفاده از
containar اینه که آپدیت ورژنها سادهتر باشه! پروژهای رو داشتم که هنوز از
Postgres 12 استفاده میکرد؛ ۱۴ نوامبر ۲۰۲۴ پشتیبانی این نسخه تموم شده (سرچ کردم حفظ نیستم).بعد بنده خدا مدیر شرکت میخواست optimization بزنه که مشکلاتش کمتر بشه، همین که ابزارهایی که استفاده میکردند رو آپدیت کردم و البته معماری سیستم رو کمی بهتر (مثلاً برای دسترسی به یک سری سرویسهای داخلی چون نتونسته بودند کانفیگ کنند، درخواستها رو از اینترنت رد میکردند که خودش باعث میشه
latency زیاد بشه) بیش از ۷۰-۸۰٪ مشکلاتشون حل شد. بخصوص میزان مصرف منابع!
خلاصه که، اون ایمیج لعنتی رو هر از گاهی یک آپدیت بزنید. از کانتینرها برای همین استفاده میکنیم.
👍30❤5🔥2
سایتای داکر دان شده؛ دست به چیزی نزنید!
یکی از دوستان توی گروه اطلاع دادند.
پینوشت:
بنظر میاد مشکل اصلی از
یکی از دوستان توی گروه اطلاع دادند.
Issues accessing Registry, Hub, Scout, DBC, DHI - We are seeing issues accessing and using our services across many of our products. See dockerstatus.com for updates.
پینوشت:
بنظر میاد مشکل اصلی از
AWS هست👍27❤5👏2
Make the test pass faster (fun)
۹ ثانیه بعد از این رو ببینید؛
بعد اگر دوست داشتید کامل ببینید.
ولی من واقعا برام این اتفاق افتاده؛ یکجا CI/CD نوشته بودم بعدها بهم گفتند این نیرو جدیده که اومده یک جوری Optimization زده که کدها خیلی سریعتر دپلوی میشه.
گفتم دمش گرم برم ببینم چیکار کرده که یاد بگیرم؛ با کلی بحث و ... محدد دسترسی گرفتم به اون پروژه شرکت و دقیقا همین اتفاق افتاده بود.
این ویدئو رو یکی از بچههای همون تیم برام فرستاد.
۹ ثانیه بعد از این رو ببینید؛
بعد اگر دوست داشتید کامل ببینید.
ولی من واقعا برام این اتفاق افتاده؛ یکجا CI/CD نوشته بودم بعدها بهم گفتند این نیرو جدیده که اومده یک جوری Optimization زده که کدها خیلی سریعتر دپلوی میشه.
گفتم دمش گرم برم ببینم چیکار کرده که یاد بگیرم؛ با کلی بحث و ... محدد دسترسی گرفتم به اون پروژه شرکت و دقیقا همین اتفاق افتاده بود.
این ویدئو رو یکی از بچههای همون تیم برام فرستاد.
YouTube
Your co-worker who’s a 10x engineer
We hired a 10x engineer. Here's what happened.
*Cast*
http://youtube.com/@mewtru
http://youtube.com/@UCKAu5xTdg02X__g7VcOCZ1g
http://youtube.com/@maddyzhang
https://www.instagram.com/hesjustjordy/
*Chapters*
0:00 The 10x engineer
1:00 The intern
1:46 The…
*Cast*
http://youtube.com/@mewtru
http://youtube.com/@UCKAu5xTdg02X__g7VcOCZ1g
http://youtube.com/@maddyzhang
https://www.instagram.com/hesjustjordy/
*Chapters*
0:00 The 10x engineer
1:00 The intern
1:46 The…
🤣26👍2🔥1
Forwarded from Rust for Python developers
Youtube Link
اگر روی
خیلی نکات خوبی رو میگه
شخصا بسیار لذت بردم
اگر روی
Optimization کار میکنید؛ پیشنهاد میدم این سخنرانی رو ببینید.خیلی نکات خوبی رو میگه
شخصا بسیار لذت بردم
YouTube
Mechanical Sympathy in Rust Performance Optimization — by Brian Pane — Seattle Rust, October 2025
A discussion of how understanding the design tradeoffs of modern CPUs can help point the way to
software speedups, with examples from zlib-rs
Links: https://brianp.net/
Seattle Rust User Group:
• https://www.meetup.com/Seattle-Rust-Meetup/
• https://di…
software speedups, with examples from zlib-rs
Links: https://brianp.net/
Seattle Rust User Group:
• https://www.meetup.com/Seattle-Rust-Meetup/
• https://di…
❤14🤣1
Rust for Python developers
Youtube Link اگر روی Optimization کار میکنید؛ پیشنهاد میدم این سخنرانی رو ببینید. خیلی نکات خوبی رو میگه شخصا بسیار لذت بردم
این ویدئو روی
قبلا راجب پروفایلینگ روی پایتون صحبت کردم.
با توجه به اینکه اکثر دوستان اینجا بکند یا هوش مصنوعی کار میکنند بنظرم دیدن این ویدئو خالی از لطف نیست.
Rust هست؛ اما تکنیکهایی که برای پیدا کردن مشکل و اپتیمایز کردن کدها گفته میشه کاملا روی پایتون هم جواب میده.قبلا راجب پروفایلینگ روی پایتون صحبت کردم.
با توجه به اینکه اکثر دوستان اینجا بکند یا هوش مصنوعی کار میکنند بنظرم دیدن این ویدئو خالی از لطف نیست.
❤31👍5👏1🤣1
Python Hints
یکی از خوبای یوتیوب ویدئو گذاشته؛ ولی اینبار Django نیست بلکه زده توی آموزش FastAPI برای من که دیر شده شاید ولی چند نفری پرسیدید FastAPI منبع شروع معرفی کنم؛ این برای شما : Youtube link فقط دقت کنید؛ این برای شروع هست با ۴ ساعت آموزش فکر نکنید متخصص بکند…
Youtube Link
اینبار برای
توی این آموزش هم که همه چیز باهم رو تمرین میکنید.
اینبار برای
TimescaleDB اوایل سال راجب تستم ازش یک متنی نوشتم توی یکی از کانالها زیر قضیه همون Postgres هست ولی بجای اینکه شما Partitioning, ... رو انجام بدید این دیتابیس این موارد رو بهتون میده.توی این آموزش هم که همه چیز باهم رو تمرین میکنید.
YouTube
Python Tutorial: Build a Django CRM from Scratch with Google Contacts, TimescaleDB Analytics & More
🚀 Sign up for free Postgres now: https://kirr.co/j2bylk
Learn to build a Django CRM from scratch in this comprehensive nearly 6-hour course. You'll integrate Google Contacts, implement time-series analytics with TimescaleDB, and use production-ready automation…
Learn to build a Django CRM from scratch in this comprehensive nearly 6-hour course. You'll integrate Google Contacts, implement time-series analytics with TimescaleDB, and use production-ready automation…
👍10❤6🤣1
اگر از
توی یکی از کتابخونهها پیدا شده که البته
چون موضوع مربوط به
@pyrust
uv استفاده میکنید حتما اون رو آپدیت کنید یک باگ RCE: Remote Code Execution توی یکی از کتابخونهها پیدا شده که البته
uv هم ازون کتابخونه استفاده میکرده.چون موضوع مربوط به
Rust هست توضیحات بیشترش رو داخل کانال Rust مینویسم ولی خواستم اعلام کنم که حتما آپدیت کنید uv رو @pyrust
👍31🤣1
Python Hints
آخرین موردی که راجبش صحبت میکنیم Makefile هست؛ ی ابزار روی لینوکس داریم به اسم make که خودش ی دوره (حداقل ۴ ساعته لازم داره تا درست متوجه بشید) مثالی که توی تصویر بالا زدم ساده ترین حالت استفاده از make هست و برای توسعه دهنده پایتون کافی. اگر C - Rust…
یک آپدیت روی این بدم؛ یک چندوقتی هست بجای
بنظرم یک آپدیت خیلی خوب هست روی
مثلا ارسال پارامتر بعد از کامند یا گذاشتن مقدار دیفالت براش خیلی خیلی سادهاس
انیجوری نیست که بگم این فیچرهای بهتری داره پس بریم سراغش؛ مثل
مثل کامند
Just Github
پینوشت: توی مثال قبلی من از
Makefile دارم از Justfile استفاده میکنم:بنظرم یک آپدیت خیلی خوب هست روی
Makefile و خیلی هم syntax راحتی داره (اگر قبلتر روی Makefile کار کردید)مثلا ارسال پارامتر بعد از کامند یا گذاشتن مقدار دیفالت براش خیلی خیلی سادهاس
انیجوری نیست که بگم این فیچرهای بهتری داره پس بریم سراغش؛ مثل
taskfile هم نیست که یک سری چیز مخصوص به خودش رو اضافه کرده باشه که توی ابزارهای دیگه نبوده و نیست؛ و به نظرم همین هم باعث شده ابزار خوبی باشه اینکه Makefile ولی بهتر رو ارائه داده مثل کامند
less که همون more هست ولی بهتر!Just Github
پینوشت: توی مثال قبلی من از
Makefile بعنوان Command Runner استفاده میکنم و نه Builder حواستون به این نکته باشه که Just کاربردش فقط همین هست.GitHub
GitHub - casey/just: 🤖 Just a command runner
🤖 Just a command runner. Contribute to casey/just development by creating an account on GitHub.
👍16❤2🤣1
Forwarded from Rust for Python developers
"When the bad file with more than 200 features was propagated to our servers, this limit was hit — resulting in the system panicking."
"This resulted in the following panic which in turn resulted in a 5xx error:
thread fl2_worker_thread panicked: called Result::unwrap() on an Err value"
اینو یکی از بچهها توی گروه دیگری فرستاد؛ دیروز نصف اینترنت رسماً قطع شد، چرا ؟ کلودفلیر یک باگ خورده بود.
حالا مشخص شده اون باگ از یک خطای انسانی افتضاح میاد.
داستان اینه؛
یک سرور به محدودیت میخوره و از دسترس خارج میشه که باعث میشه تمام ریسپانسهاش خطای ۵۰۰ باشه؛ اما یک توسعه دهنده بجای اینکه
response رو بررسی کنه که آیا ۲۰۰ هست یا نه فرض کرده چون ما داخل دیتاسنتر هستیم و کلودفلیر هیچوقت غیر از ۲۰۰ نمیگیریم.
پس
unwrap زده و چون غیر از ۲۰۰ گرفته بوده؛ سیستم ترکیده.چندتا نکته :
۱- هیچ چیزی رو فرض نکنید، همه چیز رو تست کنید.
من هم توی بعضی کدهام
unwrap مینویسم؛ اما خیلی وقتا عمدی هست چون واقعاً نمیدونم خروجی اون تابع یا ماکرو چطور میتونه Error باشه!مینویسم که بیزینس در بیاد.
۲- زبان برنامهنویسی
Rust فقط امنیت روی مموری بهتون میده؛ قراره نیست براتون نون هم بخره.نکته جالبتر اینکه؛
AI هم این خطاهارو تشخیص نمیده !! اینه که همیشه از peer-review استقبال باید بشه.
۳- مورد راحتی مثل خطای 5xx توی http و اینکه حتی این مورد ساده هم تست نشده؛ نشون میده کلودفلیر هم که بری؛ قرار شیت کد ببینی.
پس دوست عزیز حداقل تست بنویس.
👍50🔥3❤2
#خارج_از_بحث
این پست راجب
مدیرعامل یک شرکتی باهام تماس گرفت (از طریق یک واسط) مشکلش این بود :
ما یک نیروی
قرارشد من بعنوان مشاور یا کسی که قراره
یک مقدار کدها رو خوندم بعد با نیروی مثلا سنیور قرار شد چندتا جلسه بذاریم (بحث این بود که ایشون توی جایگاه خودش بمونه و من وارد بشم چون ۳ تا تیم با موضوعات دیگه قرار هست وارد بشه)
همون جلسه اول من بهش مشکوک شدم؛ باور کنید یا نه آدم ناشی و اصطلاحات و لغت حفظ کرده از آدم کار بلد و توی کار تست کرده توی ۱۰-۲۰ دقیقه صحبت فنی به راحتی تفکیک میشه مخصوصا اینجا که یک پروژه واقعی درجریان هست.
با این حال من ۲ تا جلسه دیگه هم با ایشون شرکت کردم.
درنهایت متوجه شدم که کلا دلیل استخدام ایشون پروژههای
شک دومم که بعد از بررسی یک سری پروژههای گیتهاب بیشتر شد؛ این بود که پروژههای آدمای دیگه رو گرفته و لاگ رو تغییر داده.
همین هم بود؛ خلاصه اینکه:
فکر نکنید لاگ
تغییر ساعت و جزئیات
تغییر اینکه کی
من این موارد رو نشون دادم و اشتباه اون آدم رو هم توی git-log پیدا کردم (یکجا دولوپر اصلی توی یکی از اطلاعات
خلاصه که این موضوع رفته برای شکایت یا توافق؛ ولی حواستون باشه
یاد داستان اون شخص افتادم که توی گوگل بود؛ به زور کردنش مدیر یک بخش فنی؛ بنده خدا زبونش میگرفت نمیتونست بگه توی گوگل آبدارچی بوده! چون زودی میپریدن تو حرفش 😂
این پست راجب
git هست و استخدام؛ میخواستم توی رندرنج بنوسیم ولی چون مدیرایی که میشناسم بیشتر توی این کانال هستند گفتم اینجا بذارم.مدیرعامل یک شرکتی باهام تماس گرفت (از طریق یک واسط) مشکلش این بود :
ما یک نیروی
Senior استخدام کردیم؛ چون توی شرایط بدی بودیم خیلی هم سریع پروسه استخدام رو پیش بردیم اما الان به یک سری مشکلات خوردیم:۱- نیروی سنیور پرفورمنس خیلی پایینی داره؛ درحالی که وقتی رزومهای که برامون فرستاد رو بررسی کردیم یک چندتا پروژه روی گیتهاب داشت که بسیار شبیه کارهایی بود که ما داریم میکنیم (منظورش این بود مطالب باید براش تکراری باشه).
۲- نیروهای دیگه شرکت که بیشتر سطح متوسط و مقدماتی هستند همه از نیروی سنیور (لید تیم هم هست به نوعی) ناراضی هستند و حتی سواد فنیاش رو هم قبول ندارند.
درنهایت وقتی هم که به خودش میگم؛ میگه نیروها دانش کمی دارند؛ حرفای منو متوجه نمیشوند و همین باعث شده پرفورمنس خودمم بیاد پایین چون همش باید دنبال یک راهکاری برای توضیح دادن به اینا باشم.
قرارشد من بعنوان مشاور یا کسی که قراره
CTO تیم بشه با نیروها صحبت کنم؛ مشکل رو پیدا کنم اگر راه حل داشت ارائه بدم اگر باید نیروها اخراج میشدند و نیروی جدید استخدام میشد بگم. جز مدیرعامل شرکت کسی این موضوع رو نمیدونست.یک مقدار کدها رو خوندم بعد با نیروی مثلا سنیور قرار شد چندتا جلسه بذاریم (بحث این بود که ایشون توی جایگاه خودش بمونه و من وارد بشم چون ۳ تا تیم با موضوعات دیگه قرار هست وارد بشه)
همون جلسه اول من بهش مشکوک شدم؛ باور کنید یا نه آدم ناشی و اصطلاحات و لغت حفظ کرده از آدم کار بلد و توی کار تست کرده توی ۱۰-۲۰ دقیقه صحبت فنی به راحتی تفکیک میشه مخصوصا اینجا که یک پروژه واقعی درجریان هست.
با این حال من ۲ تا جلسه دیگه هم با ایشون شرکت کردم.
درنهایت متوجه شدم که کلا دلیل استخدام ایشون پروژههای
github بوده؛ دوتا شک داشتم خرید ساعت کاری و سفارش به شخص که با اکانت ایشون کامیت بزنه (خودم یک زمانی برای پچههای دکتری و ... خارج از ایران اینکار رو میکردم. قبلا دربارش گفتم ولی برای کسانی اینکار رو میکردم که باسواد بودند و با شرکتهای خوبی کار میکردند و مشکل این بود زمان کافی برای کلاس رفتن و حل تمرین کلاس نداشتند منم واسه یادگیری پول میگرفتم.) شک دومم که بعد از بررسی یک سری پروژههای گیتهاب بیشتر شد؛ این بود که پروژههای آدمای دیگه رو گرفته و لاگ رو تغییر داده.
همین هم بود؛ خلاصه اینکه:
فکر نکنید لاگ
git تا ابد ثابت هست؛ همه کاری میشه باهاش کرد.تغییر ساعت و جزئیات
commit؛ تغییر اطلاعات تغییر اینکه کی
commit زدهcommit message, branch, merge info, ... من این موارد رو نشون دادم و اشتباه اون آدم رو هم توی git-log پیدا کردم (یکجا دولوپر اصلی توی یکی از اطلاعات
commit خیلی قدیمی یک ایمیل گذاشته بود و ...)خلاصه که این موضوع رفته برای شکایت یا توافق؛ ولی حواستون باشه
git, ... به تنهایی ارزشی نداره دانش شخص و سوادش برای کاری که شما ازش میخواید خیلی خیلی مهم تر هست.یاد داستان اون شخص افتادم که توی گوگل بود؛ به زور کردنش مدیر یک بخش فنی؛ بنده خدا زبونش میگرفت نمیتونست بگه توی گوگل آبدارچی بوده! چون زودی میپریدن تو حرفش 😂
👍57❤8
شرکت
مواردی هستند که
این پروژه یک
چرا
خودشون اعلام کردند مشکل از کدبیس بزرگ
جالبترین نکته اینکه؛ این پروژه هم با
مهمترین بخش آپدیت
درنهایت:
شخصا روی تنظیمات؛
Pyrefly Github
Meta در ادامه پروژههای OpenSource بالاخره پروژه Pyrefly رو توی نسخه beta منتشر کرد vscode, pycharm, neovim, ... مواردی هستند که
Extension براشون منتشر شده.این پروژه یک
Language Server, Type checker هست روی پایتون.چرا
Meta اینکار رو کرده ؟خودشون اعلام کردند مشکل از کدبیس بزرگ
Instagram شروع شده تا جایی که انقدر این کد بزرگ بوده که navigate, code complete و ... یا زمان زیادی میبرده یا بخوبی انجام نمیشده برای همین Pyrefly رو توسعه دادند که اولین مشتریش هم تیم Instagram هست و بصورت هفتگی هم آپدیت خواهد شد.جالبترین نکته اینکه؛ این پروژه هم با
Rust نوشته شده و به همین دلیل هم هست که سرعت خیلی بالایی داره.مهمترین بخش آپدیت
Beta بنظرم پشتیبانی از Pydantic, Django هست؛ بخصوص برای Django که کلی کانفیگ نیاز بود توی ابزارهای جایگزین.درنهایت:
شخصا روی تنظیمات؛
neovim بعد از استیبل شدن اضافه خواهم کرد (اگر خوب پیش بره) و درحال حاضر روی vscode فقط تستش میکنم.Pyrefly Github
GitHub
GitHub - facebook/pyrefly: A fast type checker and language server for Python
A fast type checker and language server for Python - facebook/pyrefly
👍27❤2
RandRng
Message
توی این کانال دارم از تجربیاتم روی Home Lab ایجاد کردن مینویسم؛ البته من هدفم راهاندازی سرویس بکاپ عکس و سرویس فیلم و ... نیست. هدف اصلیم Distributed Programming بوده و هست ولی کنارش دارم کارهای دیگه هم میکنم
مثلا تست کانفیگهای مختلف برای بکند؛ kafka, rabbitmq, ....
اگر دوست داشتید میتونید اونجا این مطالب رو به مرور زمان دنبال کنید ولی قبلش Info اون کانال رو بخونید.
مثلا تست کانفیگهای مختلف برای بکند؛ kafka, rabbitmq, ....
اگر دوست داشتید میتونید اونجا این مطالب رو به مرور زمان دنبال کنید ولی قبلش Info اون کانال رو بخونید.
❤23👍7
RandRng
Message
این پست خارج از بحث کانال هست ولی چون این اواخر خیلی بهم پیام داده شده
ترجیح دادم بصورت عمومی توی کانال اعلام کنم!
که حداقل خودتون حواستون رو جمع کنید!
ترجیح دادم بصورت عمومی توی کانال اعلام کنم!
که حداقل خودتون حواستون رو جمع کنید!
❤39👍12👏3
آقای مهندس عباسی،
در گذشت والده ی محترمه اتون رو تسلیت عرض میکنیم 🖤
دوستان ایشون در حال حاضر قادر به پاسخگویی پیام های شما در پیوی اشون نیستند
موقتا اگر سوالی هست بنده در خدمت دوستان هستم
@majid_aghamohamad
در گذشت والده ی محترمه اتون رو تسلیت عرض میکنیم 🖤
دوستان ایشون در حال حاضر قادر به پاسخگویی پیام های شما در پیوی اشون نیستند
موقتا اگر سوالی هست بنده در خدمت دوستان هستم
@majid_aghamohamad
❤277❤🔥2🔥2👏2