جنگولرن @djangolearn_ir Channel on Telegram

جنگولرن

@djangolearn_ir


آموزش Django و بستگان
admin: @miladhzz
http://djangolearn.ir
https://www.youtube.com/c/DjangoLearn
https://www.aparat.com/djangolearn

جنگولرن (Persian)

جنگولرن یک کانال تلگرامی است که به آموزش Django و بستگان آن می‌پردازد. اگر به دنبال یادگیری این فریم‌ورک محبوب برنامه‌نویسی هستید، این کانال مناسب شماست. در اینجا شما می‌توانید آخرین اخبار و مقالات مربوط به Django را بیابید و از تجربیات دیگر کاربران نیز بهره‌مند شوید. کانال جنگولرن توسط @miladhzz ادمینیستر شده و شما می‌توانید از منابع مختلفی مانند وبسایت رسمی آن به آدرس http://djangolearn.ir و کانال YouTube و آپارات آن نیز دیدن فرمایید. پس به جنگولرن بپیوندید و بهترین مطالب آموزشی Django را دریافت کنید.

جنگولرن

10 Nov, 15:06


بهینه سازی 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

تصاویر در نظرات پست

جنگولرن

08 Nov, 04:50


لینک حمایت از جنگولرن

https://www.coffeete.ir/djnagolearn

جنگولرن

07 Nov, 08:44


این پست که در مورد DRF هست رو بخونید به همراه نظراتش

https://t.me/dr_biglari_ds/2961

جنگولرن

05 Nov, 08:21


⚠️خواهشا ردیس را به عنوان 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 افزایش می‌یافت.

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

جنگولرن

27 Oct, 16:06


لیست همه پکیج های استفاده شده در فروشگاه اوپن سورس saleor نسخه قدیمی تمپلت
در قالب pdf
تشکر از Arash

پست های حذف شده رو منتقل کردم به کامنت همین پست

جنگولرن

27 Oct, 03:54


معرفی پکیج های پایتونی

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

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

آپدیت: یکی از دوستان زحمت کشید و pdf ش کرد. پست بعدی

جنگولرن

25 Oct, 21:35


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

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

جنگولرن

24 Oct, 20:06


ویدئوی آموزشی برخی از دستورات SQL

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

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

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

جنگولرن

24 Oct, 15:13


مصاحبه علی بیگدلی با من در مورد فروشگاه اینترنتی با جنگو

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

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

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

لینک مکتب خونه

جنگولرن

20 Oct, 18:16


🔸 مفهوم Comprehensions قطعه کدهایی قدرتمند در پایتون (معرفی)

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


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

--------------------
🔗 وب‎‌سایت : آیزی‌لرن

جنگولرن

18 Oct, 16:14


سوال پایتونی

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

این کد ارور میده؟

جنگولرن

18 Oct, 14:30


سوال پایتونی

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

اعتراف می کنم خودم نمی دونستم.

جنگولرن

17 Oct, 13:51


سوال جنگویی

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

چی میشه؟


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

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

جنگولرن

17 Oct, 13:37


با این اپلیکیشن دقیقا میتونید متوجه شین که چه اتفاقی داره میفته.
مثلا یک برنامه دارین (پایتونی یا هرچی) و هر درخواستی که از سیستم عاملتون رد شه چه HTTP باشه چه HTTPS رو کامل capture میکنه و به صورت plain خیلی تمیز بهتون نشون میده.

جنگولرن

16 Oct, 09:46


از صبح داشتم یک پروژه رو review می‌کردم که بنا به مشکلات از یک فریمورک به فریمورک دیگه جابجا شده؛ اما بعد از جابجایی یک سری بخش‌های پروژه باگ داره و من وارد شدم برای کد ریویو (امروز صبح روز اول کارم بود)

دسترسی به کدهای قدیمی هم گرفتم، می‌بینم تست نویسی برای این باگ تو زبان و فریمورک قبلی انجام شده ولی این سمت توی تست‌ها نیست !

بنظرتون مشکل از کجاست ؟

مدیرفنی یا تیم‌لید بکند.

یک درس بزرگی که حتی قبل از ورود به دنیای بکند و بخاطر عادت به سورس کد خوندن گرفتم این بود که
Intégration test
اولویت بالاتری داره از
Unit test
واقعیت هم همین هست، unit test برای راحتی خودمون و دولوپر بعدی هست و intégration test برای راحتی و بدون باگ بودن استفاده‌های client

خیلی تیم‌ها (ایرانی و خارجی) که intégration test نمی‌نویسند متاسفانه ولی اون‌هایی هم که می‌نویسند مثل کدهای امروز من دقیقاً از آنچه که فریمورک ارائه میده استفاده می‌کنند.


این کاملاً خطا هست، برای مدیر فنی ٫ تیم‌ لید منظورم هست. الان سوالتون اینه که چرا ؟

توی این پروژه اگر intégration test ها میومد سرور رو روی یک thread جدا اجرا می‌کرد و بعد با استفاده از پکیج دیگری مثل requests درخواست می‌زد به api هاش بنظرتون بهتر نمی‌شد ؟

اگر این اتفاق افتاده بود الان که فریمورک عوض شده نیاز به باز نویسی تست‌ها نبود، یعنی ما فقط برای اجرای سرور روی thread دیگر دستورات رو عوض می‌کردیم و تست‌ها رو اجرا می‌کردیم.

وقتی دارم از بیرون به سیستم نگاه می‌کنم برام چه فرقی داره که چه زبان برنامه‌نویسی یا چه فریمورکی استفاده شده؛ همونطور که برای یوزر من فرقی نداره.

خواستم بگم حواستون به این نکته باشه، intégration test باید جوری باشه که فارغ از فریمورک و زبان قابل اجرا باشه.

متاسفانه کدهای جدید این تیم هم این خطا رو داره و باز وابسته شده به فریمورک

جنگولرن

16 Oct, 07:58


سوال جنگویی

این ویو (تصویر سفید) رو دارم. و میخوام class-based ش کنم. و صفحه بندی یا pagination هم داشته باشه.

تصمیم می گیرم از ListView ارث بری کنم (تصویر سیاه)

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

جنگولرن

14 Oct, 04:14


👌این عکسو دادم به ربات هوشیفای گفتم متن های عکس رو بده. نتیجه:

ترجمه متن‌های موجود در عکس به شرح زیر است:

بالا:
"تمام زیرساخت‌های دیجیتال مدرن"

پایین:
"یک پروژه که یک فرد تصادفی در نبراسکا از سال 2003 به طور بی‌منت نگهداری کرده است"

قصدم تبلیغ نبود. نکته عکس جالب بود و باهاش هوشیفای رو هم تست کردم.

لینک ربات هم نمیدم

جنگولرن

14 Oct, 03:55


AioClock
در ماه ۴ هزار دانلود داره 🚀
یک شرکت بزرگ تو برزیل هم داره ازش استفاده میکنه و تو لینکدین ازم تشکر کردن خیلی حس خوبی داشت :))

واقعا دوست دارم فول تایم اوپن سورس کار کنم. و مثلا همین پروژه naked sqlalchemy ام حاصله دو شب کار بود.
ولی متاسفانه هنوز به نقطه ای نرسیدم که بتونم کسب درآمد کنم از پروژه اوپن سورسم
برای همین به حمایتتون نیاز دارم این حمایت میتونه یک استار گیت هاب باشه, که پروژه هام بیشتر دیده شه و به اون نقطه نزدیک تر شم 🫶

فریم ورک/لایبری های مفید اوپن سورسی که تاحالا منتشر کردم:

AioClock - A modern python scheduling framework with dependency injection and modular integration support. Alternative for Rocketry or apscheduler

Naked SQLA - A simple and lightweight object mapper around SQLAlchemy core, simple alternative to SQLAlchemy ORM.


CfCrawler - Cloudflare scraper and cralwer written in Async, In-place library for HTTPX. Crawl website that has cloudflare enabled, easier than ever!

@PyBackendHub

جنگولرن

09 Oct, 19:10


https://t.me/wiki_tajrobe/2653


✔️کامنت های این پست ویکی تجربه رو بخونید.

نکات خوبی گفتن

جنگولرن

08 Oct, 20:53


از لینکدین Hossein Nazari

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

یه سوال خیلی مهم از من پرسید که نتونستم بهش جواب درستی بدم، سوال با این مفهوم که چرا پزشک، مشاور، وکیل و حسابدار، هرچقدر که سنشون بالاتر میره مشتری شون بیشتر میشه حتی با وجود دستمزد بیشتر، ولی برنامه نویس ها در سنین بالاتر خواهانشون کمتر میشه؟

من برنامه نویسی به شیوه صرفا کارمندی رو یه شغل پایدار در بلند مدت نمیدونم، و فکر میکنم باید به فکر روش های درآمدزایی متفاوت بود.

فکر می کنید برنامه نویسی بعد از چهل سالگی چه شکلی میشه؟
خیلی عدد ۴۰ مهم نیست، مهم مرز سنی مشخصی هست که بعدش چالش های ویژه خودش رو داره برای کار کردن و کار پیدا کردن.
تجربه شخص ممکنه بیش از حد زیاد باشه، حوصله کار شخص کمتر از حد قابل قبول باشه و همچنین، سطح انتظار حقوقی شخص بالا میره و هر شرکتی نمیتونه انتظاراتش رو برآورده کنه. و جمع این فاکتورها ممکنه فرصت های شغلی رو کم کنه.

حرف آخر اینکه خوبه که کارمندی و برنامه نویسی رو تجربه کنید، اما شغل دائم نبینیدش، چون میتونه چالش های جدی ایجاد کنه در سنین بالاتر.

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

جنگولرن

07 Oct, 18:00


🔸 ناسازگاری نام‌ها در پایتون (naming conflicts)

🔸 اصلا دوره‌ای هست این نکات ریزو بهت بگه؟ 😬

🔸 فرضاً گفت!! اینجوری میگه که یادت نره ؟

🔗 دوره‌ی صفر تا قهرمانی پایتون

🔗 وب‌سایت : آیزی لرن

جنگولرن

04 Oct, 13:36


موشکافی ListView و نکات ریز تنظیمات template

توی این ویدئو که بخشی از آپدیت جدید آموزش ساخت فروشگاه اینترنتی هست در مورد موضوعات زیر صحبت شد:
✔️چطور از ListView استفاده کنیم
✔️چطور از attribute های ListView استفاده کنیم
✔️با تنظیمات template ها آشنا شدیم و نکاتی ریزی رو متوجه شدیم که دانستن شون قطعا مفید هست

لینک آپارات:
https://www.aparat.com/v/tga7df6
لینک یوتیوب:
در حال آپلود...

چند قسمت رایگان دیگه از این دوره رو اینجا ببینید:
https://t.me/djangolearn_ir/531
https://t.me/djangolearn_ir/533
https://t.me/djangolearn_ir/573
https://t.me/djangolearn_ir/676
https://t.me/djangolearn_ir/724
https://t.me/djangolearn_ir/889

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

جنگولرن

02 Oct, 13:23


یعنی چی؟
یعنی جنگو و DRF و simple jwt استفاده نکنیم؟

✔️استفاده کنید. با خیال راحت. خیلی هم خوبه

اما بدانید که هر چقدر به سمت حرفه ای شدن می روید. امثال این حرفهارو بهتر درک می کنید.

اگه کسی نظر فنی در این مورد داره، توی کامنت ها بنویسه 🙏🏻

جنگولرن

02 Oct, 12:31


سادگی همیشه خبر از پیچیدگی میده!

خیلی وقت‌ها ما از کتابخونه و فریم‌ورک‌ها استفاده میکنیم به خاطر اینکه یک کار رو ساده میشه باهاشون انجام داد، از جنگو استفاده میکنیم چون کار باهاش راحته، داخل جنگو از DRF و simple jwt استفاده میکنیم چون ساخت api و لاگین رو برامون خیلی راحت میکنن. اما اینجا یک چیزی گاهی فراموش میشه.

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

و شاید بگید خوب این خوبه دیگه یارو کد برای ما زده و استفاده می‌کنیم و لذتشو میبریم. تو خیلی از مواقع این درسته، ولی امان از اون روزی که بخوایید یکچیزی رو تغییر بدید که فریم‌ورک/کتابخونه براتون انجام داده :) اونجاست که این سادگی که ازش لذت میبردید تبدیل کابوس میشه :D

این رو نگفتم که بگم از جنگو استفاده نکنید یا فلان کتابخونه بده و ...

این گفتم که بدونید همیشه هر سادگی خوب نیست، گاهی بهتره تن به کار بدید و اون کد خودتون بزنید تا با نیاز شما هماهنگ باشه نه اینکه یک کتابخونه هزارخطی نصب کنید تا از ۱۰۰ خطش استفاده کنید.

@TorhamDevCH

جنگولرن

27 Sep, 07:28


چرا سورس کد بیشتر بد است؟

https://huly.blog/source-code-is-poison

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

جنگولرن

25 Sep, 09:32


توصیه می‌کنم خوندن این پست رو که حسین علیرضایی عزیز تو بلاگ مهندسی ترب منتشر کرده از دست ندین.

موضوع، راجع‌به بروز رسانی نسخه‌ی PostgresSQL از ۱۱ به ۱۶‌ه. علاوه بر نقل تجربه‌شون از شیوه‌ و چالش‌های انجام این عملیات که به‌نظرم بسیار دونستنش با ارزشه، به تفصیل به معرفی ابزار و روش‌های انجام این کار و مزایا و معایب هر کدوم از جنبه‌های مختلف پرداخته.

https://techblog.torob.com/postgresql-upgrade-from-11-to-16-torob-experience-v62efb53gn6h

جنگولرن

24 Sep, 02:51


🖤