#انتقال_تجربه
از برنامهنویس های بد گفتم
از کارهای بد (یا حداقل آگهی استخدام بد) هم بگم
هرچند این مدل آگهی استخدامها طبق تجربه اکثراً شر هست.
از متن آگهی (که توی این تصویر نیست) و البته خط قبل از نیازمندیها مشخص هست که توی این شرکت شما تنها نیروی Data Scientist هستید, به خودی خود بد نیست (من تجربهاش رو داشتم) اما وقتی مدیر یا ... رویاپرداز باشه راجب کار یا اینکه درک درستی از Data science نداشته باشه اوضاع فاجعهاس.
ازین موضوع بگذریم، توی خط اول تمام کارهای data engineer هم به شما سپرده شده توجه کنید اینکارها به تیم یا نهایتاً به شخصی جدا نیاز داره (چون تجربه اینکار رو دارم بهتون اطمینان میدم خیلی بیشتر از چیزی که فکرش رو بکنید وقتتون رو میگیره)
اطمینان میدم ۹۹٪ شرکتهای ایرانی شناسنامه دیتابیس و دیتا ندارند خیلی از بخشهای بزرگ اصلا نمیدونند چی هست این موضوع.
اینکار در کنار شغل اصلی شما هست که بعنوان Data Scientist قرار هست استخدام بشید.
متن دعوت به همکاری بوی پروژهای رو میده که زمانبدیاش عقب افتاده (حدس هست فقط)
ادامه 👇👇
از برنامهنویس های بد گفتم
از کارهای بد (یا حداقل آگهی استخدام بد) هم بگم
هرچند این مدل آگهی استخدامها طبق تجربه اکثراً شر هست.
از متن آگهی (که توی این تصویر نیست) و البته خط قبل از نیازمندیها مشخص هست که توی این شرکت شما تنها نیروی Data Scientist هستید, به خودی خود بد نیست (من تجربهاش رو داشتم) اما وقتی مدیر یا ... رویاپرداز باشه راجب کار یا اینکه درک درستی از Data science نداشته باشه اوضاع فاجعهاس.
ازین موضوع بگذریم، توی خط اول تمام کارهای data engineer هم به شما سپرده شده توجه کنید اینکارها به تیم یا نهایتاً به شخصی جدا نیاز داره (چون تجربه اینکار رو دارم بهتون اطمینان میدم خیلی بیشتر از چیزی که فکرش رو بکنید وقتتون رو میگیره)
اطمینان میدم ۹۹٪ شرکتهای ایرانی شناسنامه دیتابیس و دیتا ندارند خیلی از بخشهای بزرگ اصلا نمیدونند چی هست این موضوع.
اینکار در کنار شغل اصلی شما هست که بعنوان Data Scientist قرار هست استخدام بشید.
متن دعوت به همکاری بوی پروژهای رو میده که زمانبدیاش عقب افتاده (حدس هست فقط)
ادامه 👇👇
👍2
تا اینجا شما با عنوان شغلی
Data Science
برای چند شغل
Research / Data Scientist / Data Engineer
دارید استخدام میشوید.
اینکه من شک میکنم (بازم میگم فقط حدس میزنم) مدیر این مجموعه سواد دیتاساینس ندارند و احتمالاً هم رویاپرداز هستند تا اینجا اگر براتون ثابت نشده به قسمت
نیازمندیها توجه کنید :
قبل و بعد این بخش تلاش بر القا محیطی انعطاف پذیر با کاری کم استرس هست که با حدس من که زمان پروژه عقب هست تناقض داره
توی نیازمندیها تمامی روشهایی که اسمش مرسوم هست اومده، برای تکمیل و عدم اعتراض هم کلمات کلی اضافه شده، ینی هرچی بهتون گفته بشه مخالفت نباید بکنید
زبان برنامهنویسی اهمیتی نداره (چون هدف فقط تحویل پروژه هست نه چیز دیگهای)
و با توجه به متنی که قبلش نوشته شده
شغلهای دیگری هم دارید :
Data Analyst / BI
خط آخر نیازمندیهارو من متوجه نمیشم
سازمان پویا با حداقل اسناد و فرآیند رو باید با خودمون داشته باشیم !؟
معنی خود جمله هم کلا برام سوال زیاد داره، بگذریم
مزایا رو ببینید که شاهکار هست :
داده بانکی جذاب ...
ینی شما قرار هست نیروی data science استخدام کنید ۶ تا شغل مختلف رو انجام بده بعد بهش دیتا هم ندید !؟
بعنوان کسی که با داده بانکی کلی کار کرده (این داده هیچ جذابیت خاصی نداره دقیقاً ی چیزی هست مثل همه دادههای دیگه) باور ندارید دادههای بانکی زیادی لو رفته توی اینترنت هست میتونید کار کنید.
ساعت کاری قابل انعطاف: ترجمه - شما میتونید بین ساعت ۸ تا ۹ صبح هروقت خواستید کارت بزنید ولی ازونور باید بمونید.
بیمه؛ تکمیلی بودن رو نمیدونم
ولی بطور کلی بیمه وظیفهاس نه مزیت
این مورد رو هیچوقت یادتون نره
بسته حقوقی رقابتی، نظر خاصی ندارم راجبش.
ببخشید اگر طولانی شد، فقط خواستم دقیق بررسی کنم و بگم خودم چطور دعوت به کارها رو بررسی میکنم (مخصوصاً برای تازه کارها)
اگر با همهی اینها خواستید رزومه بفرستید (شرایط مملکت سخت هست متوجهام)، من زیر این پست توی لینکدین کامنت گذاشتم.
روی پروفایل بنده میتونید ببینید. 🌹🌹
My LinkedIn
Data Science
برای چند شغل
Research / Data Scientist / Data Engineer
دارید استخدام میشوید.
اینکه من شک میکنم (بازم میگم فقط حدس میزنم) مدیر این مجموعه سواد دیتاساینس ندارند و احتمالاً هم رویاپرداز هستند تا اینجا اگر براتون ثابت نشده به قسمت
نیازمندیها توجه کنید :
قبل و بعد این بخش تلاش بر القا محیطی انعطاف پذیر با کاری کم استرس هست که با حدس من که زمان پروژه عقب هست تناقض داره
توی نیازمندیها تمامی روشهایی که اسمش مرسوم هست اومده، برای تکمیل و عدم اعتراض هم کلمات کلی اضافه شده، ینی هرچی بهتون گفته بشه مخالفت نباید بکنید
زبان برنامهنویسی اهمیتی نداره (چون هدف فقط تحویل پروژه هست نه چیز دیگهای)
و با توجه به متنی که قبلش نوشته شده
شغلهای دیگری هم دارید :
Data Analyst / BI
خط آخر نیازمندیهارو من متوجه نمیشم
سازمان پویا با حداقل اسناد و فرآیند رو باید با خودمون داشته باشیم !؟
معنی خود جمله هم کلا برام سوال زیاد داره، بگذریم
مزایا رو ببینید که شاهکار هست :
داده بانکی جذاب ...
ینی شما قرار هست نیروی data science استخدام کنید ۶ تا شغل مختلف رو انجام بده بعد بهش دیتا هم ندید !؟
بعنوان کسی که با داده بانکی کلی کار کرده (این داده هیچ جذابیت خاصی نداره دقیقاً ی چیزی هست مثل همه دادههای دیگه) باور ندارید دادههای بانکی زیادی لو رفته توی اینترنت هست میتونید کار کنید.
ساعت کاری قابل انعطاف: ترجمه - شما میتونید بین ساعت ۸ تا ۹ صبح هروقت خواستید کارت بزنید ولی ازونور باید بمونید.
بیمه؛ تکمیلی بودن رو نمیدونم
ولی بطور کلی بیمه وظیفهاس نه مزیت
این مورد رو هیچوقت یادتون نره
بسته حقوقی رقابتی، نظر خاصی ندارم راجبش.
ببخشید اگر طولانی شد، فقط خواستم دقیق بررسی کنم و بگم خودم چطور دعوت به کارها رو بررسی میکنم (مخصوصاً برای تازه کارها)
اگر با همهی اینها خواستید رزومه بفرستید (شرایط مملکت سخت هست متوجهام)، من زیر این پست توی لینکدین کامنت گذاشتم.
روی پروفایل بنده میتونید ببینید. 🌹🌹
My LinkedIn
👍4
vscode live share
امروز متوجه شدم بعضی از اعضای تیم که با vscode هم کار میکنند متاسفانه این ابزار رو ندارند؛
و برای کوچیکترین کاری هم مجبور به انتخاب یکی از ۳ روش قدیمی :
اشتراک گذاری فایل / دسترسی دادن به گیت هاب یا تماس تصویری و share screen هستند
البته که شخصا گیتهاب رو توی تیم ترجیح میدم تا بدونم کی به باقی اعضا کمک کرده و مسئول هر خط کد کی هست.
ولی خب قطعا راهکار بهتر این مورد هست؛ مخصوصا برای لایوها و …
اگر این Extension رو تا حالا روی VsCode نداشتید
قطعا و حتما باید نصب کنید.
VsCode Link
امروز متوجه شدم بعضی از اعضای تیم که با vscode هم کار میکنند متاسفانه این ابزار رو ندارند؛
و برای کوچیکترین کاری هم مجبور به انتخاب یکی از ۳ روش قدیمی :
اشتراک گذاری فایل / دسترسی دادن به گیت هاب یا تماس تصویری و share screen هستند
البته که شخصا گیتهاب رو توی تیم ترجیح میدم تا بدونم کی به باقی اعضا کمک کرده و مسئول هر خط کد کی هست.
ولی خب قطعا راهکار بهتر این مورد هست؛ مخصوصا برای لایوها و …
اگر این Extension رو تا حالا روی VsCode نداشتید
قطعا و حتما باید نصب کنید.
VsCode Link
Visualstudio
Tutorial: Get started with Visual Studio Code
This tutorial gives you an overview of the key features of Visual Studio Code to help you get started quickly.
👍2👎1
تقریبا اکثریت میدونند که حالا من وقتهای اضافی رو (توی ۱ سال گذشته) صرف javascript, typescript و البته React کردم.
و احتمالا بیشتر از پایتون درگیر این موارد بودم؛ توی ۷ سال قبل غیر از سال آخر همیشه با پایتون کد میزدم و زده بودم
سال قبل وقتی خبر اومد که خالق پایتون دوباره وارد مایکروسافت شد؛ حس کردم وقتش رسیده که زبان جدیدتری رو یاد بگیرم
اول رفتم سراغ Julia خیلی باهاش ارتباط برقرار نکردم چون هنوز خیلی آماده نیست
بعد وارد دنیای Go شدم؛ بسیار جالب ولی چون به پایتون عادت کرده بودم سخت بود
در نهایت یک پیشنهاد کاری و ورود من به JS, TS همه چیز همون مدل پایتون هست و اوضاع خوب پیش میره
هرچند تقریبا مطمئنم اگر قرار باشه پایتون درکار نباشه باید ی زبان دیگه روهم یاد بگیرم
شاید باید برگشت سمت C++ شایدم گزینه جدید Rust باشه
حالا چرا میگم پایتون درکار نباشه ؟
از زبان خالق؛ وقتی توسعه دهنده اصلی بعد از بازنشستگی بر میگرده به شرکت (ماکروسافت) یعنی دیگه دل به کار نمیده ینی اوضاع ممکنه خراب بشه
“I’m not excited about the idea of Python 4 and no one on the core development team really is, so there will probably never be a 4.0 and we’ll continue until 3.33, at least. We’ve learned our lesson from Python 3 vs. 2, so it’s almost taboo to talk about Python 4 seriously.”
هرچند شدیدا امیدوارم؛ راه حل مشکلات فعلی پایتون پیدا بشه و شاهد نسخه 4 هم باشیم
ولی باید آماده بود.
و احتمالا بیشتر از پایتون درگیر این موارد بودم؛ توی ۷ سال قبل غیر از سال آخر همیشه با پایتون کد میزدم و زده بودم
سال قبل وقتی خبر اومد که خالق پایتون دوباره وارد مایکروسافت شد؛ حس کردم وقتش رسیده که زبان جدیدتری رو یاد بگیرم
اول رفتم سراغ Julia خیلی باهاش ارتباط برقرار نکردم چون هنوز خیلی آماده نیست
بعد وارد دنیای Go شدم؛ بسیار جالب ولی چون به پایتون عادت کرده بودم سخت بود
در نهایت یک پیشنهاد کاری و ورود من به JS, TS همه چیز همون مدل پایتون هست و اوضاع خوب پیش میره
هرچند تقریبا مطمئنم اگر قرار باشه پایتون درکار نباشه باید ی زبان دیگه روهم یاد بگیرم
شاید باید برگشت سمت C++ شایدم گزینه جدید Rust باشه
حالا چرا میگم پایتون درکار نباشه ؟
از زبان خالق؛ وقتی توسعه دهنده اصلی بعد از بازنشستگی بر میگرده به شرکت (ماکروسافت) یعنی دیگه دل به کار نمیده ینی اوضاع ممکنه خراب بشه
“I’m not excited about the idea of Python 4 and no one on the core development team really is, so there will probably never be a 4.0 and we’ll continue until 3.33, at least. We’ve learned our lesson from Python 3 vs. 2, so it’s almost taboo to talk about Python 4 seriously.”
هرچند شدیدا امیدوارم؛ راه حل مشکلات فعلی پایتون پیدا بشه و شاهد نسخه 4 هم باشیم
ولی باید آماده بود.
👎1
#تجربه_شخصی طولانی هست و مربوط به تجربه اخیر من برای #همکاری با یک شرکت ایرانی و مدیران #سادیسمی
من روی زمانبدی و قول حساسم.
چه بعنوان مدیر ٫ مسئول پروژه چه بعنوان مشاور یا حتی دولوپر ساعتی.
حدود چندماه قبل به واسطه یکی از دوستان با مدیرعامل یک شرکت ایرانی آشنا شدم و بعد از کلی صحبت دعوت کرد که باهم همکاری کنیم (شرکت معتبر هست و با چیزهایی که من ازین شرکت شنیدم فکر میکنم در مجموع هلدینگ بیش از ۱.۰۰۰ کارمند داشته باشه)
بعداز کمی از زیرش فرار کردن (بنا به دلایلی که خیلی صحبت شده و مهمتر از همه دستمزد با شرکتهای ایرانی ترجیح میدم کار نکنم)
و بخاطر اهمیتی که واسطه آشنایی برام داشت قرار شد بعد از ۱-۲ تا مصاحبه؛ بصورت ریموت و چندروز در ماه حضوری همکاری داشته باشیم.
این پروسه حدود ۲ ماه طول کشید (کلا شرکتهای ایرانی همینجور انگار, البته من بدم نمیومد از طرف اونها کلا لغو بشه)
بعد از ۲ ماه،
جلسه اول مصاحبه توی ۲۰ دقیقه انجام شد و خیلی حرفهای برخورد شد و تمام.
جلسه دوم که قرار بود با تیم ۵ نفره فنی باشه، ۳ روز بعد بود
دفعه اول گفتند برای مدیر این بخش، مشکلی پیش اومده و جلسه لغو میشه (۴-۵ ساعت قبل جلسه) گفتم: مشکلی نیست و تمام
دفعه دوم، درخواست کردند حضوری باشه که من توضیح دادم، با توجه به شرایط و مسیر و البته اینکه خود اصل کار قرار هست ریموت باشه جلسه حضوری معنایی نداره.
جلسهای قرار شد گذاشته بشه برای هفته بعد، لینک جلسه ارسال شد و وقتی من وارد شدم دو نفر توی جلسه بودند
یک آقا و یک خانم (۱۰ دقیقه از جلسه گذشته بود) یک سری بحث کلی شد و بعد من راجب جلسه پرسیدم که چرا مدیر و باقی اعضا نیستند بعد از کمی صحبت متوجه شدم هردو نیروهای Junior-Mid level شرکت هستند و همونطور که انتظار داشتم بعد از ۲۰ دقیقه با عذرخواهی جلسه تموم شد.
برای نیروی HR که زحمت هماهنگی جلسات رو میکشید و ... پیام گذاشتم و بطور خلاصه خواستم بدونم که چرا وقتی میدونستند جلسه قرار نیست برگذار بشه با این حال لینک ارسال کردند و من رو جلوی ۲ تا تازهکار قرار داند که راجب اجتماع و فیلم و ... حرف میزدند ؟
توضیح واضحی نگرفتم، عذرخواهی هم که اصلاً توی مرام مدیرای ایرانی نیست
جلسه سوم گذاشته شد برای دیروز و بصورت کاملاً عمدی حدود ۲۰ دقیقه تأخیر داشتم و بعد هم اینترنت رو روی ۵۰٪ سرعت برای دانلود گذاشتم (باعث میشد تصویر دائما عقب باشه و به ایراد بخوره) بعد از ۱۰ دقیقه صدای مدیر بخش در اومد :
شما که شرایطش رو ندارید برای چی اصرار به جلسه غیر حضوری دارید ؟!
- دانلود رو قطع کردم و توضیح دادم که چقدر رفتارشون زشت بوده و من این رفتار زشت رو بخاطر آشنایی تحمل کردم بیش از ۳ ماه
و اینکه ایشون حتی برای ۱۰ دقیقه هم نتونستن رفتار زشت رو تحمل کنند.
با عصبانیت تمام و تقریباً با فریاد، توضیح داد که این جزو مراحل تست نیرو هست و ...
که خب این مدل توضیح دادنش باعث شد من لحن صحبتم عوض بشه و جلسه رو بدون خداحافظی قطع کنم.
همینجا اضافه کنم که توی صورت باقی اعضا ی حس دمشگرم انتقام مارو گرفت دیده میشد.
بعداز چندتا سرچ دیدم انگار این توی ایران عرف هست، من نمیدونم کدوم احمق، بیشعور و نفهمی برای اولین بار به اینها یاد داده و مطرح کرده که میتونند چنین برخوردی داشته باشند.
برخوردی که فقط و فقط یک دلیل داره و اونم سادیسم هست (پیشنهاد میکنم اگر ازین افراد میشناسید حتماً روانپزشک معرفی کنید) و جا انداختن بینظمی.
- این برخورد به چه نوع استخدامی ختم میشه !؟
+ احتمالاً اکثراً آدمهای بیخیال / بی هدف و البته مهمتر بی برنامه؛ من کسی رو نمیشناسم که به زمان و برنامه ریزیش توهین بشه و سکوت کنه.
اینم دلیل جدیدی برای عدم همکاری با شرکتهای ایرانی.
من روی زمانبدی و قول حساسم.
چه بعنوان مدیر ٫ مسئول پروژه چه بعنوان مشاور یا حتی دولوپر ساعتی.
حدود چندماه قبل به واسطه یکی از دوستان با مدیرعامل یک شرکت ایرانی آشنا شدم و بعد از کلی صحبت دعوت کرد که باهم همکاری کنیم (شرکت معتبر هست و با چیزهایی که من ازین شرکت شنیدم فکر میکنم در مجموع هلدینگ بیش از ۱.۰۰۰ کارمند داشته باشه)
بعداز کمی از زیرش فرار کردن (بنا به دلایلی که خیلی صحبت شده و مهمتر از همه دستمزد با شرکتهای ایرانی ترجیح میدم کار نکنم)
و بخاطر اهمیتی که واسطه آشنایی برام داشت قرار شد بعد از ۱-۲ تا مصاحبه؛ بصورت ریموت و چندروز در ماه حضوری همکاری داشته باشیم.
این پروسه حدود ۲ ماه طول کشید (کلا شرکتهای ایرانی همینجور انگار, البته من بدم نمیومد از طرف اونها کلا لغو بشه)
بعد از ۲ ماه،
جلسه اول مصاحبه توی ۲۰ دقیقه انجام شد و خیلی حرفهای برخورد شد و تمام.
جلسه دوم که قرار بود با تیم ۵ نفره فنی باشه، ۳ روز بعد بود
دفعه اول گفتند برای مدیر این بخش، مشکلی پیش اومده و جلسه لغو میشه (۴-۵ ساعت قبل جلسه) گفتم: مشکلی نیست و تمام
دفعه دوم، درخواست کردند حضوری باشه که من توضیح دادم، با توجه به شرایط و مسیر و البته اینکه خود اصل کار قرار هست ریموت باشه جلسه حضوری معنایی نداره.
جلسهای قرار شد گذاشته بشه برای هفته بعد، لینک جلسه ارسال شد و وقتی من وارد شدم دو نفر توی جلسه بودند
یک آقا و یک خانم (۱۰ دقیقه از جلسه گذشته بود) یک سری بحث کلی شد و بعد من راجب جلسه پرسیدم که چرا مدیر و باقی اعضا نیستند بعد از کمی صحبت متوجه شدم هردو نیروهای Junior-Mid level شرکت هستند و همونطور که انتظار داشتم بعد از ۲۰ دقیقه با عذرخواهی جلسه تموم شد.
برای نیروی HR که زحمت هماهنگی جلسات رو میکشید و ... پیام گذاشتم و بطور خلاصه خواستم بدونم که چرا وقتی میدونستند جلسه قرار نیست برگذار بشه با این حال لینک ارسال کردند و من رو جلوی ۲ تا تازهکار قرار داند که راجب اجتماع و فیلم و ... حرف میزدند ؟
توضیح واضحی نگرفتم، عذرخواهی هم که اصلاً توی مرام مدیرای ایرانی نیست
جلسه سوم گذاشته شد برای دیروز و بصورت کاملاً عمدی حدود ۲۰ دقیقه تأخیر داشتم و بعد هم اینترنت رو روی ۵۰٪ سرعت برای دانلود گذاشتم (باعث میشد تصویر دائما عقب باشه و به ایراد بخوره) بعد از ۱۰ دقیقه صدای مدیر بخش در اومد :
شما که شرایطش رو ندارید برای چی اصرار به جلسه غیر حضوری دارید ؟!
- دانلود رو قطع کردم و توضیح دادم که چقدر رفتارشون زشت بوده و من این رفتار زشت رو بخاطر آشنایی تحمل کردم بیش از ۳ ماه
و اینکه ایشون حتی برای ۱۰ دقیقه هم نتونستن رفتار زشت رو تحمل کنند.
با عصبانیت تمام و تقریباً با فریاد، توضیح داد که این جزو مراحل تست نیرو هست و ...
که خب این مدل توضیح دادنش باعث شد من لحن صحبتم عوض بشه و جلسه رو بدون خداحافظی قطع کنم.
همینجا اضافه کنم که توی صورت باقی اعضا ی حس دمشگرم انتقام مارو گرفت دیده میشد.
بعداز چندتا سرچ دیدم انگار این توی ایران عرف هست، من نمیدونم کدوم احمق، بیشعور و نفهمی برای اولین بار به اینها یاد داده و مطرح کرده که میتونند چنین برخوردی داشته باشند.
برخوردی که فقط و فقط یک دلیل داره و اونم سادیسم هست (پیشنهاد میکنم اگر ازین افراد میشناسید حتماً روانپزشک معرفی کنید) و جا انداختن بینظمی.
- این برخورد به چه نوع استخدامی ختم میشه !؟
+ احتمالاً اکثراً آدمهای بیخیال / بی هدف و البته مهمتر بی برنامه؛ من کسی رو نمیشناسم که به زمان و برنامه ریزیش توهین بشه و سکوت کنه.
اینم دلیل جدیدی برای عدم همکاری با شرکتهای ایرانی.
👍16👎2
چالش در حد مصاحبه
چرا ؟
و بدتر اینکه چرا وقتی دو طرف تساوی رو جابجا میکنیم False هم جابجا میشه ؟
پ.ن: تو مصاحبه اینارو نپرسید البته (دردی از کسی دوا نمیکنه ولی چالش خوبی هست.)
راهنمایی : این مورد هم هست
True, True, 0 > 1
جواب : کامنتها
چرا ؟
و بدتر اینکه چرا وقتی دو طرف تساوی رو جابجا میکنیم False هم جابجا میشه ؟
پ.ن: تو مصاحبه اینارو نپرسید البته (دردی از کسی دوا نمیکنه ولی چالش خوبی هست.)
راهنمایی : این مورد هم هست
True, True, 0 > 1
جواب : کامنتها
🤩3👍2🔥2👎1😁1
از حالا نسبت به پستهای کانال میتونید
Reaction
داشته باشید 👌
(البته هنوز به درستی نشون داده نمیشه)
Reaction
داشته باشید 👌
(البته هنوز به درستی نشون داده نمیشه)
🎉19👍13🤩10❤6🔥6👎4
من حدود ۷ تا
Python Environment
مختلف دارم برای کارهای کلی و تستهای اصلی
با این حال هر ۶ ماه یکبار باید ی سرچ بزنم، دنبال پوشههایی به اسم .env توی تمام سورسکدهای پروژههای پایتون
فقط و فقط برای اینکه باید
requirements.txt
رو خیلی تمیز تحویل بدم.
pipreqsnb / pipreqs
من رو قطعاً ازین وضعیت نجات میده، بجای تمام پکیجهای نصب شده داخل environment فقط همون هایی که توی پروژه استفاده کردید رو لیست میکنه.
Pipreqsnb github
پ.ن. : نسخهای که nb آخرش داره برای
Jupyter notebook
ها استفاده میشه
Python Environment
مختلف دارم برای کارهای کلی و تستهای اصلی
با این حال هر ۶ ماه یکبار باید ی سرچ بزنم، دنبال پوشههایی به اسم .env توی تمام سورسکدهای پروژههای پایتون
فقط و فقط برای اینکه باید
requirements.txt
رو خیلی تمیز تحویل بدم.
pipreqsnb / pipreqs
من رو قطعاً ازین وضعیت نجات میده، بجای تمام پکیجهای نصب شده داخل environment فقط همون هایی که توی پروژه استفاده کردید رو لیست میکنه.
Pipreqsnb github
پ.ن. : نسخهای که nb آخرش داره برای
Jupyter notebook
ها استفاده میشه
👍21🎉3🤩3👎2
این سری لایوهایی که OpenCV توی لینکدین قرار میده رو از دست ندید (حتی اگر لایو رو ندید)
توی این سری موضوع YOLOv5 هست؛ و البته پارت اول
Opencv yolov5 series
توی این سری موضوع YOLOv5 هست؛ و البته پارت اول
Opencv yolov5 series
Linkedin
#opencv #computervision #artificialintelligence #ai #webinar | OpenCV | 39 comments
On this week's episode, OpenCV CEO Satya Mallick shows us the ropes of the powerful YOLOv5 system, with the goal of building a snowman detector. Learn how to find frosty in this fun, educational, episode. #OpenCV #ComputerVision #ArtificialIntelligence #AI…
👍10❤2🤩1
قبلتر گفتم وضعیت خرابه، نمیدونم شما احساس کردید یا نه ولی من خیلی بهش برخورد کردم توی ماههای اخیر
تجربه به تعداد سال یکجا موندن نیست
سنیور شدن به تعداد سال توی یک فیلد کد زدن نیست
Tech lead, Project Manager, Project Owner
شده مثل تگهای ۵۰۰ تومنی کنار خیابون؛ هرکسی ی دونه بر میداره
پیامهایی که فکر میکنم ازین به بعد قراره روزی ۱ دونه داشته باشم،
و کدهایی که بازم فکر میکنم قراره توی ۹۰٪ پروژههای ایرانی ببینم
حاضرم به همه چیز قسم بخورم توی ۳ سال اخیر
حتی یکبار هم یک کد تمیز توی پروژه های ایرانی - code review - debug - test و ... ندیدم و این شامل بیش از ۳۰ پروژه و ۳۰۰ کد متفاوت میشه
مورد قبلی :
https://xn--r1a.website/pytens/727
من ایشون رو نمیشناسم مثل خیلی موردهای دیگهای که پیام میدهند ولی اگر نیرویی لازم دارید، ایمیل بدید میگم رزومه بفرستند.
تجربه به تعداد سال یکجا موندن نیست
سنیور شدن به تعداد سال توی یک فیلد کد زدن نیست
Tech lead, Project Manager, Project Owner
شده مثل تگهای ۵۰۰ تومنی کنار خیابون؛ هرکسی ی دونه بر میداره
پیامهایی که فکر میکنم ازین به بعد قراره روزی ۱ دونه داشته باشم،
و کدهایی که بازم فکر میکنم قراره توی ۹۰٪ پروژههای ایرانی ببینم
حاضرم به همه چیز قسم بخورم توی ۳ سال اخیر
حتی یکبار هم یک کد تمیز توی پروژه های ایرانی - code review - debug - test و ... ندیدم و این شامل بیش از ۳۰ پروژه و ۳۰۰ کد متفاوت میشه
مورد قبلی :
https://xn--r1a.website/pytens/727
من ایشون رو نمیشناسم مثل خیلی موردهای دیگهای که پیام میدهند ولی اگر نیرویی لازم دارید، ایمیل بدید میگم رزومه بفرستند.
👍6😢1
تا دلتون بخواد
Segmentation Model
توی این لایبراری هست؛ بر اساس
Keras
نوشته شده و کارهای سگمنتیشن رو خیلی ساده میکنه
SM Github
Segmentation Model
توی این لایبراری هست؛ بر اساس
Keras
نوشته شده و کارهای سگمنتیشن رو خیلی ساده میکنه
SM Github
GitHub
GitHub - qubvel/segmentation_models: Segmentation models with pretrained backbones. Keras and TensorFlow Keras.
Segmentation models with pretrained backbones. Keras and TensorFlow Keras. - qubvel/segmentation_models
🤩6👍2
#تجربه
توی لینکدین یک پستی گذاشتم راجب انتقال دیتابیس یکی از شرکتهایی که باهاش کار میکنم از SQL به MongoDB
یک توضیح مختصر برای چرایی :
۱- اینکه طراحی اشتباه بخاطر تیم اول شرکت (میگن MongoDB با Django خوب کار نمیکنه؛ منم خیلی شنیدم ولی خب قبولش ندارم چون پایتون باهاش خوبه)
۲- ازونجایی که تعداد یوزرهای شرکت میلیونی هست و باتوجه به طراحی دیتابیس تیم دیتاساینس - BI و ... کوئریهایی رو میزنن که از ۱۰ دقیقه تا ۴-۵ ساعت اجراش طول میکشه و بیشتر بخاطر حجم Join زدن و ... هست
توی مانگو اینو نداریم ؛ ماهیت دیتای ما جوری هست که اطلاعات مهم رو Embed کردم داخل داکیومنت (داکیومنت حکم سطر رو داره توی SQL) و بنابراین برای Frequent Data نیازی نیست که Join - Multiple Query و ... داشته باشیم
تستهای اولیه؛
کوئری ۱۰ دقیقهایی رو به ۳۴۵میلیثانیه رسونده
(این زمان شامل زمان بکند هم میشه که ترجیح دادم Express.js باشه؛ دلیلش این بود که تمرین کنم)
غیر از اون ی سری کدهای تحت ترمینال هم داشت شرکت که دست تیم دیتاساینس و dataengineer هست و انقد سخت نوشته شده که جز تعدادی محدود که از نسخه اولیه باهاش کار کردن کسی نمیتونه باهاش کار کنه و برای بعضی از دیتاها باید منتظر موند تا یکی ازین افراد با این ابزار کار کنه و دیتارو به شما برسونه
بعد از اینکه کدهای Express تموم شد؛ داشتم روی این ابزار کار میکردم که به پیشنهاد یکی از اعضای تیم قرار شد بجای argv , ... خود پایتون از
Typer
استفاده کنیم (به اندازه خود FastApi فوقالعادهاس) و ۳ نفری که روی این ابزار کار میکنیم هم موافقت کردیم.
از اونجایی که از فصل گذشته شرکت با چندتا دانشگاه قرارداد بسته و Intern هم میگیره من خیلی سعی میکردم اطراف همهی print ها کدهای رنگی بنویسم که برای تازهکارها هم راحت باشه و توجه اونها رو به خطاها جلب کنه
راستش هم سر خودمون خلوت میشه که کمتر سوال بپرسند هم برای شرکت ارزش حساب میشه
بعد از کلی نوشتن و refactor یاد ابزار Bpytop (جایگزین عالی htop) افتادم و بعد کلی جستجو به Rich رسیدم
خلاصه :
مانگو رو فراموش نکنید مخصوصا برای شرایط بالا
اگر دارید تحت کامند ابزار مینویسید؛ حتما help , man و ... براش بذارید
اگر قراره از این ابزار طولانی مدت استفاده بشه؛ حتما از Typer , Rich استفاده کنید
هم خیلی راحت هست هم فوقالعاده؛ محدودیت توش نیست واقعا
توی لینکدین یک پستی گذاشتم راجب انتقال دیتابیس یکی از شرکتهایی که باهاش کار میکنم از SQL به MongoDB
یک توضیح مختصر برای چرایی :
۱- اینکه طراحی اشتباه بخاطر تیم اول شرکت (میگن MongoDB با Django خوب کار نمیکنه؛ منم خیلی شنیدم ولی خب قبولش ندارم چون پایتون باهاش خوبه)
۲- ازونجایی که تعداد یوزرهای شرکت میلیونی هست و باتوجه به طراحی دیتابیس تیم دیتاساینس - BI و ... کوئریهایی رو میزنن که از ۱۰ دقیقه تا ۴-۵ ساعت اجراش طول میکشه و بیشتر بخاطر حجم Join زدن و ... هست
توی مانگو اینو نداریم ؛ ماهیت دیتای ما جوری هست که اطلاعات مهم رو Embed کردم داخل داکیومنت (داکیومنت حکم سطر رو داره توی SQL) و بنابراین برای Frequent Data نیازی نیست که Join - Multiple Query و ... داشته باشیم
تستهای اولیه؛
کوئری ۱۰ دقیقهایی رو به ۳۴۵میلیثانیه رسونده
(این زمان شامل زمان بکند هم میشه که ترجیح دادم Express.js باشه؛ دلیلش این بود که تمرین کنم)
غیر از اون ی سری کدهای تحت ترمینال هم داشت شرکت که دست تیم دیتاساینس و dataengineer هست و انقد سخت نوشته شده که جز تعدادی محدود که از نسخه اولیه باهاش کار کردن کسی نمیتونه باهاش کار کنه و برای بعضی از دیتاها باید منتظر موند تا یکی ازین افراد با این ابزار کار کنه و دیتارو به شما برسونه
بعد از اینکه کدهای Express تموم شد؛ داشتم روی این ابزار کار میکردم که به پیشنهاد یکی از اعضای تیم قرار شد بجای argv , ... خود پایتون از
Typer
استفاده کنیم (به اندازه خود FastApi فوقالعادهاس) و ۳ نفری که روی این ابزار کار میکنیم هم موافقت کردیم.
از اونجایی که از فصل گذشته شرکت با چندتا دانشگاه قرارداد بسته و Intern هم میگیره من خیلی سعی میکردم اطراف همهی print ها کدهای رنگی بنویسم که برای تازهکارها هم راحت باشه و توجه اونها رو به خطاها جلب کنه
راستش هم سر خودمون خلوت میشه که کمتر سوال بپرسند هم برای شرکت ارزش حساب میشه
بعد از کلی نوشتن و refactor یاد ابزار Bpytop (جایگزین عالی htop) افتادم و بعد کلی جستجو به Rich رسیدم
خلاصه :
مانگو رو فراموش نکنید مخصوصا برای شرایط بالا
اگر دارید تحت کامند ابزار مینویسید؛ حتما help , man و ... براش بذارید
اگر قراره از این ابزار طولانی مدت استفاده بشه؛ حتما از Typer , Rich استفاده کنید
هم خیلی راحت هست هم فوقالعاده؛ محدودیت توش نیست واقعا
GitHub
GitHub - fastapi/typer: Typer, build great CLIs. Easy to code. Based on Python type hints.
Typer, build great CLIs. Easy to code. Based on Python type hints. - fastapi/typer
👍12
#تجربه
چطوری برای پروژههای هوش مصنوعی تست مینویسیم !؟
یک دوستی توی لینکدین این سوال جالب و خیلی خیلی مهم رو گذاشته که من قبل جواب دادن به ایشون گفتم تجربه خودم رو به اشتراک بذارم (قبلاً راجبش صحبت نکرده بودم) :
خداروشکر تست نویسی خوب داره رواج پیدا میکنه (متأسفانه بین دولوپرهای هموطن خیلی کم دیده میشه)
حتی وقتایی که زمانبندی پروژه خیلی کم هست (مشکل اصلی ۹۰٪ تست ننوشتن ها)
حداقل باید تمام سناریوهایی که بهش فکر میشه توی دیزاین و تستهای دستی وجود داشته باشه (ی جور Todo خاص برای وقتی زمان اجازه میده و دولوپرهای بعدی)
من ی مورد دیگه رو هم اضافه کنم بعد میرم سراغ جواب دادن به سوال :
تورو خدا Error Handling بذارید، دیباگر خوبه، print , log و ... هم خوبه ولی یوزر یا دولوپرهای دیگهای که از کد شما بعنوان سرویس استفاده میکنند باید متوجه بشن کجا به مشکل خورده پروژه که بتونه به شما اطلاع بده و شما reproduce کنید. (Debuger , ... فقط برای زمان توسعه کد هست توی production این error handle هست که کمک میکنه ؛ ی فکری بکنید به پروژههای بدون error handle که از باقی گرفتید چقدر سخت بوده رفع ارور توش ؟! )
جواب من برای این سوال، تست نویسی رو من برای پروژههای خودم (نظرشخصی و تجربه خودم) اینطور تعریف میکنم (باتوجه به تجربهام خیلی خوب جواب ML/DL رو میده)
من دیدم بعضی دوستان میگن، تست فقط برای بخش
Data Engineering
هست کاملاً غلط هست؛ جا بندازم که اینجا چیزی به اسم تست نداریم مثل باقی موضوع بطور کلی تست نویسی اسم اشتباهی هست، برای این مرحله بهش میگیم Data Validation ینی توقع داریم یکسری اطلاعات مثلاً توزیع دادهها / بالانس بودن یا نبودن و ... به مرور زمان ثابت باشه (بسته به نوع پروژه داره) و اگر نبود میگیم دیتا valid نیست و بعنوان ارور نوتیف برمیگرده برای تیمهایی که با اون داده کار میکنند.
اما من چطوری تست مینویسم یا از تیمم توقع دارم بنویسند:
اولین قدم:
تست رو فقط و فقط برای توابع pure مینویسم، توابعی که مطمئنم همیشه یک خروجی ثابتی رو باید برگردونه
قدم دوم :
توابعی که side effect روی پروژه نداره ولی خروجی خودش بستگی به یکسری پارامتر ورودی داره اول تست خود پارامتر بعد تست مقادیر و خروجی تابع
قدم سوم :
تست side effect ها و توابعی که به دیتای valid شده مرحله data engineering بستگی داره, یک مثال خیلی خیلی ساده توی مراحل preprocessing فرض کنید تابعی داریم که outlier و ... رو حذف میکنیم
تستی که مینویسم اینه که اگر ورودی توزیع نرمال هست خروجی هم توزیع نرمال باشه
یا دیتا از ی حدی بیشتر imbalance نشه بیشتر از ی تعدادی outlier پیدا نشه وگرنه validation مرحله قبلی زیر سوال هست
در نهایت پارامترهای مدل و دقت و لاس و .... رو بررسی میکنم (توقع دارم اگر مدل تا حالا روی ۹۰٪ دقت بوده توی همین حدود بمونه، اشاره کنم بازم که دقت به تنهایی اصلا معیاری خوبی نیست)
خلاصه :
تست نویسی توی پروژههای هوش و هرجایی که به دیتای متغییر وابسته هست متفاوت میشه بطور کلی.
پ.ن : من اینجا از valid / test و ... که برای خروجی مدل هست و همه بلدش هستید صحبتی نکردم
چون سوال بنظرم ربطی به این موضوع نداشت.
چطوری برای پروژههای هوش مصنوعی تست مینویسیم !؟
یک دوستی توی لینکدین این سوال جالب و خیلی خیلی مهم رو گذاشته که من قبل جواب دادن به ایشون گفتم تجربه خودم رو به اشتراک بذارم (قبلاً راجبش صحبت نکرده بودم) :
خداروشکر تست نویسی خوب داره رواج پیدا میکنه (متأسفانه بین دولوپرهای هموطن خیلی کم دیده میشه)
حتی وقتایی که زمانبندی پروژه خیلی کم هست (مشکل اصلی ۹۰٪ تست ننوشتن ها)
حداقل باید تمام سناریوهایی که بهش فکر میشه توی دیزاین و تستهای دستی وجود داشته باشه (ی جور Todo خاص برای وقتی زمان اجازه میده و دولوپرهای بعدی)
من ی مورد دیگه رو هم اضافه کنم بعد میرم سراغ جواب دادن به سوال :
تورو خدا Error Handling بذارید، دیباگر خوبه، print , log و ... هم خوبه ولی یوزر یا دولوپرهای دیگهای که از کد شما بعنوان سرویس استفاده میکنند باید متوجه بشن کجا به مشکل خورده پروژه که بتونه به شما اطلاع بده و شما reproduce کنید. (Debuger , ... فقط برای زمان توسعه کد هست توی production این error handle هست که کمک میکنه ؛ ی فکری بکنید به پروژههای بدون error handle که از باقی گرفتید چقدر سخت بوده رفع ارور توش ؟! )
جواب من برای این سوال، تست نویسی رو من برای پروژههای خودم (نظرشخصی و تجربه خودم) اینطور تعریف میکنم (باتوجه به تجربهام خیلی خوب جواب ML/DL رو میده)
من دیدم بعضی دوستان میگن، تست فقط برای بخش
Data Engineering
هست کاملاً غلط هست؛ جا بندازم که اینجا چیزی به اسم تست نداریم مثل باقی موضوع بطور کلی تست نویسی اسم اشتباهی هست، برای این مرحله بهش میگیم Data Validation ینی توقع داریم یکسری اطلاعات مثلاً توزیع دادهها / بالانس بودن یا نبودن و ... به مرور زمان ثابت باشه (بسته به نوع پروژه داره) و اگر نبود میگیم دیتا valid نیست و بعنوان ارور نوتیف برمیگرده برای تیمهایی که با اون داده کار میکنند.
اما من چطوری تست مینویسم یا از تیمم توقع دارم بنویسند:
اولین قدم:
تست رو فقط و فقط برای توابع pure مینویسم، توابعی که مطمئنم همیشه یک خروجی ثابتی رو باید برگردونه
قدم دوم :
توابعی که side effect روی پروژه نداره ولی خروجی خودش بستگی به یکسری پارامتر ورودی داره اول تست خود پارامتر بعد تست مقادیر و خروجی تابع
قدم سوم :
تست side effect ها و توابعی که به دیتای valid شده مرحله data engineering بستگی داره, یک مثال خیلی خیلی ساده توی مراحل preprocessing فرض کنید تابعی داریم که outlier و ... رو حذف میکنیم
تستی که مینویسم اینه که اگر ورودی توزیع نرمال هست خروجی هم توزیع نرمال باشه
یا دیتا از ی حدی بیشتر imbalance نشه بیشتر از ی تعدادی outlier پیدا نشه وگرنه validation مرحله قبلی زیر سوال هست
در نهایت پارامترهای مدل و دقت و لاس و .... رو بررسی میکنم (توقع دارم اگر مدل تا حالا روی ۹۰٪ دقت بوده توی همین حدود بمونه، اشاره کنم بازم که دقت به تنهایی اصلا معیاری خوبی نیست)
خلاصه :
تست نویسی توی پروژههای هوش و هرجایی که به دیتای متغییر وابسته هست متفاوت میشه بطور کلی.
پ.ن : من اینجا از valid / test و ... که برای خروجی مدل هست و همه بلدش هستید صحبتی نکردم
چون سوال بنظرم ربطی به این موضوع نداشت.
👍19❤2🥰1🎉1
توی تستهایی که تو یوتیوب دیدم از
Gpt-3
عملکرد بهتری داره روی سوال و جواب
Open source
و بر اساس T5 توسعه داده شده، جالب بود.
https://github.com/allenai/macaw
Gpt-3
عملکرد بهتری داره روی سوال و جواب
Open source
و بر اساس T5 توسعه داده شده، جالب بود.
https://github.com/allenai/macaw
GitHub
GitHub - allenai/macaw: Multi-angle c(q)uestion answering
Multi-angle c(q)uestion answering. Contribute to allenai/macaw development by creating an account on GitHub.
چقدر خوبه دنیای OpenSource,
شاید نهایتاً ۲ سال پیش بود که نیاز به ساخت Knowledge Graph داشتیم، چقدر زمان برد چقدر تحقیق لازم بود و واقعاً سخت بود.
حالا توی ۸ خط، تازه با print هاش
GitHub Link
شاید نهایتاً ۲ سال پیش بود که نیاز به ساخت Knowledge Graph داشتیم، چقدر زمان برد چقدر تحقیق لازم بود و واقعاً سخت بود.
حالا توی ۸ خط، تازه با print هاش
GitHub Link
👍8