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

کانال یوتیوب : https://www.youtube.com/c/RezaAmini
Download Telegram
یکم در مورد SOLID توییت کرده بودم، گفتم شماهم ببینید بد نیست :)

@Learnira
Learnira | لرنیرا
📍 همیشه کار کردن با مایگریشن های لاراول توی محیط کامند لاین آزاردهنده س، خصوصا اگه هدفتون کار کردن با یک مایگریشن خاص باشه. به همین خاطر تصمیم گرفتم که یک پکیجی رو آماده کنم که به راحتی بتونید مایگریشن هاتون رو مدیریت کنید، اون هارو حدف کنید و مایگریشن جدید…
💡 حالت Safe migrate به پروژه اضافه شد، به این صورت که میاد و ابتدا مایگریشن هایی رو اجرا میکنه که توی مایگریشن های قبلی به اون تیبل رفرنس داده شده ولی هنوز مایگریشنش اجرا نشده تا دیگه به ارور خاصی نخورید.

دوستانی که قصد مشارکت دارن توی پروژه، این پروژه خیلی کد هاش سنگین نیست و به راحتی قابل درکه و اگر قصد توسعه دارید یک V2.0 path ایجاد شده که باید کارهایی که برای ورژن دو انجام بشه توش ذکر شده که اگر میتونید ازشون انجام بدید و به پروژه اضافه کنید حتما مطالعش کنید و Pull request بزنید و مارو خوشحال کنید.

لینک To Do:
https://github.com/rezaamini-ir/migrator/projects/1
بنظر من یه برنامه نویس باید توی پروژه هاش این مواردو رعایت کنه:

- هندل کردن درست Exceptions
- لاگ گرفتن از ارور ها تا جای ممکن
- تست نویسی کافی و درست
- شناسایی درست پروژه (انالیز اینده ی پروژه و نوشتن براساس اون)
- برگشت دادن Status code درست
- آنالیز و طراحی اسکیمای مناسب برای دیتابیس
- کد زدن بر اساس بودجه (این بَده :)))) )
- فیچر تست های خوب و دل نبستن به یونیت تست
- آنالیز زمان مناسب پروژه
- تعصبی رفتار نکردن در خصوص ابزار های مورد استفاده توی پروژه
- گیت فلو مناسب
- معماری متناسب با حجم پروژه

نظر شما چیه؟
👍1
Learnira | لرنیرا
2 اپیزود جدید از دوره Eloquent Tricks در کانال یوتیوب آپلود شد. when() Method Magic of withDefault() 📍 سابسکریب و لایک رو هم فراموش نکنید.
😃 بنظرم هنوز موارد زیادی در خصوص Model و Eloquent و Query Builder مونده که گفته نشده.

نظر شما چیه، الکوئنت و کوئری هارو ادامه بدیم یا بریم سراغ دوره های بعدی؟
و در اخر پیشنهادتون برای دوره های آینده چیه؟
به همین راحتی میتونید قبل از ارسال نوتیفیکیشن ها با یک Listener اونارو بررسی کنید و یک کاری رو قبل از ارسالشون انجام بدید و حتی از ارسال اونا جلوگیری کنید.

پ ن: داکیومنت نشده بود که توی این PR#7420 اضافش کردم 😃

توضیحات بیشتر توی داکیومنت خود لاراول:
https://laravel.com/docs/8.x/notifications#notification-events
فرض کنید که داریم یه فروشگاه Scalable بالا میاریم و هزاران کاربر در لحظه دارن فروشگاه مارو چک میکنن (آمازون، یا دیجی کالا رو در نظر بگیرید).

حالا ما یه محصول داریم که کلا 100 تا ازش توی انباره و همزمان ده هزار کاربر درخواست خرید اون محصول رو میدن.

💡 چطور این موردو هندل میکنیم که بدون مشکل به 100 نفر محصول فروخته بشه و مشکلی پیش نیاد؟ (توی کامنتا راه حلتونو بگید که باهم خوبی و بدی هاشو چک کنیم)

پ‌ن: این سوالو توی مصاحبه فنی امروز که با یه شرکت بزرگ برای پوزیشن بک اند دولوپر داشتم پرسیدن و بزودی در خصوصش بحث میکنیم توی کانال 😃
Forwarded from Radio BiCode | رادیو بی‌کد (Mehran Askarnezhad)
• اپیزود اولِ رادیو بی‌کد منتشر شد! 🎉

• داستان هک شدن ناسا با اِچ‌تی‌اِم‌اِل

آنچه خواهید شنید :
بررسی دلایل هک شدن ناسا با اِچ‌تی‌اِم‌اِل
تغییر آی‌پی با اِچ‌تی‌اِم‌اِل وی‌پی‌اِن
تونل های انتقال دیتا و ...

کست‌باکس و توییتر رادیو بی‌کد

@RadioBiCode
این توییت سعید رو خیلی خیلی دوس داشتم، گاهی وقتا یه چیز ساده رو جوری میپیچونیم که خودمونم توش میمونیم و‌نتیجش میشه هدر دادن زمان.

در خصوص اون قائده KISS هم بخونید.
سعی کنید تا جای ممکن همه چیزو ساده نگه دارید تا براتون دردسر نشه در آینده.

@Learnira
فرض کنید یکسری مدل دارید و توی این مدل ها یکسری متد دارید.
حالا میخواید این مدل هارو تست کنید.

(مثلا یک مدل Article دارید که یک متد trending داره و میخواید براش تست بنویسید)

تست هایی که برای متدهای این مدل ها نوشته میشن از چه نوعی هستند؟ و چرا؟
Learnira | لرنیرا
Voice message
مشکل اصلی شناسایی موقعیت هستش.

خیلی از جاها ما انتظار اینو داریم که این مورد باید براش یک Unit test نوشته بشه (مثل حالت بالا) در صورتی که فرض ما از پایه اشتباه هست و در موقعیتی که باید یک Integration test نوشته بشه ما میایم و یک Unit test مینویسیم.

و نتیجه ی این انتظار نابجا و برداشت اشتباه این میشه که میایم و با استفاده از ماک کردن و استفاده از Fake و حالت های دیگه و سعی در ایزوله کردن قسمتی که ذات اون ایزوله بودن نیست و بدون وابستگی به بخش های مختلف نمیتونه کار کنه، یک تست پیچیده رو مینویسیم که عملا ممکنه مارو به هدفمون نرسونه و coverage بالایی نداشته باشه و از سمتی میایم و تستمون رو از اون حالت doc بود خارج میکنیم، صرفا برای اینکه ایزوله بشه و وابسته نباشه.
با زلف تو قصه ایست ما را مشکل / همچون شب یلدا به درازی مشهور

🍉 یلداتون مبارک باشه.

توی این شب قشنگ سرد یک دقیقه بیشتر فرصت داریم که قدر افرادی که کنارمون هستن و دوستشون داریم رو بیشتر بدونیم.

🤓 راستی امشب میتونید یه دیقه بیشتر کد بزنید و بیدار بمونیدا.
بنظرتون خوانایی کدوم بیشتره؟