ManiFolds of Python


Гео и язык канала: не указан, не указан
Категория: не указана


Learning python, with ManiFolds of Python :- )
Mani’s NoteBook 📝

https://github.com/ManiMozaffar

Связанные каналы  |  Похожие каналы

Гео и язык канала
не указан, не указан
Категория
не указана
Статистика
Фильтр публикаций


نکات اضافه شده توسط بابی 🙏

چرا دوست داری تو شرکت ما کار کنی؟
به نظرم اگه از تکنولوژی و استک و بیزینس لاجیک بگی باز هم در شرایطی رد فلگ میشه چون هرچیزی بگی مشابهش هم وجود داره. مثلا از استک این شرکت خوشت میاد اوکی میای اینجا فیسبوک رو میبینی از استک اون خوشت میاد پس خیلی راحت میری. به نظرم بهترین چیز برای این سوال کالچر هر شرکت هست چون منحصر به فرد هست. اگه روی کالچر اون شرکت مانور بدی براشون خیلی جذاب تره چون باعث میشه متوجه بشن چیزی که اونهارو داره متمایز میکنه برات فرهنگ هست نه یه سری تولز و تکنولوژی یا بیزینس لاجیک.

چطور لباس بپوشم؟
راجع به اینم میخواستم بگم به نظرم تی شرت اوکیه من خیلی مصاحبه هام با تی شرت بوده و فیدبک منفی نگرفتم


پارت دو
این پستو بیشتر کشش میدم چون بازخورد خوبی داشت, و بیشتر میشه راجبش حرف زد.

اولا پارت یک رو اصلاحی کنم, اولا این متن راجبه پاس شدن از مصاحبه اول به دومه, این یادداشت منه, تکلیف و سرلوحه نیست. پس خواهشا اشتباه نگیرین هدف من رو. اول اینکه بتونید یک پروداکتی رو لینک کنید به اون شرکت, روند جلو رفتنتون خیلی بهتر پیش میره. ولی اینکه در آینده ممکنه دردسر ساز شه یا نه رو نمیدونم چون تجربه ندارم که بخوام بهتون بگم, صرفا کار هایی هست که خودم کردم و نتیجه داده, مثلا هیچ علاقه ای به شیمی من ندارم(متنفرم) ولی 3 ترم متالورژی خوندم, یک مصاحبه ای بود راجب یک شرکت که یک سولوشن AI داشتن راجب کم کردن تاثیرات CO2, حالا من اومدم گفتم که تو اون 3 ترم متالورژی ام مثلا فلان قضیه رو پیگیر شدم و فلان کار رو کردم و .., در صورتی که اجبار پشتش بود نه علاقه, اما به دروغ گفتم از روی علاقه همچین کاری کردم, اگه حقیقت رو میگفتم بهتر بود که اصلا بهش اشاره نکنم چون خودش red flag بزرگیه که از کانسپتی که شرکت توش کار میکنه بخوام متنفر باشم. ولی نه اینکه من هیچی راجب شیمی و ... ندونم ولی بگم بلدم! پس امیدوارم منظورم رو از دروغ گفتن متوجه شده باشین.

چرا میخوای بیای ..., هدفت از relocate چیه؟
خیلی سوال چالشی هست, باید جوابی بدین که به همون هدف نتونید اون شهر رو ترک کنید. مثلا اگه از شهر کوچیک دارین میرین کرج و بگین دوست دارم تو شهر بزرگ زندگی کنم, خود HR با خودش میگه خب پس فردا این کرجو ول میکنه میره تهران.
یک سری خصوصیات فرهنگی, اجتماعی و جغرافیایی باید اسم ببرین که اون فرد قانع شه شما فردا اون شهر رو ترک نمیکنید. حواستون باشه به موضوعات شخصی و race اصلا نپردازین, شخصا فیدبک خوبی نگرفتم از این قضیه. حتی اگه حق باهاتون باشه یا حتی اگه کاملا دلیلتون منطقی باشه.

چرا دوست داری تو شرکت ما کار کنی؟
اینم سوال چالشی هست, که به نظرم دیدن ویدیویی که به اشتراک گذاشتم میتونه ذهنتون رو باز تر کنه. من خودم شخصا برای اینکه جواب کلیشه ای ندم همیشه تو پاسخ به این سوال گفتم که اره فلان stack پروژتون برای من جالبه و business logic پروژتون هم برام جالبه و بعدش با اشاره به چند تا از point هایی که اون شرکت برای کارمنداش ارزش قائل میشه پاسخ رو میبندم.

چطور لباس بپوشم؟
بنظرم مهمه که تو مصاحبه اول با HR حتی اگه آنلاین هست لباستون کاملا فرمال باشه و مرتب باشین, مثلا پیراهن بپوشین. با t-shirt اومدن سره مصاحبه اول میتونه پوینت منفی باشه براتون.

انتظار حقوقت چقدره؟
خب خیلی مهمه عددی که میگین پرت و پلا نباشه, نه خیلی بالا باشه نه خیلی پایین اگه قصد دارین که استخدام شید. میتونید تحقیق کنید که تو اون پوزیشن چه حقوقی معقوله. اگه شرکت خارجی دارین اپلای میکنید که از glassdoor و payscale استفاده کنید. ولی سعی کنید به جای عدد, رنج بدید. خیلی بهتره. با یک HR صحبت میکردم میگفت ما خیلی رو ریجکت میکنیم چون دستمزد پایینی میگن و نشون میده که یا اعتماد به نفس ندارن یا روی تخصصشون مطمئن نیستن, که در هر 2 صورت گزینه خوبی برای ما نیستن.

یک نکته ای هم وجود داره اینه که این مصاحبه فقط بخاطر این نیست که شرکت با شما آشنا شه, بلکه بخاطر اینه که شمام با شرکت آشنا شین, پس گفتن رنج و اینکه ببینید این شرکت چه عددی از اون رنج رو انتخاب میکنه کمی شما رو با سیاست های اون شرکت آشنا میکنه, قبل از وارد شدن بهش!😅 و حتی این موضوع رو باید بنظرم علنی اعلام کنید که مثلا وقتی سوال میپرسین, یکم سوال ها رو بیشتر به business logic اون شرکت گره بزنید و قبل از پرسیدن هم بهش بگین که دلیل سوال پرسیدنم اینه که ببینم ایا شرکت و بیزنسش با شخصیت من و تایپم fit هست یا نه.


در آخر, body language خیلی مهمه تو مصاحبتون.
میتونید از بلاگ زیر بیشتر بخونید.
https://uk.indeed.com/career-advice/interviewing/body-language-in-interview

و البته آنالیز زبان بدن هم خیلی مهمه, یعنی به جای اینکه HR شما رو از زبان بدنتون قضاوت کنه, شما عملکرد خودتون رو از زبان بدن HR قضاوت کنید. مطالعه راجب زبان بدن کلا بنظرم تو زندگی شخصی و کاری و مصاحبه خیلی میتونه کمکتون کنه.

@ManiFoldsPython

318 1 21 7 10

فیچر باحال ترش اون پایینیه هست, که plugin هست. ظاهرا میتونید پلاگین اضافه کنید و هر پلاگینی یک کاری انجام میدن :)

خیلی خوبه این واقعا, نایس 👍 مثلا پرفومنس gpt4 تو ریاضی پیشرفته افتضاح بود ولی با اون پلاگین قاعدتا باید بهتر شه. (wolfram)
فقط نکته عجیب اینجاست که تو هیچ کدوم از 3 صفحه قابلیت سرچ پلاگین نذاشتن 😂😂 همینجوری باید تو صفحات بگردین دنبال پلاگین.
@ManiFoldsPython


خیلی کند و افتضاحه 🤦‍♂️
نهایتا باید ازش بخواین که تو یکی دو صفحه سرچ کنه نه بیشتر.
@ManiFoldsPython


اگه اکانت پرمیوم دارین, برای فعال سازی نسخه browsering چت جی پی تی, اول سه نقطه کنار اسمتون رو بزنید سمت چپ پایین صفحه, بعدش برین رو setting, بعد beta features و بعد تیک این دو رو بزنید.

بعدش برای مدل GPT4 قابلیت browsering فعال میشه و باعث میشه قبل از جواب دادن به شما بتونه crawl کنه. این فقط برای دوستانی قابل استفاده هست که اکانتشون پرمیومه.


@ManiFoldsPython


یکم بریم بحث فنی, چیزی که امروز ذهنمو مشغول کرده بود تو خوندن داک جنگو,
نظرتون چیه؟
بنظرتون جنگو MVC هست یا MVT 🤔

ایا میشه core خود جنگو رو controller دونست یا نه؟ یا view رو میشه controller دونست؟ اگه اره, میشه فریم ورکی که به کنترلر دسترسی نمیده رو MVC دونست؟

@ManiFoldsPython


Репост из: {sajad};
Видео недоступно для предпросмотра
Смотреть в Telegram
یه نکته خوب در مورد اپلای و استخدام شدن تو شرکت های خفن دنیا!💎🔥


youtube.com/@Tabaghe16


اوایل که مصاحبه میرفتم همون اولین مصاحبه رد میشدم,
اما الان تقریبا هروقت مصاحبه میگیرم میرسم به coding challenge یا technical interview
تکنیک هایی که این مدت به کار بردم و جواب داده رو خواستم تو این پست بنویسم تا استفاده کنید:


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

مهم ترین موضوع اینه که شما به اون شرکت علاقه نشون بدید. این موضوع به قدری مهمه که حتی اگه ممکنه کاندید بهتر از شما باشه ولی شما رو انتخاب کنند چون باعث میشه که فکر کنند شما متعهد تر هستین به اون شرکت تا اون فرد. این علاقه نشون دادن با سوال تخصصی تو اون فیلد میشه نشون داد. بهترین کار هم اینه که سایت شرکت رو دربیارین, اطلاعاتش رو بخونید و بعدش به chatgpt اون اطلاعات رو بدین و بهش بگین که چند تا سوال براتون طراحی کنه که هم یکم چالشی باشه و هم نشون بده که کاملا interested بودین.

اما کی باید این سوالات رو بپرسین؟ معمولا interviewer از شما میخواد که اول به حرفاش گوش بدین و معمولا یک introduction ای از شرکت خودشون و چالش هاش به شما میگه. بعد از شما میپرسه که آیا سوالی دارین یا نه, و بدترین جواب اینه که بگین نه ندارم. همینجاست که سوالاتی که حاضر کرده بودین, باید بپرسین و سعی کنید هم چند سوال راجب توضیحاتی که خودش داده اول بپرسین, حتی اگه کامل فهمیده بودین!


طرفی که باهاش مصاحبه میکنید رو بسنجید و سعی کنید که درجه صحبتتون بر اساس سطح technical اون آدم منطبق کنید. مثلا تو یک مصاحبه خود HR سابقه کد زنی داشت و من تونستم خیلی فنی تر حرف بزنم که تجربه خیلی خوبی برای جفتمون بود. اما اگه همینکارو با HR کنم که old fashion تره, قطعا یک red flag خواهد بود. سطح فنی اش رو از توضیحاتی که راجب شرکتشون میده میتونید ارزیابی کنید.

حالا نیمی از interview گذشته و فقط راجب شرکت حرف زده شده, احتمالا interview از شما بخواد که بک گراند بیشتری راجب خودتون بدین. حالا شما باید به نحوی مهارتتون رو بفروشید, مثلا به هر نحوی شده سعی کنید پروداکت هایی که تا امروز روش کار کردین به پروداکت این شرکت لینک کنید. حتی اگه دروغ بگین یا بزرگ نمایی کنید ایرادی نداره, فقط دروغ فنی نگین یا بزرگ نمایی از خودتون نکنید. مثلا ممکنه تو یک business domain ای اصلا کار نکرده باشین, مثل B2B. ولی اگه شب قبل حسابی راجبش بخونید میتونید ادعا کنید که اره فلان جای پروداکتمون B2B بود و من کمی درگیرش شدم. سعی کنید اگه تو این موارد دروغ میگین, خیلی خوب و متواضعانه دروغ بگین!

تو قسمت آخر هم خیلی خلاصه از یک پروژه خوبی که کار کردین و پیچیدگی بالایی داره یا impressive هست میتونید صحبت کنید, سعی کنید خیلی کشش ندین چون این پارت برای اینه که شما یک تاثیری بذارین رو فرد مصاحبه کننده, نه اینکه خستش کنید.


سعی کنید متواضع باشین, اینکه بگین من همه چی رو بلدم خوب نیست. حتی به یک نقطه ضعفتون هم اشاره کنید بد نیست و بگین که مثلا روش کار میکنید, و حتما نقطه ضعفی که انتخاب میکنید برای اون شرکت critical نباشه و فقط این وایب رو به اون مصاحبه کننده بده که این ادم تمام تلاششو میکنه تا خودشو بالاتر میکشه از اینی که هست.


@ManiFoldsPython

1.3k 2 134 7 21

Репост из: lnxpy
پروفایل کردن کد مبحث جالب و مهمیه. بهتون نشون میده کدوم بخش از کدبیس، ران تایم بیشتری داره و یه سیستم مانیتورینگ کدبیسه بطور خلاصه. توی پایتون از profile و cProfile استفاده میشه.

مقاله جدیدم که جدیدا توی تورینگ پابلیش شده درباره همین موضوع هست. قراره یه مقدمه از cProfile داشته باشیم در پایتون.

امیدوارم لذت ببرید. :) ❤️

https://www.turing.com/kb/python-code-with-cprofile


از کدوم ریپو باشه؟
Опрос
  •   ریپو اصلی خودش
  •   ریپو من با ORM خودم که شبیه جنگو هست
83 голосов


به چه زبونی باشه؟
Опрос
  •   فارسی
  •   انگلیسی با زیرنویس‌ فارسی
108 голосов


میخوام محتوی ویدیویی به زودی راجب همین معماری بذارم و توضیحش بدم یکم، بنابراین ممنون میشم به دو سوال زیر پاسخ بدین


همونطور که قولشو داده بودم منم ریپو خودمو آداپت کردم به این Boilerplate
https://github.com/ManiMozaffar/fastapi-integration



چند تا چیز اضافه کردم:

1. Translated Django ORM
یک او ار ام ترجمه شده از sqlalchemy مثل جنگو. هنوز تکمیل نشده ولی برای استفاده بیسیک کافیه. جوین هم خودش خودکار هندل میکنه :)


2. Database check-up
یک اسکریپت چک آپ, که چک کنه دیتابیس بالا هست یا نه.


3. Database connection handler
اگه اکسپشنی سمت دیتابیس رخ داد تو ریسپانس مشخص کنه که اپلیکیشن ارور 500 نده.

4. CRUD
خود crud رو حرفه ای تر کردم. البته هنوز کار داره. که پیجینشن هم هندل کنه 👍

بازم مونده, دوستان اگه تمایل داشتن PR بزنن و شرکت کنند 😁
قدم بعدی ایشالا admin panel هست به صورت solid که دیگه وابسته به خود app و database نباشه که مستقیم این دو آگاه باشن از حضور ادمین پنل.


@ManiFoldsPython


بهترین و تمیز ترین boilerplate ای که دیدم از FastAPI
https://github.com/iam-abbas/FastAPI-Production-Boilerplate

واقعا معنی SOLID رو تازه درک کردم.. چقدر محشره و تمیزه واقعا هرچی بگم کم گفتم. خود کداش هم عالیه. فیوچر هم خیلی خوبه.


همین موضوع باعث شد که کلا fastapi integration خودمو تو گیتهاب بخوام از صفر ریفکتور کنم که فقط ORM ترجمه شده خودمو بهش اضافه کنم با SQLAdmin
البته رو اضافه کردن SQLAdmin هم خیلی دو دل هستم, چون واقعا SOLID نیست. اگه maintainerاش همکاری کنه تو این boilerplate از صفر طبق SOLID مینویسیمش. جالبه خود author ریپو SQLAdmin هم ایرانیه 😁

@ManiFoldsPython


یک decorator قشنگ برای لاگ گرفتن که خودم استفاده میکردم موقع دیباگ کد های سمیم 😍

میتونید حتی args و kwargs هم چک کنید که دقیقا همون تایپ هستند یا نه. 👍 اونش با شما 😁

شب خواب کد های قشنگ ببینید :))
پی نوشت: -> None فراموش نشه. 👍 حتی اگه چیزی برنمیگرده. یا حتی return None
@ManiFoldsPython

335 0 22 10 6

Репост из: Неизвестно
کد کثیف باعث میشه راندمان کل تیم بیاد پایین. معمولا دلیوری ها داره توسط برنامه‌نویس ها اتفاق میوفته. اگه سرعت برنامه نویس توی توسعه کم باشه نتیجش میشه Delivery دیرهنگام. دلیوری دیر یا بدموقع هم برابره با لَنگ بودن کل تیم تا شمای دولوپر فیچر رو پوش کنی بره بالا.

حالا چی باعث میشه دولوپر سرعتش کم شه؟ کثیفی کد.

اگه دقت کرده باشی، معمولا پروژه های نرم افزاری خیلی سریع و پرشتاب شروع به توسعه میکنن. هر یکی دو هفته، یه فیچر رلیز میشه ولی رفته به رفته این گپ بین رلیزها بیشتر و بیشتر میشه. واسه یه فیکس که به ظاهر نهایتا ۲ روز مهلت احتیاجه، کدبیس به قدری ترکیده که باید ۱ ماه وقت بذاری و مطمئن شی فیکس مشکلی نداره و بعد پوش کنی.

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

The only way to go fast is to go well.

بلافاصله که کدتون کار کرد و تست هاشو نوشتید، کلینش کنید.


Репост из: Неизвестно
First step after writing a code is cleaning that code.

خیلی سخته که کد رو همون اول بی‌نقص و تمیز بنویسی.


Репост из: Неизвестно
You think you're done when it works. Nah.. you're done when it's right.


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

کد کثیف ممکنه نوشتنش راحت تر باشه چون پشتش تفکر کافی نباشه, ولی کد legacy خیلی maintain بیشتری نیاز داره و وقتی ownership کدت باهات باشه (کدو ندی بری) بیچاره میکنه... . کد تمیز رو یک بار مینویسی تست میکنی تموم میشه میره ولی کد کثیف میشه بخشی از زندگیت و همیشه یقه ات رو میگیره تا زمانی که ریفکتور نکنی بلا جون میشه.
شخصا کد legacy کم نزدم, اکثرش هم برمیگرده به 3-4 سال پیش. تو مسیری افتادم که خوب راهنمایی نشدم و خودمم تحقیق کافی نکردم. ترک عادت واقعا سخته. :(

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

@ManiFoldsPython


Репост из: Python Hints
من خیلی ازین سال‌های آخر رو خرج هوش مصنوعی کردم
هم پیشرفت و دستاورد داشتم هم پسرفت
راجب پسرفت‌ها بخوام بگم؛ می‌تونم به موارد زیادی اشاره کنم ولی یک مورد هست که خودم رو خیلی اذیت می‌کنه اونم کدهای بد هست
توی بخش تحقیقاتی کار کردن (هوش مصنوعی و دیتاساینس رو میگم) خیلی بد هست مخصوصا اگر مثل من چندین سال فقط و فقط تو همین بخش باشید

متاسفانه ازونجایی که همه چیز Notebook هست و این کدها فقط بین تیمی جابجا می‌شه و ۹۹٪ کارفرماها وقتی کارشون نزدیک لانچ شدن محصول هست سراغ اضافه کردن سیستم هوش مصنوعی میان کدهای تمیزی معمولا نمی‌بینید

مثلا من خیلی از کدها رو توی ۲-۳ روز زدم و تحویل دادم به بخش‌های دیگه با توضیحات و جلسه که بره روی محصول
چندسال پیش وقتی دنبال کار جدیدی بودم کدهای قدیمی‌تر (قبل از کار توی حوزه هوش مصنوعی) رو اتفاقی باز کردم همراه با یکی از دوستان که مصاحبه میگرفت ازم و بدون تعارف بهم گفت :
این کدها (کدهای قدیمی) سطح سنیور داره ولی این یکی (کدهایی که توی notebook زده بودم) انگار دادی ی بچه کد زده راستم می‌گفت؛ کار تو زمینه هوش مصنوعی و notebook من رو تنیل کرده بود نه فقط من کل تیمی رو هم که نگاه کردم همین بود

Don't Repeat Yourself (DRY)
اصلا رعایت نمی‌شد؛ ۲ تا کلید رو همزمان فشار میدادی کل cell بالایی رو کپی میکرد توی cell جدید ۲ تا کلید دیگه میزدی هرچی train بود رو با valid عوض میکردی بعد همین رو دوباره تکرار میکردی و میزدی test در نهایتم بخش‌های دیگه از ما ۴ تا فایل تمیز میخواستند که بهشون خیلی شیک و مجلسی تحویل میدادیم دیگه

بعد این صحبت‌ها مطمئن بودم دیگه فعلا نمی‌تونم برم سراغ کارهای software engineering چون اصول کد نویسی تمیز و ... رو اصلا نمی‌تونستم رعایت کنم ولی اگر یک نفر می‌گفت من این کد رو ۷ روزه تحویل میدم من همون کد رو نهایتا ۴ ساعته تحویل میدادم (اما کثیف و بدون رعایت اصول)
برای همین بجای software engineering رفتم سراغ machine learning engineering حالا خودم باید اون ۴ تا فایل رو تحویل میگرفتم تمیز میکردم و کدهای تمیز و تست و ... براش می‌نوشتم
این موضوع خیلی بهم کمک کرد تا عادت‌های بد رو کنار بذارم؛ به کدهام ساختار بدم سعی کنم کامنت و ... بذارم یا حداقل اصول اصلی رو رعایت کنم (هنوزم کامنت گذاری و docstring برام سخت هست)


اگر به هوش مصنوعی یا کارهایی که بخش تحقیقاتی زیادی داره علاقه دارید مثه من نشید دقت کنید که تمیزی و خوانایی کد رو از دست ندید؛ خیلی خیلی دارم تلاش می‌کنم و بعضی وقتا خیلی خیلی برام سخت هست که با کارفرمایی که کار عجله‌ای میخواد یا می‌گه اشکال نداره کدها تمیزم نبود بده بیاد؛ کار نکنم
و بیشتر از اون سعی می‌کنم خیلی تمیز کد بزنم

من واقعا و جدا الان دارم روزی ۱-۲ ساعت تمرین تمیز کد زدن می‌کنم؛ تا توی ناخودآگاهم بمونه این موضوع؛ علاوه بر اون دارم بسیار تمرین می‌کنم و برنامه‌ریزی می‌کنم با کارفرماهای عجول کار نکنم و اگر دارم کار می‌کنم خداحافظی کنم.

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

خلاصه که خیلی خیلی حواستون باشه؛ بخصوص دوستان سنیور.

پ.ن : اضافه کنم الان چندماهی هست ۲ تا از شغل‌هام بعنوان
software engineer
هست ولی خب سختی زیادی کشیدم تا عادت‌های بد رو کنار بذارم و هنوزم درحال تمرین هستم؛ اینم به این معنی نیست که بگم برید کتاب clean code بخونید ( ی مدت ملت جوگیر شده بودند هرجا میرفتی دست یکی این کتاب بود؛ خلاصه بگم اصلا هم کتاب خوبی نیست قبلا مفصل راجبش توی چندتا لایو که دعوت بودم بحث کردم)

Показано 20 последних публикаций.

520

подписчиков
Статистика канала