Azad's Programmers
2.43K subscribers
90 photos
27 videos
18 files
71 links
کانال آموزش برنامه نویسی دانشگاه آزاد

گروه چت پرسش و پاسخ: https://t.me/azad_program
Download Telegram
Merge یا Rebase
مسئله این است


در Git وقتی روی یک پروژه کار می‌کنیم از برنچ‌ها استفاده می‌کنیم تا تغییرات رو از هم جدا کنیم اما در نهایت باید این تغییرات رو به برنچ اصلی (مثلا main یا develop) اضافه کنیم دو روش اصلی برای انجام این کار Merge و Rebase هستند

ادامه👇
🔥4
Merge و Rebase هر دو یه هدف دارن ادغام تغییرات از یک برنچ به برنچ دیگر
اما این کارو به روش‌های کاملا متفاوتی انجام می‌دهند



Merge – ترکیب تغییرات با حفظ تاریخچه
وقتی از Merge استفاده می‌کنیم تغییرات یک برنچ را بدون تغییر در تاریخچه، به برنچ اصلی اضافه می‌کنیم گیت یک Merge Commit جدید ایجاد می‌کند که نشان می‌دهد این دو برنچ ترکیب شدند
بعد از Merge گیت یک کامیت جدید ایجاد میکنه که ترکیب دو برنچ رو نشون میده

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


Rebase – مرتب کردن تاریخچه تغییرات

ریبیس به جای ادغام مستقیم تغییرات کامیت‌های برنچ فعلی رو روی جدیدترین نسخه برنچی که میخوایم بازنویسی میکنه این کار باعث میشه که تاریخچه تغییرات تمیز و خطی بمونه
در اینجا گیت تمام کامیت‌های feature-branch رو می‌گیره و اونارو روی جدیدترین نسخه main بازنویسی میکنه

تاریخچه تغییرات مرتب‌تر و خطی‌تر میشه
برای پروژه‌هایی که تمیز بودن تاریخچه مهمه مفیده
اگر برنچ روی پابلیک ریپازیتوری باشه و هم‌تیمی‌ها روی آن کار کنن ممکنه باعث مشکلاتی بشه

Merge:
تاریخچه تغییرات به صورت یک درخت باقی میمونه یعنی میشه دید که یک برنچ از کجا اومده
Rebase:
تاریخچه صاف و خطی میشه طوری که انگار تغییرات همیشه روی نسخه به‌روز برنچ اصلی ساخته شده‌


—————————————
کی Merge و کی Rebase؟

Merge زمانی استفاده شود که:
بخوایم تاریخچه تغییرات حفظ شه
با کار تیمی و همکاری روی پابلیک ریپازیتوری سروکار داریم
بخوایم بفهمیم که هر تغییر از کجا اومده

Rebase زمانی استفاده شود که:
بخواهیم تاریخچه گیت تمیز و مرتب باشه
قبل از ادغام با main تغییرات رو روی آخرین ورژن اون اعمال کنیم
روی یک پرایوت ریپازیتوری (feature branch) کار میکنیم و تغییرات هنوز در پابلیک ریپازیتوری منتشر نشده


Group: @azad_program
Channel:
@kiau_program
❤7👍1
✅ آرشیو منابع پایتون ✅

در این کانال فقط به آموزش ها، مطالب و اخبار مربوط به زبان برنامه نویسی " پایتون " پرداخته خواهد شد

کتاب، ویدئو، سورس کد، آموزش های کوتاه، اخبار و غیره

https://t.me/PythonForever
❤1🔥1
📌 مدل OSI چیست؟
مدل OSI (Open Systems Interconnection) یک استاندارد برای شبکه‌های کامپیوتری است که ارتباط بین سیستم‌های مختلف را در 7 لایه تعریف می‌کند. این مدل به درک بهتر نحوه انتقال داده‌ها در شبکه کمک می‌کند و در حل مشکلات شبکه و امنیت بسیار کاربرد دارد.

در ادامه، 7 لایه این مدل رو بررسی می‌کنیم:

🔹 1. لایه فیزیکی (Physical Layer)
📡 این لایه مسئول انتقال داده‌ها به‌صورت سیگنال‌های الکتریکی، نوری یا امواج رادیویی است. در واقع، همه چیز در این لایه به سخت‌افزار و تجهیزات شبکه مربوط می‌شود.
✅ مثال‌ها: کابل شبکه، فیبر نوری، وای‌فای، بلوتوث، هاب

🔹 2. لایه پیوند داده (Data Link Layer)
🔄 در این لایه، داده‌ها به فریم (Frame) تبدیل می‌شوند و ارسال بین دستگاه‌های متصل به یک شبکه محلی (LAN) انجام می‌شود. همچنین وظیفه کنترل خطا و مدیریت دسترسی به رسانه انتقال (MAC Address) را دارد.
✅ مثال‌ها: سوئیچ (Switch)، آدرس‌های MAC، پروتکل ARP

🔹 3. لایه شبکه (Network Layer)
🌍 این لایه مسئول مسیریابی (Routing) و انتقال بسته‌های داده بین شبکه‌های مختلف است.
✅ در این لایه آدرس‌های IP برای شناسایی دستگاه‌ها در شبکه استفاده می‌شود.
✅ مثال‌ها: IP (IPv4/IPv6)، روتر (Router)، پروتکل ICMP (Ping, Traceroute)

🔹 4. لایه انتقال (Transport Layer)
📦 این لایه وظیفه‌ی مدیریت ارتباط بین دو سیستم و کنترل خطا در انتقال داده را بر عهده دارد.
🔹 TCP (اتصال‌گرا): تضمین می‌کند که تمام بسته‌ها به ترتیب و بدون خطا به مقصد می‌رسند.
🔹 UDP (بدون اتصال): سریع است، اما تضمینی برای رسیدن بسته‌ها وجود ندارد (مانند استریم‌های زنده).
✅ مثال‌ها: TCP، UDP، شماره پورت‌ها (مثل HTTP روی پورت 80، HTTPS روی 443)

🔹 5. لایه نشست (Session Layer)
🔄 مسئول ایجاد، مدیریت و پایان دادن به ارتباطات بین دستگاه‌ها است. مثلاً وقتی در یک وب‌سایت لاگین می‌کنید، این لایه مدیریت نشست کاربری شما را انجام می‌دهد.
✅ مثال‌ها: SSL/TLS، RPC (Remote Procedure Call)

🔹 6. لایه ارائه (Presentation Layer)
🔐 این لایه وظیفه رمزگذاری (Encryption)، فشرده‌سازی (Compression) و تبدیل داده‌ها به فرمت مناسب را دارد.
✅ مثال‌ها: SSL/TLS برای رمزگذاری، JSON/XML برای تبادل داده

🔹 7. لایه کاربرد (Application Layer)
👨‍💻 این لایه همان جایی است که کاربران با شبکه تعامل دارند و شامل پروتکل‌های مختلفی برای سرویس‌های اینترنتی است.
✅ مثال‌ها: HTTP/HTTPS (وب‌گردی)، FTP (انتقال فایل)، SMTP/IMAP (ایمیل)، DNS (نام دامنه)

🛡 مدل OSI و امنیت شبکه
بیشتر حملات سایبری در لایه‌های 3، 4 و 7 اتفاق می‌افتند. مثلاً:
🚨 لایه 3: حملات IP Spoofing، ICMP Flood
🚨 لایه 4: حملات SYN Flood، UDP Flood
🚨 لایه 7: حملات DDoS (HTTP Flood)، SQL Injection، Cross-Site Scripting (XSS)

✅ راهکارهای امنیتی:
🔹 استفاده از فایروال‌های لایه 7 (WAF) برای جلوگیری از حملات وب
🔹 CAPTCHA و Rate Limiting برای کاهش حملات DDoS
🔹 استفاده از TLS و VPN برای رمزگذاری داده‌ها

📌نتیجه گیری
مدل OSI یک راهنمای عالی برای درک عملکرد شبکه‌ها و حل مشکلات آنهاست.
با شناخت این لایه‌ها، می‌توانیم در طراحی شبکه، امنیت و بهینه‌سازی ارتباطات، حرفه‌ای‌تر عمل کنیم.

Group: @azad_program
Channel:
@kiau_program
👍7❤6👎2🔥1
تی ماکس(tmux) یکی از ابزارهای قدرتمند برای مدیریت چندین ترمینال در یک پنجره است. به کمک tmux می‌تونید پنجره‌های مختلف رو در یک ترمینال داشته باشید و به راحتی بین اون‌ها جابجا بشید. مثلاً می‌تونید چندین اتصال SSH به سرور داشته باشید و بین اون‌ها به سرعت سوئیچ کنید. از مزایای دیگه tmux اینه که می‌تونید به یک محیط کاری باز برگردید حتی اگر ترمینال شما بسته شده باشه یا قطع اتصال اتفاق افتاده باشه. خیلی برای افرادی که کارهای طولانی مدت توی سرور انجام می‌دن یا با پروژه‌های مختلف کار می‌کنن مفیده.
### tmux Cheat Sheet


#### 1️⃣ دستورات اصلی tmux
- tmux : شروع یک محیط کاری جدید tmux
- tmux new -s <name> : شروع محیط کاری جدید با نام دلخواه
- tmux attach -t <name> : اتصال به محیط کاری موجود
- tmux ls : نمایش لیست محیط‌های کاری فعال
- tmux kill-session -t <name> : بستن یک محیط کاری

---

#### 2️⃣ مدیریت پنجره‌ها و پنل‌ها
- Ctrl+b c : ایجاد پنجره جدید
- Ctrl+b n : رفتن به پنجره بعدی
- Ctrl+b p : رفتن به پنجره قبلی
- Ctrl+b <number> : رفتن به پنجره شماره مشخص
- Ctrl+b , : تغییر نام پنجره جاری

تقسیم پنل‌ها:
- Ctrl+b % : تقسیم پنجره به صورت عمودی
- Ctrl+b " : تقسیم پنجره به صورت افقی
- Ctrl+b o : جابجایی بین پنل‌ها
- Ctrl+b ; : سوئیچ به آخرین پنل فعال
- Ctrl+b x : بستن پنل جاری

---

#### 3️⃣ تغییر اندازه پنل‌ها
- Ctrl+b :resize-pane -L 5 : کاهش عرض پنل به اندازه 5 ستون
- Ctrl+b :resize-pane -R 5 : افزایش عرض پنل به اندازه 5 ستون
- Ctrl+b :resize-pane -U 3 : کاهش ارتفاع پنل به اندازه 3 ردیف
- Ctrl+b :resize-pane -D 3 : افزایش ارتفاع پنل به اندازه 3 ردیف

---

#### 4️⃣ حالت کپی و اسکرول
- Ctrl+b [ : ورود به حالت کپی (برای اسکرول و انتخاب متن)
- از کلیدهای جهت‌دار یا PageUp/PageDown برای اسکرول استفاده کنید
- Space : شروع انتخاب متن در حالت کپی
- Enter : کپی کردن متن انتخاب‌شده
- q : خروج از حالت کپی
- Ctrl+b ] : چسباندن متن کپی‌شده

---

#### 5️⃣ جدا شدن و اتصال دوباره
- Ctrl+b d : جدا شدن از محیط کاری (detach)
- برای اتصال دوباره از دستور tmux attach یا tmux attach -t <name> استفاده کنید

---

#### 6️⃣ دستورات عمومی و متفرقه
- Ctrl+b ? : نمایش لیست دستورات و کلیدهای میانبر
- Ctrl+b t : نمایش ساعت در نوار وضعیت
- Ctrl+b r : بارگذاری مجدد تنظیمات (بعد از تغییر در ~/.tmux.conf)
- Ctrl+b . : درخواست شماره پنجره جهت جابجایی مستقیم
- Ctrl+b : : ورود به حالت فرمان برای اجرای دستورات

---

#### 7️⃣ تنظیمات
- فایل ~/.tmux.conf را ویرایش کنید تا کلیدهای میانبر، رنگ‌ها و نوار وضعیت را به دلخواه تنظیم کنید.
- مثال: set -g mouse on برای فعال‌سازی پشتیبانی ماوس
- بعد از تغییر، با Ctrl+b r تنظیمات را بارگذاری مجدد کنید

---

#### 8️⃣ نکات مفید
- از محیط‌های کاری پایداری استفاده کنید؛ به جای بستن، با detach خارج شوید تا بعداً بتوانید به کارهای خود ادامه دهید.
- در صورت تداخل کلیدها، کلید پیش‌فرض را تغییر دهید (مثلاً set -g prefix C-a).
- برای پروژه‌های مختلف، می‌توانید محیط‌های کاری مجزا با پنجره‌ها و پنل‌های متنوع داشته باشید.

---

#### 9️⃣ راهنمای رفع مشکل
- اگر در حالت کپی گیر کردید، با فشار دادن q از آن خارج شوید.
- در صورت نیاز، از tmux kill-server برای بستن تمام محیط‌های کاری استفاده کنید (با احتیاط، چون همه کارهای در حال اجرا بسته می‌شوند).


Group: @azad_program
Channel:
@kiau_program
❤9👍1
🌐 تفاوت نقش ها، Web Designer ،Web Developer یا UI/UX Designer؟

سلام رفقا 👋🏼
توی دنیای وب، نقش‌های UI/UX Designer، Web Designer و Web Developer خیلی به گوش می‌خوره، ولی دقیقا چه فرقی دارن؟ بیاین یه مرور سریع کنیم:

1️⃣ با Web Developer ها یا توسعه دهنده های دنیای وبسایت شروع میکنیم، توسعه‌دهنده‌های واقعی وب! با استفاده از زبان ها و تکنولوژی های مختلف مثل HTML، CSS، JavaScript و ... ، فریم‌ورک‌هایی مثل React، Vue، Angular، Django، Laravel، Asp .NET، Nest و ... سایت رو از صفر تا صد کدنویسی می‌کنن و مطمئن میشن تا Back-End (تمام منطق و رفتار و عملکرد وبسایت در پشت صحنه و Front-End (ظاهر پویا، عملکرد ها و منطقی که کاربر به صورت مستقیم باهاش در ارتباطه) به درستی کار کنه.

2️⃣ میرسیم به Web Designer ها یا طراحان وب که درواقع منظورمون افرادین که بیشتر با CMS هایی مثل وردپرس کار می‌کنن. طراحانی که با Template Design، ابزار ها و پلاگین‌ها، یک وبسایت رو می‌سازن و بدون نیاز به کدنویسی عمیق، یه خروجی شیک تحویل میدن.

3️⃣ و در آخر UI/UX Designer ها، متخصصای رابط و تجربه کاربری! UI (User Interface) روی طراحی بصری مثل Layout، ساختار، رنگ‌ها، آیکون ها و به طور کل جلوه ظاهری طرح برنامه تمرکز داره و UX (User Experience) هم به بهینه‌سازی User Journey، دسترسی پذیری و راحتی کار با برنامه یا نرم افزار اهمیت میده، طراحان رابط و تجربه کاربری برای پیاده سازی دیزاین یا طرح نرم افزار مد نظر از ابزارایی مثل Figma یا Adobe XD استفاده میکنن.

❓تفاوت کلیدی؟
دولوپرها توی عمق کدنویسی صفر تا صد و منطق سایتن، وب دیزاینرها با CMS و خلاقیت سریع عمل می‌کنن، و UI/UX دیزاینر ها روی طراحی کاربرمحور زوم دارن.

شماها چی؟ فکر میکنین به چه فیلدی بیشتر علاقه مندین؟ نظرتون رو بگین

Group: @azad_program
Channel:
@kiau_program
❤4👍1
محدود کردن قبلِ از کار افتادن سیستم! 💡
...

...
Throttling یکی از روش‌های مهم برای مدیریت درخواست‌ها و جلوگیری از فشار بیش از حد روی سرور‌هاست
تو این پست باهاش آشنا می‌شیم

تو جنگو میتونیم با استفاده از DRF خیلی راحت Throttling رو پیاده‌سازی کنیم
این قابلیت بهمون کمک می‌کنه تعداد درخواست‌ هایی که هر کاربر یا کل سیستم میتونه در یک بازه زمانی مشخص بفرسته رو کنترل کنیم

چجوری از Throttling تو DRF استفاده کنیم؟!
DRF چند نوع Throttle پیش‌فرض داره:
AnonRateThrottle → برای کاربران ناشناس
UserRateThrottle → برای کاربران لاگین کرده
ScopedRateThrottle → برای محدود کردن درخواست‌ها در سطح API خاص
کافیه این تنظیمات رو توی settings.py اضافه کنیم و مقدار دلخواهمون رو تنظیم کنیم
با این روش از overload شدن سرور هم جلوگیری می‌کنیم.

بیشتر


Group: @azad_program
Channel:
@kiau_program
❤9🔥2
دریافت اطلاعات با متد POST

وقتی صحبت از دریافت اطلاعات میشه اولین متدی که به ذهنمون میاد GET هستش, این متد برای دریافت دیتا از سرور بدون ایجاد تغییر در سرور استفاده میشه تو این حالت، دیتامون به طور معمول در URL ارسال میشه و قابل مشاهده هست
ولی نکته جالب اینجاست که حتی با متد POST هم میتونیم اطلاعات را بگیریم, متد POST معمولا برای ارسال دیتا ها به سرور استفاده میشه تا در دیتابیس ذخیره بشه اما هیچ قانونی وجود نداره که این متد فقط برای ارسال دیتا استفاده میشه
(اگه همچین قانونی بود میتونید این زیر بگید که با خیال راحت کار غیرقانونی بکنیم)

توی بعضی از سناریوها سرور میتونه از متد POST برای گرفتن دیتا استفاده کنه به خصوص زمانی که حجم داده‌ها زیاده و نمیخوایم اونارو در URL قرار بدیم به عنوان مثال در ارسال دیتای JSON یا فایل ‌های حجیم بهتره که از POST استفاده کنیم

مثال:
{
"merchantId": "63a69a2d18f9347bd89d5fe6",
"mode": "weekly",
"type": "amount"
}

قاعدتا این اطلاعات اگه توی URL باشه کثیفی به همراه داره و بهتر هستش برای امنیتش توی BODY باشه


چرا از POST برای گرفتن اطلاعات استفاده میشه؟!


حجم بالای دیتا: اطلاعات بزرگتر از اونی خستش که در URL جا میگیره

امنیت بیشتر: اطلاعاتی که در Body ریکوئست ارسال میشه نسبت به URL امنیت بیشتری داره چون به نسبت URL به راحتی مشاهده نمیشه

پیچیدگی دیتاها: گاهی اوقات ساختار دیتاهامون بسیار پیچیده هستش و نیاز به ارسال اطلاعات با فرمت خاصی مانند JSON یا XML داره که در POST راحت ‌تر مدیریت میشه



تفاوت GET و POST در این مورد


وقتی دیتا توی URL (متد GET) فرستاده میشه این اتفاق ‌ها میفته:

آدرس کامل توی history ذخیره میشه

توی server logs یا proxy ها ممکنه لاگ بشه

آدرس URL می‌تونه در referrer به سایت‌های دیگه لو بره

محدودیت طول URL هم هستش


وقتی داده‌ها توی BODY (متد POST) فرستاده میشه:

دیتاها توی آدرس URL نمیان پس توی history یا لاگ URL دیده نمیشن

محدودیت طول نیستش میتونی حجم بیشتری از دیتارو ارسال کنیم

در ترکیب با HTTPS هم ریکوئست رمزنگاری میشه و امن‌ تر میشه


در نهایت استفاده از متد POST برای دریافت اطلاعات بستگی به نیاز خاص پروژه و شرایط امنیتی داره و هر متدی در جا و زمان خود کاربرد های متفاوتی خواهد داشت و همه ی اینها برای اینه که امن تر بشه نه اینکه کاملا امن بشه

Group: @azad_program
Channel:
@kiau_program
❤10👍4
#چالش_پایتونی
خروجی کد در تصویر کدام گزینه است؟
A) [1, 2, 3]
B) ERROR
C) [1, 2, 3, 4]
D) [4]

Group: @azad_program
Channel:
@kiau_program
🏆4
#چالش_پایتون
(یخورده سخت تر)

خروجی این کد چیه؟

A) [0, 1, 100]
B) [2, 100]
C) [100]
D) خطا می‌دهد

Group: @azad_program
Channel:
@kiau_program
👍3
انواع یادگیری در Machine Learning چیه؟

توی یادگیری ماشین (Machine Learning)، ما با سه نوع اصلی یادگیری سر و کار داریم:

1. یادگیری نظارت‌شده (Supervised Learning):
مدل رو با داده‌هایی آموزش می‌دیم که خروجی درست (Label) دارن.
مثل اینکه به مدل بگیم: "این عکس گربه‌ست، اون یکی سگ!"
کاربردها: تشخیص چهره، طبقه‌بندی ایمیل (Spam / Not Spam)، پیش‌بینی قیمت.


2. یادگیری بدون نظارت (Unsupervised Learning):

اینجا داده‌ها خروجی مشخص ندارن. مدل باید خودش الگوها و ساختارها رو کشف کنه.
مثلاً گروهبندی مشتری‌ها بر اساس رفتار خریدشون.
کاربردها: خوشه‌بندی (Clustering)، کاهش ابعاد (Dimensionality Reduction).


3. یادگیری تقویتی (Reinforcement Learning):

مدل مثل یه بازیکن عمل می‌کنه: کار انجام می‌ده، بازخورد می‌گیره (پاداش یا تنبیه)، و یاد می‌گیره چطور بهتر عمل کنه.
کاربردها: بازی‌ها (مثل AlphaGo)، رباتیک، سیستم‌های توصیه‌گر پویا.



جمع‌بندی:
اگر می‌خوای وارد دنیای ML بشی، اول این سه نوع یادگیری رو خوب بشناس. چون پایه‌ی همه چیزن.


#ML #machine_learning #ماشین_لرنینگ #یادگیری_ماشین

Group: @azad_program
Channel: @kiau_program
👍5❤4🔥1👏1
تجربه‌ات از برنامه‌نویسی چیه؟

سلام رفقا!
هرکدوم‌مون توی مسیر برنامه‌نویسی داستان خاصی داریم.
چی شد که برنامه نویسی یاد گرفتید
📌 اولین زبان؟
📌 اولین پروژه؟
📌 سخت‌ترین چالش؟

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

#برنامه‌نویسی #تجربه_شخصی #یادگیری_جمعی


Group: @azad_program
Channel: @kiau_program
👍3
در یک حرکت غافلگیر کننده ای فرادرس خیلی از آموزش هاشو تخیف ویژه گذاشته با قیمت 89 تومن میتونین تهیه کنین .
تا فردا مهلت استفادشه گفتم خبرشو بهتون بدم .


قدم به قدم در مسیر برنامه نویسی حرفه ای با آزاد پروگرمرز🫵💻


#برنامه_نویسی #آموزش_برنامه_نویسی #آموزش

Group: @azad_program
Channel:
@kiau_program
❤7🔥2
فرق بین KMeans و DBSCAN توی خوشه‌بندی (Clustering) چیه؟
کی از کدوم استفاده کنیم؟

خوشه‌بندی یکی از تکنیک‌های مهم توی یادگیری ماشینه، ولی انتخاب الگوریتم مناسب خیلی مهمه. خیلی‌ها از KMeans استفاده می‌کنن، ولی همیشه بهترین انتخاب نیست!


---

✅ KMeans

تعداد خوشه‌ها رو باید از قبل بدونیم (k)

فرض می‌کنه خوشه‌ها گرد هستن (spherical)

نویز ها و مقادیر پرت رو شناسایی نمیکنه

سریع و کارآمد برای داده‌های بزرگ و خوش‌رفتار





✅ DBSCAN

نیازی به تعداد خوشه‌ها نیست!

می‌تونه خوشه‌هایی با شکل‌های نامنظم پیدا کنه

به خوبی با نویز و نقاط پرت برخورد می‌کنه

ممکنه در داده‌های با چگالی متغیر خوب عمل نکنه


🎯 پس کی از کدوم استفاده کنیم؟

داده‌هات تمیزن و شکل خوشه‌ها ساده‌ست؟ → KMeans

داده‌هات پر از نویزه یا شکل خوشه‌ها پیچیده‌ست؟ → DBSCAN


🧠 من توی یکی از پروژه‌هام، وقتی KMeans به درستی خوشه‌بندی نکرد، از DBSCAN استفاده کردم و نتایج خیلی بهتری گرفتم با Silhouette score.

📢 شما بیشتر با کدوم کار کردید؟

#MachineLearning #Clustering #KMeans #DBSCAN #Python #DataScience #AI

Group: @azad_program
Channel: @kiau_program
❤3👌2👍1
نکات مهمی که از نبرد دوازده‌روزه سایبری آموختیم:

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

2. ضرورت پایان دادن به اعتماد پیش‌فرض
دیگر نمی‌توانیم به فیلتر ابتدایی افراد یا حصارهای شبکه اکتفا کنیم؛ چرا که خطر می‌تواند از درون سازمان شکل بگیرد. مدل «صفر اعتماد» (Zero Trust) تأکید دارد که هیچ کاربری، حتی مدیران و کارکنان رسمی، بدون احراز هویت مداوم و پایش رفتارشان نباید مجوز دسترسی داشته باشند.

3. رمزگذاری و ثبت همه ارتباطات
در چارچوب Zero Trust، مرز سنتی شبکه بی‌معنا می‌شود؛ تمامی ترافیک باید رمز شود و در لاگ‌ها ثبت گردد. همچنین دسترسی‌ها باید بر اساس کمترین امتیاز لازم (Least Privilege) و تقسیم‌بندی دقیق (Segmentation) تعریف شوند.

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

5. حرکت از رویکرد ایستا به پویا
ابزارهایی مانند UEBA و SIEM باید به شکلی هدفمند به کار گرفته شوند. کنترل دسترسی به هنگام (Just-In-Time) و دسترسی تطبیقی بر پایه ریسک (Risk-Adaptive) می‌تواند در شناسایی و محدودسازی تهدیدات داخلی بسیار مؤثر باشد.

6. سیاست‌های ریسک‌محور به جای نقش‌محور
به جای تعریف ثابت دسترسی‌ها بر اساس نقش شغلی، باید سیاست‌هایی تدوین کنیم که سطح ریسک فعالیت‌ها را در نظر بگیرند و اختیارات را به‌صورت پویا تغییر دهند.

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

8. فرهنگ‌سازی و آموزش»، مکمل تکنولوژی
پذیرش مدل Zero Trust تنها با ابزارهای فنی کافی نیست؛ فرهنگ‌سازی، آموزش مستمر و اجرای عملیاتی در همه سطوح سازمانی الزامی است.

با به‌کارگیری این درس‌ها در ساختار دفاع سایبری خود، می‌توانیم از تکرار اشتباهات گذشته جلوگیری کنیم و تاب‌آوری فضای مجازی کشور را افزایش دهیم.

Group: @azad_program
Channel: @kiau_program
❤9👍2🔥1
امروزه با توجه به وضعیت موجود حتما سایت هاتون رو برای امنیت بیشتر پشت سرویس CDN قرار بدید. CDN در ظاهر برای افزایش سرعت بارگذاری محتوا و بهبود تجربه کاربری طراحی شده، اما در عمل، نقش مهمی در امنیت سایبری ایفا میکنه.

عملکرد CDN به این شکله که محتوای وب‌سایت رو روی مجموعه‌ای از سرورها در نقاط مختلف جهان ذخیره و توزیع می‌کنه. همین ساختار توزیع‌شده کمک می‌کنه تا در صورت حمله‌ای مثل DDoS، حجم بالای ترافیک مخرب به سرور اصلی نرسه و Down نشه.
علاوه بر محافظت در برابر حملات DDoS، خیلی از سرویس‌های CDN امکانات امنیتی پیشرفته‌تری هم ارائه میدن؛ مثل Web Application Firewall (WAF)، رمزنگاری داده‌ها، و تشخیص رفتارهای مشکوک با استفاده از هوش مصنوعی. این قابلیت‌ها باعث میشه درخواست‌های مخرب پیش از رسیدن به سایت شناسایی و مسدود بشن.

در مجموع، استفاده از CDN دیگه تنها برای بهبود سرعت نیست؛ بلکه به یک لایه امنیتی حیاتی در ساختار فناوری اطلاعات سازمان‌ها تبدیل شده. در شرایطی که هر لحظه تأخیر یا آسیب میتونه خسارت‌بار باشه، داشتن CDN یک تصمیم هوشمندانه و ضروری.

Group: @azad_program
Channel: @kiau_program
❤7
Azad's Programmers
امروزه با توجه به وضعیت موجود حتما سایت هاتون رو برای امنیت بیشتر پشت سرویس CDN قرار بدید. CDN در ظاهر برای افزایش سرعت بارگذاری محتوا و بهبود تجربه کاربری طراحی شده، اما در عمل، نقش مهمی در امنیت سایبری ایفا میکنه. عملکرد CDN به این شکله که محتوای وب‌سایت…
حتی بعضی از CDN پروایدر ها این امکان رو میده که وب سایت خودتون رو بر روی CDN اون پروایدر به شکلی کش کنید که در صورتی سرور خودتون به مشکلی خورد برای یک تایم کوتاهی ( معمولاً ۱۵ تا ۳۰ دقیقه) وب سایتتون بالا باشه از طریق پروایدر تا شما بتونید سرور خودتون رو فیکس کنید و اختلالی برای وب سایتتون پیش نیاد.

Group: @azad_program
Channel: @kiau_program
❤5
بچه ها دوره پایتون عمو جادی رایگان شده . فعلا اعلام کرده تا 15 ام رایگانه .
الان میتونید برید توی سایت مکتبخونه دوره جامع پایتونو بیارید . لینکشو میذارم
فقط تیک دسترسی کامل به دوره (برای آزمون ها و گواهیشه) رو بردارید تا رایگان توش ثبتنام کنید
اگه تخفیف خودکار اعمال نشد توی کد تخفیف PEACE رو وارد کنید

👇👇👇👇
https://maktabkhooneh.org/course/آموزش-برنامه-نویسی-با-پایتون-مقدمایی-mk346/

Group: @azad_program
Channel: @kiau_program
🔥8❤3👎1🙏1
Forwarded from 𝑬𝒓𝒇𝒂𝒏
Screen Recording 2025-07-08 172416.zip
159.2 MB
این ویدیوی معرفی هوش مصنوعی متن باز که روی سیستم میتونید نصب کنید و آفلاین ازش استفاده کنین . آموزش نصبشو نگفتم صرفا معرفیه
❤4