Random shi- tutorials – Telegram
Random shi- tutorials
209 subscribers
229 photos
27 videos
12 files
546 links
محتوای مفید برنامه نویسی و لینوکسی از سراسر دنیا ✍️
جوین شدن شما موجب شادی روح و روان ما میگردد😗
Download Telegram
Forwarded from RandRng
اگر از Docker Desktop استفاده می‌کنید حتما باید آپدیتش کنید؛ یک vulnerability سطح بالا توی نحوه پیاده‌سازی داره (آپدیت آخر مشکل رو حل کرده)

https://nvd.nist.gov/vuln/detail/CVE-2025-9074

این مورد باعث میشه با ۲ خط کد بشه تمام موارد امنیتی رو دور زد و به سیستم عامل اصلی دسترسی گرفت.

توی گزارش اصلی فقط ویندوز گفته شده (نمی‌دونم مک هم داره یا نه)
Forwarded from Linuxor ?
اینم یه لیست دیگه از دوره های رایگان و همراه با مدرک دانشگاه های معتبر برای مهندسی کامپیوتر

github.com/ForrestKnight/open-source-cs

@Linuxor
Forwarded from HICTE Blog (Hicte Bridge)
[ Source >> @srfirouzi_channel ]

#مهندسی_نرم_افزار

آنتی‌پترن‌ها در برنامه‌نویسی
(الگوهای که باید از آنها دوری کرد)

در دنیای توسعه نرم‌افزار، الگوهای طراحی (Design Patterns) راه‌حل‌هایی اثبات‌شده برای مشکلات تکراری هستند. در مقابل، آنتی‌پترن (Anti-Pattern) ظاهراً راه‌حلی منطقی ارائه می‌دهد، اما در عمل به مشکلات جدی و هزینه‌های بلندمدت منجر می‌شود.
ویژگی کلیدی آنتی‌پترن این است که همیشه یک راه‌حل بهتر و جایگزین برای آن وجود دارد.

این مفهوم از دهه‌ی ۹۰ میلادی وارد ادبیات مهندسی نرم‌افزار شد و کتاب AntiPatterns (۱۹۹۸) به شناخته شدن آن کمک زیادی کرد.
نمونه‌های رایج آنتی‌پترن‌ها

- اسپاگتی کد (Spaghetti Code): کدی درهم‌تنیده و بی‌ساختار که تغییر یا توسعه‌اش کابوس است.
- شی خدا (God Object): کلاسی که بیش از حد مسئولیت دارد و اصل Single Responsibility را زیر پا می‌گذارد.
- چکش طلایی (Golden Hammer): استفاده از یک ابزار، متد یا تکنولوژی برای همه‌چیز، فقط به خاطر آشنایی یا راحتی.
- بهینه‌سازی زودهنگام (Premature Optimization): بهینه‌سازی‌ای که اغلب پیچیدگی بیهوده ایجاد می‌کند.
- کپی و پیست (Copy-and-Paste Programming): تکرار کد در بخش‌های مختلف به جای استفاده از انتزاع و ماژولار کردن.
- جریان مذاب (Lava Flow): باقی ماندن کدهای قدیمی و بلااستفاده که فهم و نگهداری پروژه را دشوار می‌کند.
- طراحی بیش از حد (Overdesign): افزودن پیچیدگی و امکانات غیرضروری برای نیازهایی که هنوز وجود ندارند
- و ...


چگونه از آنتی‌پترن‌ها دوری کنیم؟

- از همه مهمتر آشنایی با آنتی پترن های مطرح
- بازبینی مستمر کد (Code Review).
- بازسازی ساختار کد (Refactoring) بدون تغییر رفتار.
- رعایت اصول ساده و پایه‌ای مانند:
DRY (Don’t Repeat Yourself)
KISS (Keep It Simple, Stupid)
- انتخاب ابزار و تکنولوژی بر اساس نیاز واقعی، نه صرفاً تجربه یا سلیقه شخصی.
- تمرکز بر حل مسئله‌ی فعلی و پرهیز از طراحی بیش‌ازحد برای آینده‌ای نامعلوم.


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

🚁 Hicte Blog | (smm)
Forwarded from Infrastructure Artists
یه حرکتی که امروز با iptables زدم رو خدمتتون بگم شاید به درد شما هم بخوره :))

معمولا تیم های امنیت خیلی از پورت ها رو میبندن ولی پورت ۸۰ و ۴۴۳ معمولا بازه برای سرویس وب و ریکوست های http

ما قرار بود یه سری دیتا رو از یه دیتاسنتر انتقال بدیم یه دیتاسنتر دیگه ولی تیم امنیت پورت sshرو بین دوتا دیتاسنتر بسته بود. فلذا ما نمیتونستیم با scp یا rsync دیتا رو انتقال بدیم.

اولین ایده این بود که دیتا بیاریم روی یه سرور واسط (مثلا لپ تاپ خودمون) و بعد از اونجا مجدد انتقالش بدیم رو سرور مقصد.

ولی یه کار دیگه هم میشه کرد.
معمولا شما وب سرورت تو محیط پروداکشن همیشه باید رو ۴۴۳ لیسن کنه و اصلا ریکوست پورت ۸۰ قبول نکنه یا اگرم قبول کرد ریدایرکت کنه به ۴۴۳.

من یه رول iptables زدم اگر درخواستی اومد به پورت 80 شما ریداریکت کن به ۲۲ و اینطوری قبل از اینکه وب سرور بخواد ریدارکت کنه تو لایه پایینتر شما داری ریدایرکت میکنی.

حالا ما الان داریم rsync رو روی پورت ۸۰ انجام میدیم که بازه و اینطوری تیم امنیت رو یه کوچولو دور میزنیم :))

پ.ن: میشه پورت sshرو هم انداخت روی ۸۰ که بازه ولی خب ما معذوریت داشتیم و امکانش نبود
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
می‌دونستین توی ترمینال هم می‌شه جیسون رو بازکرد؟ این ابزار برای مواقع ضروری که گرافیک ندارین خیلی کارسازه؛
حتی می‌شه بدون باز کردن فایل جیسون اونو با کمک Autocomplete پیمایش کرد و توی آبجک ها و آرایه های جیسون حرکت کرد. فقط کافیه اسم فایل رو بنویسید و تب بزنید

fx file.json <TAB>

نصب:
fx.wtf/install


@Linuxor
Forwarded from Linuxor ?
خیلیا دنبال یه پلتفرمی ان توش تیکه کد ذخیره کنن، با هم تیمی ها یاداشت ها و کد هارو ویرایش کنن و یه چیز جمو جور باشه که روی همه سیستم عاملای گوشی و دسکتاپ کار کنه! پیشنهاد می‌کنم Boosnote رو یه بار تست کنن واقعا چیز راحتیه :)

github.com/BoostIO/BoostNote-App

@Linuxor
1
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (Mohammad Khoshnava)
پشمتون بریزه ، این داوشمون میتونه حجم ایمیج های داکری شمارو تا 30 فاکینگ برابر کمتر کنه 🫥

بدون اینکه به هیچ مشکلی بربخورید میاد اینکارو برای اربابش که شما باشید انجام میده، هرچی آت و آشغال باشه میندازه دور یا مینیفای میکنه که فقط موارد لازم برای اجرای اوامر فرماندهی باقی بمونه

دمش گرم 🩷
https://github.com/slimtoolkit/slim

@SEYED_BAX
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🛠 ساخت و فعال‌سازی حافظه Swap در لینوکس

1️⃣ ساخت فایل Swap (اینجا 8 گیگ):

sudo fallocate -l 8G /swapfile



2️⃣ تغییر سطح دسترسی (خیلی مهم!):

sudo chmod 600 /swapfile



3️⃣ فرمت کردن فایل به Swap:

sudo mkswap /swapfile



4️⃣ فعال‌کردن Swap:

sudo swapon /swapfile



5️⃣ بررسی وضعیت Swap:

swapon --show

free -h

اگر می‌خواید بعد از ریبوت هم فعال بمونه، این خط رو به /etc/fstab اضافه کنید:

/swapfile none swap sw 0 0

نویسنده: حسین سیلانی
http://learninghive.ir
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
⭐️  دانلود فایل با حداکثر سرعت در ترمینال با دستور aria2c

aria2c -x 16 -s 16 'YOUR_URL'



این دستور به aria2c می‌گوید که فایل موجود در آدرس YOUR_URL را با استفاده از 16 اتصال همزمان و با تقسیم فایل به 16 قطعه دانلود کند.

🔹-گزینه x 16: این گزینه تعداد اتصالات همزمان را به 16 تنظیم می‌کند. به عبارت دیگر، aria2c می‌تواند تا 16 اتصال جداگانه برای دانلود یک فایل برقرار کند.

🔹گزینه -s 16: این گزینه تعداد قطعات (segment) که فایل به آن‌ها تقسیم می‌شود را به 16 تنظیم می‌کند. تقسیم فایل به قطعات کوچک‌تر می‌تواند به بهبود عملکرد دانلود کمک کند، در aria2c، فایل دانلودی به چندین سگمنت تقسیم می‌شود و هر سگمنت به صورت موازی دانلود می‌شود.


نویسنده: حسین سیلانی

http://learninghive.ir
Forwarded from Linuxor ?
می‌دونستین با PyScript می‌شه توی مرورگر بجای جاوااسکریپت با پایتون کد زد؟

شاید سوالتون این باشه چه کاریه همون جاوااسکریپت می زنیم دیگه! ولی کاربرد اصلی PyScript اینه که اجازه می‌ده پایتون (با تمام اکوسیستمش مثل NumPy, Pandas, Matplotlib) مستقیم توی مرورگر اجرا بشه مکانیزمش هم اینه با وب اسمبلی این کارو می‌کنه.

docs.pynoscript.net/2025.8.1/beginning-pynoscript

@Linuxor
Forwarded from Linuxor ?
کسایی که توی پروژه های تیمی بودن می دونن تقسیم پروژه چه کار سختیه Bit می‌تونه کمک کنه پروژه‌ت رو به کامپوننت‌های مستقل تقسیم کنی، با نسخه‌بندی خودکار و اسم‌گذاری (مثل org/ui.button) دیگه نیازی نیست همه‌چیز رو تو یه رپو نگه داری. فرض کن یکی فقط داره فرم‌ها رو توسعه می‌ده، یکی داره backend رو؛ هرکدوم می‌تونن کامپوننت‌های خودشون رو جدا ببینن و منتشر کنن.

مستندات :

bit.dev/docs/intro

@Linuxor
Forwarded from The Machine
فروش ۲۸ هزار صندلی کنسرت علیرضا قربانی در کمتر از ۱۵ دقیقه!


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

در رابطه با این موضوع دیدم محسن باقری درمورد تجربه تیم فنی و چالش هایی که داشتن گفته.
نوشتن Stress Test، مانیتورینگ و لاگینگ و ...


لینک پست
1
عزیزان کسی تجربه اسکریپ از لینکداین داشته؟ با پایتون باشه چه بهتر
اعلام حضور کنید در آینده نزدیک خدمتتون سوالاتی دارم
Forwarded from Dev Feed
⚠️⚠️⚠️حمله‌ای بی‌سابقه به اکوسیستم NPM گزارش شده است که به عنوان بزرگ‌ترین حمله زنجیره تأمین نرم‌افزار در تاریخ این بستر شناخته می‌شود:
امروز، سازمان امنیت سایبری Aikido Security اعلام کرده که حساب maintainer شناخته‌شده‌ای به نام qix- در اثر یک حمله فیشینگ به دست مهاجمان افتاده است. مهاجمان موفق شدند ۱۸ بسته‌ی محبوب npm مانند chalk، debug و ansi-styles را دست‌کاری کنند. این بسته‌ها در مجموع بیش از دو میلیارد بار دانلود هفتگی دارند

NPM) مخفف Node Package Manager هست.
این ابزار یکی از اصلی‌ترین بخش‌های اکوسیستم Node.js به حساب میاد.


⚠️کارهایی که نباید انجام بدیم

(وقتی شک داریم سیستم یا پروژه ممکنه آلوده باشه)

تراکنش مالی/کریپتو نزنیم

چون بدافزار می‌تونه آدرس گیرنده رو عوض کنه.

سیستم آلوده رو روشن یا آنلاین نکنیم

روشن کردن = اجرای کد مخرب (post-install noscripts).

آنلاین شدن = اتصال به C2 server و لو رفتن داده‌ها.

به‌روزرسانی خودکار بدون بررسی نزنیم

ممکنه آخرین نسخه‌ی یک پکیج مخرب باشه.


از ریجستری‌های غیررسمی یا پکیج‌های ناشناخته نصب نکنیم

مخصوصاً بسته‌هایی با اسم شبیه

ایمیل یا پیام‌های مشکوک رو باز نکنیم

خیلی از این حملات با فیشینگ شروع می‌شن (مثل ایمیل جعلی npm).

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


________________________________________________________________________

راهکارهای امنیتی برای کاربرهای عادی (غیر برنامه نویس)

اپ‌های دسکتاپ (Slack, Discord, VS Code …) رو از سورس رسمی بگیر

نه از سایت‌های ناشناس یا لینک تلگرام!

تراکنش‌های کریپتو رو دوبار چک کن

قبل از تأیید، آدرس مقصد رو دستی مقایسه کن.

کیف‌پول سخت‌افزاری (Hardware Wallet) استفاده کن
ولی تراکنش هارو با دقت بررسی کن

سیستم رو به‌روز نگه دار ولی با تأخیر

بذار چند ساعت یا یک روز از انتشار آپدیت بگذره، تا اگه مخرب بود خبرش دربیاد.

موقع شک → سیستم رو روشن نکن یا کلا قطع اینترنت

تا بدافزار نتونه به C2 Server وصل بشهم Node.js به حساب میاد.


⚠️کارهایی
برای توسعه‌دهنده‌ها و برنامه نویس ها

مدیریت اکانت

FA (Two-Factor Auth)۲ روی حساب npm و GitHub فعال کن (الزامی هم شده).

پسوردها رو با مدیر پسورد (مثل Bitwarden یا 1Password) نگه دار، نه مرورگر.

از کلید امنیتی سخت‌افزاری برای ورود استفاده کن، مخصوصاً اگر maintainer هستی.

مدیریت Dependency

از package-lock.json یا yarn.lock استفاده کن → مطمئن می‌شه همیشه همون نسخه نصب می‌شه.

به جای ^1.2.3 بنویس 1.2.3 تا آپدیت ناخواسته نیاد.(خلاصه نسخه ی شناور نصب نکن)


محیط امن

npm install رو توی VM یا Docker تست کن قبل از اینکه بیاری توی سیستم اصلی.

اگر پکیج ناشناس هست → سورس کدشو بررسی کن مخصوصاً پوشه‌ی noscripts یا postinstall.

Buildها رو روی CI/CD امن (مثلاً GitHub Actions با secrets محدود) انجام بده.

برای پروژه‌های حساس از سیستم جداگانه یا VM اختصاصی استفاده کن.


⚙️ @DevFeed01 | Akido Security.
Please open Telegram to view this post
VIEW IN TELEGRAM
با توجه به این که فصل انتخاب رشته‌س، لازم دیدم این چند تا مطلب رو بازنشر کنم
اگه تازه کنکور داده میشناسید اینا رو براشون بفرستین.

ترم اولی های آینده مهندسی کامپیوتر بخوانند
https://virgool.io/@rsharifnasab/%D8%AA%D8%B1%D9%85-%D8%A7%D9%88%D9%84%DB%8C-%D9%87%D8%A7%DB%8C-%D8%A2%DB%8C%D9%86%D8%AF%D9%87-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-%D8%A8%D8%AE%D9%88%D8%A7%D9%86%D9%86%D8%AF-ix3wziy8gboq

چند خط در مورد رشته دانشگاهی مهندسی کامپیوتر
https://virgool.io/enline/%DA%86%D9%86%D8%AF-%D8%AE%D8%B7-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%D8%B1%D8%B4%D8%AA%D9%87-%D8%AF%D8%A7%D9%86%D8%B4%DA%AF%D8%A7%D9%87%DB%8C-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-yjcwxzxojpd3

چند توصیه برای دوستان برنامه‌نویس جوان‌ترم!
https://virgool.io/@rsharifnasab/programming-advices-pucsgoqyywru
Forwarded from localhost
تانلینگ در VPN :
در نظر داشته باشید که یک مسیر پر رفت و آمد داریم که شما هم مجبورید هر روز در اون مسیر رفت و آمد داشته باشید ؛ باید توجه کنیم که این مسیر ممکنه خیلی پر خطر باشه و ما آسیب ببینیم و هزینه های زیاد و سنگینی رو متحمل شیم.
اینجاست که ما به فکر یک مسیر امن برای رفت و آمد خودمون پیدا میکنیم که بتونیم امنیت رو تو مسیر خودمون برقرار کنیم.
حالا شما فکر کن تو دنیای اینترنت(با تموم این نا امنی های سایبری و محدودیت هایی که هر روز داره بیشتر میشه) بتونیم یک مسیر امن برقرار کنیم و ارتباط خودمون رو حفظ کنیم.
مشخصه امنیت اطلاعات ما برقرار میشه و یک مسیر اختصاصی که فقط برای خودشه رو داره.
این کار میشه یک مسیر امن(با میانبر اشتباه نگیرید)
در دنیای شبکه و مسیریابی بسته های ارسالی به این مسئله میگن Tunneling که با مسیر یابی درست و ایجاد یک محیط امن اطلاعات رو در مسیر خودش منتقل میکنه.
تانلینگ از پروتکل های امن برای رمزنگاری اطلاعات استفاده میکنه مثل L2TP/IP Sec ,PPTP و Open VPN که با استفاده از مکانیزم های احراز هویت ارتباط امن رو برقرار میکنند.
✉️ @localhost_kj
Please open Telegram to view this post
VIEW IN TELEGRAM