🚀 برنامهنویسان عزیز 🚀
🔥 آیا به دنبال آخرین اخبار برنامهنویسی هستید؟
🔥 میخواهید با بهروزترین تکنیکهای لاراول، پیاچپی و جاوااسکریپت آشنا شوید؟
🌟 به جمع ما در [PapiDon_state](https://t.me/PapiDon_state) بپیوندید! 🌟
🔍 ما در این کانال با شما هستیم تا:
- آخرین و بهروزترین مطالب در زمینه برنامهنویسی را با شما به اشتراک بگذاریم.
- تکنیکها و ترفندهای جدید لاراول، پیاچپی و جاوااسکریپت را آموزش دهیم.
- با شما در مورد آخرین اخبار و تحولات دنیای برنامهنویسی گفتگو کنیم.
✨ تبدیل شوید به یک برنامهنویس حرفهای و بهروز با ما! ✨
👉 [پیوند به کانال PapiDon_state](https://t.me/PapiDon_state)
🤝 به ما بپیوندید و از دنیای بیپایان کدنویسی لذت ببرید. 🤝
https://t.me/PapiDon_state
🔥 آیا به دنبال آخرین اخبار برنامهنویسی هستید؟
🔥 میخواهید با بهروزترین تکنیکهای لاراول، پیاچپی و جاوااسکریپت آشنا شوید؟
🌟 به جمع ما در [PapiDon_state](https://t.me/PapiDon_state) بپیوندید! 🌟
🔍 ما در این کانال با شما هستیم تا:
- آخرین و بهروزترین مطالب در زمینه برنامهنویسی را با شما به اشتراک بگذاریم.
- تکنیکها و ترفندهای جدید لاراول، پیاچپی و جاوااسکریپت را آموزش دهیم.
- با شما در مورد آخرین اخبار و تحولات دنیای برنامهنویسی گفتگو کنیم.
✨ تبدیل شوید به یک برنامهنویس حرفهای و بهروز با ما! ✨
👉 [پیوند به کانال PapiDon_state](https://t.me/PapiDon_state)
🤝 به ما بپیوندید و از دنیای بیپایان کدنویسی لذت ببرید. 🤝
https://t.me/PapiDon_state
❤1👍1
🔍 مهارتهای اساسی غیرفنی (Soft Skills) برای برنامهنویسان 🔍
همگان میدانند که برنامهنویسان نیاز به مهارتهای فنی خاص خودشان دارند. اما آیا میدانید که مهارتهای غیرفنی نیز در موفقیت آنها نقش پررنگی دارد؟
🔹 1. ارتباط موثر: با مشتریان، تیم و مدیران.
🔹 2. حل مسئله: شناسایی و رفع چالشها.
🔹 3. یادگیری مداوم: با تغییرات فناوری همگام باشید.
🔹 4. کار گروهی: همکاری با افراد با تخصصهای متفاوت.
🔹 5. مدیریت زمان: اولویتبندی و انجام وظایف در زمان مقرر.
🔹 6. پذیرش نقد: استفاده از فیدبک برای بهبود.
🔹 7. مدیریت استرس: مقابله با فشارهای کاری.
🔹 8. رویکرد مشتریمدار: فهم و پاسخ به نیازهای مشتری.
🔹 9. تصمیمگیری: در مواقع حساس و ناخواسته.
🔹 10. مسئولیتپذیری: پذیرش خطاها و یادگیری از آنها.
🚀 هرگز فراموش نکنید که موفقیت در دنیای برنامهنویسی نه تنها به دانش فنی بستگی دارد، بلکه به تواناییهای انسانی و تعامل با دیگران نیز وابسته است.
#PapiDon
@PapiDon_state
همگان میدانند که برنامهنویسان نیاز به مهارتهای فنی خاص خودشان دارند. اما آیا میدانید که مهارتهای غیرفنی نیز در موفقیت آنها نقش پررنگی دارد؟
🔹 1. ارتباط موثر: با مشتریان، تیم و مدیران.
🔹 2. حل مسئله: شناسایی و رفع چالشها.
🔹 3. یادگیری مداوم: با تغییرات فناوری همگام باشید.
🔹 4. کار گروهی: همکاری با افراد با تخصصهای متفاوت.
🔹 5. مدیریت زمان: اولویتبندی و انجام وظایف در زمان مقرر.
🔹 6. پذیرش نقد: استفاده از فیدبک برای بهبود.
🔹 7. مدیریت استرس: مقابله با فشارهای کاری.
🔹 8. رویکرد مشتریمدار: فهم و پاسخ به نیازهای مشتری.
🔹 9. تصمیمگیری: در مواقع حساس و ناخواسته.
🔹 10. مسئولیتپذیری: پذیرش خطاها و یادگیری از آنها.
🚀 هرگز فراموش نکنید که موفقیت در دنیای برنامهنویسی نه تنها به دانش فنی بستگی دارد، بلکه به تواناییهای انسانی و تعامل با دیگران نیز وابسته است.
#PapiDon
@PapiDon_state
❤2
🔍 آشنایی با سیستم LAMP
آیا تا به حال با این سوال روبرو شدهاید که LAMP چیست؟
🌐 What is LAMP ?
مخففی است از مجموعهای از نرمافزارهای متنباز که به صورت ترکیبی برای احداث و بهرهبرداری از وبسایتها و وباپلیکیشنها استفاده میشوند.
🔢 مولفههای LAMP:
1. L: Linux – سیستمعامل مبتنی بر لینوکس.
2. A: Apache – وبسرور محبوب و متنباز.
3. M: MySQL – سیستم مدیریت پایگاه داده رابطهای.
4. P: PHP – زبان برنامهنویسی (گاهی به Perl یا Python هم میپردازند).
📌 @PapiDon_state
آیا تا به حال با این سوال روبرو شدهاید که LAMP چیست؟
🌐 What is LAMP ?
مخففی است از مجموعهای از نرمافزارهای متنباز که به صورت ترکیبی برای احداث و بهرهبرداری از وبسایتها و وباپلیکیشنها استفاده میشوند.
🔢 مولفههای LAMP:
1. L: Linux – سیستمعامل مبتنی بر لینوکس.
2. A: Apache – وبسرور محبوب و متنباز.
3. M: MySQL – سیستم مدیریت پایگاه داده رابطهای.
4. P: PHP – زبان برنامهنویسی (گاهی به Perl یا Python هم میپردازند).
📌 @PapiDon_state
❤1
🛠 Factory Pattern 🛠
همیشه در هنگام نوشتن کد با مواردی مواجه میشویم که نیاز به ایجاد نمونههای متعدد از یک کلاس داریم. الگوی Factory به ما کمک میکند تا این فرایند را سادهتر و منظمتر کنیم.
🧐 چرا از الگوی Factory ؟
1️⃣جداسازی فرآیند ایجاد نمونه از کد اصلی.
2️⃣انعطافپذیری بیشتر: تغییر نحوه ایجاد نمونه بدون تغییر در کد اصلی.
3️⃣ مدیریت آسانتر و ساختار بهتر برای کد.
4️⃣کد خالصتر و منظمتر.
✨در Laravel، الگوی Factory همراه با Dependency Injection استفاده میشود، که ساخت نمونههای پیچیدهتر را آسانتر میکند.
⚙️ با استفاده از Factory Pattern، میتوانید نوشتار کد خود را منعطفتر و قابل مدیریتتر کنید.
📌@PapiDon_state
همیشه در هنگام نوشتن کد با مواردی مواجه میشویم که نیاز به ایجاد نمونههای متعدد از یک کلاس داریم. الگوی Factory به ما کمک میکند تا این فرایند را سادهتر و منظمتر کنیم.
🧐 چرا از الگوی Factory ؟
1️⃣جداسازی فرآیند ایجاد نمونه از کد اصلی.
2️⃣انعطافپذیری بیشتر: تغییر نحوه ایجاد نمونه بدون تغییر در کد اصلی.
3️⃣ مدیریت آسانتر و ساختار بهتر برای کد.
4️⃣کد خالصتر و منظمتر.
✨در Laravel، الگوی Factory همراه با Dependency Injection استفاده میشود، که ساخت نمونههای پیچیدهتر را آسانتر میکند.
⚙️ با استفاده از Factory Pattern، میتوانید نوشتار کد خود را منعطفتر و قابل مدیریتتر کنید.
📌@PapiDon_state
❤1
Forwarded from کانال آموزشی لاراول (PapiDon)
📲 PWA ( Progressive Web Apps )
اپلیکیشنهای وبی هستند که تجربه مشابه اپلیکیشنهای موبایل را فراهم میکنند. این تکنولوژی افزایش تعامل کاربر با وبسایت و بهینهسازی مصرف دادهها را میآورد.
⚙️ کاربردهای PWA
1️⃣ بهبود سرعت بارگذاری وبسایت
2️⃣ کارکرد بدون اتصال به اینترنت
3️⃣ ارسال پوش نوتیفیکیشن
4️⃣ امکان اضافه کردن به صفحه اصلی دستگاهها مانند یک اپلیکیشن موبایل
5️⃣ بهینهسازی مصرف دادهها
6️⃣ افزایش تعامل کاربر با وبسایت
✨ تکنولوژی PWA
🔸Service Workers:
اسکریپتهایی که در پسزمینه اجرا میشوند و امکان کارکرد بدون اتصال به اینترنت، پیشبارگیری منابع و پوش نوتیفیکیشنها را فراهم میآورند.
🔹Manifest:
فایلی به فرمت JSON است که اطلاعات مرتبط با نمایش و اجرای اپلیکیشن را برای استفاده در دستگاههای مختلف در بر دارد.
🔸Caching:
با استفاده از Service Workers، منابع وبسایت در دستگاه کاربر ذخیره میشوند، اکه این امر امکان بارگیری سریعتر و کارکرد بدون اتصال به اینترنت را فراهم میآورد.
📌@PapiDon_state
اپلیکیشنهای وبی هستند که تجربه مشابه اپلیکیشنهای موبایل را فراهم میکنند. این تکنولوژی افزایش تعامل کاربر با وبسایت و بهینهسازی مصرف دادهها را میآورد.
⚙️ کاربردهای PWA
1️⃣ بهبود سرعت بارگذاری وبسایت
2️⃣ کارکرد بدون اتصال به اینترنت
3️⃣ ارسال پوش نوتیفیکیشن
4️⃣ امکان اضافه کردن به صفحه اصلی دستگاهها مانند یک اپلیکیشن موبایل
5️⃣ بهینهسازی مصرف دادهها
6️⃣ افزایش تعامل کاربر با وبسایت
✨ تکنولوژی PWA
🔸Service Workers:
اسکریپتهایی که در پسزمینه اجرا میشوند و امکان کارکرد بدون اتصال به اینترنت، پیشبارگیری منابع و پوش نوتیفیکیشنها را فراهم میآورند.
🔹Manifest:
فایلی به فرمت JSON است که اطلاعات مرتبط با نمایش و اجرای اپلیکیشن را برای استفاده در دستگاههای مختلف در بر دارد.
🔸Caching:
با استفاده از Service Workers، منابع وبسایت در دستگاه کاربر ذخیره میشوند، اکه این امر امکان بارگیری سریعتر و کارکرد بدون اتصال به اینترنت را فراهم میآورد.
📌@PapiDon_state
❤1👍1
Forwarded from کانال آموزشی لاراول (PapiDon)
🧐 What is Pure Functions ?
✨توابع خالص یا Pure Functions مفهوم مهمی در برنامهنویسی هستند که دارای دو ویژگی اصلی میباشند:
1️⃣ خروجی ثابت: برای ورودیهای مشابه، همیشه یک خروجی یکسان تولید میکنند.
2️⃣ عدم وجود اثرات جانبی (Side Effects): هیچ تغییری در وضعیت برنامه یا متغیرهای خارج از تابع ایجاد نمیکنند.
این تابع با گرفتن دو عدد، جمع آنها را بر میگرداند و هیچ Side Effect ندارد.
⚙️ مزایا :
🔹پیشبینیپذیری: به دلیل اینکه خروجی توابع خالص فقط به ورودیهایش بستگی دارد, برنامهنویس میتواند از رفتار آنها مطمئن باشد.
🔸تستپذیری: توابع خالص راحتتر میتوانند تست شوند چون فقط باید ورودی داده شده و خروجی تولید شده را بررسی کرد.
🔹قابلیت ترکیبپذیری: توابع خالص میتوانند راحتتر با یکدیگر ترکیب شوند تا وظایف پیچیدهتری انجام دهند.
📌@PapiDon_state
✨توابع خالص یا Pure Functions مفهوم مهمی در برنامهنویسی هستند که دارای دو ویژگی اصلی میباشند:
1️⃣ خروجی ثابت: برای ورودیهای مشابه، همیشه یک خروجی یکسان تولید میکنند.
2️⃣ عدم وجود اثرات جانبی (Side Effects): هیچ تغییری در وضعیت برنامه یا متغیرهای خارج از تابع ایجاد نمیکنند.
function add(a, b) {
return a + b;
}این تابع با گرفتن دو عدد، جمع آنها را بر میگرداند و هیچ Side Effect ندارد.
⚙️ مزایا :
🔹پیشبینیپذیری: به دلیل اینکه خروجی توابع خالص فقط به ورودیهایش بستگی دارد, برنامهنویس میتواند از رفتار آنها مطمئن باشد.
🔸تستپذیری: توابع خالص راحتتر میتوانند تست شوند چون فقط باید ورودی داده شده و خروجی تولید شده را بررسی کرد.
🔹قابلیت ترکیبپذیری: توابع خالص میتوانند راحتتر با یکدیگر ترکیب شوند تا وظایف پیچیدهتری انجام دهند.
📌@PapiDon_state
❤1
Forwarded from کانال آموزشی لاراول (PapiDon)
🧐 What is Impure Functions ?
✨ توابع ناخالص یا Impure Functions در مقابل توابع خالص قرار دارند و دو ویژگی اصلی دارند:
1️⃣ وابستگی به حالت خارجی: ممکن است به متغیرها یا حالتهای خارجی وابسته باشند و خروجیشان تنها با توجه به ورودیها قابل پیشبینی نباشد.
2️⃣ وجود Side Effect: مثل تغییر متغیرهای خارجی, انجام ورودی/خروجی و غیره.
این تابع با گرفتن یک متغیر خارجی, مقدار آن را یک واحد افزایش میدهد.
⚠️ توابع ناخالص ممکن است پیچیدگی بیشتری به برنامه اضافه کنند و قابلیت تست و تحلیل برنامه را کاهش دهند. در برنامهنویسی تابعی, توصیه میشود که از توابع خالص بیشتری استفاده کنید تا برنامهی سادهتر و قابل فهمتری داشته باشید.
توابع ناخالص در برخی موارد لازم و مفید هستند, اما استفاده زیاد از آنها ممکن است به سختیهای بیشتری منجر شود. 💡
📌@PapiDon_state
✨ توابع ناخالص یا Impure Functions در مقابل توابع خالص قرار دارند و دو ویژگی اصلی دارند:
1️⃣ وابستگی به حالت خارجی: ممکن است به متغیرها یا حالتهای خارجی وابسته باشند و خروجیشان تنها با توجه به ورودیها قابل پیشبینی نباشد.
2️⃣ وجود Side Effect: مثل تغییر متغیرهای خارجی, انجام ورودی/خروجی و غیره.
let count = 0;
function increment() {
count++;
}
این تابع با گرفتن یک متغیر خارجی, مقدار آن را یک واحد افزایش میدهد.
⚠️ توابع ناخالص ممکن است پیچیدگی بیشتری به برنامه اضافه کنند و قابلیت تست و تحلیل برنامه را کاهش دهند. در برنامهنویسی تابعی, توصیه میشود که از توابع خالص بیشتری استفاده کنید تا برنامهی سادهتر و قابل فهمتری داشته باشید.
توابع ناخالص در برخی موارد لازم و مفید هستند, اما استفاده زیاد از آنها ممکن است به سختیهای بیشتری منجر شود. 💡
📌@PapiDon_state
❤2
Forwarded from کانال آموزشی لاراول (PapiDon)
🔍 آشنایی با دستور
همگان با موقعیتهایی مواجه شدهاند که نیاز به دریافت نتایج منحصر به فرد از دیتابیس دارند. در لاراول، این کار با استفاده از
📌 مثلا، برای دریافت نامهای منحصر به فرد کاربران:
📌 یا برای منحصر بودن بر اساس چندین ستون:
✨distinct
نتایج تکراری را حذف میکند و فقط نتایج منحصر به فرد را به شما نشان میدهد.
🔗 برای آموزشهای بیشتر با ما همراه باشید!
📌 @PapiDon_state
distinct در لاراولهمگان با موقعیتهایی مواجه شدهاند که نیاز به دریافت نتایج منحصر به فرد از دیتابیس دارند. در لاراول، این کار با استفاده از
distinct بسیار سادهتر است.📌 مثلا، برای دریافت نامهای منحصر به فرد کاربران:
$uniqueNames = DB::table('users')->distinct()->pluck('name');
📌 یا برای منحصر بودن بر اساس چندین ستون:
$uniqueData = DB::table('users')->select('account_id', 'email')->distinct()->get();
✨distinct
نتایج تکراری را حذف میکند و فقط نتایج منحصر به فرد را به شما نشان میدهد.
🔗 برای آموزشهای بیشتر با ما همراه باشید!
📌 @PapiDon_state
❤3👍1
Forwarded from کانال آموزشی لاراول (PapiDon)
✨What you do is what matters, not what you think or say or plan.
✨کاری که انجام میدهید مهم است، نه اینکه چه فکر یا چه حرف یا چه برنامهای دارید. - " جیسون فراید"
📌 @PapiDon_state
✨کاری که انجام میدهید مهم است، نه اینکه چه فکر یا چه حرف یا چه برنامهای دارید. - " جیسون فراید"
📌 @PapiDon_state
❤3
Forwarded from کانال آموزشی لاراول (PapiDon)
🛠 کوئری زدن در لاراول
در لاراول، با بهرهگیری از توابع گوناگون، میتوانید انواع جستجوها و کوئریها را برای دیتابیس خود تنظیم و اجرا کنید.
1️⃣ whereNull:
- جستجوی سطرهایی که مقدار خاصی در یک ستون خالی است.
- 📌
- جستجوی سطرهایی با مقدار تاریخی خاص در یک ستون.
- 📌
- جستجوی سطرهایی با مقدار ماهی خاص در یک ستون تاریخی.
- 📌
- جستجوی سطرهایی با مقدار روزی خاص در یک ستون تاریخی.
- 📌
- جستجوی سطرهایی با مقدار سالی خاص در یک ستون تاریخی.
- 📌
- جستجوی سطرهایی با مقدار زمانی خاص در یک ستون.
- 📌
- مقایسه مقادیر دو ستون با یکدیگر و یافتن سطرهای مطابق.
- 📌
- جستجو بر اساس شرط موجود.
- 📌
در لاراول، با بهرهگیری از توابع گوناگون، میتوانید انواع جستجوها و کوئریها را برای دیتابیس خود تنظیم و اجرا کنید.
1️⃣ whereNull:
- جستجوی سطرهایی که مقدار خاصی در یک ستون خالی است.
- 📌
User::whereNull('email_verified_at')->get();
2️⃣ whereDate:- جستجوی سطرهایی با مقدار تاریخی خاص در یک ستون.
- 📌
User::whereDate('created_at', '2023-10-10')->get();
3️⃣ whereMonth:- جستجوی سطرهایی با مقدار ماهی خاص در یک ستون تاریخی.
- 📌
User::whereMonth('created_at', '10')->get();
4️⃣ whereDay:- جستجوی سطرهایی با مقدار روزی خاص در یک ستون تاریخی.
- 📌
User::whereDay('created_at', '10')->get();
5️⃣ whereYear:- جستجوی سطرهایی با مقدار سالی خاص در یک ستون تاریخی.
- 📌
User::whereYear('created_at', '2023')->get();
6️⃣ whereTime:- جستجوی سطرهایی با مقدار زمانی خاص در یک ستون.
- 📌
User::whereTime('created_at', '=', '10:00:00')->get();
7️⃣ whereColumn:- مقایسه مقادیر دو ستون با یکدیگر و یافتن سطرهای مطابق.
- 📌
User::whereColumn('updated_at', '>', 'created_at')->get();
8️⃣ whereExists:- جستجو بر اساس شرط موجود.
- 📌
User::whereExists(function ($query) {
$query->select(DB::raw(1))
->from('orders')
->whereColumn('users.id', 'orders.user_id');
})->get();
📌 @PapiDon_state👍3
Forwarded from کانال آموزشی لاراول (PapiDon)
🔎 بررسی متد
🔹 این متد تمام سطوح آرایه را به یک سطح تبدیل میکند. به طور پیشفرض، تنها یک سطح از آرایه را هموار میکند. اما با تعیین یک عدد به عنوان آرگومان، میتوانید تعداد بیشتری از سطوح را هموار کنید.
📜 مثال کد:
✨برای آموزشهای بیشتر با ما همراه باشید!
📌 @PapiDon_state
()Array.prototype.flat
در برنامهنویسی با جاوااسکریپت، گاهی اوقات با آرایههای چند بعدی سر و کار داریم که نیاز داریم آنها را به یک آرایه تک بعدی تبدیل کنیم. متد ()flat این کار را برای ما آسان میکند.🔹 این متد تمام سطوح آرایه را به یک سطح تبدیل میکند. به طور پیشفرض، تنها یک سطح از آرایه را هموار میکند. اما با تعیین یک عدد به عنوان آرگومان، میتوانید تعداد بیشتری از سطوح را هموار کنید.
📜 مثال کد:
const multiDimensionalArray = [1, [2, 3], [4, [5, 6]]];در این مثال، ما یک آرایه چند بعدی داریم و با استفاده از متد `()flat`، آن را به یک آرایه تک بعدی تبدیل میکنیم.
const flattenedArray = multiDimensionalArray.flat();
console.log(flattenedArray); // Output: [1, 2, 3, 4, [5, 6]]
const deeperFlattenedArray = multiDimensionalArray.flat(2);در این مثال، با تعیین عمق 2، هر دو سطح از آرایه هموار شدهاند.
console.log(deeperFlattenedArray);
// Output: [1, 2, 3, 4, 5, 6]
✨برای آموزشهای بیشتر با ما همراه باشید!
📌 @PapiDon_state
🔥3
Forwarded from کانال آموزشی لاراول (PapiDon)
🔹 معرفی متد
در فریمورک لاراول، متد
⚙️ نحوه کار با
1️⃣ ابتدا یک کالکشن میسازیم:
2️⃣ سپس متد
3️⃣ در نهایت، ما یک آرایه جدید خواهیم داشت که در آن کلیدها نام بخشها و مقادیر نام کارمندان است:
📌 @PapiDon_state
mapWithKeys در لاراول 🔹در فریمورک لاراول، متد
mapWithKeys یکی از متدهای کاربردی کالکشن است که به ما این امکان را میدهد تا یک کالکشن یا آرایه را بگیریم و برای هر عنصر آن، یک کلید و مقدار جدید تعیین کنیم. این متد ویژه زمانی مفید است که میخواهیم دادهها را به نحوی خاص سازماندهی کنیم.⚙️ نحوه کار با
mapWithKeys1️⃣ ابتدا یک کالکشن میسازیم:
use Illuminate\Support\Collection;
$collection = new Collection([
['name' => 'John', 'department' => 'Sales'],
['name' => 'Jane', 'department' => 'Finance']
]);
2️⃣ سپس متد
mapWithKeys را فراخوانی کرده و یک تابع میدهیم که به ازای هر عنصر در کالکشن، یک آرایه از کلید/مقدار جدید برمیگرداند:$grouped = $collection->mapWithKeys(function ($item, $key) {
return [$item['department'] => $item['name']];
});3️⃣ در نهایت، ما یک آرایه جدید خواهیم داشت که در آن کلیدها نام بخشها و مقادیر نام کارمندان است:
// $grouped will be:
// [
// 'Sales' => 'John',
// 'Finance' => 'Jane'
// ]
📌 @PapiDon_state
👍2❤1
سلام دوستان عزیز
اگر لطفا ما رو حمایت کنید ممنون میشیم
اینطوری میتونیم ما هم استوری بگذاریم 😊🙏❤️
https://t.me/phpandmysql?boost
اگر لطفا ما رو حمایت کنید ممنون میشیم
اینطوری میتونیم ما هم استوری بگذاریم 😊🙏❤️
https://t.me/phpandmysql?boost
Telegram
PHP & MYSQL
از این کانال حمایت کنید تا بتواند به قابلیتهای اضافی دسترسی پیدا کند.
👍1
PHP & MYSQL pinned «سلام دوستان عزیز اگر لطفا ما رو حمایت کنید ممنون میشیم اینطوری میتونیم ما هم استوری بگذاریم 😊🙏❤️ https://t.me/phpandmysql?boost»