TorhamDev | تورهام 😳
https://www.linkedin.com/posts/hamed-aghili-954244247_%D8%AA%D8%AC%D8%B1%D8%A8%D9%87-%DB%8C-%D8%A8%D8%AF-%D9%85%D9%86-%D8%A8%D8%A7-%D8%B4%D8%B1%DA%A9%D8%AA-%D8%AA%D8%B1%DA%A9%DB%8C%D9%87-%D8%B1%D9%87%DB%8C%D8%A7%D8%A8-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-activity…
اولین شرکت من هم کلاه برداری بود چندین بار داخل پادکست و جاهای مختلف گفتم :). توصیه من همیشه این بوده حتی اگه هنوز سابقه ندارید و اولین شرکتتونه. اگر حقوقتون همون ماه اول ندادن و شروع به وضع قانون و چیزا و بهونه آوردن کردن دیگه حتی یک خط کد هم نباید براشون بزنید. مطمعن باشید بازم میتونید کار پیدا کنید چون همیشه برای کسی علم و دانش و تخصصش رو داره همیشه کار هست.
همیشه آرامش روانی و روحیتون ارجحيت داره به کار. ( این بعد چند سال واقعا بهش رسیدم )
همیشه آرامش روانی و روحیتون ارجحيت داره به کار. ( این بعد چند سال واقعا بهش رسیدم )
👍32
Forwarded from Sudoer (Morteza Bashsiz)
درود بر همه شما دوستان عزیز
یه موضوعی هست که بدون شک قبولش دارم
من یه باگی رو توی ورژن جدید Ceph ثبت کردم و یکی اومد بهم پاسخ داد که این باگ قبلا مطرح شده بود و توی نسخه بعدی برطرف خواهد شد
بعد رفتم گیتهاب اون بنده خدا رو که بهم پاسخ داده بود نگاه کردم خودش کسی بود که پولریکوست فیکس باگ رو داده بود و باگ رو برطرف کرده بود
کلا ۷ نفر فالوش میکنن و ۴ نفر رو فالو میکنه ولی توی پروژه بزرگی مثل Ceph داره کانتریبیوت میکنه و تو کمپانی IBM مشغول به کار هست
با Shell, Golang, Python, Java, C++ i هم کد میزنه
بعد کد هم میزنه نه اینکه الکی بزنه همه پروژههای بزرگ داره کد میزنه
حالا یکی مثل من که هیچ دانش درستحسابی هم نداره و صرفا چندتا ابزار رو یکم بلده دیگه چه حرفی دارم جلوی باسوادهای واقعی بزنم؟
میخوام بگم که به لایک و کامنت و فالوور و پوشیدن شلوارک و پیرجامه و آبنبات و بادکنک و زدن حرفای سکسی فنی نیست
برید ببینید طرف چقدر تاثیرگذار هست و چقدر کار بلده
به این شوآفیها بها ندید و بزرگشون نکنید
مرتضی باشسیز
یه موضوعی هست که بدون شک قبولش دارم
من یه باگی رو توی ورژن جدید Ceph ثبت کردم و یکی اومد بهم پاسخ داد که این باگ قبلا مطرح شده بود و توی نسخه بعدی برطرف خواهد شد
بعد رفتم گیتهاب اون بنده خدا رو که بهم پاسخ داده بود نگاه کردم خودش کسی بود که پولریکوست فیکس باگ رو داده بود و باگ رو برطرف کرده بود
کلا ۷ نفر فالوش میکنن و ۴ نفر رو فالو میکنه ولی توی پروژه بزرگی مثل Ceph داره کانتریبیوت میکنه و تو کمپانی IBM مشغول به کار هست
با Shell, Golang, Python, Java, C++ i هم کد میزنه
بعد کد هم میزنه نه اینکه الکی بزنه همه پروژههای بزرگ داره کد میزنه
حالا یکی مثل من که هیچ دانش درستحسابی هم نداره و صرفا چندتا ابزار رو یکم بلده دیگه چه حرفی دارم جلوی باسوادهای واقعی بزنم؟
میخوام بگم که به لایک و کامنت و فالوور و پوشیدن شلوارک و پیرجامه و آبنبات و بادکنک و زدن حرفای سکسی فنی نیست
برید ببینید طرف چقدر تاثیرگذار هست و چقدر کار بلده
به این شوآفیها بها ندید و بزرگشون نکنید
مرتضی باشسیز
👍15👎3❤2
Forwarded from Python BackendHub
دیشب صدرا یک سوال خوب پرسید, امشب نوبت منه که یک سوال میلیون دلاری بپرسم :)) خودتونو تو این شرایط قرار بدین:
یک conflict دارین با تصمیم گیرنده. حالا تیم لید باشه یا هرکی کاری ندارم. فکر میکنید که شما روشتون اصولی تره و درست تره ولی اون موافق نیست و میگه <فعلا نیازی نیست> شرایطی که شاید خیلیاتون تو ایران بهش برخوردین.
مثلا:راجب تست نویسی. بیشتر تست کنیم, کدو ریفکتور کنیم بهتر شه. تمیز تر شه. یا چیزای این قبیلی.
چطور conflictتون رو حل میکنید؟
هنر رفع conflict مهم ترین سافت اسکیله به نظره من!
@ManiFoldsPython
یک conflict دارین با تصمیم گیرنده. حالا تیم لید باشه یا هرکی کاری ندارم. فکر میکنید که شما روشتون اصولی تره و درست تره ولی اون موافق نیست و میگه <فعلا نیازی نیست> شرایطی که شاید خیلیاتون تو ایران بهش برخوردین.
مثلا:راجب تست نویسی. بیشتر تست کنیم, کدو ریفکتور کنیم بهتر شه. تمیز تر شه. یا چیزای این قبیلی.
چطور conflictتون رو حل میکنید؟
هنر رفع conflict مهم ترین سافت اسکیله به نظره من!
@ManiFoldsPython
👍1
Forwarded from Python BackendHub
یک سری نظرا رو شنیدم. من نظره خودمو میگم که بیشتر بحث کنیم, ببینید وقتی conflict وجود داره چند اشتباه ممکنه دو طرف بکنند که بهتره بررسیشون کنیم:
۱. اینپوت شما همیشه باید خیلی با ارزش باشه. با ارزش بودن به این دلیل نیست که حتما قبول شه. به این دلیله که شنیده شه و حتی راجبش بحث شه یا جلسه گذاشته شه. غیر این باشه محیطی نیست که توش بتونید پیشرفت کنید. ممکنه همه input هاتونم ریجکت شه و این موضوعو نباید سوءبرداشت شخصی ازش داشته باشین. پس اگه جای تصمیم گیرنده هستین این حس با ارزش بودن اینپوت و شنیدنشو منتقل کنید. فیدبک ها همیشه باعث بهتر شدن یک سیستم میشن.
۲. همیشه فکر میکنن ۲ تا نقطه مقابل هم وجود داره تو conflict در صورتی که اصلا اینطور نیست. مثلا کارفرما میگه اقا من این پروداکتو باید تا فلان روز برسونم سریع کدشو بزن. شمام میگی نه ریفکتور میخواد اصولی نیست. منتهی تو این سناریو یک راه حل سومی هست: که شما با اون فرد بشینی مذاکره کنی و بحث کنی. ممکنه یک نقطه وسط برسین. در درجه اول باید درک کنید طرف مقابل چی میگه. در درجه دوم راهکار خودتونو به نحوی بچرخونید که با هدف اون همسو باشه. مثلا این arguement اش این میشه که اقا من باید رو هر فیچر جدید دستی تست کنم که کار میکنه. من argue میکنم که اگه تست خودکار بنویسم وقت کمتری مصرف میکنم. پس نظرت چیه شرط ببندیم برای این فیچر جدید که من سریعتر میرسونم با داشتن تست؟ سرعت توسعه منو بیشتر میکنه. یا مثلا بگین اقا من این قسمت جدیدی که دارم اضافه میکنم رو تمیز کد میزنم. کاری ندارم به بقیه. و کارمو هم سریع تر میرسونم. ممکنه کد consistent نشه و یک دفعه خیلی متفاوت شه ولی بهترین راه کاره. اینطوری هم کارو سریع میرسونم هم کم کم ریفکتور میشه با فیچر های جدید تری که اضافه میکنیم به این پروژه.
۳. سطح علمی طرف مقابل رو در نظر نمیگیرین و یا pros یا cons رو خوب نمیگن. من به عنوان یک مهندس نرم افزار وظیفه دارم long time side effect این کار اشتباهو بگم. که تصمیم گیرنده درک بهتری داشته باشه. از حرفام با سند و مدرک و مقاله دفاع کنم. صرفا حرف شما به تنهایی ممکنه اعتبار نداشته باشه. همیشه وقتی یک بحثی میکشین وسط یادتون باشه هم pros باید گفته شه هم cons که شنونده احساس نکنه شما دارین احساسی تصمیم میگیرین و منطقی تصمیم گرفته شه.
۴. سعی کنید brain storming کنید. سعی کنید حوادث رو ارتباط بدین با مشکلی که دارین. مثلا بگین فلان باگ و فلان باگ و فلان باگ به وجود اومد چون اینکارا رو نکردیم. پس بهتره بکنیم. هیچوقت یارکشی نکنید. بگید فلانی همیشه conflict منو رد میکنه یا فلان. این بد ترین چیزیه تو یک تیم. یادتون باشه اینپوتتون قرار نیست همیشه قبول شه. ولی باید با ارزش باشه. یک کامنتی خیلی قشنگ نوشتن: قاتل کار تیمی miscommunicationعه! و برعکسش هم صدق میکنه. برای همین brain storming خیلی میتونه مفید باشه.
۵. از دنیای فانتری فاصله بگیرین. واقعبین باشید. مثلا دیدم برنامه نویسا یک فریم ورک یا یک فیچر اصلا به دردشون نمیخورد ولی اضافه کردن چرا؟چون خوششون میاد. چون میخوان یادش بگیرن. این بد ترین کاریه که میتونید تو یک محیط حرفه ای کنید. یا مثلا میرن premature optimization انجام میدن و وقتشونو هدر میدن برای جایی که اصلا نیازی نبوده. یا بیش از حد کلین کد میزنن رو پروداکتی که requirement اش روز به روز تغییر میکنه. پس همیشه سعی کنید از دید model business پروداکتتون به محصولتون نگاه کنید تا بهترین کد هارو بنویسید 🙂 خیلی وقتا دلیل conflict همینه که یکی از دو طرف تو دنیای فعلی نیست.
@ManiFoldsPython
۱. اینپوت شما همیشه باید خیلی با ارزش باشه. با ارزش بودن به این دلیل نیست که حتما قبول شه. به این دلیله که شنیده شه و حتی راجبش بحث شه یا جلسه گذاشته شه. غیر این باشه محیطی نیست که توش بتونید پیشرفت کنید. ممکنه همه input هاتونم ریجکت شه و این موضوعو نباید سوءبرداشت شخصی ازش داشته باشین. پس اگه جای تصمیم گیرنده هستین این حس با ارزش بودن اینپوت و شنیدنشو منتقل کنید. فیدبک ها همیشه باعث بهتر شدن یک سیستم میشن.
۲. همیشه فکر میکنن ۲ تا نقطه مقابل هم وجود داره تو conflict در صورتی که اصلا اینطور نیست. مثلا کارفرما میگه اقا من این پروداکتو باید تا فلان روز برسونم سریع کدشو بزن. شمام میگی نه ریفکتور میخواد اصولی نیست. منتهی تو این سناریو یک راه حل سومی هست: که شما با اون فرد بشینی مذاکره کنی و بحث کنی. ممکنه یک نقطه وسط برسین. در درجه اول باید درک کنید طرف مقابل چی میگه. در درجه دوم راهکار خودتونو به نحوی بچرخونید که با هدف اون همسو باشه. مثلا این arguement اش این میشه که اقا من باید رو هر فیچر جدید دستی تست کنم که کار میکنه. من argue میکنم که اگه تست خودکار بنویسم وقت کمتری مصرف میکنم. پس نظرت چیه شرط ببندیم برای این فیچر جدید که من سریعتر میرسونم با داشتن تست؟ سرعت توسعه منو بیشتر میکنه. یا مثلا بگین اقا من این قسمت جدیدی که دارم اضافه میکنم رو تمیز کد میزنم. کاری ندارم به بقیه. و کارمو هم سریع تر میرسونم. ممکنه کد consistent نشه و یک دفعه خیلی متفاوت شه ولی بهترین راه کاره. اینطوری هم کارو سریع میرسونم هم کم کم ریفکتور میشه با فیچر های جدید تری که اضافه میکنیم به این پروژه.
۳. سطح علمی طرف مقابل رو در نظر نمیگیرین و یا pros یا cons رو خوب نمیگن. من به عنوان یک مهندس نرم افزار وظیفه دارم long time side effect این کار اشتباهو بگم. که تصمیم گیرنده درک بهتری داشته باشه. از حرفام با سند و مدرک و مقاله دفاع کنم. صرفا حرف شما به تنهایی ممکنه اعتبار نداشته باشه. همیشه وقتی یک بحثی میکشین وسط یادتون باشه هم pros باید گفته شه هم cons که شنونده احساس نکنه شما دارین احساسی تصمیم میگیرین و منطقی تصمیم گرفته شه.
۴. سعی کنید brain storming کنید. سعی کنید حوادث رو ارتباط بدین با مشکلی که دارین. مثلا بگین فلان باگ و فلان باگ و فلان باگ به وجود اومد چون اینکارا رو نکردیم. پس بهتره بکنیم. هیچوقت یارکشی نکنید. بگید فلانی همیشه conflict منو رد میکنه یا فلان. این بد ترین چیزیه تو یک تیم. یادتون باشه اینپوتتون قرار نیست همیشه قبول شه. ولی باید با ارزش باشه. یک کامنتی خیلی قشنگ نوشتن: قاتل کار تیمی miscommunicationعه! و برعکسش هم صدق میکنه. برای همین brain storming خیلی میتونه مفید باشه.
۵. از دنیای فانتری فاصله بگیرین. واقعبین باشید. مثلا دیدم برنامه نویسا یک فریم ورک یا یک فیچر اصلا به دردشون نمیخورد ولی اضافه کردن چرا؟چون خوششون میاد. چون میخوان یادش بگیرن. این بد ترین کاریه که میتونید تو یک محیط حرفه ای کنید. یا مثلا میرن premature optimization انجام میدن و وقتشونو هدر میدن برای جایی که اصلا نیازی نبوده. یا بیش از حد کلین کد میزنن رو پروداکتی که requirement اش روز به روز تغییر میکنه. پس همیشه سعی کنید از دید model business پروداکتتون به محصولتون نگاه کنید تا بهترین کد هارو بنویسید 🙂 خیلی وقتا دلیل conflict همینه که یکی از دو طرف تو دنیای فعلی نیست.
@ManiFoldsPython
👍1
Forwarded from Python BackendHub
بعد توضیح اینا تو یک پاسخ خیلی کوتاه, من چیکار میکنم موقع conflict؟
۱. سعی میکنم اشتباهاتی که بالاتر اشاره کردم نکنم
۲. سعی میکنم به یک نقطه اشتراک برسم بعد از درک طرف مقابلم و ببینم دلیل تصمیمش و مخالفتش چیه؟
۳. سعی میکنم نظر بقیه هم بپرسم و یک brain storming انجام بدم به مشکل.
۴. اگه راهکاری معرفی شه توسط خودم یا یکی از تیم که هم نقاط نظر من و هم conflict دهنده توش رعایت شده باشه انجام میدیم. اگه نه , جمع بندی رو یک جایی ظبط میکنم که بدونیم همچین conflict ای بوده قبلا که از این مشکلات ناشی میگیره و راهکاری براش هنوز پیدا نکردیم که بعدا دوباره فکر کنیم بهش.
در نهایت conflict اینطوری برطرف میشه.
@ManiFoldsPython
۱. سعی میکنم اشتباهاتی که بالاتر اشاره کردم نکنم
۲. سعی میکنم به یک نقطه اشتراک برسم بعد از درک طرف مقابلم و ببینم دلیل تصمیمش و مخالفتش چیه؟
۳. سعی میکنم نظر بقیه هم بپرسم و یک brain storming انجام بدم به مشکل.
۴. اگه راهکاری معرفی شه توسط خودم یا یکی از تیم که هم نقاط نظر من و هم conflict دهنده توش رعایت شده باشه انجام میدیم. اگه نه , جمع بندی رو یک جایی ظبط میکنم که بدونیم همچین conflict ای بوده قبلا که از این مشکلات ناشی میگیره و راهکاری براش هنوز پیدا نکردیم که بعدا دوباره فکر کنیم بهش.
در نهایت conflict اینطوری برطرف میشه.
@ManiFoldsPython
Forwarded from Python BackendHub
این سوال مصاحبه behavioural خیلی از شرکتا هست. خیلیم قشنگ میتونن خیلی پیچیده ترش کنند و به چالش بکشنتون. حتما رو این صورت سوال خیلی فکر کنید. برای career خودتونم خیلی مهمه. جواب من ممکنه درست باشه ممکنه درست نباشه. برای همین کامنت گرفتم اول که ببینم بقیه چیکار میکنن. اگه موافقین/مخالفین خوشحال میشم کامنت کنید و شرکت کنید تو بحث.
@ManiFoldsPython
@ManiFoldsPython
👍2
Forwarded from Python BackendHub
نسخه 0.0.2 پکیج cfcrawler منتشر شد 🔥
Change Log:
- Fix compatibility to support python >=3.9
--------
پکیج cfcrawler یک پکیج پایتونی هست که async هست و کاملا in-place هست با httpx که به شما اجازه میده سایت هایی که تحت پوشش cloudflare هستن رو درخواست بزنید بهشون و ۲۰۰ بگیرین.
برای حمایت لطفا ستاره بدین یا contribute کنید یا issue بزنید 🙌
🔗 https://github.com/ManiMozaffar/cfcrawler
@ManiFoldsPython
Change Log:
- Fix compatibility to support python >=3.9
--------
پکیج cfcrawler یک پکیج پایتونی هست که async هست و کاملا in-place هست با httpx که به شما اجازه میده سایت هایی که تحت پوشش cloudflare هستن رو درخواست بزنید بهشون و ۲۰۰ بگیرین.
برای حمایت لطفا ستاره بدین یا contribute کنید یا issue بزنید 🙌
🔗 https://github.com/ManiMozaffar/cfcrawler
pip install cfcrawler
from cfcrawler import AsyncClient
async def main():
client = AsyncClient()
response = await client.get("https://cloudflare.com")
@ManiFoldsPython
CodeNalineS2E13 - از تولد یک برنامهنویس تا سینیور بکاند
torham
کدنالین اپیزود سیزدهم از فصل دوم، از تولد یک برنامهنویس تا سینیور بکاند.
این اپیزود یک اپیزود خاصه :). تو این اپیزود با مانی و بابی مسیر برنامهنویس شدن رو از زمانی که تصمیم میگیرید برنامهنویس بشید و تا وقتی که یک سینیور و آدم خفن میشید رو پیش رفتیم و دربارش گپ زدیم، ایدهها و کارهایی و چیزهایی که خوبه انجام بدیم و یادبگیریم رو گفتیم. امیدوارم از این اپیزود خوشتون بیاد.
00:00:00 آغازین
00:00:32 برنامهنویسی چطوری شروع کنیم بهتره؟ بریم دبیرستان و دانشگاه برنامهنویسی بخونیم یا خودآموز پیش بریم؟ سابقه کار چجوری جور کنیم برای خودمون؟
00:25:42 حالا بعد از دانشگاه چطوری وارد بازار کار بشیم؟ چه کارهایی باید انجام بدیم؟
00:44:55 بریم سراغ شاخه بکاند. چه چیزهایی رو یادبگیریم و چیکارهایی کنیم تا از جونیور به میدلول برسیم؟
1:09:47 از میدلول به سینیور بکاند
1:22:56 نکته و حرفهای پایانی
1:27:27 موسیقی پایانی ( آقای ماروین از گروه او و دوستانش )
PodCast: @CodeNaline
Mani : @ManiFoldsPython
Boby: @BobyDotCloud
Torham: @TorhamDevCH
این اپیزود یک اپیزود خاصه :). تو این اپیزود با مانی و بابی مسیر برنامهنویس شدن رو از زمانی که تصمیم میگیرید برنامهنویس بشید و تا وقتی که یک سینیور و آدم خفن میشید رو پیش رفتیم و دربارش گپ زدیم، ایدهها و کارهایی و چیزهایی که خوبه انجام بدیم و یادبگیریم رو گفتیم. امیدوارم از این اپیزود خوشتون بیاد.
00:00:00 آغازین
00:00:32 برنامهنویسی چطوری شروع کنیم بهتره؟ بریم دبیرستان و دانشگاه برنامهنویسی بخونیم یا خودآموز پیش بریم؟ سابقه کار چجوری جور کنیم برای خودمون؟
00:25:42 حالا بعد از دانشگاه چطوری وارد بازار کار بشیم؟ چه کارهایی باید انجام بدیم؟
00:44:55 بریم سراغ شاخه بکاند. چه چیزهایی رو یادبگیریم و چیکارهایی کنیم تا از جونیور به میدلول برسیم؟
1:09:47 از میدلول به سینیور بکاند
1:22:56 نکته و حرفهای پایانی
1:27:27 موسیقی پایانی ( آقای ماروین از گروه او و دوستانش )
PodCast: @CodeNaline
Mani : @ManiFoldsPython
Boby: @BobyDotCloud
Torham: @TorhamDevCH
❤5❤🔥1
link: https://youtu.be/jy_nNxebi1w
آموزش FastAPI با تورهام، قسمت نوزدهم - jwt
تورهام با هودی قدیمیش برگشته 🥲
#FastAPI_Course
👾 @TorhamDevCH
آموزش FastAPI با تورهام، قسمت نوزدهم - jwt
تورهام با هودی قدیمیش برگشته 🥲
#FastAPI_Course
👾 @TorhamDevCH
❤🔥5👍4
TorhamDev | تورهام 😳
link: https://youtu.be/jy_nNxebi1w آموزش FastAPI با تورهام، قسمت نوزدهم - jwt تورهام با هودی قدیمیش برگشته 🥲 #FastAPI_Course 👾 @TorhamDevCH
مباحث باقی مونده از دوره فست.
20. Create login API using JWT
——— blog APIs
21. develop blog APIs
——— Extra
22. Cache getting blog posts by redis
23. how to write a Middleware in FastApi
20. Create login API using JWT
——— blog APIs
21. develop blog APIs
——— Extra
22. Cache getting blog posts by redis
23. how to write a Middleware in FastApi
👍3❤🔥2
یکی از بچهها پرسیده بود اون پترن ها داخل دوره فست چطوری یاد بگیریم؟ لینک پایین یک نقطه شروع خوبه.
https://github.com/3lf/design-patterns-for-humans
دوره دیزاین پترن مانی هم هستش.
https://www.youtube.com/playlist?list=PLEQ3RnweNGA5XLLANrPl5erS90EREs0F0
@TorhamDevCH
https://github.com/3lf/design-patterns-for-humans
دوره دیزاین پترن مانی هم هستش.
https://www.youtube.com/playlist?list=PLEQ3RnweNGA5XLLANrPl5erS90EREs0F0
@TorhamDevCH
GitHub
GitHub - 3lf/design-patterns-for-humans: آموزش دیزاین پترن به زبون آدمیزاد - Teaching design patterns in Persian
آموزش دیزاین پترن به زبون آدمیزاد - Teaching design patterns in Persian - 3lf/design-patterns-for-humans
🔥2
https://learncs.me
یک وبسایت خوب که داخلش منابع آموزشی معرفی کرده. مخصوصا کورسهای دانشگاه تاپ دنیا
@TorhamDevCH
یک وبسایت خوب که داخلش منابع آموزشی معرفی کرده. مخصوصا کورسهای دانشگاه تاپ دنیا
@TorhamDevCH
learncs.me
Home
Learn everything about computer science by yourself
❤2👍2
link: https://youtu.be/QWO-0iH5SMw
آموزش FastAPI با تورهام، قسمت بیستم - Login API using JWT Part 1
بیایین کاربرها رو بشناسیم 🗿
#FastAPI_Course
👾 @TorhamDevCH
آموزش FastAPI با تورهام، قسمت بیستم - Login API using JWT Part 1
بیایین کاربرها رو بشناسیم 🗿
#FastAPI_Course
👾 @TorhamDevCH
🔥4🙏1