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, ... به تنهایی ارزشی نداره دانش شخص و سوادش برای کاری که شما ازش میخواید خیلی خیلی مهم تر هست.یاد داستان اون شخص افتادم که توی گوگل بود؛ به زور کردنش مدیر یک بخش فنی؛ بنده خدا زبونش میگرفت نمیتونست بگه توی گوگل آبدارچی بوده! چون زودی میپریدن تو حرفش 😂
👍56❤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
👍26❤2
Forwarded from RandRng
مشکل امنیتی جدید
این گزارش ربطی به هک شدن واتساپ و ... نداره (چون دیدم بعضی کانالا میگن واتساپ هک شده؛ یا سرورهای متا هک شده)
مشکل اصلی که ضرر مالی بزرگی هم مثل اینکه به Meta زده سر نداشتن
شماره تماس؛ وضعیت و اگر تصویر پابلیک بوده عکس پروفایل.
خداروشکر من اصلا یوزر واتساپ نیستم؛ حتی برای کار هم نصب نکردم.
ولی خطر کرال شدن این دیتاها برای کاربرها چیه ؟
۱- فیشینگ؛ طرف کلی اطلاعات از شما داره (اسم و فامیل + عکس + شماره تماس) همین میتونه برای انجام فیشینگ کافی باشه. ولی بیاید فرض کنیم مثل من فکر کنه.
شماره موبایل شمارو توی پلتفرمهای دیگه سرچ میکنه؛ تلگرام + توییتر + فیسبوک و ...
از تلگرام آیدیها و عکسهای بیشتر؛ علاقه مندی و ... میتونه پیدا بشه
از توییتر و اینستاگرام؛ آدمای نزدیک به شما؛ جبهه گیری سیاسی و کلی اطلاعات بدرد بخور دیگه که ادامه نمیدم ولی فقط همینقدر که تگ زدن شما به لطف
۲- پروفایل سازی؛ با این حجم دیتا و داشتن شماره تماس؛ چیزی که توی قدم قبلی گفتم میتونه از شما و تمام آدمهای نزدیک بهتون پروفایل بسازه. توی پلتفرمهای مختلف بررسی کنه و روی گراف بیاره تا بدونه از چه طریقی به شما نزدیک بشه امکان نفوذ بیشتر هست.
۳- جستجوی یوزر با یک تصویر صورت؛ بدست آوردن شماره و ....
و ... که بازم ترجیح میدم توضیح ندم؛ چه کسایی دربرابر این کرال امن بودند ؟
اگر پروفایل شما روی حالت
اگر هم هست چون این موضوع لو رفته (احتمالا کلی گروه دیگه هم شروع به کرال دیتا کردند) بهتره همین الان پروفابل واتساپ خودتون رو خصوصی کنید.
کاری هم که کردن ساده بوده؛ تمام شمارههای موجود رو درست کردن ۶۳ میلیارد بعد شروع کردن سرچ کردن اون شمارههای روی واتساپ!
توی تلگرام اگر این کار رو کرده باشید؛ بلاک میشید یا اینکه بعد از ۲۰۰ مورد باید اونهارو به شمارههاتون اضافه کنید که ظرفیت اینکار هم ۲۵۰ مورد هست.
اما درس امروز برای بکند دولوپرها؛
حتما
پینوشت:
مثل اینکه این گروه تحقیقاتی بودند و مقاله نوشتن راجبش (آنالیز روی دیتاها زدند)
whatsapp که باعث شده 3.5 میلیارد پروفایل و اطلاعات پروفایل در کرال بشه؛این گزارش ربطی به هک شدن واتساپ و ... نداره (چون دیدم بعضی کانالا میگن واتساپ هک شده؛ یا سرورهای متا هک شده)
مشکل اصلی که ضرر مالی بزرگی هم مثل اینکه به Meta زده سر نداشتن
Rate Limit بوده البته متا سریعا آپدیت کرده و سرعت کرال داده رو کند کرده ولی خب بعد از اینکه ۳.۵ میلیارد اکانت کرال شده.شماره تماس؛ وضعیت و اگر تصویر پابلیک بوده عکس پروفایل.
خداروشکر من اصلا یوزر واتساپ نیستم؛ حتی برای کار هم نصب نکردم.
ولی خطر کرال شدن این دیتاها برای کاربرها چیه ؟
۱- فیشینگ؛ طرف کلی اطلاعات از شما داره (اسم و فامیل + عکس + شماره تماس) همین میتونه برای انجام فیشینگ کافی باشه. ولی بیاید فرض کنیم مثل من فکر کنه.
شماره موبایل شمارو توی پلتفرمهای دیگه سرچ میکنه؛ تلگرام + توییتر + فیسبوک و ...
از تلگرام آیدیها و عکسهای بیشتر؛ علاقه مندی و ... میتونه پیدا بشه
از توییتر و اینستاگرام؛ آدمای نزدیک به شما؛ جبهه گیری سیاسی و کلی اطلاعات بدرد بخور دیگه که ادامه نمیدم ولی فقط همینقدر که تگ زدن شما به لطف
LLM ها کار سخت و زمانبری نیست.۲- پروفایل سازی؛ با این حجم دیتا و داشتن شماره تماس؛ چیزی که توی قدم قبلی گفتم میتونه از شما و تمام آدمهای نزدیک بهتون پروفایل بسازه. توی پلتفرمهای مختلف بررسی کنه و روی گراف بیاره تا بدونه از چه طریقی به شما نزدیک بشه امکان نفوذ بیشتر هست.
۳- جستجوی یوزر با یک تصویر صورت؛ بدست آوردن شماره و ....
و ... که بازم ترجیح میدم توضیح ندم؛ چه کسایی دربرابر این کرال امن بودند ؟
اگر پروفایل شما روی حالت
public نبوده احتمالا امن هستیداگر هم هست چون این موضوع لو رفته (احتمالا کلی گروه دیگه هم شروع به کرال دیتا کردند) بهتره همین الان پروفابل واتساپ خودتون رو خصوصی کنید.
کاری هم که کردن ساده بوده؛ تمام شمارههای موجود رو درست کردن ۶۳ میلیارد بعد شروع کردن سرچ کردن اون شمارههای روی واتساپ!
توی تلگرام اگر این کار رو کرده باشید؛ بلاک میشید یا اینکه بعد از ۲۰۰ مورد باید اونهارو به شمارههاتون اضافه کنید که ظرفیت اینکار هم ۲۵۰ مورد هست.
اما درس امروز برای بکند دولوپرها؛
حتما
rate limit بذارید این گروه همهی شمارههارو از یک ip کرال کردند. منم کلی پلتفرم ایرانی رو کرال کردم قبلا پس مطمئنم که خیلیها rate limit نمیذارند.پینوشت:
مثل اینکه این گروه تحقیقاتی بودند و مقاله نوشتن راجبش (آنالیز روی دیتاها زدند)
👍27❤2
Forwarded from RandRng
از تیم ترب کسی رو داریم ؟
مشکلات فرانتاند رو کاری ندارم که ممکنه تمرکز روی کروم باشه فقط و ... (مثلا فیلتر رو ببینید؛ با اینکه من فقط مورد ۸ ترابایت رو انتخاب کردم توی نمایش همرو نشون میده)
یا اینکه به محض تغییر یک فیلتر سمت راست؛ کل صفحه
اما نکته جالبش توی بکند هست؛ یا توی کوئری زدن مشکل دارند
یا توی
خلاصه به تیم ترب؛ دوستان سیستم فیلتر + مرتبسازیهاتون داغونه
مشکل هم فقط روی فرانت نیست؛ بکند از فرانت اوضاعش بدتره.
مشاوره خواستید میام زیرساخت رو هم میبینم مطمئنم معماری از جفتشم بدتره چون این مشکل رو من حداقل ۱ سال هست که با ترب دارم (اگر یک محصول رو تو سرچ اول تمیز پیدا نکنم میبندم سایت رو)
قطعا باورم نمیشه که تیم تست و
صحبت از تیم تست شد؛ ترب جان تست که مینوسید بابا جان ؟
مشکلات فرانتاند رو کاری ندارم که ممکنه تمرکز روی کروم باشه فقط و ... (مثلا فیلتر رو ببینید؛ با اینکه من فقط مورد ۸ ترابایت رو انتخاب کردم توی نمایش همرو نشون میده)
یا اینکه به محض تغییر یک فیلتر سمت راست؛ کل صفحه
reload میشه و نمیشه همزمان چندتا فیلتر رو انتخاب کرد.اما نکته جالبش توی بکند هست؛ یا توی کوئری زدن مشکل دارند
یا توی
optimization؛ مورد دوم رو توی شرکتهای مشابه دیدم که میگه اگر سرویس X تا ۵ ثانیه جواب نداد ولی healthy بود پس دیتایی نداره.خلاصه به تیم ترب؛ دوستان سیستم فیلتر + مرتبسازیهاتون داغونه
مشکل هم فقط روی فرانت نیست؛ بکند از فرانت اوضاعش بدتره.
مشاوره خواستید میام زیرساخت رو هم میبینم مطمئنم معماری از جفتشم بدتره چون این مشکل رو من حداقل ۱ سال هست که با ترب دارم (اگر یک محصول رو تو سرچ اول تمیز پیدا نکنم میبندم سایت رو)
قطعا باورم نمیشه که تیم تست و
QA و ... این مشکل رو توی ۱ سال گذشته ندیده باشند؛ بجای تبلیغات مشکلات فنی رو برطرف کنید دوستان.صحبت از تیم تست شد؛ ترب جان تست که مینوسید بابا جان ؟
👍53❤2
RandRng
از تیم ترب کسی رو داریم ؟ مشکلات فرانتاند رو کاری ندارم که ممکنه تمرکز روی کروم باشه فقط و ... (مثلا فیلتر رو ببینید؛ با اینکه من فقط مورد ۸ ترابایت رو انتخاب کردم توی نمایش همرو نشون میده) یا اینکه به محض تغییر یک فیلتر سمت راست؛ کل صفحه reload میشه و…
توی این کانال دارم از تجربیاتم روی Home Lab ایجاد کردن مینویسم؛ البته من هدفم راهاندازی سرویس بکاپ عکس و سرویس فیلم و ... نیست. هدف اصلیم Distributed Programming بوده و هست ولی کنارش دارم کارهای دیگه هم میکنم
مثلا تست کانفیگهای مختلف برای بکند؛ kafka, rabbitmq, ....
اگر دوست داشتید میتونید اونجا این مطالب رو به مرور زمان دنبال کنید ولی قبلش Info اون کانال رو بخونید.
مثلا تست کانفیگهای مختلف برای بکند؛ kafka, rabbitmq, ....
اگر دوست داشتید میتونید اونجا این مطالب رو به مرور زمان دنبال کنید ولی قبلش Info اون کانال رو بخونید.
❤23👍7
Forwarded from RandRng
#کاسبان_تحریم
یک سرویس دهنده هست که هزاران بار توی گروها بهش اشاره کردیم و گفتیم حتی اگر از گشنگی داشتید میمردید ازینا سرویس برای خرید محصول نگیرید (این امکان که ایمیل بزنید و اون شرکته براتون غذای مجانی بفرسته بیشتره)
اون سرویس دهنده هم #ایرانیکارت هست؛
تقریبا هرروز توی یکی از گروها؛ یک نفر که بحثهای قبلی رو شرکت نکرده اکانت؛ کار؛ تحقیق و ... اش همش دود میشه میره هوا و دنبال یک راهکار جدید باید بگرده.
اینکه ایرانیکارت پول رو میخوره و ی آبم روش و پاسخ هیچ چیزی رو به هیچ کسی نمیده یک بحث جدایی هست که مقام قضایی کشور باید دنبال کنه! حتما باید دنبال کنه!
اما برای سادهترین اتفاقات هم ایرانیکارت موقع پرداخت از کارتهای با تراکنش مشکوک استفاده میکنه (این بهترین حالت هست؛ چون توی یک سری موارد با ذکر اینکه از سرویس دهنده third-party برای خرید استفاده کردید و آپلود مدارک حداقل اکانت رو بهتون برمیگردوند ولی خب پول و سرویس پریده)
توی بیشتر مواقع این شرکت از سرویسهای تخفیفی که ۱۰۰٪ هم گیر میوفته خرید میکنه تا خودش سود بیشتری کنه؛ همونطوری که گفتم چون به کسی هم پاسخگو نبوده و نیست (مقام قضایی و دادستانی و ... هم خواب هستند) این وضعیت همچنان ادامه داره!
بسیاری از دوستان که توی گروه یا کانال پیام میذارند که جطوری میتونیم اکانت رو برگردونیم؛ دلیل بن شدن اکانتهاشون خرید غیرقانونی هست.
مثلا:
سرویس مخصوص دانشجویان اروپایی هست و برای اونها قیمتش شده ۱ دلار برای ماه اول
شما میری از ایرانیکارت خرید میکنی و پول کامل رو میدی به قیمت ۱۰ دلار در ماه
ایرانیکارت از تخفیف دانشکاهی استفاده میکنه و ۱ دلار به اون سرویس دهنده پرداخت میکنه
توی ۷۲ ساعت آینده شرکت سرویس دهنده متوجه میشه شما با اطلاعات تقلبی خرید کردی و اکانت شما و تمام دیتاها و زحمات و ... بن میشه.
این اتفاق بسیار بسیار زیاد افتاده برای بچهها (بعضی شرکتها توی پیگیری دلیل بن شدن اکانت رو توی ایمیل میفرستند) با وجود اینکه خود شرکت اعلام کرده از روشهای غیرقانونی برای خرید استفاده کردید یا غیرقانونی تخفیف گرفتید و ...
ایرانیکارت همیشه یک جواب میده:
بنظرم این وظیفه دادستانی و مقام قضایی هست که جلوی این کلاهبرداری بزرگ ایرانیکارت رو بگیره بخصوص اینکه توی حداقل ۶ ماه اخیر تقریبا هرکسی که از این شرکت سرویس خریده نتیجه زحمات و پولش دود شده و رفته!
یک سرویس دهنده هست که هزاران بار توی گروها بهش اشاره کردیم و گفتیم حتی اگر از گشنگی داشتید میمردید ازینا سرویس برای خرید محصول نگیرید (این امکان که ایمیل بزنید و اون شرکته براتون غذای مجانی بفرسته بیشتره)
اون سرویس دهنده هم #ایرانیکارت هست؛
تقریبا هرروز توی یکی از گروها؛ یک نفر که بحثهای قبلی رو شرکت نکرده اکانت؛ کار؛ تحقیق و ... اش همش دود میشه میره هوا و دنبال یک راهکار جدید باید بگرده.
اینکه ایرانیکارت پول رو میخوره و ی آبم روش و پاسخ هیچ چیزی رو به هیچ کسی نمیده یک بحث جدایی هست که مقام قضایی کشور باید دنبال کنه! حتما باید دنبال کنه!
اما برای سادهترین اتفاقات هم ایرانیکارت موقع پرداخت از کارتهای با تراکنش مشکوک استفاده میکنه (این بهترین حالت هست؛ چون توی یک سری موارد با ذکر اینکه از سرویس دهنده third-party برای خرید استفاده کردید و آپلود مدارک حداقل اکانت رو بهتون برمیگردوند ولی خب پول و سرویس پریده)
توی بیشتر مواقع این شرکت از سرویسهای تخفیفی که ۱۰۰٪ هم گیر میوفته خرید میکنه تا خودش سود بیشتری کنه؛ همونطوری که گفتم چون به کسی هم پاسخگو نبوده و نیست (مقام قضایی و دادستانی و ... هم خواب هستند) این وضعیت همچنان ادامه داره!
بسیاری از دوستان که توی گروه یا کانال پیام میذارند که جطوری میتونیم اکانت رو برگردونیم؛ دلیل بن شدن اکانتهاشون خرید غیرقانونی هست.
مثلا:
سرویس مخصوص دانشجویان اروپایی هست و برای اونها قیمتش شده ۱ دلار برای ماه اول
شما میری از ایرانیکارت خرید میکنی و پول کامل رو میدی به قیمت ۱۰ دلار در ماه
ایرانیکارت از تخفیف دانشکاهی استفاده میکنه و ۱ دلار به اون سرویس دهنده پرداخت میکنه
توی ۷۲ ساعت آینده شرکت سرویس دهنده متوجه میشه شما با اطلاعات تقلبی خرید کردی و اکانت شما و تمام دیتاها و زحمات و ... بن میشه.
این اتفاق بسیار بسیار زیاد افتاده برای بچهها (بعضی شرکتها توی پیگیری دلیل بن شدن اکانت رو توی ایمیل میفرستند) با وجود اینکه خود شرکت اعلام کرده از روشهای غیرقانونی برای خرید استفاده کردید یا غیرقانونی تخفیف گرفتید و ...
ایرانیکارت همیشه یک جواب میده:
بدون vpn وصل شدید و بخاطر تحریم اکانت محدود شده. (یا چیزی شبیه به همین)
بنظرم این وظیفه دادستانی و مقام قضایی هست که جلوی این کلاهبرداری بزرگ ایرانیکارت رو بگیره بخصوص اینکه توی حداقل ۶ ماه اخیر تقریبا هرکسی که از این شرکت سرویس خریده نتیجه زحمات و پولش دود شده و رفته!
👍59❤14
RandRng
#کاسبان_تحریم یک سرویس دهنده هست که هزاران بار توی گروها بهش اشاره کردیم و گفتیم حتی اگر از گشنگی داشتید میمردید ازینا سرویس برای خرید محصول نگیرید (این امکان که ایمیل بزنید و اون شرکته براتون غذای مجانی بفرسته بیشتره) اون سرویس دهنده هم #ایرانیکارت هست؛…
این پست خارج از بحث کانال هست ولی چون این اواخر خیلی بهم پیام داده شده
ترجیح دادم بصورت عمومی توی کانال اعلام کنم!
که حداقل خودتون حواستون رو جمع کنید!
ترجیح دادم بصورت عمومی توی کانال اعلام کنم!
که حداقل خودتون حواستون رو جمع کنید!
❤39👍12👏3
آقای مهندس عباسی،
در گذشت والده ی محترمه اتون رو تسلیت عرض میکنیم 🖤
دوستان ایشون در حال حاضر قادر به پاسخگویی پیام های شما در پیوی اشون نیستند
موقتا اگر سوالی هست بنده در خدمت دوستان هستم
@majid_aghamohamad
در گذشت والده ی محترمه اتون رو تسلیت عرض میکنیم 🖤
دوستان ایشون در حال حاضر قادر به پاسخگویی پیام های شما در پیوی اشون نیستند
موقتا اگر سوالی هست بنده در خدمت دوستان هستم
@majid_aghamohamad
❤274❤🔥2🔥2👏2
Forwarded from RandRng
تو زندگیم یادگرفتم همیشه دستم رو زانوی خودم باشه، فقط به خودم تکیه کنم و فقط روی خودم حساب کنم.
با همهی اینها، وقتی پدرم فوت کرد، فهمیدم دیگه زورم به دنیا نمیرسه؛ چون قدرت مشتم از احساس امنیتی بود که بخاطر وجود پدرم داشتم، ولی بازم جنگیدم.
من آدم حرف زدن نیستم؛ دردام مال خودم بوده و هست.
خیلی جاها خیلی خیلی کم آوردم ولی بازم خندیدم و ادامه دادم.
هرجای زندگیم کم میآوردم دوتا دلیل داشتم که بازم ادامه بدم؛
اول اینکه نمیخواستم ببینم مادرم بخاطر من غم تو صورتش هست.
دوم اینکه پشتم به مادر گرم بود، فقط کافی بود دست بذاره رو سرم و باهام حرف بزنه؛ کل دنیا هم حریفم نبود.
اما حالا دیگه نه پشت دارم نه مشت.
دیگه حالی برای جنگیدن نیست، امیدم به تموم شدن این جنگه.
---------------------
این چندروز کلی پیام تسلیت دریافت کردم، این حرفها رو گفتم که بدونید چقدر پیامهاتون برام ارزش داشت و البته عذرخواه و شرمندم که نتونستم پاسخ بدم.
برای همهی شما و عزیزانتون آرزوی سلامتی دارم.
با همهی اینها، وقتی پدرم فوت کرد، فهمیدم دیگه زورم به دنیا نمیرسه؛ چون قدرت مشتم از احساس امنیتی بود که بخاطر وجود پدرم داشتم، ولی بازم جنگیدم.
من آدم حرف زدن نیستم؛ دردام مال خودم بوده و هست.
خیلی جاها خیلی خیلی کم آوردم ولی بازم خندیدم و ادامه دادم.
هرجای زندگیم کم میآوردم دوتا دلیل داشتم که بازم ادامه بدم؛
اول اینکه نمیخواستم ببینم مادرم بخاطر من غم تو صورتش هست.
دوم اینکه پشتم به مادر گرم بود، فقط کافی بود دست بذاره رو سرم و باهام حرف بزنه؛ کل دنیا هم حریفم نبود.
اما حالا دیگه نه پشت دارم نه مشت.
دیگه حالی برای جنگیدن نیست، امیدم به تموم شدن این جنگه.
---------------------
این چندروز کلی پیام تسلیت دریافت کردم، این حرفها رو گفتم که بدونید چقدر پیامهاتون برام ارزش داشت و البته عذرخواه و شرمندم که نتونستم پاسخ بدم.
برای همهی شما و عزیزانتون آرزوی سلامتی دارم.
❤449
Forwarded from RandRng
#Backend_RoadMap_2025
قبل از اینکه بخواید این
یک نکتهای که اضافه کنم؛ توی جلسات و ... که بحث شد من اصلا قرار نیست هیچ چیزی رو آموزش بدم (اشتباهات رو کمک میکنم حل بشه و ...) اما اینکه آموزش بدم
چیزایی که توقع دارم یک
بازم توجه کنید
فریمورک مورد نظرتون رو کمی بشناسید (من روی
1. Middleware: Starlette interface for how to write middleware.
Must know: auth, request ID, timing, gzip, validators, rate-limit, logging.
Important to know the order of execution.
2. CORS (and headers in general).
3. Authentication / Authorization: What is JWT + RS256.
Nice to know: Auth0, Cognito.
4. SQL and SQLAlchemy 2.0 (async style).
5. Tests:
* Unit tests for business logic.
* Integration tests for database, Redis, etc. interactions.
* Contract tests (very important) for endpoints and services you use.
6. Benchmarking: k6, load testing, CI smoke tests for performance-sensitive endpoints; wrk, hyperfine (or alternatives).
7. Docker / Docker Compose: multi-stage builds.
8. Profiling: Scalene or Perf — flamegraph interpretation.
9. Caching (Redis): cache invalidation; GET/SET strategies (Cache-Aside vs Write-Through).
10. Background tasks:
FastAPI background tasks & Dramatiq (or other alternatives).
Don't bring Celery or its equivalent into projects — it's heavy and overkill in most cases.
Use/understand: idempotency, retries, dead-lettering.
11. Observability: Logging, tracing, metrics.
Logs must be structured (JSON is a good option).
Distributed tracing is a must-have.
Metrics (Prometheus) are important — at minimum: response_time_ms, active_connections, etc.
12. Configuration management: Pydantic Settings; no hard-coded settings or configs.
13. Migrations: Alembic — each migration should have both UP and DOWN so it is safe to revert.
14. API documentation: FastAPI provides it automatically, but don't forget to use the Pydantic model
BTW: Pydantic v2 is the only accepted version.
15. Error handling + correct HTTP codes.
16. Graceful shutdown:
App must stop accepting new HTTP connections,
finish processing current requests,
drain the database connection pool,
then exit.
17. Idempotency and retries:
For network/database failures — learn exponential backoff, circuit breakers, bulkheads.
18. Health checks and readiness probes: The app must provide them (Docker health check alone is not accepted).
19. Connection pooling tuning: Postgres, Redis, etc.
You must be able to explain tuning decisions based on your benchmarks/profiling results.
20. Security basics: Input sanitization/validation, rate limiting, secrets management, secure defaults (CSP, HSTS), threat modeling for endpoints.
21. Scalability patterns: Focus on connection pooling and indexing first.
Too many or unnecessary indexes = Fail.
Nice to learn: horizontal scaling, load balancing, sharding, replication.
22. Feature flagging (dynamic configuration): All projects should have it — very important.
23. API versioning strategy: Header versioning / URL versioning.
24. Architecture Decision Records
From day 1 you must have this document in the project with at least 3 entries per decision:
What you decided.
Why you did that.
What the consequences are.
--————————————-
Future / next steps
1. Design system architecture.
2. Integrate message queues (when and why to use them) — Kafka, RabbitMQ.
3. Event-driven patterns.
4. Optimize for latency.
5. GraphQL / gRPC — when and why to use them.
پینوشت: اگر جایی کپی کردید؛ لطفا پیام قبلی و بعدی رو هم بذارید 🌱
توضیحات مهم هست.
قبل از اینکه بخواید این
roadmap رو دنبال کنید باید پست قبلی رو بخونید.یک نکتهای که اضافه کنم؛ توی جلسات و ... که بحث شد من اصلا قرار نیست هیچ چیزی رو آموزش بدم (اشتباهات رو کمک میکنم حل بشه و ...) اما اینکه آموزش بدم
FastAPI چیست و جطوری CRUD بنویسیم و ازین موارد با اوضاع الانم اصلا نمیخونه پس دلیل ساده بودنش همین پست قبلی هست.چیزایی که توقع دارم یک
Senior توی جنبهی فنی بکند بلد باشه (اعداد هیچ ربطی به ترتیب یادگیری نداره؛ فقط برای این هست که تهش بدونم چندتا مورد رو گفتم) از دوستان Senior هم میخوام اگر نکته یا موردی جا افتاده بهم یادآوری کنند.بازم توجه کنید
Senior شدن کلی جنبههای مختلف داره ولی برای بخش فنی مربوط به بکند این لیست کافی و قوی هست؛ برای بحثهای دیگر هم از منابع خودش میتونید دنبال کنید.فریمورک مورد نظرتون رو کمی بشناسید (من روی
FastAPI پیش میرم ولی خیلی فرقی نیست)1. Middleware: Starlette interface for how to write middleware.
Must know: auth, request ID, timing, gzip, validators, rate-limit, logging.
Important to know the order of execution.
2. CORS (and headers in general).
3. Authentication / Authorization: What is JWT + RS256.
Nice to know: Auth0, Cognito.
4. SQL and SQLAlchemy 2.0 (async style).
5. Tests:
* Unit tests for business logic.
* Integration tests for database, Redis, etc. interactions.
* Contract tests (very important) for endpoints and services you use.
6. Benchmarking: k6, load testing, CI smoke tests for performance-sensitive endpoints; wrk, hyperfine (or alternatives).
7. Docker / Docker Compose: multi-stage builds.
8. Profiling: Scalene or Perf — flamegraph interpretation.
9. Caching (Redis): cache invalidation; GET/SET strategies (Cache-Aside vs Write-Through).
10. Background tasks:
FastAPI background tasks & Dramatiq (or other alternatives).
Don't bring Celery or its equivalent into projects — it's heavy and overkill in most cases.
Use/understand: idempotency, retries, dead-lettering.
11. Observability: Logging, tracing, metrics.
Logs must be structured (JSON is a good option).
Distributed tracing is a must-have.
Metrics (Prometheus) are important — at minimum: response_time_ms, active_connections, etc.
12. Configuration management: Pydantic Settings; no hard-coded settings or configs.
13. Migrations: Alembic — each migration should have both UP and DOWN so it is safe to revert.
14. API documentation: FastAPI provides it automatically, but don't forget to use the Pydantic model
example field.BTW: Pydantic v2 is the only accepted version.
15. Error handling + correct HTTP codes.
16. Graceful shutdown:
App must stop accepting new HTTP connections,
finish processing current requests,
drain the database connection pool,
then exit.
17. Idempotency and retries:
For network/database failures — learn exponential backoff, circuit breakers, bulkheads.
18. Health checks and readiness probes: The app must provide them (Docker health check alone is not accepted).
19. Connection pooling tuning: Postgres, Redis, etc.
You must be able to explain tuning decisions based on your benchmarks/profiling results.
20. Security basics: Input sanitization/validation, rate limiting, secrets management, secure defaults (CSP, HSTS), threat modeling for endpoints.
21. Scalability patterns: Focus on connection pooling and indexing first.
Too many or unnecessary indexes = Fail.
Nice to learn: horizontal scaling, load balancing, sharding, replication.
22. Feature flagging (dynamic configuration): All projects should have it — very important.
23. API versioning strategy: Header versioning / URL versioning.
24. Architecture Decision Records
From day 1 you must have this document in the project with at least 3 entries per decision:
What you decided.
Why you did that.
What the consequences are.
--————————————-
Future / next steps
1. Design system architecture.
2. Integrate message queues (when and why to use them) — Kafka, RabbitMQ.
3. Event-driven patterns.
4. Optimize for latency.
5. GraphQL / gRPC — when and why to use them.
پینوشت: اگر جایی کپی کردید؛ لطفا پیام قبلی و بعدی رو هم بذارید 🌱
توضیحات مهم هست.
❤26👍1
RandRng
#Backend_RoadMap_2025 قبل از اینکه بخواید این roadmap رو دنبال کنید باید پست قبلی رو بخونید. یک نکتهای که اضافه کنم؛ توی جلسات و ... که بحث شد من اصلا قرار نیست هیچ چیزی رو آموزش بدم (اشتباهات رو کمک میکنم حل بشه و ...) اما اینکه آموزش بدم FastAPI چیست و…
نمیدونم چرا ولی از هفته قبل تعداد پیامهای یادگیری بکند برام خیلی خیلی زیاد شده.
تا قبل از این همگی هوش مصنوعی بود.
توقع دارم بعد از این مرحله
حتماً پیام قبل و بعد این
شرایط رو درک کنید و
پینوشت:
مواردی مثل
زمانبندی برای کسی که روزی ۴ ساعت بتونه وقت بذاره توقع دارم توی ۶ ماه این موضوعات رو تموم کنه!
حداکثر ۲ ساعت مطالعه،
حداقل ۲ ساعت توسعه کد.
در طول هفته (شنبه تا ۵ شنبه)
جمعه هم ۱ ساعت، برای
تا قبل از این همگی هوش مصنوعی بود.
توقع دارم بعد از این مرحله
Rust باشه و System Programming (خدا کنه خودم به اندازه کافی تجربه کنم تا اون موقع)حتماً پیام قبل و بعد این
roadmap رو توی اون کانال بخونید.شرایط رو درک کنید و
context توی ذهنتون باشه و بعد شروع به دنبال کردن این roadmap کنید.پینوشت:
مواردی مثل
SSO, Event driven, ... هستند که یک سنیور باید بلد باشه اما ازونجا که مفاهیم نقشهراه بالا باعث میشه هرکسی هر زمان که لازم داشت بتونه به راحتی اونها رو یاد بگیره دیگه اینجا گفته نشده زمانبندی برای کسی که روزی ۴ ساعت بتونه وقت بذاره توقع دارم توی ۶ ماه این موضوعات رو تموم کنه!
حداکثر ۲ ساعت مطالعه،
حداقل ۲ ساعت توسعه کد.
در طول هفته (شنبه تا ۵ شنبه)
جمعه هم ۱ ساعت، برای
code review (بخشهایی که قبلتر کد زدید)❤40👍8