Forwarded from Pink Orca ✌️ پینک اورکا
🔒 رمزنگاری (Cryptography) شاخهای از علوم رایانه و ریاضیات هستش که برای حفاظت از اطلاعات و ارتباطات استفاده میشه. این حوزه به طور کلی به دو دسته اصلی تقسیم میشه: رمزنگاری متقارن و رمزنگاری غیرمتقارن.
🔑 در رمزنگاری متقارن (Symmetric-key Cryptography)، هم رمزگذاری و هم رمزگشایی با یک کلید یکسان انجام میشه. الگوریتمهایی مثل AES (Advanced Encryption Standard) و ChaCha20 تو این دسته قرار میگیرن. سرعتشون بالاست، ولی چالش اصلی اینجاست که باید کلید رو قبل از استفاده، به شکلی امن به طرف مقابل منتقل یا به اشتراک گذاشت (Secure Key Exchange). اگر کلید در این فرآیند لو بره، امنیت کل سیستم از بین میره.
🔐 در رمزنگاری غیرمتقارن (Asymmetric or Public-key Cryptography)، از یک جفت کلید استفاده میشه: کلید عمومی که همه میتونن ببینن و برای رمزگذاری استفاده میشه، و کلید خصوصی که فقط مالک اون داره و برای رمزگشایی به کار میره. RSA و ECC (Elliptic Curve Cryptography) از الگوریتمهای مهم این حوزه هستن. ECC به دلیل استفاده از ریاضیات منحنی بیضوی، با اندازه کلید کوچیکتر نسبت به RSA، امنیت مشابه یا حتی بالاتری ارائه میده؛ مثلا یک کلید 256 بیتی ECC حدودا معادل امنیت یک کلید 3072 بیتی RSA هستش.
#️⃣ علاوه بر این، توابع هش رمزنگاری (Cryptographic Hash Functions) مثل SHA-256، داده رو به یک مقدار به طول ثابت و غیرقابل برگشت تبدیل میکنن. تغییر حتی یک بیت از ورودی باعث تغییر کامل خروجی میشه. این ویژگی برای بررسی یکپارچگی داده، ذخیره امن گذرواژهها و تولید امضاهای دیجیتال به کار میره.
📌 در عمل، رمزنگاری فقط الگوریتم نیست، بلکه مجموعهای از پروتکلها و استانداردها رو هم شامل میشه. مثلا TLS (Transport Layer Security) تو مرورگرها و اپلیکیشنها برای ایجاد کانال ارتباطی امن استفاده میشه و ترکیبی از رمزنگاری متقارن، غیرمتقارن و توابع هش رو به کار میگیره. PGP (Pretty Good Privacy) برای رمزگذاری و امضای ایمیلها به کار میره. Zero-Knowledge Proofs هم تکنیکی هستش که اجازه میده یک طرف بدون فاش کردن خود داده، ثابت کنه که اطلاعاتی رو داره.
🔬 رمزنگاری مدرن همچنین شامل مفاهیم پیشرفتهتری هستش، مثل رمزنگاری همومورفیک (Homomorphic Encryption) که امکان انجام محاسبات روی داده رمز شده رو فراهم میکنه بدون اینکه نیاز باشه دادهها رمزگشایی بشن، و رمزنگاری مقاوم در برابر کوانتوم (Post-Quantum Cryptography) که برای مقابله با توان محاسباتی کامپیوترهای کوانتومی طراحی شده. سازمان NIST در حال استانداردسازی این الگوریتمهاست.
📝 خیلیها رمزنگاری رو با Encoding یا Obfuscation اشتباه میگیرن (اگه این پست رو میخوندن اینطور نمیشد🗣). Encoding (مثل Base64 یا URL encoding) فقط قالب نمایش داده رو تغییر میده تا داده قابل استفاده یا انتقال باشه و هدفش حفظ محرمانگی نیست. هرکسی که بدونه از چه روشی استفاده شده، میتونه داده رو دوباره به شکل اصلی برگردونه. همینطور Obfuscation بیشتر برای سختتر کردن فهم یا مهندسی معکوس کد و داده استفاده میشه، مثلا در نرمافزارها یا اسکریپتها. این کار امنیت واقعی ایجاد نمیکنه چون با صرف زمان و ابزار مناسب، میشه داده یا کد اصلی رو به دست آورد. در مقابل، رمزنگاری روی امنیت ریاضی و کلیدهای مخفی تکیه میکنه و بدون دسترسی به کلید، عملا شکستن اون با روشهای brute-force برای دادههای واقعی در بازه زمانی معقول غیرممکن هستش.
~> @PinkOrca | آزاد بیندیشیم 🪄
🔑 در رمزنگاری متقارن (Symmetric-key Cryptography)، هم رمزگذاری و هم رمزگشایی با یک کلید یکسان انجام میشه. الگوریتمهایی مثل AES (Advanced Encryption Standard) و ChaCha20 تو این دسته قرار میگیرن. سرعتشون بالاست، ولی چالش اصلی اینجاست که باید کلید رو قبل از استفاده، به شکلی امن به طرف مقابل منتقل یا به اشتراک گذاشت (Secure Key Exchange). اگر کلید در این فرآیند لو بره، امنیت کل سیستم از بین میره.
🔐 در رمزنگاری غیرمتقارن (Asymmetric or Public-key Cryptography)، از یک جفت کلید استفاده میشه: کلید عمومی که همه میتونن ببینن و برای رمزگذاری استفاده میشه، و کلید خصوصی که فقط مالک اون داره و برای رمزگشایی به کار میره. RSA و ECC (Elliptic Curve Cryptography) از الگوریتمهای مهم این حوزه هستن. ECC به دلیل استفاده از ریاضیات منحنی بیضوی، با اندازه کلید کوچیکتر نسبت به RSA، امنیت مشابه یا حتی بالاتری ارائه میده؛ مثلا یک کلید 256 بیتی ECC حدودا معادل امنیت یک کلید 3072 بیتی RSA هستش.
#️⃣ علاوه بر این، توابع هش رمزنگاری (Cryptographic Hash Functions) مثل SHA-256، داده رو به یک مقدار به طول ثابت و غیرقابل برگشت تبدیل میکنن. تغییر حتی یک بیت از ورودی باعث تغییر کامل خروجی میشه. این ویژگی برای بررسی یکپارچگی داده، ذخیره امن گذرواژهها و تولید امضاهای دیجیتال به کار میره.
📌 در عمل، رمزنگاری فقط الگوریتم نیست، بلکه مجموعهای از پروتکلها و استانداردها رو هم شامل میشه. مثلا TLS (Transport Layer Security) تو مرورگرها و اپلیکیشنها برای ایجاد کانال ارتباطی امن استفاده میشه و ترکیبی از رمزنگاری متقارن، غیرمتقارن و توابع هش رو به کار میگیره. PGP (Pretty Good Privacy) برای رمزگذاری و امضای ایمیلها به کار میره. Zero-Knowledge Proofs هم تکنیکی هستش که اجازه میده یک طرف بدون فاش کردن خود داده، ثابت کنه که اطلاعاتی رو داره.
🔬 رمزنگاری مدرن همچنین شامل مفاهیم پیشرفتهتری هستش، مثل رمزنگاری همومورفیک (Homomorphic Encryption) که امکان انجام محاسبات روی داده رمز شده رو فراهم میکنه بدون اینکه نیاز باشه دادهها رمزگشایی بشن، و رمزنگاری مقاوم در برابر کوانتوم (Post-Quantum Cryptography) که برای مقابله با توان محاسباتی کامپیوترهای کوانتومی طراحی شده. سازمان NIST در حال استانداردسازی این الگوریتمهاست.
📝 خیلیها رمزنگاری رو با Encoding یا Obfuscation اشتباه میگیرن (اگه این پست رو میخوندن اینطور نمیشد🗣). Encoding (مثل Base64 یا URL encoding) فقط قالب نمایش داده رو تغییر میده تا داده قابل استفاده یا انتقال باشه و هدفش حفظ محرمانگی نیست. هرکسی که بدونه از چه روشی استفاده شده، میتونه داده رو دوباره به شکل اصلی برگردونه. همینطور Obfuscation بیشتر برای سختتر کردن فهم یا مهندسی معکوس کد و داده استفاده میشه، مثلا در نرمافزارها یا اسکریپتها. این کار امنیت واقعی ایجاد نمیکنه چون با صرف زمان و ابزار مناسب، میشه داده یا کد اصلی رو به دست آورد. در مقابل، رمزنگاری روی امنیت ریاضی و کلیدهای مخفی تکیه میکنه و بدون دسترسی به کلید، عملا شکستن اون با روشهای brute-force برای دادههای واقعی در بازه زمانی معقول غیرممکن هستش.
~> @PinkOrca | آزاد بیندیشیم 🪄
❤3🔥1
🔶 یه بی نظمی عجیبی در مستندات لاراول ۱۲ می ببینم که لاراول در استارتر کیت اونم پکیچ احراز هویتش قابل نمایش نیست.
توی بخش Packages نامی از Laravel Breeze یا jetStream برده نشده است.
#لاراول
@TheRaymondDev
توی بخش Packages نامی از Laravel Breeze یا jetStream برده نشده است.
#لاراول
@TheRaymondDev
👍3❤2💔1
🔶 نصب لاراول ۱۲ در لینوکس
برای نصب اول دستور لاراول Laravel Installer در ترمینال وارد کنید:
اگر در اجرای دستور Laravel New برای ایجاد پروژه خطا داد:
باید path برای لاراول تعریف کنید:
حالا با دستور زیر پروژه لاراول ایجاد کنید:
#لاراول
@TheRaymondDev
برای نصب اول دستور لاراول Laravel Installer در ترمینال وارد کنید:
composer global require laravel/installer
اگر در اجرای دستور Laravel New برای ایجاد پروژه خطا داد:
laravel new example-app
laravel: command not found
باید path برای لاراول تعریف کنید:
echo 'export PATH="$PATH:$(composer global config bin-dir --absolute)"' >> ~/.bashrc
حالا با دستور زیر پروژه لاراول ایجاد کنید:
laravel new example-app
#لاراول
@TheRaymondDev
❤2
Forwarded from Md Daily (Mahan)
اگه دنبال مجموعه ابزارهایی هستید که موقع توسعه کارتون رو سریع تر کنن، پس حتما dev tools رو امتحان کنید :)
مجموعه از ابزار های مختلفیو مثل :
- JSON Viewer
- QR Code Generator
- Markdown
- CRON Calculator
- Color Palette Generator
و .... رو با تمرکز روی privacy در اختیارتون میذاره.
ترکیب این سایت با CyberChef که به چاقوی سوئیسی سایبری معروفه میتونه خیلی کمک کننده باشه.
🌐 https://dev-tool.dev/
🌐 https://gchq.github.io/CyberChef/
---
💡 مثل همیشه کنجکاو بمونید :)
🆔 @MdDaily
مجموعه از ابزار های مختلفیو مثل :
- JSON Viewer
- QR Code Generator
- Markdown
- CRON Calculator
- Color Palette Generator
و .... رو با تمرکز روی privacy در اختیارتون میذاره.
ترکیب این سایت با CyberChef که به چاقوی سوئیسی سایبری معروفه میتونه خیلی کمک کننده باشه.
---
🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
خب بالاخره C++23 یک سیستم درست و درمون Error Handling که میتونه به سبک برنامهنویسی Functional هم کار کنه اضافه کرد! کاملا هم Zero Cost هست :)
اینجاست که رقابت تنگاتنگ Rust و C++ و اثرشون روی همدیگه جذاب و دوستداشتنی میشه.
در این 🧵 قصد داریم با std::expected آشنا بشم!
https://x.com/mamadou_gamedev/status/1954555836526711284
@TheRaymondDev
❤1
🔶 به نظر میاد که اتحادیه اروپا برنامه ای برای کنترل چت و از بین بردن ارتباطات خصوصی چت رو دارد.
یعنی برگشت به دوران پیش از اینترنت امن
@TheRaymondDev
یعنی برگشت به دوران پیش از اینترنت امن
@TheRaymondDev
🤬9
🔶 آخر هفته هوا خنک می شود، اما از هفته بعد گرمای شدید تابستان برمیگردد و هوا تا ۱۰ درجه گرمتر می شود.
@TheRaymondDev
@TheRaymondDev
🔥4
🎄 یک برنامه نویس تنبل
🔶 لینوکس دبیان ۱۳ با نام رمز تریکسی منتشر شد. #خبر #لینوکس @TheRaymondDev
🔶 دبیان ۱۳ باگ دارد و فعلا نصب نکنید.
باگ :
- کرش شدن مداوم
- باز نشدن ترمینال
- ری استارت نشدن
@TheRaymondDev
باگ :
- کرش شدن مداوم
- باز نشدن ترمینال
- ری استارت نشدن
@TheRaymondDev
🔶 آقای Thomas Dohmke، مدیرعامل GitHub، اعلام کرده که از سمتش کناره گیری می کند و گیت هاب زیر نظر بخش CoreAI مایکروسافت، که برای این شرکت و مشتریان اون راهکارهای هوش مصنوعی ارائه می دهد را قرار می گیرد و پس از نزدیک به چهار سال مدیریت، گیتهاب را ترک میکند تا «دوباره به یک بنیانگذار استارتاپ تبدیل شود» و به دنبال فرصتهای جدید خارج از مایکروسافت و گیتهاب برود.
#خبر
@TheRaymondDev
#خبر
@TheRaymondDev
The Verge
GitHub just got less independent at Microsoft after CEO resignation
GitHub will be part of Microsoft’s AI engineering team
❤3👍1💔1
Forwarded from محتوای آزاد سهراب
🔶 نسخه ۴ فیلامنت برای ساخت پنل لاراول منتشر شد!
یه تغییری که صورت گرفته است که در نسخه ۴ فیلامنت اسکیما form تغییر کرده و به جای آن components رو فراخوانی می کنید.
این تغییر بخشی از هدف بزرگتر فیلامنت نسخه ۴ است که "همه پکیجها را یکپارچه کند تا بتوان آنها را به روشهایی ترکیب کرد که قبلاً بسیار دشوار بود و در نسخه ۳، شما مستقیماً با
#لاراول
@TheRaymondDev
یه تغییری که صورت گرفته است که در نسخه ۴ فیلامنت اسکیما form تغییر کرده و به جای آن components رو فراخوانی می کنید.
use Filament\Forms\Components\Checkbox;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Infolists\Components\TextEntry;
use Filament\Schemas\Components\Section;
$schema
->components([
Grid::make(2)
->schema([
Section::make('Details')
->schema([
TextInput::make('name'),
Select::make('position')
->options([
'developer' => 'Developer',
'designer' => 'Designer',
]),
Checkbox::make('is_admin'),
]),
Section::make('Auditing')
->schema([
TextEntry::make('created_at')
->dateTime(),
TextEntry::make('updated_at')
->dateTime(),
]),
]),
])
این تغییر بخشی از هدف بزرگتر فیلامنت نسخه ۴ است که "همه پکیجها را یکپارچه کند تا بتوان آنها را به روشهایی ترکیب کرد که قبلاً بسیار دشوار بود و در نسخه ۳، شما مستقیماً با
$form object کار میکردید و از متد ->schema() روی آن استفاده میکردید، در حالی که در نسخه ۴ این ساختار تغییر کرده و سادهتر شده است.#لاراول
@TheRaymondDev
Laravel News
Filament v4 is Stable! - Laravel News
It's official! As of today, August 12, 2025, Filament v4 is officially stable! And in large part, that is thanks to our incredible community and all the help with testing, bug fixing, and overall recommendations. Come and celebrate some of our favorite new…
😭41❤3👍2
1🔥10❤2
Forwarded from Golden Code (علی 🇨🇴)
نمایش فایل در مرورگر بجای دانلود( لاراول):
گاهی در پروژهها لازم داری یک فایل (مثل PDF یا تصویر) مستقیما در مرورگر باز بشه و دانلود نشه!
لاراول برای این کار متود ساده و تمیز response()->file() رو داره.
📌 مثال:
با این کار، مرورگر سعی میکنه PDF رو inline نمایش بده.
حالا تفاوتش با download() چیه؟
file() → نمایش فایل در مرورگر (inline)
download() → دانلود اجباری فایل
📌 نکات مهم:
1. مرورگر فقط فایلهای پشتیبانیشده (مثل PDF، JPG، PNG، TXT) رو نمایش میده.
2. بعضی تنظیمات مرورگر یا افزونهها ممکنه باعث دانلود اجباری بشن.
3. مسیر فایل باید معتبر باشه (storage_path() یا public_path()).
4. میتونی MIME-Type رو خودت مشخص کنی:
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/PovilasKorop/status/1955203877453590922?s=35
گاهی در پروژهها لازم داری یک فایل (مثل PDF یا تصویر) مستقیما در مرورگر باز بشه و دانلود نشه!
لاراول برای این کار متود ساده و تمیز response()->file() رو داره.
📌 مثال:
Route::get('/manual', function () {
$path = storage_path('app/public/manual.pdf');
return response()->file($path);
});با این کار، مرورگر سعی میکنه PDF رو inline نمایش بده.
حالا تفاوتش با download() چیه؟
file() → نمایش فایل در مرورگر (inline)
download() → دانلود اجباری فایل
📌 نکات مهم:
1. مرورگر فقط فایلهای پشتیبانیشده (مثل PDF، JPG، PNG، TXT) رو نمایش میده.
2. بعضی تنظیمات مرورگر یا افزونهها ممکنه باعث دانلود اجباری بشن.
3. مسیر فایل باید معتبر باشه (storage_path() یا public_path()).
4. میتونی MIME-Type رو خودت مشخص کنی:
return response()->file($path, [
'Content-Type' => 'application/pdf'
]);
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/PovilasKorop/status/1955203877453590922?s=35
X (formerly Twitter)
Povilas Korop | Laravel Courses Creator & Youtuber (@PovilasKorop) on X
Laravel tip.
Use `response()->file()` to display files in browser instead of downloading them!
Perfect for showing PDFs or documents inline.
Link to the docs: https://t.co/pUVtuMzrv6
#practicalLaravelDocs
Note: browser support varies by browser and…
Use `response()->file()` to display files in browser instead of downloading them!
Perfect for showing PDFs or documents inline.
Link to the docs: https://t.co/pUVtuMzrv6
#practicalLaravelDocs
Note: browser support varies by browser and…
👏3🙏3❤1
🔶 لاراول Boost کیت استارت کدنویسی جدید با کمک هوش مصنوعی است که برای بهبود کار با ایجنتهای هوش مصنوعی طراحی شده است. این ابزار با فراهم کردن دادههای مخصوص لاراول به هوش مصنوعی کمک میکند تا کدهای با کیفیت تری تولید کند.
#لاراول
@TheRaymondDev
#لاراول
@TheRaymondDev
Laravel News
Laravel Boost is released - Laravel News
Boost, the Laravel AI coding starter kit is now released
❤1
🔶 نرم افزار NoiseTorch : نرمافزار متنباز حذف نویز حرفه ای صدا در لینوکس
یک نرمافزار متنباز (Open Source) و رایگان مخصوص لینوکس هست که با استفاده از RNNoise (کتابخانه حذف نویز مبتنی بر یادگیری ماشین) میتونه نویز پسزمینه رو بهصورت زنده (real-time) حذف کند و قبل از اینکه صدای میکروفون به برنامههایی مثل OBS، Discord، Zoom یا حتی مرورگر برسه، NoiseTorch صدای محیط رو فیلتر میکند.
در مخزن های لینوکس NoiseTorch موجود نیست و باید نرم افزار از گیت هاب دانلود و با دستور زیر نرم افزار را در ترمینال نصب کنید.
دانلود نرم افزار :
https://github.com/noisetorch/NoiseTorch/releases
دستور نصب :
نرم افزار اجرا کن و به ترتیب زیر بروید:
- از بخش Microphone، میکروفون خودت رو انتخاب کن.
- تیک Noise Suppression رو بزن.
- روی Load NoiseTorch کلیک کن.
در بخش Sound Settings قسمت Input ورودی میکروفون NoiseTorch را انتخاب کنید.
در OBS، برو به Settings → Audio و ورودی صدا (Mic/Auxiliary Audio) رو روی NoiseTorch Microphone بذار.
میتوانید Noise Suppression داخلی OBS (نوع RNNoise) رو هم اضافه کنید تا دو لایه حذف نویز داشته باشید.
نتیجه اینه هر صدای پس زمینه - صدای بیرون خونه - صدای داخل خونه مثل تلویزیون یا یخچال - هود - صدای موتوری و ضربه میز و صفحه کلید و غیره را به صورت زنده یا Real Time فیلتر می کند اما تنها چیزی که از فیلتر رد می کند, حرف زدن آدما هست که به شدت حساس است.
#لینوکس
@TheRaymondDev
یک نرمافزار متنباز (Open Source) و رایگان مخصوص لینوکس هست که با استفاده از RNNoise (کتابخانه حذف نویز مبتنی بر یادگیری ماشین) میتونه نویز پسزمینه رو بهصورت زنده (real-time) حذف کند و قبل از اینکه صدای میکروفون به برنامههایی مثل OBS، Discord، Zoom یا حتی مرورگر برسه، NoiseTorch صدای محیط رو فیلتر میکند.
در مخزن های لینوکس NoiseTorch موجود نیست و باید نرم افزار از گیت هاب دانلود و با دستور زیر نرم افزار را در ترمینال نصب کنید.
دانلود نرم افزار :
https://github.com/noisetorch/NoiseTorch/releases
دستور نصب :
tar -C $HOME -h -xzf NoiseTorch_x64_v0.12.2.tgz
نرم افزار اجرا کن و به ترتیب زیر بروید:
- از بخش Microphone، میکروفون خودت رو انتخاب کن.
- تیک Noise Suppression رو بزن.
- روی Load NoiseTorch کلیک کن.
در بخش Sound Settings قسمت Input ورودی میکروفون NoiseTorch را انتخاب کنید.
در OBS، برو به Settings → Audio و ورودی صدا (Mic/Auxiliary Audio) رو روی NoiseTorch Microphone بذار.
میتوانید Noise Suppression داخلی OBS (نوع RNNoise) رو هم اضافه کنید تا دو لایه حذف نویز داشته باشید.
نتیجه اینه هر صدای پس زمینه - صدای بیرون خونه - صدای داخل خونه مثل تلویزیون یا یخچال - هود - صدای موتوری و ضربه میز و صفحه کلید و غیره را به صورت زنده یا Real Time فیلتر می کند اما تنها چیزی که از فیلتر رد می کند, حرف زدن آدما هست که به شدت حساس است.
#لینوکس
@TheRaymondDev
GitHub
GitHub - noisetorch/NoiseTorch: Real-time microphone noise suppression on Linux.
Real-time microphone noise suppression on Linux. Contribute to noisetorch/NoiseTorch development by creating an account on GitHub.
❤4👍2
❤1
🔶 به جای احراز هویت بگید تائید هویت یا ورود امن
این کلمه احراز توی زبونم نمی چرخه و سخته
@TheRaymondDev
این کلمه احراز توی زبونم نمی چرخه و سخته
@TheRaymondDev
🍌8😁2
🔶 در نرم افزار های جت برینز می توانید برای دسترسی مستقیم به ترمینال ویندوز - لینوکس - مک بخش Enable New Terminal فعال کنید.
@TheRaymondDev
@TheRaymondDev
❤1👍1
🎄 یک برنامه نویس تنبل
🔶 قسمت اول طراحی سایت شرکتی با لاراول ۱۲ منتشر شد. ۱- نصب و تنظیمات لاراول ۱۲ #لاراول @TheRaymondDev
This media is not supported in your browser
VIEW IN TELEGRAM
🔶 قسمت جدید طراحی سایت شرکتی با لاراول ۱۲ منتشر شد.
۲- نصب و تنظیمات تایید هویت لاراول Breeze
#لاراول
@TheRaymondDev
۲- نصب و تنظیمات تایید هویت لاراول Breeze
#لاراول
@TheRaymondDev
💩31👏5❤2👍1