جنگولرن
3.78K subscribers
287 photos
73 videos
31 files
553 links
آموزش Django و بستگان
Download Telegram
Forwarded from Python BackendHub
با این اپلیکیشن دقیقا میتونید متوجه شین که چه اتفاقی داره میفته.
مثلا یک برنامه دارین (پایتونی یا هرچی) و هر درخواستی که از سیستم عاملتون رد شه چه HTTP باشه چه HTTPS رو کامل capture میکنه و به صورت plain خیلی تمیز بهتون نشون میده.
👍6
سوال جنگویی

اگه توی ListView مقدار اتریبیوت ع allow_empty رو برابر False کنیم.

چی میشه؟


بیخیال ChatGPT و امثالهم...

آپدیت:
جوابش اینه
با این تنظیم اگه لیست خالی باشه خطای 404 میده
👍2
سوال پایتونی

این کد رو اجرا کنیم، نتیجه ش چی میشه؟

اعتراف می کنم خودم نمی دونستم.
👍4
سوال پایتونی

آیا روشی که توی خط 8 متد super رو صدا زدیم درست است؟

این کد ارور میده؟
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🔸 مفهوم Comprehensions قطعه کدهایی قدرتمند در پایتون (معرفی)

🙋🏽‍♂️ خیلی وقت‌ها کدهای افراد باتجربه توی پایتونو نگاه می‌کنیم می‌بینم که برای ایجاد sequence؛ لیست، دیکشنری، سِت، از یه روش خاصی استفاده می‌کنند که کدشون بهینه‌تر، خواناتر و خلاصه‌تر می‌شه! اسم این روش comprehension هست!


🔸 ما توی دوره صفر تا قهرمانیِ پایتون از آیزی‌لرن یاد می‌گیریم چطور انواع comprehensions رو با مثال توی کدهامون پیاده‌سازی کنیم.

--------------------
🔗 وب‎‌سایت : آیزی‌لرن
👍3🔥21
💎 عملیات‌های IO Bound و CPU Bound در جنگو 💎

امروز می‌خوایم درباره عملیات‌های IO Bound و CPU Bound صحبت کنیم و اینکه این دو نوع عملیات چطور روی عملکرد اپلیکیشن‌های جنگو تاثیر میذاره.

حالا IO Bound چیه؟ 🤔
عملیات‌های IO Bound به کارهایی اشاره دارن که بیشتر زمانشون صرف ورود و خروج داده‌ها میشه. مثلاً وقتی داریم با دیتابیس، فایل‌ها یا شبکه کار می‌کنیم. این نوع عملیات معمولاً منتظر میمونن تا داده‌ها از دیسک یا شبکه بیاد.

مثال‌هایی از IO Bound:
- خوندن و نوشتن در دیتابیس
- ارسال یا دریافت داده‌ها از API
- بارگذاری فایل‌ها

حالا CPU Bound چیه؟ 🧠
عملیات‌های CPU Bound به کارهایی اشاره دارن که بیشتر زمانشون صرف محاسبات سنگین میشه. یعنی برای پردازش و محاسبات نیاز به قدرت پردازشی بالا دارن. در اینجا عملکرد CPU نقش کلیدی رو ایفا می‌کنه.

مثال‌هایی از CPU Bound:
- پردازش تصاویر و ویدئوها
- انجام محاسبات ریاضی پیچیده
- اجرای الگوریتم‌های پیچیده

تفاوت‌های اصلی بین IO Bound و CPU Bound 🔍
1⃣ مدت زمان انتظار:
-عملیات های IO Bound معمولاً منتظر ورود و خروج داده‌ها هستن و زمان زیادی رو صرف این کار می‌کنن.

- عملیات های CPU Bound بیشتر زمانشون رو برای پردازش و محاسبات صرف می‌کنن.

2⃣ تکنیک‌های بهینه‌سازی:
- برای عملیات‌های IO Bound می‌تونی از Async و Threading استفاده کنی تا زمان انتظار رو کاهش بدی.

- برای CPU Bound باید به سراغ Multiprocessing بری تا بتونی از چند هسته CPU به طور همزمان استفاده کنی.

چطور در جنگو با اینها کار کنیم؟ 🚀
- برای IO Bound:
می‌تونی از async و await استفاده کنی تا درخواست‌ها به صورت غیر همزمان انجام بشن و سرعت اپلیکیشن بالا بره.

- برای CPU Bound:
می‌تونی از ماژول concurrent.futures و ProcessPoolExecutor استفاده کنی تا کارهای سنگین رو در چند پروسه اجرا کنی.

جمع‌بندی 🎯
درک تفاوت‌های بین IO Bound و CPU Bound می‌تونه بهت کمک کنه تا اپلیکیشن‌های جنگو رو بهتر بهینه‌سازی کنی. اگه عملیات‌های IO Bound داری، از async استفاده کن و اگر CPU Bound هستن، برو سراغ multiprocessing.

امید وارم مفید بوده باشه :)

#iobound #cpubound #python #django


@ninja_learn_ir
👍18👎1
Forwarded from جنگولرن
Media is too big
VIEW IN TELEGRAM
مصاحبه علی بیگدلی با من در مورد فروشگاه اینترنتی با جنگو

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

لینک آپارت:
https://www.aparat.com/v/kuocju0

لینک یوتیوب:
در حال آپلود

لینک مکتب خونه
👍62
ویدئوی آموزشی برخی از دستورات SQL

لینک:
https://www.aparat.com/v/gdmmamx

توی این قسمت در مورد مفاهیم زیر صحبت کردیم:
✔️نکات مربوط به استفاده از کلید اصلی ترکیبی
✔️نکات دستور delete
✔️نکات دستور update
✔️اجرای کوئری های مختلف select
✔️نکات مرتب سازی رکوردها
✔️نکات مربوط به group by
✔️نکات مربوط به join دو جدول با هم
✔️نکات مربوط به ضرب دکارتی در join جدول ها بدون where

این ویدئو رو برای معلم های هنرستان و درس توسعه برنامه سازی و پایگاه داده ساختم.
اما چون مفاهیم ش کلی هست به درد همه میخوره.
👍5
Forwarded from آکادمی دکتر مس‌فروش (Ali Mesforush)
http://tiny.cc/Mes_Academy

سلام.
دوره‌های آموزشی رایگان زیر در ۸ سال گذشته توسط من تهیه شده است که می‌تواند برای دانشجویان علوم‌ پایه، فنی و مهندسی و علوم کامپیوتر مفید باشد.
تلاش من بر این بوده است که برای درس‌های دانشگاهی تمام سرفصل مصوب وزارت علوم رعایت شود و درس‌ها به شکل پایه‌ای و اصولی آموزش داده شوند.

با توجه به شروع سال تحصیلی جدید سپاسگزار خواهم شد اگر این پست را باز نشر (Repost) فرمایید.

۱- آموزش رایگان ریاضی پیش‌دانشگاهی، ویژه نودانشجویان
http://tiny.cc/Mes_PreMath

۲- آموزش رایگان ریاضی عمومی یک مهندسی
http://tiny.cc/Mes_Calculus1

۳- آموزش رایگان ریاضی عمومی ۲ مهندسی
http://tiny.cc/Mes_Calculus2

۴- آموزش رایگان معادلات دیفرانسیل رشته‌های مهندسی
http://tiny.cc/Mes_ODE

۵- دوره تست معادلات دیفرانسیل
http://tiny.cc/Mes_ODETest

۶- آموزش رایگان ریاضی مهندسی
http://tiny.cc/Mes_EngMath

۷- آموزش رایگان محاسبات عددی ویژه دانشجویان رشته‌های مهندسی
http://tiny.cc/Mes_Mohasebat

۸- آموزش رایگان احتمال مهندسی
http://tiny.cc/Mes_Probabilty

۹- آموزش رایگان کار و برنامه‌نویسی با MATLAB
http://tiny.cc/Mes_Matlab

۱۰- آموزش رایگان Maple
http://tiny.cc/Mes_Maple

۱۱- آموزش رایگان برنامه‌نویسی با Python
http://tiny.cc/Mes_Python

۱۲- آموزش رایگان برنامه‌نویسی پایتون (کلاس درس)
http://tiny.cc/Mes_PythonClass

۱۳- مبانی کامپیوتر با پایتون ۳
http://tiny.cc/Mes_Mabani

۱۴- آموزش رایگان Numpy, Scipy
http://tiny.cc/Mes_Numpy

۱۵- آشنایی با یادگیری ماشین
http://tiny.cc/Mes_ML

۱۶- آموزش رایگان برنامه‌‌نویس با C++
http://tiny.cc/Mes_CPP

۱۷- هنر برنامه‌نویسی
http://tiny.cc/Mes_Art

۱۸- آموزش رایگان حروف‌چینی مستندات علمی با LaTeX و بسته XePersian.
http://tiny.cc/Mes_LaTeX

۱۹- کارگاه آشنایی با لاتک و زیپرشین دانشگاه کاشان
http://tiny.cc/Mes_Kashan

۲۰- کارگاه آشنایی با LaTeX و XePersian بهشهر
http://tiny.cc/Mes_Behshar

۲۱- آموزش رایگان رسم در LaTeX
http://tiny.cc/Mes_Tikz

۲۲- آموزش رایگان مبانی آنالیز عددی
http://tiny.cc/Mes_Adadi1

۲۳- آموزش رایگان آنالیز عددی ۲
http://tiny.cc/Mes_Adadi2

۲۴- آموزش رایگان آنالیز عددی پیشرفته
http://tiny.cc/Mes_AdvNum

۲۵- آموزش رایگان جبرخطی و مبانی ماتریس‌ها
http://tiny.cc/Mes_LinAlg

۲۶- آموزش رایگان جبرخطی عددی (ریاضی، برق و علوم کامپیوتر)
http://tiny.cc/Mes_NumLinAlg

۲۷- آموزش رایگان جبرخطی عددی پیشرفته
http://tiny.cc/Mes_AdvNumAna

۲۸- آموزش رایگان معادلات دیفرانسیل با مشتقات جزئی
http://tiny.cc/Mes_PDE

۲۹- آموزش رایگان روش عناصر متناهی (FEM)
http://tiny.cc/Mes_FEM

۳۰- آموزش رایگان FEniCS، برای حل معادلات دیفرانسیل با مشتقات جزئی
http://tiny.cc/Mes_Fenics

۳۱- آموزش رایگان کار و برنامه‌نویسی در R
http://tiny.cc/Mes_R

۳۲- حل تمرین دروس مختلف
http://tiny.cc/Mes_HaleTamrin

۳۳- آموزش رایگان حسابان (۱) پایه یازدهم
http://tiny.cc/Mes_Hesaban11

۳۴- آموزش رایگان ریاضی (۲) پایه یازدهم تجربی
http://tiny.cc/Mes_Riazi11

۳۵- آشنایی با سوالات آزمون استخدامی
http://tiny.cc/Mes_Estekhdami

۳۶- آموزش رایگان روش سریع تراختنبرگ در حساب
http://tiny.cc/Mes_Trachtenburg

۳۷- آشنایی مختصر با لینوکس
http://tiny.cc/Mes_Linux

۳۸- آمادگی برای المپیاد ریاضی
http://tiny.cc/Mes_Olympiad

لطفا با سابسکرایب کردن کانال در یوتیوب و انتشار این پست در گروه‌ها، کانالها در فضای مجازی از آن حمایت کنید.
🔥8👍21
معرفی پکیج های پایتونی

فروشگاه saleor یه نسخه قدیمی داره که دیگه آرشیو ش کرده.
من یه فورک ازش گرفتم توی این آدرس:
https://github.com/miladhzz/saleor-old

فایل requirements.txt رو که دیدم، پکیج های خیلی زیادی توش بود.
از ChatGPT کمک گرفتم و خواستم کار هر کدوم رو در یک جمله کوتاه بگه
خروجی ChatGPT رو عینا توی پست های بعدی قرار میدم.

آپدیت: یکی از دوستان زحمت کشید و pdf ش کرد. پست بعدی
👍4
Used packages.pdf
117.8 KB
لیست همه پکیج های استفاده شده در فروشگاه اوپن سورس saleor نسخه قدیمی تمپلت
در قالب pdf
تشکر از Arash

پست های حذف شده رو منتقل کردم به کامنت همین پست
👍10
⚠️خواهشا ردیس را به عنوان Primary Database استفاده نکنید!

از لینکدین Hasan Arab borzo
✔️کامنت هاشم بخونید. لینک این مطلب

💥 یکی از جذاب‌ترین ریفکتور هایی که در اکالا انجام دادم، به ریلیز کردن ۴۰ گیگابایت رم ردیس برای استفاده در سبد خرید و سفارش‌ها مربوط میشه. در این فرآیند، موفق شدم تنها از ۴۰۰ مگابایت رم استفاده کنم!
در شروع کار، به این فکر می‌کردم که چگونه می‌توانم ۴۰ گیگابایت رم را آزاد کنم. اولین راه‌حلی که به ذهنم رسید، فشرده‌سازی داده‌ها بود. اما هیچ کامپرسوری نمی‌توانست به اندازه کافی این حجم داده را فشرده کند، و هزینه‌ی Decompress کردن آن بخاطر لود بالای سیستم، بسیار بالا بود.

🤔 هر کلید ما حاوی حدود ۱-۲ کیلوبایت JSON بود و مجبور بودیم که هر محصول را بدون TTL در Redis نگه داریم، زیرا Round Trip ما به Redis در لحظه به حدود ۳۰K می‌رسید و Redis ۴۰ گیگابایتی را مصرف می‌کرد. هیچ اپلیکیشنی نمی‌توانست این حجم Request را با منابع پایین و زمان پاسخ‌دهی ۱۰ میلی‌ثانیه انجام دهد!
در ادامه، وقتی وارد فضای حل مسئله شدم:

💡 پاک‌سازی داده‌های اضافی: اولین قدم ما حذف کلی داده‌های غیرضروری بود که هر کلید را به حدوداً ۵۰۰ بایت تبدیل کرد.

💡 استفاده از Protobuf: به این فکر کردم که چرا از JSON استفاده کنیم؟ با استفاده از deserializer و serializer قدرتمندی مثل Protobuf، می‌توانستیم حجم داده‌ها را به طور چشمگیری کاهش دهیم. با تبدیل داده‌ها به باینری و ذخیره آن، حجم هر کلید به حدود ۳۰۰ بایت کاهش یافت، که به معنای کاهش ۸۰ درصدی مصرف رم بود. با این حال، کیفیت و سرعت بالا در اکالا برای ما بسیار مهم بود.

💡 شکستن کلیدها: کلیدها را به دو بخش تقسیم کردم:
اطلاعات محصول (شامل نام، بارکد، آدرس عکس و...) در یک کلید با حجم تقریباً ۲۰۰ بایت.
موجودی هر محصول در فروشگاه‌ها در کلیدی دیگر با حجم حدود ۱۰۰ بایت.
در روش قبلی، اگر یک میلیون کالا داشتیم، مصرف حدود ۲۸۶ مگابایت بود. اما در روش جدید، فرض کنیم از یک میلیون تا 2000 محصول داریم و برای یک میلیون کالا موجودی در استور های مختلف، حدود ۹۵ مگابایت مصرف می‌شد!

💡 کش کردن محصولات: همچنین، کالاهای اضافه‌شده به سبد خرید مشتریان را به مدت ۴ روز کش کردم. به جای استفاده از Redis به عنوان Primary Database و بدون TTL، هرگاه داده‌ای نداشتیم، از منبع اصلی اطلاعات را می‌گرفتیم و دوباره به مدت ۴ روز کش می‌کردیم. اگر کاربری همان کالا را دوباره به سبد خرید اضافه می‌کرد، TTL آن به صورت Sliding افزایش می‌یافت.

در نهایت، با همین ۴۰۰ مگابایت، همه چیز به خوبی به هم رسید و ما توانستیم پرفورمنس و سرعت را بدون هیچ افت کیفیتی حفظ کنیم!
👍116👏1
این پست که در مورد DRF هست رو بخونید به همراه نظراتش

https://t.me/dr_biglari_ds/2961
👍5🔥1
بهینه سازی Query Performance : متد Only در ORM جنگو

از لینکدین آقای عموزاده

یکی از فعالیتهای روزمرهام برای محصولات این است که بخش Issues و Performance سرویس Sentry رو بررسی کنم و از لیست مشکلات Performance ای که Sentry تشخیص داده، موارد مهم رو پیدا و به تیم ارجاع بدم و گاهی اوقات هم خودم برم سروقت حل شون و یادگیری ام حفظ بشه. تو گزارش ها، endpoint و background task هایی داریم که Response time یا failure rate شون بیشتر از انتظاره و یا گاهی اوقات سرویس زیر بار کلاً از دست میره (504 میگیریم برای مثال). یکی از روش هایی که میشه برای حل این دست مشکلات استفاده کرد، محدود کردن انتخاب ستونها به اونایی که واقعاً نیاز هستند است. در ORM ها معمولاً ستونهای بیشتر به معنی مصرف منابع بیشتر است و میتونه Capacity و Response time سرویس/محصول را تحت تأثیر قرار بده. در Django یکی از ابزار هایی که برای بهبود Query ها استفاده میکنم متد only است. به این شکل که اول جایی که نتیجه قراره استفاده بشه (مثلاً Template، REST یا …) رو اول بررسی میکنم تا ببینم که چه تعداد از ستونها ضروری هستند و اونا رو به عنوان آرگومان به متد only میدم. بعد با کمک ابزار های مشاهده Query (مثل Debug toolbar یا مشابهش) نتیجه کار رو از نظر دیتابیس چک میکنم. نکته مهم این است که مطمئن باشیم همه ستونهای مورد نیاز رو به متد داده ایم، اگر متدی جای دیگه ای استفاده بشه،ORM مجبور میشه مجدد کوئری بزنه و از هدف اولیه دور میشیم. نکته بعدی اینکه در تجربه و کیس های کاری من، استفاده از این متد، بیشتر مواقع باعث تحول سرویس نشد،قدم مثبتی به جلو بود و خودش رو برای مثال در تهیه گزارش ها (جایی که تعداد زیادی iteration داشتیم) بیشتر نشون داد و اکثر مواقع تفاوت محسوسی نداشت (تفاوت رو با اندازهگیری زمان DB response time، مقدار مصرف حافظه و HTTP response time اندازهگیری کردم). تفاوت Query بدون و با استفاده از Only رو توی تصویر میتونین ببینید و امیدوارم یک ابزار مفید توی جعبه ابزارتون باشه. 🙂 لینک مستندات: https://lnkd.in/dhiwfcb4

تصاویر در نظرات پست
👏7👍32
اصل single responsibility چرته

✔️کامنت هاش رو حتما بخون
لینک


کلمه responsibility خودش خیلی کلمه نامفهومیه، اصلا responsibility ینی چی؟ شما وظیفه رو دقیقا چی تعریف میکنی؟ به چی میگی وظیفه؟

آقای uncle Bob در تعریف single responsibility میگه:

A class should have one and only one reason to change

ینی چی only one؟

در همین ابتدا میشه دو تا دلیل آورد که یه کلاس میتونه تغییر بکنه، یکی باگ فیکس و دومی فیچر اضافه کردن

الان تکلیف ما چیه؟ این تعریف رفت زیر سوال، ینی دیگه من single responsibility رو رعایت نکردم؟


حالا فرض کنید یه نفر یک کلاسی نوشته که دو تا متد داره، یکی کاربر رو ایجاد میکنه و یه متد دیگه داره به اون کاربر notification خوش آمد گویی ارسال میکنه.

آیا طبق معیاری به اسم single responsibility میشه گفت این کلاسی که تعریف کردم single responsibile هست؟

به نظرم من خیر نمیشه گفت

حالا معیار درست چی میتونه باشه؟
Cohesion

به نظرم معیار درست تر Cohesionهه، چرا؟

احتمالا وقتی که من کلاس بالارو براتون تعریف کردم به خودتون گفتید ارسال notification چه ربطی به ایجاد کاربر داره، دقیقا درست گفتید

معیار Cohesion بهتره چون شما میتونید ببینید متدهای که چیدید کنار هم چقدر به هم دیگه مرتبط هستند

با این معیار حالا میشه تصمیم گرفت که متد ارسال notification باید یک کلاس مستقل برای خودش بشه
👍61🤔1
Forwarded from یادگیری ماشین با چاشنی صنعت (Abolfazl 🤘)
چرا مهندسی نرم افزار؟

تمام آن چه که ما نیاز داریم برای پیشرفت تو صنعت مهندسی نرم افزاره. نه زبان و نه فریمورک و نه ابزار.

مهندسی نرم افزار یعنی اون چیزی که تو دانشگاه یاد میگیریم. یعنی انتخاب بهترین سولوشن نسبت به موقعیت.
مهندسی نرم افزار به این معنی نیست که هر چی قلمبه سلمبه تر کار کنی و پیچیدگی رو بیشتر کنی آدم خفن تری هستی!

بلکه دقیقا به این معنیه که پیچیدگی رو کم کنی و نسبت به موقعیت بهترین متدولوژی رو ارائه بدی..

حالا تو این میان هر چی ابزار بیشتر بدونی راحت تر کارت رو راه میندازی.

از این به بعد اینو هر روز با خودم تکرار میکنم، توصیه میکنم شما هم تکرارش کنید😁:

مهندسی نرم افزار، یعنی علم چگونگی حل مشکل در یک موقعیت خاص به شکل بهینه.
👍22
Media is too big
VIEW IN TELEGRAM
مصاحبه با مهندس امیر موسوی برنامه نویس ارشد دات نت شرکت Utravs - هنرستان دبیریان نازی آباد تهران

✔️نکاتی که گفتن ارتباطی به زبان برنامه نویسی خاصی نداره و برای همه برنامه نویس های تازه کار میتونه مفید باشه

توی این ویدئو با هماهنگی هنرستان شهید دبیریان واقع در محله نازی آباد تهران
و سر کلاس دوازدهم تجارت الکترونیک با ایشون مصاحبه داشتم.

✔️مهندس موسوی هنرستانی بودن

سوالهای زیر رو ازشون پرسیدیم:
-چه شرکتهایی کار کردید
-رمز موفقیت شما چی بوده
-آیا مدرسه دانشگاه و... میتونه در برنامه نویس خوب شدن کمک کنه
-نظر شما در مورد هوش مصنوعی چیه
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردین چه توصیه هایی بهشن می کردید
-اگر برمیگشتن به دوران انتخاب رشته و کنکور آیا از طریق رشته ریاضی و دانشگاه ادامه میدادن یا دوباره با کنکور فنی میرفتن
- کجا واسه کاراموزی برن ک توش کار یاد بگیرن

لینک آپارات:
https://www.aparat.com/v/sayb5wu

لینک یوتیوب:
https://youtu.be/QeV73QCwmE0
👏72🤮1
Partial Functions در پایتون چیه

با این توابع که با استفاده از partial از ماژول functools میشه ساختشون.
می تونیم تعداد مشخصی از آرگومان های تابع را با مقادیر مشخصی تعیین کنیم و تابع جدیدی بسازیم.

مثال:
یک تابع برای ارسال ایمیل با مقادیر پیش‌فرض مانند "از" و "موضوع":
from functools import partial  

def send_email(from_address, to_address, subject, body):
print(f'Sending email from {from_address} to {to_address}')
print(f'Subject: {subject}')
print(f'Body: {body}')

send_marketing_email = partial(send_email, from_address='marketing@example.com', subject='Our New Product')

send_marketing_email(to_address='customer@example.com', body='Check out our new product!')


این مثال شاید زیاد کاربردی نبود.
اگه شما کاربرد درست partial رو میدونید، ممنون میشم توی کامنت بنویسید.
🤔5👍3
ویس های ادامه دار از کتاب Designing data-intensive applications
با ارائه عثمان
@osman_makhtoom

✔️این مفاهیم ارتباطی به زبان برنامه نویسی ندارن. لکن و من الله التوفیق

ویس اول- بخشی از مقدمه کتاب
https://t.me/osmanmakhtoomdev/76

ویس دوم- بخش دوم و پایانی مقدمه کتاب
https://t.me/osmanmakhtoomdev/79

ویس سوم- مقدمه بخش اول کتاب
https://t.me/osmanmakhtoomdev/80

ویس چهارم- بخش اول کتاب
https://t.me/osmanmakhtoomdev/85

ویس پنجم- تفکر در خصوص دیتا سیستم ها و دیزاین درست دیتا سیستم و شرایطی که دیزاین ما وابسته به اوناست.
https://t.me/osmanmakhtoomdev/95

ویس ششم- مفهوم قابل اعتماد بودن اپلیکیشن و ی سافت اسکیل مهم.
https://t.me/osmanmakhtoomdev/96

ویس هفتم- انواع خطاها
https://t.me/osmanmakhtoomdev/97

ویس هشتم- مقدمه قابلیت مقیاس پذیری
https://t.me/osmanmakhtoomdev/98

ویس نهم- توصیف لود
https://t.me/osmanmakhtoomdev/99

ویس دهم- توصیف پرفورمنس (پارت اول)
https://t.me/osmanmakhtoomdev/111
👏4👍21
معرفی پکیج جنگویی

برای اضافه کردن لاگین با گوگل، فیس بوک، گیت هاب و...
به سایت خودتون می تونید از پکیج social-auth-app-django استفاده کنید.

لینک pypi:
https://pypi.org/project/social-auth-app-django/
لینک گیت هاب:
https://github.com/python-social-auth/social-app-django
لینک داکیومنتش:
https://python-social-auth.readthedocs.io/en/latest/intro.html

✔️فریمورک های زیر رو هم ساپورت میکنه:
Django
Flask
Pyramid
Webpy
Tornado

✔️آپدیت هم هست. و افراد زیادی روش کار کردن. 131 ایشو باز داره و 167 تا ایشو کلوز شده داره.
👍6