Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
این پست رو بخونید. یه نکتهی خیلی مهم ریکتی داره.
ولی اگه چند تا ایونت داشته باشیم چی؟
مثلا ۵ تا ایونت مختلف گذاشته باشیم روی داکیومنت یا ویندو یا هرچیزی
و بعد بخوایم همرو cleanup کنیم
یکم غیر قابل توسعه بنظر میرسه اگه بخوایم واسه هرکدوم یدونه removeEventListener جدا بنویسیم.
راه حل👇🏻
ولی اگه چند تا ایونت داشته باشیم چی؟
مثلا ۵ تا ایونت مختلف گذاشته باشیم روی داکیومنت یا ویندو یا هرچیزی
و بعد بخوایم همرو cleanup کنیم
یکم غیر قابل توسعه بنظر میرسه اگه بخوایم واسه هرکدوم یدونه removeEventListener جدا بنویسیم.
راه حل👇🏻
Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
بجاش این کارو میکنیم
از AbortController استفاده کنیم
وظیفه ی اصلی AbortController کنسل کردن تسک های درحال اجرا مثل درخواست های http یا event listener ها هست.
که اینجا میتونیم فقط با اجرا کردن همین یدونه متود abort تمام ایونت هایی که میخوایم رو کنسل کنیم.
فقط حواستون باشه که شرط کنسل شدنشون اینه که به عنوان آرگومان سوم addEventListener این abortController که میسازید رو پاس بدید.
از 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
🔸۱۰۱ گام بعد نصب لینوکس(مخصوص توزیع های دبیان بیس)
🔸ویرایش دوم 1404
🔸150 صفحه
🔸تماما رنگی
🔸قطع کتاب A4
🔸انتشارات یافته، ناشر کتب دانشگاهی
🔸نویسنده: حسین سیلانی
https://t.iss.one/linuxtnt
Forwarded from Linuxor ?
یه نفر یه توییت زده بود راجع به شروع کردن یه بیزنس یه توضیحی راجع بهش میدم :
برای شروع یه بیزنس سه تا راه دارین :
حل یه مشکل بهتر از دیگران : این گزینه به ریسک اجرایی مربوط میشه، چون رقبا ممکنه عملکرد بهتری داشته باشن یا بازار اشباع باشه. این روش کمریسکترین و مطمئنترین راه برای کسب درآمده.
حل یه مشکل که کسی از اون آگاه نبوده : این گزینه به ریسک محصول-بازار مرتبطه، چون ممکنه مردم اصلاً بهش اهمیت ندن یا تقاضا برای اون کم باشه. اما اگه موفق شه، سود کلانی داره.
حل یه مشکل شناختهشده اما دشوار : این گزینه با ریسک فنی مواجهه ، چون نیاز به راهحلهای پیچیده یا نوآوری عمیق داره. در صورت موفقیت، سود قابلتوجهی داره.
@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
🔒 Protect Against AI Bots, Fraud, and Abuse in Real Time
🟢 خلاصه مقاله:
با استفاده از WorkOS Radar، شما میتوانید رفتارهای مضر را شناسایی، تأیید و مسدود کنید و با استفاده از تکنیک پیشرفتهی اثرانگشتگیری دستگاه (یک روش برای شناسایی و تمایز دستگاهها بر اساس خصوصیات خاص سختافزاری و نرمافزاری آنها)، اپلیکیشن خود را محافظت نمائید. ثبتنامهای جعلی و سوء استفاده از سطح رایگان و حملات رباتها و تلاشهای نیروی خام را امروز متوقف کنید.
🟣لینک مقاله:
https://golangweekly.com/link/166774/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Workos
Radar — WorkOS
Detect, verify, and block harmful behavior in real time. WorkOS Radar protects your app against AI bots, account abuse, credential theft, and more.
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
#tips
@TheRaymondDev
وقتی میتونید از 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 Laravel News
String Manipulation with Laravel's remove Method https://laravel-news.com/string-manipulation-remove
Laravel News
String Manipulation with Laravel's remove Method - Laravel News
Improve string manipulation in your Laravel applications with the Str::remove method. This utility makes character removal operations more readable while supporting both single character and array-based pattern removal.
Forwarded from Laravel News
Create Self-Contained PHP Executables with PHPacker https://laravel-news.com/create-self-contained-php-executables-with-phpacker
Laravel News
Create Self-Contained PHP Executables with PHPacker - Laravel News
PHPacker enables you to package any PHP script or PHAR into a standalone, cross-platform executable. It handles all the complexity of bundling PHP with your application, making distribution simple and hassle-free.
Forwarded from Linuxor ?
Forwarded from 🐍 Python & Raspberry 🐍
نوروز 1404 بر شما اعضای محترم مبارک.
انشالله سالی همراه با سلامتی و موفقیت، جیب پر پول و خوشی و صفا باشه🌹🌹🌹🌹
@raspberry_python
انشالله سالی همراه با سلامتی و موفقیت، جیب پر پول و خوشی و صفا باشه🌹🌹🌹🌹
@raspberry_python
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 مدیریت خطای متمرکز در PHP با لاراول لاگینگ (Laravel Logging)
مدیریت خطا بخش مهمی از ساخت برنامه های کاربردی قوی است. در اینجا نحوه مدیریت خطای متمرکز درPHP با لاراول Log Facade ترکیب می شود تا یک سیستم ثبت خطا مقیاس پذیر و قابل نگهداری ایجاد کنید.
</Mohammad Roshandelpoor>
#لاراول
@TheRaymondDev
مدیریت خطا بخش مهمی از ساخت برنامه های کاربردی قوی است. در اینجا نحوه مدیریت خطای متمرکز در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
Linkedin
#php #laravel | Mohammad Roshandelpoor
🚀 Centralized Error Handling in PHP with Laravel Logging
Error handling is a critical part of building robust applications. Here’s how you can combine centralized error handling in #PHP with #Laravel's Log facade to create a scalable and maintainable error…
Error handling is a critical part of building robust applications. Here’s how you can combine centralized error handling in #PHP with #Laravel's Log facade to create a scalable and maintainable error…
Forwarded from Laravel News
Connecting Laravel Socialite with Google Client PHP Library https://laravel-news.com/connecting-laravel-socialite-with-google-client-php-library
Laravel News
Connecting Laravel Socialite with Google Client PHP Library - Laravel News
This article will guide you through setting up Laravel Socialite with Google OAuth and connecting it to the Google Client PHP Library.
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 یک شرکت روسی آسیبپذیریهای امنیتی تلگرام را ۴ میلیون دلار میخرد
بهگزارش تککرانچ، Operation Zero برای اکسپلویت از نوع One-Click RCE تا ۵۰۰ هزار دلار، برای Zero-Click RCE تا ۱٫۵ میلیون دلار و برای زنجیرهی کامل اکسپلویت تا ۴ میلیون دلار جایزه میپردازد. زنجیرهی کامل اکسپلویت زمانی شکل میگیرد که چند آسیبپذیری بههم پیوسته، در نهایت کنترل کامل دستگاه را در اختیار حملهکننده قرار دهند. اکسپلویتهای Zero-Click ارزش بالاتری دارند؛ زیرا بدون هرگونه تعامل کاربر عمل میکنند.
#خبر
@TheRaymondDev
بهگزارش تککرانچ، Operation Zero برای اکسپلویت از نوع One-Click RCE تا ۵۰۰ هزار دلار، برای Zero-Click RCE تا ۱٫۵ میلیون دلار و برای زنجیرهی کامل اکسپلویت تا ۴ میلیون دلار جایزه میپردازد. زنجیرهی کامل اکسپلویت زمانی شکل میگیرد که چند آسیبپذیری بههم پیوسته، در نهایت کنترل کامل دستگاه را در اختیار حملهکننده قرار دهند. اکسپلویتهای Zero-Click ارزش بالاتری دارند؛ زیرا بدون هرگونه تعامل کاربر عمل میکنند.
#خبر
@TheRaymondDev
TechCrunch
Russian zero-day seller is offering up to $4 million for Telegram exploits | TechCrunch
Two sources in the zero-day industry say Operation Zero's prices for exploits against the popular messaging app Telegram will depend on different factors.
Forwarded from کدنویس یکروزه
سؤال بزرگ:
آیا هوش مصنوعی جای برنامه نویس رو می گیره؟
پاسخ اینه که اگه ما یک هوش مصنوعی داشته باشیم که به غیر از کدنویسی :
۱ - در جلسات تحلیل نرم افزار شرکت کنه، بعد از اینکه کار کارشناس نرم افزار رو در تهیهی سند و داکیومنت انجام داد که بفهمه قراره برنامه چه کاری بکنه،
۲ - روی انتخاب ابزارهای پیاده سازی مربوط به عنوان مدیر پروژه تصمیم گیری کنه که از چه دیتابیس و زبان و کتابخانه کدی باید بهره گرفت و در نهایت
۳ - هماهنگی لازم برای تعیین میزان سخت افزار و مکان لازم برای نصب برنامه رو انجام بده،
اون وقته که میتونه جای این شغل رو بگیره!
یعنی باید از یک اَپ کدنویسی بیشتر باشه و شبیه یک روبات انسان نما همه جا بره و تحقیق کنه و تصمیم بگیره!
آیا این حرف یعنی هوش مصنوعی به برنامه نویسان لطمه نخواهد زد؟
چرا! تمام برنامه نویسانی که از این ابزار استفاده نکنن حتماً سرعت کارشون کم خواهد شد و در نتیجه برنامه نویسان امروزی تر که مجهز به هوش مصنوعی هستن در واقع رقیبان اصلی این شغل خواهند بود نه هوش مصنوعی!
سؤال قبلی مرتبط:
کدنویسی یکروزه و یادگیری سریع ممکنه؟
آیا هوش مصنوعی جای برنامه نویس رو می گیره؟
پاسخ اینه که اگه ما یک هوش مصنوعی داشته باشیم که به غیر از کدنویسی :
۱ - در جلسات تحلیل نرم افزار شرکت کنه، بعد از اینکه کار کارشناس نرم افزار رو در تهیهی سند و داکیومنت انجام داد که بفهمه قراره برنامه چه کاری بکنه،
۲ - روی انتخاب ابزارهای پیاده سازی مربوط به عنوان مدیر پروژه تصمیم گیری کنه که از چه دیتابیس و زبان و کتابخانه کدی باید بهره گرفت و در نهایت
۳ - هماهنگی لازم برای تعیین میزان سخت افزار و مکان لازم برای نصب برنامه رو انجام بده،
اون وقته که میتونه جای این شغل رو بگیره!
یعنی باید از یک اَپ کدنویسی بیشتر باشه و شبیه یک روبات انسان نما همه جا بره و تحقیق کنه و تصمیم بگیره!
آیا این حرف یعنی هوش مصنوعی به برنامه نویسان لطمه نخواهد زد؟
چرا! تمام برنامه نویسانی که از این ابزار استفاده نکنن حتماً سرعت کارشون کم خواهد شد و در نتیجه برنامه نویسان امروزی تر که مجهز به هوش مصنوعی هستن در واقع رقیبان اصلی این شغل خواهند بود نه هوش مصنوعی!
سؤال قبلی مرتبط:
کدنویسی یکروزه و یادگیری سریع ممکنه؟
Forwarded from Python Hints
به این موارد
چندتا مورد امنیتی هم اضافه کنید.
دانستن بعضی چیزها وقتی خودتون رو web developer معرفی میکنید اجباری هست؛ اونقدر واضح و اجباری که هیچکس از شما راجبش شاید سوال هم نکنه؛ ولی توی کار وقتی ببینند رعایت نمیکنید و خرابکاری جدی به بار میارید، از کار کنار گذاشته میشید.
چندتا مورد خیلی سادهاش :
۱- قبل از هر release باید پکیجهای اصلی رو بررسی کنید، حتماً باید چک کنید که مشکل امنیتی نداشته باشه، خیلیها توی دنیای python از مکانیزمهای version lock, pip freeze, ... استفاده میکنند.
این کار درست نیست (قبلاً هم صحبت کردم راجبش بجای
اگر ورژن کتابخانهها رو روی یک ورژن خاص میگذارید؛ حداقل باید ابزاری برای بررسی باگهای مهم و ورژن کتابخانهها داشته باشید؛ که حتماً توی پایپ لاین این موضوع رو بررسی کنه.
۲- حداقل هر چند وقت یکبار یک نگاهی به داکیومنت اون کتابخانه بندازید، ببینید هنوز
۳- صرف اینکه؛
من خیلی دیدم، که توی
یا مثلاً فارغ از اینکه پروژه برای چه کاری هست و چقدر باید امن باشه یا ... همیشه برای
۴- حداقل آشنایی با
و موارد دیگر، البته که خیلی از این موارد رو Django برای شما انجام داده و مطمئن میشه وجود نداشته باشه و خیلی های دیگه هم باید توسط برنامه نویس رعایت بشه.
بعضیها حتی باید توی Test نویسی چک بشه وگرنه پروژه که بزرگ بشه احتمالش زیاد هست باعث نفوذ به سیستم و ... بشه.
یادم باشه بعداً یک
مشکل امنیتی بسیار زیاد توی پروژههای دوستان میبینم و بهتون اطمینان خاطر میدم که به هیچوجه من ادعایی روی سواد امنیتی و ... ندارم و این موارد بایدهای
چندتا مورد امنیتی هم اضافه کنید.
دانستن بعضی چیزها وقتی خودتون رو 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 داشته.
خواهش میکنم از این بخش به بعد پست اصلی رو بخونید.
فقط برای یادآوری میگم 🌹
دوتا پست قبلتر؛ حدود 250 بار share داشته.
خواهش میکنم از این بخش به بعد پست اصلی رو بخونید.
فقط برای یادآوری میگم 🌹
Forwarded from Armon technical logs (armon Taheri)