پایتون
عمومی
ORM چیه و چرا باید از اون استفاده کرد؟ (مینی دوره)
توی برنامه نویسی اصطلاحی وجود داره به اسم ORM که مخفف اصطلاح Object Relational Mapper هستش. این اصطلاح به روشی گفته میشه که با کمک اصول و پارادایمهای شئگرایی، ارتباط با دیتابیس رو برامون راحتتر میکنه. در واقع به جای این که شما با کوئریهای دیتابیسی سر و کله بزنید، میتونید از آبجکتهایی که از روی کلاسهای ORM شما ساخته شدن استفاده کنید و با کمک اونها ارتباط با دیتابیس رو راحت تر کنید.
- 45 ثبت نام
- متوسطه
دربارهی دوره
توی برنامه نویسی اصطلاحی وجود داره به اسم ORM که مخفف اصطلاح Object Relational Mapper هستش. این اصطلاح به روشی گفته میشه که با کمک اصول و پارادایمهای شئگرایی، ارتباط با دیتابیس رو برامون راحتتر میکنه. در واقع به جای این که شما با کوئریهای دیتابیسی سر و کله بزنید، میتونید از آبجکتهایی که از روی کلاسهای ORM شما ساخته شدن استفاده کنید و با کمک اونها ارتباط با دیتابیس رو راحت تر کنید.
مزایای استفاده از ORM:
- عدم تکرار کد: با استفاده از ORM ها، کدهای ما یک بار نوشته میشن و از اون به بعد هر جا که نیاز داشتیم که به جدول دیتابیسی دسترسی داشته باشیم، از همون کلاس ساخته شده با کمک ORM استفاده کنیم.
- آتومیت بودن بخش زیادی از عملیاتها.
- عدم نیاز به نوشتن کدهای SQL: بخش زیادی از برنامه نویسها دانش کافی برای نوشتن کدهای قوی SQL ای ندارن. به همین خاطر هم هستش که استفاده از ORM ها میتونه مشکلات خیلی زیادی رو حل کنه.
- استفادهی راحت از ترنزاکشنها.
- امکان اتصال کد به دیتابیسهای مختلف بدون نیاز به تغییر در ساختار اصلی مدلها.
- امکان استفاده از ارث بری برای قرار دادن فیلدهای مشترک در جدولهای دیتابیسی.
معایب استفاده از ORM:
- برای استفاده از ORM، باید لایبرری مرتبط با اون دیتابیس رو بلد باشید و ممکنه هر لایبرری سینتکس مخصوص به خودش رو داشته باشه.
- پرفورمنس ORMها توی کوئریهای عادی خوب هستش. ولی برای کوئریهای بزرگ، کسی که به صورت تخصصی SQL کار میکنه قطعا میتونه کدهای بهتری بنویسه.
- اگه ندونید پشت پرده چه اتفاقی داره میوفته، قطعا خیلی وقتها ممکنه کدهایی بنویسید که از نظر پرفورمنس اصلا مناسب عمل نمیکنن.
توی این دوره، اول از همه قراره که مزایا و معایب ORM ها رو به صورت کامل بررسی کنیم. بعد از اون سراغ کد نویسی میریم و با نحوهی استفاده از ORM آشنا میشیم و در نهایت هم مشکلاتی که ممکنه هنگام استفاده از ORM رخ بده رو بررسی میکنیم.
دربارهی مدرس
سلام! من بهمن شادمهرم من بهمنام، یه برنامهنویس و توسعهدهنده نرمافزار که عاشق چالشهای فنیام! این چند سال گذشته، بیشتر وقتهام رو صرف این کردم که با یه لپتاپ و یه اینترنت درستحسابی، سیستمهای عجیب و غریب بسازم و مشکلات بقیه رو حل کنم (از همونایی که میگن "این دیگه چطوری کار میکنه؟"). از نوشتن کدهای باحال و اتوماتکردن سیستمهای انرژی گرفته تا تریدینگ با دادههای پرسرعت، حسابی سرم شلوغ بوده. یه پروژهای داشتم که حسابی دردسرساز بود ولی آخرش تونستم با بهینهسازی زیرساخت، ۵۰ درصد هزینهها رو کاهش بدم! (میدونی وقتی هزینه رو اینقدر کم میکنی، چه جوری همه باهات رفیق میشن؟!). بعضی از پروژههایی که انجام دادم: CoffeeCodeCamp: یه پلتفرم که بهتون یاد میده کد بزنید و هر چی نوشتید رو هم خودش تست میکنه! MasterYourCourses: یه سیستم مدیریت دورههای آموزشی که کاملترین امکانات رو داره. CryptoCasting: این یکی برای عاشقای تریدینگ! پلتفرمی برای جمعآوری دادههای با سرعت بالا. اگه بخوام از مهارتهام بگم، بیشتر با پایتون و گلانگ ور میرم، توی AWS و GCP غرقم و از Docker و Kubernetes هم برای نگهداشتن سرویسها استفاده میکنم (یه جورایی مثل کارهای عادی روزمرهم شدن اینا!). همیشه دوست دارم با سیستمهای پیچیده سر و کله بزنم و کدهای خفنتر بنویسم. راستش از اینکه زیرساختهای نرمافزاری رو بهینه کنم و هزینهها رو پایین بیارم هم بد نمیاد؛ آخه کی از کمشدن هزینهها بدش میاد؟!
نظرات کاربران (0)
سوالات متداول این دوره
۳,۰۰۰ تومان
۱۰۰,۰۰۰ تومانپیش نیازهای این دوره
پیش نیازی ندارد