Python BackendHub – Telegram
Python BackendHub
7.51K 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
از وقتی تلگرام آپدیت داده Similiar Channels اش واقعا زیاد ممبر میاره. جالبه...

@ManiFoldsPython
👍37
Forwarded from shahriaarrr
خب این سری یه نفر تونست مهمون ایندفعه رو حدس بزنه :)

مهمون بعدی کیبوردکست کسی نیست جز مانی مظفر عزیز🔥🔥

مانی مهندس نرم افزار در Noah lab هست و تمرکزش روی بک اند و فریمورک FastAPI میباشد.🚀🚀

توی این اپیزود قراره با مانی در دنیای FastAPI غرق بشیم و اطلاعات بیشتری ازش بدست بیاریم ببینیم این فریمورک که هنوز وارد ورژن 1.0 خودش نشده چطور در این مدت کلی طرفدار پیدا کرده و مزیت و عیبش نسبت به دیگر رقیبانش چیه🔥

پس اگه تو هم علاقه به حوزه بک اند و خصوصا این فریمورک علاقه داری یا دوست داری بیشتر باهاش آشنا بشی این اپیزود مال خودته👌👌

پس شما هم اگه سوالی دارید از مانی عزیز درباره خودشون و موضوع پادکست میتونید تا فردا همین ساعت توی باکس استوری اینستاگرام ازش بپرسید❤️

اگر هم به اینستاگرام دسترسی ندارید میتونید از طریق این لینک بصورت ناشناس توی تلگرام سوالتون رو بپرسید((حتما قید کنید که سوال رو از احسان دارید میپرسید))
-------
@shahriaarrr12
@manifoldspython
😍6👍4
آف تاپیک

واقعا آهنگ قشنگیه
https://www.youtube.com/watch?v=UboPPTZLFas

آهنگ بی‌کلامه.. برای تمرکز خیلی خوبه به شرطی که داستان پشتشو ندونید :))

@ManiFoldsPython
👍2👎1
https://www.youtube.com/watch?v=yD2JaAnMMo0

این ویدیو prime خیلی خوب بود :)) حتما توصیه میکنم که ببینید
اتفاقا امروز برام سوال شده بود چطور گوگل میتونه ۱۰ درصد شرکتو یک دفعه اخراج کنه و بلایی سرش نیاد؟ بعد دیدن این ویدیو جوابشو فهمیدم

@ManiFoldsPython
👍5
اسنپ فود داره افتخار میکنه دیتایی که نداشته تو دیتابیسش هک نشده 😂
@ManiFoldsPython
🤣45👏2
Python BackendHub
اسنپ فود داره افتخار میکنه دیتایی که نداشته تو دیتابیسش هک نشده 😂 @ManiFoldsPython
بعضیا میگن هک داخلی بوده بعضیا میگن زیرساخت رو زدن و ... . خلاصه من خبر معتبری ندیدم ولی

چند وقت پیش این ویدیو رو معرفی کرده بودم و گفته بودم ببینید...
https://youtu.be/LxUAnZY_08o?si=iD2nvFhyJwmEJ6Do

هنوزم همینو میگم... امنیت فقط باگ بانتی و هانت نیست... دنیای امنیت باید قابل درک باشه برای چه کسی که فرانت کاره چه کسی که بک کار میکنه چه کسی که نتورک کار میکنه.. طبیعتا سطح عمقشون باید نسبت به خودشون باشه ولی اینکه بدونن boundary چیه خیلی مهمه! شما تو هر اپی و هر دیتابیسی تا زمانی که e2e واقعی نیست میتونی ادعا کنی بالاخره یک نفر هست کل دیتا رو داره.. پس بالاخره یک راه هک اجتماعی چیزی وجود داره... ولی بحث اینجاست که اون boundary و مرز رو شما کجا میکشی؟ آیا اصلا مطلع هستی همچین چیزی وجود داره؟

توصیه میکنم حتما این ویدیو رو ببینید تا دیدتون نسبت به امنیت تغییر کنه...

@ManiFoldsPython
👍10
پس از وقفه ای, در پنجمین قسمت از ویدیو دیزاین پترن...

تو این قسمت راجب ‍دیزاین پترن Abstract Factory صحبت کردم و مثال با کد زدم, گفتم کجا و چقدر میتونه استفاده شه و کاربردش چیه و مزایا و معایب استفاده ازش چیه؟ یک دیزاین پترنی که میتونه اینترفیس خیلی جذاب به ما بده ولی پیچیدگی کد مارو زیاد کنه!

https://www.youtube.com/watch?v=_XiEQ6ns-js

لینک گیتهاب دوره دیزاین پترن; جزوه و مثال های دوره همه اینجا ذخیره خواهند شد.
https://github.com/ManiMozaffar/design-101

@ManiFoldsPython
11👍9
امروز به یک باگ خوردم.. شاید عجیب ترین باگ زندگیم بود. از بیرون بنظر میومد لیست پایتون و ساخت آبجکت تو پایتون کار نمیکنه :)))


کلاسا اینقدر بی معنی نبودن:)) ولی خب امیدوارم مثالو درک کنید, و داشتم به python کم کم شک میکردم :))
فکر کنید یک لیستی از ابجکت ساخته بودم داخلش کلی تایپ مختلف داشتم و بعد خط بعدی که pointer رو میذاشتم میدیدم همشون یک تایپ شدن!! و یک آبجکت 🤣

*‌ خروجی کد رو تو شل ببینید و اونی که هایلایت کردم. لیست یک ادمین داشت تو کد ولی تو خروجی همه لیست آبجکت ادمین شدن!
@ManiFoldsPython
👍5
Python BackendHub
امروز به یک باگ خوردم.. شاید عجیب ترین باگ زندگیم بود. از بیرون بنظر میومد لیست پایتون و ساخت آبجکت تو پایتون کار نمیکنه :))) کلاسا اینقدر بی معنی نبودن:)) ولی خب امیدوارم مثالو درک کنید, و داشتم به python کم کم شک میکردم :)) فکر کنید یک لیستی از ابجکت ساخته…
دلیلش defensive programming هست که با try except احتمالا pydantic داره سعی میکنه schema رو بسازه...
و خب چون ابجکت ادمین ورودی نداره پس همیشه ساخته میشه بدون اینکه نیاز به kwargs داشته باشه و هیچوقت به اکسپشن نمیخوره با هر نوع ورودی ای.

پس یک وقتا بهتره آبجکتو parse کنیم و این جمله همیشه صد در صد درست نیست:

ask for forgiveness than permission

یک وقتا بهتره parse کنیم و permission بگیریم. چون ممکنه اصلا خطا نگیریم در صورتی که خروجی که میخواستیم رو نداد برناممون!
@ManiFoldsPython
👏6🤯4👍1
بعد هفت ماه نامه ریجکتی من اومد از یک شرکت که اپلای کرده بودم:)))
@ManiFoldsPython
🍌7🤔2
من چند وقت پیش یک آگهی ریموت تو شرکتی که تو برلین دارم توش کار میکنم گذاشتم.. چند نفر تماس گرفتن. وقتی صحبت از حقوق شد هیچ اطلاعی نداشتن که invoice چیه و چطوری میتونن قانونی کار کنند.

اگه میخواین ریموت کار کنید باید یک سری مراحلی رو طی کنید تا واجد شرایط باشین. اولین قدمش داشتن یک حساب بانکی و شماره مالیاته که بتونید یک شرکت یک جای دیگه دنیا رو به صورت قانونی invoice کنید!

این مقاله خیلی قشنگ توضیح داده دست نویسنده اش درد نکنه 🙂

@ManiFoldsPython
👍261
من خیلی وقتا میشنوم که بازار اروپا خرابه و فلان... درستم هست ولی بازم خیلی شغل زیاده یعنی ادم متخصص من نمیبینم بیکار باشه. اکثر کسایی که میبینم کار پیدا نمیتونن کنن چند دلیل داره;

اولین دلیل آنبوردینگ سختیه که میتونن داشته باشن
۱. انگلیسی خیلی خوب حرف نمیزنن معمولا
۲. با ابزار ها و استک ها آشنایی ندارن مثل AWS یا مخصوصا devops ها که کلا همه چیشون فرق میکنه با ایران
۳. ویزا نیاز دارن که خودشم ۲-۳ ماه طول میکشه اوکی شه

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

۱. انگلیسیتونو قوی تر کنید. کتاب بخونید مقاله بخونید. مثلا من سره کار یکی از همکارام با وجود اینکه native نیست ولی دایره لغت خیلی خوبی داره و حتی از اون native ها هم بهتر حرف میزنه
۲. کورس آنلاین و کتاب بخونید که باهاشون آشنا شین. برین ترکیه یا کشور های همسایه امتحان بدین مدرک هاشو بگیرین. مثل مدارک aws یا gitlab یا hashicorp
۳. حضور فیزیکی اگه داشته باشین
۴. سعی کنید حتی بتونید ریموت قانونی کار کنید (طبق پست بالا) تو مدتی که نمیتونید حضوری باشین. اینم میتونه آپشن خیلی خوبی باشه که شرکت بگه خوب من حالا که قراره اینو بگیرم و چدن ماه دیگه بهم اضافه شه حداقل تو این چند ماهم دورادور کار کنه و بتونه با شرکت و پروداکت آشنا شه و کاملا آنبورد شه.


دومین دلیلشم نداشتن زرومه استاندارد و خوبه که راجبش ویدیو record کردم و ریپو گیتهاب دارم اگه ندیدین توصیه میکنم دوره اش رو از کانال یوتیوبم ببینید, تو بیو کانال هست.

و اخرین فاکتور هم نداشتن مهارت کافیه. مهارت هایی مثل تست نویسی, مثل کد خوب نوشتن, مثل مصاحبه خوب دادن و غیره.

البته اینا به این معنی نیست که نمیتونید از ایران مهاجرت کنید. صرفا این پست واسه این بود که یکم از تجربیاتمو به اشتراک بذارم که بتونید راحت تر مهاجرت کنید.

@ManiFoldsPython
👍39👌2
تا بحث داغه یک نکته هم اضافه کنم نحوه اپلای کردن خیلی خیلی مهمه.

راز خودمو بهتون میگم 😁که ربات لینکدینمم اینطوری کار میکرد.

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

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

۲. بر اساس most recent سورت کنید. تو فیلترتون بذارین یک روز اخیرو نشون بده.

۳. حالا تو get parameters لینک سرچتون ببینید‌(رو خوده مرورگر هست). یک parameter هست به اسم f_TPR=r86400. خب این یعنی چی؟‌یعنی ۱ روز اخیر اخیر. یعنی 60*60*24*7. خب پس اینو میتونید کمتر کنید. مثلا میتونید بذارین رو r3600. اگه بذارین رو r3600 کل آگهی هایی که یک ساعت گذشته گذاشته شدن رو بهتون نشون میده.

سعی کنید رو لوکیشن هم فقط یک شهر رو نذارین. کشور بذارین بهتره. حالا نفر اول اپلای کنید به همون آگهیا و اسنایپشون کنید 😁

@ManiFoldsPython
👍32🔥91
کورس کانتنت رو به این شکل تغغیر دادم که زودتر برم به جلسه ۱۰ و ۱۱ چون خیلی مهمن...

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

@ManiFoldsPython
18👍7🙏1
چند وقتیه اینکارو انجام میدم خیلی سره حالم :))
@ManiFoldsPython
🤣34👍3
Python BackendHub
پس از وقفه ای, در پنجمین قسمت از ویدیو دیزاین پترن... تو این قسمت راجب ‍دیزاین پترن Abstract Factory صحبت کردم و مثال با کد زدم, گفتم کجا و چقدر میتونه استفاده شه و کاربردش چیه و مزایا و معایب استفاده ازش چیه؟ یک دیزاین پترنی که میتونه اینترفیس خیلی جذاب…
در ششمین قسمت از ویدیو دیزاین پترن...


تو این ویدیو پرداختم به Builder design pattern که داخل ORM ها یا GUI framework ها مشابهش استفاده شده و حتما تاحالا دیدین. پترنی جذاب ولی پیچیده برای ساخت یک آبجکت به صورت step by step.

https://www.youtube.com/watch?v=682yzK22mEU

لینک گیتهاب دوره دیزاین پترن; جزوه و مثال های دوره همه اینجا ذخیره خواهند شد.
https://github.com/ManiMozaffar/design-101

@ManiFoldsPython
👍12🥰6🔥1
کد نمک :))
@ManiFoldsPython
🤣11
یکی از بهترین منبع های یادگیری گیت, خوده داکیومنتشه .

https://git-scm.com/book/en/v2

یک از سرفصل هاش submodule هست که واقعا میتونه مفید باشه براتون مخصوصا برای فرانت کارا و کسایی که js میزنن.

It often happens that while working on one project, you need to use another project from within it. Perhaps it’s a library that a third party developed or that you’re developing separately and using in multiple parent projects. A common issue arises in these scenarios: you want to be able to treat the two projects as separate yet still be able to use one from within the other.

https://git-scm.com/book/en/v2/Git-Tools-Submodules

@ManiFoldsPython
👍7
Forwarded from سیلیسیم (Mehran Tarif)
یه تجربه نهایی هم بنویسم:

+ شرکت درست و حسابی ازتون سفته نمیگیره.
+ شرکتی که حاکمیت درست درش پیاده باشه، بهتون ولکام پکیج میده (حتی بودجه نداشت در حد موس میده)
+ شرکت درست و حسابی مانیتورینگ تون نمیکنه، بلکه جلسه میذاره، تسک میدن، و از خودتون ددلاین میگیرن تسک چه زمانی تموم میشه و شما بهشون گزارش میدید.
+ شرکت درست و حسابی ساعت کاری نداره.
+ شرکت خیلی درست و حسابی تیم های مختلفی داره و شما بعد استخدام اولیه، خودتون انتخاب می کنید در کدوم تیم عضو بشید (این مورد آخر تو ایران پیاده نمیشه😁)
👍33👎2🤡2😁1😭1
سیلیسیم
یه تجربه نهایی هم بنویسم: + شرکت درست و حسابی ازتون سفته نمیگیره. + شرکتی که حاکمیت درست درش پیاده باشه، بهتون ولکام پکیج میده (حتی بودجه نداشت در حد موس میده) + شرکت درست و حسابی مانیتورینگ تون نمیکنه، بلکه جلسه میذاره، تسک میدن، و از خودتون ددلاین میگیرن…
چند تا پست خیلی خیلی خوب مهران گذاشته تو کانالش توصیه میکنم بخونید. راجب کالچر یک شرکت خوب. حقیقت اینه که برای اینکه پیشرفت کنید یکی از مهم ترین فاکتور ها محله کاره. شما ۸ ساعت از روزتون سره کار هستین و شرکتی که کالچر خوب نداره قطعا سمه براتون. هرچقدر سلف استادی کنید ولی بازم نمیتونید تاثیر peer effect و محیط رو نادیده بگیرین. این مدت تو یوتیوب زیاد گشتم راجب فرهنگ شرکت های خوب و اینکه کلا چطوری کارو پیش میبرن. بنابراین تو دو پست میخوام یکم بپردازم به کالچر شرکت خوب. پست اول مقایسه کالچر یک استارت آپ خوب در برابر یک شرکت بزرگ خوب...

۱. رشد شما تو شرکت استارت آپ یا بزرگ متفاوته جنسش ولی دلیل نمیشه تو استارت آپ بیشتر یا کمتر بتونید پیشرفت کنید. بذارین مثال بزنم یکم مقایسه کنم. تو یک استارت آپ خوب شما راحت میتونید تغییر بدین تو روند کاری و با ۱-۲ جلسه به نتیجه برسید ولی تو شرکت های خیلی بزرگ مثل IBM این اتفاق میتونه سال ها طول بکشه.

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

۳. در عوض عمق یادگیری تو شرکت های بزرگ خیلی بیشتره چون کدتون سخت تر review میشه. مثلا مصاحبه یکی رو میدیدم که تو آمازون کار میکرد و میگفت وقتی اینترشیپ بودم اونجا اولین PR ام ۱۱ بار revision خورد و change request خواسته شد ازم تا مرج شد ولی تو وهمین پروسه کلی یاد گرفتم در حالی که تو محیط استارت آپ طبیعتا به این شدت سخت گیری انجام نمیشه. شرکت های بزرگ همچنین این قابلیت رو به شما میدن که تو scale بزرگ تر و چالش سخت تر کار کنید.


تو پست بعدی راجب مواردی که تو پست مهران بنظرم باید اضافه شه توضیح میدم
@ManiFoldsPython
👍122
سیلیسیم
یه تجربه نهایی هم بنویسم: + شرکت درست و حسابی ازتون سفته نمیگیره. + شرکتی که حاکمیت درست درش پیاده باشه، بهتون ولکام پکیج میده (حتی بودجه نداشت در حد موس میده) + شرکت درست و حسابی مانیتورینگ تون نمیکنه، بلکه جلسه میذاره، تسک میدن، و از خودتون ددلاین میگیرن…
تو پست دوم خیلی خلاصه بخوام کالچر یک شرکت خوبو بگم:

۰. مهم ترین فاکتور داشتن پروداکته. شرکتی که خودش پروداکت نداره احتمال قوی تست نویسی نمیکنه و اصلا اهمیتی به محصولی که میده بیرون نمیکنه.
۱. داشتن کد ریویو خوب. نمونشو تو پست بعدی باهاتون تمرین میکنم که ببینید تو چه عمقی باید کد ریویو انجام شه.
۲. دادن وقت به شما برای انجام تسکاتون. هر شرکتی که ددلاین فشرده میذاره و ازتون انتظار داره سریع یک فیچر رو تحویل بدین تو بازه زمانی کوتاه کالچر خوبی نداره و جای پیشرفت زیادی ندارین
۳. دادن فرصت برای خوندن داکیومنت. اگه تو شرکت کدی دارین وارد کد بیس میکنید که واقعا نمیدونید چطور کار میکنه و شرکت هم این قضیه رو داره پروموت میکنه بدونید جالب نیست واقعا 🙂
۴. ارتباطات قوی.
اینکه بتونید از همکارتون فیدبک بگیرین و تیم لیدتون درواقع منتورینگ انجام بده هم فرایند مهمیه.
۵. اهداف مشخص. شرکتی که نمیدونه هدف و پلنش تا ۳ ماه آینده چیه جای پیشرفت زیادی نداره. فریم ورک های زیادی برای این قضیه اومدن و خیلی محبوب شدن.
۶. داکیومنشن خوب. شرکتی که داکیومنت خوب انجام نمیده و وقتی تو یک PR داره تغییری تو سیستم ایجاد میکنه ولی این داکیومنت نمیشه خیلی سریع تبدیل به اسپاگتی کد میشه
۷. استقبال از input شما جهت بهتر شدن
۸. در باز روی تغییر! پروداکت خوب و بیزنس خوب هر روز تغییر میکنه.
پروداکتی که خیلی تغییر نداره دیگه مرده. همیشه میشه یک پروداکت رو از دیروزش بهتر کرد. البته منظورم over-engieering نیست. منظورم اینه که شرکتی که در برابر تغییرات مقاومت میکنه بنظرم کالچر خوبی نداره و جای پیشرفت زیادی ندارین چرا که همیشه روند تکراری میشه.


@ManiFoldsPython
👍13