Golden Code – Telegram
Golden Code
738 subscribers
53 photos
248 links
نکات laravel, php و...
Download Telegram
در لاراول متود toggle برای تغییر وضعیت یک ویژگی boolean به کار میره و به‌طور خودکار وضعیت رو تغییر میده.

ینی چی؟
مثلاً اگه یک ویژگی مثل "لایک" وجود داشته باشه، این متود وضعیت اونو از "like" به "dislike" یا برعکس تغییر میده،یعنی بدون اینکه نیاز به نوشتن کد اضافی داشته باشیم.

در تصویر زیر تاثیرش بر کوتاه شدنه کد رو به خوبی متوجه میبنید👌🏾
#laravel
@GoldenCodeir
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/OussamaMater/status/1854985544075252021?t=04wuOseETi6fhChi1rBf1w&s=35
👍5🔥2
در لاراول کدوم متود برای ذخیره extra attributes در pivot table برای رابطه ManyToMany استفاده میشه؟؟
Anonymous Quiz
16%
updateExistingPivot()
38%
withPivot()
36%
attach()
9%
sync()
5
با هوش مصنوعی پاسخ سوالاتتون رو خیلی سریعتر پیدا کنید🤖❤️‍🔥

مزیت ها:
- رایگان
- دسترسی به اینترنت (اطلاعات بروز)
- مشاهده پیام های قبلی

معایت:
- تنها عیبی که بنظرم داره، توضیحات طولانی تری میده که البته هدفش راهنمایی جامع هست. اما میتوانید با جمله «توضیحات کوتاه میخوام» بهش دستور بدین تا این مشکل رو هم نداشته باشه

ازش لذت ببرید👍

#هوش_مصنوعی
@GoldenCodeir

https://gemini.google.com
🔥3👍2
پارسا هستم اولین پیامی هست که تو این کانال دارم ارسال میکنم
خواستم یه موضوعی رو بگم که در واقع تجربه چندین ساله منه تو این stack :

من موقع شروع php ورژن 5.6 داشتم کار میکردم که الان تا 8.4 اومده
لاراول اون موقع ورژنش 6 بود فکر کنم
از اون موقعست با لاراول کار کردم تا الان ولی خب موضوعی که هست اینه که و حواستون باید باشه اینه ،
وقتی دارید با لاراول کار میکنید ، در واقع کد نویسی نمیکنید برنامه سازی میکنید ، خیلی فرق دارن این 2 تا کلمه ،
لاراول یه ساختاری ساده ساخته که به راحتی هر نرم افزاری بخوای بنویسی و در واقع واسط چارچوب ساخته و نمیتونی از این چارچوبه در بیای بیرون و ....
در واقع موضوعی که پیش اومده اینه محدود شدیم تو یه ساختار نمیتونیم بیرون بیاییم. و کل دنیای برنامه نویسی ما شده لاراول ، دنیای برنامه نویسی PHP فقط لاراول نیست :)
میکرو فریمورک هایی هم هست که خیلی سرعتشون بالاست
لینک لیست فریم ورک ها اینجاست

لذت ببرید و رتبه لاراول رو هم ببینید به چه حالته ... من حرفی ندارم

من دارم laminas رو یاد میگیرم. که توسط ZEND داره پشتیبانی میشه . و میشه گفت خودت انتخاب میکنی چی باشه و ساختار و skeleton به چه سبکی باشه ...

تقریبا اوایل داشتم برای خودم یه MVC میساختم ولی خب منصرف شدم ...
ولی خب در کل حرف آخرم اینه : سیاست لاراول مثل سیاست ماکروسافته خیلی گستره میره و به نظر من قرار نیست زیاد بالا بالا ها بمونه ....

مشتاقم نظر شما رو هم داخل کامنت ها ببینم 😁😊

@GoldenCodeir

#prs1378
👎115👍1😁1🫡1
Forwarded from Syntax | سینتکس (Daimon)
در برنامه‌نویسی، اصطلاح "Idiomatic" به معنای استفاده از الگوها و روش‌هایی است که در یک زبان برنامه‌نویسی خاص به عنوان استاندارد و رایج شناخته می‌شوند. این موضوع اهمیت زیادی دارد و چندین دلیل برای آن وجود دارد:

1. خوانایی کد: کدی که به صورت idiomatic نوشته شده باشد، برای سایر برنامه‌نویسانی که با آن زبان آشنا هستند، راحت‌تر قابل درک است. این باعث می‌شود که تیم‌ها به راحتی بتوانند با یکدیگر همکاری کنند.

2. نگهداری آسان‌تر: کدی که از الگوهای استاندارد پیروی می‌کند، به راحتی قابل نگهداری و اصلاح است. این امر به‌ویژه در پروژه‌های بزرگتر که افراد مختلفی روی آن کار می‌کنند، بسیار مهم است.

3. عملکرد بهتر: در بسیاری از موارد، استفاده از روش‌های idiomatic به بهبود عملکرد کمک می‌کند، زیرا این روش‌ها اغلب بهترین شیوه‌های بهینه‌سازی شده برای زبان مربوطه هستند.

4. کاهش خطاها: پیروی از الگوهای رایج به کاهش خطاها و باگ‌ها کمک می‌کند، زیرا این الگوها معمولاً توسط جامعه توسعه‌دهندگان آزمایش شده‌اند و مطمئن‌تر هستند.

#idiomatic

@Syntax_fa
👍82🔥1
Forwarded from آموزش لاراول | LaravelHub (rwx-rwx-rwx)
حل مشکل اجرای Apache در xampp
اجرای دستور زیر در CMD (اجرا با دسترسی administrator )

net stop http


🔥⚡️ کانال آموزشی LaravelHub
@LaraveHub
👍7
در لاراول وقتی نیاز به پردازش دیتای سنگین داریم میتونیم از lazy collection استفاده کنیم.

با استفاده از lazy collection درواقع دیتاها فقط زمانی که بهشون نیاز باشه لود میشن، پس بدلیل لود تدریجی سرعت بارگزاری بهتر میشه!
این یعنی برخلاف Collection معمولی که همه‌ی دیتاها رو یک‌جا لود میکنه.
#Laravel
@GoldenCodeir
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/thelarrybarker/status/1855281331770429474?t=W8HppF5MAi6ewngacubEXw&s=35
👍7
در لاراول، اگه بخوایم که یک route رو تنها برای متودهای خاص HTTP مثل GET یا POST محدود کنیم از کدوم متود باید استفاده کنیم؟
Final Results
49%
only()
8%
restrict()
30%
methods()
12%
except()
5👍2
Forwarded from laravel-news
✍️ 4 استاندارد رایج نام‌گذاری در برنامه‌نویسی (Laravel Edition) 🖋
در لاراول، استاندارد نام‌گذاری نقش مهمی در خوانایی و یکپارچگی کدها دارد. بیایید نگاهی به استانداردهای رایج بیندازیم:

اولی => Camel Case
🔹 فرمت: camelCase
🔹 استفاده در: متغیرها و متدها
🔹 مثال: $userProfile, getUserData()

دومی => Snake Case
🔹 فرمت: snake_case
🔹 استفاده در: نام ستون‌ها و جداول پایگاه داده
🔹 مثال: user_id, created_at

سومی => Kebab Case
🔹 فرمت: kebab-case
🔹 استفاده در: نام route‌ها یا فایل‌های CSS و JS
🔹 مثال: user-profile, job-application.js

چهارمی => Pascal Case
🔹 فرمت: PascalCase
🔹 استفاده در: نام کلاس‌ها
🔹 مثال: UserController, JobApplication

🎯 چرا استاندارد نام‌گذاری مهم است؟

خوانایی بالاتر
نگهداری آسان‌تر
کاهش احتمال خطا
8👍4
در لاراول گاهی اوقات نیازه که یک storage disk بطور موقت و در حالت (runtime) بسازیم، مثلاً برای فایل‌های temp یا تست.
این کار بدون نیاز به اعمال تغییرات در فایل config/filesystems.php بصورت زیر و به راحتی قابل انجامه
#laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید👇🏾)
https://x.com/OussamaMater/status/1863686467442065495?s=35
7🔥2
روشی برای به دست آوردن عرض scrollbar بدون استفاده از جاوااسکریپت که احتمالا به کارتون بیاد:

میتونیم عرض scrollbar رو به پیکسل در یک متغیر CSS ذخیره کنیم و ازش در هر قسمته دیگه از کد استفاده کنیم. همچنین میتونیم این مقدار رو بدون واحد و فقط مقدار عددیش رو بدستش بیاریم و نمایش بدیم. این روش باعث میشه کدمون ساده‌تر و برای تغییر راحت‌تر باشه.
#UI
#CSS
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/ChallengesCss/status/1857031287682334869?s=19
👍31
یه چیت شیت خوب واسه sql و css
خلاصه که عشق کنید😁

توو منبع اصلیش(لینک اخر) چیت شیتای بیشتری گذاشته، پیشنهاد میکنم بررسی کنین
#css
#sql
@GoldenCodeir

(منبع👇🏾)
https://x.com/swapnakpanda/status/1867820437310218716?s=19
🔥4
در لاراول با دستور زیر میتونیم خیلی راحت فایل‌های مورد نیاز برای یک مدل مدنظر رو ایجاد کنیم :

php artisan make:model Task -a


با اجرای دستور بالا فایل هایی از جمله TaskFactory, tasks_table, TaskSeeder, StoreTaskRequest, TaskController, TaskPolicy برامون ساخته میشه :)
#laravel
@GoldenCodeir
(به منبع و مثالش دقت کنین 👇🏾)
https://x.com/PovilasKorop/status/1868970650922086770?t=JgpOlyrGMx9Z1ZNuwUVLhg&s=35
👍7👏3
قابلیت where() در CSS به ما این امکان رو داده که استایل یکسانی رو به چندین عنصر مختلف بتونیم اعمال کنیم، بدون این که بخوایم برای هر کدومشون استایل مجزا بنویسیم.

برای این کار می‌تونیم نام selector ها رو داخل پرانتز قرار بدیم و اونارو با کاما از هم جدا کنیم. این کار باعث میشه کدهای CSS ما کوتاه‌تر، مرتب‌تر و خواناتر بشه.

.item :where(h1, h2, p) {  
color: red;
}

#CSS
@GoldenCodeir
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/DevKhan03/status/1868564057306919234?t=PFsXj5Xnqgrsy_NlxBJ6bw&s=35
👍4🆒1
Forwarded from Web Application Security
آسیب پذیری CRLF injection =

اگه هکر به عنوان user input به وب اپلیکیشن کاراکترهای CRLF یا همون
%0d%0a
رو تزریق کنه و وب اپلیکیشن رو تحت تاثیر قرار بده آسیب پذیری به وجود میاد.
به صورت کلی CRLF چیه؟ همون کلید Enterخودمون.
چه زمانی آسیب پذیری به وجود میاد؟ وقتی که ورودی کاربر به صورت ناامن در یک response Header قرار بگیرد.
پیش نیازها:

1. هر Header با Header بعدی با یک CRLF جدا میشود.
2. آخرین Header با Body با دو CRLF جدا میشود.
کاربردها:

1. سواستفاده از CRLF برای bypass کردن.
2. اکسپلویت سایر آسیب پذیری ها.
3. به وجود آوردن آسیب پذیری های مختلف‌.

1⃣ سواستفاده از CRLF برای bypass کردن:
اگه تو حملات injection نیاز به bypass داشتیم میتونیم از CRLF استفاده کنیم. برای مثال در command injection میتونیم از 0a% به عنوان یک command separator استفاده کنیم وقتی که سایر command separator هایی مثل | در blacklist قرار دارند.
و یا در XSS وقتی نیاز به بستن تگ داریم برای اکسپلویت و اجازه نداریم تگ رو ببندیم، از CRLF برای bypass استفاده میکنیم.
</noscript>
</noscript%0a>

2⃣ اکسپلویت سایر آسیب پذیری ها:
وقتی آسیب پذیری تو header ها وجود داره، برای اکسپلویت باید از CRLF injection کمک بگیریم در غیر این صورت آسیب پذیری self هست.
برای مثال اگه مقدار هدر X-Forwarded-For تو صفحه reflect میشه و XSS میخوره، واسه اکسپلویت آسیب پذیری باید با یک CRLF injection ترکیب بشه(راه های دیگه ای هم برای اکسپلویت این نوع XSS وجود داره مثل cache poisoning)

3⃣ به وجود آوردن آسیب پذیری های مختلف:
اگه ورودی کاربر در Response Header ها قرار بگیره، میتونیم response در دستکاری کنیم و به آسیب پذیری های مختلفی برسیم. فرض کنین که ورودی کاربر در قالب پارامتر username در cookie قرار میگیرد، ما میتونیم با دوتا CRLF زدن، Body رو کنترل کنیم و پیلود XSS خودمون رو قرار بدیم:
app.php?username=salam%0d%0a%0d%0a<img src=x onerror=alert()>

نکته آخر:
ممکنه بتونیم با این آسیب پذیری response هدر های امنیتی رو غیر فعال یا بازنویسی کنیم در مرورگر قربانی.

#CRLF_injection
👍3🙏2🤯1
در لاراول وقتی که داده‌ها از طریق فرم‌ها اعتبارسنجی میشن ممکنه بعضی ازونا فقط برای بررسی باشند و نیازی به ذخیره‌سازیشون در دیتابیس نداشته باشیم.

مثلا؟

وقتی یک فیلد مثل password_confirmation که فقط برای بررسی صحت پسورد قراره استفاده بشه و در نهایت نیازی به ذخیره ی اون نداریم میتونیم براش از exclude استفاده کنیم. اینجوری فقط دیتای مورد نیاز به دیتابیس ارسال میشه.
#Laravel
@GoldenCodeir
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/_newtonjob/status/1863869299569426803?t=3EjqobGwiK4Wm5Tdiq7jfQ&s=35
👍43💯1
ظاهر فرم ها بطور پیشفرض سادست ولی یه سری مواقع نیازه کاستوم بشن. یک قابلیتی که css ارائه داده و خیلی مفیده accent-color هستش.

با این قابلیت میشه حتی اجزای فرم مثل check box یا radio button ها رو هم به زیبایی کاستومشون کرد بصورت دیفالت تا با ظاهر سایت هماهنگ تر بشن👌🏾
#Css
#UI
@GoldenCodeir
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/csaba_kissi/status/1695692651188916575?t=QCxTPRVdbovbQJ-9Z8PD7w&s=35
🔥5👍1
با استفاده از Fallback Routes در لاراول میتونیم مسیرهایی که وجود ندارن (مثل آدرس‌های اشتباه) رو به خوبی مدیریت کنیم.
یعنی بجای نمایش صفحه‌ خطای دیفالته لاراول، یک صفحه‌ی 404 کاستومایز شده و زیبا به کاربران نشون بدیم.
#Laravel
@GoldenCodeir
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/thelarrybarker/status/1873216756585578777?t=XRUrSUzmCADikGkArfGXVA&s=35
👍63
قابلیت @ supports به ما این امکان رو داده تا بتونیم بررسی کنیم آیا یک ویژگی CSS توسط مرورگر پشتیبانی میشه یا نه.
مثلاً ممکنه یه مرورگر نتونه ویژگی‌های جدید رو درست نشون بده.

در صورتیکه از ویژگی پشتیبانی بشه استایل‌ مدنظر اعمال میشه ، و در غیر این صورت میتونیم استایل‌های دیگه برای مرورگرهای قدیمی‌تر تنظیم کنیم با این قابلیت.
(در تصویر مثالش درج شده کامل)

#CSS
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/codewithshripal/status/1855983339574030540?t=hLQU1LKcGWjs93IvrIrsWA&s=35
👍3🔥31
در لاراول، برای جلوگیری از اجرای هم‌زمان یک عملیات با استفاده از کش، از کدوم متود باید استفاده کنیم؟
Final Results
18%
Cache::getLock
26%
Cache::acquireLock
23%
Cache::setLock
34%
Cache::lock
👍82