✔️ آموزش جابه جایی ردیس بین سرور قدیم و جدید :
در سرور قدیمی کامند های زیر را وارد میکنید:
سپس
در متن بالا به جای ip_new ای پی سرور جدید را وارد کنید
سرور از شما یک سوال میپرسه که باید جوابش بنویسید yes بعد پسورد سرور جدید رو بزنید
حالا این ترمینال رو میبندید و وارد سرور جدید میشید و دستورات زیر رو میزنید :
ردیس با موفقیت جا به جا شد
#redis
〰️〰️〰️〰️〰️〰️
©@DjangoEx
در سرور قدیمی کامند های زیر را وارد میکنید:
redis-cli
CONFIG GET dir
SAVE
سپس
scp /var/lib/redis/dump.rdb root@ip_new:/tmp/dump.rdb
در متن بالا به جای ip_new ای پی سرور جدید را وارد کنید
سرور از شما یک سوال میپرسه که باید جوابش بنویسید yes بعد پسورد سرور جدید رو بزنید
حالا این ترمینال رو میبندید و وارد سرور جدید میشید و دستورات زیر رو میزنید :
sudo apt install redis-server
sudo service redis-server stop
sudo cp /tmp/dump.rdb /var/lib/redis/dump.rdb
sudo chown redis: /var/lib/redis/dump.rdb
sudo service redis-server start
ردیس با موفقیت جا به جا شد
#redis
〰️〰️〰️〰️〰️〰️
©@DjangoEx
یکی از ترمک ها از ترم بالایی ها خواسته یه دارو برای بیدارموندن در این ایام امتحانات معرفی کنن .. اینا هم گفتن بیزاکودیل مصرف کن ..
هیچی طفلک الان ۴۸ ساعته نخوابیده، یه پاش تو درس و جزوه هاشه، یه پاش مستراح (((((:
خواستم بگم اگه بچه های کامپیوتر
#منهای_جنگو
〰️〰️〰️〰️〰️〰️
©@DjangoEx
هیچی طفلک الان ۴۸ ساعته نخوابیده، یه پاش تو درس و جزوه هاشه، یه پاش مستراح (((((:
خواستم بگم اگه بچه های کامپیوتر
sudo rm -rf /
رو بلدن، بچه های علوم پزشکی از اون بدتراشم بلدن (:#منهای_جنگو
〰️〰️〰️〰️〰️〰️
©@DjangoEx
DevOps Expert
تبریک به همه ! Advancing developer freedom: GitHub is fully available in Iran. https://github.blog/2021-01-05-advancing-developer-freedom-github-is-fully-available-in-iran/ All developers should be free to use GitHub, no matter where they live. At the same…
✔️ متاسفانه با خبر شدیم #مدیوم هم دست از تحریم برداشته :))
🔹 https://medium.com/
〰️〰️〰️〰️〰️
©️ @DevOpsEx
🔹 https://medium.com/
〰️〰️〰️〰️〰️
©️ @DevOpsEx
Medium
Medium: Read and write stories.
On Medium, anyone can share insightful perspectives, useful knowledge, and life wisdom with the world.
#پروژه
#کارجو
#فریلنس
یک ربات تلگرامی میخوایم که افرادی رو که عضوش میشن یا ما عوض میکنیم با توجه به مدت اشتراک اونها مثلا ۲ ماه مطالبی رو که در یک کانال یا گروه میفرستیم رو برای اونها بفرسته.
مواردی که برای ما مهم هست:
- صحت عملکرد کامل پروژه
- زمان بندی
- سورس کد پروژه
- زبان برنامه نویسی پایتون
- انتشار پروژه در سرور
جهت اخذ پروژه به @iAmRafati پیام بدهید.
#کارجو
#فریلنس
یک ربات تلگرامی میخوایم که افرادی رو که عضوش میشن یا ما عوض میکنیم با توجه به مدت اشتراک اونها مثلا ۲ ماه مطالبی رو که در یک کانال یا گروه میفرستیم رو برای اونها بفرسته.
مواردی که برای ما مهم هست:
- صحت عملکرد کامل پروژه
- زمان بندی
- سورس کد پروژه
- زبان برنامه نویسی پایتون
- انتشار پروژه در سرور
جهت اخذ پروژه به @iAmRafati پیام بدهید.
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ تغییر کوئری ست کلید خارجی کاربران در پنل مدیریت جنگو (توضیحات در دمو)
🖥 تماشا در یوتیوب
در این قسمت یاد میگیریم که چطور بتونیم پروژه ی درحال توسعه سایت سیلیسیم رو کلون کنیم، رو لوکال اجرا کنیم و یه تیپ یاد بگیریم: چطور بتونیم در فیلد مدرس یا نویسنده که با کلید خارجی هست، فقط کاربران staff رو فیلتر و نمایش بدیم.
#جنگو #django #tips
〰️〰️〰️〰️〰️〰️
©@DjangoEx
🖥 تماشا در یوتیوب
در این قسمت یاد میگیریم که چطور بتونیم پروژه ی درحال توسعه سایت سیلیسیم رو کلون کنیم، رو لوکال اجرا کنیم و یه تیپ یاد بگیریم: چطور بتونیم در فیلد مدرس یا نویسنده که با کلید خارجی هست، فقط کاربران staff رو فیلتر و نمایش بدیم.
#جنگو #django #tips
〰️〰️〰️〰️〰️〰️
©@DjangoEx
This media is not supported in your browser
VIEW IN TELEGRAM
بهتره هر روز این نمودار رو ببینیم و از خودمون بپرسم کجای نمودار هستیم؟
اثر دانینگ–کروگر (به انگلیسی: Dunning–Kruger effect) نوعی سوگیری شناختی در افراد غیرحرفهای است که از توهم برتری رنج میبرند و به اشتباه، تواناییشان را بسیار بیش از اندازهٔ واقعی ارزیابی میکنند. این جانبداری به ناتوانی فراشناختی افراد غیرحرفهای در شناسایی ناتوانی های شان نسبت داده میشود. بر خلاف آن، افراد حرفهای، گرایش بیشتری به دستکمگرفتن شایستگی خود داشته و به اشتباه تصور میکنند، کاری که برای ایشان آسان است، برای دیگران نیز آسان خواهد بود. دیوید دانینگ و جاستین کروگر از دانشگاه کرنل اینگونه نتیجه میگیرند: «تخمین نادرست فرد بیلیاقت، از اشتباه در ارزیابی خود ناشی میشود؛ درحالیکه تخمین نادرست افراد بسیار بالیاقت، از اشتباه در ارزیابی دیگران نشئت میگیرد.»
از ویکی پدیا
〰️〰️〰️〰️〰️
©️ @DjangoEx
اثر دانینگ–کروگر (به انگلیسی: Dunning–Kruger effect) نوعی سوگیری شناختی در افراد غیرحرفهای است که از توهم برتری رنج میبرند و به اشتباه، تواناییشان را بسیار بیش از اندازهٔ واقعی ارزیابی میکنند. این جانبداری به ناتوانی فراشناختی افراد غیرحرفهای در شناسایی ناتوانی های شان نسبت داده میشود. بر خلاف آن، افراد حرفهای، گرایش بیشتری به دستکمگرفتن شایستگی خود داشته و به اشتباه تصور میکنند، کاری که برای ایشان آسان است، برای دیگران نیز آسان خواهد بود. دیوید دانینگ و جاستین کروگر از دانشگاه کرنل اینگونه نتیجه میگیرند: «تخمین نادرست فرد بیلیاقت، از اشتباه در ارزیابی خود ناشی میشود؛ درحالیکه تخمین نادرست افراد بسیار بالیاقت، از اشتباه در ارزیابی دیگران نشئت میگیرد.»
از ویکی پدیا
〰️〰️〰️〰️〰️
©️ @DjangoEx
✔️ هشدار هنگام بستن صفحه مرورگر
اگر قصد دارید مرورگر به کاربر هنگام بسته شدن تب به کاربر هشدار بده که آیا برای بستن صفحه اطمینان دارید یا خیر
با استفاده از این کد جاوااسکریپت در بخشی از صفحه html میتونید این هشدار رو بزارید ( توجه کنید در برخی مرورگر ها پیام هشدار شما بصورت دیفالت مرورگر نمایش داده خواهد شد
#سید @IT_SEYED
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
اگر قصد دارید مرورگر به کاربر هنگام بسته شدن تب به کاربر هشدار بده که آیا برای بستن صفحه اطمینان دارید یا خیر
با استفاده از این کد جاوااسکریپت در بخشی از صفحه html میتونید این هشدار رو بزارید ( توجه کنید در برخی مرورگر ها پیام هشدار شما بصورت دیفالت مرورگر نمایش داده خواهد شد
close_ok = false
bye_text = 'آیا برای ترک این صفحه مطمئنید ؟ تغییرات ایجاد شده ذخیره نخواهند شد'
window.onbeforeunload = function (e) {
if(close_ok) return null
e = e || window.event;
//old browsers
if (e) {e.returnValue = bye_text;}
//safari, chrome(chrome ignores text)
return bye_text;
};
در کد بالا هر وقت قصد این رو دارید که این هشدار نمایش داده نشه فقط کافیه مقدار close_ok رو به true تغییر بدید#سید @IT_SEYED
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
Imgur
Post with 0 views.
⚠️ یک نکته مهم :
آهای شمایی که صفحه لودینگ توی کد html با css تعریف میکنی
این کار برای خوشگلی نیست دوست عزیز 🤦♂️
اگر برای لود کردن محتوا مشکلی وجود نداره و صرفا شما یک تمپلیت رندرینگ انجام میدید و کد جاوااسکریپتی توی صفحه درحال اجرا نیست برای نمایش کامل محتوا بزن اون لودینگ رو حذف کن. یا حداقل تایمش رو بزار روی چند صدم ثانیه
چون با این لودینگ مسخره ای که گذاشتی فقط سئوی سایت رو داغون میکنی و کاربر رو عصبانی
با تشکر #سید @IT_SEYED
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
آهای شمایی که صفحه لودینگ توی کد html با css تعریف میکنی
این کار برای خوشگلی نیست دوست عزیز 🤦♂️
اگر برای لود کردن محتوا مشکلی وجود نداره و صرفا شما یک تمپلیت رندرینگ انجام میدید و کد جاوااسکریپتی توی صفحه درحال اجرا نیست برای نمایش کامل محتوا بزن اون لودینگ رو حذف کن. یا حداقل تایمش رو بزار روی چند صدم ثانیه
چون با این لودینگ مسخره ای که گذاشتی فقط سئوی سایت رو داغون میکنی و کاربر رو عصبانی
با تشکر #سید @IT_SEYED
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
✔️ وبفریمورکها چگونه کار میکنند؟
🟣 قسمت ۳: توضیح نحوه کارکرد WSGI و Gunicorn
اگر بخواهیم محتوای داینامیک یا پویا رو در سایتمون ارائه بدیم یا حتی محتوای استاتیک و داینامیک رو باهم ارائه بدیم به برنامهای نیاز داریم که اجرا بشه و ریکوئستها رو پردازش کنه.
این برنامه میتونه با هر زبانی نوشته بشه و ما قصد داریم با پایتون اون رو بنویسیم.
در این قسمت مفهوم WSGI رو با توجه مستندات رسمی پایتون توضیح دادم و در نهایت با درک کردن Gunicorn اپلیکیشنمون رو اجرا کردیم.
سعی کردم در این ویدئو انواع اجرا شدن Gunicorn رو هم توضیح بدم که دونستنش خیلی مفیده.
🌐 https://youtu.be/krxOBlqLjjE
#web_framework #python #http #web_server
#یوتوب #یوتیوب #یوتوب_فارسی #یوتیوب_فارسی
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
🟣 قسمت ۳: توضیح نحوه کارکرد WSGI و Gunicorn
اگر بخواهیم محتوای داینامیک یا پویا رو در سایتمون ارائه بدیم یا حتی محتوای استاتیک و داینامیک رو باهم ارائه بدیم به برنامهای نیاز داریم که اجرا بشه و ریکوئستها رو پردازش کنه.
این برنامه میتونه با هر زبانی نوشته بشه و ما قصد داریم با پایتون اون رو بنویسیم.
در این قسمت مفهوم WSGI رو با توجه مستندات رسمی پایتون توضیح دادم و در نهایت با درک کردن Gunicorn اپلیکیشنمون رو اجرا کردیم.
سعی کردم در این ویدئو انواع اجرا شدن Gunicorn رو هم توضیح بدم که دونستنش خیلی مفیده.
🌐 https://youtu.be/krxOBlqLjjE
#web_framework #python #http #web_server
#یوتوب #یوتیوب #یوتوب_فارسی #یوتیوب_فارسی
〰️〰️〰️〰️〰️〰
©️ @DjangoEx
(این یک تبلیغ نیست)
اگر علاقه مند به برنامه نویسی بات و کلاینت تلگرام هستید، به کامیونیتی فارسی پایروگرام بپیوندید.
قبل از ارسال پیام، پیام های پین شده(قوانین) رو مطالعه کنید.
لینک گروه:
@PyrogramIR
〰〰〰〰〰〰
©@DjangoEx
اگر علاقه مند به برنامه نویسی بات و کلاینت تلگرام هستید، به کامیونیتی فارسی پایروگرام بپیوندید.
قبل از ارسال پیام، پیام های پین شده(قوانین) رو مطالعه کنید.
لینک گروه:
@PyrogramIR
〰〰〰〰〰〰
©@DjangoEx
✔️ دیدن مثالهای کاربردی از ماژولها و کتابخانهها یکی از بهترین راههای یادگیری است. علاوه بر آن زمانی که بخواهید مثالی را در پروژههای خود استفاده کنید مطالعه نمونههای انجام شده از قبل میتواند بسیار مفید باشد.
سایت programcreek.com دارای مجموعهای بسیار بزرگ از مثالهای کاربردی ماژولهای Python است.
من برای شما مثالهای Django و Celery را سرچ کردم. باقیش به عهده شما...
پ.ن: مثالهای کاربردی از زبانهای جاوا، سیپلاسپلاس و اسکالا هم در این سایت موجود است.
#module_example #programming #python
〰️〰️〰️〰️〰️〰️
© @DjangoEx
سایت programcreek.com دارای مجموعهای بسیار بزرگ از مثالهای کاربردی ماژولهای Python است.
من برای شما مثالهای Django و Celery را سرچ کردم. باقیش به عهده شما...
پ.ن: مثالهای کاربردی از زبانهای جاوا، سیپلاسپلاس و اسکالا هم در این سایت موجود است.
#module_example #programming #python
〰️〰️〰️〰️〰️〰️
© @DjangoEx
✔️ Dependency Injection
اگر کدها بتونن باهم صحبت کنن، چطوری dependency رو inject میکنن؟
〰️〰️〰️〰️〰️〰️
© @DjangoEx
اگر کدها بتونن باهم صحبت کنن، چطوری dependency رو inject میکنن؟
〰️〰️〰️〰️〰️〰️
© @DjangoEx
Django Expert
✔️ Dependency Injection اگر کدها بتونن باهم صحبت کنن، چطوری dependency رو inject میکنن؟ 〰️〰️〰️〰️〰️〰️ © @DjangoEx
✔️ Dependency Injection در جنگو
جنگو به صورت سنگینی از Dependency Injection استفاده میکنه.
مثلا میبینید که خیلی راحت میتونیم در فایل settings.py یک سری تنظیمات رو مشخص کنیم و خیلی خوشحال اپلیکیشن رو به دیتابیس متصل کنیم. برای نمونه:
یا مثلا در DRF هم شاهد DI های زیادی هستیم
C
متاسفانه توی جامعه پایتونیک راجع به Dependency Injection صحبت زیادی نمیشه. اما بسیار مهم هست و همچنین جزو یکی از اصول SOLID هست و علم به این موضوع هم خالی از لطف نیست.
برای مطالعه کامل تر میتونید Dependency Injection in Python رو سرچ کنید.
〰️〰️〰️〰️〰️〰️
© @DjangoEx
جنگو به صورت سنگینی از Dependency Injection استفاده میکنه.
مثلا میبینید که خیلی راحت میتونیم در فایل settings.py یک سری تنظیمات رو مشخص کنیم و خیلی خوشحال اپلیکیشن رو به دیتابیس متصل کنیم. برای نمونه:
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': REDIS_URL + '/1',
},
یا مثلا در DRF هم شاهد DI های زیادی هستیم
C
lass FooView(APIView):
# The "injected" dependencies:
permission_classes = (IsAuthenticated, )
throttle_classes = (ScopedRateThrottle, )
renderer_classes = (renderers.JSONRenderer,)
متاسفانه توی جامعه پایتونیک راجع به Dependency Injection صحبت زیادی نمیشه. اما بسیار مهم هست و همچنین جزو یکی از اصول SOLID هست و علم به این موضوع هم خالی از لطف نیست.
برای مطالعه کامل تر میتونید Dependency Injection in Python رو سرچ کنید.
〰️〰️〰️〰️〰️〰️
© @DjangoEx
✔️ Monkey Patching در پایتون
🔶 پایتون یک زبان اسکریپتی و duck-type هست (شبیه اردک که اگه بگه کواک یعنی اردک هست!)
🔷 به همین دلیل در هنگام run-time یک برنامه پایتونی میتونیم متدها یا پراپرتی هایی رو به آبجکت ها اضافه کنیم یا تغییرشون بدیم. دقت کنید که این اتفاق در زمان اجرای برنامه رخ میده
✅ به این کار که در پاراگراف بالا توضیح دادیم در دنیای پایتونیک میگیم Monkey Patching. یعنی در هنگام run-time اپلیکیشن یک سری متد(رفتار) یا پراپرتی(ویژگی) به یک آبجکت اضافه میکنیم یا میتونیم تغییرشون بدیم.
نمونه کد برای درک بهتر:
پ ن: میبینیم که متد speak به آبجکت SomeClass مثل یک میمون چسبیده (مفهوم مانکی پچینگ) و از این به بعد این آبجکت دارای رفتار speak خواهد بود.
پ ن۲: عکسی که مشاهده میکنید هیرو مانکی کینگ دوتا۲ هست
پ ن ۳: به باغ وحش پایتون خوش اومدید
〰️〰️〰️〰️〰️〰️
© @DjangoEx
🔶 پایتون یک زبان اسکریپتی و duck-type هست (شبیه اردک که اگه بگه کواک یعنی اردک هست!)
🔷 به همین دلیل در هنگام run-time یک برنامه پایتونی میتونیم متدها یا پراپرتی هایی رو به آبجکت ها اضافه کنیم یا تغییرشون بدیم. دقت کنید که این اتفاق در زمان اجرای برنامه رخ میده
✅ به این کار که در پاراگراف بالا توضیح دادیم در دنیای پایتونیک میگیم Monkey Patching. یعنی در هنگام run-time اپلیکیشن یک سری متد(رفتار) یا پراپرتی(ویژگی) به یک آبجکت اضافه میکنیم یا میتونیم تغییرشون بدیم.
نمونه کد برای درک بهتر:
from Module import SomeClass
def speak(self):
return "ook ook eee eee eee!"
SomeClass.speak = speak
پ ن: میبینیم که متد speak به آبجکت SomeClass مثل یک میمون چسبیده (مفهوم مانکی پچینگ) و از این به بعد این آبجکت دارای رفتار speak خواهد بود.
پ ن۲: عکسی که مشاهده میکنید هیرو مانکی کینگ دوتا۲ هست
پ ن ۳: به باغ وحش پایتون خوش اومدید
〰️〰️〰️〰️〰️〰️
© @DjangoEx
Forwarded from DevOps Expert (Aliakbar Hemmati)
✔️ داکر برای برنامه نویسان - قسمت ۷ منتشر شد
در این دوره یاد میگیریم کانتینرها چی هستند و چطور با داکر میتونیم اونها اجرا کنیم. همچنین مطالبی که یک برنامه نویس باید برای نوشتن برنامههای داکرایز شده بدونه رو پوشش میدیم.
🔹 قسمت سوم - دستورات ابتدایی در داکر
👉 Link: https://vrgl.ir/MKlNQ
🔸 قسمت چهارم - حذف تصویر و کانتینر در داکر
👉 Link: https://vrgl.ir/CfTbq
🔹 قسمت پنجم - ارتباط با کانتینر
👉 Link: https://vrgl.ir/arPBF
🔸 قسمت ششم - اشتراک و جابجایی فایل در کانتینر
👉 Link: https://vrgl.ir/JX3XR
🔹 قسمت هفتم - دستورات متفرقه ولی مفید
👉 Link: https://vrgl.ir/QlqEd
#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
در این دوره یاد میگیریم کانتینرها چی هستند و چطور با داکر میتونیم اونها اجرا کنیم. همچنین مطالبی که یک برنامه نویس باید برای نوشتن برنامههای داکرایز شده بدونه رو پوشش میدیم.
🔹 قسمت سوم - دستورات ابتدایی در داکر
👉 Link: https://vrgl.ir/MKlNQ
🔸 قسمت چهارم - حذف تصویر و کانتینر در داکر
👉 Link: https://vrgl.ir/CfTbq
🔹 قسمت پنجم - ارتباط با کانتینر
👉 Link: https://vrgl.ir/arPBF
🔸 قسمت ششم - اشتراک و جابجایی فایل در کانتینر
👉 Link: https://vrgl.ir/JX3XR
🔹 قسمت هفتم - دستورات متفرقه ولی مفید
👉 Link: https://vrgl.ir/QlqEd
#داکر #docker
〰️〰️〰️〰️〰️
©️ @DevOpsEx
تا چه میزان از مطالب کانال رضایت دارید؟
Anonymous Poll
23%
معرکه است😍
40%
خوبه😃
17%
بد نیست 😒
2%
بده 😤
5%
اینا چیه میزارید 🤬
13%
اصلا نمیدونم جنگو چیه🙄 (دیدن نتایج)
👍1