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
یکی از کارایی که من همیشه میکنم اینه که تو پروژه هام از draw.io استفاده میکنم.
یک markup language هم خودش داره, که باهاش میتونید این جدول هارو بکشید. بعد همون مارک آپش رو آپلود کنید تو سایتش نشون میده جدول رو مطابق عکس
دیزاین پروژه رو داخلش میکشم, حالا میتونه دیتابیس باشه یا design pattern یا هرچیز دیگه ای, بعد همونو تو github repo هم میذارم. اینطوری یک نفر دیگه همون فایلو باز کنه خیلی سریع دیزاین دستش میاد بدون اینکه کد رو بخونه.

@ManiFoldsPython
👍5🤝2
من در برنامه‌نویسی خیلی محافظه کار هستم.
همه چیز رو دوست دارم با خود زبان حل کنم.
و در قدم بعد با کتابخونه استانداردش.
هر پکیج جانبی رو با کلی فاکتور که در ذهنم دارم میسنجم. گاهی روزها طول میکشه تا تصمیم بگیرم به اضافه کردن چیزی!
با فریم ورک‌های بزرگ میونه‌ای ندارم...

۱/

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

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

۲/

برای همین خیلی وقت‌ها صحبت‌هایی که میکنم یا نظرهایی که میدم، از دید سایر افراد خیلی پرت هست.

مثلا یادم هست قدیم ها در اوج محبوبیت django، من با bottle همه کدهام رو میزدم. کتابخونش هزار خط هم نمیشد. یعنی اگر سازندش میرفت زیر اتوبوس، باز من میتونستم کار خودمو راه بندازم باهاش!

۳/

توضیح دادنش برای بقیه سخت بود که چرا من از bottle استفاده میکنم، در حالی که چیزی مثل django وجود داره...
اون دوران که گذشت، ولی امروز هم نمیتونم جور دیگه‌ای کد بزنم.

این روزها ابزارهای رنگ و وارنگ خیلی از قدیم بیشتر شدن...

۴/

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

۵/

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

۶/

مخصوصا اگر فکر کنم کل کاری که از اون پکیج میخوام، میتونه در حد مثلا ۲-۳ هزار خط بشه، پس چرا این پکیج حجم اش شده ۸۰ مگابایت؟ چرا باید ۸۰ مگابایت کد رو که من هیچی ازش نمیدونم اضافه کنم به پروژه‌ام؟ ریسک‌اش از نظرم خیلی بالاست... مخصوصا که مثلا خود پروژه ام ۱۰ هزار خط باشه!

۷/

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

۸.

#تجربه
👤| Amirreza Gh (@amirr3za)

👨‍💻👩‍💻|@PGTWEET
👍6👎4
PGTWEET | توییت برنامه نویسی
من در برنامه‌نویسی خیلی محافظه کار هستم. همه چیز رو دوست دارم با خود زبان حل کنم. و در قدم بعد با کتابخونه استانداردش. هر پکیج جانبی رو با کلی فاکتور که در ذهنم دارم میسنجم. گاهی روزها طول میکشه تا تصمیم بگیرم به اضافه کردن چیزی! با فریم ورک‌های بزرگ میونه‌ای…
این پست رو ما اگه سال پیش میخوندم میگفتم چرت و پرته محضه از نظره خودم
ولی الان با بیشترش موافقم.

اینکه میگین DRY, خیلی مهمه که DRY به جای don't repeat yourself تبدیل نشه به don't respect yourself.
مثلا یک وب فریمورک اصلا نیازی نداره که از دیتابیس آگاهی داشته باشه, اتفاقی که تو جنگو نمیفته ولی تو fastapi میفته و همین موضوع fastapi رو خیلی قشنگ تر میکنه, چون به شدت solid تر از جنگو هست.
تو قاعده DRY تو یک وب فریم ورک, ما یک سری نیاز اساسی و کلی داریم که تو هر وب فریم ورکی باید تعریف شه, و FastAPI تقریبا همه رو شامل کرده. حالا در خصوص bottle نمیتونم نظری بدم چون باهاش کار نکردم.
ولی باید این مرز رو رعایت کنید, که دوباره از اون سمت نیوفتین, مثلا چه کاریه بیایم از پایتون استفاده کنیم وقتی کلی built in module داره که ما ازش استفاده نمیکنیم؟ این طرز فکر به نظره من حماقته, و باعث میشه reinvent the wheel رو انجام بدید.

پس بنظره من DRY باید تو چهارچوب SOLID باشه و کم حجم نگه داشتن پروژه به صورت همزمان با رعایت بالانس. 👍
@ManiFoldsPython
👍3👎1🤔1
Python BackendHub
این پست رو ما اگه سال پیش میخوندم میگفتم چرت و پرته محضه از نظره خودم ولی الان با بیشترش موافقم. اینکه میگین DRY, خیلی مهمه که DRY به جای don't repeat yourself تبدیل نشه به don't respect yourself. مثلا یک وب فریمورک اصلا نیازی نداره که از دیتابیس آگاهی داشته…
The DRY principle is stated as "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system". The principle has been formulated by Andy Hunt and Dave Thomas in their book The Pragmatic Programmer.[2] They apply it quite broadly to include database schemas, test plans, the build system, even documentation.[3] When the DRY principle is applied successfully, a modification of any single element of a system does not require a change in other logically unrelated elements.

اینم تعریف DRY.
خیلیا فکر میکنن DRY یعنی خودشونو تکرار نکنند, در صورتی که خیلی جاها باید کدمون رو تکرار کنیم تا دیزاین پترن و architecture تمیزی داشته باشیم که flexible و scalable باشه. چیزی که flexible نیست بنظر من به راحتی scalable نیست.

حواستون به تعاریف باشه
@ManiFoldsPython
از وقتی با pydantic آشنا شدم دیگه هیچ ولیدشنی ننوشتم.
یا خودم براش arbitrary types تعریف کردم اگه تو built in اش نبود که یک بار برای همیشه validation اش رو بنویسم تموم شه بره.
تقریبا تو همه crawler هام ازش استفاده میکنم. خلاصه دریغ نکنید از این لایبری خوشگل. 😁 هرچی کد میبینم تو لایبری های قدیمی میگم اینو میشه دقیقا با pydantic بیای ریفکتور کنی... مثل graphene که اخیرا باهاش کار کردم

@ManiFoldsPython
👍8
اگه کارت دانشجویی و ایمیل آکادمیک فعال داشته باشین, میتونید ایمیلتون رو وصل کنید به اکانت گیب هاتون و کارت رو آپلود کنید, تا اکانتتون PRO شه و از خدمات دانشجویی بهره ببرین

نمیدونم با دانشگاه های ایران بشه یا نه, ولی امتحان کنید.

https://education.github.com/pack

@ManiFoldsPython
👍4
Forwarded from Sadra Codes
دوستان اگه خودتون مشغولید یا افرادی رو می‌شناسید، ممنون می‌شم معرفی کنید. 😊

شیر کردن این پست لینکدین، موجب خوشحالیست! :) ❤️🙏

👇
این حجم کتاب هاییه که پرینت گرفتم بخونمشون. هم درد داره هم لذت 🫠😂
اگه خوب بودن پیشنهادشون میکنم اینجا ✌️
@ManiFoldsPython
🗿111👍1
Forwarded from ‌BenDev
برای مصاحبه های behavioral بسیار بسیار مهمه که شما بتونید با استفاده از تکنیک STAR پاسخ بدین
لینک زیر رو مطالعه کنید:
https://www.indeed.com/career-advice/interviewing/how-to-prepare-for-a-behavioral-interview

@BenDevelop
👍6👌1
این پلی لیست محشره

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

Software Design in Python by ArjanCodes

@ManiFoldsPython
3
این سایت رو جدیدا پیدا کردم برای هندل todolist و کار هام
https://habitica.com

خیلی سایت جالبیه 😅 حتما یک سر بهش بندازین.
برای daily repetitive task و habit هم میتونید برنامه درست کنید.
@ManiFoldsPython
👍6
Forwarded from Django Expert (Boby Cloud)
درود خدمت دوستان عزیز، طی چند هفته گذشته روی ریپوهای DjangoEx کار میکردیم و آپدیتی که قولش رو داده بودیم آماده شده. در زیر ریپوهارو به ترتیب معرفی میکنیم.

ریپازیتوری Awesome Python Resources: مجموعه ای از بهترین و کامل ترین ریسورس‌های مورد نیاز برای رشد در مسیر شغلی مهندسی نرم افزار (پایتون) به همراه تفکیک بر اساس Career Path و Advanced Topics
https://github.com/DjangoEx/awesome-python-resources

ریپازیتوری Awesome Python Roadmaps: مجموعه از رودمپ‌های مورد نیاز یک مهندس نرم افزار (پایتون) در Career Path هایی نظیر Backend، Data Scientist، Software Architect و ...
https://github.com/DjangoEx/awesome-python-roadmaps

ریپازیتوری Awesome Python Podcast: مجموعه‌ای از پادکست های حوزه مهندسی نرم‌افزار/پایتون برای آپدیت بودن راجع به رویدادهای کامیونیتی پایتون و اپیزودهای تکنیکالی که با پادکست میتونید یاد بگیرید:
https://github.com/DjangoEx/awesome-python-podcasts

ریپازیتوری Awesome Python Project Ideas: مجموعه‌ای از ایده‌ها برای پیاده سازی پروژه با پایتون به منظور تمرین یا کمک به رزومه، در سطوح Beginner، Intermediate و Advanced و به همراه User Stories, Project Overview, Bonus Features و ...
https://github.com/DjangoEx/awesome-python-project-ideas

ریپازیتوری Awesome Python Resources Persian: مجموعه‌ای از منابع آموزشی در زمینه پایتون به زبان فارسی
https://github.com/DjangoEx/awesome-python-resources-persian

ریپازیتوری DjangoEx Bot: احتمالا تا حالا کاربر Backend Senior Developer رو توی گروه دیدین که به سوالات پاسخ میده، این کاربر یک نوع هوش مصنوعی مبتنی بر GPT هست و توسط یکی از ادمین‌های کانال توسعه داده شده که میتونین به سورس کدش از طریق ریپازیتوری زیر دسترسی داشته باشین:
https://github.com/DjangoEx/django-expert-bot

تمام ریپازیتوری‌ها به صورت یکجا نیز در صفحه گیتهاب DjangoEx قابل دسترسی هست
https://github.com/DjangoEx

💡 لطفا اگر شما هم ایده‌هایی برای ریپازیتوری‌ها دارید، با ایجاد Issue و Pull Request به کامل‌تر شدن این ریپازیتوری‌ها کمک کنید، ما از هرگونه مشارکت عام المنفعه استقبال میکنیم.
✔️ باتشکر از همراهی همه شما عزیزانی که تا الان کانتربیوت کردید (+۵۰ نفر) و به این ریپازیتوری‌ها استار دادید و حمایت کردید به اشتراک گذاشتید. لطفا اگر این پست رو هم مفید میبینید به اشتراک بزارید.

#DjangoEx #Python #Github

© @DjangoEx
👍7
احتمالا تاحالا شنیدین که مثلا رو یک issue یک مبلغی گذاشتن تا یکی برطرفش کنه و اون مبلغ پرداخت شه.
حالا تو این سایت شما میتونید issue bounty hunter شید
https://app.bountysource.com/?order=created_at&direction=desc

پرداخت با کریپتو هم داره و حتی issue های چند هزار دلاری هم هست مثل این 😁:
https://app.bountysource.com/issues/31778112-add-support-for-gnome-in-dom0-gui-domain

@ManiFoldsPython
👍6
برای دوستانی که میخواین شغل پیدا کنن تو خارج از کشور و دارن اپلای میکنن. یک پروژه جذاب اوپن سورس دارم که آگهی هارو به صورت real time از لینکدین میگیره و پردازش میکنه.

لینک گیت هاب | کانال تلگرام | ربات تلگرام | Dev map

تو این پروژه شما میتونید شغل پرفکت خودتون رو بدون هیچ effort ای پیدا کنید. کافیه جوین تلگرام و ربات بشین, و یک query مینویسید. query که مینویسید logıcal python expresion هست مثلا برای پیدا کردن شغل بک اند پایتون یا فرانت اند جاوااسکریپت اینطوری باید بنویسین
(python and backend) or (javanoscript and frontend)
یک or france هم مثلا بهش اضافه کنید فقط شغل های فرانسه رو براتون لحاظ میکنه. هروقت که شغلا تو کانال اضافه شدن ریل تایم فراوارد میکنه براتون.

این پروژه رو تمرینی زده بودم برای خودم ولی محبوب شد و حتی اسپانسرم براش پیدا شده. پرفومنس مارکینگ و آنالیز آگهیشو قوی ترم میکنم وقتی مبلغی که دونیت کردن به حسابم اضافه شه. چون فکر نمیکردم محبوب شه کد بیسش یک چیز شلخته و یکهویی بود که نیاز خودمو کاور کنه ولی الان دارم ریفکتورش میکنم که اصولی باشه. کد crawlerشو دیشب تموم کردم و تو نسخه جدید تو 12 ساعت 6 هزار آگهی کراول زد 😁

ممنون میشم حمایت کنید از پروژه, با فروارد این متن یا ستاره دادن یا contribute کردن به پروژه.

@ManiFoldsPython
👍93👎1