Golden Code
794 subscribers
67 photos
264 links
نکات laravel, php و...
Download Telegram
Golden Code pinned «🔴 سلام ازین به بعد درصورت تمایل می‌تونید اکانت‌های موردنظرتون رو با تحویل سریع و تضمین امنیت از طریق ماهم تهیه بفرمایید . کلیه قیمت ها مناسب و رقابتی میباشند. سوالی هم اگه بود از طریق پشتیبانی درخدمتیم ( اکانت بر ایمیل خودتون بطور اختصاصی ایجاد خواهد شد)…»
🔶 حالا که اینترنت تا حدی وصل شده است، هرچند هنوز کامل و پایدار نیست و بیشتر VPNها هم کار نمی‌کنند، لطفاً تا حد امکان همه نرم ‌افزارها و پکیج ‌ها، به ‌خصوص بسته‌های لینوکسی را به ‌روز رسانی کنید.

یک روز هم تأخیر نکنید؛ چون اگر دوباره جنگ شروع شود، احتمالاً باز هم با قطعی اینترنت روبه‌رو خواهیم شد.

لازم است با این شرایط کنار بیاییم و راهی جز این نداریم.

@TheRaymondDev
👍1
Forwarded from یک برنامه نویس تنبل (  MΞ)
3
Forwarded from Foad Labs
کامیونیتی نکست و شرکت بنیانگذار اون یعنی ورسل داره توی ۳ کشور اروپایی ایونت برگزار میکنه
که مهموناش از خفنای تیم نکست هستن 🤌🏻

پ.ن : سایتشون آدمو به هوس میندازه شرکت کنی 😂

🌐 https://nextjs.org/nights
4
دیس سنگین تلگرام به متا در رابطه با ارائه اشتراک پلاس به قیمت ۴ دلار برای اینستاگرام، فیسبوک و واتساپ

ترجمه پیام تلگرام: ظاهراً فروش دیتای مردم برای سهام‌دارانشون کافی نبوده 😂
🥴11😎21
اگه از دیتابیس SQL Export گرفتین و میخواید اونو به Seeder تبدیل کنید، لازم نیست چندین خط "INSERT" رو به کد تبدیل کنید.

بجای این کار، فایل SQL رو مستقیما در Seeder اجرا کنید:
$sql = File::get(database_path('seeders/sql/data.sql'));

DB::unprepared($sql);

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

(مناسب برای Migration از پروژه‌های قدیمی)✅️
#Laravel #لاراول

@GoldenCodeir
(به منبع و مثالش توجه کنید 👇🏾)
https://x.com/i/status/2059933970037428468
👍6🔥2
🔶 اگر حساب لینکدین رو با IP ایران ساخته‌اید، بهتره تا جای ممکن با VPN وارد نشوید.

لینکدین روی IP هایی که باهاش وارد حساب می‌شید خیلی حساس است. اگر مدام با VPN و IP های مختلف وارد بشید، ممکنه سیستم امنیتی لینکدین به حسابت مشکوک بشه و اون رو محدود یا حتی مسدود کند و در این صورت، بازگرداندن حساب معمولاً دردسر و زمان زیادی می‌بره.

پس تا زمانی که لینکدین آزاد نشده، از VPN استفاده نکنید.

@TheRaymondDev
💔2👍1
یوتیوب ۱۶ کانال را حذف کرد
با بیش از ۴.۷ میلیارد بازدید و ۳۵ میلیون مشترک

همه در یک موج ناپدید شدند
😢8
بصورت پیش‌فرض، اگه کلاینت هدر "Accept: application/json" رو ارسال نکند، لاراول حتی برای مسیرهای API هم ممکنه پاسخ خطارو بصورت HTML برگردونه

این یعنی فرانت یا اپ موبایل به‌جای JSON با یک صفحه HTML مواجه میشه !

برای جلوگیری ازین مشکل، در "bootstrap/app.php" مشخص کنین که تمام Exception های مربوط به API همیشه به‌صورت JSON رندر بشن:
->withExceptions(function ($exceptions) {
$exceptions->shouldRenderJsonWhen(
fn ($request) => $request->is('api/*')
);
})

نتیجش؟

- خطاهای API همیشه JSON هستند.
- برای رندر خطاهای API دیگه به هدر Accept وابسته نیستید.

#Laravel #Laravel_tip #لاراول

@GoldenCodeir
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/i/status/2058846806209892357
👍7
Forwarded from کدنیوز | CodeNews
👩‍💻 بررسی تغییرات جدید لاراول 13

⚡️ لاراول ۱۳ روند انتشار سالانه خود را ادامه می‌دهد و این بار تمرکز ویژه‌ای برکارهای مبتنی بر هوش مصنوعی و APIهای توسعه‌دهنده‌پسندتر دارد. در این نسخه، قابلیت‌های اولیه و رسمی هوش مصنوعی، JSON:API، امکانات جستجوی برداری (Vector Search) و همچنین بهبودهای تدریجی در بخش‌های صف‌ها (Queues)، کش (Cache) و امنیت ارائه شده‌اند.


نویسنده: میلاد خسروی

#کد_نیوز #کدنیوز #CodeNews #code_news
#لاراول #لاراول۱۳ #laravel #laravel13 #php

🌐 https://code-news.com/p/laravel-13-changes

💬💬💬💬💬
📱 CodeNews
📱 CodeNews
📱 CodeNews
📱 CodeNews
📱 CodeNews
👨‍💻 CodeNews
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥421
🔶 سرویس های تحریم شده ایران که برای کاربران ایرانی در دسترس است دارای DNS خارجی همان تحریم گذر است.

یعنی خود شرکت های خارجی دسترسی بر روی ایرانیان باز نکرده است و ما آن را باز کردیم یعنی تحریم ها رو دور زدیم و به واسطه DNS تحریم گذر که سایت تحریم شده رو باز می کنیم که خود سیستم فکر می کنه کاربر خارجی است و اجازه دسترسی می دهد.

وقتی VPN روشن می‌کنید، انگار کلاً از یه کشور دیگه وارد اینترنت می شوید؛ آی ‌پی‌ عوض می‌شه و سایت ‌ها فکر می‌کند, خارجی هستید.

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

برای همین VPN واقعاً هویت اینترنتی عوض می ‌کند، اما DNS بیشتر مثل یه میان ‌بُر یا راهنمای آدرس عمل می‌کنه، نه تغییر هویت.

@TheRaymondDev
3
🔶 البته این روش دور زدن DNS کارایی چندانی ندارد و محدودیت هایی دارد و احتمال مسدود شدن آن بالاست.

- امنیت ندارد (رمزنگاری نمی‌کند)
- فقط برای بعضی سایت‌ها کار می‌کند
- آی ‌پی واقعی‌ هنوز لوکیشن اصلی نشان می دهد

بنابراین شرکت ها در صورت شناسایی آدرس DNS اصلی می تواند آن را مسدود کند.

@TheRaymondDev
امروزه بخش زیادی از اپلیکیشن‌های ما رو کدی تشکیل میده که خودمون ننوشتیم؛ یعنی پکیج‌ها و... .(Third-Party Dependencies )

قبلاً وقتی از امنیت صحبت می‌کردیم، ذهن همه به سمت SQL Injection و XSS میرفت. اما امروز یکی از مهم‌ترین تهدیدها، Supply Chain Attacks هستش؛ جایی که نفوذگر به جای حمله مستقیم به پروژه ی شما، یکی از پکیج‌های مورد استفادتون رو هدف قرار میده.

📌 چند نکته مهم:

صرفا به‌خاطر جدیدتر بودن یک نسخه، بهش اعتماد نکنید.

قبل از اجرای "composer update" تغییرات نسخه‌های جدید رو بررسی کنید.

هر پکیج جدید، یک سطح اعتماد و یک ریسک امنیتی جدید میتونه باشه.

برای قابلیت‌های ساده، تا حد امکان از اضافه کردن پکیج های غیرضروری خودداری کنیم.

امنیت فقط مربوط به کدی که می‌نویسیم نیست، مربوط به تمام کدهاییه که بهشون اعتماد کردیم :)
#Laravel_tip #Laravel #php

@GoldenCodeir
(به منبع توجه کنید👇🏾)
https://x.com/i/status/2058156025769853168
2👍1
🔶 یکی از مشکلاتی که با ویرایشگرهای کد نویسی مبتنی بر هوش مصنوعی داریم این است که کد را مستقیم تولید و ثبت می‌کنند، اما هیچ تضمینی وجود ندارد که آن کدها بدون خطا و کاملاً سالم باشند.

از برنامه‌نویسان تازه ‌کار هم انتظار نمی‌رود که بتوانند به ‌درستی مشکلات کد را شناسایی کنند؛ در نتیجه معمولاً کد را بدون بررسی تأیید کرده و وارد پروژه می‌کنند. اگر هم خطایی رخ دهد، دوباره به هوش مصنوعی مراجعه می‌کنند تا کد را اصلاح کند و این چرخه ممکن است چندین بار تکرار شود تا شاید در نهایت کد درست کار کند.

اگر برنامه ‌نویس حرفه‌ای هستید و به کدهای تولید شده توسط هوش مصنوعی اعتماد کامل ندارید، بهتر است از بخش «Ask» در ویرایشگر های هوش مصنوعی استفاده کنید. ابتدا سوالات خود را بپرسید و کد را بررسی کنید، سپس فقط بخش ‌هایی را که از صحت آن مطمئن هستید وارد پروژه کنید. این روش باعث می‌شود احتمال خطا در پروژه به ‌طور قابل توجهی کاهش پیدا کند.

#هوش_مصنوعی

@TheRaymondDev
👍32
🔶 شرکت Letsencrypt در به روزرسانی مستندات خود اعلام کرد که قادر به ارائه خدمات گواهی SSL در کشورهای تحت تحریم آمریکا نیست.

#خبر

@TheRaymondDev
😐3
Forwarded from Foad Labs
🚀 سری ۵ قسمتی: Next.js Architecture Mastery
🟠 پارت ۴ — اولین تفکیک (UI vs Logic)

تا اینجا دیدیم معماری بد چطور پروژه رو فلج می‌کنه. حالا وقتشه اولین و مهم‌ترین قدم رو برای نجات پروژه برداریم :
جدا کردن ظاهر (UI) از منطق (Logic).

Components vs Services
بزرگ‌ترین اشتباه اینه که ما میایم توی کامپوننت خودمون (مثلا فرم ثبت‌نام) کاری میکنیم که کامپوننت مستقیما بدونه دیتا چطوری فچ میشه یا به کدوم API ریکوئست میزنه.
کامپوننت باید "کودن" (Dumb) باشه! یعنی فقط وظیفه داره پراپس یا دیتا رو بگیره و ظاهر رو نشون بده. منطق کار (مثل کال کردن API) باید بره تو یه لایه‌ ی دیگه، مثلا فولدری به اسم services/ یا lib/.

استارت ذهنیت لایه‌ بندی
با این کار، به جای یه فایل شلوغ که همه‌چیز توشه، دوتا فایل تمیز داری :
UserService.ts:
که فقط کارش گرفتن دیتای کاربر از API هست.
UserProfile.tsx:
که فقط دیتایی که از سرویس گرفته رو خوشگل نشون میده.

چرا این کار واجبه؟
قابلیت استفاده مجدد : اگه یه جای دیگه پروژه هم دیتای کاربر رو خواستی، فقط سرویس رو صدا میزنی، نه اینکه دوباره کد فچ بنویسی.
نگهداری راحت‌تر : اگه آدرس API عوض شد، فقط یه فایل (سرویس) رو ادیت می‌کنی، نه ۱۰ تا کامپوننت رو!

👇 برای امروز اینو یادت باشه هربار که میخای یه کامپوننت بسازی :
کامپوننت‌های تو نباید باهوش باشن
اونا فقط باید خوشگل دیتارو نشون بدن!

#Labs_fiveStepToMasterInNextArchitecture
بیشتر ما می‌نویسیم:
$user = User::where('email', $email)->firstOrFail();

اما اگه انتظار دارین دقیقاً یک رکورد وجود داشته باشه، "sole()" میتونه انتخب بهتری باشه:
$user = User::where('email', $email)->sole();

تفاوتشون؟

شرایطی رو تصور کنید که به اشتباه دو رکورد با ایمیل یکسان داریم.
اگه از sole استفاده کنیم بهمون خطا میده چون انتظار داره فقط یک رکورد برگرده،

اما firstOrFail میره و اولین رکورد رو برامون میاره

"firstOrFail()"

- اگه رکوردی نباشد : خطا
- اگر چند رکورد باشن : اولین رکورد رو برمی‌گردونه

"sole()"

- اگه رکوردی نباشه :خطا
- اگر چند رکورد باشد : خطا

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

#Laravel #Laravel_tip #لاراول

@GoldenCodeir 🔥
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/i/status/2062587421121028409
👍81🤝1
Forwarded from Code Lab (Negar)
🥽اگر میخوای افکتای شیشه ای توی پروژت استفاده کنی اما وقتشو نداری و دنبال یه ابزاری که این کارو برات انجام بده. Aether CSS این کارو میکنه.

این ابزار میتونه Liquid Glass های محبوب رو مثل Glassmorphism خیلی سریع Generate کنه و با یه رابط کاربری ساده میتونی کاستومش کنی و کد CSS اشو برای پروژه خودت استفاده کنی.

🔗 https://aethercss.lovable.app

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


#css
CODELAB | GpCodeLab
3👍21
Forwarded from Foad Labs
☝🏻 قدم اول
خیلی‌ها فکر می‌کنن دیزاین سیستم یعنی همون فایل فیگما که طراح بهمون میده. اما تو دنیای مهندسی نرم‌افزار، دیزاین سیستم خودش یک "محصول" است که به محصولات دیگر سرویس میده!
حالا این یعنی چی دقیقا؟ 🤔

دیزاین سیستم چیست؟
🎨
مجموعه‌ای یکپارچه از عناصر رابط کاربری (UI) قابل استفاده مجدد هست که تیم‌ها برای ساخت محصولاتشون از اون‌ها استفاده میکنن تا یک تجربه کاربری (UX) کاملا سازگار و استاندارد خلق کنن.

مثلا فرض کنین توی شرکتی کار میکنین که ۳ تا پروژه مختلف داره :
۱. سایت اصلی (Landing Page)
۲. پنل ادمین
۳. داشبورد مشتریان

بدون دیزاین سیستم : شما باید کدِ یه دکمه یا فرم ساده رو حداقل ۳ بار توی این پروژه‌ها تکرار کنید! 🤦‍♂️
با دیزاین سیستم : بدون هیچ تکرار کدی، همه‌چیز از یک منبع مشترک فراخوانی میشه
import { Button } from '@company/design-system'


در واقع این دیزاین سیستم به عنوان یه مرجع حقیقی (Single Source of Truth) برای پروژه‌های شرکت عمل می‌کنه 🎯

حالا جادوی اصلی کجاست؟ برای مثال، شرکت ری‌برند (Re-brand) میکنه و تصمیم میگیره رنگ اصلی برند و تمام پروژه‌هاش رو به «آبی» تغییر بده اگه دیزاین سیستم نداشته باشی، باید بری هزاران فایل رو تو پروژه‌های مختلف پیدا کنی و دستی تغییر بدی. اما با دیزاین سیستم، فقط کافیه رنگ رو توی همون کتابخونه‌ی مرجع عوض کنی؛ با همین یک تغییر، رنگ تمام پروژه‌های شرکت به صورت یکپارچه و خودکار آپدیت میشه ⚡️😎