bigdeli_2.pdf
1003.3 KB
✅تست نرم افزار چیه و شامل چیا میشه؟
از لینکدین علی بیگدلی
همگی کم و بیش با واژه تست کردن نرم افزار یا سرویسمون آشنایی داریم و می دونیم از چه ابزار هایی برای چه تست هایی استفاده میشه ولی می خوام یه قدم برگردیم عقب تر و مباحث رو با دسته بندی بهتر نگاه کنیم.
اگر بخوایم کلی دسته بندی کنیم:
- تست عملکرد (Functional Testing)
- تست غیر عملکرد (Non-Functional Testing)
- تست نگهداری و بازرسی (Maintenance Testing)
بر اساس نحوه اجرا اگر دسته بندی بشن:
- تست دستی (Manual Testing)
- تست خودکار (Automation Testing)
و بر اساس تکنیک تست:
- تست جعبه سیاه (Black-box Testing)
- تست جعبه سفید (White-box Testing)
- تست جعبه خاکستری (Gray-box Testing)
موارد بسیار زیادی هستش که نیازمند یادگیری میشن مثل اینکه بهترین روش ها چیه و به اصطلاح best practice ها چی می تونن باشن. اما در کل شما طی یک پروژه نیازمند تست نرم افزار، ساختار و کیفیت اون خواهید بود و حتی بر اساس امنیت و میزان باری که تحمل می کنه و یا اینکه زیر Stress test چه واکنش هایی میده هم باید سرویس رو مورد آزمایش قرار بدید.
و...
از لینکدین علی بیگدلی
همگی کم و بیش با واژه تست کردن نرم افزار یا سرویسمون آشنایی داریم و می دونیم از چه ابزار هایی برای چه تست هایی استفاده میشه ولی می خوام یه قدم برگردیم عقب تر و مباحث رو با دسته بندی بهتر نگاه کنیم.
اگر بخوایم کلی دسته بندی کنیم:
- تست عملکرد (Functional Testing)
- تست غیر عملکرد (Non-Functional Testing)
- تست نگهداری و بازرسی (Maintenance Testing)
بر اساس نحوه اجرا اگر دسته بندی بشن:
- تست دستی (Manual Testing)
- تست خودکار (Automation Testing)
و بر اساس تکنیک تست:
- تست جعبه سیاه (Black-box Testing)
- تست جعبه سفید (White-box Testing)
- تست جعبه خاکستری (Gray-box Testing)
موارد بسیار زیادی هستش که نیازمند یادگیری میشن مثل اینکه بهترین روش ها چیه و به اصطلاح best practice ها چی می تونن باشن. اما در کل شما طی یک پروژه نیازمند تست نرم افزار، ساختار و کیفیت اون خواهید بود و حتی بر اساس امنیت و میزان باری که تحمل می کنه و یا اینکه زیر Stress test چه واکنش هایی میده هم باید سرویس رو مورد آزمایش قرار بدید.
و...
👍18❤2
از کانال @siliciumir
درود
شاید این پلتفرم رایگاان به کار عده ای بیاد. برای ادمین پنل جنگو میتونید تم های مختلفی رو جنریت کنید. خیلی از کارا رو سریعتر میشه باهاش انجام داد. دیتابیس و غیره رو هم متصل میکنید.
https://app-generator.dev/tools/django-generator/
درود
شاید این پلتفرم رایگاان به کار عده ای بیاد. برای ادمین پنل جنگو میتونید تم های مختلفی رو جنریت کنید. خیلی از کارا رو سریعتر میشه باهاش انجام داد. دیتابیس و غیره رو هم متصل میکنید.
https://app-generator.dev/tools/django-generator/
app-generator.dev
Django App Generator - Select Design, DataBase, Auth and Tools | App Generator
Generate Django projects and customize the database, APIs, deployment and authentication
👍5❤3
Forwarded from Ninja Learn | نینجا لرن
Boost Your Django DX (Adam Johnson) (Z-Library)-2.pdf
21.7 MB
❤13👍1
استفاده از Django-storage در محیط پروداکشن
از لینکدین Farzin Shams
قطعا در پروژههای Django از فایلهای مدیا استفاده کردید و میدونید برای بهینه بودن پروژه بهتره این فایلهارو روی سروری که پروژه ران شده ذخیره نکنید. دلایل مختلفی برای این کار وجود داره! چون:
🔹 سرور فضای محدودی داره
🔹 سرعت پایینه
🔹 بکآپگیری و امنیت سخته
🔹 مقیاسپذیر نیست
اینجاست که django-storages به کمک ما میاد:
یک پکیج کاربردی که کمک میکنه فایلها رو بهجای ذخیرهسازی محلی، روی فضای ابری آپلود کنیم، مثل:
✅ Amazon S3
✅ Google Cloud
✅ Azure
از اونجایی که اکثر سرویس دهندههای خارجی از ایران قابل استفاده نیستن، شما به راحتی میتونید با استفاده از سرویسهای S3 ایرانی مثل ابر آروان، دادیار، لیارا و ... تجربه بهتری رو برای کاربران سایت خودتون رقم بزنید.
.
💡 با این کار، همهی فایلهای آپلودی روی فضای ابری ذخیره میشن؛ که موجب سریعتر، امنتر و مقیاسپذیرتر شدن پروژههای جنگویی شما میشه.
.
اگر تجربه کار با django-storages یا اتصال به سرویسهای ابری ایرانی رو داشتی، خوشحال میشم نظرتون رو بدونم!
.
لینک: https://lnkd.in/e9EgFTpC
از لینکدین Farzin Shams
قطعا در پروژههای Django از فایلهای مدیا استفاده کردید و میدونید برای بهینه بودن پروژه بهتره این فایلهارو روی سروری که پروژه ران شده ذخیره نکنید. دلایل مختلفی برای این کار وجود داره! چون:
🔹 سرور فضای محدودی داره
🔹 سرعت پایینه
🔹 بکآپگیری و امنیت سخته
🔹 مقیاسپذیر نیست
اینجاست که django-storages به کمک ما میاد:
یک پکیج کاربردی که کمک میکنه فایلها رو بهجای ذخیرهسازی محلی، روی فضای ابری آپلود کنیم، مثل:
✅ Amazon S3
✅ Google Cloud
✅ Azure
از اونجایی که اکثر سرویس دهندههای خارجی از ایران قابل استفاده نیستن، شما به راحتی میتونید با استفاده از سرویسهای S3 ایرانی مثل ابر آروان، دادیار، لیارا و ... تجربه بهتری رو برای کاربران سایت خودتون رقم بزنید.
.
💡 با این کار، همهی فایلهای آپلودی روی فضای ابری ذخیره میشن؛ که موجب سریعتر، امنتر و مقیاسپذیرتر شدن پروژههای جنگویی شما میشه.
.
اگر تجربه کار با django-storages یا اتصال به سرویسهای ابری ایرانی رو داشتی، خوشحال میشم نظرتون رو بدونم!
.
لینک: https://lnkd.in/e9EgFTpC
👍17❤2✍2
✅چرا Multi-Threading در پایتون مثل جاوا کار نمیکنه؟
از لینکدین Majid BagherZadeh
کامنت های پستش رو بخونید. لینک این پست
یکی از تفاوتهای جالب بین زبانهای برنامهنویسی اینه که "Thread" در هر زبان لزوماً به معنای واقعی خودش اجرا نمیشه!
🔹 در جاوا، Threadها واقعاً میتونن روی چندین هسته CPU اجرا بشن، مخصوصاً حالا که با Virtual Threads در جاوا ۲۱، اجرای همزمان بسیار سبکتر و مقیاسپذیرتر شده.
🔹 اما در پایتون، یک چیزی به نام GIL (Global Interpreter Lock) وجود داره که باعث میشه در هر لحظه فقط یک Thread بتونه اجرا بشه، حتی اگه چند Thread ساخته باشیم! به همین خاطر، در پایتون برای استفاده از تمام هستههای CPU معمولاً به جای Multi-Threading از Multi-Processing استفاده میکنن.
💡 نتیجه؟
اگر توی جاوا Thread بسازید، واقعاً روی چند هسته اجرا میشه. اما توی پایتون، ساختن چندین Thread لزوماً به معنی اجرای همزمان واقعی نیست! به جای اون، در پایتون پردازشهای موازی بیشتر با Multi-Processing انجام میشن تا بتونن از همهی قدرت CPU استفاده کنن.
🔥 این یکی از اون تفاوتهاییـه که اگر بهش دقت نکنید، ممکنه فکر کنید Multi-Threading همیشه همون معنی رو داره—ولی در عمل، بستگی داره که توی چه زبانی کار میکنید!
🚀 شما چقدر به این تفاوتها توجه کردید؟ تجربهای در این زمینه داشتید؟
از لینکدین Majid BagherZadeh
کامنت های پستش رو بخونید. لینک این پست
یکی از تفاوتهای جالب بین زبانهای برنامهنویسی اینه که "Thread" در هر زبان لزوماً به معنای واقعی خودش اجرا نمیشه!
🔹 در جاوا، Threadها واقعاً میتونن روی چندین هسته CPU اجرا بشن، مخصوصاً حالا که با Virtual Threads در جاوا ۲۱، اجرای همزمان بسیار سبکتر و مقیاسپذیرتر شده.
🔹 اما در پایتون، یک چیزی به نام GIL (Global Interpreter Lock) وجود داره که باعث میشه در هر لحظه فقط یک Thread بتونه اجرا بشه، حتی اگه چند Thread ساخته باشیم! به همین خاطر، در پایتون برای استفاده از تمام هستههای CPU معمولاً به جای Multi-Threading از Multi-Processing استفاده میکنن.
💡 نتیجه؟
اگر توی جاوا Thread بسازید، واقعاً روی چند هسته اجرا میشه. اما توی پایتون، ساختن چندین Thread لزوماً به معنی اجرای همزمان واقعی نیست! به جای اون، در پایتون پردازشهای موازی بیشتر با Multi-Processing انجام میشن تا بتونن از همهی قدرت CPU استفاده کنن.
🔥 این یکی از اون تفاوتهاییـه که اگر بهش دقت نکنید، ممکنه فکر کنید Multi-Threading همیشه همون معنی رو داره—ولی در عمل، بستگی داره که توی چه زبانی کار میکنید!
🚀 شما چقدر به این تفاوتها توجه کردید؟ تجربهای در این زمینه داشتید؟
Linkedin
🧵 چرا Multi-Threading در پایتون مثل جاوا کار نمیکنه؟
یکی از تفاوتهای… | Majid BagherZadeh | 43 comments
یکی از تفاوتهای… | Majid BagherZadeh | 43 comments
🧵 چرا Multi-Threading در پایتون مثل جاوا کار نمیکنه؟
یکی از تفاوتهای جالب بین زبانهای برنامهنویسی اینه که "Thread" در هر زبان لزوماً به معنای واقعی خودش اجرا نمیشه!
🔹 در جاوا، Threadها واقعاً میتونن روی چندین هسته CPU اجرا بشن، مخصوصاً حالا که با…
یکی از تفاوتهای جالب بین زبانهای برنامهنویسی اینه که "Thread" در هر زبان لزوماً به معنای واقعی خودش اجرا نمیشه!
🔹 در جاوا، Threadها واقعاً میتونن روی چندین هسته CPU اجرا بشن، مخصوصاً حالا که با…
👍14✍5
Shahab.pdf
527.1 KB
محدود کردن قبلِ از کار افتادن سیستم
از لینکدین Shahab Bozorgi
ا Throttling یکی از روشهای مهم برای مدیریت درخواستها و جلوگیری از فشار بیش از حد روی سرورهاست
تو این پست باهاش آشنا میشیم
تو جنگو میتونیم با استفاده از DRF خیلی راحت Throttling رو پیادهسازی کنیم
این قابلیت بهمون کمک میکنه تعداد درخواست هایی که هر کاربر یا کل سیستم میتونه در یک بازه زمانی مشخص بفرسته رو کنترل کنیم
چجوری از Throttling تو DRF استفاده کنیم؟!
ا DRF چند نوع Throttle پیشفرض داره:
AnonRateThrottle → برای کاربران ناشناس
UserRateThrottle → برای کاربران لاگین کرده
ScopedRateThrottle → برای محدود کردن درخواستها در سطح API خاص
کافیه این تنظیمات رو توی settings.py اضافه کنیم و مقدار دلخواهمون رو تنظیم کنیم
با این روش از overload شدن سرور هم جلوگیری میکنیم.
از لینکدین Shahab Bozorgi
ا Throttling یکی از روشهای مهم برای مدیریت درخواستها و جلوگیری از فشار بیش از حد روی سرورهاست
تو این پست باهاش آشنا میشیم
تو جنگو میتونیم با استفاده از DRF خیلی راحت Throttling رو پیادهسازی کنیم
این قابلیت بهمون کمک میکنه تعداد درخواست هایی که هر کاربر یا کل سیستم میتونه در یک بازه زمانی مشخص بفرسته رو کنترل کنیم
چجوری از Throttling تو DRF استفاده کنیم؟!
ا DRF چند نوع Throttle پیشفرض داره:
AnonRateThrottle → برای کاربران ناشناس
UserRateThrottle → برای کاربران لاگین کرده
ScopedRateThrottle → برای محدود کردن درخواستها در سطح API خاص
کافیه این تنظیمات رو توی settings.py اضافه کنیم و مقدار دلخواهمون رو تنظیم کنیم
با این روش از overload شدن سرور هم جلوگیری میکنیم.
👍16✍4❤1
seo_jozzz.pdf
41 MB
این جزوه رو Hojjat Mesgari توی لینکدینش گذاشته بود.
جزوه دوره سئو خودشه ظاهرا
فکر می کردم جزوه فقط مال دانشگاس
ولی عجب حوصله ای داشته طرف
لینک پست
جزوه دوره سئو خودشه ظاهرا
فکر می کردم جزوه فقط مال دانشگاس
ولی عجب حوصله ای داشته طرف
لینک پست
🆒8👎3
از بعد از دیدن این
https://github.com/odoo/odoo
دیگه به پایتون احترام میزارم.
لکن، ریپو قابل احترام میشناسی کامنت کن لطفا
https://github.com/odoo/odoo
دیگه به پایتون احترام میزارم.
لکن، ریپو قابل احترام میشناسی کامنت کن لطفا
👍7❤3👏1🤔1
Django Chat
A biweekly podcast on the Django Web Framework by Will Vincent and Carlton Gibson
پادکست هاش درباره جنگو هستن
https://djangochat.com/?trk=feed-detail_main-feed-card-text
A biweekly podcast on the Django Web Framework by Will Vincent and Carlton Gibson
پادکست هاش درباره جنگو هستن
https://djangochat.com/?trk=feed-detail_main-feed-card-text
Django Chat
A biweekly podcast on the Django Web Framework by Will Vincent and Carlton Gibson.
👍7
من میلاد حاتمی، برنامه نویس از سال 2008، قصد دارم به علاقمندان یادگیری طراحی سایت، به صورت خصوصی جنگو آموزش دهم.
🎯در صورتی که من مربی خصوصی جنگو شما بصورت آنلاین باشم:
⚡️یک اینترنت پر سرعت نیاز دارید.
✅قبل از شروع اولین جلسه به صورت رایگان:
⚡️با سوالاتی ساده، سطح مهارت شما در جنگو را ارزیابی می کنم.
⚡️به سوالات شما در مورد سرفصل ها پاسخ می دهم.
⚡️در صورت تمایل شما، با هم یک پروژه برای آموزش مشخص می کنیم.
⚡️در مورد هزینه، تعداد جلسات، ساعت آموزش و… صحبت می کنیم.
✅در طول جلسه :
⚡️نکات کاربردی را به شما یاد می دهم.
⚡️آموزش یکطرفه نخواهد بود و شما هم کد می نویسید و با چالش هایی مواجه خواهید شد.
⚡️با برخی ابزارهای کنترل سورس نظیر github آشنا خواهید شد.
⚡️با روش صحیح جستجوی سوالات برنامه نویسی در سایت های معتبر آشنا می شوید.
⚡️شما مجازید یک میلیون سوال بپرسید 🙂
✅بعد از هر جلسه:
⚡️با هم آموزش را مرور می کنیم.
⚡️در صورت لزوم به شما تمرین می دهم.
⚡️نظر شما را جهت بهتر شدن جلسه بعدی می پرسم.
⚡️در مورد جلسه بعدی برنامه ریزی می کنیم.
جهت ارتباط با من با @miladhzz در ارتباط باشید
🎯در صورتی که من مربی خصوصی جنگو شما بصورت آنلاین باشم:
⚡️یک اینترنت پر سرعت نیاز دارید.
✅قبل از شروع اولین جلسه به صورت رایگان:
⚡️با سوالاتی ساده، سطح مهارت شما در جنگو را ارزیابی می کنم.
⚡️به سوالات شما در مورد سرفصل ها پاسخ می دهم.
⚡️در صورت تمایل شما، با هم یک پروژه برای آموزش مشخص می کنیم.
⚡️در مورد هزینه، تعداد جلسات، ساعت آموزش و… صحبت می کنیم.
✅در طول جلسه :
⚡️نکات کاربردی را به شما یاد می دهم.
⚡️آموزش یکطرفه نخواهد بود و شما هم کد می نویسید و با چالش هایی مواجه خواهید شد.
⚡️با برخی ابزارهای کنترل سورس نظیر github آشنا خواهید شد.
⚡️با روش صحیح جستجوی سوالات برنامه نویسی در سایت های معتبر آشنا می شوید.
⚡️شما مجازید یک میلیون سوال بپرسید 🙂
✅بعد از هر جلسه:
⚡️با هم آموزش را مرور می کنیم.
⚡️در صورت لزوم به شما تمرین می دهم.
⚡️نظر شما را جهت بهتر شدن جلسه بعدی می پرسم.
⚡️در مورد جلسه بعدی برنامه ریزی می کنیم.
جهت ارتباط با من با @miladhzz در ارتباط باشید
❤15😁4👍3👎3
روز معلم مبارک.
امسال اولین سالی هست که پیام تبریک روز معلم برام فرستادن. خوشحالم که معلم شدم بالاخره 🤩
۱۲ اردیبهشت در ایران روز معلم است. این روز اولین بار به دلیل کشته شدن ابوالحسن خانعلی در تجمع۱۲ اردیبهشت۱۳۴۰ معلمان که به استعفای شریف امامی نخست وزیر وقت منجر شد و بار دوم پس از ترور و شهادت مرتضی مطهری، روز معلم نام گرفت.
امسال اولین سالی هست که پیام تبریک روز معلم برام فرستادن. خوشحالم که معلم شدم بالاخره 🤩
۱۲ اردیبهشت در ایران روز معلم است. این روز اولین بار به دلیل کشته شدن ابوالحسن خانعلی در تجمع۱۲ اردیبهشت۱۳۴۰ معلمان که به استعفای شریف امامی نخست وزیر وقت منجر شد و بار دوم پس از ترور و شهادت مرتضی مطهری، روز معلم نام گرفت.
❤17👍2
https://www.youtube.com/watch?v=32l7Wogtsxkhttps://www.youtube.com/watch?v=32l7Wogtsxk
نکاتی از کانال MicroFrontend در مورد لاگ و لاگر و...
نکاتی از کانال MicroFrontend در مورد لاگ و لاگر و...
YouTube
همه چیز در مورد لاگ زدن در پایتون - Python Logging
در این سری از ویدیوها که به نکته ها و ترفندهای پایتون میپردازیم، به سراغ ماژول logging رفتیم.لاگ و لاگ زدن یکی از بنیادی ترین اصول توسعه نرمافزار برای محیط های پروداکشن است.در این ویدیو ابتدا به مقایسه دستور print و مکانیزم logging پرداختیم بعد شیوه ساختن…
👍12
جنگولرن
https://www.youtube.com/watch?v=32l7Wogtsxkhttps://www.youtube.com/watch?v=32l7Wogtsxk نکاتی از کانال MicroFrontend در مورد لاگ و لاگر و...
YouTube
پیکربندی لاگ زدن در جنگو - django logging
در این سری از ویدیوها که به ترفندها و نکته های جنگو میپردازیم، به سراغ لاگ زدن در جنگو رفتیم و کانفیگ ها و شیوه پیکربندی آن را از طریق بررسی و خواندن کد داخلی جنگو، شرح دادیم. در این وبدیو به جای کد نوشتن بیشتر کد خوندیم که بفهمیم جنگو خودش برای لاگ زدن چگونه…
👍10
مطلبی در مورد لاگ از کانال @pyHints
کانفیگ logging برای من همیشه اذیت کننده هست.
بخش عمدهای از تسکهای من مربوط میشه به
Deep learning, ML engineering
اما وجه دیگه کارم backend هست و software engineer برای همین خیلی کم پیش میاد نیاز داشته باشم ی لاگر با جزئیات بنویسم
از طرفی هم ۹۰٪ کدهایی که از بچههای بکند تحویل میگیرم ی logging نوشته شده که حافظه زیادی قرار هست بگیره (بخصوص روی سرور تست دارم صحبت میکنم که حجم لاگ بالا میره)
این کد رو قبلا برای Django نوشتم ؛ توضیح دادم تقریبا چند هفته بعد از شروع یادگیری یکی از بدترین پروژههای شرکت رو دست گذاشتم روش و شروع کردم به بازنویسی این لاگر رو برای اون نوشتم
هر لاگ فایل تا ۱۰ مگ حجم میتونه اشغال کنه و بعد از اون فایل ذخیره میشه به اسم backup تا ۱۰ تا ورژن ازین بکاپها نگه میدارم فقط و روی نسخه ۱۱
log rotate
میخوره و قدیمیترین فایل حذف میشه
البته این خیلی سادهاس ولی خب از اون کیلویی اضافه کردن logging فایل قطعا بهتره
پیشنهاد میدم شما هم ازین کد بعنوان base استفاده کنید و لاگ فایلهای تمیز داشته باشید چون دیر یا زود خودتون مجبور به خوندنشون هستید.
کانفیگ logging برای من همیشه اذیت کننده هست.
بخش عمدهای از تسکهای من مربوط میشه به
Deep learning, ML engineering
اما وجه دیگه کارم backend هست و software engineer برای همین خیلی کم پیش میاد نیاز داشته باشم ی لاگر با جزئیات بنویسم
از طرفی هم ۹۰٪ کدهایی که از بچههای بکند تحویل میگیرم ی logging نوشته شده که حافظه زیادی قرار هست بگیره (بخصوص روی سرور تست دارم صحبت میکنم که حجم لاگ بالا میره)
این کد رو قبلا برای Django نوشتم ؛ توضیح دادم تقریبا چند هفته بعد از شروع یادگیری یکی از بدترین پروژههای شرکت رو دست گذاشتم روش و شروع کردم به بازنویسی این لاگر رو برای اون نوشتم
هر لاگ فایل تا ۱۰ مگ حجم میتونه اشغال کنه و بعد از اون فایل ذخیره میشه به اسم backup تا ۱۰ تا ورژن ازین بکاپها نگه میدارم فقط و روی نسخه ۱۱
log rotate
میخوره و قدیمیترین فایل حذف میشه
البته این خیلی سادهاس ولی خب از اون کیلویی اضافه کردن logging فایل قطعا بهتره
پیشنهاد میدم شما هم ازین کد بعنوان base استفاده کنید و لاگ فایلهای تمیز داشته باشید چون دیر یا زود خودتون مجبور به خوندنشون هستید.
👍10
جنگولرن
مطلبی در مورد لاگ از کانال @pyHints کانفیگ logging برای من همیشه اذیت کننده هست. بخش عمدهای از تسکهای من مربوط میشه به Deep learning, ML engineering اما وجه دیگه کارم backend هست و software engineer برای همین خیلی کم پیش میاد نیاز داشته باشم ی لاگر با…
logger.py
657 B
ادامه مطلب لاگ از کانال @pyHints با یکم جابجایی
اینم فایل سورس (حتما بخونید و درک کنید اول)
کد بالا ربطی به django نداره، هرچند توی یک خط من برای مسیر فایل از django استفاده کردم. Logging مربوط به core python هست.
اینم فایل سورس (حتما بخونید و درک کنید اول)
کد بالا ربطی به django نداره، هرچند توی یک خط من برای مسیر فایل از django استفاده کردم. Logging مربوط به core python هست.
👍6❤1