Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
و این که تبلیغ نیست و حیفم اومد همچین کانالی هست و انقدر ممبراش کمه
https://t.iss.one/geek_engineers

یکی از کانال هایی که محتواش عالیه ولی اصلا حمایت نمیشه 😕
پیشنهاد میکنم حتما یه سری بزنید واقعا کانال خفنیه و خودم کلی چیز یاد گرفتم ازش
Forwarded from Gopher Academy
ظاهرا یه کمپانی بزرگ هندی اومده یه نظرسنجی بین کارمنداش گذاشته و ازشون پرسیده که سطح استرسشون چقدر هست تا محیط کار سالم تری براشون درست کنه. ۱۰۰ تا از کارمند ها هم گفتن که  خیلی استرس دارن و کمپانی هم فورا همشون رو اخراج کرده تا دیگه استرس نداشته باشن :)

DevTwitter | <Shana/>


🕸 https://linktr.ee/Labdon
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 افزودن قابلیت دریافت ستاره در طرح همکاری در فروش تلگرام

#خبر

@TheRaymondDev
لینکدین عالیه حتما نصب کنید

🔆 CHANNEL | GROUP
Forwarded from Geek Alerts via @coboldbot
downloading... (˶ᵔ ᵕ ᵔ˶)
خیلی وقت بود میخواستم این ویدیو رو بگیرم. روزی که من Python گذاشتم کنار و حرفه ای شروع به کد زدن JavaScript و NodeJS کردم همیشه هروقت باکسی بحث برنامه نویسی میشد من این رو میگفتم که جای یک چیزی مثل Context Manager مثل پایتون در اکوسیستم JavaScript  واقعا خالی هست. وقتی TypeScript ورژن 5.2 منتشر شد و این syntax رو برای بار اول دیدم واقعا خوشحال شدم
async function main() {
    using resource1 = getResource()
    await using resource2 = await getResource()
}

در این ویدیو به Explicit Resource Management در زبان های برنامه نویسی cpp و golang و python میکنیم. با یک پترن خیلی قدیمی به اسم RAII پترن آشنا میشیم و در نهایت میرسیم به ارتباط RAII پترن در C++ در TypeScript .
https://youtu.be/N0akLbvhShE?si=f623-vxXz-brA4ag

@DevTwitter | <Iman Hosseini/>
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
خیلی از ما ممکنه بخوایم یه ویدیو کوتاه از توییتر، اینستاگرام و یا حتی یوتیوب رو به صورت مستقیم در تلگرام داشته باشیم، ربات inlineای که در ویدیو می‌بینید از سرویس cobalt.tools برای همین کار استفاده می‌کنه تا به راحتی بتونید ویدیو یا گیفی که دوست دارید رو در چت‌های تلگرام‌تون بفرستید.

@coboldbot
hadi @geekalerts
فردا ساعت ۱۰ صبح یه پست خفن داریم 😎
Forwarded from Linuxor ?
ویندوز و مک توی شرکت های بزرگ توسعه داده شدن و توی خونه ها استفاده میشن
اما لینوکس توی خونه ها توسعه داده شده ولی توی شرکت های بزرگ استفاده میشه


🐧 @Linuxor ~ neoqueto
کرون‌جاب (Cron Job) چیه و به چه درد می‌خوره؟

به گفته ویکی پدیا:

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



مثال‌های عملی از استفاده‌های کرون‌جاب

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

اجرای یک اسکریپت در زمان های خاص: مثلا یک اسکریپتی داریم که می‌خوایم توی یک زمان خاص اجرا بشه و یک کار خاص رو انجام بده به کمک کرون‌جاب ما می‌تونیم این کار رو انجام بدیم.

تمیزکاری سیستم: مثلا هر هفته یه بار فایل‌های موقتی (temp files) که تو سیستم مونده رو پاک کنی تا حافظه پر نشه.



چطور کار می‌کنه؟

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

* * * * * command-to-be-executed


این پنج تا ستاره نشون میده که دستور باید چه زمانی اجرا بشه:
1. دقیقه
2. ساعت
3. روز ماه
4. ماه
5. روز هفته

مثلاً:

0 2 * * * /path/to/backup.sh


این یعنی هر روز ساعت ۲ صبح، اسکریپت backup.sh اجرا بشه.



کرون‌جاب به چه درد می‌خوره؟

هر کاری که بخوای اتوماتیک انجام بشه، از پشتیبان‌گیری و ارسال ایمیل گرفته تا مدیریت سرور و بهینه‌سازی سایت، با کرون‌جاب راحت‌تر و مطمئن‌تر انجام میشه مثلاً:

- باعث صرفه‌جویی در زمان و انرژی میشه.
- احتمال خطای انسانی رو کم می‌کنه.
- خیلی جاها به پایدارتر بودن سیستم کمک می‌کنه.

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

@SohrabContents
توی توزیع‌هایی که از سیستم‌دی (systemd) استفاده می‌کنن، ما یه ابزار دیگه داریم به اسم systemd-run که شایان عزیز معرفی کرد و بعضی کاربردها رو مثل کرون‌جاب و یا حتی بیشتر رو هم برامون فراهم می‌کنه:

‏ systemd-run به چه درد می‌خوره؟

1. اجرای دستورات به صورت موقت
فرض کنید یک دستور یا برنامه دارید که فقط یه بار می‌خوای اجراش کنید و نیازی نیست براش یه سرویس دائمی تعریف کنید. اینجاست که systemd-run به کارتون میاد و می‌تونید خیلی راحت دستور رو اجرا کنید.

2. زمان‌بندی دستورات
مثل کرون‌جاب، با این ابزار می‌تونی زمان‌بندی انجام بدی یا دستورات رو براساس رخدادهای خاص (مثل تغییر فایل یا باز شدن سوکت) اجرا کنی.

3. مدیریت منابع سیستم
اگه بخوای دستوری رو طوری اجرا کنی که مصرف منابعش محدود باشه (مثلاً CPU یا دیسک)، می‌تونی تنظیمات مربوط به منابع رو توی اجراش مشخص کنی.

4. اجرای دستورات تعاملی
حتی اگه دستوری نیاز به تعامل با کاربر داشته باشه، مثل باز کردن یه شل (Shell)، می‌تونی با تنظیمات خاصی این کار رو انجام بدی.



مثال‌هایی از کاربرد systemd-run

۱. اجرای یه دستور ساده و موقت
اگه بخواین یه دستور مثل نمایش متغیرهای محیطی رو اجرا کنید:
systemd-run env


۲. محدود کردن منابع برای یه دستور
می‌خوایم دستور fc-cache اجرا بشه، ولی نمی‌خوای دیسک سیستم رو زیاد مشغول کنه:
systemd-run -p IOWeight=10 fc-cache


۳. اجرای دستور زمان‌بندی‌شده
فرض کنید می‌خوایم یه فایل بعد از ۳۰ ثانیه ایجاد بشه:
systemd-run --on-active=30 /bin/touch /tmp/foo


۴. اجرای یه شل تعاملی
اگه بخوایم Bash رو اجرا کنیم و ورودی و خروجیش به ترمینال متصل باشه:
systemd-run -t bash


۵. اجرای دستورات کاربر بدون قطع شدن
می‌خوایم از screen استفاده کنیم و مطمئن بشیم وقتی از سیستم خارج شدیم، فرآیند همچنان اجرا بشه:
systemd-run --scope --user screen




صد البته که من زیاد طرفدار سیستم‌دی نیستم ولی به صورت توکار ابزارهای خوبی رو ارائه میده، اگه درمورد این systemd-run هم می‌خواین بیشتر بدونید می‌تونید به سایت فری‌دسکتاپ مراجعه کنید.

@SohrabContents
Forwarded from Golden Code (@lix)
در لاراول گاهی اوقات نیازه که یک storage disk بطور موقت و در حالت (runtime) بسازیم، مثلاً برای فایل‌های temp یا تست.
این کار بدون نیاز به اعمال تغییرات در فایل config/filesystems.php بصورت زیر و به راحتی قابل انجامه
#laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید👇🏾)
https://x.com/OussamaMater/status/1863686467442065495?s=35
1
#meme

ترجمه از این فرسته در ماستادون

@SohrabContents
Forwarded from Linuxor ?
اگه بکند کار میکنی و خوشت از فرانت نمیاد بزار بهت یه حقیقتی رو بگم فایل های css در واقع یه کانفیگ فایلن برای html به اسمش نگاه نکن فرض کن بجای css اسمش cfg هستش و مثلا داری یه چیزی رو کانفیگ میکنی


🐧 @Linuxor ~ Sezo
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 پیش نمایش پروژه مدیریت وظایف (تسک ها) با لاراول و لایو وایر - در حال ساخت

#لاراول
#لایوـوایر

@TheRaymondDev
Forwarded from  (Amir Hossein "Amiria" Maher)
Forwarded from Syntax | سینتکس (Daimon)
قبل از DNS

بذارید یه نگاه به دوران قبل از DNS بندازیم. اون زمان خبری از این راحتی‌ای که الان داریم نبود. اینترنت بود، ولی به جای اینکه اسم سایت‌ها رو وارد کنید، باید با یه مشت عدد و رقم سر و کله می‌زدید. حالا ببینیم اون روزا مردم چطوری با اینترنت کار می‌کردن:

1. حفظ کردن آدرس‌های IP
قبل از DNS، شما برای باز کردن سایت‌ها مجبور بودید آدرس‌های IP مثل 192.168.1.1 یا 216.58.214.14 رو تایپ کنید. مثلاً اگه می‌خواستید به یه سایت خاص برید، باید آدرس IP اون رو از جایی پیدا می‌کردید و دستی وارد می‌کردید. کاملاً منطقیه که خیلی‌ها دفترچه‌ای کنار دست‌شون داشتن و توش آدرس‌های IP مهم رو می‌نوشتن، چون حفظ کردن این اعداد اصلاً کار ساده‌ای نبود.

2. فایل HOSTS
کامپیوترها اون زمان یه فایل به اسم `hosts` داشتن که مثل دفترچه تلفن عمل می‌کرد. تو این فایل، آدرس IP‌ها به اسم‌های خاصی (اگه وجود داشت) نگاشت می‌شدن. مثلاً نوشته می‌شد:
93.184.216.34 example.com
216.58.214.14 google.com

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

3. کشف سایت‌ها؟ یه چالش واقعی!
یادمون باشه که اون زمان خبری از موتورهای جستجو مثل گوگل یا یاهو نبود. شما یا باید آدرس IP یه سایت رو از کسی می‌شنیدید، یا توی یه مجله یا کتاب می‌دیدید. اگه یه سایت جدید می‌خواستید پیدا کنید، باید امیدوار می‌بودید که کسی آدرسش رو بهتون بده.


4. مشکل هماهنگی
هر شبکه‌ای نسخه خودش از فایل hosts رو داشت. حالا اگه یه سایت جدید اضافه می‌شد یا تغییری توی یه آدرس IP رخ می‌داد، باید اون تغییر رو دستی به همه شبکه‌ها اطلاع می‌دادید. این هماهنگی برای شبکه‌های بزرگ‌تر شبیه یه کابوس بود.

#fun

@Syntax_fa
اگه یه وقتی پروژه ی qt با پایتون داشتین و خواستین از داکر استفاده کنین این ریپویی که درست کردم کمک تون می کنه.
قسمت دیزاینر رو هم توی داکر هاب قرار دادم که باز هم راحت تر باشید

https://github.com/zaaferani/pyqt-docker

@DevTwitter | <حسن زعفرانی/>
مایکروسافت امکان پشتیبانی از سخت‌افزارهای قدیمی‌تر در ویندوز ۱۱ را منتفی کرد.

با نزدیک شدن به پایان پشتیبانی ویندوز ۱۰، مایکروسافت اعلام کرد که الزام وجود TPM 2.0 برای ویندوز ۱۱ «غیرقابل مذاکره» است.



خواندن خبر

@SohrabContents