جنگولرن
3.82K subscribers
287 photos
74 videos
31 files
557 links
آموزش Django و بستگان
Download Telegram
ده تا اشتباه رایج برنامه نویس های جنگو
(البته درستش Django Developers هست)
1: Using the Global System Python Environment for Project Dependencies
2: Not Pinning Project Dependencies in a requirements.txt File
3: Using Old-style Python Functions Instead of Class-based Views
4: Writing Fat Views and Skinny Models
5: A Huge, Unmanageable Settings File
6: All-in-one Application, Bad Application Structure, and Incorrect Resource Placement
7: STATICFILES_DIRS and STATIC_ROOT Confuse Newbie Django Developers
8: Default STATICFILES_STORAGE, Django Templates Loaders in Production
9: Pure Python Scripts for Utilities or Scripts
10: Reinventing the Wheel
توضیحات هر مورد رو توی لینک زیر ببینید:
https://www.toptal.com/django/django-top-10-mistakes
👍1
28 تا best practice توی کار با مدل های جنگو (عناوین مقاله رو اینجا گذاشتم)
برای دیدن جزییات لینک رو باز کنید.
1. Correct Model Naming
2. Relationship Field Naming
3. Correct Related-Name
4. Do not use ForeignKey with unique=True
5. Attributes and Methods Order in a Model
6. Adding a Model via Migration
7. Denormalisations
8. BooleanField
9. Business Logic in Models
10. Field Duplication in ModelForm
11. Do not use ObjectDoesNotExist
12. Use of choices
13. Why do you need an extra .all()?
14. Many flags in a model?
15. Redundant model name in a field name
16. Dirty data should not be found in a base
17. Getting the earliest/latest object
18. Never make len(queryset)
19. if queryset is a bad idea
20. Using help_text as documentation
21. Money Information Storage
22. Don't use null=true if you don't need it
23. Remove _id
24. Define unicode or str
25. Transparent fields list
26. Do not heap all files loaded by user in the same folder
27. Use abstract models
28. Use custom Manager and QuerySet
لینک:
https://steelkiwi.com/blog/best-practices-working-django-models-python/
دوره مقدماتی جنگو در دانشجویار به مناسبت محرم رایگان شد.
لینک:
https://www.daneshjooyar.com/django-basic-learning/
اگه دقت کرده باشید توی فایل settings.py در جنگو خیلی تاکید شده که مراقب SECRET_KEY باشید. به جای اینکه دلایل رو توضیح بدم، لینک کدهای جنگو که صراحتا SECRET_KEY رو استفاده کردن اینجا میگذارم. بد نمیشه یه نگاه بندازید. (لینک ها همه مربوط به ریپازیتوری اصلی جنگو و نسخه 3.1.x هستن)

1- https://github.com/django/django/blob/stable/3.1.x/django/contrib/auth/tokens.py
2- https://github.com/django/django/blob/stable/3.1.x/django/core/checks/security/base.py
3- https://github.com/django/django/blob/stable/3.1.x/django/core/signing.py
4- https://github.com/django/django/blob/stable/3.1.x/django/utils/crypto.py
5⃣ پنجمین جلسه رایگان اسکایپی آموزش ویوهای کلاس بیس جنگو
زمان جمعه: 29 مرداد 1400 ساعت 10 صبح
توی این جلسه می خواهیم ویوهای Class-based رو ادامه بدیم
امیدوارم جلسه خوبی باشه.
برای ثبت نام در کلاس به @miladhzz پیام بدید
پنجمین جلسه رایگان اسکایپی جنگو
این قسمت توضیحاتی در مورد DeleteView ارائه کردم و به سوالات دانشجوها پاسخ دادم.
توی این قسمت با مشکلات مختلفی مواجه شدیم. اسکایپ کند بود و جلسه رو با گوگل میت ادامه دادیم. دوباره سرعت اینترنت اذیت کرد و از اینترنت موبایل استفاده کردم.
😅 سوتی هایی هم توی Override کردن متدها داشتم، اگه متوجه اشتباه شدید، راه حل پیشنهادی رو کامنت کنید.
لینک آپارات:
https://www.aparat.com/v/9hnc4/

لینک یوتیوب:
https://youtu.be/XNWGzVD3QhQ
سلام به همه
امیدوارم حالتون خوب باشه
قطعا خیلی از شماها تجربه مصاحبه برای شغل برنامه نویس جنگو رو دارید.
معمولا موارد زیر، در کنار سوالات تخصصی Django پرسیده میشه:
- در مورد لینکوس
- آشنایی با دیزاین پترن ها
- اصول SOLID و Clean Code
- مفاهیم طراحی الگوریتم و ساختمان داده و...
- آشنایی با DRF و مفاهیم REST
- مباحث Multi Threading
- مفاهیم Async
- مفاهیم Concurrency
- میکروسرویس
- مفاهیم اعتبارسنجی Authentication و Authorization
- تکنولوژی ها و روشهایی مثل JWT و OAuth2 و SSO و...
- ابزارها و روش های Caching
- دیتابیس های رابطه ای و مفاهیم نرمال سازی و...
- دیتابیس های NoSQL
- آشنایی با ORM جنگو و بهینه سازی کوئری ها
- ابزارهای Message Broker
- آشنایی با Celery و Redis و...
- آشنایی با Docker و مفاهیم مرتبط با اون
- آشنایی با GIT و سورس کنترل ها
- آشنایی با اجایل و ابزارهای و متدولوژی های مدیریت پروژه و جیرا ...
- آشنایی با تست نویسی و Unit Test و TDD و BDD و...
- آشنایی با WSGI server و حتی nginx و کانفیگ سرور و...
- و خیلی موارد دیگه که آدم هنگ میکنه

🤣🤣🤣 آخرش هم میگن حقوق 10 میلیون و بیمه هم پایه اداره کار واریز می کنیم. چون به نفع خودتون هست مالیات کمتری میدید...
من اعتقاد دارم که همه کاره هیچ کاره است. و به خاطر همین آگهی ها و این شغل هاست که سیستم ها به راحتی حک (شایدم هک) میشن.
ولی بعضی از موارد بالا رو نیازه تا حد مناسبی بلد باشیم (اگه برنامه نویس هستیم)
قصد دارم در کنار آموزش اسکایپی ویوهای کلاس بیس، بعضی وقتها جلساتی در مورد چندتا از موردهای بالا داشته باشیم و آنلاین با همدیگه تبادل اطلاعات کنیم.
اگه تا اینجا سوالی هست، در خدمتم.
تشکر - میلاد حاتمی
👍4
سلام به همه
امیدوارم حالتون خوب باشه
چند روزی در استراحت بودم. جای همه خالی
معمولا روزهای استراحت تلگرام رو چک نمی کنم.
وقتی کار مهمی دارید و کمک نیاز دارید. (مثلا پروژه تون مشکل عجیبی پیدا کرده و مشتری داره روی مختون راه میره... و از این نوع کارهای مهم)
بهم پیامک بدید
شماره اصلی من 09384677005
ان شاالله این هفته کلاس آنلاین اسکایپی برگزار می کنیم. اطلاع رسانی خواهم کرد.
تشکر - حاتمی
در جنگو برای GROUP BY از values استفاده می کنیم.
اگه درک values و روش درست استفاده اش برای شما سخته میتونید از لینک زیر استفاده کنید.
کوئری های SQL رو کنار دستورات ORM جنگو قرار داده که فهم موضوع رو راحت تر میکنه.
https://hakibenita.com/django-group-by-sql
سلام به همه
ان شاالله جمعه این هفته جلسه ششم ویوهای کلاس بیس جنگو برگزار میشه.
تاریخ 2 مهر 1400 جمعه ساعت 10 صبح
اگه فرصت شد در مورد دیزاین پترن ها هم یکم صحبت می کنیم.
سلام. وقتتون بخیر .دیروز به تاریخ ۲ مهر ۱۴۰۰ دوره آموزش طراحی سایت فروشگاهی با جنگو از مدرس میلاد حاتمی رو خریداری کردم. این آموزش برخلاف سایر آموزشای خوب و پرمحتوای سایت خوب دانشجویار , به صورت شگفت انگیزی گنگ و صرفا یه نوع حفظ کد بود و خیلی مواقع مدرس فقط به نوشتن کد بسنده میکرد بدون هیچ توضیحی. کاملا مشخص بود که کد متعلق به خود مدرس نبوده مخصوصا بخش مربوط به سبد خرید {قسمت های ۶ تا ۹} که مهمترین قسمت آموزش همین قسمت ها بودن. واقعا این آموزش در حد عنوانی که براش انتخاب شده نبود. لذا به دلیل گنگ بودن و سطح پایین آموزش و حتی کیفیت پایین ویدیو ضبط شده , تقاضای بازگشت وجه رو دارم - تاریخ ۱۴۰۰/۰۷/۰۳

نظری در مورد دوره آموزش ساخت فروشگاه اینترنتی. از ادمین خواستم که این نظر رو توی نظرات دوره بگذارن که بقیه هم ببینن.
من قسمت های 6 تا 9 رو اخیرا دوباره ضبط کردم و توضیحاتی رو اضافه کردم. ولی ظاهرا هنوز خوب نشده. البته کدی که استفاده کردم کد خارجی ها بود، مثل وقتهایی که دست به دامن StackOverFlow میشیم.
باور کنید منم هنوز regex برای email رو سرچ میکنم.
هیچوقت انتظار نداشته باشید یه آموزش همه چیز رو توضیح بده. همانطوری که استادها توی دانشگاه نمی تونن همه چیو توضیح بدن. از آموزش ها کلیات رو یاد بگیرید، جزئیات رو توی کار خود به خود یاد میگیرید.
ششمین جلسه رایگان اسکایپی جنگو
این ویدئو رو با دکوریتور بررسی لاگین بودن کاربر و میکسین های شبیه به اون که برای ویوهای کلاس بیس استفاده میشه شروع کردیم. یاد گرفتیم که چطور میشه از دکوریتور های فانکشن بیس برای کلاس بیس ویوها استفاده کنیم.
در ادامه آموزش توضیحاتی در مورد متد Dispatch ارائه کردیم و با هم در مورد چند تا نکته توی جنگو صحبت کردیم. قرار شد جلسه بعدی رو یکی از دوستان شروع کنه و مطالبی در مورد دیزاین پترن ها برای ما توضیح بده
لینک آپارات:
https://www.aparat.com/v/4eTDM

لینک یوتیوب:
https://youtu.be/KMr1LK84z3M
Forwarded from Django Expert (Hêmn Hosseinpana)
پیکربندی لاگ زدن در جنگو - django logging

در این سری از ویدیوها که به ترفندها و نکته های جنگو میپردازیم، به سراغ لاگ زدن در جنگو رفتیم و کانفیگ ها و شیوه پیکربندی آن را از طریق بررسی و خواندن کد داخلی جنگو، شرح دادیم. در این ویدیو به جای کد نوشتن، بیشتر کد خوندیم که بفهمیم جنگو خودش برای لاگ زدن چگونه کار میکند و ما چگونه میتونیم از آن استفاده کنیم. همچنین امکان django logging را در سرویس های کلودی مانند sentry و APM هم مطرح کردیم. این مفاهیم رو در پروژه مینی ترلو به شکل عملی استفاده میکنیم.


video link: https://youtu.be/LGatKmpL7k8

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv

#django #logging #microfrontend_ir
〰️〰️〰️〰️〰️
©️ @DjangoEx
سلام به همه
ان شاالله جمعه این هفته جلسه هفتم ویوهای کلاس بیس جنگو برگزار میشه.
تاریخ 5 آذر 1400 جمعه ساعت 10 صبح (البته شاید ساعت رو تغییر بدیم، شاااااااید)
قراره یکی از دوستان از کتاب Django Design Patterns and Best Practices در مورد دیزاین پترن ها صحبت کنن.
هفتمین جلسه رایگان اسکایپی جنگو
توی این جلسه با کتاب دیزاین پترن های جنگو شروع کردیم. امید مطالب رو توضیح داد.
در این قسمت در مورد نرمال سازی مدل ها و ارث بری و استفاده از میکسین ها برای کم کردن کد نویسی و رعایت اصل DRY و... توضیحاتی ارائه شد

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

لینک یوتیوب:
https://youtu.be/35OPj2iT-84
Forwarded from Django Expert (Hêmn Hosseinpana)
دیزاین پترن ها - دیاگرام کلاس Design Patterns رو چطوری بخونیم؟

در دومین ویدیو از پلی لیست الگوهای طراحی و دیزاین پترن ها به معرفی کلاس دیاگرام UML به عنوان زبان مشترک برنامه نویسان برای توصیف سیستم های شی گرا پرداختیم. نخستین گام یادگیری Design Pattern های شی گرا درک ادبیات مشترک برنامه نویسان شی گراست. ابتدا شیوه طراحی کلاس و عضو های آن به همراه سطوح دسترسی ها را شرح دادیم. در ادامه انواع روابط بین کلاس ها شامل Dependency – Association – Aggregation Composition – inheritance را با ذکر مثال توضیح دادیم. سپس مفاهیم abstraction و interface را تشریح کردیم و تفاوت abstract class و interface را مطرح کردیم.


Link: https://youtu.be/s-lJfW5YABQ

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBxUIWhfp9euGlbBIrQUhm2Q

#منهای‌جنگو

〰️〰️〰️〰️〰️〰️
©@DjangoEx
Forwarded from Back-End Study Group
جلسات مطالعه گروهی
کتاب: Monolith to Microservices
زمان: جمعه ها ساعت ۹ تا ۱۰:۳۰ شب
لینک میتینگ:
https://meet.google.com/tcz-dxse-duq
سبک مطالعه:
مشارکت همگی و بحث و سوال و تبادل نظر همراه پیشروی از کتاب
👍1
Forwarded from Django Expert (Mohammad Babazadeh)
✔️ معماری مایکروسرویس چیست؟
به همراه ۷ معیار مایکروسرویس های خوب

در این ویدئو در رابطه با معماری مایکروسرویس ها و مواردی که منجر به طراحی خوب مایکروسرویس ها میشوند صحبت میکنیم، مواردی نظیر:
1. Independent Deployment
2. Business Domain
3. State, Encapsulation, Data Hiding
4. Low Coupling & High Cohesion
5. Size
6. Scalability
7. Bulkhead Pattern

🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/WUDS9l8aydE

#Microservices #Architecture #میکروسرویس #bobycloud
〰️〰️〰️〰️〰️〰️
©@DjangoEx | @AI_Python | @BobyDotCloud
بعضی پترن هایی که حضرت Fowler معرفی کرده و جنگو داره ازشون استفاده میکنه.