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

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


♂️ مالک : @Ali_Rohany ♂️
Download Telegram
☑️ موضوعات پرطرفدار از دید سایت daily.dev 👀♻️

1. وب‌اسمبلی (WebAssembly) 🌐🚀

🔧 آیا تا به حال فکر کرده‌اید که زبان‌هایی مثل C++ یا Rust را در مرورگر اجرا کنید؟ وب‌اسمبلی این امکان را فراهم کرده! 💡 با این تکنولوژی، اپلیکیشن‌های پیچیده و سنگین را با کارایی بالا در وب اجرا کنید.

به دنیای جدید وب‌اپلیکیشن‌ها خوش آمدید! 🚀🌍
2. فریم‌ورک‌های مدرن جاوااسکریپت 💻

🔥 دنیای جاوااسکریپت همچنان در حال تحول است! از قابلیت‌های جدید Next.js 13 مثل کامپوننت‌های سروری گرفته تا فریم‌ورک‌هایی مثل Solid.js و Qwik که سرعت و کارایی فوق‌العاده‌ای ارائه می‌دهند.
3. میکرو-فرانت‌اندها 🧩🔗


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

این انعطاف‌پذیری و مقیاس‌پذیری بالا را از دست ندهید! 🚀🔧
4. تحول در CSS-in-JS 🎨💻

🎨 CSS-in-JS همچنان در حال تکامل است! با ابزارهایی مثل Vanilla Extract و Stitches، هم اکنون نیز می‌توانید CSS را با سادگی و کارایی بالا در پروژه‌های خود بکار بگیرید.

با این ابزارهای جدید، تجربه توسعه خود را به سطح بعدی ببرید! 🚀
5. سیستم‌های طراحی و کتابخانه‌های کامپوننت 📦🎨

🔧 سیستم‌های طراحی و کتابخانه‌های کامپوننت، توسعه وب را ساده‌تر و یکپارچه‌تر کرده‌اند! ابزارهایی مثل Storybook و کتابخانه‌های جدیدی مثل Chakra UI به شما این امکان را می‌دهند که کامپوننت‌های قابل استفاده مجدد و زیبا ایجاد کنید.

یکپارچگی و سرعت توسعه را با این ابزارها تجربه کنید! 🚀💻
6. کامپیوتینگ در لبه و JAMstack 🌍


با ظهور JAMstack و کامپیوتینگ در لبه، تجربه وب به مرحله‌ای جدید وارد شده است! پلتفرم‌هایی مثل Vercel و Netlify امکان اجرای منطق سروری نزدیک به کاربر را فراهم کرده‌اند، که منجر به بهبود سرعت و کاهش تأخیر می‌شود.

آینده وب در لبه است! 🌐🚀
7. هوش مصنوعی و اتوماسیون در توسعه 🤖💡

🤖 با ابزارهای هوش مصنوعی مثل GitHub Copilot، کدنویسی به سطح جدیدی از هوشمندی رسیده است! پیشنهادات کد و تکمیل خودکار، سرعت و دقت شما را در توسعه افزایش می‌دهد.

وقت آن رسیده که با این ابزارهای جدید، نوآوری کنید! 🚀💻
8. اپلیکیشن‌های وب پیش‌رونده (PWA) 📱

📱 اپلیکیشن‌های وب پیش‌رونده (PWA) همچنان رو به جلو هستند! با قابلیت‌های آفلاین و نوتیفیکیشن‌های پیشرفته، تجربه‌ای شبیه به اپلیکیشن‌های بومی را برای کاربران فراهم کنید.

وب‌اپلیکیشن‌های آینده را امروز بسازید
🔰 به‌روز باشید و آینده وب را با این ابزارهای جدید بسازید! 🚀

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
🔥62👨‍💻2
بیاید کمی در مورد call stack و memory heap در جاوااسکریپت صحبت کنیم امشب.

🔆 در واقع Call Stack یک ساختار داده‌ای است که برای پیگیری فراخوانی‌های توابع در جاوااسکریپت استفاده می‌شود. هر بار که یک تابع فراخوانی می‌شود، یک فریم جدید به بالای استک اضافه می‌شود. وقتی تابع به پایان می‌رسد، فریم از استک حذف می‌شود. این فرآیند به صورت LIFO (Last In, First Out) عمل می‌کند.

🔆 از طرف دیگه Memory Heap یک ناحیه از حافظه است که برای تخصیص و آزادسازی اشیاء و داده‌ها در زمان اجرا استفاده می‌شود. برخلاف Call Stack که ساختار منظمی دارد، Memory Heap ساختار نامنظمی دارد و برای ذخیره‌سازی اشیاء بزرگ و داده‌های پویا استفاده می‌شود.

#programming #Js

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
7👨‍💻2
خروجی کد زیر چیست؟

function* generatorFunction() {
yield 1;
yield* function* () {
yield 2;
yield 3;
}();
yield 4;
}

const gen = generatorFunction();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);

#javanoscript

#Ah_sear

Channel • @Programers_Cafe
Group • @IRdeveloperchat
👨‍💻5
دوستان به نظرتون هوش مصنوعی جای ما رو میگیره ؟🤖

#programming   #Ai

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
💔17😁3👨‍💻2
🐬 سطوح دیباگ در پایتون :

1- print(x)
2-  import pdb
3- print(dir(x))
4- gdb
5- انداختن لپ تاپ از پنجره😂💔

#fact #python #programming #Fun

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
😁9🔥3🕊1
یک نکته ای که کمتر جایی درموردش صحبت میکنن بحث Virtual DOM هستش. بیاین باهم کمی در موردش صحبت کنیم ولی اگه شماهم نکته جالبی ازش دارین تو کامنت ها بگین جلو بقیه بچه ها 👍❤️

در واقع Virtual DOM که بیشتر هم در React.js مطرح هستش یک کپی مجازی از DOM هست که به جای اعمال مستقیم تغییرات روی DOM واقعی، تغییرات رو ابتدا روی این نسخه مجازی انجام میده و بعد ری‌اکت فقط بخش‌هایی از DOM واقعی رو که تغییر کردن آپدیت می‌کنه، نه کل ساختار رو.

🌱 این کار باعث میشه :
1️⃣ کارایی افزایش پیدا کنه چون تغییرات غیرضروری در DOM واقعی انجام نمی‌شن.
2️⃣ رندرینگ بهینه‌تر انجام بشه؛ فقط بخش‌های لازم آپدیت می‌شن.
3️⃣ اپلیکیشن‌ها سریع‌تر و با مصرف منابع کمتر اجرا بشن.

#programming #Frontend

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
👨‍💻52🔥2
🔥توی این پست می‌خوام بهتون بگم با استفاده از php چگونه به دیتابیس وصل شویم و یکسری اطلاعات رو ذخیره کنیم.

▎۱. آماده‌سازی دیتابیس

🌀اول از همه، باید یه دیتابیس توی MySQL بسازیم. فرض کنید اسم دیتابیس ما my_database هست و یه جدول به اسم users داریم که اینجوری تعریف شده:
CREATE DATABASE my_database;

USE my_database;

CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);

▎۲. اتصال به دیتابیس

🌀 برای این کار از mysqli استفاده می‌کنیم. کد زیر رو توی یه فایل PHP (مثلاً connect.php) قرار بده:
<?php
$servername = "localhost"; // آدرس سرور
$username = "username"; // نام کاربری دیتابیس
$password = "password"; // رمز عبور دیتابیس
$dbname = "my_database"; // نام دیتابیس

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

// چک کردن اتصال
if ($conn->connect_error) {
die("اتصال ناموفق: " . $conn->connect_error);
}
echo "اتصال موفق!";
?>

▎۳. درج اطلاعات در دیتابیس

🌀حالا که به دیتابیس وصل شدیم، می‌خوایم اطلاعاتی رو داخل جدول users درج کنیم. یه فرم ساده برای گرفتن اطلاعات کاربر می‌سازیم:
<form action="insert.php" method="post">
<label for="name">نام:</label>
<input type="text" id="name" name="name" required>

<label for="email">ایمیل:</label>
<input type="email" id="email" name="email" required>

<input type="submit" value="ثبت">
</form>

🌀حالا کد insert.php رو می‌نویسیم تا اطلاعات رو دریافت کنه و در دیتابیس ذخیره کنه:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "my_database";

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

// چک کردن اتصال
if ($conn->connect_error) {
die("اتصال ناموفق: " . $conn->connect_error);
}

// بررسی اینکه آیا فرم ارسال شده یا نه
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];

// آماده‌سازی و اجرای دستور SQL
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";

if ($conn->query($sql) === TRUE) {
echo "ثبت موفق!";
} else {
echo "خطا: " . $sql . "<br>" . $conn->error;
}
}

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

▎۴. نکات امنیتی

🌀در کد بالا، ما از روش ساده‌ای برای درج اطلاعات استفاده کردیم. اما این روش ممکنه در برابر حملات SQL Injection آسیب‌پذیر باشه. برای جلوگیری از این مشکل، بهتره از Prepared Statements استفاده کنید:
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email); // ss یعنی هر دو پارامتر از نوع رشته هستند

// اجرای دستور
$stmt->execute();
$stmt->close();

#php #mysql

#Ah_sear

Channel • @Programers_Cafe
Group • @IRdeveloperchat
🔥9
انتخاب شما کدومه🧑‍💻؟

#programming

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
👨‍💻12
دانستنی :

VSCode
با استفاده از زبان های HTML ، CSS و JavaScript پیاده سازی شده است و از فریمورک های Electron و Node.js نیز استفاده می کند.

این برنامه به عنوان یک ویرایشگر کد منبع با قابلیت های بسیاری شامل پشتیبانی از بیش از 50 زبان برنامه نویسی، ابزارهای دیباگ، ویرایشگر گرافیکی Git و... شناخته شده است.

#Vs_Code

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
🔥6👨‍💻3😍21😁1🕊1
حتما شنیدید که میگن جاوااسکریپت تک‌ رشته ای (Single-threaded) است. یعنی چی؟

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

📝 اما یه نکته جالب اینه که جاوااسکریپت با استفاده از چیزی به نام Event Loop (حلقه رویداد) می‌تونه به نظر برسه که همزمان چند کار رو انجام می‌ده.

🧐 مثلاً فرض کن داری یه برنامه می‌نویسی که همزمان باید یه تایمر رو نشون بده و یه درخواست به سرور بفرسته. جاوااسکریپت این کار رو با استفاده از صف وظایف (Task Queue) و حلقه رویداد مدیریت می‌کنه.

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

#Vs_Code #JavaScript

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
11👨‍💻32😁1
This media is not supported in your browser
VIEW IN TELEGRAM
دستگاه شکنجه گری پشه😂😂

#programming #fun 

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
😁13🕊5💔4
امروز 11 October، روز جهانی دختره .
مبارکه ❤️
مخصوصاً که برنامه نویس باشه ؛

#girl_day #programming

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
19🔥32😁2
🔥135هوش مصنوعی پرکاربرد

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
🔥7👨‍💻2😁1
🌐نکته:
وقتی داری برنامه‌نویسی می‌کنی 💻
مخصوصاً اگه قراره یه کار تکراری رو چند بار انجام بدی (مثلاً توی یه حلقه) بهتره به جای اینکه هر بار همون کار رو دوباره حساب کنی یه بار قبلش حساب کن و نتیجه رو نگه دار! 🧠

این کار باعث میشه کامپیوترت کمتر خسته بشه 😅 و برنامت سریع‌تر اجرا بشه 🚀

💖 مثال ساده: اگه قراره هر بار توی حلقه بررسی کنی که یه عدد فرده یا زوج می‌تونی اول اون رو حساب کنی و نتیجه رو توی یه متغیر ذخیره کنی 📝
اینطوری دیگه هر بار توی حلقه نمی‌خواد از اول بهش فکر کنی یا حسابش کنی 🤔

این ترفند هم سرعت رو بالا می‌بره ⚡️ هم مصرف منابع رو کم می‌کنه 🔋

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥43😁1
قیمت ها رو مرتب سازی کنید و اعداد رو از انگلیسی  به فارسی تبدیل کنید

const formatPrice = (price) => {
    const priceWithCommas = price.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
 
    const persianNumbers = priceWithCommas.replace(/\d/g, (d) => '۰۱۲۳۴۵۶۷۸۹'[d]);
 
    return persianNumbers;
};


#programming #javanoscript 

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
👨‍💻9🔥2
💖بریم سراغ معرفی چندتا دورک برای باگ معروف Sqli💖

🟠 برای پیدا کردن صفحه ادمین:

inurl:admin
inurl:adminlogin
inurl:login
inurl:administrator
inurl:cpanel


🔴برای پیدا کردن آسیب‌پذیری‌های SQLi:

"index.php?id="
"product.php?id="
"catid="

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥2👨‍💻2🕊1
🔰امروز 15 october روز جهانی دانش‌آموز و دانشجو هستش ؛

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
93👨‍💻1
سلام دوستان یه نکته ای هست موقع کد نویسی که وقتی به باگ می‌خورید سریع نرید از هوش های مصنوعی سوال به پرسید یکم خودتون رو درگیر باگ کنید تا قدرت حل مسئله تون قوی بشه 👏

میبینی طرف ۲+۲ هم از هوش مصنوعی می‌پرسه

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
🔥10🕊43👨‍💻1
امشب نورانی‌ترین ماه🌚 سال 2024 رو داریم.

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



#منهای_برنامه_نویسی

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
6🕊3
9 نکته کلیدی برای یادگیری بهتره برنامه نویسی

کلید ۱ - اصول برنامه نویسی را به درستی یاد بگیرید
اولین چیزی که در برنامه نویسی باید یاد بگیرید منطق و یادگیری اصول برنامه نویسی است . این اولین مرحله برای تبدیل شدن به برنامه نویس حرفه ای  است .
کلید ۲ - قدرت صبر را در خود افزایش دهید
برای اینکه در برنامه نویسی موفق باشید مهمترین شرط این است که بتوانید آدم صبوری باشید . زمانی که نا امید میشوید صبر به شانه ی شما میزند و میگوید یکم دیگه صبر کن و این چیزی است که نیاز دارید .
کلید ۳ - هدف تعیین کنید و به سمت آن قدم بردارید
هدف گزاری میتواند یک تقویت کننده ی قدرتمند و انگیزشی در مسیر یادگیری برنامه نویسی باشد .


کلید ۴ - سعی کنید پروژه های زیادی را انجام دهید
هر چه بیشتر پروژه انجام دهید نه تنها محدودیت های خود را کشف میکنید بلکه مهارت تحلیل و حل مسئله ی خود را نیز بهبود میبخشید .
کلید ۵ - وارد انجمن های برنامه نویسی شوید
یادگیری برنامه نویسی هرگز یک کار انفرادی نیست . اگر به فکر این هستید که یک ایده ای را در آینده به تنهایی و بدون استفاده از کمک دیگران پیاده کنید اشتباه فکر میکنید .
کلید ۶ - یادگیری را متوقف نکنید
بعنوان یک برنامه نویس هرگز پایانی برای یادگیری شما وجود نخواهد داشت و ادامه نیاز به یادگیری و کمک گرفتن از دیگر برنامه نویسان ،‌بعنوان بخشی از شغل برنامه نویسی است .
کلید ۷ - حل الگوریتم و الگوریتم نویسی را یاد بگیرید
الگوریتم ها هسته ی اصلی علوم کامپیوتر هستند .



کلید ۸ - از مستندات یا داکیومنت ها غافل نشوید
مستندات یا داکیومنت های یک زبان برنامه نویسی یا کتابخانه یا یک فریمورک بسیار مهم است و به شما کمک میکند تا درباره ی آن تخصص کسب کنید .
کلید ۹ - از ابزارهای کمک کننده غافل نشوید
همانند تمامی شغل های دنیا ، برنامه نویسی هم پر از ابزارهای کمک کننده است


#programming

𝗖𝗵𝗮𝗻𝗻𝗲𝗹 • @Programers_Cafe

𝗚𝗿𝗼𝘂𝗽 • @IRdeveloperchat
7👨‍💻3