دستاوردهای یادگیری عمیق(InTec)
9.46K subscribers
363 photos
40 videos
44 files
674 links
هوش مصنوعی، یادگیری ماشین و یادگیری عمیق
موضوع اصلی کانال

این یک بلاگ شخصی با طرز تفکر شخصی هست.

Core Python : @PyHints

تلاشی هم در یادگیری Rust دارم که درحال داکیومنت شدن هم هست؛ اگر شماهم به این زبان علاقمند هستید join یادتون نره

Rust: @PyRust
Download Telegram
اینم جالب بود :

آیدی کانال تلگرامی دیگری که برای من بود رو توی لیست فروش تلگرام دیدم

چک کردم دیدم کانال رو Private کردند و آیدی رو هم گرفتند رزرو خود تلگرام شده

این اتفاق برای ۳ تا از آیدی‌ها و کانال‌هایی که داشتم افتاده.
🤯20👍1🤔1😱1🤩1💔1
یک گروه هکری که اسم "Purple Urchin" بهشون داده شده از سرویس رایگان github actions - heroku , ... استفاده میکردند برای Crypto Mining با اینکه خیلی خیلی هزینه زیاد و درآمد کم هست ولی خب داشتن اینکارو میکردند

درآمد برای هکر ۱۶۰ دلار - هزینه برای سرویس دهنده ۱۰۰.۰۰۰ دلار

به همین دلیل خیلی از سرویس دهنده‌ها از جمله heroku , ... با اعلام اینکه هزینه‌ی تیم امنیت با توجه به این نوع استفاده‌های غیر قانونی (هک محسوب نمیشه) داره بالا میره و ضرر‌های سنگینی هم میزنه این مدل استفاده

تصمیم گرفتند سرویس‌های رایگان رو جمع کنند.
😢23👍6
دسترسی به اینترنت سرورهامون از صبح داره کم میشه تا جایی که الان
۳ مورد اصلا اینترنت نداره

کسی این شرایط رو داره ؟

پ.ن :

اوضاع اینجوری شده که اگه ی هفته همه‌ی سرورها رو هم دان کنی،

یوزر ناراحت نمیشه فکر می‌کنه مشکل از اینترنت خودشه

مدیرت ناراحت نمیشه فکر می‌کنه از زیرساخت شبکه هست

صاحب بیزینس ناراحت نمیشه، فکر می‌کنه مشکل از شرکت طرف قرارداد سرویس دهنده هست

دولوپر ناراحت نمیشه،
نه دیگه این میفهمه تو بفنا دادی فقط به رو خودش نمیاره که تسک‌های عقب افتادش رو برسونه 😁
👍31😢8
همین الان :

یک سری کدهارو دارم review می‌کنم برای قبلاً هست و حالا دوباره نیاز شده و باید آپدیت بشه.

دولوپر کدها بسیار بسیار از الگویی مثل :

list(filter(condition, map(func, sequences)))

استفاده کرده ایمیل زدم و پرسیدم چرا این تصمیم رو گرفته : جوابش این بود که فکر می‌کنه سریعتر هست، شما این اشتباه رو نکنید چون نیست.

راهکار بهتر listcomp هست به این صورت :

[ x for x in sequence if condition ]

اگر راجب listcomp ها نمی‌دونید پیشنهاد می‌کنم حتماً یاد بگیرید و اگر فکر می‌کنید filter, map سریع تر هست، با گوگل کردن به هزاران تست و مقایسه میرسید.
👍38👏7
ابر آروان در لیست تحریم اروپا.
تنها تحریم علیه ایران که خوشحال کننده هست.
👍75🍾22👎14💔6🔥1
به احترام تصمیم گرفته شده مردم ایران

۲۴، ۲۵، ۲۶
آبان ماه

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

به امید آزادی تمامی دوستان و زندانیان سیاسی.
🕊123👎2321👍11❤‍🔥1
دستاوردهای یادگیری عمیق(InTec)
احسان عبدی پور – سناریو
This media is not supported in your browser
VIEW IN TELEGRAM
به کمال عجز گفتم، که به لب رسیده جانم
به غرور و ناز گفتی، تو مگر هنوز هستی ؟

برای خدای رنگین کمان ...

به گفته مادر کیان، این کودک ۱۰ ساله با شلیک نیروهای حکومتی کشته شده.
💔35❤‍🔥14👎5😢5
#تجربه
این متن طولانی هست
برای اونهایی که میخوان پیشرفت کنند

ی نیروی جدید توی تیم من وارد شده

Backend developer

حدود ۱ ماه و ۲ سالی میشه که توی شرکت هست : هم python کد میزنه هم nodejs

همین الان که خیلی ناراحت بود، ازم پرسید چطوری promote بگیرم ؟ یا چطوری Senior بشم ؟
شرایطش رو میگم و بعد ادامه میدم :

حدود ۲ سال قبل همراه با ۲ نفر دیگه وارد شرکت شدند بعنوان نیروی junior که ۲ نفر دیگه بعد از ۱ سال هم منتقل شدند از تیم و هم mid-level ولی ایشون با اینکه کدهای بیشتری رو push می‌کنه همچنان junior شرکت هست.


توی تیم، ما ۳ نوع تحویل کد داریم :

Senior - Senior peer review
مختص سفارش‌ها و پروژه‌های خیلی مهم هست هر نیروی سنیور فیچر درخواست شده رو که اضافه می‌کنه کد رو push می‌کنه تا نیروی سنیور دیگه‌ای هم بخونه و اگر لازم بود ادیت کنه و در نهایت ارسال بشه برای repo اصلی

Junior - Mid - Senior peer review
داریم که پروژ‌ه‌های عادی و روزمره هست، نیروی junior و mid با هم پروژه رو پیش میبرند با انواع ویژگی و ...‌ در نهایت برای senior ارسال میشه و در صورت تأیید میره روی repo اصلی

Junior - Junior - Mid
ایده‌های سریع، طرح‌های خام و کدهای شلم شوربا که فقط باید اجرا بشه (من بهش میگم کدهای استارتاپی) همه این روش هست.
جونیور ها پیاده‌سازی می‌کنند، mid رفع اشکال و ارسال به repo اصلی.

اینجوری بر اساس تجربه و سواد وقت افراد صرفه جویی میشه

اما ی نکته‌ای دارم توی این روش، هیچکس برای لول پایین‌تر mentor نمی‌شه اگر ایراد زیاد باشه کد رد میشه و دلایل اصلی گفته میشه اگر ایراد کم باشه کد ادیت میشه و ارسال به repo اصلی ولی هر شخصی توی پروژه هست اجازه خوندن repo اصلی رو داره (طبیعی هست دیگه)

حالا برگردیم به مدل کاری دوستمون :

پروژه‌ای که دست ایشون داده شده سطح متوسط اهمیت هست و مهمتر زمانبندی پروژه هست (خیلی خیلی کم و کوتاه هست) نیروی mid هم نداریم براش ...
۲ تا junior که در حال پیاده‌سازی فیچر هستند و من که هم بخش AI رو دارم هم کارهای خودم و هم review کدهای این افراد و پروژه رو

ویژگی‌های عالی این فرد :

۱- دقیق سوال می‌پرسه و سریع متوجه میشه
۲- فوق‌العاده سریع کد میزنه و فیچر اضافه می‌کنه
۳- اخلاق خیلی خوبی داره

مشکلاتی که نمیذاره promote بگیره (من تا حالا ۴ سری کد تحویل گرفتم ازش و این موارد رو دیدم) :

۱- استارتاپی کد میزنه (فقط کار رو انجام میده کدهاش ولی اطمینانی بهش نیست)
ی اصطلاح دیگه هم دارم : دانشجو میزنه تقریباً همین هست ولی، بیزینس رو هم نمیدونه و تازه از دانشگاه اومده.

۲- آپدیت نیست (سفارش پروژه روی پایتون ۳.۸ بوده و این آدم پایتون ۳ رو بلده) بعضی از فیچرهای پروژه پیاده شده قبلاً و باید آپدیت بشه اما فکر می‌کنه آپدیت پکیج‌ها و اجرا شدن کد روی ۳.۸ کفایت می‌کنه

مثال :

ی بخشی از کد که همین امروز دیدمش ۶ تا if تو در تو بوده قبلاً شرایط طول خروجی و نوعش و مقدار آیتم‌ها رو چک می‌کنه و بعد بسته به این‌ها خروجی میده و این مورد ۸ تا داریم (۸ حالت)
این مورد رو همینطوری فرستاده درحالی که حداقلش این بود که این رو به
match-case
تبدیل می‌کرد بجای if-else

۳- استارتاپی بودن و یادگیری قدیمی باعث شده خیلی چیزهارو ندونه نتونه تست کنه.

مثلاً:
قبلاً توی تیم backend با django کد می‌زده الان توی تیم ما برای کار با دیتابیس ۳ تا حالت داریم :
psycopg2, sqlalchemy, fastapi
که fastapi هم از ۲ تای اول استفاده می‌کنه در نهایت

طراحی دیتابیس در اومده و بصورت کامل مشخص هست چه table, column هایی لازم هست، پیاده‌سازی کرده و کدهاش درست هم کار می‌کنه اما

توی django وقتی تغییری توی دیتابیس میخوای انجام بشه یک دستوری داریم به اسم
migration
که تیم جنگو خودش آماده کرده، ولی
sqlalchemy , ...
اینکارو نمی‌کنه و همچین وظیفه‌ای نداره فقط اگر ببینه دیتابیس این جدول‌هارو نداره ایجاد می‌کنه اما اگر جدول از قبل وجود داشته باشه دست نمیزنه بهش با روش ایشون اگر کد بیوفته دست junior و یک ستون به جدول اضافه بشه، طرف میره table دیتابیس رو پاک می‌کنه احتمالاً (ممکنه فکر کنه دیتا کم اهمیت هست که migrate براش ایجاد نشده)

درحالی که باید از package های مناسب مثل alembic استفاده میکرد.


در نهایت بهش این موارد رو گفتم و گفتم که آدم وابسته و منتظری هست، اگر بهش گفته بشه چیکار کن انجامش میده وگرنه همون روش همیشگی، هیچوقت کدهایی که mid - senior از کارش درست کرده و فرستاده روی repo اصلی رو نخونده، برعکس ذهنیت مدرسه‌ای که داره پیشنهاد من این بود هم خودش رو آپدیت کنه بصورت درست هم سورس کدهایی که زده و ادیت خورده رو بخونه، درنهایت کار خودش رو توی حالات مختلف deploy , اجرا تست کنه و چیزی رو دور نزنه.
👍4720👏1
دستاوردهای یادگیری عمیق(InTec)
#تجربه این متن طولانی هست برای اونهایی که میخوان پیشرفت کنند ی نیروی جدید توی تیم من وارد شده Backend developer حدود ۱ ماه و ۲ سالی میشه که توی شرکت هست : هم python کد میزنه هم nodejs همین الان که خیلی ناراحت بود، ازم پرسید چطوری promote بگیرم ؟ یا…
من روی repo های شرکت برای تیم خودم یک سری کد استاندارد می‌ذارم

البته این برای خودم بود اول :

شاید گفتنش به ضرر خودم باشه ولی خب باید گفت

حقیقت اینه که انقدر تکنولوژی و پکیج‌های زیادی رو کار می‌کنم که اگر یکی رو ۲ ماه کار نکنم یادم میره, خوندن یک پروژه استانداردی که قبلاً زدم باعث میشه توی ۱-۲ روز بتونم دوباره کار رو دست بگیرم.

این فراموش کردن (عمدی هست و یک ویژگی تمرین شده) خیلی بهم کمک هم می‌کنه و همیشه برای تغییر به سمت بهبود openmind هستم
تا دلتون بخواد convention هم بهم ریختم و خیلی وقتا ازم تشکر هم شده

(یادم باشه حتماً ی نمونه django که اواخر پیش اومده برام رو میگم)

برای این پروژه هم همچین کاری رو دارم روی FastApi می‌کنم اگر وقت اجازه بده حتماً یک پروژه ساده میزنم و روی github میذارم شاید بدرد کس دیگه‌ای هم خورد (شایدم همین روند رو برای خیلی چیزا ادامه بدم بعدش 🤔)
👍33😍10🎉21🤔1
دستاوردهای یادگیری عمیق(InTec)
من روی repo های شرکت برای تیم خودم یک سری کد استاندارد می‌ذارم البته این برای خودم بود اول : شاید گفتنش به ضرر خودم باشه ولی خب باید گفت حقیقت اینه که انقدر تکنولوژی و پکیج‌های زیادی رو کار می‌کنم که اگر یکی رو ۲ ماه کار نکنم یادم میره, خوندن یک پروژه…
#django
این چیزی هست که تیم‌ها و بچه‌های سنیور django بمن گفتند رعایت کنم ۲ تا فایل settings جدا یکی برای deploy و یکی برای local develop
اما من با این روش کلی مشکل دارم :

1- روی ریپازیتوری فقط deploy ر. میذارن و فایل local رو قرار نمیدن
این خودش ی مشکل اساسی هست کار تیمی که نیروی جدید تیم توسعه توش باید دنبال settings local بگرده و از نیروهای قدیمی بگیره بدرد نمیخوره.

2- خود settings.py نسخه سرور ایراد داره : نکته اینه که اطلاعات حساس داخل settings.py قرار میگیره مثل پسورد دیتابیس و ...
دو حالت داره از .env استفاده بشه یا نشه :
اگر نشه :
کل پروژه مشکل امنیت داره و بدرد نمیخوره
اگر بشه :
پس چرا ۲ تا فایل settings.py داریم ؟ برای افرادی که django کار نیستن (تقریبا همه تیم‌های دیگه) کاملا گیج کننده هست و باعث خیلی خرابکاری‌ها.
👍11❤‍🔥1
#django
راهکار استفاده درست از .env
توقع اینه که همیشه .env موجود باشه چه برای develop چه deploy چیزی که توی AI - ML - NodeJs - Go , ... مرسوم هست.
من این مدلی کد میزنم :
یک متغییر به اسم ENVIRONMENT در نظر میگیرم توی env. اگر مقدارش develop بود settings.py رو روی حالت develop تنظیم می‌کنم اگر نه برای deploy آماده میشه

همه‌ی موارد دیگه هم بر اساس .env تنظیم میشه مثال‌های بالا هم نحوه default نوشتن رو گفتم (اگر .env اون متغییر رو نداشت) هم تنظیم کردن بر اساس .env

اینجوری نیروی DevOps - Develop یا هرکس دیگه‌ای که بخواد کار کنه با پروژه فقط ۱ فایل که همیشه مرسوم هست رو باید مقدار بهش بده
.env
اونم بر اساس
sample.env
که موجود هست خیلی راحت انجام میشه
👍15
تفاوت نسخه های مختلف پایتون (داکر) و البته تاثیرش روی سایز image نهایی (عکس رو باز کنید) :

نسخه‌ای که من از بچه‌ها گرفتم درنهایت سایز image اش به 1.3GB میرسید
نسخه‌ای که من برای چک کردن کدها و توسعه استفاده کردم 241MB هست و نسخه‌ای که برای deploy تحویل دادم 153MB (روش multistage که قبلا راجبش توضیح دادم توی زبان‌هایی مثل Go lang)

علاوه بر کم کردن هزینه و مزایایی سریعتر up شدن و ... که میدونید
cloud provider
شرکت بابت نگهداری از این image ها (زیر ۲۵۰ مگ) هیچ هزینه‌ای نمیگیره و حتی بابت نسخه تست هم (رم و cpu کم) هیچ هزینه‌ای نداره.
👍16🤯31
دستاوردهای یادگیری عمیق(InTec)
۲ روز طول کشید؛ ولی ۵ سرویس رو از ابرآروان جابجا کردیم. چون به این باور رسیدیم که این پول خرج سرکوب و خفه کردن صدای دیگران میشه علاوه بر اون پولی که هزینه میکنیم باعث میشه #ابرآروان به درآمدی برسه که بتونه روی بستن اینترنت سرمایه گذاری کنه چیزی که روزانه…
اینو یادتون هست ؟
۵ تا سرویس رو تو ۲روز کامل از ابر آروان جابجا کردیم

ی سری پیام دادن مسخره کردن و ...
که با اینکارا ابرآروان برشکست نمی‌شه و ...


حالا اومده میگه، تورو خدا راهی داری ما همه‌ی دیتاهامون پریده (دسترسی همه به سرورهای خارج از ایران همون ساعت تحریم بسته شد)

براش زدم، توی دنیا موازی که جمهوری اسلامی قاتل نیست
توی همون دنیایی که صدای ظالم نیست

الان می‌تونستی بجای گریه کردن، فکر به تخته کردن شرکتت از ابرآروان شکایت کنی و خسارت بگیری.
👍687👎3
دستاوردهای یادگیری عمیق(InTec)
اینو یادتون هست ؟ ۵ تا سرویس رو تو ۲روز کامل از ابر آروان جابجا کردیم ی سری پیام دادن مسخره کردن و ... که با اینکارا ابرآروان برشکست نمی‌شه و ... حالا اومده میگه، تورو خدا راهی داری ما همه‌ی دیتاهامون پریده (دسترسی همه به سرورهای خارج از ایران همون ساعت…
ی نکته دیگه اضافه کنم :

هرجا که مسئول مصاحبه یا استخدام باشم

از کسایی که توی ابرآروان کار می‌کنند جوری مصاحبه میگیرم که حتماً طرف fail بشه (بدون تعارف)

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

برای تیم خودم هم سابقه بیمه افراد رو میگیرم 😊

پیشنهاد می‌کنم شما هم همینکارو بکنید.

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

ایلان، ما ایرانی‌ها خیلی خیلی قبل‌تر به این نتیجه رسیدیم.
👍67👎137👏3
الان تو یکی از گروها درحال خوندن بودم
دیدم یک دوستی دیتای سایت رو کرال کرده و حالا از طرف سایت داره تهدید میشه که دیتارو پاک کنه وگرنه شکایت می‌کنند و ...

دلیلشونم اینه که توی قوانین سایت نوشتند کرال ممنوع هست.

من چون ۱-۲ سال قبل شخصاً درگیر موضوعی بودم که این هم بخشی از داستان بود اعلام می‌کنم

طبق قوانین حاکم بر کشور،
هیچ سایت و برنامه و .... ایی نمی‌تونه بابت کرال شدن از شما شکایت کنه
حتی اگر صفحات رو بصورت کرال شده در اختیار دیگران بذارید (فقط دقت کنید این صفحات خصوصی نباشه یا شامل دیتای خریدنی نباشه، صفحات عمومی بطور کلی)

بعنوان مثال :

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

قوانین کشور میگه کرال سایت عمومی هیچ مانع قانونی نداره و شما حق اینکار رو دارید

خلاصه که از هر تهدیدی نترسید 😉
👍68
از جوانرود و ...
تصاویر و فیلم‌هایی منتشر میشه

که حتی نگاه کردن یا پخش کردنش هم دل شیر میخواد

ولی گونه‌ای موجود وجود دارند
که به اسم دینِ عطوفت و مهربانی و پیامبر محبت و رحمت
دارن جنایت می‌کنند.


همه چیز به منافع بستگی داره دین فقط وسیله‌اس (شایدم پله)

پ.ن : کامنت نذارید (بحث نکنید)
😢48👍24👎15
دستاوردهای یادگیری عمیق(InTec)
.tmux.conf
#Quick
این کانفیگ (بخش کیبورد و موس) tmux من هست
یکی از دوستان پیشنهاد داد چون از ctrl+a برای رفتن به اول دستور توی ترمینال استفاده میشه این کلید خوب نیست برای tmux باشه

بنظرم ctrl+x گزینه خوبی هست اگر قبلا تست نگرفتید این رو استفاده کنید
۳ خط اول بجای
C-a
ها از
C-x
استفاده کنید
👍5
match case
ازون قابلیت‌های جذابی هست که توی پایتون 3.10 اضافه شد.
بجای if های تودرتو یا استفاده از and, or توی شرطها میتونید از match case استفاده کنید.

خوانایی برنامه بسیار بسیار بالا میره (مثال بسیار ساده بالا)
پ.ن : اگر نیاز داشتید نوع داده هرکدوم رو هم چک کنید حتما از dataclass استفاده کنید.
👍31🔥71