🎄 یک برنامه نویس تنبل – Telegram
🎄 یک برنامه نویس تنبل
1.99K subscribers
1.5K photos
279 videos
37 files
1.88K links
کانال یک برنامه نویس تنبل

🔥لینوکس
🔥برنامه نویسی فرانت‌اند
🔥برنامه نویسی بک‌اند
🔥اخبار تکنولوژی و...

ارتباط با مدیریت :

@CoderNap

اسپانسر هاست سایت راییوم توسط پوینا

https://rayium.ir

@poinair
Download Telegram
🔶 انواع فرمت پارتیشن در لینوکس

SWAP

این فرمت برای پارتیشنی به کار میرود که لینوکس برای ایجاد حافظه مجازی استفاده میکند. فرض کنید میخواهید از برنامه ای استفاده کنید که احتیاج به مقدار زیادی حافظه RAM دارد. لینوکس از این فرمت برای شبیه سازی RAM روی هارد دیسک استفاده میکند. البته این نمیتواند به عنوان جایگزینی برای RAM در نظر گرفته شود زیرا سرعت آن بسیار پایین تر از RAM است. ولی تا وقتی که شما RAM خود را افزایش دهید میتواند کار شما را راه بیندازد. اندازه این پارتیشن باشد باید به اندازه حافظه RAM ویا دوبرابر آن باشد. اگر فضای کافی روی هارد دیسک خود دارید پیشنهاد میشود فضایی معادل دو برابر RAM به این پارتیشن اختصاص دهید. البته باید توجه داشته باشید که این مقدار بدون توجه به مقدار حافظه ای که دارید باید بین ۳۲MB تا ۲GB باشد. به عنوان مثال اگر مقدار RAM شما ۲GB است نمیتوانید ۴GB به این پارتیشن اختصاص دهید.

ext2

این فرمت برای ذخیره اطلاعات معمولی که کاربر به طور روزمره با آن سروکار دارد به کار میرود. اما از درهت ۷٫۱ به بعد جای خود را به ext3 داد.

ext3

این فرمت نسخه ارتقا یافته ext2 است که نسبت به نسخه قبل خود دارای چندین مزیت است. همانطور که میدانید قبل از اینکه کامپیوتر خود را خاموش کنید باید آن را Shut Down کنید. اگر به هر دلیلی این کار انجام نشود دفعه بعد که کامپیوتر را روشن میکنید درایوها باید از نظر انسجام اطلاعات تست شوند. ولی در فرمت ext3 از روشی به نام Journaling استفاده میشود که این کار در مدت زمان بسیار اندکی صورت می‌گیرد و این ربطی به اندازه درایو شما ندارد. از نظر انسجام داده ها و سرعت دسترسی نیز این فرمت بهتر از نسخه قبلی خود عمل میکند. ضمنا تبدیل از ext2 به ext3 و بالعکس به آسانی بدون از دست دادن اطلاعات امکان پذیر است.

vfat

این نوع پارتیشن برای اشاره به درایوهایی است که در ویندوز به نام FAT32 شناخته میشوند. درایوهای اصلی لینوکس نمیتوانند با این فرمت پارتیشن بندی شده باشند، ولی امکان خواندن و نوشتن در این پارتیشن‌ها بدون مشکل وجود دارد.
RAID یا Redundant Array of Independent Disks

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

LVM) Logical Volume Manager)

از درهت ۸ به بعد فرمت جدیدی ارایه شد که با استفاده از آن میتوانید اندازه پارتیشن ها را بنا بر نیازتان تغییر دهید بدون اینکه احتیاج به پارتیشن بندی مجدد داشته باشید. حتی اگر هارد دیسک جدیدی خریداری کرده اید میتوانید آن را به پارتیشن های موجود اضافه کنید.

@TheRaymondDev
🔶 از چت جی پی تی برای حل کردن مشکلات برنامه نویسی استفاده نکنید لطفا!

ی زمان استفاده از استک اورفلو ی شرطی داشت! اونم این بود که بدونی این تیکه کدی که داری کپی میکنی یا بررسی میکنی دقیقا چجوری کار میکنه و چرا و حتی اگه ممکنه تغییرش بدی بهینش کنی و بعد تو کد خودت استفاده کنی.

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

<<یاد گرفتن مسیر به راه حل رسیدن، از خود راه حل مهم تره>>

https://www.linkedin.com/posts/milad-azhdehnia_chatgpt-problemsolving-programming-activity-7102911152254246912-6RSe

@TheRaymondDev
🔶 چرا جاوا اسکریپت؟

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

جاوا اسکریپت یک زبان برنامه نویسی همه کاره با کاربردهای گسترده است.

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

👉 توسعه سمت کاربر: یکی از اجزای ضروری توسعه وب جلویی است که امکان ایجاد رابط های کاربری، مدیریت تعاملات کاربر و بهبود تجربه کاربر را فراهم می کند.

👉 توسعه سمت سرور: با فناوری‌هایی مانند Node.js، جاوا اسکریپت می‌تواند برای برنامه‌نویسی سمت سرور استفاده شود و به توسعه‌دهندگان اجازه می‌دهد تا سیستم‌های بک‌اند مقیاس‌پذیر و کارآمد بسازند.

👉 برنامه‌های وب: چارچوب‌ها و کتابخانه‌های جاوا اسکریپت مانند React، Angular و Vue.js برای ساخت اپلیکیشن‌های پیچیده تک صفحه‌ای (SPA) استفاده می‌شوند که تجربه کاربری بهتری را ارائه می‌دهند.

👉 توسعه اپلیکیشن موبایل: فناوری هایی مانند React Native و Apache Cordova توسعه دهندگان را قادر می سازند تا از جاوا اسکریپت برای ساخت اپلیکیشن های موبایلی چند پلتفرمی استفاده کنند.

👉 توسعه بازی: جاوا اسکریپت، همراه با بوم HTML5 یا WebGL، می تواند برای ایجاد بازی های مبتنی بر مرورگر و تجربه های چند رسانه ای تعاملی استفاده شود.

👉 اسکریپت سمت سرور: Node.js به توسعه دهندگان اجازه می دهد تا جاوا اسکریپت را روی سرور اجرا کنند و برنامه های بلادرنگ، برنامه های چت و API ها را فعال کنند.

👉 افزونه های مرورگر: جاوا اسکریپت برای ایجاد افزونه های مرورگر استفاده می شود که عملکرد مرورگرهای وب را بهبود می بخشد.

👉 تجسم داده ها: کتابخانه هایی مانند D3.js به توسعه دهندگان کمک می کنند تا تصاویر پویا و تعاملی داده ها را در وب سایت ها ایجاد کنند.

👉 وب API: جاوا اسکریپت برای تعامل با API های مختلف وب استفاده می شود و به وب سایت ها اجازه می دهد داده ها را از منابع خارجی دریافت کنند یا داده ها را به سرویس های دیگر ارائه دهند.

👉 اتوماسیون: جاوا اسکریپت را می توان برای خودکارسازی وظایف در مرورگرهای وب، مانند پر کردن فرم ها یا تعامل با صفحات وب به صورت برنامه ای استفاده کرد.

👉 اینترنت اشیا IOT: جاوا اسکریپت را می توان برای برنامه ریزی دستگاه های اینترنت اشیا و تعامل با آنها از طریق واسط های وب استفاده کرد.

👉وب سرورها و API ها: فناوری هایی مانند Express.js به توسعه دهندگان این امکان را می دهد تا با استفاده از جاوا اسکریپت برای مسیریابی، رسیدگی به درخواست ها و مدیریت داده ها، سرورهای وب و API ایجاد کنند.

👉 ربات چت ها : جاوا اسکریپت می تواند تعاملات چت بات ها را در وب سایت ها تقویت کند و پاسخ های فوری و کمک به کاربران ارائه دهد.

👉برنامه های بلادرنگ: ماهیت رویداد محور جاوا اسکریپت آن را برای ساخت برنامه های بلادرنگ مانند پلتفرم های پیام رسانی و ابزارهای مشارکتی مناسب می کند.

@TheRaymondDev
🔶 شرط اصلی برای فریلنسر شدن :

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

@TheRaymondDev
🔶 فایل های ترجمه mo و po وردپرس به PHP تبدیل کنید

علت این کار سرعت سایت های ترجمه شده را افزایش میدهد و زیرا اگر سایت فایل ترجمه به زبان های mo و po باشد, سرعت بارگزاری آن تا 50 درصد را کاهش می دهد و باعث کاهش عملکرد سرور می شود.

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

دانلود افزونه وردپرس :

https://wordpress.org/plugins/performant-translations/

@TheRaymondDev
کانال را به دوستان خود معرفی کنید.
دمت گرم ❤️

https://news.1rj.ru/str/TheRaymondDev
👍1
🎄 یک برنامه نویس تنبل pinned «کانال را به دوستان خود معرفی کنید. دمت گرم ❤️ https://news.1rj.ru/str/TheRaymondDev»
🔶 ماژولار کردن یک پروژه لاراولی کار سختی نیست.

پکیچ (وابستگی) لاراول ماژولار به نام Laravel-Modules از معروف ترین پکیچ برای لاراول می باشد که پروژه لاراول را خیلی سریع با چند دستور ماژولار می کند.

پیوند گیت هاب :

https://github.com/nWidart/laravel-modules

برای نصب آن دستور زیر را وارد کنید:
composer require nwidart/laravel-modules


با دستور زیر فایل کانفیگ اون رو از داخل فولدر vendor استخراج میکنیم:

php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"


وارد فایل composer.json بشید و توی بخش autoloading، پکیج رو رجیستر کنید:

{
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
}


خب نصب آن به اتمام رسید و می رسیم به آموزش کار با وابستگی لاراول ماژولار ... 😍😘

@TheRaymondDev
🔶 خب رسیدیم به آموزش کار با لاراول ماژولار با چند دستور ساده

برای ساخت یک ماژول جدید کافیه اسم آن به جای <module-name> را وارد کنید:

php artisan module:make <module-name>


مثال :
مثلا می خوام ماژول User ایجاد کنم و فقط کافیه دستور زیر را وارد کنید:
php artisan module:make User


بعد از اجرای دستور بالا یک فولدر به بخش اصلی پروژه به اسم Modules اضافه میشه و یه فایل به اسم modules_statuses.json ماژول هایی که ایجاد میکنید محتویات اون درون پوشه Modules میره و یه لاین هم درون modules_statuses.json اضافه میشه که مقدار بولین داره که مشخص میکنه ماژول شما فعال هست یا خیر.

اگر دستور زیر را وارد کنید پوشه و فایل های مرتبط با Modules لیست می کند:

php artisan module


یا مثال دیگر برای ایجاد مدل مربوط به User دستور را به شکل زیر وارد می کنیم:

php artisan module:make-model User User


دستور بالا User اول اسم مدل ما هستش و User دوم هم مشخص میکند که این مدل مربوط به کدوم ماژول هستند.

لیست زیر کلیه دستورات مربوط به وابستگی Laravel Modules آمده است:

https://nwidart.com/laravel-modules/v6/advanced-tools/artisan-commands

تمام شد 😊

@TheRaymondDev
🔶 اینم پیش نمایش ماژول ایجاد شده User لاراول

@TheRaymondDev
🔶 بی بی سی دوره‌ی ۴۴ جلسه‌ای تمرینی محور یادگیری انگلیسی را رایگان منتشر کرد.
ثبت نام و کار اضافه هم نمی‌خواهد، از لینک زیر می‌توانید شروع کنید:

https://www.bbc.co.uk/learningenglish/course/how-to-speak-english/unit-1

@TheRaymondDev
خودم را معرفی می کنم

بنده رایموند باغومیان هستم

برنامه نویس لاراول و وردپرس و 10 سال تجربه برنامه نویسی ...

سعی می کنم آموزش های مفیدی در کانال به اشتراک بزارم

در حال نوشتن پلتفرم آموزشی با چارچوب لاراول هستم.

سایت هم دارم: https://rayium.ir
ابزارهای یک فریلنسر :

ابزارهایی که من خودآگاه و ناخودآگاه توی این دو سال تجربه ام از فریلنسری به سمت شون رفتم ایناس:

1) ابزار مدیریت تسک ها : میزیتو / Microsoft to do / Google Tasks
2) ابزار مدیریت اهداف و برنامه ها : Notion
3) ابزار برگزاری جلسات : Google Meet
4) ابزار ذخیره سازی و نگهداری : Google Drive
5) ابزار مدیریت پروژه : Slack / ClickUp
6) ابزار ساخت لینک : زیلینک
7) ابزار اشتراک محتوا : Google data sheet
8) ابزار ایده یابی : Xmind

چه ابزار دیگه ای هست که برای مدیریت کارها، وظایف و عملکردتون استفاده میکنید و توی این لیست نیست؟

https://www.linkedin.com/embed/feed/update/urn:li:share:7103721087581966337

@TheRaymondDev
🔥1
🔶 آموزش کار با وابستگی تاریخ شمسی (Verta) در لاراول

اکثرا از وابستگی JDF برای نمایش تاریخ شمسی در پروژه ها به کار می گیریم و هم اکنون سراغ وابستگی تاریخ شمسی ورتا می رویم که چگونه این وابستگی در لاراول به کار بگیریم و تاریخ و ساعت میلادی را به شمسی نمایش دهیم.

دستور نصب وابستگی ورتا:

composer require hekmatinasser/verta


در فایل User.php لاراول تابع زیر را در انتهای آن وارد کنید

public function getCreateAtShamsi()
{
return new Verta($this->created_at);
}


در کنترلر UserController تابع زیر را وارد کنید

public function index()
{
$users = User::all();
return view('admin.users.index', compact('users'));
}


کد زیر تاریخ و ساعت کاربر عضو شده را نمایش می دهد

@foreach($users as $row)
<tr>
<th scope="row">{{$row->id}}</th>
<td>{{$row->name}}</td>
<td>{{$row->email}}</td>
<td>{{$row->getCreateAtShamsi()}}</td>
</tr>
@endforeach


گیت هاب :

https://github.com/hekmatinasser/verta

@TheRaymondDev
👍1
🔶 درود دوستان ، من یه نرم افزاری نوشتنم که فکر می کنم به درد همه میخوره و میخام به صورت رایگان در اختیار همه قرار بدم ، همیشه عاشق دنیای نرم افزار های رایگان و متن باز بودم و خوشحالم که امروز دارم تو لینکدین اولین نرم افزار سیستمی کاربردی خودم رو عرضه می کنم

خب یه توضیحی بدیم که این نرم افزار چیکار میکنه

امروزه همه ی ما باید به صورت روزانه آموزش ببینیم تا بتونیم خودمون رو به دنیای تکنولوژی که با سرعت زیادی در حال پیشرفته برسونیم

من همیشه برای مدیریت آموزش هایی که میدیدم ضعف داشتم و نمیتونستم به یاد داشته باشم که دقیقاً امروز باید از کجا ادامه ی آموزشم رو ببینم مخصوصاً اگه چند روزی وقفه میفتاد و یجورایی رشته ی کار از دستم در میرفت

حتی ما بعضی موقع میخایم چنتا آموزش رو با هم جلو ببریم اون موقع دیگه واقعاً مدیریت کردنش خیلی سخت میشه

واسه رفع این مشکل من یه اپلیکیشن پایتون نوشتم که کار مدیریت ویدیوهایی که میبینین رو انجام میده و تو گیت هاب گذاشتم که خیلی راحت میتونین به هر روشی که دوست داشتین دانلودش کنین حتی میتونین به صورت زیپ دانلود کنین

تو همون گیت هاب توضیحاتی هم گذاشتم که با انجامش براحتی میتونین از نرم افزار استفاده کنین

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

همچنین خیلی خوشحال میشم تو گیت هاب همدیگه رو داشته باشیم

این آدرس ریپازیتوری نرم افزاری هستش که درست کردم و میتونین برای دانلود روش کلیک کنین

گیت هاب : https://github.com/sajjadabd/python-course-player

https://www.linkedin.com/feed/update/urn:li:activity:7103756127934242816/

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

https://www.linkedin.com/feed/update/urn:li:activity:7104066889093394432/

@TheRaymondDev
2
⭕️ مایکروسافت پس از 28 سال WORDPAD را از ویندوز حذف می کند.

@TheRaymondDev
🔶 اگر در ویرایش دسته بندی می خواهید والدهای مرتبط با دسته بندی نمایش دهید, کد زیر را استفاده کنید:

Category::where('id', '!=', $category->id)->get();

کد مربوطه برای لاراول هست.

@TheRaymondDev
🙋‍♂️ سلام...
همین چند دقیقه پیش نوشتن دیزاین پترن برای دسته بندی تمام کردم.
اولش دچار تردید شدم که مزایای نوشتن دیزاین پترن برای لاراول چیه؟
با کمی تحقیق برای تمیز نگاه داشتن کدها و استفاده مجدد از کدها در پروژه بعدی هست.

مزایای دیزاین پترن :

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

یه نمونه دیزاین پترن برای دسته بندی نوشتم.

نمونه کد کنترلر دسته بندی:

<?php

namespace modules\LMS\Category\Http\Controllers;

use App\Http\Controllers\Controller;
use modules\LMS\Category\Http\Requests\CategoryRequest;
use modules\LMS\Category\Repositories\CategoryRepo;

class CategoryController extends Controller
{
public CategoryRepo $repo;

public function __construct(CategoryRepo $categoryRepo)
{
$this->repo = $categoryRepo;
}
public function index()
{
$categories = $this->repo->all();
return view('Categories::index', compact('categories'));
}

public function store(CategoryRequest $request)
{
$this->repo->store($request);

$notification = array(
'message' => 'دسته جدید با موفقیت ایجاد شد.',
'alert-type' => 'success'
);

return back()->with($notification);
}

public function edit($categoryId)
{
$category = $this->repo->findById($categoryId);
$categories = $this->repo->allExceptById($categoryId);
return view('Categories::edit', compact('categories', 'category'));
}

public function update($categoryId, CategoryRequest $request)
{
$this->repo->update($categoryId, $request);

$notification = array(
'message' => 'دسته جدید با موفقیت به روز رسانی شد.',
'alert-type' => 'success'
);

return to_route('category.index')->with($notification);
}

public function destroy($categoryId)
{
$this->repo->delete($categoryId);

$notification = array(
'message' => 'دسته با موفقیت حذف شد.',
'alert-type' => 'success'
);

return back()->with($notification);
}
}

نمونه کد مخزن برای دسته بندی (CategoryRepo) :

<?php

namespace modules\LMS\Category\Repositories;

use modules\LMS\Category\Models\Category;

class CategoryRepo
{
public function all(): \Illuminate\Database\Eloquent\Collection
{
return Category::all();
}

public function store($values): void
{
Category::create([
'name' => $values->name,
'slug' => $values->slug,
'parent_id' => $values->parent_id,
]);
}

public function allExceptById($id): \Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Collection
{
return $this->all()->filter(function ($item) use ($id) {
return $item->id != $id;
});
}

public function findById($id)
{
return Category::findOrfail($id);
}

public function update($id, $values): void
{
Category::where('id', $id)->update([
'name' => $values->name,
'slug' => $values->slug,
'parent_id' => $values->parent_id,
]);
}

public function delete($id)
{
return Category::where('id', $id)->delete();
}

public function tree()
{
return Category::where('parent_id', null)->with('subCategories')->get();
}
}

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

@TheRaymondDev