en
Feedback
ترفندهای برنامه‌نویسی

ترفندهای برنامه‌نویسی

Open in Telegram

⁉️ پیرامون پایتون، جنگو و وی‌اس‌کد نکته‌هایی که معمولا در آموزش‌ها از قلم افتاده‌اند 📌 گروه گفتگو و پرسش و پاسخ: https://t.me/py_dj_discus 📬 نظرات و مطالب پیشنهادی: https://t.me/mh_firouzjaah ارسال پروژه‌: https://ponisha.ir/profile/mhfirouzjah

Show more
The country is not specifiedThe category is not specified
180
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
def next_promutation(li: list) -> list: """returns next promutation of a given list""" j = -2 while True: if li[j+1] < li[j]: j -= 1 if j == 0: break else: break lii, liii = li[:j+1], li[j+1:] m = -1 while True: if liii[m] < lii[-1]: m -= 1 else: lii[-1], liii[m] = liii[m], lii[-1] break liii = sorted(liii) return lii + liii

10 Exciting Python GUI Projects & Topics For Beginners [2021] | upGrad blog https://www.upgrad.com/blog/python-gui-projects-project-ideas-for-beginners/

Top 25 websites for coding challenge and competition [Updated for 2021] | By Benedict Neo | Towards Data Science https://towardsdatascience.com/top-20-websites-for-coding-challenge-and-competition-in-2020-f667089a5b47

A Complete 26 Week Course to Learn Python for Data Science in 2022 | by Frank Andrade | Dec, 2021 | Towards Data Science https://towardsdatascience.com/a-complete-26-week-course-to-learn-python-for-data-science-in-2022-e95b67551df4

چهارجلد کتابه از اینجا میتونید دانلود کنید. بنظرم اینجور کتابها خیلی برای آدم مفیده از روش‌های اساسی حل مسئله و تحلیل الگوریتم ‌ها هرچی بدونیم کمه https://libgen.is/search.php?req=The+Art+of+Computer+Programming&lg_topic=libgen&open=0&view=simple&res=25&phrase=1&column=def

blog.bjrn.se: Lexicographic permutations using Algorithm L (STL next_permutation in Python) http://blog.bjrn.se/2008/04/lexicographic-permutations-using.html?m=1

My First Six Months as a Data Scientist | by Amanda West | Nov, 2021 | Towards Data Science https://towardsdatascience.com/my-first-six-months-as-a-data-scientist-69f6697c9ec3

امنیت در جنگو؟؟ جنگو به صورت پیش فرض مکانیزم های امنیتی خود را دارد و از همه اسیب پذیری ها جلوگیری میکند، مانند: xss, csrf, sqli, host/header validation و ... یک خلاصه ای در باره اینکه چگونه از هر کدوم جلوگیری میکند به شما میدم XSS: جنگو برای جلوگیری از xss از escape especific characters استفاده میکند که موجب میشود تگ های html و کاراکتر های خاص html شکل دیگری بگیرند بطوری که اجرا نشوند CSRF: جنگو یک میدلویر برای جلوگیری از این اسیب پذیری ارائه می‌دهد که در رکوئست های پوست referer کاربر را میگیرد تا ببیند برای همین هاست یا origin هست یا خیر اگر بود مشکلی ندارد اگر نبود ارور csrf میدهد. SQLi: جنگو یک orm به ما ارائه میدهد که این orm از بد کوئری ها جلوگیری می‌کند و جلوی sqli را تا حد امکان میگیرد، ولی وقتی شما از تابع raw استفاده کنید مستقیم باید دستور sql وارد کنید و پروتکشنی درکار نیست، باید مراقب باشید. Host/Header validation: جنگو در settings.py یک لیست ALLOWED_HOSTA به ما ارائه میدهد که در آن باید هاست های شناخته شده ی مان را قرار دهیم، نظیر 127.0.0.1 و دامین سایت، این مکانیزم امنیتی از هاست های فیک در مواقع مختلف جلوگیری میکند. تا اینجا که میبینیم جنگو وظیفه ی خودشو خوب انجام داده پس وظیفه ما چیست؟ 1-هیچوقت سکرت کی موجود در settings.py را عمومی نکنید. 2-هیچوقت در رکوئست های POST از csrf_exempt استفاده نکنید. 3-هیچوقت در فرم های کاربران از فیلتر safe استفاده نکنید 4-هیچوقت اطلاعات ایمیل، دیتابیس، api هایی که در پروژتون استفاده میکنید رو در فایل settings.py قرار ندید و داخل .env یا متغیر های محیطی قرار بدید. 5-از ادیتور هایی مانند ckeditor برای کاربران عادی استفاده نکنید زیرا برای نشون دادن محتوا مجبورید فیلتر safe استفاده کنید و موجب رخ دادن xss و html injection میشود. #جنگو #پایتون #امنیت @FreeKnowledgeOfficial