Ninja Learn | نینجا لرن
1.26K subscribers
95 photos
36 videos
11 files
306 links
یادگیری برنامه نویسی به سبک نینجا 🥷
اینجا چیزایی یاد میگیری که فقط نینجاهای وب‌ بلدن 🤫

📄 Send me post: https://t.iss.one/NoronChat_bot?start=sec-fdggghgebe

👥 ɢʀᴏᴜᴘ: https://t.iss.one/+td1EcO_YfSphNTlk
Download Telegram
🌐 خب خب خب لایه شبکه (Network Layer) در مدل OSI

لایه شبکه، سومین لایه از مدل OSI، مسئول انتقال داده‌ها بین شبکه‌های مختلفه. این لایه کاری می‌کنه که داده‌ها از یه مبدأ به مقصد مشخص (تو هر گوشه دنیا) برسن، بدون این که مسیر و راهش گم بشه. این لایه مثل یه سیستم حمل‌ونقل بزرگ عمل می‌کنه که بسته‌های اطلاعاتی رو از یه نقطه به نقطه دیگه منتقل می‌کنه. بیاین جزئیاتش رو مرحله‌به‌مرحله بررسی کنیم. 🚀

📍 وظایف اصلی لایه شبکه

🧭 آدرس‌دهی منطقی (Logical Addressing):
هر دستگاه تو شبکه یه آدرس منحصربه‌فرد داره که بهش آدرس IP می‌گن. این آدرس مشخص می‌کنه داده‌ها باید دقیقاً به کجا برن.
مثال:
فرض کن می‌خوای یه بسته پستی ارسال کنی. بدون داشتن آدرس خونه مقصد، عملاً ارسال بسته غیرممکنه. تو شبکه هم آدرس IP دقیقاً مثل آدرس خونه عمل می‌کنه.
🛣️ مسیریابی (Routing):
وقتی داده‌ها باید از یه شبکه به شبکه دیگه برن، این لایه تصمیم می‌گیره که از چه مسیری برن تا سریع‌تر و مطمئن‌تر به مقصد برسن.

نقش روترها:
دستگاه‌های روتر تو این مرحله خیلی مهمن. روترها با بررسی آدرس‌های IP، بهترین مسیر رو برای انتقال داده پیدا می‌کنن.
مثال:
فرض کن داری از تهران به اصفهان سفر می‌کنی. چند مسیر مختلف هست، ولی تو کوتاه‌ترین و کم‌ترافیک‌ترین جاده رو انتخاب می‌کنی. لایه شبکه همین کارو برای داده‌ها انجام می‌ده
📦 بسته‌بندی داده‌ها (Packetization):
داده‌هایی که از لایه انتقال (Transport Layer) میان، به بخش‌های کوچیک‌تری به اسم پکت (Packet) تقسیم می‌شن. هر پکت شامل اطلاعات زیره:
آدرس مبدأ: دستگاهی که داده رو ارسال کرده.

آدرس مقصد: جایی که داده باید بره.

داده اصلی: همون اطلاعاتی که باید منتقل بشه.

اطلاعات کنترلی: برای اطمینان از انتقال درست داده.


🔍 مثال:
فرض کن می‌خوای یه پیتزای بزرگ رو با دوستات بخوری، ولی ظرفت کوچیکه.
پیتزا رو به برش‌های کوچیک تقسیم می‌کنی و هر برش رو جداگونه می‌فرستی.
🚦 کنترل تراکم (Congestion Control):
اگه یه شبکه شلوغ بشه و داده‌ها نتونن به موقع منتقل بشن، این لایه کمک می‌کنه ترافیک مدیریت بشه.
مثال:
فرض کن تو صف یه سوپرمارکت شلوغی. فروشنده سعی می‌کنه با اضافه کردن صندوق‌دار بیشتر، صف رو کوتاه‌تر کنه. لایه شبکه هم همین طور ترافیک شبکه رو کنترل می‌کنه.
🔧 تکه‌تکه کردن و دوباره‌سازی (Fragmentation and Reassembly):
گاهی وقتا داده‌ها بزرگ‌تر از ظرفیت انتقال یه شبکه هستن. این لایه داده‌ها رو به قطعات کوچیک‌تر تقسیم می‌کنه و وقتی به مقصد رسید، دوباره به هم وصلشون می‌کنه.
مثال:
فرض کن یه مبل بزرگ رو می‌خوای از در کوچیک خونه رد کنی. مبل رو باز می‌کنی، قطعاتش رو یکی‌یکی رد می‌کنی و دوباره اون‌طرف سر هم می‌کنی.
⚙️ پروتکل‌های مهم لایه شبکه
IPv4 (Internet Protocol Version 4):
پرکاربردترین پروتکل برای آدرس‌دهی و مسیریابی.
از آدرس‌های ۳۲ بیتی استفاده می‌کنه (مثلاً: 192.168.1.1).

IPv6 (Internet Protocol Version 6):
نسخه جدیدتر IPv4 که ظرفیت بیشتری برای آدرس‌دهی داره (۱۲۸ بیتی).
مشکل کمبود آدرس‌های IPv4 رو حل کرده.

ICMP (Internet Control Message Protocol):
برای ارسال پیام‌های کنترلی (مثل خطاها) و تست شبکه (مثل ابزار Ping).

ARP (Address Resolution Protocol):
تبدیل آدرس IP به آدرس فیزیکی (MAC Address).

🔄 انواع ارتباطات تو لایه شبکه
تک‌پخشی (Unicast):
ارسال پکت فقط به یه مقصد خاص.
مثال: ارسال ایمیل به مدحج.

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

همگانی (Broadcast):
ارسال پکت به همه دستگاه‌های یه شبکه.
مثال: اعلام عمومی پیام تو یه گروه چت.

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

#⃣ #network




🥷 CHANNEL | GROUP
👍13🔥21
Forwarded from Linuxor ?
🤣30
پست بعدی راجب لایه ۴ مدل OSI هست
لامسب انقدر که مبحث داره نمیدونم همشو بگم براتون یانه ( دوسه تا پست میشه فقط راجب لایه ۴)
16👍5
لایه ۴: لایه انتقال (Transport Layer) 🚛

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

وظایف اصلی لایه انتقال

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

🧩 بازسازی داده‌ها (Reassembly):
در مقصد، لایه انتقال سگمنت‌ها رو با استفاده از شماره ترتیبی که در هدرشون ذخیره شده، به ترتیب کنار هم قرار می‌ده و داده اصلی رو بازسازی می‌کنه.

⚠️ کنترل خطا (Error Control):
لایه انتقال با استفاده از تکنیک‌هایی مثل Checksum صحت داده‌ها رو بررسی می‌کنه. اگه خطایی در داده‌ها تشخیص داده بشه، درخواست ارسال مجدد سگمنت انجام می‌شه.

🚦 کنترل جریان (Flow Control):
وقتی فرستنده سریع‌تر از گیرنده داده ارسال می‌کنه، ممکنه گیرنده دچار مشکل بشه. لایه انتقال سرعت ارسال رو با استفاده از Sliding Window تنظیم می‌کنه.

🔗 مدیریت ارتباط (Connection Management):
لایه انتقال می‌تونه ارتباط رو به دو صورت Connection-Oriented (مانند TCP) یا Connectionless (مانند UDP) مدیریت کنه. در ارتباطات Connection-Oriented، قبل از ارسال داده‌ها یک ارتباط پایدار برقرار می‌شه.

پروتکل‌های کلیدی در لایه انتقال

TCP (Transmission Control Protocol):
💡 TCP یک پروتکل Connection-Oriented و Reliable هست که برای ارتباطات حساس به دقت استفاده می‌شه.

ویژگی‌های کلیدی:

ارتباط مبتنی بر اتصال:

فرآیند Three-Way Handshake شامل مراحل زیره:


SYN: درخواست اتصال از فرستنده.
SYN-ACK: پاسخ گیرنده.
ACK: تأیید فرستنده.

شماره‌گذاری سگمنت‌ها:
🔢 ‏TCP به هر سگمنت یک شماره منحصر‌به‌فرد اختصاص می‌ده تا داده‌ها در مقصد به درستی بازسازی بشن.

کنترل جریان:
با استفاده از Sliding Window، TCP حجم داده‌ای که می‌تونه ارسال بشه رو تنظیم می‌کنه.

کنترل خطا:
با استفاده از Checksum و Acknowledgment صحت داده‌ها بررسی و تضمین می‌شه.


UDP (User Datagram Protocol):
‏ UDP یک پروتکل Connectionless و Unreliable هست که برای ارتباطات سریع طراحی شده.
ویژگی‌های کلیدی:

بدون اتصال:
‏UDP داده‌ها رو بدون ایجاد ارتباط پایدار ارسال می‌کنه.

بدون تضمین تحویل:
اگه داده‌ای گم بشه یا خراب بشه، UDP هیچ تضمینی برای ارسال مجدد نداره.

سرعت بالا:
چون کنترل جریان یا تصحیح خطا نداره، سرعت انتقال بالاتره.

🎛 پورت‌ها و شماره‌گذاری در لایه انتقال
پورت‌ها اعدادی ۱۶بیتی هستن که ارتباط بین اپلیکیشن‌ها و دستگاه‌ها رو مدیریت می‌کنن.

پورت‌های شناخته‌شده (Well-Known Ports):
📌 این پورت‌ها اعداد بین ۰ تا ۱۰۲۳ هستن و به پروتکل‌های معروف اختصاص داده شدن.
‏HTTP: پورت 80
‏HTTPS: پورت 443
‏FTP: پورت 21

پورت‌های رجیسترشده (Registered Ports):
🔒 اعداد بین ۱۰۲۴ تا ۴۹۱۵۱ که برای اپلیکیشن‌های خاص رزرو می‌شن.

پورت‌های داینامیک (Dynamic Ports):
🔄 اعداد بین ۴۹۱۵۲ تا ۶۵۵۳۵ که برای ارتباطات موقت استفاده می‌شن.

جمع‌بندی
لایه Transport نقش حیاتی در تضمین انتقال داده‌ها بین دستگاه‌ها داره. انتخاب پروتکل مناسب به نیازهای اپلیکیشن شما بستگی داره:
TCP برای ارتباطات حساس به دقت.
UDP برای ارتباطات حساس به سرعت.

#⃣ #network



🥷 CHANNEL | GROUP
👍10🔥31👌1
۱۰۰۰ تایی شدیم 😃🥳
ممنون از همتون که تا به امروز همراه من بودید
امید وارم تونسته باشم بهتون چیزی یاد داده باشم (هرچند کم :) )
🔥308
Forwarded from cyru55 unofficial channel (cyru55)
⭕️ Zasper

یک ویرایشگر کد جدید
با Go نوشته شده تا بتونه پردازش همزمان زیادی رو هندل کنه

از Terminal و Git پشتیبانی میکنه

حین اجرا حدود 27MB رم اشغال میکنه
یعنی حداقل منابع ممکن

چون سازنده این برنامه خودش از مار استفاده میکنه، اینو جوری نوشته که برای اجرای پایتون ایده‌آل باشه

برای فراخوانی کدها بصورت REPL-style مناسب‌سازی شده

برای نصبش ظاهرا ۲ روش متفاوت وجود داره، که خودش توضیح داده دقیقا چیکار کنید


Open Source

🌐 zasper.io
6
دنیایی عجیبیه مارک زاکر برگ (صاحب شرکت متا) میگه هوش مصنوعی قراره جای کارکنان متا رو بگیره.

ایلان ماسک (صاحب تسلا) میگه هوش مصنوعی بیشتر از این نمیتونه پیشرفت کنه و احتمالا تهشه.

ادم میمونه چی بگه


🥷 CHANNEL | GROUP
💔13
Forwarded from 👾 Geek Engineers ([ Taha. Dostifam ])
using-git-from-command-line.pdf
8.2 MB
این یکی واقعا فوق العاده ست :) ریز و درشت گیت رو دراورده
10
👾 Geek Engineers
using-git-from-command-line.pdf
از اون کتاب خفنا
بریم بخونیم
👍6
خب خب خب لایه پنجم جلسه یا Session Layer در مدل OSI 🎤

خب دوستان، حالا نوبت لایه پنجم، یعنی لایه جلسه (Session Layer) هست. این لایه وظیفه داره ارتباط بین دستگاه‌ها رو سازماندهی کنه. یعنی چی؟
یعنی وقتی دو تا دستگاه می‌خوان با هم حرف بزنن (ارتباط برقرار کنن)، یه جورایی نقش هماهنگ‌کننده رو داره. این لایه مدیریت می‌کنه که مکالمه چجوری شروع بشه، ادامه پیدا کنه و در نهایت تموم بشه.

وظایف اصلی لایه جلسه 🛠️

1⃣ برقراری، مدیریت و خاتمه جلسات ارتباطی
لایه جلسه، مسئول اینه که جلسه (یا ارتباط) بین دو دستگاه رو ایجاد کنه. بعد از این‌که جلسه برقرار شد، مدیریت می‌کنه که ارتباط چطوری پیش بره، و در نهایت وقتی دیگه نیازی به ارتباط نیست، جلسه رو تموم می‌کنه.

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


2⃣ کنترل سینکرون‌سازی (Synchronization)
گاهی وقت‌ها، نیاز داری وسط یه ارتباط یا ارسال داده، وضعیت اون جلسه ذخیره بشه تا اگه مشکلی پیش اومد، از همون‌جا ادامه پیدا کنه. این هم یکی از کارای مهم لایه پنجم هست. مثلاً اگه توی یه ویدیو کنفرانس باشی و ارتباط قطع بشه، این لایه کمک می‌کنه از همون نقطه دوباره ارتباط رو ادامه بدی.

3⃣ مدیریت چک‌پوینت‌ها (Checkpoints)
لایه جلسه چک‌پوینت‌ها رو توی ارتباطات طولانی‌مدت قرار می‌ده. یعنی ارتباط رو تکه‌تکه می‌کنه که اگه یه بخشی از داده گم شد یا خراب شد، لازم نباشه کل اطلاعات از اول ارسال بشه.
مثال:
فرض کن یه فایل 2 گیگابایتی داری که آپلود می‌کنی. اگه وسط کار اینترنت قطع بشه، این لایه کمک می‌کنه بعد از وصل شدن دوباره اینترنت، آپلود از جایی که قطع شده بود ادامه پیدا کنه، نه از اول.

پروتکل‌های لایه جلسه 📜
این لایه از پروتکل‌هایی استفاده می‌کنه که به ایجاد، مدیریت و خاتمه ارتباطات کمک می‌کنن. مثل:

RPC (Remote Procedure Call):
برای اجرای یه دستور توی یه سیستم دیگه. (پست مرتبط بااین پروتکل)


SQL Session:
مدیریت جلسات دیتابیس‌ها.


NetBIOS:
استفاده شده برای ارتباطات شبکه‌ای بین دستگاه‌های ویندوز.


مثال عملی 🎬
فرض کن می‌خوای یه فیلم آنلاین تماشا کنی. وقتی فیلم پخش می‌شه:

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

ارتباط با بقیه لایه‌ها 🧩
لایه جلسه از لایه پایین‌ترش (لایه Transport) برای ارسال و دریافت داده استفاده می‌کنه. همین‌طور، اطلاعات مدیریت‌شده رو برای نمایش بهتر به لایه بالاترش (لایه Presentation) می‌فرسته. درواقع، مثل یه مدیر جلسه است که همه چی رو هماهنگ می‌کنه.

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

#⃣ #network



🥷 CHANNEL | GROUP
🔥10
Forwarded from Linuxor ?
همه از این می‌ترسن که هوش مصنوعی بیاد جاشونو بگیره، تا حالا به این فکر کردین اگه هوش مصنوعی بره، چطوری می‌خواین کد بزنین؟


@Linuxor
🤣10👍32
برای بار هزارم بهم اثبات شد.
هیچ چیز بهتر از داکیومنت اون تکنولوژی نمیتونه بهت همه چیرو کامل و پر جزعیات یاد بده.
توصیه من اینه همیشه داک بخونید بعدش برید کتاب بخونید.
اگه مجبور شدید دوره ببینید بعدش بلافاصله برید داک بخونید.


🥷 CHANNEL | GROUP
👍28
😂😂

(به html دقت کنید)


🥷 CHANNEL | GROUP
🤣21