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

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


♂️ مالک : @Ali_Rohany ♂️
Download Telegram
امروز 21 June، روز جهانی انسانیته ، چیزی که این روزا کمتر پیدا میشه .
7🕊3
🏅 اولین شخصی که در تاریخ به عنوان کدنویس شناخته شده است، زنی به نام آدا لاولیس بود😍👩‍💻

او در سال 1815 به دنیا آمد .
عده‌ای اعتقاد دارند که وی اولین فردی است که برای ماشین یک الگوریتم نوشته است.

#programming #fact

Channel ° @Cafe_Of_Code

Group ° @IRdeveloperchat
8😍3
داشتم توی ریپو های اپن سورس گوگل میگشتم که رسیدم به پروژه Mesop با شعار به سرعت برنامه های وب جذاب با پایتون بسازید

باهاش میتونید با استفاده از پایتون و کمترین میزان کد نویسی وپ اب بسازید و برای اپ های internal و دمو خیلی باحاله.

ویژگی هاش:

پشتیبانی از Hot reload
بدون نیاز به Javanoscript/CSS/HTML میتونید ui های کاستوم بسازید
یادگیری آسون
کامپوننت های آماده
و ..

دموها:
🔗 https://google.github.io/mesop/demo/

وبسایت:
🔗 https://google.github.io/mesop/

گیت هاب:
🔗 https://github.com/google/mesop

#python #programming

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
👨‍💻6
🔥جلسه چهارم Pygame 🔥

ما توی جلسه قبلی فهمیدیم که چگونه با pygame عکس مون رو نمایش بدیم

برای مشاهده پست کلید کنید

⚡️خب توی این پست می‌خوام که بهتون بگم چگونه میتونیم چند تا دایره شناور با pygame بسازیم
import pygame
import random

# تعریف رنگ‌ها
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)

# تنظیمات پنجره
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

# تعداد دایره‌ها
NUM_CIRCLES = 10

# ایجاد صفحه
pygame.init()
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption('Drawing Circles with Pygame')

clock = pygame.time.Clock()

# تعریف تابع برای رسم دایره
def draw_circle(surface, color, pos, radius):
pygame.draw.circle(surface, color, pos, radius)

# حلقه اصلی برنامه
running = True
circle_info = []

for _ in range(NUM_CIRCLES):
circle_color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
circle_pos = (random.randint(0, SCREEN_WIDTH), random.randint(0, SCREEN_HEIGHT))
circle_radius = random.randint(10, 50)
circle_speed = [random.uniform(-1, 1), random.uniform(-1, 1)]
circle_info.append({"color": circle_color, "pos": circle_pos, "radius": circle_radius, "speed": circle_speed})

while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

screen.fill(WHITE)

# رسم دایره‌ها و حرکت آنها
for circle in circle_info:
draw_circle(screen, circle["color"], circle["pos"], circle["radius"])

circle["pos"] = (circle["pos"][0] + circle["speed"][0], circle["pos"][1] + circle["speed"][1])

if circle["pos"][0] > SCREEN_WIDTH or circle["pos"][0] < 0:
circle["speed"][0] *= -1
if circle["pos"][1] > SCREEN_HEIGHT or circle["pos"][1] < 0:
circle["speed"][1] *= -1

pygame.display.flip()
clock.tick(60)

pygame.quit()

1⃣طبق همیشه اول میایم کتابخانه رو امپورت میکنیم
بعد میایم رنگ ها رو تعریف میکنم.
NUM_CIRCLES = 10

به این بخش میایم تعداد دایره ها مونو مینویسیم من 10 تا دایره را تعیین کردم

2⃣و بعد میایم میایم یک تابع تعریف میکنیم
def draw_circle(surface, color, pos, radius):
    pygame.draw.circle(surface, color, pos, radius)

که چهار قیمت داره این تابع برای رسم دایره ها بکار می‌ره

بعد میایم دایره ها رو رسم میکنیم به هر کدوم یک قیمت یک اندازه یک حالت و یک رنگ رو می‌دیم
بعد دایره ها رو به حالت شناور تغییر می‌دیم
for circle in circle_info:
draw_circle(screen, circle["color"], circle["pos"], circle["radius"])

circle["pos"] = (circle["pos"][0] + circle["speed"][0], circle["pos"][1] + circle["speed"][1])

if circle["pos"][0] > SCREEN_WIDTH or circle["pos"][0] < 0:
circle["speed"][0] *= -1
if circle["pos"][1] > SCREEN_HEIGHT or circle["pos"][1] < 0:
circle["speed"][1] *= -1

pygame.display.flip()
clock.tick(60)

این بود از این جلسه

راستی بعد از هر بار اجرا رنگ و اندازه دایره ها تغییر می‌کنه

اگه مشکلی بود تو کامنت ها بپرسید
#پایتون #پایگیم #جلسه_چهارم_پایگیم

#python #pygame #part_4_pygame

#Ah_sear

Channel ° @Cafe_Of_Code
Group ° @IRdeveloperchat
7
⚡️امروز روز جهانی بوسیدنه❤️
13
⚡️بچها میخوام توی این پست بهتون بگم که چجوری میتونیم سایت مون رو غیر قابل سلکت کنیم

body {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

1⃣خب لاین اول

میاد کاری می‌کنه مرورگر های مثل کروم، سافاری، و اوپرا نتونن متن رو سلکت یا انتخاب کنن.

2⃣لاین دوم

میاد کاری می‌کنه که مرورگر موزیلا فایرفاکس هم نتوته سلکت کنه🚫

3⃣لاین سوم

میاد کاری می‌کنه که مرورگر های استاندارد هم نتونن سلک کنن

کلا غیر قابل سلکت میشه سایت تون حالا چرا اینکار رو بکنیم⁉️

هیچی مگه مرض داریم😂

#Html #css #web #code #Fun


Channel ° @Cafe_Of_Code
Group ° @IRdeveloperchat
👨‍💻83🤣1
🔥برنامه خاموش کردن کامپیوتر با پایتون🔥

⚡️ برای این برنامه از کتابخانه OS استفاده شده است. می‌توان این کتابخانه را با دستور «pip install os» نصب کرد .
⚡️ با استفاده از این بسته می‌توان کامپیوتر را بازنشانی (ری‌استارت) یا خاموش کرد . حتی امکان تنظیم یک زمان‌بندی برای خاموش یا ری‌استارت کردن دستگاه نیز با استفاده از این پکیج وجود دارد.

import os 
shut down=input("do you want to shutdown your computer(yes/no):")
:'if shutdown=='yes
os.system("shutdown/s/t1")
:else
print('shutdown is not requested')

💥پیش از اجرای این برنامه، باید از ذخیره کردن اسناد و برنامه‌ها اطمینان حاصل کرد و از آن‌ها خارج شد. زیرا پس از اجرای این برنامه، کامپیوتر خاموش می‌شود و ممکن است داده‌های ذخیره نشده از بین بروند

#programming #python

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
7💔2🕊1
با تو پیاده‌رو میشه هتل پنج ستاره!

- مسلک

#text


Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
6💔2
۲۳ ژوئن روز جهانی دختران مهندس مبارکه همه ی خانم هایی باشه که بلدن ریاضی و منطق رو با احساس و عاطفه همراه کنن🔥

خانوم مهندسا و اونایی که میخواین مهندس شین روزتون مبارک❤️

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
10🔥4
🔆مهارت هایی که مزیت محسوب میشن و یادگیری اونا میتونه چندین پله شما رو جلو بندازه

💯 هر کدوم رو میتونید بعد مسلط شدن به جاوااسکریپت برید سراغش

🎖 آموزش Webpack

🎖 آموزش WebSocket

🎖 آموزش GraphQL

🎖 آموزش Pwa

🎖 آموزش Canvas

#programming

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
5👨‍💻2
⚡️Css Transform

⚡️ به معنایی (تغییر شکل دادن یا دگرگون کردن) که برای animation ها در css استفاده میشود برای تغییر شکل یا مکان شکل

سی اس اس transform مقادیری را از قبیل :-

None
Translate , TranslateY , TranslateX
Scale, scaleX , ScaleY
Skew , SkewX , SkewY

میگیرد و هر کدوم از این چهار تا یک خاصیت دارد مقدار پیشفرض transform همیشه None است.

🥇 Translate

محور y در دنیای وب برعکس دنیای ریاضی هست یعنی سمت بالای محور میشه y- و سمت پایین میشه +y اما در ریاضی فرق می‌کنه
اما محور x هیچ فرقی ندارد

خب حالا خود translate چیکار می‌کنه تغییر موقعیت شکل رو انجام میده

مثلا

.box{
Transform: translateX(300px)
}


💥 دقت کنید که گفتم translateX 300px بمعنایی اینکه از روی محور x حرکت کنه شکل و چون قیمتی که ما دادیم مثبت هست پس می‌ره به سمت راست. و به همین صورت

و در قسمت محور y هم به همین شکل است ولی اگر قسمت منفی بدید می‌ره به سمت بالا اگر قیمت مثبت بدید می‌ره به سمت پایین

امیدوارم که فهمیده باشید❤️

خاصیت های بعدی را در پست های روزای بعد میگم


#css #html #animation #transform #translate

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
7👨‍💻2
🖥  یه برنامه نویس باید نمونه کارهای خفنی داشته باشه و تو رزومه قرار بده💯

⁉️ حالا فکر کن سابقه کار نداره، نمونه کار از کجا بیاره؟

🔆  کافیه از سایت templatemonster ایده بگیره و چند نمونه کار خفن بزنه. همونا رو بذار تو رزومه؛ کار جمعِ

🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥

💎 سایت templatemonster ؛ بیش از 3 هزار قالب و تم وب خیره کننده داخلش قرار داده شده که میتونید ازشون الهام بگیرید و چند نمونه کار شاهکار بدید بیرون.

🔗 ورود به سایت :)

#programming #Site

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
🔥42👨‍💻1
نمی آید به چشمم هیچکس غیر از تو؛ این یعنی به لطف عشق تمرین میکنم یکتا پرستی را

- فاضل نظری

#text


Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
5🕊2
دستوری برای عیب‌یابی و بررسی صحت ارتباط در شبکه؟
Anonymous Quiz
20%
ipconfig
56%
ping
16%
tracert
7%
nslookup
👨‍💻62
⚡️یک نمونه کد امنیتی برای جلوگیری از حملات تزریق SQL (SQL injection) در زبان PHP به صورت ساده به شکل زیر است:
<?php
// اطلاعات اتصال به پایگاه داده
$servername = "localhost";
$username = "نام_کاربری";
$password = "رمز_عبور";
$dbname = "نام_پایگاه_داده";

// ایجاد اتصال
$conn = new mysqli($servername, $username, $password, $dbname);

// بررسی اتصال
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

// تابعی برای اعتبارسنجی و امن‌سازی ورودی‌ها
function secureInput($input) {
global $conn;
$input = htmlspecialchars($input);
$input = $conn->real_escape_string($input);
return $input;
}

// مثال استفاده از تابع برای جلوگیری از SQL injection
$userInput = secureInput($_POST['username']);
$passInput = secureInput($_POST['password']);

// استفاده از متغیرهای ایمن‌سازی شده در کوئری
$sql = "SELECT * FROM users WHERE username='$userInput' AND password='$passInput'";
$result = $conn->query($sql);

// بررسی نتیجه کوئری و ادامه کارهای مرتبط
if ($result->num_rows > 0) {
// عملیات موفق
} else {
// عملیات ناموفق
}

// بستن اتصال
$conn->close();
?>

این کد از تابع secureInput برای اعتبارسنجی و امن‌سازی ورودی‌ها استفاده می‌کند و از real_escape_string برای جلوگیری از تزریق SQL استفاده می‌نماید. همچنین، برای اتصال به پایگاه داده از PDO یا MySQLi به جای استفاده مستقیم از متغیرها پیشنهاد می‌شود.

#php #sql #mysql #injection #sql_injection


Channel ° @Cafe_Of_Code
Group ° @IRdeveloperchat
10
برنامه بررسی سرعت اینترنت با پایتون❤️

💥 هدف از ایجاد این برنامه، بررسی سرعت ارسال و دریافت اینترنت با پایتون است .


⚡️ در این برنامه، برای تست سرعت اینترنت از ماژول «speedtest» استفاده می‌شود .
برای نصب این بسته ، باید از دستور «pip install speedtest-cli» استفاده کرد.

import speedtest

speed= speedtest.speedtest()

download_speed=speed.downlaod()

upload_speed=speed.upload()

print( f' the download speed is{download_speed} ' )

print( f' the upload speed is{upload_speed} ' )

#programming #python

Channel ° @Cafe_Of_Code

Group ° @IRdeveloperchat
🔥63
مفهوم کلاژر (Closure)

⚡️ کلاژر (Closure) در جاوااسکریپت یکی از مفاهیم پایه‌ای و مهم است که به شما اجازه می‌دهد تا داده‌ها را در یک تابع محصور کنید و حتی پس از اتمام اجرای تابعی که آن‌ها را ایجاد کرده، به آن داده‌ها دسترسی داشته باشید.

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


💥 برای مثال:
function makeAdder(x) {
return function(y) {
return x + y;
};
}

var add5 = makeAdder(5);
var add10 = makeAdder(10);

console.log(add5(2)); // نتیجه 7 خواهد بود
console.log(add10(2)); // نتیجه 12 خواهد بود

⚡️در این مثال، makeAdder یک تابع است که یک تابع دیگر را برمی‌گرداند. تابع برگشتی (که یک کلاژر است) به متغیر x که در محدوده‌ی makeAdder تعریف شده، دسترسی دارد. این امر به تابع برگشتی اجازه می‌دهد که حتی پس از اتمام اجرای makeAdder، همچنان به متغیر x دسترسی داشته باشد و بتواند با آن عملیات انجام دهد. این ویژگی کلاژرها باعث می‌شود که بتوانیم داده‌ها را در یک تابع "بسته‌بندی" کنیم و در عین حفظ امنیت و محدودیت دسترسی، آن‌ها را در دسترس نگه داریم.


#JavaScript #programming

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
🔥5👨‍💻21
چگونه متن مون رو رمز گذاری کنیم با JavaScript

⚡️خب توی این پست می‌خوام که که بهتون بگم
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<noscript>Encryption Example</noscript>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<h1>Encryption Example</h1>
<textarea id="inputText" placeholder="Enter text to encrypt"></textarea>
<button onclick="encryptText()">Encrypt</button>
<p id="encryptedText"></p>
</div>

<noscript src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></noscript>
<noscript>
function encryptText() {
var key = CryptoJS.enc.Hex.parse('2b7e151628aed2a6abf7158809cf4f3c'); // تعریف کلید
var iv = CryptoJS.enc.Hex.parse('3ad77bb40d7a3660a89ecaf32466ef97'); // تعریف بردار اولیه

var plaintext = document.getElementById('inputText').value; // خواندن متن از ورودی

var ciphertext = CryptoJS.AES.encrypt(plaintext, key, { iv: iv }); // رمزگذاری متن

document.getElementById('encryptedText').textContent = "Encrypted Text: " + ciphertext.toString(); // نمایش متن رمزگذاری شده
}
</noscript>
</body>
</html>

ببنید اول یه textarea ساختیم که بیاد کاربر متنش رو بگه بعد یه باتن ساختیم با تابع encryptText.
بعد اومدیم فایل Cryptojs را با استفاده از لینک
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js

استفاده کردیم.

کد های JavaScriptهم که کامنت گذاری کردم

⚡️و تمام⚡️
#javanoscript

Channel ° @Cafe_Of_Code
Group ° @IRdeveloperchat
7
👾 ساخت آرایه در جاوا اسکریپت:

آرایه ها مجموعه ای از مقادیر هستند که مانند یک صف در یک متغیر قرار میگیرند و در آینده با صدا زدن آنها قابل دسترسی خواهند بود.

برای ساخت یک آرایه در جاوا اسکریپت از فرمول زیر استفاده می کنیم:
var name = [Value0 , Value1 , Value2 , Value3....];

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

1️⃣ کلمه کلیدی var که اشاره به Variable دارد و در شروع مشخص می کند این مقدار قرار است ساخته شود.

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

3️⃣ علامت = نشانگر مقداردهی در زبان های برنامه نویسی و زبان جاوا اسکریپت است.

4️⃣ در قسمت آخر مقادیر آرایه باید ذخیره شود. این مقدار ها به همه نوع داده ها قابل تنظیم است و محدودتی در آن وجود ندارد.

نکته: یک آرایه می تواند بی نهایت عنصر از جنس های مختلف داشته باشد.

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

var Names = ["Alireza", "Mohammad", "Hamid"  ]

var Prices = [1500, 2240 , 300 , 0 , "Not Available"]


برای دریافت مقادر داخل آرایه ها باید اندیس یا ایندکس ( Index ) آن ها را دانست. ایندکس ها از صفر شروع می شوند و در مثال اول Alireza دارای ایندکس صفر و Mohammad دارای ایندکس ۱ است.
برای چاپ نام Hamid باید اینگونه عمل کرد:

alert( Names[2] )


این کد نام Hamid را در یک آلرت به کاربر نمایش می دهد.

#JavaScript

Channel • @Cafe_Of_Code

Group • @IRdeveloperchat
👨‍💻82
معکوس کردن یک رشته در پایتون🔥

ساده‌ترین روش برای معکوس کردن ترتیب کاراکترها در یک رشته متنی به صورت زیر است :

name = "George"
name[::-1]


#python #programming

Channel ° @Cafe_Of_Code

Group ° @IRdeveloperchat
7👨‍💻2