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

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

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

@CoderNap

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

https://rayium.ir

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

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
سلام دوستان...
یه جوانی آمد و به من گفت :
آقای رایموند من از کار کردن در #شرکت برنامه نویسی خسته شدم و با #حقوق بخور و نمیر 15 میلیون تومان در ماه, 3 سال در شرکت کار کردم و حالا از من درخواست #سفته 200 میلیونی کرده که شرکت را ترک نکنم و منو نگه دارد...

و گفت: شرکت وضعش خوبه اما به دلیل عدم #مدیریت درست برنامه نویسان حرفه ای در حال ترک شرکت هستند و شاید با کمبود نیروی انسانی با تجربه شرکت ورشکست شود!

در ادامه به من گفت: آقا من می خوام #دوره #آموزشی #لاراول - #ریکت پروژه محور بسازم و دیگه نمی خوام در شرکت کار کنم.

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

خلاصه در آخر گفت : من با این همه کار ۱۵ میلیون انگار داشتم حقوق کارگری می گرفتم و نه حقوق درست می دن تو ایران و نه امنیت شغلی داری و فقط شرکت ها به فکر خودشون هستند و من اگه پول داشتم, حتما مهاجرت می کردم.

خب منم به فکر #مهاجرت هستم

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

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


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

@TheRaymondDev
1👍1
🔶 اوبونتو برای شروع به علت تمام اسنپ بودن پیشنهاد نمی شود.

ایراداتی که Snap دارد که برای هر نرم افزار یه حلقه روی سرویس های Systemd می سازد و هنگام بوت هم به SSD و هم به سیستم فشار میاورد و در آخر اوبونتو اجرا نشود به طوری که بوت به شدت مختل می کرد.

@TheRaymondDev
🔶 آیا استفاده Swap در SSD هنگام پارتیشن بندی لینوکس نیاز است؟

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

الان بنظرم زیاد نیازی به Swap نیست و چون عمده سخت افزار های امروزی قوی هستند و اینکه جایگزین نداره و این خواندن و نوشتن اضافه باعث کندی می شود.

پارتیشن Swap ناحیه ای بر روی درایو ذخیره سازی (همون SSD ) هست که سیستم عامل از اون به عنوان رم مجازی استفاده و برای زمانی که رم پر میشود دیتاهای با اهمیت کمتر را در این پارتیشن بصورت موقت ذخیره میکند

زمانی که رم پر میشود این IO مکرر روی Swap باعث چرخه نوشتن بیشتر روی SSD میشود و چون تعداد دیتایی که در SSD رایت میشن باعث زیاد شدن سایکل ها در یک مدت کوتاه میشن طول عمر SSD ما به مرور زمان کاهش پیدا می کند

نویسنده : @Ashkan_Kazemii

@TheRaymondDev
🔶 بنده مدرس طراحی پوسته فروشگاهی با ووکامرس هستم.
ضبط ویدئو آموزشی آغاز شده است.

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

همه چیز خوب پیش بره در تاپلرن منتشر خواهد شد.

@TheRaymondDev
🎄 یک برنامه نویس تنبل
🔶 بنده مدرس طراحی پوسته فروشگاهی با ووکامرس هستم. ضبط ویدئو آموزشی آغاز شده است. فصل اول ویدئو آموزشی رایگان خواهد بود که در کانال منتشر میشه... همه چیز خوب پیش بره در تاپلرن منتشر خواهد شد. @TheRaymondDev
🔶 پوسته فروشگاهی با چارچوب Bootstrap طراحی میشه و از المنتور استفاده نمی کنیم.
با توابع وردپرس و ووکامرس پوسته فروشگاهی را به ووکامرس (وردپرس) تبدیل می کنیم.
هر امکاناتی که نیاز باشد در آن پیاده می کنیم.

@TheRaymondDev
Media is too big
VIEW IN TELEGRAM
🔶 گسترش پروژه یا کارفرمای فیک در کارلنسر

🙋‍♂️ سلام ...

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

از سال 1400 به امروز به درخواست جواب داده نشده است.

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

کارلنسر هیچ نظارتی نمی کند.

@TheRaymondDev
🎄 یک برنامه نویس تنبل
@TheRaymondDev
درود دوستان عزیز یه نکته کوچیک
یکی از مواردی که وقتی روی ادمین هایی که توسط دوستان توسعه داده شده اندمییبینم اینه که تکنولوژی فرانت ندارن و به صورت css,html هستند ، که فرد همه assets ها و لایبراری ها رو میاد یه جا تو master.blade.php لود میکنه حالا چون قالبی که خریده این کارو کرده و این کارباعث میشه داخل هر صفحه تمام این ها لود بشن این در حالی هستش که در هر ماژول ما یا اصلا نیاز به لایبراری نداریم یا اگر داریم به یکی از اونها نیاز داریم و ادمین در همه صفحات داره لود زیادی برای این لایبراری ها میگیره حالا بریم که بهترش کنیم
مورد اول اینکه برای هر صفحه یا ماژول assets های مورد نیاز خودش رو لود کنیم
مورد دوم اینکه میتونیم یک لودر برای خودمون بسازیم که خیلی ساده هم هستش که بتونیم داخل هر صفحه assets مورد نیاز رو لود کنه من برای این کار از Enum استفاده کردم و یک فایل لودر ساختم حالا چه مزیت هایی به من میده
· اینکه Typehint دارم مجبور نیستم مسیر assetsها رو بنویسم ( البته auto complete ide کمک میکنه )
· فایل های blade تمیز تری نسبت به حالت اول دارم
· اینکه میتونم به راحتی یک لایبراری یا یک استایل رو داخل کله پروژه جایگزین کنم
یک تیکه از کدش رو با مقایسه براتون گذاشتم امیدوارم مفید بوده باشه . سپاس

https://www.linkedin.com/posts/ali-mousavi-28938894_laravel-php-activity-7107694135981006848-f7GO

@TheRaymondDev
Channel name was changed to «یک برنامه نویس تنبل»
سلام دوستان عزیز...
ویدئوهای آموزشی به دلیل ایرادات صدا و نویز آن دوباره باز تولید می شود.

@TheRaymondDev
🔶 وایرفریم،یکی از‌ مهم‌ترین‌ مراحل طراحی

وايرفریم در واقع طرحی اولیه از محصول ما هست. ما با رسم و طراحی hashtag#وایرفریم اسکلت و ساختار اصلی وب سایت یا اپلیکیشن رو مشخص می‌کنیم ؛از وایرفریم‌ها همچنین می‌تونیم برای پیاده‌سازی اولیه ایده‌های مختلفی که داریم و بهتر کردنشون استفاده کنیم👌🏻

👈🏻 وایرفریم‌ها باتوجه به میزانی که از لحاظ جزییات به محصول نهایی شباهت دارن ،به سه نوع تقسیم میشن :
•وایرفریم با جزییات کم
•وایرفریم با جزییات متوسط
•وایر فریم با جزییات زیاد

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

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

📝تو پست های بعدی قراره وایرفریم های مختلف رو بهتون توضیح بدم👩🏻‍💻
📝اگر این پست براتون مفید بود،حتما اون رو با دوستای‌‌ طراحتون به اشتراک بزارید🚀🙏🏻

https://www.linkedin.com/posts/activity-7109167474171891712-UwOV?utm_source=share&utm_medium=member_desktop

@TheRaymondDev
🔥 اولین پیشنهاد در کارلنسر در سال 1402 درخواستم رد کرد...
این کارفرما فیک نبود
پشمام ریخت 😂

@TheRaymondDev
🔶 وردپرس مثل برنامه نویسی نیست که بخواهی از صفر تا صد همش توی یه مبحث آموزشی یاد بگیرید .

وردپرس تمام آموزش هاش به صورت مقطعی هست . یعنی اینکه شما یه زحمت به خودت میدی برای شروع میرید :

کار با پنل وردپرس یاد میگیرید .

بعدش میری سراغ فروشگاه ساز ووکامرس و کار با اون یاد میگیرید

بعدش چند تا افزونه عمومی و کاربردی یاد میگیرید مثل گرویتی فرم و ...

بعدش میری سراغ صفحه سازهای معروفی مثل المنتور و کار با اون یاد میگیرید .

بعدش دو سه تا قالب معروف مثل وودمارت و فلت سام نصب میکنی ببینی اصلا ساختار قالبها و دمو وارد کردن و تنظیمات قالب ها چطوری انجام می شود.

و بعدم دیگه برای هر چیزی که میخواهی باید سرچ کنید و آموزش همون یاد بگیرید

@TheRaymondDev
🙋‍♂️ سلام دوستان ...

دوره باز تولید شده از راه رسید.

فصل اول فرانت اند رایگان خواهد بود.
فصل دوم بک اند (ووکامرس) پولی خواهد بود.

این دوره در تاپلرن منتشر و فصل اول هم رایگان در کانال هم منتشر میشه...

@TheRaymondDev
🔶ایجاد breadcrumb در صفحات لاراول :

سلام 🙋‍♂️

بخش breadcrumb یک راهنمای ناوبری در واسطه‌های کاربری است و به کاربران کمک می‌کند تا مکان فعلی خود را پیگیری کنند.

در صفحه اصلی یا ادمین:
<ol class="breadcrumb">
<li class="ms-2"><a href="{{ route('admin.index') }}" class="text-decoration-none text-dark">پیشخوان</a></li> /
{{ $breadcrumb ?? '' }}
</ol>
در دیگر صفحات :

<x-slot name="breadcrumb">
<li class="ms-2"><a href="{{ route('category.index') }}" class="text-decoration-none text-dark">دسته بندی</a></li> /
</x-slot>

@TheRaymondDev
Audio
#موزیک مناسب زمان برنامه نویسی

🎧 لیست پخش
► 00:00 Rainy Nights - Azaleh
► 03:46 In A Cabin By The Lake - Lazarus Moment
► 09:47 Hollow - Ecepta
► 11:44 For The Sky - Himalia
► 17:16 Disconnect - Victoriya
► 21:11 Horizon - Almost Vanished
► 25:50 Forget Me Not - Oscuro Official
► 29:59 Radiance - Menual
► 33:51 Dawn - Kazukii
► 37:36 No One Is Forever - Moon
► 41:44 But You Never Told Me - Groundfold
► 44:56 God Will Let Me Know - Dakun
► 48:06 Asylum - Eyeri
► 52:50 Tension - Kazukii
► 57:19 Your Reflection - Lux Natura
► 1:01:38 Frustration - Brimstone
► 1:06:22 Wanderer - Fyze
► 1:11:09 Hypnos - 4lienetic
► 1:14:52 We Are Blind - RIT & LuQus
► 1:19:04 Asterism - Ecepta
► 1:22:48 Cosmo Pollen - Brombaer & Noahs Boat
► 1:27:22 One Too Many - Exist Strategy
► 1:31:23 Somewhere - F3edo
► 1:37:10 Ilia - Kisnou
► 1:39:56 Tea - Quok
► 1:44:33 Quenching - Margari's Kid

@TheRaymondDev
2