آنوفل دنیای برنامه نویسی
117 subscribers
255 photos
274 links
آنوفل | Anophel: دنیای بی ‌پایان امکانات برای برنامه‌ نویسان

website: https://anophel.com

پشتیبانی :
@anophel_support

#anophel #آنوفل #برنامه_نویسی
Download Telegram
40 تا از مهم ترین الکونت های لاراول که باید بدانید

🔺 چقدر Eloquent ها را در لاراول می شناسید؟لاراول Eloquent ORM ابزار قدرتمندی است که به توسعه دهندگان اجازه می دهد با استفاده از یک سینتکس رسا و زیبا با پایگاه های داده تعامل داشته باشند. در حالی که بسیاری از توسعه دهندگان با متد های رایج مانند ()find()...

🌐 : 40 تا از مهم ترین الکونت های لاراول که باید بدانید

#لاراول #الکونت_لاراول
4 اشتباه هوک useState که باید در React از آنها اجتناب کنید

🔺 React.js با رویکرد منحصر به فرد خود برای مدیریت استیت درون کامپوننت ها به سنگ بنای توسعه وب مدرن تبدیل شده است. یک هوک رایج، useState، اساسی است اما اغلب مورد سوء استفاده قرار می گیرد. درک و اجتناب از این اشتباهات رایج، هم برای مبتدیان و هم برای توسع...

🌐 : 4 اشتباه هوک useState که باید در React از آنها اجتناب کنید

#ری_اکت #هوک #react #useState
تست معماری در لاراول با Pest

🔺 حفظ استانداردها در یک پایگاه کد در حال رشد که چندین توسعه دهنده در آن مشارکت دارند می تواند دشوار و خسته کننده باشد. اطمینان از اینکه پایگاه کد از بهترین شیوه ها پیروی می کند و از استانداردها منحرف نمی شود برای هر پروژه ضروری است. اما این معمولاً چیز...

🌐 : تست معماری در لاراول با Pest

#تست #تست_نویسی #لاراول #pest_laravel
اشتباهات رایج در هوک useEffect در React : با راه حل

🔺 هنگامی که فرد تصمیم می گیرد با یادگیری React به جلو حرکت کند، هوک ها جزو اولین چیزهایی هستند که باید یاد بگیرند (و از آنها ناامید شوند). هوک‌ها بخش‌های ضروری React هستند، زیرا برای حل چندین مشکل ایجاد شده‌اند که در دو نسخه اول React ظاهر می‌شوند، زما...

🌐 : اشتباهات رایج در هوک useEffect در React : با راه حل

#آنوفل #ری_اکت
چقدر درباره اهمیت Todo در تست می دانید؟

در PHPunit، معمولا وقتی todo را در برخی از کدها می نویسم، به این دلیل است که چیز مهمی در مورد کدی که به آن نزدیک هستیم می‌فهمیم، اما زمانی برای اصلاح یا تغییر آن نداریم. این واقعیت که شما عمیقاً در درک کد در آن زمان هستید بسیار ارزشمند است. احتمالاً در زمانی که کار را می نویسید، بیشترین اطلاعات را در مورد آن کد دارید.

برای مثال شما کد نوشته اید و از نکات آن اطلاع دارید. شاید مجبور شده باشید بدون تست نوشتن ادامه دهید. چگونه می خواهید همه سناریوها را یک هفته، یک ماه بعد به خاطر بسپارید؟ آیا هرگز به آن برمی گردی؟ من فکر می کنم زمانی که ما در حال نوشتن کد هستیم، بیشتر از موارد استفاده می دانیم. بنابراین، این زمان مناسب برای نوشتن تست ها است.

یا حداقل پوسته‌های تست‌ها را با todos بنویسید. به این ترتیب، می‌دانید وقتی دوباره روی آن کار می‌کنید، چه چیزی را باید تست کنید. مهم‌تر این است که بدانید با نگاه کردن به todo ها چه چیزی تست نمی‌شود. در صورت مشاهده 20 تست واحد، ممکن است فرض کنید کل فرآیند در حال تست است. اما، هنگامی که برخی از تست‌های todo را می‌بینید، مناطق خاصی را می‌شناسید که تست نشده‌اند و مناطقی را می‌شناسید که نمی‌توانید به طور کامل به آنها وابسته باشید.

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

در خروجی خود، می دانید که پوشش شما به روشی اشتباه پیش می رود. این به شما کمک می کند تا بفهمید که باید تست های بیشتری بنویسید.

در نهایت، بسته به تیم خود، ممکن است افراد خاصی داشته باشید که به انواع خاصی از todo نیاز دارند، یا ممکن است بخواهید شخص جدیدی را وارد کنید. با نوشتن تست‌های todo، می‌توانید به کسی وظایف واضحی بدهید: تست‌ها را پر کنید.


اجرای تست های Todo
برای اینکه فرآیند علامت‌گذاری یک تست آسان‌تر شود، یک متد را در کلاس تست پایه خود قرار دادم. (شما همچنین می توانید این را به عنوان یک trait بنویسید و آن را در کلاس های تست قرار دهید که دارای todo هستند، اما داشتن آن در کلاس تست پایه ساده تر است).

Anophel آنوفل

#لاراول #آنوفل #laravel #تست_نویسی #تست #php #phpunit
مدریریت استیت با Zustand در React

🔺 آیا فکر می‌کنید مدیریت استیت و استیت بخش‌های جدایی‌ناپذیر برنامه React شما هستند؟ آیا تا به حال با مدیریت استیت مبارزه کرده اید و به این فکر کرده اید که کجا به دنبال یک کتابخانه مدیریت استیت ساده بگردید؟ پس این مقاله برای شماست، به شما نشان می دهد که...

🌐 : مدریریت استیت با Zustand در React

#ری_اکت #react #zustand
چگونه با خواندن کد، مهارت های توسعه لاراول خود را بهبود بخشید؟!

راه های مختلفی برای بهبود مهارت ها در توسعه لاراول وجود دارد یکی از این راه حل ها که بسیار مهم است خواندن کد است.

از سه روش زیر می‌توانید کد خوانی را شروع کنید:
1. از خود فریمورک لاراول
2. خواندن کد های پکیج
3.تحقیق و جست و جو در یک موضوع خاص

1.از خود فریمورک لاراول

به عنوان مثال، اگر از متدی استفاده می کنید که توسط فریمورک (یا هر پکیج دیگری) ارائه شده است، اون متد را بررسی کنید و ببینید واقعاً چه کاری انجام می دهد. با انجام این کار، باعث می شود:

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

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

دانش خود را در مورد عملکرد درونی یک ویژگی خاص بهبود بخشید.

همچنین می توانید با مطالعه آنلاین از طریق issues GitHub، درخواست‌ها، انجمن‌ها ، درک درستی از زمینه پشت کد داشته باشید.

2. یادگیری از پکیج ها
همچنین می‌توانید زمانی که با هر پکیجی که در پروژه خود کار می‌کنید، از رویکرد مشابهی استفاده کنید.

بنابراین اگر به فکر استفاده از یک پکیج جدید در پروژه خود هستید، ممکن است بخواهید قبل از دانلود آن، چند دقیقه را به خواندن کد پکیج اختصاص دهید. این به شما کمک می کند تا درک کنید که پکیج چگونه ویژگی های مورد نیاز شما را پیاده سازی می کند. در نتیجه، این می تواند شما را بیشتر در معرض طرز فکر دیگران قرار دهد.

همچنین گاهی اوقات این باعث می شد که بعد از اینکه متوجه شدید راه حل واقعاً ساده است، از استفاده از یک پکیج منصرف شوید و خودتان دست به کد شوید.

مثلا با خواندن کد های پکیج spatie/laravel-permission می توانید خیلی چیز های جدید یاد بگیرید.

3.تحقیق و جست و جو در یک موضوع خاص
در این روش شما خواندن کد را به قطعات کوچکتر تقسیم کنم. مثلا این کار را با اختصاص حدود نیم ساعت در روز به خواندن یک موضوع خاص کنید.

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

آنوفل | Anophel

#لاراول #کد #توسعه_مهارت #laravel #code
آشنایی با Vite.js: بررسی کامل، مثال‌ها و جایگزین‌ها

🔺 ظهور ابزارهای ساخت، بسیاری از نوآوری های جدید را در توسعه frontend ممکن کرد. در حالی که ابزارهایی مانند webpack در خط مقدم این نوآوری قرار داشتند، با گذشت زمان، آهسته و متورم شدند. این امر ابزارهای ساخت جدید را ضروری کرد، ابزارهایی مانند Vite که سریع...

🌐 : آشنایی با Vite.js: بررسی کامل، مثال‌ها و جایگزین‌ها
در فرایند تست‌نویسی در لاراول، اغلب اوقات نیاز است که بررسی کنیم آیا رکوردی از دیتابیس حذف شده است یا خیر. روش رایج استفاده از متد assertDatabaseMissing است.

روش سنتی با assertDatabaseMissing
در این روش، برای بررسی حذف شدن یک رکورد خاص از دیتابیس، از متد assertDatabaseMissing استفاده می‌کنیم.

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


مزایای assertModelMissing
- کد کوتاه‌تر و خواناتر.
- تمرکز بیشتر بر روی منطق مدل به جای جزییات دیتابیس.
- کمک به کلین کد و بهبود نگهداری کد.

استفاده از assertModelMissing می‌تواند به بهبود کیفیت کد و سرعت تست‌نویسی کمک کند و به ویژه در پروژه‌های بزرگ و پیچیده، مزایای خود را نشان دهد.


آنوفل| Anophel

#لاراول #کدنویسی #laravel #تست_نویسی
بهترین روش های احراز هویت در Next.js

🔺 نکست جی اس یکی از بهترین فریمورک های دنیای فرانت اند می باشد که دارای ویژگی های بسیار زیادی است. یکی از جنبه های مهم توسعه برنامه، اطمینان از ایمن بودن و محافظت از برنامه ها در برابر نقض داده ها و سایر جرایم سایبری است. یکی از راه هایی که می توانید ب...

🌐 : بهترین روش های احراز هویت در Next.js

#nextjs #نکست_جی_اس
بررسی بهینه سازی تصویر در Next.js با مثال

🔺 تصاویر نقش مهمی در توسعه وب دارند، اما می توانند به طور قابل توجهی بر عملکرد وب سایت تأثیر بگذارند. برای رفع این مشکل، Next.js مؤلفه Image را ارائه می دهد که بهینه سازی خودکار تصویر و ویژگی های مختلفی را برای بهینه سازی بارگذاری و رندر تصویر ارائه می...

🌐 : بررسی بهینه سازی تصویر در Next.js با مثال

#nextjs #نکست
میکرو-فرانت اند در Next.js بررسی همراه با مثال

🔺 مدیریت پایگاه کد یک پروژه بزرگ در حین کار روی آن برای تیم ها آسان نیست. Micro-frontend (میکرو فرانت اند) ها برای مدت طولانی کاربردی بوده اند، اما به دلیل ویژگی های متمایز و راحتی که دارند، در بین کاربران محبوب شده اند.تیم های مختلف می توانند بر روی و...

🌐 : میکرو-فرانت اند در Next.js بررسی همراه با مثال

#میکرو_فرانت‌اند #میکروسرویس #nextjs #react
کش در لاراول : همه چیز درباره Laravel Caching

🔺 کش برای دستیابی به عملکرد بالا و مقیاس پذیری ضروری است. برای جلوگیری از تاخیر در APIها و کاهش زمان بارگذاری صفحه، اجرای استراتژی ذخیره سازی مناسب درست از مرحله توسعه بسیار مهم است. لاراول یکی از محبوب‌ترین فریم ورک‌های PHP است، بنابراین پیاده‌سازی اس...

🌐 : کش در لاراول : همه چیز درباره Laravel Caching

#لاراول #کش_لاراول #laravel
بررسی علت آهسته بودن Code Reviews

🔺 تقریباً هر توسعه‌دهنده نرم‌افزاری از بررسی کند کد شکایت می‌کند، اما گاهی اوقات، درک علت آن‌ها دشوار است. ممکن است گاهی اوقات به این دلیل باشد که صاحبان حق شناسایی نشده اند، اما بسیاری اوقات ممکن است به دلیل عدم ارتباط باشد. در این مقاله از آنوفل، آنچ...

🌐 : بررسی علت آهسته بودن Code Reviews
در لاراول بین with و load چه تفاوتی وجود دارد؟

وقتی از with استفاده می‌کنیم، Laravel تلاش می‌کند تمام اطلاعات مرتبط با رابطه را به صورت eager loading از پیش بارگذاری کند، یعنی داده‌ها با یک کوئری از دیتابیس به صورت همزمان خوانده می‌شوند. این کار معمولاً برای بهینه‌سازی عملکرد و کاهش تعداد کوئری‌ها به دیتابیس مفید است.

از طرف دیگر، load به ما اجازه می‌دهد که داده‌های یک رابطه را به صورت lazy loading، و تنها در صورتی که به آن‌ها نیاز داشته باشیم، بارگذاری کنیم. این متد به دلیل کارآمدی زمانی مناسب است که نیازمندیم که داده‌ها به صورت پویا و بسته به شرایط خاصی بارگذاری شوند.

خلاصه کلام:
متد with: برای بارگذاری eager loading که داده‌ها به صورت پیش‌فرض با یک کوئری از پایگاه داده درخواست می‌شوند.

متد load: برای بارگذاری lazy loading که داده‌ها فقط زمانی بارگذاری می‌شوند که به آن‌ها نیاز داریم و به صورت جداگانه از هر مدل فراخوانی می‌شود.

Anophel آنوفل

#لاراول #کد_نویسی #laravel #php
لاراول Macro چیست؟ آشنایی عمیق با Laravel Macro

🔺 لاراول یک فریمورک محبوب PHP است که به دلیل ظرافت و ویژگی‌های مناسب برای توسعه‌دهندگان شناخته می‌شود. یکی از این ویژگی‌ها که انعطاف‌پذیری لاراول را افزایش می‌دهد، ماکروها هستند. ماکروهای لاراول به شما این امکان را می دهند که متد های اصلی را گسترش دهید...

🌐 : لاراول Macro چیست؟ آشنایی عمیق با Laravel Macro

#لاراول #لاراول_ماکرو #laravel
کوئری های پیشرفته در لاراول با Laravel Scope

🔺 لاراول یک فریمورک محبوب PHP است که به دلیل مجموعه ای غنی از ویژگی هایش که توسعه وب را سریعتر و کارآمدتر می کند، شناخته شده است. یکی از این ویژگی ها، Laravel Scopes است که به توسعه دهندگان اجازه می دهد تا محدودیت های کوئری قابل استفاده مجدد و زنجیره ا...

🌐 : کوئری های پیشرفته در لاراول با Laravel Scope
در لاراول داده ها را با ()forPage به صورت Paginate در بیارید.

در لاراول، متد forPage روی Collections برای تقسیم داده‌ها به صفحات (pagination) استفاده می‌شود. این متد برای موقعیت‌هایی مناسب است که شما داده‌ها را به صورت Collection دارید و می‌خواهید آن‌ها را به صفحات کوچک‌ تر تقسیم کنید.



تفاوت forPage با Pagination

1. متد forPage
- این متد فقط روی مجموعه‌ها کار می‌کند.
- ساده و سریع برای تقسیم داده‌های موجود در حافظه به صفحات.
- مناسب برای داده‌هایی که قبلاً از دیتابیس دریافت شده‌اند و نیاز به تقسیم‌بندی دارند.

2. متد Pagination
- در Pagination استاندارد لاراول، داده‌ها مستقیماً از دیتابیس به صورت صفحه‌بندی شده دریافت می‌شوند.
- بهینه‌تر برای مجموعه‌های بزرگ داده که نیاز به صفحه‌بندی در سطح دیتابیس دارند.
- از متدهایی مانند paginate و simplePaginate روی کوئری بیلدر (Query Builder) استفاده می‌شود.

حالا کی از هرکدام استفاده کنیم؟

- متد forPage:
- زمانی که مجموعه داده‌ها کوچک است و قبلاً در حافظه وجود دارد.
- برای مواردی که داده‌ها را از منابعی غیر از دیتابیس (مثلاً فایل‌های JSON یا API‌های دیگر) دریافت کرده‌اید و نیاز به صفحه‌بندی دارند.

- متد Pagination استاندارد:
- زمانی که مجموعه داده‌ها بزرگ است و می‌خواهید مستقیماً از دیتابیس داده‌ها را به صورت صفحه‌بندی شده دریافت کنید.
- برای حفظ کارایی و جلوگیری از بارگذاری تمامی داده‌ها در حافظه.

#لاراول #laravel


Linkedin
Redux Toolkit Queries چیست؟ | بررسی کامل RTK Queries در ری اکت

🔺 در برنامه های کاربردی وب مدرن، مدیریت واکشی داده ها و مدیریت استیت به طور موثر برای ساخت برنامه های کاربردی مقیاس پذیر و قابل نگهداری بسیار مهم است. Redux Toolkit Queries (RTK Queries) یک راه حل قدرتمند است که این کارها را ساده می کند و مجموعه ای از...

🌐 : Redux Toolkit Queries چیست؟ | بررسی کامل RTK Queries در ری اکت

#ری_اکت #ریداکس