Telegram Group Search
جلسه حضوری مهندس ابراهیم اخزری با بچه های مدرسه

هنرستان شهید دبیریان نازی آباد تهران

✔️مهندس ابراهیم اخزری محقق امنیت هستن
✔️در مورد امنیت و زبان های برنامه نویسی مرتبط با امنیت صحبت کردن
✔️و همه سوالهای دانش آموزهارو هم پاسخ دادن

تشکر از مهندس اخزری

آدرس کانال ایشون:
https://www.tg-me.com/itshield
برای قیمت تخفیفی در فروشگاه جنگو تون چطور عمل می کنید؟

✔️منظورم این چیزی که توی عکس هست.

بعضی شاید بگن یه فیلد قیمت تخفیفی میزارم. میشه، ولی اگه بخوای به 100 محصول تخفیف بدی یا تخفیفش رو برداری باید 100 بار ویرایش کنی.

با بررسی فروشگاه های مختلف متوجه میشید که معمولا قیمت تخفیفی رو بر حسب دسته بندی یا کالکشن یا... میدن

اینجوری همه محصولاتی که عضو اون دسته بندی یا... هست، یکجا قیمت تخفیفی میخورن.

مسلما باید هر محصول بتونه جزو چند دسته بندی یا... باشه. که بتونیم تخفیف های مختلف هم داشته باشیم.

✔️تخفیف درصدی، تخفیف ثابت، تخفیف زمان دار و...

✔️این موضوع ارتباطی به جنگو نداره و همه فروشگاه ها، حتی پرستاشاپ هم شامل میشه.

نظرتون رو کامنت کنید یا به @miladhzz بفرستید.
پارامتر through توی ارتباط ManyToMany در جنگو

توی مدل های جنگو وقتی یه فیلد ManyToMany ایجاد می کنیم، و Migrate کنیم. خود جنگو یه جدول واسط برای هندل کردن ارتباط چند به چند میسازه.

✔️می تونیم اون جدول واسط رو خودمون کاستوم کنیم (به هر دلیلی)

لذا مثل عکس میتونیم از through استفاده کنیم.

کانال میکرو فرانت اند توی ویدئوی زیر بیشتر توضیحش داده
https://www.tg-me.com/microfrontend_ir/180

سوال: through_fields برای فیلدهای چند به چند کارش چیه؟ و چه استفاده ای داره؟ (توی عکس نیست)
Forwarded from Microfrontend.ir
@IIIllIlll زحمت کشیدن یک ریپو خوب برای آموزش او ار ام جنگو ساختن


https://github.com/rz-k/django-orm-tutorial
Forwarded from Python BackendHub (Mani)
یکی از اشتباهات رایج و خیلی بد تو دیزاین دیتابیس که من دیدم خیلی انجام میدن اینه که سعی میکنن state یک entity رو با چند boolean ست کنند.
مثلا برای یوزر داریم:
is_active
is_banned
یا شما میتونی برای پردازش یک دیتایی اینطوری هم ذخیره کنی:
is_pending
is_success

اما خیلی پرکتیس بدیه. چرا؟ به ۲ دلیل:
۱. حالت هایی به وجود میاد از ترکیب این boolean ها که رخ دادنش ممکن نیست. مثلا چطوری میشه is_pending=true باشه و is_success هم true باشه؟ حالا هرچی جلوتر برید و تعداد boolean هاتون بیشتر شه این ترکیب هایی که امکان رخ دادنشون وجود نداره خیلی بیشتر میشه. مثلا ۴ تا boolean میشه ۱۶ حالت. آیا واقعا همه ۱۶ حالت رو دارین؟!
۲. راه حل دوم خیلی بهتره! راه حل دوم چیه؟‌استفاده از یک Enum تو دیتابیستون.

PENDING
SUCCESS
FAILED

حالا یک جایی نیازه که ایمیل بزنید اگه این پردازش موفقیت آمیز نبود. خیلی راحت میتونید رو همه حالت ها match case کنید. و در نهایت یک assert never هم قرار بدید.
اینطوری فردا اگه یک state جدید اضافه کنید به اپلیکیشنتون, همه جای کدتون ارور تایپینگ میخورید تا مجبور شید رفتار و ساید افکت state جدید رو تو همه جا هندل کنید.


match state:
case State.FAILED:
email_to_user()
case State.SUCCESS | State.FAILED:
pass # do nothing
case _:
assert_never(state)



@PyBackendHub
دوره (غیر رایگان) فروشگاه اینترنتی با جنگو آپدیت شد.

لینک دوره:
https://www.daneshjooyar.com/project-django/


✔️چند قسمت رایگان از این دوره رو اینجا ببینید:

https://www.aparat.com/v/tga7df6

https://www.tg-me.com/telegram/com.djangolearn_ir/531
https://www.tg-me.com/telegram/com.djangolearn_ir/533
https://www.tg-me.com/telegram/com.djangolearn_ir/573
https://www.tg-me.com/telegram/com.djangolearn_ir/676
https://www.tg-me.com/telegram/com.djangolearn_ir/724
https://www.tg-me.com/telegram/com.djangolearn_ir/889


در صورتی که از لحاظ مالی توانایی پرداخت همه مبلغ دوره رو ندارید، خصوصی پیام بدید.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Agora (Alireza Azadi)
Please open Telegram to view this post
VIEW IN TELEGRAM
گردونه شانس رو آزمایش کنید

الان دیدم یکی دوره من رو با 92 درصد تخفیف خریده 😳

توی صفحه اول دانشجویار نوار جشنواره بالای سایتشون
Forwarded from An Inspired Engineer
‏یکی از پرطرفدارترین آموزش‌های دکتر کلامی در فرادرس، آموزش اصول و مبانی برنامه‌نویسی است که به صورت رایگان در دسترس است و به طور متوسط، در هر ماه بیش از ۴۰۰۰ نفر درخواست دسترسی به آن را ثبت می‌کنند.

🔗لینک آموزش:
https://faradars.org/courses/fvrprg101-programming-basics-concepts

‏این آموزش در کمتر از ۳ ساعت، هر آنچه را که برای ورود به دنیای برنامه‌نویسی لازم است، یاد می‌دهد. آموزش اصول و مبانی برنامه‌نویسی، در واقع درس شماره صفر سایر آموزش‌های برنامه‌نویسی است و دانستن مفاهیم ارائه شده در آن، در یادگیری بهتر هر زبان برنامه‌نویسی دلخواه، کمک‌کننده است.

دکتر کلامی هریس
Forwarded from An Inspired Engineer
همونطور که میدونین HTTP میاد روی TCP سوار میشه و توسط اون داده‌ رو میفرسته، عملا پروتکل http چیزی جز یه مشت قوانین روی چند خط string نیست. اکثرا وظایفش توسط Tcp پیاده سازی شده و ما فکر میکنیم که Http داره نقشش رو خوب بازی میکنه.

حالا دوتا از این نقش هایی که توسط Tcp بازی میشن چی هستن؟
- اطمینان از تحویل داده: توی Http ما گارانتی اینو از پروتکل میگیریم که داده ها صحیح و سالم تحویل داده بشن
- ترتیب صحیح داده ها: توی شبکه ممکنه بسته‌ها به صورت ناهمزمان و با ترتیبی غیر از ترتیب ارسال شده دریافت بشن، اما TCP این تضمین رو میده که داده‌ها توی مقصد به ترتیب ارسال مرتب و بازسازی بشن. خود HTTP هم از این ویژگی استفاده میکنه و نیازی به مدیریت ترتیب داده‌ها نداره.

به طور کلی، خیلی از ویژگی ‌هایی که ما از HTTP میدونیم در حقیقت توسط TCP پیاده‌سازی میشن و HTTP بیشتر به عنوان یه لایه برای تعریف اون قوانینی که بالا گفتم برای تبادل این داده ها و نوع محتوای ارسال شده عمل میکنه.

همه ی اینارو گفتم که بگم تا حالا به این فکر کردین که بیاییم Http رو روی UDP پیاده سازی کنیم چی میشه؟ میشه پروتکل Http/3 که بهش میگن QUIC حالا چالشاش چیه؟ پستای بعدی میگم

@knowpow
Forwarded from Microfrontend.ir
SQL Cheatsheet

〰️〰️〰️〰️〰️〰️
© | @microfrontend_ir
Media is too big
VIEW IN TELEGRAM
توی این ویدئو تغییراتی توی کد دادم، تا وقتی کاربر لاگین شد، آیتم های سبد خریدی که توی دیتابیس داره، لود بشن و توی سبد خریدش مشاهده شون کنه.

اگه کاربر لاگین نکرده باشه و چندتا آیتم هم توی سبد خریدش داشته باشه (همون سبد خرید سشنی) ، بعد از لاگین، ابتدا آیتم های سبد خرید دیتابیسی لود میشن، سپس آیتم های سبد خرید سشنی توی دیتابیس ذخیره میشن.

این ویدئو بخشی از آپدیت جدید آموزش ساخت فروشگاه اینترنتی است.

لینک همین ویدئو در آپارت:
https://www.aparat.com/v/pneon5r
لینک یوتیوب:
https://youtu.be/w9_PnBoG1jU

✔️لینک سورس کد کامل دوره فروشگاه اینترنتی با جنگو:
https://github.com/miladhzz/daneshjooyar_shop2/

خوشحال میشم ریپو رو نقد کنید.
Forwarded from Python Hints
#Quick

داشتم پروژه django شرکت رو می‌خوندم یک مشکل داریم سر بعضی endpointها و برخی تسک‌ها.
اولین کاری کردم این بوده که یک سری دیتا تست با faker بهش دادم مثه loadtest ولی بدون ابزار و بعد هم profiling گرفتم و ذخیره کردم.
چیز جالبی که دیدم؛ پروژه موقع کار کردن با redis به مشکل میخورد.
ولی redis منابعش بیشتر از حد مورد نیازش بود.

حجم دیتاهای تست رو کم کردم و مشکل حل شد؛ توی چندتا تست مختلف که زدم دیدم مسئله و مشگل از سمت پیکج redis هست توی پایتون و راهکار ساده رو هم خود redis داده (هرچند من برعکس بهش رسیدم)

$ pip install "redis[hiredis]"


بجای اینکه برای parse کردن دیتا از python استفاده کنه وقتی hiredis رو نصب کنید از C استفاده می‌کنه (بنچمارکاش هم توی گیت‌هاب hiredis هست ببینید)

مشکل خیلی ساده حل شد؛ ولی برای این حل ساده خیلی زمان و درک profiling لازم بود.

اهمیت profiling
Forwarded from Linuxor ?
این تیتر هم جالب بود 9 الگورتیمی که بر دنیای ما حکمرانی می‌کنند.

@Linuxor
یک سوال:
آیا هنوز داشتن sitemap در SEO سایت مون تاثیر داره؟
ممنون میشم اگه کسی تجربه ای داره، کامنت کنه.
Final Results
57%
نمیدونم
24%
تاثیر زیادی داره
13%
تا حدودی تاثیر داره
3%
بودن و نبودنش فرقی نداره
2%
موتورهای جستجو دیگه بهش اهمیت نمیدن
2%
باید توضیح بدم. پس نظر میدم
این سوال ع stackoverflow برای منم سوال شده بود (البته عکسی که گذاشتم یه پاسخه)

Django 'Sites' Model - what is and why is 'SITE_ID = 1'?
لینک سوال:
https://stackoverflow.com/questions/25468676/django-sites-model-what-is-and-why-is-site-id-1

عکسی که گذاشتم اشاره کرده که تا جنگو 1.4 فریمورک sites کارش چیز دیگه ای بوده. ایشویی که اشاره کرده رو ببینید.

✔️راستی اون SITE_ID به خاطر این مقدارش 1 باید باشه، چون وقتی sites رو به installed_app اضافه میکنیم باید مایگریت کنیم و یه رکورد به جدول site اضافه میکنه با مقدار example.com و آیدی ش هم 1 هست.

و خب مسلما قابل تغییره
2025/06/15 16:09:10
Back to Top
HTML Embed Code: