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
Forwarded from Python Hints
😂😂😂😂😂😂
Forwarded from Seyed Mahdi Notes (Seyed Mahdi)
کریسمستون مبارک🎄🎄🎄

*بعضی وقتا دنبال فرصتی برای خوشحالی و تبریک ام. خیلی مهم نیس چه ایونتیه :))
خوشبگذره
Forwarded from Linuxor ?
قراره برای یوتیوب و امثالش که فیلتره؛ مثل تلگرام طلایی یه پوسته بسازن و از طریق اون پوسته به عنوان یه واسط Policy های کشور رو روش اعمال کنن.

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


@Linuxor
Forwarded from Golden Code (علی 🇨🇴)
در لاراول وقتی که داده‌ها از طریق فرم‌ها اعتبارسنجی میشن ممکنه بعضی ازونا فقط برای بررسی باشند و نیازی به ذخیره‌سازیشون در دیتابیس نداشته باشیم.

مثلا؟

وقتی یک فیلد مثل password_confirmation که فقط برای بررسی صحت پسورد قراره استفاده بشه و در نهایت نیازی به ذخیره ی اون نداریم میتونیم براش از exclude استفاده کنیم. اینجوری فقط دیتای مورد نیاز به دیتابیس ارسال میشه.
#Laravel
@GoldenCodeir
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/_newtonjob/status/1863869299569426803?t=3EjqobGwiK4Wm5Tdiq7jfQ&s=35
👍1
Forwarded from Linuxor ?
این توییت که توی کامیونیتی DevOps گذاشته بودن خیلی جالب بود، اینو من با وجودم احساس کردم کلا هرجا کلمه Container شنیدید گزینه دیگه ای جز لینوکس ندارین.

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


لینوکس دارای ویژگی های منحصر به فردی مثل

نام‌فضاها (Namespaces): این ویژگی اجازه می‌ده تا هر کانتینر فضای جداگانه‌ای از منابع سیستم (مانند شبکه، فایل‌سیستم، و پردازنده‌ها) داشته باشه، در حالی که تمام کانتینرها از یک هسته (Kernel) استفاده کنن.

کنترل گروه‌ها (Cgroups): این ویژگی به کنترل میزان استفاده منابع (پردازنده، حافظه، و ...) توسط هر کانتینر کمک می‌کنه. این امکان به کانتینرها می‌ده که به‌طور مؤثر و ایمن از منابع سیستم استفاده کنن.

چکیده کردن سیستم‌فایل (Union Filesystems): این تکنیک به کانتینرها اجازه می‌دهد تا از یا تصویر پایه (base image) استفاده کنن و تغییرات جدید رو به‌طور موقت و مجزا در یک لایه جدید ذخیره کنن.

و کلی ویژگی دیگه که به طور خاص توی هسته لینوکس وجود داره و در نتیجه باعث شده تنها انتخاب برای محیط توسعه بین سیستم عامل های موجود باشه.

@Linuxor
Forwarded from Agora (Alireza Azadi)
Forwarded from Agora (Alireza Azadi)
Forwarded from Agora (Alireza Azadi)
Forwarded from Agora (Alireza Azadi)
کاش یکی یه پس‌گردنی قایم به این آقای Matt schnuck (و امثالهم) میزد که این مزخرفاتو تحویل ملت نده.

یکی اینا باید کتک مفصل بخورن، یکی این اینفلوئنسر‌هایی که ظاهراً رفتن گوگل کار بکنن و حداقل روزی یه پست با بک‌گراند سردر گوگل (در پوزیشن‌های مختلف) میذارن که توش میگن: «من هیچی سابقه و تجربه نداشتم. رفتم تمرین و تلاش کردم و الآن گوگلم» و هی «من گوگلم» رو به بهونه‌های مختلف تکرار میکنن. دوزار حرف بدرد بخور هم نمیزنن.

عجب دکون دستگاهیه. یکی از یکی دیگه بی چشم و رو تر و دروغ‌گو تر و البته احمق‌تر.
Forwarded from Agora (Alireza Azadi)
به نمونه‌ش همین اقا Sahil (اون یکی دیگه یه نفر دیگه‌س که نمیدونم کیه) یه داستان روایت کرده که نه میدونیم واقعیه نه چیزی. ما فرض رو بر این می‌گیریم که این بابا صادقه. با فرض صدق حرف‌هاش، دوزارم این چیزی که نوشته بدرد نمیخوره. چون اصلاً و ابداً قابل تعمیم نیست. برای چی همچین داستانی رو باید نقل کرد وقتی هدف «امید» دادن به بقیه‌است (اگر واقعا هدف این باشه که نیست)؟!

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

و در نهایت بعد از سه مصاحبه رفتی گوگل و یهو شد «اگر هفت بار سکه پرتاب کنید و هربار شیر انتخاب کنی، شانس برد ۹۹٪ میشه»؟!! تو روحت! چقدر وجودتون غیر فابل تحمله….
Forwarded from Linuxor ?
شما توی دانشگاه سیستم عامل یاد نمی‌گیرین که بعدا سیستم عامل بسازین، درباره ساختار سیستم عامل ها می‌خونید که مفاهیمش رو توی طراحی سیستم‌های دیگه یا حل مسائل مشابه با کارکرد سیستم عامل استفاده کنین.


@Linuxor
Forwarded from Agora (Alireza Azadi)
“The most fundamental problem in computer science is problem decomposition: how to take a complex problem and divide it up into pieces that can be solved independently. Problem decomposition is the central design task that programmers face every day”

A Philosophy of Software Design, 2nd Edition
John K.
Forwarded from Linuxor ?
خلاصه امروز توییتر کامیونیتی برنامه نویسی و کامپیوتر :

اکثرا درگیر انتقاد از وضعیت فیلترینگ بودن، اما تو کامیونیتی خارجی بیشتر درباره هوش مصنوعی صحبت شده بود، و یه نفر گفته بود که می‌خواد یه API رایگان LLM بسازه ولی هر 5 تا ریکوست یه تبلیغ نشون بده، همچی داشت خوب پیش می‌رفت که یه نفر دیگه در جوابش گفته بود این برای ما رایگانه و ریکوست های مضرب پنج رو نادیده می‌گیریم و دوباره ارسال می‌کنیم.


@Linuxor
‏اخیراً یک موردی برخوردیم یارو امکانات پایه یک سی ام اس فروشگاهی رو حذف کرده بود، با پلاگین خودش شخصی سازی کرده بود و بابت فعال شدن همون امکانات پایه پول میخواست تا برنامه نویسی بشه:))

<MahdiGp/>

@DevTwitter
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
⁉️ آیا انتخاب یک توزیع‌ لینوکس Immutable (غیرقابل تغییر) برای شما مناسبه ؟

یک لینوکس Immutable فایل‌سیستم فقط‌خواندنی (read-only) داره و برای تغییر باید از Layering یا Overlay استفاده بشه
به جای تغییرات مستقیم، نسخه‌های جدید یا کانتینر جایگزین نسخه قبلی می‌شه

🗓 ویژگی‌های اصلی :
امنیت بالا،پایداری،مدیریت ساده‌تر ، ایده‌آل برای محیط‌های Containarized و Cloud

🗓 موارد استفاده:
سیستم‌های سرور و دسکتاپ محیط های DevOps و Containerization و ...

🗓نمونه‌ توزیع :
Fedora Silverblue،openSUSE MicroOS،Ubuntu Core، NixOS
Flatcar Container Linux و ...

💠 به روزرسانی :
استفاده از Atomic Upgrades یا Snapshotting

⁉️ آزمون :
آیا می‌خواهید امکان بازگشت به حالت قبلی را در صورت بروز مشکل داشته باشید؟
آیا ثبات برای شما مهم‌تر از داشتن آخرین نسخه نرم‌افزارهاست؟
آیا رفع مشکلات برای شما خسته‌کننده است یا یک فرصت یادگیری؟
آیا یک هسته فقط‌خواندنی برای امنیت و ثبات، به جای محدودکننده بودن، احساس اطمینان ایجاد می‌کنه؟
آیا از ایده کانتینری کردن اکثر برنامه‌ها استقبال میکنید؟

❤️ ممنون از حمایت هاتون 💐🌺
#linux
This media is not supported in your browser
VIEW IN TELEGRAM
دنبال یه برنامه سبک و تمیز بودم که کلیدهایی که روی کیبورد فشار میدم رو نمایش بده

رسیدم به KeyViz

https://github.com/mulaRahul/keyviz

قابلیت شخصی‌سازی زیادی داره. کراس پلتفرم هم هست.

@DevTwitter | <Ali Hashemian/>
Forwarded from Anophel | آنوفل
چطور گوروتین‌های گولنگ رو مدیریت کنیم؟💢

تا حالا شده تو برنامه‌هاتون بخواید یه کار طولانی رو نصفه‌نیمه قطع کنید؟ اینجاست که دو تا ابزار قدرتمند گولنگ یعنی Cancel و Done به کمکتون میان!



💠Cancel:

فرض کنید یه گوروتین دارید که نمی‌خواید ادامه بده. با Cancel می‌تونید مستقیم بهش بگید "بسه، دیگه جلوتر نرو!" و منابعش هم آزاد بشه. این کارو با تابع context.WithCancel انجام می‌دید و هر وقت ()cancel رو صدا بزنید، همه گوروتین‌های مربوط به اون کانتکست متوقف می‌شن.



💠Done:

حالا یه حالت دیگه: به جای اینکه دستی گوروتین‌ها رو متوقف کنید، بذارید خودشون بفهمن باید کارشون رو تموم کنن. اینجا Done به درد می‌خوره. Done یه کاناله که وقتی کانتکست تموم شد (مثلاً به خاطر تایم‌آوت یا لغو شدن)، بسته می‌شه و گوروتین‌ها سیگنال می‌گیرن که "وقت رفتنه!".



⭐️خلاصه صحبت ها

💢Cancel برای متوقف کردن مستقیمه.

💢Done برای سیگنال دادن غیرمستقیمه.



💙 Anophel | آنوفل
#
گولنگ #گو #go #golang
Please open Telegram to view this post
VIEW IN TELEGRAM
💎 بررسی Utility Type‌ها در TypeScript 💎

بعضی وقت ها تو تایپ‌اسکریپت, نوع خاصی از type یا interface موجود نیازمون میشه، مثل optional یا required کردن تمامی پورپرتی های تایپ، یه همچین مواردی رو میتونیم خیلی ساده با Utility Type‌ها به شکل مد‌نظرخون تغییر بدیم، تقریبا میشه گفت یک instance با تغییرات و شرطهایی ازشون بسازیم....
#typescript


کاربردی ترین Utility Type‌ها

Partial<Type>

تمام ویژگی‌های یک تایپ رو اختیاری می‌کنه.
type User = { id: number; name: string };
type PartialUser = Partial<User>; // { id?: number; name?: string }


Required<Type>

تمامی پروپرتی‌های یک تایپ رو اجباری می‌کنه.
type User = { id?: number; name?: string };
type RequiredUser = Required<User>; // { id: number; name: string }


Readonly<Type>

تمام پروپرتی‌های تایپ رو ReadOnly می‌کنه.
type User = { id: number; name: string };
type ReadonlyUser = Readonly<User>; // { readonly id: number; readonly name: string }

یعنی اگر بعد از تعریف آبجکت بخواید مقدار یکی از پروپرتی‌های اون آبجکت رو تغییر بدید بهتون ارور میده.


Pick<Type, Keys>

این یکی واقعا کاربردیه و کارش اینه که فقط ویژگی‌های مشخص‌شده از یک تایپ رو برگردونه.
type User = { id: number; name: string; email: string };
type PickedUser = Pick<User, 'id' | 'name'>; // { id: number; name: string }

به Pick باید دو تا مقدار پاس بدید، اول تایپ مد نظرتون و دوم لیست پراپرتی‌ها که می‌خواهید از نوع اولیه انتخاب کنید به این شکل : 'id' | 'name'


Omit<Type, Keys>

ویژگی‌های مشخص‌شده رو از یک تایپ حذف می‌کنه.
type User = { id: number; name: string; email: string };
type OmittedUser = Omit<User, 'email'>; // { id: number; name: string }

این یکی نحوه کارکردش مثل Pick هستش فقط به جای اینکه لیستی که بهش میدید رو ففط برگردونه میاد و فاکتور میگیره از تایپ حذف می‌کنه.


امیدوارم از این مطلب لذت برده باشید، با ری‌اکشنای خودتون بهمون انرژی بدید ❤️‍🔥

🚀 @CoolyCode