Learnira | لرنیرا – Telegram
Learnira | لرنیرا
347 subscribers
55 photos
21 videos
62 links
مطالب و منابع آموزشی در حوزه برنامه نویسی بک اند و فرانت اند

کانال یوتیوب : https://www.youtube.com/c/RezaAmini
Download Telegram
یکی از فریم ورک هایی که می‌تونه برای نوشتن تست استفاده بشه و توانایی اینو داره که حتی در آینده جایگزین phpunit بشه Pest هست.
بنظرم حتما این فریم ورک رو بررسی کنید.
برای لاراول و Livewire هم یکسری امکانات داره که میتونید ازش استفاده کنید.

https://pestphp.com/
خب قسمت اول از سری دوره Eloquent Tricks در خصوص متد withCount ریکورد شد و توی این دوره من تصمیم گرفتم که در خصوص نکات الوکوئنت صحبت کنم.

https://www.youtube.com/watch?v=55FQfnLFiWw

لایک و سابسکرایب هم فراموش نکنید و زنگوله رو هم بزنید که قسمتای بعدی رو از دست ندید :)
Forwarded from Reza
This media is not supported in your browser
VIEW IN TELEGRAM
1. Eloquent Tips - withCount()
By Reza Amini
Forwarded from Reza
This media is not supported in your browser
VIEW IN TELEGRAM
2. Eloquent Tips - Eager Loading
By Reza Amini
Forwarded from Reza
This media is not supported in your browser
VIEW IN TELEGRAM
3. Eloquent Tips - Dive deep into withCount()
By Reza Amini
Forwarded from Reza
This media is not supported in your browser
VIEW IN TELEGRAM
4. Eloquent Tips - where() Vs. where()
By Reza Amini
Forwarded from Reza
Media is too big
VIEW IN TELEGRAM
5. Eloquent Tips - withSum, withMax, withMin, withAvg Methods
By Reza Amini
Forwarded from Reza
This media is not supported in your browser
VIEW IN TELEGRAM
6. Eloquent Tips - orderBy()
By Reza Amini
Reza
6. Eloquent Tips - orderBy() By Reza Amini
ویدئو های دوره Eloquent Tricks رو میتونید مستقیم اینجا ببیند اما به جهت حمایت بیشتر از من یوتیوب رو هم سابسکرایب کنید و سعی کنید از اونجا هم ی نگاهی بندازید :))

پ ن : این کلیپ ها با رضایت خود من داخل کانال کدینو هم قرار گرفتن.
قسمت های جدید دوره ی Eloquent Tricks داخل کانال یوتیوب قرار گرفت.

- Append Attributes
- sortBy() and orderByRaw() Methods

💡 لایک و سابسکرایب و البته اشتراک گذاری رو فراموش نکنید .
قسمت جدیدی مربوط به دوره Eloquent Tricks داخل کانال یوتیوب آپلود شد.

Create() vs Insert()

دو متد بسیار شبیه به هم که یه تفاوتای ریزی دارن ولی خب این تفاوتای ریز میتونه خیلی جاها برای مصرف کمتر منابع به ما کمک کنه.
اپیزود جدید از دوره Eloquent Tricks در کانال یوتیوب قرار گرفت.

Group Where

این اپیزود رو بنظرم از دست ندید و نظراتتون رو توی کامنت ها برام بنویسید تا توی قسمت های بعدی در نظر بگیرم.

پ‌ن : این اموزشا ترکیبی از Eloquent و Query Builder هست ولی خب چون در ادامه خیلی از نکات در خصوص الکوئنت لاراول هستش اسم این دوره Eloquent انتخاب شده.
اپیزود جدید از دوره Eloquent Tricks در کانال یوتیوب قرار گرفت.

Find() in depth

💡 فراموش نکنید کانال رو سابسکرایب کنید و نظراتتونو برام کامنت کنید.
2 اپیزود جدید از دوره Eloquent Tricks در کانال یوتیوب آپلود شد.

when() Method
Magic of withDefault()

📍 سابسکریب و لایک رو هم فراموش نکنید.
💡 ایپزودهای جدید در کانال یوتیوب قرار گرفتند

Increment and Decrement methods
Filter Relations
شما با این روش میتونید بصورت داینامیک به attribute های مدلتون مقدار اضافه کنید با استفاده از اون کار هایی مثل sort کردن رو انجام بدید و به اون مقدار از روی مدلتون دسترسی داشته باشید.

#Eloquent
@Learnira
توی تعریف Dependency Inversion دو تا چیز گفته شده:

A. High-level modules should not depend on low-level modules. Both should depend on abstractions.

B. Abstractions should not depend on details. Details should depend on abstractions.

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

توی اصول SOLID حرف آخر یعنی حرف D مخفف Dependency Inversion هست که خیلی از افراد در ابتدا با Dependency Injection (تزریق وابستگی ها) اونو اشتباه میگیرن .

طبق تعریف Dependency Inversion کد های سطح بالای ما نباید وابستگی رو به کد های سطح پایین داشته باشن و هر دوی اون ها باید به abstraction وابسته باشن (حالا این ابسترکت میتونه یک interface باشه یا یک abstract class یا ..) و هر دوی اونها باید از یک قانونی تبعیت کنن.

حالا بیاید یکم بیشتر در خصوصش بگم.
قوانین یک کشور رو در نظر بگیرید.
این قوانین توسط من یا توسط شما تنظیم نشده و نباید هم به تصمیمات و کارای ما وابستگی داشته باشه، بلکه هم ما و هم دولت (که در سطح بالاتری هست از ملت عادی) باید از این قوانین که از اول تنظیم شده تبعیت کننیم.
و در قسمت دوم تعریف گفته شده که این قوانین نباید وابسته به جزئیات باشند.
یعنی برای تعریف و تنظیم قوانین یک کشور نباید به جزئیات تک تک افراد توجه کرد و با تغییر کردن هر فرد ما هم قوانین کشور رو عوض کنیم، بلکه باید یک قوانین ثابت و (درست) رو در نظر بگیریم
و همه هم خودشون رو با اون قوانین وفق بدن و براساس اون قوانین به کاراشون برسن و خودشونو توسعه بدن و قوانین بخاطر تک تک افراد دچار تغییر نشه.
حالا فرض کنید که میخواید یک موتور جستجوگر مثل کروم رو توسعه بدید که قابلیت نصب اکستنشن داشته باشه.
اول اینکه شما باید برای قسمت اکستنشن هاتون یک قوانینی رو در نظر بگیرید که کد های سطح بالا (هسته مرورگر مثلا) به کدهای اکستنشن هایی که توسط برنامه نویس های دیگه توسعه داده میشه
وابستگی نداشته باشه و بدون وجود اون اکستنشن ها هم کارشو به درستی انجام بده و اگر مثلا اکستنشن z دچار مشکلی شد باعث نشه کل برنامه بهم بریزه
و از طرفی یک قوانینی برای توسعه اکستنشن داشته باشید که برنامه نویس های دیگه از اون چارچوب خارج نشن و در همون فریم کد بزنن.
و کدهای شما به گونه ای نباشه که بخاطر اکستنشن x کدهای هسته رو تغییر بدید بلکه اکستنشن x باید کدهاشو جوری بنویسه که همخونی داشته باشه.
پ ن : این حرف ها طبق درکی هست که خودم از Dependency Inversion داشتم و ممکنه کامل درست نباشه اما بنظرم دید خوبی میتونه بده و انتقادات شمارو قطعا پذیرا هستم.

#SOLID
@Learnira
This media is not supported in your browser
VIEW IN TELEGRAM
💡 بررسی امکانات جدید پکیج ایزی پنل

- پروسه ساخت هر CRUD به زیر چندین ثانیه رسیده

نظراتتونو برام کامنت کنید حتما

https://github.com/rezaamini-ir/laravel-easypanel