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 Syntax | سینتکس (𝙰𝚖𝚒𝚛𝚑𝚘𝚜𝚜𝚎𝚒𝚗)
This media is not supported in your browser
VIEW IN TELEGRAM
چند فکت محبوب برنامه نویسی😂👌
.
.
خدایی غیر اینه؟!
#fun
در لینوکس برای اجرای دستورات با دسترسی بالاتر و ریشه (root)
میتوانید از
su, sudo su, sudo -i , sudo -s

استفاده کنید :

🚀 دستور su (Switch User)
دستور su "تغییر کاربر" بدون آرگومان به کاربر root و رمز عبور root میخواهد و su user2 به کاربر مشخص شده

|🔥 دستور sudo su
ابتدا sudo ، سپس su . به جای رمز root، رمز عبور کاربر فعلی و بعد اجرا su
معادل sudo -i
تفاوت با su
اگر دسترسی sudo نداشته باشید، نمی‌توانید sudo su را اجرا کنید.


🚨 دستور sudo -i (Interactive Root Login)
یک لاگین کامل برای root مثل این که root با نام کاربری و رمز عبور خودش وارد سیستم شده.
تفاوت با sudo su:
‏sudo su فقط یک شبیه‌سازی از root را ایجاد می‌کند، اما sudo -i دقیقاً یک محیط ورود واقعی root را ایجاد می‌کند.
ورود مستقیم root ( متغیرهای محیطی (PATH, HOME و غیره) خود root


⚠️ دستور sudo -s (Root Shell)
یک پوسته‌ی (Shell) root، اما متغیرهای محیطی کاربر فعلی متغیرهایی مثل HOME تغییر نمی‌دهد.
تفاوت با sudo -i:
‏sudo -i به /root می‌رود و متغیرهای محیطی root را تنظیم می‌کند.
‏sudo -s فقط پوسته root است و متغیرهای محیطی حفظ میشه.

#linux
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰هدیه نوروزی از طرف کانال لینوکس ام
linuxtnt( Linux Tips and Tricks) = @linuxtnt

🔹 کتاب یازدهم از مجموعه ۱۰۰ کتاب لینوکسی خودم رو با عنوان:

🔸۱۰۱ گام بعد نصب لینوکس(مخصوص توزیع های دبیان بیس)
🔸ویرایش دوم 1404
🔸150 صفحه
🔸تماما رنگی
🔸قطع کتاب A4
🔸انتشارات یافته، ناشر کتب دانشگاهی
🔸نویسنده: حسین سیلانی


🔹امیدوارم این کتاب برای شما مفید و ثمر‌بخش واقع بشه.
جهت دریافت کتاب وارد کانال بشوید:

https://t.iss.one/linuxtnt
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
این پست رو بخونید. یه نکته‌ی خیلی مهم ریکتی داره.

ولی اگه چند تا ایونت داشته باشیم چی؟
مثلا ۵ تا ایونت مختلف گذاشته باشیم روی داکیومنت یا ویندو یا هرچیزی
و بعد بخوایم همرو cleanup کنیم
یکم غیر قابل توسعه بنظر میرسه اگه بخوایم واسه هرکدوم یدونه removeEventListener جدا بنویسیم.

راه حل👇🏻
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
بجاش این کارو میکنیم
از AbortController استفاده کنیم

وظیفه ی اصلی AbortController کنسل کردن تسک های درحال اجرا مثل درخواست های http یا event listener ها هست.

که اینجا میتونیم فقط با اجرا کردن همین یدونه متود abort تمام ایونت هایی که میخوایم رو کنسل کنیم.

فقط حواستون باشه که شرط کنسل شدنشون اینه که به عنوان آرگومان سوم addEventListener این abortController که میسازید رو پاس بدید.
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
101-steps-after-installing-linux.pdf
5.9 MB
🔹 هدیه نوروزی کتاب یازدهم از مجموعه ۱۰۰ کتاب لینوکسی خودم رو با عنوان:

🔸۱۰۱ گام بعد نصب لینوکس(مخصوص توزیع های دبیان بیس)
🔸ویرایش دوم 1404
🔸150 صفحه
🔸تماما رنگی
🔸قطع کتاب A4
🔸انتشارات یافته، ناشر کتب دانشگاهی
🔸نویسنده: حسین سیلانی

https://t.iss.one/linuxtnt
Forwarded from Linuxor ?
یه نفر یه توییت زده بود راجع به شروع کردن یه بیزنس یه توضیحی راجع بهش می‌دم :

برای شروع یه بیزنس سه تا راه دارین :

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

حل یه مشکل که کسی از اون آگاه نبوده : این گزینه به ریسک محصول-بازار مرتبطه، چون ممکنه مردم اصلاً بهش اهمیت ندن یا تقاضا برای اون کم باشه. اما اگه موفق شه، سود کلانی داره.

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


@Linuxor
Forwarded from Gopher Academy
🔵 عنوان مقاله
🔒 Protect Against AI Bots, Fraud, and Abuse in Real Time

🟢 خلاصه مقاله:
با استفاده از WorkOS Radar، شما می‌توانید رفتارهای مضر را شناسایی، تأیید و مسدود کنید و با استفاده از تکنیک پیشرفته‌ی اثرانگشت‌گیری دستگاه (یک روش برای شناسایی و تمایز دستگاه‌ها بر اساس خصوصیات خاص سخت‌افزاری و نرم‌افزاری آنها)، اپلیکیشن خود را محافظت نمائید. ثبت‌نام‌های جعلی و سوء استفاده از سطح رایگان و حملات ربات‌ها و تلاش‌های نیروی خام را امروز متوقف کنید.

🟣لینک مقاله:
https://golangweekly.com/link/166774/web


👑 @gopher_academy
Forwarded from 🎄 یک برنامه نویس تنبل (  MΞ)
🔶 #Typescript OOP

وقتی میتونید از this داخل استاتیک متدها استفاده کنید که متدی که کال میکنید هم استاتیک باشه

when calling a static method inside another static method, you must reference it using this or the class name itself

class HTTPClient {
static request(url: string, method: string = 'GET'): void {
console.log(`Requesting ${url} with method ${method}`);
}

static fetchData(url: string): void {
// Calling the static method using "this"
this.request(url, 'GET');

// Calling the static method using the class name
HTTPClient.request(url, 'POST');
}
}

// Usage
HTTPClient.fetchData('https://api.example.com/data');


#tips

@TheRaymondDev
Forwarded from Linuxor ?
آدما هم مثل API ها می‌گن OK 200 ولی واقعا OK نیستن !

@Linuxor
نوروز 1404 بر شما اعضای محترم مبارک.
انشالله سالی همراه با سلامتی و موفقیت، جیب پر پول و خوشی و صفا باشه🌹🌹🌹🌹

@raspberry_python
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 مدیریت خطای متمرکز در PHP با لاراول لاگینگ (Laravel Logging)

مدیریت خطا بخش مهمی از ساخت برنامه های کاربردی قوی است. در اینجا نحوه مدیریت خطای متمرکز درPHP با لاراول Log Facade ترکیب می شود تا یک سیستم ثبت خطا مقیاس پذیر و قابل نگهداری ایجاد کنید.

function centralizedErrorHandler($errno, $errstr, $errfile, $errline)
{
//Log the error using Laravel's Log Facade

Log::error("Custom error: [$errno] $errstr - Error on line $errline in $errfile");

// Optionally, display the error to the user (for development purposes)

echo '<b>Custom error:</b> [$errno] $errstr<br>';
echo 'Error on line $errline in $errfile<br>';
}

// Set user-defined error handler function

set_error_handler("centralizedErrorHandler");

//example
//see an error in storage/logs/laravel.log

trigger_error("A Custom error has been triggered");


</Mohammad Roshandelpoor>
#لاراول

@TheRaymondDev
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۳۸۴

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

#مولانا | گنجور
📍@iipoem
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 یک شرکت روسی آسیب‌پذیری‌های امنیتی تلگرام را ۴ میلیون دلار می‌خرد

به‌گزارش تک‌کرانچ، Operation Zero برای اکسپلویت از نوع One-Click RCE تا ۵۰۰ هزار دلار، برای Zero-Click RCE تا ۱٫۵ میلیون دلار و برای زنجیره‌ی کامل اکسپلویت تا ۴ میلیون دلار جایزه می‌پردازد. زنجیره‌ی کامل اکسپلویت زمانی شکل می‌گیرد که چند آسیب‌پذیری به‌هم پیوسته، در نهایت کنترل کامل دستگاه را در اختیار حمله‌کننده قرار دهند. اکسپلویت‌های Zero-Click ارزش بالاتری دارند؛ زیرا بدون هرگونه تعامل کاربر عمل می‌کنند.

#خبر

@TheRaymondDev
سؤال بزرگ:
   آیا هوش مصنوعی جای برنامه نویس رو می گیره؟

پاسخ اینه که اگه ما یک هوش مصنوعی داشته باشیم که به غیر از کدنویسی :
۱ -  در جلسات تحلیل نرم افزار شرکت کنه، بعد از اینکه کار کارشناس نرم افزار رو در تهیه‌ی سند و داکیومنت انجام داد که بفهمه قراره برنامه چه کاری بکنه،
۲ - روی انتخاب ابزارهای پیاده سازی مربوط به عنوان مدیر پروژه تصمیم گیری کنه که از چه دیتابیس و زبان و کتابخانه کدی باید بهره گرفت و  در نهایت
۳ - هماهنگی لازم برای تعیین میزان سخت افزار و مکان لازم برای نصب برنامه رو انجام بده،
  اون وقته که می‌تونه جای این شغل رو بگیره!
   یعنی باید از یک اَپ کدنویسی بیشتر باشه و شبیه یک روبات انسان نما همه جا بره و تحقیق کنه و تصمیم بگیره!
    آیا این حرف یعنی هوش مصنوعی به برنامه نویسان لطمه نخواهد زد؟
   چرا! تمام برنامه نویسانی که از این ابزار استفاده نکنن حتماً سرعت کارشون کم خواهد شد و در نتیجه برنامه نویسان امروزی تر که مجهز به هوش مصنوعی هستن در واقع رقیبان اصلی این شغل خواهند بود نه هوش مصنوعی!

سؤال قبلی مرتبط:
کدنویسی یکروزه و یادگیری سریع ممکنه؟
Forwarded from Python Hints
#reminder

DRF security checklist
Forwarded from Python Hints
به این موارد
چندتا مورد امنیتی هم اضافه کنید.

دانستن بعضی چیزها وقتی خودتون رو web developer معرفی می‌کنید اجباری هست؛ اونقدر واضح و اجباری که هیچکس از شما راجبش شاید سوال هم نکنه؛ ولی توی کار وقتی ببینند رعایت نمی‌کنید و خرابکاری جدی به بار میارید، از کار کنار گذاشته می‌شید.

چندتا مورد خیلی ساده‌اش :

۱- قبل از هر release باید پکیج‌های اصلی رو بررسی کنید، حتماً باید چک کنید که مشکل امنیتی نداشته باشه، خیلی‌ها توی دنیای python از مکانیزم‌های version lock, pip freeze, ... استفاده می‌کنند.
این کار درست نیست (قبلاً هم صحبت کردم راجبش بجای = از ~= استفاده کنید) شما حداقل باید patch هارو بصورت خودکار بگیرید.
اگر ورژن کتابخانه‌ها رو روی یک ورژن خاص می‌گذارید؛ حداقل باید ابزاری برای بررسی باگ‌های مهم و ورژن کتابخانه‌ها داشته باشید؛ که حتماً توی پایپ لاین این موضوع رو بررسی کنه.

۲- حداقل هر چند وقت یکبار یک نگاهی به داکیومنت اون کتابخانه بندازید، ببینید هنوز maintain می‌شه یا deprecate شده ؟

۳- صرف اینکه؛ JWT و SHA-256 استفاده می‌کنید اپلیکیشن شما امن نیست.
من خیلی دیدم، که توی jwt متأسفانه بعضی‌ها اطلاعات کاربر رو می‌گذارند که خب خیلی اشتباه هست.
یا مثلاً فارغ از اینکه پروژه برای چه کاری هست و چقدر باید امن باشه یا ... همیشه برای password hash از الگوریتم خاصی استفاده می‌کنند مثلا sha2-256

۴- حداقل آشنایی با SQL-Injection, XSS, ... رو باید داشته باشید

و موارد دیگر، البته که خیلی از این موارد رو Django برای شما انجام داده و مطمئن می‌شه وجود نداشته باشه و خیلی های دیگه هم باید توسط برنامه نویس رعایت بشه.
بعضی‌ها حتی باید توی Test نویسی چک بشه وگرنه پروژه که بزرگ بشه احتمالش زیاد هست باعث نفوذ به سیستم و ... بشه.

یادم باشه بعداً یک checklist مخصوص DRF برای این موضوع آپلود کنم؛ تمام موارد رو حداقل در حد آشنایی بدونید و مطمئن بشید پروژه‌ امن هست.
مشکل امنیتی بسیار زیاد توی پروژه‌های دوستان می‌بینم و بهتون اطمینان خاطر میدم که به هیچ‌وجه من ادعایی روی سواد امنیتی و ... ندارم و این موارد بایدهای Software Engineering هست.
Forwarded from Python Hints
#موقت

دوتا پست قبلتر؛ حدود 250 بار share داشته.

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

فقط برای یادآوری می‌گم 🌹