Django Expert
9.71K subscribers
992 photos
81 videos
114 files
1.34K links
✔️ بزرگترین کانال و جامعه جنگو به فارسی
Contact:
@majid_aghamohamad
@BobyCloud

Group:
@DjangoIR

Our Site ;coming soon:
🔜 PyExpert.ir

تبلیغات نداریم فقط درج آگهی های استخدامی مرتبط پذیرفته می‌شود
Download Telegram
Forwarded from DevOps Expert (Mohammad Babazadeh)
#fun

〰️〰️〰️〰️〰️〰️
© @DevOpsEx
آموزش کامل داکر 🔥

✔️ ۰۰ - آموزش داکر - داکر چیست و به چه دردی میخوره؟
👉🏻 https://youtu.be/j4mYb5ZuH3Q

✔️ ۰۱ - تفاوت داکر با ماشین مجازی - داکر چطوری کار می کنه؟
👉🏻 https://youtu.be/M-tTkh6fS8g

✔️ ۰۲ - نصب و کانفیگ داکر بر روی لینوکس
👉🏻 https://youtu.be/nVZg08dcx90

✔️ ۰۳ - نصب و کانفیگ داکر بر روی ویندوز
👉🏻 https://youtu.be/ziMMC8Rc12M

#داکر #سیلیسیم
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ همه‌چیز درباره‌ی الگوهاست!

در پیرو نسخه ۳.۱۰ زبان برنامه‌نویسی پایتون که در ۴ اکتبر ۲۰۲۱ منتشر شد. یکی از امکانات جدید آن که پیش‌تر هم راجع‌به آن صحبت‌های زیادی شده بود مورد توجه برنامه‌نویسان پایتون قرار گرفت. این امکان Structural Pattern Matching نام دارد.
در نگاه اول به نمونه کدهای مرتبط با این قابلیت، ممکن است شبیه به switch case در زبان‌هایی مثل C/CPP، Java، Javascript و... بنظر برسد. اما واقعیت چیز دیگری‌ست.
اول از همه باید توجه داشت که این قابلیت ابداع شده‌ توسط پایتون نیست و زبان‌های دیگری مثل Haskell، Erlang، Ruby و... نیز از چنین ساختاری برخوردار هستند. توجه شما را به این نقل قول از Brandt Bucher نویسنده این قابلیت جدید از پایتون جلب می‌کنم:
"We didn't invent most of this, we stole a lot of it :)"

تفاوت Structural Pattern Matching و Switch Case
برنت بوکر (Brandt Bucher) نویسنده این قابلیت توضیح می‌دهد: درواقع چیزهای زیادی وجود دارد که switch case انجام می‌دهد و pattern matching نمی‌تواند و همچنین قابلیت‌های زیادی در pattern matching وجود دارد که switch case از آنها برخوردار نیست. اگر شما تلاش کنید که این دو ساختار را شبیه هم در نظر بگیرید، شانس استفاده از قدرت هردو را از دست می‌دهید.

اما این چه ساختاری است؟
درواقع Structural Pattern Matching ترکیبی از دو ایده‌ی کنترل روند (control flow) و گسستن ساختار (destructure) است. در این ساختار با دریافت یک مقدار (subject value) و تعریف کردن چند الگوی تطبیق (pattern) برای آن، فرایند را منتهی به تطابق یا عدم تطابق می‌کنیم.
در تعریف ساده: در این روند مقدار ورودی به اجزای سازنده آن تجزیه شده و در جریان تطابق با الگوی تعیین شده قرار می‌گیرد.
فرض کنید متغیر name را به عنوان ورودی می‌گیریم و انتظار داریم که از نوع لیست، به اندازه ۲، در اندیس صفر مقدار Shahriar و در اندیس یکم مقدار Shariati را داشته باشد. در پایتون ۳.۹ به قبل، می‌توانیم چنین کدی را داشته باشیم:

if (
isinstance(name, list)
and len(name) == 2
and name[0] == "Shahriar"
and name[1] == "Shariati"
):
print("Name is correct.")
else:
print("Name is incorrect.")

اما حالا با کمک پایتون ۳.۱۰ می‌توانیم چنین الگویی را تعریف کنیم:

match name:
case ["Shahriar", "Shariati"]:
print("Name is correct")
case _:
print("Name is incorrect")

نکته: علامت underscore در اینجا حکم الگوی خالی را دارد و در صورتی که مقدار ورودی با هیچ کدام از الگوهای تعریف شده تطابق نداشته باشد اتفاق می‌افتد.
به همین ترتیب مثلا برای مقایسه مقادیر داخل یک data class به نام Point نیز می‌توانیم چنین الگویی تعریف کنیم:

match p:
case Point(0, 0):
print("At the origin!")
case Point(0, y):
print(f"On the y-axis at {y = }!")
case Point(x, 0):
print(f"On the x-axis at {x = }!")

در قطعه کد بالا با تعریف تطابق کلاس و یک الگوی پویا می‌توانیم مقادیر موجود در کلاس مانند x و y را نیز استخراج کنیم و در بدنه‌ی شرط از آن استفاده کنیم. برای مطالعه بیشتر به pep-636 مراجعه کنید.

احتمالا تا الآن متوجه شده باشید که این قابلیت چیزی بیشتر و متفاوت‌تر از مقایسه معمولی است و همانطور که پیداست، اینجا الگوها حائز اهمیت هستند!
این قابلیت در سه pep به شماره‌های ۶۳۴، ۶۴۵ و ۶۳۶ معرفی شده که خواندن آنها بسیار مفید است.

منابع
PEP 634 -- Structural Pattern Matching: Specification
PEP 635 -- Structural Pattern Matching: Motivation and Rationale
PEP 636 -- Structural Pattern Matching: Tutorial
Python 3.10 Release Stream - Brandt Bucher
#Fun
#موقت

© @DjangoEx
آموزش کامل داکر 🔥

✔️ ۰۴ - ثبت نام در docker hub و لاگین با docker و کاهش محدودیت دانلود ایمیج
👉🏻 https://youtu.be/MEC21hKHkUk

✔️ ۰۵ - دانلود ایمیج nginx و ران کردنش
👉🏻 https://youtu.be/iowDQry1hNk

✔️ ۰۶ - تنظیم پورت در داکر
👉🏻 https://youtu.be/j5y6xpKQCXk

#داکر
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ آیا attribute‌های private امنیت دسترسی به object را تضمین می‌کنند؟

شما تا چه حد private و protected بودن attributeهای حساس در کلاس را رعایت می‌کنید؟

پ.ن: Anthony Shaw نویسنده کتاب CPython Internals و نویسنده کامپایلر Pyjion برای زبان پایتون است.

#python #پایتون
〰️〰️〰️〰️〰️〰️
© @DjangoEx
✔️ هکتوبرفست اینجاست

توی این پست راجع‌به هکتوبرفست صحبت می‌کنیم و می‌بینیم که چیه،‌ چرا بوجود اومده و چطور میشه توش مشارکت داشت؟


👉 Link: https://youtu.be/VjdaxhnUMcE

Thanks to: @code_therapy

#hacktoberfest #هکتوبرفست
〰️〰️〰️〰️〰️〰️
©@DjangoEx
✔️ مشارکت توی هکتوبرفست

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

اگه ریپازیتوری باحالی می‌شناسین،‌ به من و بقیه معرفی کنین.

👉 Link: https://www.youtube.com/watch?v=5nTDUVUl5Dc

Thanks to: @code_therapy

#hacktoberfest #هکتوبرفست
〰️〰️〰️〰️〰️〰️
©@DjangoEx
آموزش کامل داکر 🔥

✔️ ۰۷ - اجرای دستورات با کانتینرها، اجرای شل
👉 https://youtu.be/5PdizZOilHc

✔️ ۰۸ - آشنایی با volume - اشتراک گذاری، ذخیره سازی و بک‌آپ دیتای کانتینر
👉 https://youtu.be/9URwheOcfx0

#داکر
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ بزرگترین کانال و جامعه جنگو به فارسی

Channel :
@DjangoEx

Group:
@DjangoIR
Forwarded from DevOps Expert (Majid A.M)
✔️ کانال آموزش دوآپس به فارسی

Channels:
@DevOpsEx

Group:
@DevOpsExpertGroup
سلام دوستان یه سری نکته رو لازم دونستم بهتون بگم.
اگه می‌خواید تازه پایتون یا جنگو یا ... رو شروع کنید، سعی کنید بدون اطلاعات کافی داخل بوت کمپ‌های مختلف اسم ننویسین. (اسم از شرکت یا آموزشگاهی نمیبرم)
این رو برای این می‌گم که اخیرا زیاد می‌بینم یه سری دوستان داخل دوره‌هایی شرکت می‌کنن و تهش پشیمون شدن یا اینکه داخل جلسه مصاحبه واقعا دانش کافی در حد مبتدی رو هم حتی ندارن.
کلی آموزش رایگان چه فارسی چه انگلیسی داخل یوتیوب هست و خیلی بهتر هم از اون دوره‌های پولی بهتون آموزش میدن. گول یه سری تبلیغات رو نخورین.
اگه دوره‌ای واقعا خوب هست، استادای خوبی داره و ... پول بدین و شرکت کنید خیلی هم خوبه کلی چیز از یه فرد با تجربه یاد می‌گیرید. اما کلا اینکه صرفا شرکت کردن داخل یه سری بوت کمپ شما رو برنامه نویس نمی‌کنه.

〰️〰️〰️〰️〰️〰️〰️
© @DjangoEx
✔️ سوپر دوره آموزش جنگو - قسمت ۳
طراحی پایگاه داده

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

🛑توجه: لطفا با هندزفری تماشا کنید:))🛑

#django #جنگو
〰️〰️〰️〰️〰️
© @DjangoEx
✔️ How Jython was invented!

#fun
〰️〰️〰️〰️〰️
© @DjangoEx
✔️ Happy 5k! 🥳

〰️〰️〰️〰️〰️
© @DjangoEx
Django (From "Django") - Django Unchained Main Theme
Luis Bacalov
#Music #DjangoUnchained

〰️〰️〰️〰️〰️
© @DjangoEx
✔️ توسعه نرم‌افزار بدون زجر

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

👉 Link: https://github.com/freedomofdevelopers/fod

〰️〰️〰️〰️〰️
© @DjangoEx
آموزش کامل داکر 🔥 (ادامه دارد..)

✔️ ۰۹ - نکات مبتدی باقی مونده: حذف کانتینر و ایمیج، ذخیره و لود ایمیج، نسخه های سبک تر مثل آلپاین و ...
👉🏻 https://youtu.be/wbx8knZ04gs

✔️ ۱۰ - آشنایی با Dockerfile - ساخت ایمیج های جدید
👉🏻 https://youtu.be/ZRLfFdM_rTA

✔️ ۱۱ - آشنایی به docker-compose
👉🏻 https://youtu.be/X1wpatABqgg

#داکر
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ پایتون با پشت سر گذاشتن جاوا محبوب‌ترین زبان برنامه‌نویسی در شاخص TIOBE شد

پایتون برای اولین بار در ۲۰ سال اخیر با کنار زدن جاوا، جاوا اسکریپت و C به محبوب‌ترین زبان برنامه‌نویسی دنیا تبدیل شده. رده‌بندی ماه اکتبر ۲۰۲۱ شرکت TIOBE بر اساس جستجوهای سطح وب نتیجه یافته‌های خود را منتشر کرده است.

شرکت TIOBE که در زمینه ارزیابی و ردیابی کیفیت نرم‌افزارها تخصص دارد، در تحقیقات خود از ۲۵ وب‌سایت و موتور جستجوی محبوب از جمله گوگل، بینگ، یاهو، ویکی‌پدیا و یوتیوب استفاده کرده است. این شرکت در جدیدترین رده‌بندی خود می‌گوید زبان پایتون برای اولین بار در ۲۰ سال اخیر به جایگاه نخست فهرست محبوب‌ترین زبان‌های برنامه‌نویسی رفته است.

👉 Link: https://dgto.ir/2cmo
👉 Link: https://www.tiobe.com/tiobe-index/

متن از دیجیاتو
〰️〰️〰️〰️〰️
© @DjangoEx