Forwarded from یادگیری ماشین با چاشنی صنعت (Abolfazl 🤘)
چرا مهندسی نرم افزار؟
تمام آن چه که ما نیاز داریم برای پیشرفت تو صنعت مهندسی نرم افزاره. نه زبان و نه فریمورک و نه ابزار.
مهندسی نرم افزار یعنی اون چیزی که تو دانشگاه یاد میگیریم. یعنی انتخاب بهترین سولوشن نسبت به موقعیت.
مهندسی نرم افزار به این معنی نیست که هر چی قلمبه سلمبه تر کار کنی و پیچیدگی رو بیشتر کنی آدم خفن تری هستی!
بلکه دقیقا به این معنیه که پیچیدگی رو کم کنی و نسبت به موقعیت بهترین متدولوژی رو ارائه بدی..
حالا تو این میان هر چی ابزار بیشتر بدونی راحت تر کارت رو راه میندازی.
از این به بعد اینو هر روز با خودم تکرار میکنم، توصیه میکنم شما هم تکرارش کنید😁:
مهندسی نرم افزار، یعنی علم چگونگی حل مشکل در یک موقعیت خاص به شکل بهینه.
تمام آن چه که ما نیاز داریم برای پیشرفت تو صنعت مهندسی نرم افزاره. نه زبان و نه فریمورک و نه ابزار.
مهندسی نرم افزار یعنی اون چیزی که تو دانشگاه یاد میگیریم. یعنی انتخاب بهترین سولوشن نسبت به موقعیت.
مهندسی نرم افزار به این معنی نیست که هر چی قلمبه سلمبه تر کار کنی و پیچیدگی رو بیشتر کنی آدم خفن تری هستی!
بلکه دقیقا به این معنیه که پیچیدگی رو کم کنی و نسبت به موقعیت بهترین متدولوژی رو ارائه بدی..
حالا تو این میان هر چی ابزار بیشتر بدونی راحت تر کارت رو راه میندازی.
از این به بعد اینو هر روز با خودم تکرار میکنم، توصیه میکنم شما هم تکرارش کنید😁:
مهندسی نرم افزار، یعنی علم چگونگی حل مشکل در یک موقعیت خاص به شکل بهینه.
👍22
Media is too big
VIEW IN TELEGRAM
✅مصاحبه با مهندس امیر موسوی برنامه نویس ارشد دات نت شرکت Utravs - هنرستان دبیریان نازی آباد تهران
✔️نکاتی که گفتن ارتباطی به زبان برنامه نویسی خاصی نداره و برای همه برنامه نویس های تازه کار میتونه مفید باشه
توی این ویدئو با هماهنگی هنرستان شهید دبیریان واقع در محله نازی آباد تهران
و سر کلاس دوازدهم تجارت الکترونیک با ایشون مصاحبه داشتم.
✔️مهندس موسوی هنرستانی بودن
سوالهای زیر رو ازشون پرسیدیم:
-چه شرکتهایی کار کردید
-رمز موفقیت شما چی بوده
-آیا مدرسه دانشگاه و... میتونه در برنامه نویس خوب شدن کمک کنه
-نظر شما در مورد هوش مصنوعی چیه
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردین چه توصیه هایی بهشن می کردید
-اگر برمیگشتن به دوران انتخاب رشته و کنکور آیا از طریق رشته ریاضی و دانشگاه ادامه میدادن یا دوباره با کنکور فنی میرفتن
- کجا واسه کاراموزی برن ک توش کار یاد بگیرن
لینک آپارات:
https://www.aparat.com/v/sayb5wu
لینک یوتیوب:
https://youtu.be/QeV73QCwmE0
✔️نکاتی که گفتن ارتباطی به زبان برنامه نویسی خاصی نداره و برای همه برنامه نویس های تازه کار میتونه مفید باشه
توی این ویدئو با هماهنگی هنرستان شهید دبیریان واقع در محله نازی آباد تهران
و سر کلاس دوازدهم تجارت الکترونیک با ایشون مصاحبه داشتم.
✔️مهندس موسوی هنرستانی بودن
سوالهای زیر رو ازشون پرسیدیم:
-چه شرکتهایی کار کردید
-رمز موفقیت شما چی بوده
-آیا مدرسه دانشگاه و... میتونه در برنامه نویس خوب شدن کمک کنه
-نظر شما در مورد هوش مصنوعی چیه
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردین چه توصیه هایی بهشن می کردید
-اگر برمیگشتن به دوران انتخاب رشته و کنکور آیا از طریق رشته ریاضی و دانشگاه ادامه میدادن یا دوباره با کنکور فنی میرفتن
- کجا واسه کاراموزی برن ک توش کار یاد بگیرن
لینک آپارات:
https://www.aparat.com/v/sayb5wu
لینک یوتیوب:
https://youtu.be/QeV73QCwmE0
👏7❤2🤮1
✅Partial Functions در پایتون چیه
با این توابع که با استفاده از partial از ماژول functools میشه ساختشون.
می تونیم تعداد مشخصی از آرگومان های تابع را با مقادیر مشخصی تعیین کنیم و تابع جدیدی بسازیم.
مثال:
یک تابع برای ارسال ایمیل با مقادیر پیشفرض مانند "از" و "موضوع":
این مثال شاید زیاد کاربردی نبود.
اگه شما کاربرد درست partial رو میدونید، ممنون میشم توی کامنت بنویسید.
با این توابع که با استفاده از partial از ماژول functools میشه ساختشون.
می تونیم تعداد مشخصی از آرگومان های تابع را با مقادیر مشخصی تعیین کنیم و تابع جدیدی بسازیم.
مثال:
یک تابع برای ارسال ایمیل با مقادیر پیشفرض مانند "از" و "موضوع":
from functools import partial
def send_email(from_address, to_address, subject, body):
print(f'Sending email from {from_address} to {to_address}')
print(f'Subject: {subject}')
print(f'Body: {body}')
send_marketing_email = partial(send_email, from_address='marketing@example.com', subject='Our New Product')
send_marketing_email(to_address='customer@example.com', body='Check out our new product!')
این مثال شاید زیاد کاربردی نبود.
اگه شما کاربرد درست partial رو میدونید، ممنون میشم توی کامنت بنویسید.
🤔5👍3
✅ویس های ادامه دار از کتاب Designing data-intensive applications
با ارائه عثمان
@osman_makhtoom
✔️این مفاهیم ارتباطی به زبان برنامه نویسی ندارن. لکن و من الله التوفیق
ویس اول- بخشی از مقدمه کتاب
https://t.me/osmanmakhtoomdev/76
ویس دوم- بخش دوم و پایانی مقدمه کتاب
https://t.me/osmanmakhtoomdev/79
ویس سوم- مقدمه بخش اول کتاب
https://t.me/osmanmakhtoomdev/80
ویس چهارم- بخش اول کتاب
https://t.me/osmanmakhtoomdev/85
ویس پنجم- تفکر در خصوص دیتا سیستم ها و دیزاین درست دیتا سیستم و شرایطی که دیزاین ما وابسته به اوناست.
https://t.me/osmanmakhtoomdev/95
ویس ششم- مفهوم قابل اعتماد بودن اپلیکیشن و ی سافت اسکیل مهم.
https://t.me/osmanmakhtoomdev/96
ویس هفتم- انواع خطاها
https://t.me/osmanmakhtoomdev/97
ویس هشتم- مقدمه قابلیت مقیاس پذیری
https://t.me/osmanmakhtoomdev/98
ویس نهم- توصیف لود
https://t.me/osmanmakhtoomdev/99
ویس دهم- توصیف پرفورمنس (پارت اول)
https://t.me/osmanmakhtoomdev/111
با ارائه عثمان
@osman_makhtoom
✔️این مفاهیم ارتباطی به زبان برنامه نویسی ندارن. لکن و من الله التوفیق
ویس اول- بخشی از مقدمه کتاب
https://t.me/osmanmakhtoomdev/76
ویس دوم- بخش دوم و پایانی مقدمه کتاب
https://t.me/osmanmakhtoomdev/79
ویس سوم- مقدمه بخش اول کتاب
https://t.me/osmanmakhtoomdev/80
ویس چهارم- بخش اول کتاب
https://t.me/osmanmakhtoomdev/85
ویس پنجم- تفکر در خصوص دیتا سیستم ها و دیزاین درست دیتا سیستم و شرایطی که دیزاین ما وابسته به اوناست.
https://t.me/osmanmakhtoomdev/95
ویس ششم- مفهوم قابل اعتماد بودن اپلیکیشن و ی سافت اسکیل مهم.
https://t.me/osmanmakhtoomdev/96
ویس هفتم- انواع خطاها
https://t.me/osmanmakhtoomdev/97
ویس هشتم- مقدمه قابلیت مقیاس پذیری
https://t.me/osmanmakhtoomdev/98
ویس نهم- توصیف لود
https://t.me/osmanmakhtoomdev/99
ویس دهم- توصیف پرفورمنس (پارت اول)
https://t.me/osmanmakhtoomdev/111
👏4👍2❤1
✅معرفی پکیج جنگویی
برای اضافه کردن لاگین با گوگل، فیس بوک، گیت هاب و...
به سایت خودتون می تونید از پکیج social-auth-app-django استفاده کنید.
لینک pypi:
https://pypi.org/project/social-auth-app-django/
لینک گیت هاب:
https://github.com/python-social-auth/social-app-django
لینک داکیومنتش:
https://python-social-auth.readthedocs.io/en/latest/intro.html
✔️فریمورک های زیر رو هم ساپورت میکنه:
Django
Flask
Pyramid
Webpy
Tornado
✔️آپدیت هم هست. و افراد زیادی روش کار کردن. 131 ایشو باز داره و 167 تا ایشو کلوز شده داره.
برای اضافه کردن لاگین با گوگل، فیس بوک، گیت هاب و...
به سایت خودتون می تونید از پکیج social-auth-app-django استفاده کنید.
لینک pypi:
https://pypi.org/project/social-auth-app-django/
لینک گیت هاب:
https://github.com/python-social-auth/social-app-django
لینک داکیومنتش:
https://python-social-auth.readthedocs.io/en/latest/intro.html
✔️فریمورک های زیر رو هم ساپورت میکنه:
Django
Flask
Pyramid
Webpy
Tornado
✔️آپدیت هم هست. و افراد زیادی روش کار کردن. 131 ایشو باز داره و 167 تا ایشو کلوز شده داره.
👍6
✅12factor
قبلا توی این پست در موردش نوشتم:
https://t.me/djangolearn_ir/78
اما بازم امروز از از Sider Fusion پرسیدم 12factor چیه؟ و ctrl + c بعدش ctrl + v 😁
یک سری اصول و الگوهایی است که برای توسعه و استقرار برنامههای وب مدرن طراحی شدهاند. هدف آن کمک به توسعهدهندگان نرمافزار برای ساخت برنامههایی است که مقیاسپذیر، پایدار و قابل نگهداری باشند. این اصول عبارتند از:
Codebase:
یک برنامه باید بر اساس یک کدبیس (codebase) واحد باشد که میتواند در محیطهای متفاوت مانند توسعه، آزمایش و تولید عمل کند.
Dependencies:
برنامه باید تمام وابستگیها را بهطور واضح تعیین کرده و مستقل از سیستم عامل و محیط اجرا شود.
Config:
پیکربندیها باید خارج از کد اصلی برنامه (در محیط) قرار گیرند تا قابلیت تغییر و مدیریت آسانتر شود.
Backing services:
هرگونه خدمات پشتیبان (مانند پایگاه داده، پیامرسان و ...) باید بهعنوان منابعی از نوعی وابستگی در نظر گرفته شوند و راحت قابل تعویض باشند.
Build, release, run:
فرآیند توسعه باید به مرحله ساخت، انتشار و اجرا تفکیک شود.
Processes:
برنامهها باید بهصورت پروسههای بدون حفظ حالت (stateless) اجرا شوند.
Port binding:
برنامه باید به طور مستقل به پورتها متصل شود و نیازی به خدمات خارجی برای راهاندازی نداشته باشد.
Concurrency:
برنامه باید از ویژگی همزمانی (concurrency) به خوبی بهرهبرداری کند.
Disposability:
برنامهها باید بهراحتی و سریع خاموش و روشن شوند.
Dev/prod parity:
محیطهای توسعه و تولید باید مشابه یکدیگر باشند تا مشکلات ناشی از تفاوتها کاهش یابد.
Logs:
لاگها باید بهعنوان جریانی از رویدادها در نظر گرفته شوند و بهصورت مرکزی مدیریت شوند.
Admin processes:
کارهای اداری و مدیریتی باید بهصورت برنامههای یکباره (one-off) قابل اجرا باشند و بهطور جداگانه از جریان اصلی برنامه اجرا شوند.
این اصول باعث میشوند که توسعهدهندگان برنامههایی بسازند که نگهداری از آنها سادهتر است و میتوانند به راحتی مقیاس پذیر شوند.
قبلا توی این پست در موردش نوشتم:
https://t.me/djangolearn_ir/78
اما بازم امروز از از Sider Fusion پرسیدم 12factor چیه؟ و ctrl + c بعدش ctrl + v 😁
یک سری اصول و الگوهایی است که برای توسعه و استقرار برنامههای وب مدرن طراحی شدهاند. هدف آن کمک به توسعهدهندگان نرمافزار برای ساخت برنامههایی است که مقیاسپذیر، پایدار و قابل نگهداری باشند. این اصول عبارتند از:
Codebase:
یک برنامه باید بر اساس یک کدبیس (codebase) واحد باشد که میتواند در محیطهای متفاوت مانند توسعه، آزمایش و تولید عمل کند.
Dependencies:
برنامه باید تمام وابستگیها را بهطور واضح تعیین کرده و مستقل از سیستم عامل و محیط اجرا شود.
Config:
پیکربندیها باید خارج از کد اصلی برنامه (در محیط) قرار گیرند تا قابلیت تغییر و مدیریت آسانتر شود.
Backing services:
هرگونه خدمات پشتیبان (مانند پایگاه داده، پیامرسان و ...) باید بهعنوان منابعی از نوعی وابستگی در نظر گرفته شوند و راحت قابل تعویض باشند.
Build, release, run:
فرآیند توسعه باید به مرحله ساخت، انتشار و اجرا تفکیک شود.
Processes:
برنامهها باید بهصورت پروسههای بدون حفظ حالت (stateless) اجرا شوند.
Port binding:
برنامه باید به طور مستقل به پورتها متصل شود و نیازی به خدمات خارجی برای راهاندازی نداشته باشد.
Concurrency:
برنامه باید از ویژگی همزمانی (concurrency) به خوبی بهرهبرداری کند.
Disposability:
برنامهها باید بهراحتی و سریع خاموش و روشن شوند.
Dev/prod parity:
محیطهای توسعه و تولید باید مشابه یکدیگر باشند تا مشکلات ناشی از تفاوتها کاهش یابد.
Logs:
لاگها باید بهعنوان جریانی از رویدادها در نظر گرفته شوند و بهصورت مرکزی مدیریت شوند.
Admin processes:
کارهای اداری و مدیریتی باید بهصورت برنامههای یکباره (one-off) قابل اجرا باشند و بهطور جداگانه از جریان اصلی برنامه اجرا شوند.
این اصول باعث میشوند که توسعهدهندگان برنامههایی بسازند که نگهداری از آنها سادهتر است و میتوانند به راحتی مقیاس پذیر شوند.
Telegram
جنگولرن
✅ پترن یا متدولوژی ۱۲ فاکتور چیه؟
The Twelve Factors
توی لینک زیر آقای محمد قدسیان این ۱۲ اصل رو خیلی ساده و قشنگ توضیح دادن.
از گیت هاب https://github.com/arocks و ریپو edge به این ۱۲ اصل رسیدم.
✔ لینک مقاله فارسی در ویرگول:
https://virgool.io/@moham…
The Twelve Factors
توی لینک زیر آقای محمد قدسیان این ۱۲ اصل رو خیلی ساده و قشنگ توضیح دادن.
از گیت هاب https://github.com/arocks و ریپو edge به این ۱۲ اصل رسیدم.
✔ لینک مقاله فارسی در ویرگول:
https://virgool.io/@moham…
❤2✍1
جنگولرن
✅12factor قبلا توی این پست در موردش نوشتم: https://t.me/djangolearn_ir/78 اما بازم امروز از از Sider Fusion پرسیدم 12factor چیه؟ و ctrl + c بعدش ctrl + v 😁 یک سری اصول و الگوهایی است که برای توسعه و استقرار برنامههای وب مدرن طراحی شدهاند. هدف آن کمک…
✅فاکتور چهارم: Backing services
توضیحات از ویرگول Mohammad Ghodsian که لینکش بالاتر هست:
منظور از Backing services هر سرویسیه که برنامه حین روند طبیعی خودش از اونا استفاده میکنه. مثل دیتابیسها، راههای ارتباطی و سازوکارهای پیاممحور (مثل ربیت یا حتی وبهوکها)، چیزایی مثل سیستمِ کشینگ (مثل Memcached) یا هر سرویس دیگهای که برنامه باهاش سر و کار داره. تمامی این سرویسها باید روی بستر شبکه مثلاً به کمک آدرسدهی http قابل دسترس باشن، و تعیینکننده آدرس یا نحوه ارتباط همون کانفیگیه که به عنوان فاکتور سوم باهاش آشنا شدیم. عملاً هر کدوم از این موارد به عنوان ریسورس برنامه شناخته میشن، و چقدر خوبه که برنامه طوری نوشته شده باشه که اگه سیستم مَسِیجینگ خواست تغییر بکنه (مثلا از RabbitMQ به ZeroMQ) حتیالمقدور با یه تغییر توی کانفیگ این امر محقق بشه (طبیعتاً نمیشه همه حالات مختلف رو در نظر گرفت ولی حدأقل میشه توی کد در نظر گرفت لایهای که مثلاً وظیفه مسیجینگ رو مدیریت میکنه با کمتری تغییر ممکنه و به سرعت بتونه تغییرات لازمه رو اعمال کنه). یا به عنوان یه مثال دیگه، اگه به هر دلیلی مثلاً ادمین سیستم خواست دیتابیس رو تغییر بده (فرض کنید مشکلی برای دیتابیس فعلی بوجود اومده و برنامه خواست روی یه بکآپی که از دیتابیس قبلی گرفته شده و روی دیتابیس جدید نشسته ران بشه) نباید هیچ مشکلی بابت این قضیه بوجود بیاد و تغییر کد خاصی نباید صورت بگیره. این مورد نه فقط روی ورژن نهایی برنامه، بلکه در مورد تمامی deployهای برنامه صدق میکنه، به این مفهوم که برنامه نباید توی برنچها یا ورژنای مختلف، عملکردای متفاوتی نسبت به محیطی که داره روش ران میشه داشته باشه و اکثر عملکردها تنها وابستگیشون به ریسورسهاشون (که اینجا منظورمون همون backing service ها) هست باید صرفاً اطلاعاتی باشه که از کانفیگ و پارامترای سیستمی دریافت میکنن.
توضیحات از ویرگول Mohammad Ghodsian که لینکش بالاتر هست:
منظور از Backing services هر سرویسیه که برنامه حین روند طبیعی خودش از اونا استفاده میکنه. مثل دیتابیسها، راههای ارتباطی و سازوکارهای پیاممحور (مثل ربیت یا حتی وبهوکها)، چیزایی مثل سیستمِ کشینگ (مثل Memcached) یا هر سرویس دیگهای که برنامه باهاش سر و کار داره. تمامی این سرویسها باید روی بستر شبکه مثلاً به کمک آدرسدهی http قابل دسترس باشن، و تعیینکننده آدرس یا نحوه ارتباط همون کانفیگیه که به عنوان فاکتور سوم باهاش آشنا شدیم. عملاً هر کدوم از این موارد به عنوان ریسورس برنامه شناخته میشن، و چقدر خوبه که برنامه طوری نوشته شده باشه که اگه سیستم مَسِیجینگ خواست تغییر بکنه (مثلا از RabbitMQ به ZeroMQ) حتیالمقدور با یه تغییر توی کانفیگ این امر محقق بشه (طبیعتاً نمیشه همه حالات مختلف رو در نظر گرفت ولی حدأقل میشه توی کد در نظر گرفت لایهای که مثلاً وظیفه مسیجینگ رو مدیریت میکنه با کمتری تغییر ممکنه و به سرعت بتونه تغییرات لازمه رو اعمال کنه). یا به عنوان یه مثال دیگه، اگه به هر دلیلی مثلاً ادمین سیستم خواست دیتابیس رو تغییر بده (فرض کنید مشکلی برای دیتابیس فعلی بوجود اومده و برنامه خواست روی یه بکآپی که از دیتابیس قبلی گرفته شده و روی دیتابیس جدید نشسته ران بشه) نباید هیچ مشکلی بابت این قضیه بوجود بیاد و تغییر کد خاصی نباید صورت بگیره. این مورد نه فقط روی ورژن نهایی برنامه، بلکه در مورد تمامی deployهای برنامه صدق میکنه، به این مفهوم که برنامه نباید توی برنچها یا ورژنای مختلف، عملکردای متفاوتی نسبت به محیطی که داره روش ران میشه داشته باشه و اکثر عملکردها تنها وابستگیشون به ریسورسهاشون (که اینجا منظورمون همون backing service ها) هست باید صرفاً اطلاعاتی باشه که از کانفیگ و پارامترای سیستمی دریافت میکنن.
✍1
جنگولرن
✅فاکتور چهارم: Backing services توضیحات از ویرگول Mohammad Ghodsian که لینکش بالاتر هست: منظور از Backing services هر سرویسیه که برنامه حین روند طبیعی خودش از اونا استفاده میکنه. مثل دیتابیسها، راههای ارتباطی و سازوکارهای پیاممحور (مثل ربیت یا حتی وبهوکها)،…
✅معرفی پکیج جنگویی dj-database-url
در راستای فاکتور Backing services
✔️این پکیج کاری میکنه که اطلاعات مربوط به اتصال به دیتابیس رو به سادگی از یه URL بگیریم. بهجای استفاده از سری متغیرهای جداگانه (مثل NAME، USER، PASSWORD، HOST، PORT) با یه URL کارمون راه میافته.
✔️توی توضیحات خودش متن زیر رو نوشته، لذا لازم شد قبلش اشاره کنم به 12factor:
This simple Django utility allows you to utilize the 12factor inspired DATABASE_URL environment variable to configure your Django application.
لینک pypi:
https://pypi.org/project/dj-database-url/
لینک گیت هاب:
https://github.com/jazzband/dj-database-url
✔️آپدیت هم هست. و افراد زیادی روش کار کردن. 3 ایشو باز داره و 97 تا ایشو کلوز شده داره.
در راستای فاکتور Backing services
✔️این پکیج کاری میکنه که اطلاعات مربوط به اتصال به دیتابیس رو به سادگی از یه URL بگیریم. بهجای استفاده از سری متغیرهای جداگانه (مثل NAME، USER، PASSWORD، HOST، PORT) با یه URL کارمون راه میافته.
✔️توی توضیحات خودش متن زیر رو نوشته، لذا لازم شد قبلش اشاره کنم به 12factor:
This simple Django utility allows you to utilize the 12factor inspired DATABASE_URL environment variable to configure your Django application.
لینک pypi:
https://pypi.org/project/dj-database-url/
لینک گیت هاب:
https://github.com/jazzband/dj-database-url
✔️آپدیت هم هست. و افراد زیادی روش کار کردن. 3 ایشو باز داره و 97 تا ایشو کلوز شده داره.
✍2👍2❤1🔥1
یه تخفیف واقعی و خیلی خوب برای پکیج برنامه نویسی پایتون دانشجویار
اون 15 میلیون شده 1.5 رو نادیده بگیرید. همه دارن این کارو میکنن
✔️فارغ از اینکه یکی از دوره های خودم هم توی پکیج هست، ولی واقعا این همه آموزش خیلی بیشتر از 1 و 500 ارزش دارن.
به نظرم از دست ندید
توی لینک زیر پیداش کنید:
https://www.daneshjooyar.com/blackfriday
به نظرم از دست ندید
اون 15 میلیون شده 1.5 رو نادیده بگیرید. همه دارن این کارو میکنن
✔️فارغ از اینکه یکی از دوره های خودم هم توی پکیج هست، ولی واقعا این همه آموزش خیلی بیشتر از 1 و 500 ارزش دارن.
به نظرم از دست ندید
توی لینک زیر پیداش کنید:
https://www.daneshjooyar.com/blackfriday
به نظرم از دست ندید
👍7👎4🔥3
جنگولرن
یه تخفیف واقعی و خیلی خوب برای پکیج برنامه نویسی پایتون دانشجویار اون 15 میلیون شده 1.5 رو نادیده بگیرید. همه دارن این کارو میکنن ✔️فارغ از اینکه یکی از دوره های خودم هم توی پکیج هست، ولی واقعا این همه آموزش خیلی بیشتر از 1 و 500 ارزش دارن. به نظرم از دست…
با این تخفیف
دوره من شده کمتر از 190 هزار تومن 😱
بیش از 25 ساعت ویدئو برای این دوره ضبط کردم
✔️لذا تخفیفش واقعا خوبه
دوره من شده کمتر از 190 هزار تومن 😱
بیش از 25 ساعت ویدئو برای این دوره ضبط کردم
✔️لذا تخفیفش واقعا خوبه
👍12👎2😁2
Media is too big
VIEW IN TELEGRAM
✅مصاحبه با مهندس میلاد غیاث بیگی، معمار نرم افزار و توسعه دهنده ارشد شرکت رایادرس
سر کلاس یازدهم توسعه برنامه سازی و پایگاه داده هنرستان دبیریان نازی آباد تهران
✔️ایشون تکنیکال لید شرکت رسمیو بوده
✔️هنرستانی بودن
لینک آپارات:
https://www.aparat.com/v/fwqf92h
لینک یوتیوب:
https://youtu.be/pW8uud6fFzY
✔️سوالهای زیر رو ازشون پرسیدیم:
چند سال دارید؟
دبیرستان بودید یا هنرستان؟ چه رشته ای؟
چه شرکت هایی کار کردید و چه سمتی داشتید؟
رمز موفقیت شما چی بوده؟
آیا مدرسه، دانشگاه میتونه به برنامه نویس خوب شدن کمک کنه؟
سوال دانش آموزها:
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن؟
-نظر شما در مورد کارآموزی چیه؟
-نظرتون درباره واژه فول استک دولوپر چیه
-بهترین استک یا زبان برنامه نویسی کدومه؟
-چه مهارت یا ابزار یا تکنولوژی هایی لازمه که فارغ از زبان برنامه نویسی یاد بگیریم؟
-من اگه بخوام برنامه نویس بکند بشم. دیکه لازم نیست html css javascript یاد بگیرم؟
✔️ادیت ویدئو: علی اکبر غلامی - پایه یازدهم - رشته شبکه و نرم افزار رایانه
سر کلاس یازدهم توسعه برنامه سازی و پایگاه داده هنرستان دبیریان نازی آباد تهران
✔️ایشون تکنیکال لید شرکت رسمیو بوده
✔️هنرستانی بودن
لینک آپارات:
https://www.aparat.com/v/fwqf92h
لینک یوتیوب:
https://youtu.be/pW8uud6fFzY
✔️سوالهای زیر رو ازشون پرسیدیم:
چند سال دارید؟
دبیرستان بودید یا هنرستان؟ چه رشته ای؟
چه شرکت هایی کار کردید و چه سمتی داشتید؟
رمز موفقیت شما چی بوده؟
آیا مدرسه، دانشگاه میتونه به برنامه نویس خوب شدن کمک کنه؟
سوال دانش آموزها:
-اگر نسخه ۱۸ ساله خودشون رو ملاقات میکردن چه توصیه هایی بهشون میکردن و بهش چیا میگفتن؟
-نظر شما در مورد کارآموزی چیه؟
-نظرتون درباره واژه فول استک دولوپر چیه
-بهترین استک یا زبان برنامه نویسی کدومه؟
-چه مهارت یا ابزار یا تکنولوژی هایی لازمه که فارغ از زبان برنامه نویسی یاد بگیریم؟
-من اگه بخوام برنامه نویس بکند بشم. دیکه لازم نیست html css javascript یاد بگیرم؟
✔️ادیت ویدئو: علی اکبر غلامی - پایه یازدهم - رشته شبکه و نرم افزار رایانه
👍8
جنگولرن
Audio
ضمن تشکر از دوستان
ویس دو تا ویدئو قبلی
این لینک ویدئوها
https://t.me/djangolearn_ir/939
https://t.me/djangolearn_ir/948
ویس دو تا ویدئو قبلی
این لینک ویدئوها
https://t.me/djangolearn_ir/939
https://t.me/djangolearn_ir/948
❤1
Forwarded from کانال دانشجویان آیزیلِرن (Ahmad)
🙋🏽♂️ سلام وقت همگی بخیر!
🔥 همونطور که گفتم قرار بود که یه تخفیف خیلی خوب روی دوره صفر تا قهرمانیِ پایتون اِعمال بشه!
🤝🏼 قیمت با تخفیف:1.599.000 تومان (599.000 تومان)
🎯 کد تخفیف :BF2024
🎯 لینک خرید دوره پایتون: https://zarinp.al/644119
🎯 ظرفیت :50 نفر
------------------
📋 بعد از خرید تصویر رسید رو به آیدی زیر ارسال کنید تا دوره براتون اضافه بشه.
🙋🏻♂️ @izlearn_support
🔥 همونطور که گفتم قرار بود که یه تخفیف خیلی خوب روی دوره صفر تا قهرمانیِ پایتون اِعمال بشه!
🤝🏼 قیمت با تخفیف:
🎯 کد تخفیف :
🎯 لینک خرید دوره پایتون: https://zarinp.al/644119
🎯 ظرفیت :
------------------
📋 بعد از خرید تصویر رسید رو به آیدی زیر ارسال کنید تا دوره براتون اضافه بشه.
🙋🏻♂️ @izlearn_support
👍3👎3❤1
✅تست نویسی رو دستکم نگیرید
از کانال per3onal
برای اینکه تست بنویسید :
خیلی وقت بود جنگو کد نزده بودم و یک سری موارد رو فراموش کرده بودم (مواردی که مربوط میشه فقط و فقط به خود جنگو)
خیلی هم اعتقادی به
حالا نگیم
بگذریم؛ کد رو زدم و تموم شد و با
همه چیز به خوبی کار میکرد که رفتم سراغ تست نویسی؛ همه تستها به خوبی کار میکرد جز یک مورد
یک
من توی این
خلاصهاش کنم:
نهایتا متوجه شدم روی
قبل از اینکه کاستوم شده شما رو اجرا کنه میره چک میکنه آیا دیتا رو اگر بخواد کنه دیتابیس بهش تایید میده یا نه.
(تابع نرمالایز کردن اون فیلد خاص رو من توی مربوط به صدا میزدم؛ چون توی تمام فریمورکهای استاندارد ولید کردن اول باید توی صورت بگیره و محدودیتهای دیتابیس هستند.)
خلاصه که چون توی تستهام از
اگر این تست نبود:
۱- من باقی بخشهای پروژه رو با دیزاینی که باگ داشت کد زده بودم
۲- باگ خودش رو نشون نمیداد مگر توی
۳- درست کردن این باگ حتی اگر برای هفته بعدی هم میافتاد؛ حداقل ۵-۶ روزکاری زمان میبرد تا مشکلش رو بتونیم حل کنیم.
بخاطر حجم داده و حجم کد و
تست نویسی رو دستکم نگیرید واقعا.
از کانال per3onal
برای اینکه تست بنویسید :
خیلی وقت بود جنگو کد نزده بودم و یک سری موارد رو فراموش کرده بودم (مواردی که مربوط میشه فقط و فقط به خود جنگو)
خیلی هم اعتقادی به
TDD
ندارم ولی معتقدم تست نویسی باید باشه؛ حالا که بحثش شد بذار بگم تا همین چندسال قبل بدون TDD
کد نمیزدم؛ اما یک عیب بزرگ داشتم TDD
فقط و فقط وقتی درست عمل میکنه که شما تمام نیاز بیزینس رو بدونی و دقیقا بدونی چطور قراره از سیستم استفاده بشه.حالا نگیم
۱۰۰٪
حداقل ۸۰٪
پروژه رو باید کامل بدونید؛ باگش در اومد دیگه بیزینسی جز بیزینس خودت وجود نداره که ۸۰٪
اش مشخص باشه. تغییرات بسیار است.بگذریم؛ کد رو زدم و تموم شد و با
Insomnia, bruno
تستش کردم (bruno
رو هنوز خیلی بلدش نیستم ولی باید یادبگیرم که خب درحال حاضر وقتش نیست برای همین رکوئستهایی که مهم نیست رو export-import
میزنم بین این دوتا ابزار)همه چیز به خوبی کار میکرد که رفتم سراغ تست نویسی؛ همه تستها به خوبی کار میکرد جز یک مورد
یک
generic.CreateAPIView
یا views.APIView
هرکاری میکردم توی یکی از تستهای خاص جواب نمیداد جالبتر این بود که دقیقا همین تست توی Insomnia
داشت جواب میداد؛ اونم بطور کامل و درست؛ دیباگر هم حتی هیچی نشون نمیداد.من توی این
Endpoint
فقط میخواستم یک دیتایی رو دریافت کنم Deserialize
کنم بعد با اون چیزی که توی دیتابیس دارم مقایسه کنم که یا تایید بدم یا ارور بدم.خلاصهاش کنم:
نهایتا متوجه شدم روی
model
و یکی از فیلدها محدودیت unique=True
گذاشتم و توی Insomnia
دارم اون فیلد رو با دیتای متفاوتی از چیزی که توی دیتابیس ایجاد کردم صدا میزنم همینجا یادآوری شد که :serializer.is_valid()
validate
validate
(تابع نرمالایز کردن اون فیلد خاص رو من توی
validate
serializer
serializer
Fallback
خلاصه که چون توی تستهام از
faker
استفاده میکن (اینم خودش یک best practice
هست که باید رعایت بشه) توی هر دو endpoint
اون فیلد بصورت دقیقا یکسان ارسال میشد و باگ در اومد و با یک redesign
کوچیک همه جیز درست شد.اگر این تست نبود:
۱- من باقی بخشهای پروژه رو با دیزاینی که باگ داشت کد زده بودم
۲- باگ خودش رو نشون نمیداد مگر توی
stage, production
توی محیط تست قطعا بازم با همین استاندارد که بذار normalization
رو هم همزمان تست کنم همه چیز ادامه پیدا میکرد. ۳- درست کردن این باگ حتی اگر برای هفته بعدی هم میافتاد؛ حداقل ۵-۶ روزکاری زمان میبرد تا مشکلش رو بتونیم حل کنیم.
بخاطر حجم داده و حجم کد و
dependency
هایی که بوجود میومد (چیزی که الان کمتر از ۱ ساعت وقت گرفت با یک redesign
کامل)تست نویسی رو دستکم نگیرید واقعا.
👍27👎18✍3❤2
Forwarded from Ninja Learn | نینجا لرن
💎 ـPartial Functions در پایتون 💎
تا حالا شده یه تابع بنویسی که پر از آرگومان باشه و همیشه بخوای یه سری از اون آرگومانها مقدار ثابتی داشته باشن؟ مثلا فرض کن توی یه پروژه مدام داری درخواست HTTP میفرستی و همیشه متد رو روی
🔎 ـPartial Functions چی هست؟
خیلی ساده، Partial Function بهت اجازه میده یه نسخه سفارشیشده از تابع اصلی بسازی که یه سری از آرگومانهاش از قبل مقداردهی شده. این کار با
🧠 چرا Partial Functions مفیدن؟
✅ سادگی و تمیزی کد: به
✅ کاهش خطا:
✅ ایجاد نسخههای شخصیسازیشده از توابع:
🛠️ چطور Partial Functions بسازیم؟
اینجا
🚀 کاربردهای Partial Functions
1⃣ سادهسازی توابع با آرگومانهای زیاد
وقتی توابع زیادی با پارامترهای تکراری داری، Partial Functions میتونه کمکت کنه:
2⃣ انعطاف بیشتر با توابع دیگر
ـPartial Functions میتونه با توابعی مثل
3⃣ بهبود خوانایی کد در سیستمهای بزرگ
وقتی پروژههات پیچیده میشن، Partial Functions بهت کمک میکنن توابعی بسازی که واضحترن:
⚖️ مقایسه با دیگر روشها
ـPartial Functions یه جایگزین سبکتر برای تعریف کلاسهای خاص یا توابع جدیده. اما وقتی منطق خیلی پیچیدهای داری یا نیاز به شرطهای مختلف هست، بهتره به جای Partial Functions از کلاسها یا Wrapper Functions استفاده کنی.
✍️ جمعبندی
فهمیدیم Partial Functions ابزاری ساده اما قدرتمند در پایتون هستن که میتونن کدهای تکراری رو حذف کنن و انعطاف بالایی بهت بدن.
امید وارم مفید بوده باشه :)
تا حالا شده یه تابع بنویسی که پر از آرگومان باشه و همیشه بخوای یه سری از اون آرگومانها مقدار ثابتی داشته باشن؟ مثلا فرض کن توی یه پروژه مدام داری درخواست HTTP میفرستی و همیشه متد رو روی
POST
میذاری. به جای تکرار این مقدار ثابت، Partial Functions به کمکت میان و کدتو خیلی حرفهایتر میکنن. 🔎 ـPartial Functions چی هست؟
خیلی ساده، Partial Function بهت اجازه میده یه نسخه سفارشیشده از تابع اصلی بسازی که یه سری از آرگومانهاش از قبل مقداردهی شده. این کار با
functools.partial
انجام میشه. 🧠 چرا Partial Functions مفیدن؟
✅ سادگی و تمیزی کد: به
جای تکرار، یه بار آرگومان ثابت رو تعریف میکنی.
✅ کاهش خطا:
آرگومانهای ثابت توی یه جای مشخص مقداردهی میشن.
✅ ایجاد نسخههای شخصیسازیشده از توابع:
بدون نیاز به تعریف تابع جدید.
🛠️ چطور Partial Functions بسازیم؟
from functools import partial
def multiply(x, y):
return x * y
double = partial(multiply, y=2)
print(double(5)) # خروجی: 10
اینجا
double
نسخهای از multiply
شده که مقدار y
همیشه 2
هست. فقط لازمه x
رو بهش بدی. 🚀 کاربردهای Partial Functions
1⃣ سادهسازی توابع با آرگومانهای زیاد
وقتی توابع زیادی با پارامترهای تکراری داری، Partial Functions میتونه کمکت کنه:
def send_request(method, url, headers, data):
# ارسال درخواست
pass
post_request = partial(send_request, method='POST')
post_request(url='/api/data', headers={}, data={})
2⃣ انعطاف بیشتر با توابع دیگر
ـPartial Functions میتونه با توابعی مثل
map
و filter
خیلی خوب کار کنه: from functools import partial
def power(base, exponent):
return base ** exponent
square = partial(power, exponent=2)
numbers = [1, 2, 3, 4]
squared_numbers = list(map(square, numbers))
print(squared_numbers) # خروجی: [1, 4, 9, 16]
3⃣ بهبود خوانایی کد در سیستمهای بزرگ
وقتی پروژههات پیچیده میشن، Partial Functions بهت کمک میکنن توابعی بسازی که واضحترن:
from functools import partial
def logger(log_level, message):
print(f"[{log_level}] {message}")
info_logger = partial(logger, log_level='INFO')
info_logger("This is an info message") # خروجی: [INFO] This is an info message
⚖️ مقایسه با دیگر روشها
ـPartial Functions یه جایگزین سبکتر برای تعریف کلاسهای خاص یا توابع جدیده. اما وقتی منطق خیلی پیچیدهای داری یا نیاز به شرطهای مختلف هست، بهتره به جای Partial Functions از کلاسها یا Wrapper Functions استفاده کنی.
✍️ جمعبندی
فهمیدیم Partial Functions ابزاری ساده اما قدرتمند در پایتون هستن که میتونن کدهای تکراری رو حذف کنن و انعطاف بالایی بهت بدن.
#python #programing
🔆 CHANNEL | GROUP
👍13👏2🤮2❤1
جنگولرن
✅تست نویسی رو دستکم نگیرید از کانال per3onal برای اینکه تست بنویسید : خیلی وقت بود جنگو کد نزده بودم و یک سری موارد رو فراموش کرده بودم (مواردی که مربوط میشه فقط و فقط به خود جنگو) خیلی هم اعتقادی به TDD ندارم ولی معتقدم تست نویسی باید باشه؛ حالا که بحثش…
این پست فعلا یه دیس لایک داره.
عالی میشه اگه دلیل دیسلایک رو بدونیم.
آیا چیزی که گفته ایراد داره؟
ویرایش:
دیس لایک ها زیاد شد. عجب
عالی میشه اگه دلیل دیسلایک رو بدونیم.
آیا چیزی که گفته ایراد داره؟
ویرایش:
دیس لایک ها زیاد شد. عجب
❤6🤔2🤮2
Forwarded from Golem Course
الوعده وفا!
بالاخره تمام شد. ۹ ماه پیش زمانی که ضبط دوره یادگیری عمیق را شروع کردم، قول دادم که بیش از ۱۰۰ ویدیو برای آن ضبط خواهم کرد. امروز تمام ویدیوها را میتوانید از پلیلیست یوتیوب تماشا کنید. در مجموع حدود ۲۶ ساعت محتوا است و مباحث زیر را پوشش دادم:
Optimization Algorithm (SGD, Momentum, Nesterov, Adam, ...)
Deep Neural Networks
Convolutional Neural Networks
Residual Neural Networks
Transformer and Large Language Models
Autoencoder
Variational Autoencoder (VAEs)
Generative Adversarial Networks (GAEs)
Normalizing Flows
Diffusion Models
Graph Neural Networks (GNNs)
Reinforcement Learning
@golemcourse
بالاخره تمام شد. ۹ ماه پیش زمانی که ضبط دوره یادگیری عمیق را شروع کردم، قول دادم که بیش از ۱۰۰ ویدیو برای آن ضبط خواهم کرد. امروز تمام ویدیوها را میتوانید از پلیلیست یوتیوب تماشا کنید. در مجموع حدود ۲۶ ساعت محتوا است و مباحث زیر را پوشش دادم:
Optimization Algorithm (SGD, Momentum, Nesterov, Adam, ...)
Deep Neural Networks
Convolutional Neural Networks
Residual Neural Networks
Transformer and Large Language Models
Autoencoder
Variational Autoencoder (VAEs)
Generative Adversarial Networks (GAEs)
Normalizing Flows
Diffusion Models
Graph Neural Networks (GNNs)
Reinforcement Learning
@golemcourse
YouTube
یادگیری عمیق
در این سری از ویدیوهای آموزشی یادگیری عمیق، هم مباحث نظری و هم مباحث عملی در قالب کد یاد داده میشود.
❤13👍4🤮4🔥2👏2
Forwarded from Django Expert (Hêmn Hosseinpana)
پیکربندی لاگ زدن در جنگو - django logging
در این سری از ویدیوها که به ترفندها و نکته های جنگو میپردازیم، به سراغ لاگ زدن در جنگو رفتیم و کانفیگ ها و شیوه پیکربندی آن را از طریق بررسی و خواندن کد داخلی جنگو، شرح دادیم. در این ویدیو به جای کد نوشتن، بیشتر کد خوندیم که بفهمیم جنگو خودش برای لاگ زدن چگونه کار میکند و ما چگونه میتونیم از آن استفاده کنیم. همچنین امکان django logging را در سرویس های کلودی مانند sentry و APM هم مطرح کردیم. این مفاهیم رو در پروژه مینی ترلو به شکل عملی استفاده میکنیم.
video link: https://youtu.be/LGatKmpL7k8
playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv
#django #logging #microfrontend_ir
〰️〰️〰️〰️〰️
©️ @DjangoEx
در این سری از ویدیوها که به ترفندها و نکته های جنگو میپردازیم، به سراغ لاگ زدن در جنگو رفتیم و کانفیگ ها و شیوه پیکربندی آن را از طریق بررسی و خواندن کد داخلی جنگو، شرح دادیم. در این ویدیو به جای کد نوشتن، بیشتر کد خوندیم که بفهمیم جنگو خودش برای لاگ زدن چگونه کار میکند و ما چگونه میتونیم از آن استفاده کنیم. همچنین امکان django logging را در سرویس های کلودی مانند sentry و APM هم مطرح کردیم. این مفاهیم رو در پروژه مینی ترلو به شکل عملی استفاده میکنیم.
video link: https://youtu.be/LGatKmpL7k8
playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv
#django #logging #microfrontend_ir
〰️〰️〰️〰️〰️
©️ @DjangoEx
👍11👏2