Python BackendHub – Telegram
Python BackendHub
7.5K subscribers
314 photos
46 videos
11 files
432 links
Learning python & Backend Engineering, with Mani!

Youtube: https://www.youtube.com/@GitOverHere
Github: https://github.com/ManiMozaffar
Linkedin: https://www.linkedin.com/in/manimozaffar

تبلیغات نداریم

Admin: @Mani_nikou
Download Telegram
Forwarded from Arsham's Tech Mastery (Arsham)
تا حالا شده به یه مشکلی بخورید، ولی هیچ سر نخی از مشکل ندارید، بنابراین اصلا نمیدونید راجع به چی باید سرچ کنید؟ یا هر چی سرچ میکنید به نتیجه نمیرسید. (مثلا یه بار سر مموری لیک تو نود جی اس اینجوری شدم، و نمیدونستم حتی مشکلی که خوردم اسمش مموری لیک هست، مدعیان سینیوریتی هم که... باید براشون میخوندم ای به فدای چشم تو این چه نگاه کردن است!)

یا مثلا یه چیزی رو ندونید، اما ندونید چی باید سرچ کنید که یادش بگیرید؟ مثلا تو مکالمه همکارات بشنوی "p99 اش چنده؟" قبلنا که یادمه گوگل نتایج قابل قبولی برای این نمیداد، ولی ساده است، میگمش بعدا. (کلیت سوالم رو دریابید فارق از مثال)

یه حالت بدتر هم وجود داره، که مشکل خوردن، اما اصلا نمیدونن مشکل خوردن! (مثلا چندتا گوروتین اون گوشه نشستن نون و پنیرشونو میخورن به کسی هم کار ندارن (dangling goroutines))

یا میدونن مشکل خوردن اما بهش بی توجهی میکنن مثلا سرور هفته ای یه بار کرش میکنه، ری استارت میکنن و درست میشه و روز از نو روزی از نو! Availability هم که... کشک! 😂

قسمت سختش وقتیه که میخواید یه سیستم جدید دیزاین کنید،
- نمیدونید از کجا شروع کنید
- نمیدونید چه تصمیمی درست یا غلط، چون پارامتر های مقایسه اش رو نمیدونید
- یا جوانب مختلفش رو بدونید که هست اما نتونید ببینید

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

مثلا خود من الان دارم راجع به کریپتوگرافی میخونم در حالی که تو کارم یا پروژه ای بهش نیاز نداشتم، فعلا صرف علاقه است، ولی وقتی که اسکیلش رو به دست بیارم، میتونم برای موقعیت هایی که این نیازمندی رو دارن شایستگی خودمو نشون بدم.

یا تو همین موقعیتی که هستم نواقصی رو خواهم دید که قبلا نمیدیدم (مطمئنم این اتفاقا میوفته چون چندین بار تجربش کردم)

همه ما برنامه نویسا کم و بیش این دوره رو تجربه کردیم که نه بر حسب نیاز بلکه برای آینده مطالعه کنیم (قبل اولین کارمون مثلا)، اما گاهی بعد اینکه دیگه به کار میرسیم انقدر غرق کار میشیم که یادمون میره این مسیر طولانی تر از این حرفاست و کلی موقعیت برا پیشرفت هست. (بعضیا هم میدونن موقعیت هست ولی تصمیمشون بر لذت بردن و... در تایم های شخصیه، اونم مورد احترامه)
👍244👎3👏1
Arsham's Tech Mastery
تا حالا شده به یه مشکلی بخورید، ولی هیچ سر نخی از مشکل ندارید، بنابراین اصلا نمیدونید راجع به چی باید سرچ کنید؟ یا هر چی سرچ میکنید به نتیجه نمیرسید. (مثلا یه بار سر مموری لیک تو نود جی اس اینجوری شدم، و نمیدونستم حتی مشکلی که خوردم اسمش مموری لیک هست، مدعیان…
پست فشنگیه، ولی به نظرم به مخاطب بازم دلیل زیادی نمیده. برای همین یک نکته اضافه میکنم.
دید هلیکوپتری داشتن بهتون خیلی کمک میکنه. وسعت دیدتون رو بیشتر میکنه. اگه کله عمرتون پایتون کار کردین، ممکنه python core developer شین ولی به محض اینکه تاپیک از پایتون خارج شه، دیگه خیلی حرفی برای گفتن ندارین. و رو کریرتون هم تاثیر میذاره.

دید هلیکپوتری یعنی اینکه شما وقتی یک اسکیل رو خوب یاد گرفتی، مثلا بک اند با پاینون، دیگه بسنده نکنی به بک اند و یک جایی سعی کنی شاخه به شاخه بپری. مثلا دوآپس انجام بدی، Business Intelligence انجام بدی، فرانت انجام بدی، دیتا ساینس یاد بگیری، زبون جدید با ایده های متفاوت یاد بگیری، و … لزومی نیست تو اینا دیپ شی، فقط در این حد که دو نفر رو دیدی راجب این ایتمایی که گفتم دارن حرف میزنن، حرفشون رو متوجه شی. اینکار به طرز عجیبی رو کار روزانتون هم تاثیر میذاره، حتی اگه فقط یک رول خاص داشته باشین.

برای همین من سعی میکنم این جمله <این کاره من نیست> رو نگم. طبیعتا ممکنه یک کاریو ریجکت کنم اگه از حیطه وظیفم خارج باشه و اصلا به هیچ دردم نخوره. ولی اگه اینطوری نباشه و کمی interaction داشته باشه با کارم، حتی ۱ درصد، حتی داوطلبانه انجامش میدم. چون کاری که هر روز دارم چند ساله انجام میدم، خیلی چالشش کمتره برام تا اینکار و خودم کمتر رشد میکنم.

@PyBackendHub
👍27👏21👎1
فردا بعد مدت ها یک ویدیو یوتیوب داریم
کرش‌کورس sqlalchemy

خیلیا این مدت ازم سوال زیاد میپرسیدن راجب sqla. و یک سری نکاتی هست که شاید براتون گیج کننده باشه، مثل تفاوت اجرا کوئری با scalars و execute

تو این کرش کورس یک ویدیویی قراره به سطحی برسید که خیلی راحت بتونید از sqlalchemy تو پروژه هاتون استفاده کنید. تو این کرش کورس راحت ترین شیوه استفاده از sqla رو بهتون یاد میدم.

پیش نیاز این کورس بلد بودن sql و پایتونه فقط.
@PyBackendHub
❤‍🔥42👍113👏31🔥1
Python BackendHub
فردا بعد مدت ها یک ویدیو یوتیوب داریم کرش‌کورس sqlalchemy خیلیا این مدت ازم سوال زیاد میپرسیدن راجب sqla. و یک سری نکاتی هست که شاید براتون گیج کننده باشه، مثل تفاوت اجرا کوئری با scalars و execute تو این کرش کورس یک ویدیویی قراره به سطحی برسید که خیلی…
اطلاعات تکمیلی راجب کرش کورس بدم
اولا تو ۶ قسمت پخش میشه. قسمت ها به ترتیب:

۱. معماری و نحوه کار sqlalchemy و دانش thoery مورد نیاز برای درک sqlalchemy
۲. درک انجین داخل sqlalchemy
۳. آشنایی با تایپ های مختلف داخل لایبری و DML و تفاوت هاشون
۴. روش های ساخت تیبل و فارن کی و درک عمیق از مفهوم table داخل sqlalchemy
۵. توضیح Session و قسمت ORM داخل sqlalchemy
۶. آموزش ماگریشن نویسی با alembic


روزی یک قسمت پخش میشه. از امشب منتشر میشه. این ۶ قسمت کافیه برای شما که شروع کنی به استفاده کردن از sqlalchemy داخل پروژتون. کورس با async جلو میره و از async extension sqlalchemy استفاده میکنیم.
میتونم یک قسمت ۷ام بعدا بذارم برای پرسش پاسخ. اگه پیشنهادی داشتین حتما کامنت کنید.
@PyBackendHub
🔥19👍94
یک تکنیک بحث کردن که بنظرم ما ایرانیا خیلی توش ضعیفیم,
وقتی با کسی بحث میکنید, بحث سره دفاع از ایده خودتون نیست. بحث سره اینکه که چه ایده ای میتونه بهترین ایده باشه.
مثلا شما با ایده A دارین با کسی با ایده B بحث میکنید. اگه شما از ایده A و اون فرد از ایده B داره دفاع میکنه اونوقت اون بحث فرسایشیه. بحثی درسته که شما جوانب A و B رو بررسی کنی و بعد تصمیم بگیری کدوم بهتره, یا اینکه به یک ایده جدیدی مثل C برسید.
برنده کسی نیست که ایدش برنده میشه، برنده کسایین که تو اون بحث بودن :)

به قول دوستمون تو کامنت ها, ایده ابزاره. نه توصیف کننده شخصیت.
@PyBackendHub
👍51👎3👏2🍌2
اولین قسمت از پلی لیست SQLAlchemy منتشر شد!
در این قسمت، به بررسی ساختار ORM می‌پردازیم و مفاهیم اولیه معماری و لایه‌های این کتابخانه را معرفی می‌کنیم. همچنین، به ویژگی‌های مختلف کتابخانه نگاهی می‌اندازیم و مزایای استفاده از آن را توضیح می‌دهیم. در پایان، با نوشتن چند خط کد، معماری و لایه‌ها را بهتر درک خواهیم کرد.

لینک ویدیو:
https://youtu.be/ybkq1s-rQVY

این دوره شامل ۶ قسمت هست. این دوره ۶ قسمته شما رو برای استفاده از SQLAlchemy داخل پروژه هاتون و پروداکشن آماده میکنه و به شما درک بنیادی و کافی از SQLAlchemy میده که دیگه درک این ORM براتون خیلی سخت نباشه.

@PyBackendHub
🔥31👍32
Python BackendHub
بخاطر یک ریلیز جدید setuptools که برکینگ چنج داشته، کل ابزارا مثل uv و poetry و pdm از کار افتادن از امروز فیکسش اینجاست موقتا https://github.com/pypa/setuptools/issues/4519#issuecomment-2254983472 @PyBackendHub
داستان چی بود؟
دیشب maintainer لایبری setuptools قبل اینکه بخوابه، یک ریلیز داد که بیلد قدیمی پایتون رو کلا دیگه ساپورت نمیکرد. ۵ ساله که deprecate شده بود و الان باید از PEP 571 استفاده کنید.

خیلی پکیج ها هنوز اینو اعمال نکرده بودن، درنتیجه pip install با نسخه اخر setuptool فیل میشد واسه اون پکیجا.

تو گیتهاب هم به شدت شلوغ شد! منتینر بعد ۱۰ ساعت بلند شد دید یک ایشو ساخته شده ۱۵۰ تام کامنت خورده 😁 در نتیجه ریلیز رو yank کرد.

نکته جالب اینجاست که اون warningای که میداد رو کنسول خیلی وقتا نمایش داده نمیشد، و برای همین خیلیا ندیده بودن اصلا.

خوده maintainer هم فرض کرده بود که مشکل زیادی پیش نمیاد.

خلاصه که درس شد:
۱. قبل از خواب ریلیز ندید 😂 اخرین روز هفته هم همینطور :))
۲. فرضیات همیشه با واقعیت فرق دارن، چیزایی که فکر میکنید قطعا کار میکنن درواقع ممکنه کار نکنند (مثل depreciation message). همیشه فرضیات رو زیرسوال ببرید و دوباره چک کنید وقتی دارین یک کار مهمی انجام میدین

@PyBackendHub
👍35😁4
دومین قسمت از پلی لیست SQLAlchemy منتشر شد!

در این قسمت، به Engine در SQLAlchemy میپردازیم, نحوه وصل شدن به دیتابیس رو میبینیم. مفهوم Dialect رو بهتر و عمیقتر بررسی میکنیم, و کانکشن پولینگ و نحوه پیاده سازیش و کنترلش داخل SQLAlchemy رو آزمایش میکنیم.

لینک ویدیو:
https://youtu.be/84oa66tzVGE


این دوره شامل ۶ قسمت هست. این دوره ۶ قسمته شما رو برای استفاده از SQLAlchemy داخل پروژه هاتون و پروداکشن آماده میکنه و به شما درک بنیادی و کافی از SQLAlchemy میده که دیگه درک این ORM براتون خیلی سخت نباشه.

@PyBackendHub
19👍5👏1
Python BackendHub
دومین قسمت از پلی لیست SQLAlchemy منتشر شد! در این قسمت، به Engine در SQLAlchemy میپردازیم, نحوه وصل شدن به دیتابیس رو میبینیم. مفهوم Dialect رو بهتر و عمیقتر بررسی میکنیم, و کانکشن پولینگ و نحوه پیاده سازیش و کنترلش داخل SQLAlchemy رو آزمایش میکنیم. لینک…
منی که ۲ ساله دارم از این orm استفاده میکنم, این دوره بین همه دوره هایی که گذاشتم با اختلاف پرچالش ترین بود. چالشش در این حد بود که من هر ویدیو رو دارم ۲-۳ بار ریکورد میکنم 😅 چون واقعا درست کردن کانتنتی که ۱۰۰ درصد دقیق و درست باشه راجب sqla کاره سختیه ! توصیه میکنم حتما ببینیدش حتی اگه بلدین این لایبریو.

@PyBackendHub
👏359👍4
https://www.youtube.com/watch?v=J8et7Xoy1GU

خیلی ویدیو خوبیه توصیه میکنم حتما ببینید, کالچر یک شرکت سالمه. یک تیکه اش مربوط به Optimize for deep work هست

"We trust each others, we know everyone is really working hard, we don't need to waste time on scheduling and attending meeting where we keep checking on everyone frequently"

این کار باعث میشه همه درواقع کار کنند :)‌ کسی نباشه که کل ساعتاشو داره تو میتینگ میچرخه و کاری خاصی پیش نمیبره.


@PyBackendHub
👍102👏1
Python BackendHub
دومین قسمت از پلی لیست SQLAlchemy منتشر شد! در این قسمت، به Engine در SQLAlchemy میپردازیم, نحوه وصل شدن به دیتابیس رو میبینیم. مفهوم Dialect رو بهتر و عمیقتر بررسی میکنیم, و کانکشن پولینگ و نحوه پیاده سازیش و کنترلش داخل SQLAlchemy رو آزمایش میکنیم. لینک…
#موقت کسایی که دو قسمت رو دیدن، نظرشون تا اینجا راجب دوره چیه؟
زیاد تر از نیاز توضیح میدم؟ (خیلی وقتا یک چیزو چند بار تکرار میکنم که برای مخاطب خوب جا بیفته.)

ویدیو بلنده؟ کوتاهه؟ صدا بده یا خوبه؟ تصویر بده یا خوبه؟ کلا یک فیدبک بدین بهم خیلی تاثیر میذاره رو ویدیو های بعدی

@PyBackendHub
17🔥4👍1
سومین قسمت از پلی لیست SQLAlchemy منتشر شد!

در این بخش به تعامل بین Engine و Query می‌پردازیم. بررسی می‌کنیم که چگونه می‌توانیم یک کوئری را اجرا کنیم، نتایج حاصل از دیتابیس را پردازش کنیم، و چگونه با تغییر در نحوه‌ی کامپایل کوئری، می‌توانیم بر خروجی تاثیر بگذاریم. با پرداختن به این موضوع هابه درک بهتری از تایپ های SQLAlchemy میرسیم و داکیومنت شلوغ و به هم ریخته اش رو بهتر میتونیم بخونیم.

لینک ویدیو:

https://youtu.be/qDtB--xlbX0

این دوره شامل ۶ قسمت هست. این دوره ۶ قسمته شما رو برای استفاده از SQLAlchemy داخل پروژه هاتون و پروداکشن آماده میکنه و به شما درک بنیادی و کافی از SQLAlchemy میده که دیگه درک این ORM براتون خیلی سخت نباشه.

@PyBackendHub
12👍9🔥2
Python BackendHub
سومین قسمت از پلی لیست SQLAlchemy منتشر شد! در این بخش به تعامل بین Engine و Query می‌پردازیم. بررسی می‌کنیم که چگونه می‌توانیم یک کوئری را اجرا کنیم، نتایج حاصل از دیتابیس را پردازش کنیم، و چگونه با تغییر در نحوه‌ی کامپایل کوئری، می‌توانیم بر خروجی تاثیر…
قسمت چهارم امشب نمیاد, فردا شب میاد.
تا الان نیمی از دوره گذشته و حدود ۱ ساعت و ربع بوده 😁 اگه بتونم۶ قسمت رو در نهایت تو ۲ ساعت و نیم جمع کنم خیلی خوب میشه. 👌 امیدوارم اینطوری کمکی کرده باشم که کسایی که بخاطر پیچیدگی و داکیومنت بد نمیرفتن سمتش, یک تجدید نظر کنند.
@PyBackendHub
👍3217
Forwarded from Django Expert (Boby Cloud)
#فان_فکت

〰️〰️〰️〰️〰️〰️
© @DjangoEx
😁34👍5😱2🤣2
چهارمین قسمت از پلی لیست SQLAlchemy منتشر شد!

در این بخش ابتدا به انواع داده‌ها (Types) در SQL و نحوه تعریف و شخصی‌سازی آن‌ها در SQLAlchemy می‌پردازیم. سپس به بررسی روش‌های مختلف ساخت جداول (Tables) و استفاده از type registry خواهیم پرداخت. در نهایت، نحوه ایجاد Foreign Key، انجام عملیات query و ّInsert در جداول را تمرین خواهیم کرد.

لینک ویدیو:

https://youtu.be/wHV98-DZoZg

این دوره شامل ۶ قسمت هست. این دوره ۶ قسمته شما رو برای استفاده از SQLAlchemy داخل پروژه هاتون و پروداکشن آماده میکنه و به شما درک بنیادی و کافی از SQLAlchemy میده که دیگه درک این ORM براتون خیلی سخت نباشه.

@PyBackendHub
🔥11👍4👏21
یک وقتا به دلایل خیلی منطقی مجبوریم cast کنیم. مثلاً تایپی که از لایبری برمی‌گرده اشتباهه. مثلاً فرض کنید لایبری تایپش داره میگه int برمی‌گرده ولی در واقع float هست. هیچوقت همچین کاری نکنید:


foo = library_func()
bar = typing.cast(float, foo)


به جاش اینکارو انجام بدید


foo: int = library_func()
bar = typing.cast(float, foo)


فرقش چیه؟ شما داری خودتو تایید می‌کنی که من می‌دونستم این int برمی‌گردونه. ولی به float اومدم cast اش کردم. اینطوری اگر یک روزی signature اون تابع عوض شد و تبدیل شد به استرینگ مثلاً، کد شما یک چیزی که قصد نداشتی (استرینگ) رو به یک چیز دیگه cast نمی‌کنه.

خلاصش cast یعنی دروغ گفتن به تایپینگ. اگه دارین به تایپینگ دروغ میگین,حواستون باشه که یادتون نره چه دروغی گفتین😁

@PyBackendHub
👍22🤯5😁2
پنجمین قسمت از پلی لیست SQLAlchemy منتشر شد!

در این بخش میپردازیم به مفهوم ORM. یاد میگیریم چطور میتونیم آبجکت ‍ORM بسازیم, چطوری راحت تر با دیتابیس کار کنیم. متوجه میشیم Session چیه. چه فرقی با انجین داره. به مفاهیم Expire, expunge, refresh و attach داخل سشن میپردازیم. رفتار سشن رو تو حالت های مختلف تست میکنیم. بالاخره با این ویدیو SQLAlchemy رو تموم کردیم و ویدیو بعدی فقط راجب ماگریشن نویسیه 😍

لینک ویدیو:

https://youtu.be/qH1B9xkfDNA

این دوره شامل ۶ قسمت هست. این دوره ۶ قسمته شما رو برای استفاده از SQLAlchemy داخل پروژه هاتون و پروداکشن آماده میکنه و به شما درک بنیادی و کافی از SQLAlchemy میده که دیگه درک این ORM براتون خیلی سخت نباشه.

@PyBackendHub
28👍2🥰2👏1
Python BackendHub
پنجمین قسمت از پلی لیست SQLAlchemy منتشر شد! در این بخش میپردازیم به مفهوم ORM. یاد میگیریم چطور میتونیم آبجکت ‍ORM بسازیم, چطوری راحت تر با دیتابیس کار کنیم. متوجه میشیم Session چیه. چه فرقی با انجین داره. به مفاهیم Expire, expunge, refresh و attach داخل…
یک ویدیو اخر داریم alembic. که میشه فقط سیستم ماگریشن یعنی خوده لایبری کلا جمع شد. که اونم امشب یا فردا شب منتشر میشه.

اما یک چیزی کمه، که یک نمونه کد باهم بزنیم. یعنی یک پروژه کوچیک بزنیم. که ببینید تو دنیای واقعی چطوری استفاده میشه.

اینو میخوام بصورت لایو بذارم.میدونم نت ها بده. برای همین من یکی دو هفته باید وقت بدم که هرکی عقبه ببینه ویدیو هارو. بنابراین این لایو رو ۲ هفته دیگه اینطورا خواهیم داشت.


@PyBackendHub
👍324👏1
فرهنگ فیدبک دادن واقعا افتضاحه! یک نفر میاد همینطوری کامنت میذاره، بدون اینکه هیچ دلیل و استدلالی باشه. هروقت دارین یک نظری راجب یک content میدین، چه مثبت چه منفی باید اینطوری باشه:
من فکر میکنم <افکارتون>…، چون <دلیل ۱> و <دلیل ۲>.
من حدس میزنم دوستمون چرا همچین حرفی زده، برای همین تو کانال توضیح میدم:

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

دوما همه چیزو تو detail ریز توضیح نمیدم. مثلا تو ویدیو اخر میگم اره Session داره ابجکت های orm اتون رو track میکنه. نمیام بگم چطوری میکنه. چون باید یک ویدیو بدم فقط راجب این حرف بزنم، و به درده ۹۹ درصد نمیخوره و هدف یک crash course نیست و اکثریت رو گیج میکنه. به جاش با ازمون خطا این فکتو ثابت میکنم.

@PyBackendHub
👍6712🤣3💩2
Python BackendHub
فرهنگ فیدبک دادن واقعا افتضاحه! یک نفر میاد همینطوری کامنت میذاره، بدون اینکه هیچ دلیل و استدلالی باشه. هروقت دارین یک نظری راجب یک content میدین، چه مثبت چه منفی باید اینطوری باشه: من فکر میکنم <افکارتون>…، چون <دلیل ۱> و <دلیل ۲>. من حدس میزنم دوستمون چرا…
اشتباه برداشت نشه من هدفم این نیست که بگم چرا فیدبک منفی دادن. اتفاقا کاملا استقبال میکنم و خیلی دوست دارم فیدبک بگیرم. کاری که خیلی زیاد انجام دادم تو کانالم. ولی فرهنگ و آدابی داره که سینتکسشو مثال زدم.

@PyBackendHub
👍21👎3💩32🍌1