کافه برنامه نویسان | 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗲𝗿s 𝗖𝗮𝗳𝗲 – Telegram
کافه برنامه نویسان | 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗲𝗿s 𝗖𝗮𝗳𝗲
2.76K subscribers
1.08K photos
264 videos
30 files
1.13K links
👈 اینجا جایی است که یاد می‌گیریم و ایده‌هایمان را به واقعیت تبدیل می‌کنیم و در نهایت با هم رشد می‌کنیم

💬 Group : @IRdeveloperchat
تبادل / تبلیغات : @ProgramersCafeSup 🫴


♂️ مالک : @Ali_Rohany ♂️
Download Telegram
💠هاب چیست؟

- هاب به وسیله ای در شبکه گفته می شود که برای متصل کردن چند گره ( Node ) یا رایانه به هم استفاده می شود.

- هاب ها دیگر در شبکه های امروزی استفاده نمی شوند چرا که معایب زیادی از نظر امنیتی و از نظر پرفورمنس داشتند.

🔰هاب ها هنگامی که یک پکت به آنها می رسد، آن پکت را به تمام رایانه های متصل به خود ارسال می کند و رایانه مقصد آن پکت را دریافت می کند و سایر دستگاه ها آن را Drop می کنند.

● این موضوع مشکلات زیادی را به وجود می آورد. مثلا اگر پکت را کامپیوتر A برای کامپیوتر D ارسال کند، این پکت را کامپیوتر های B و C نیز می بینند که این موضوع از نظر امنیتی بسیار بد است همچنین ترافیک بسیار زیادی هم ایجاد می کند.

● این موضوع می تواند تصادف پکت ها را هم ایجاد کند، فرض کنید کامپیوتر A و B هم زمان یک پکت را ارسال کنند، این موضوع باعث می شود تا بین پکت ها Collision ایجاد شود و از بین بروند.

🔺️نکته: سرعت هاب ها بین ۱۰ مگابیت تا ۱۰۰ مگابیت خواهد بود و این مقدار به ندرت به بالاترین حد خود می رسد.


پست های مرتبط روز های آینده

#Network


Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
5👨‍💻3
امروز ۱۳ تیرماه ، روز ملی دماونده.❤️‍🔥
🔥72
👾 سوییچ ها و مقایسه آن ها با هاب :

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

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

این جدول شماره پورت و مک آدرس متصل به آن را ذخیره دارد ،
به این مثال توجه کنید:

            MAC                  |                 Port Number
10:bf:48:82:c9:4e | 1
7c:dd:90:57:9d:dc | 2

اما شاید پکتی ارسال شود که سوییچ نداند مقصد کجاست، آن موقع تکلیف چیست؟
در این موارد سوییچ پکت را بین تمام نود های شبکه پخش می کند ( Broadcast ).

💥مثلا به پکت زیر نگاه کنید :

Source Address (MAC) => 10:bf:48:82:c9:4e 
Destination Address (MAC) => 7c:dd:90:57:9d:dc

سوییچ این پکت را دریافت می کند و به این شکل ارسال می کند:

Source Address (MAC) => 10:bf:48:82:c9:4e 
Destination Address (MAC) => FF:FF:FF:FF:FF:FF

البته راه هایی برای شنود اینگونه شبکه ها وجود دارد، مثلا هکر خود را به جای DHCP جا می زند یا آنقدر درخواست با MAC ادرس های مختلف می فرستد تا جدول پر شود، در این هنگام سوییچ مانند هاب عمل می کند و پکت را به همه می فرستد.

👨‍💻 مزایا Switch نسبت به Hub :

سرعت بالا تر ( تا ۱۰ گیگابیت بر ثانیه )

ترافیک کمتر نسبت به هاب

کالیژن (‌ Collision ) کمتر

#Network

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
4👨‍💻3
🔥Css Transform Skew 🔥

⚡️قابلیت skew, skewX و skewY در CSS Transform امکان انحراف یک عنصر را در محور X یا Y فراهم می‌کند. این خاصیت‌ها به شما امکان می‌دهند تا یک عنصر را به صورت ناسازگار به سمت راست یا چپ (skewX یا skewY) یا به صورت مورب (skew) دور بزنید.

استفاده از این خاصیت‌ها به صورت زیر است:

استفاده از skew :
.element {
transform: skew(30deg, 20deg);
}

در این مثال ،
عنصر .element با ۳۰ درجه به سمت راست و با ۲۰ درجه به سمت پایین مورب می‌شود.

استفاده از skewX :
.element {
transform: skewX(30deg);
}

در این مثال، عنصر ، element ۳۰ درجه به سمت راست مورب می‌شود.

و استفاده از skewY:
.element {
transform: skewY(20deg);
}

در این مثال، عنصر ، element ۲۰ درجه به سمت پایین مورب می‌شود.

#css #transform #skew

#Ah_sear

Channel ° @Cafe_Of_Code
Group ° @Irdeveloperchat
9
This media is not supported in your browser
VIEW IN TELEGRAM
AJAX Call:

هنگامی که ما از XMLHttpRequest به جای Promise ها در تسک های asynchronous استفاده می کنیم، یک سری توابع بازگشتی ایجاد می کند که به آن callback hell می گویند.

این نه تنها خواندن کد را سخت‌تر می‌کند و قابلیت نگهداری کمتری دارد، بلکه هندل کردن خطاها را برای ما سخت‌تر می‌کند🛠️

#javanoscript #frontend

Channel ° @Cafe_Of_Code

Group ° @IRdeveloperchat
5🔥2
👾 سابنت یا زیر شبکه چیست؟

رایانه ها برای ارسال پکت به یکدیگر نیاز دارند تا دقیقا در یک شبکه باشند ،
اما سوال این است چگونه مشخص می شود در یک شبکه اند؟

سابنت هادر آیپی ها و پکت ها وجود دارند تا تایید کنند دو رایانه در یک شبکه هستند و امکان ارسال پیام به شبکه های دیگر را ندارند.

💥 سابنت ها ساختاری شبیه به این دارند :

⚡️ 255.255.255.0

فرض کنید
کارفرما از شما می خواهد رایانه های طبقه اول را از رایانه های طبقه دوم جدا کنید، برای این کار شما به سابنت ها نیاز دارید.

سابنت ها در ساختار باینری بهتر قابل درک خواهند بود؛ اما این مورد با متن قابل توضیح نیست. به زودی یک ویدیو جهت توضیح مبحث سابنت ها خواهم ساخت.

این توضیحات برای تئوری می تواند کافی باشد. به زودی به صورت عملی با آن آشنا خواهیم شد.

#Network

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
5
پیشتر به کدام زبان برنامه نویسی یا نشانه گذاری فعالیت کنیم
Anonymous Poll
18%
Html Css
34%
JavaScript
8%
Php
35%
Python
4%
Other تو کامنت ها بگید
6
☄️ فرق cookie و session

👈 کوکی‌ها و نشست‌ها دو مفهوم خیلی مهم در توسعه وب هستند که برای مدیریت اطلاعات کاربر در زمان تعامل با وب‌سایت‌ها استفاده میشه

اگر یه توضیح خلاصه وار بخوام بدم :

کوکی‌ها داده‌ ها رو سمت کاربر ذخیره می‌کنه، در حالی که نشست‌ها داده‌ها را در سمت سرور ذخیره می‌کنه.


#frontend #backend

Channel ° @Cafe_Of_Code

Group ° @IRdeveloperchat
4😍2
You Dont Know JS - CodeExplore.pdf
5.4 MB
🔆 به دوستانی که به سطح خوبی توی جاوااسکریپت رسیدن حتما پیشنهاد میکنم کتاب زیر رو بخونید 👇

📚 نام کتاب : You Dont Know Js
📝 نویسنده: Kyle Simpson

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

« شما به اندازه کافی جاوااسکریپت را نمیدانید »


⚠️ به مبتدی ها توصیه نمیکنم برای خوندنش چون درک مطالبش نیاز به دید نسبتا خوبی از js داره.

#frontend #javanoscript

Channel ° @Cafe_Of_Code

Group ° @IRdeveloperchat
6
امروز روز جهانی بوس هست،
تبریک میگم به مردم ایران که جلیلی رو بوسیدن گذاشتن کنار😁

#Fun #News
🤣113💔2
بخشی در CPU برای تحلیل و اجرای دستورات و انجام عملیات ریاضی و منطقی
Anonymous Quiz
53%
ALU
21%
CU
15%
Register
11%
RAM
👨‍💻6
🔥جلسه ششم پایگیم🔥

ما در جلسه قبلی فهمیدیم که چگونه مثلث ، مربع و مستطیل بسازیم

⚡️در این جلسه میخواهم بهتون بگم چجوری یک عنصر یا یک شی رو در حرکت قرار دهیم
import pygame
import sys

pygame.init()

width = 800
height = 600
window = pygame.display.set_mode((width, height))
pygame.display.set_caption("مربع حرکت از سمت راست به چپ و از چپ به راست")

black = (0, 0, 0)
white = (255, 255, 255)

x = width - 50
y = height // 2 - 25

clock = pygame.time.Clock()

while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()

window.fill(black)
pygame.draw.rect(window, white, (x, y, 50, 50))


if x >= 0:
x -= 5
else:
x = width - 50

pygame.display.update()
clock.tick(30)

🏅 طبق همیشه اول کتابخانه رو امپورت میکنیم بعد اندازه صفحه و رنگ صفحه را مشخص میکنیم
🏅 بعداً هم میایم اندازه مربع رو میگیم
🏅 نکته مهم اینجاست
if x >= 0:
x -= 5
else:
x = width - 50

🏅 ما در این قسمت مربع را از سمت راست به چپ و برعکس به حرکت در می‌آوریم
clock.tick(30)

در این قسمت هم ما ساعت رو مشخص میکنیم برای حرکت مربع

🏅 کد بالا رفتن و پایین اومدن مربع و برعکس
لازم نیست که بیام کل کد رو بگم فقط یک قسمتش رو میگم
if y <= height - 50:
y += 5
else:
y = 0

فقط کافیه این کد را در لاین آخر به جای حرکت سمت چپ به راست پیست کنید

و میتونید اندازه ها رو تغییر دهید

اگه کدام مشکلی داشتید کامنت ها بگید

#جلسه_ششم_پایگیم #پایتون #پایگیم

#part_6_pygame #pygame #python

Channel ° @Cafe_Of_Code
Group ° @Irdeveloperchat
9
👾 تعریف متغیر در زبان PHP:

برای تعریف متغیر در زبان PHP تنها نیاز است تا نام متغیر خود را در نظر بگیرید و پشت آن یک علامت $ اضافه کنید.
در زبان PHP پیچیدگی های تعریف Data Type دیگر مشاهده نمی شود.

برای ساخت متغیر از فرمول زیر استفاده کنید:

⚡️ $name = value ⚡️

کد بالا از ۴ قسمت تشکیل شده است که در زیر آن هارا توضیح داده ایم :

1️⃣ علامت $ نماد متغیر در زبان PHP است و هنگام تعریف و هنگام فراخوانی باید استفاده شود .

2️⃣ نام متغیر بعد از علامت $ می آید و در آینده با این نام متغیر قابل فرا خوانی خواهد بود .

3️⃣ علامت = نماد مقدار دهی در اکثر زبان ها و زبان PHP است .

4️⃣ در قسمت آخر شما می بایست مقدار متغیر خود را قرار بدهید. در آینده بعد از فرا خوانی متغیر این مقدار برگردانده می شود .

به این مثال ها توجه کنید :

$name = "Alireza";
$age = 15;


برای فراخوانی متغیر ها نیز باید نام آن هارا با $ صدا زد.

به این مثال توجه کنید:

echo $name;

برای تعریف متغیر های ثابت باید از روش زیر استفاده کرد :

define("name" , "value");

نکته : متغیر های ثابت فقط یکبار مقدار دهی می شوند و در آینده فقط فراخوانی می شوند و امکان مقدار دهی مجدد ندارند.



1️⃣ تابع define برای تعریف متغیر ثابت استفاده می شود.

2️⃣ این تابع ۲ ورودی می گیرد که در ورودی اول نام متغیر را باید در قالب رشته برای آن بفرستیم .

3️⃣ در ورودی دوم باید مقدار متغیر را در قالب دلخواه خود ارسال کنیم .

به این مثال دقت کنید :

define("loggedIn" , true)

#PHP

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
8
ما از شدت مهربونیامون دل آدمای دورمون و میزنیم
نه از شدت بدیامون؛


#text


Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
12
تفاوت عملیات Synchronous و Asynchronous در جاوااسکریپت:

🔻عملیات همگام (Synchronous) :
در عملیات همگام، کد به ترتیب و خط به خط اجرا میشه. یعنی خط بعدی اجرا نمیشه مگر که خط قبلی اجرا شده باشه. به عبارت دیگه، عملیات بعدی منتظر میمونه تا عملیات قبلی به پایان برسه.

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

#frontend #javanoscript

Channel ° @Cafe_Of_Code

Group ° @IRdeveloperchat
🔥53😍2
🌟 بیایم یه نگاهی به تاریخچه JavaScript بیاندازیم

⚡️ وقتی که اینترنت اختراع شد کلا دو مرورگر در جهان وجود داشت.
و همچنان وبسایت ها خیلی ساده و بدون استایل یا انمیشن بودن و developer ها دوست داشتن وبسایت های بهتری بسازن.

🏅 پش در سال 1995 کاوشگر نت اسکیپ که اون موقع مرورگر برجسته بود.
یه شخصی به نام Brenden Eich رو استخدام کرد تا اولین نسخه جاوااسکریپت رو در ده روز🤯 بسازه اسمش Mocha بود و هنوز اون موقع جاوااسکریپت نبود اما همون اولشم کلی از مباحث پایه رو داشت مباحثی که جاوااسکریپت این روزه داره بسیار حیرت انگیزه که چنین نسخه اولیه ای رو در ده روز ساخته بعد در سال 1996 اسمش از Mocha به JavaScript تغییر کرد.

و در ضمن (کوچک شده جاوا هم نیست😅)


که دوباره به ی دلیل ساده به این نام تغییر کرد
که مورد توجه developer های اون موقع بشه که همچنان اون موقع جاوا رو بورس بوده
و در ضمن هیچ دلیل خاصی نداره که چرا اسمش شده جاوااسکریپت فقط برای بازاریابی و بازار گرمی بوده چون اون موقع جاوا حرف اول رو میزده.
و همچنان جاوا و جاوااسکریپت دو زبان کاملا متفاوت هستن

و در همین سال بوده که ماکروسافت هم اومده انترنت اکسپلور رو داده و زبان جاوااسکریپت رو کپی کرده البته نتوانسته اسمش رو جاوااسکریپت بگذاره برای همین اسمش رو گذاشته JScript
همه ساله جاوااسکریپت آپدیت میده که در سال 1997 اولین آپدیت رو داده به نام es1 در و یکی از بزرگ ترین آپدیت های جاوااسکریپت es6 است که خیلی تغرییات به زبان جاوااسکریپت اومد این نسخه در سال 2015 منتشر شد بعداً هم تصمیم گرفتن بجایی اینکه بیان هر چند سال یکبار آپدیت بدن که یعنی زبان کلا فرق می‌کنه هر ساله آپدیت بدن تا امروز

#javanoscript #تاریخچه #تاریخ
#اینترنت

Channel ° @Cafe_Of_Code
Group ° @IRdeveloperchat
🔥12
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 مشهور ترین زبان های برنامه نویسی جهان از سال های
2000-2023
فقط java و python رو ببنید

#python #java #javanoscript #c #programming #language

#Ah_sear

Channel ° @Cafe_Of_Code
Group ° @IRdeveloperchat
🔥12