ʜᴇʀᴏ ᴇxᴘᴇʀᴛ | کارشناس قهرمان – Telegram
ʜᴇʀᴏ ᴇxᴘᴇʀᴛ | کارشناس قهرمان
8.52K subscribers
229 photos
6 videos
7 files
237 links
🏅تبلیغات 👈🏻 @ExpertsAds
Download Telegram
👩‍💻 تکه کد دریافت IP کاربر [ User IP ]
⚠️ این تکه کد به زبان 🔷 نوشته شده است.

import jakarta.servlet.*;
import jakarta.servlet.http.*;
import java.io.IOException;
import java.util.regex.Pattern;

public class UserInfoServlet extends HttpServlet {

// Get real user IP with extra checks
private String getUserIP(HttpServletRequest request) {
String[] ipKeys = {
"CF-Connecting-IP",
"X-Real-IP",
"X-Forwarded-For",
"Client-IP",
"REMOTE_ADDR"
};

for (String key : ipKeys) {
String ipList = key.equals("REMOTE_ADDR")
? request.getRemoteAddr()
: request.getHeader(key);

if (ipList != null && !ipList.isEmpty()) {
for (String ip : ipList.split(",")) {
ip = ip.trim();
if (Pattern.matches(
"^(25[0-5]|2[0-4]\\d|1?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|1?\\d?\\d)){3}$",
ip)) {
return ip;
}
}
}
}
return "UNKNOWN";
}

// Get user's browser info
private String getUserAgent(HttpServletRequest request) {
String ua = request.getHeader("User-Agent");
return (ua != null && !ua.isEmpty()) ? ua : "UNKNOWN";
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String userIP = getUserIP(request);
String userAgent = getUserAgent(request);

response.setContentType("text/html;charset=UTF-8");
response.getWriter().println("User IP: " + userIP + "<br>");
response.getWriter().println("User Agent: " + userAgent);
}
}


🌐 @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤩 پروتکل کوئیک [QUIC] چیست؟

پروتکل کوئیک یک پروتکل انتقال داده‌ی جدید در اینترنت با رمزنگاری پیش‌فرض است که برای افزایش سرعت و امنیت ارتباطات HTTP طراحی شده و توسط گوگل توسعه یافته است. این پروتکل جایگزین TCP شده و باعث بهبود سرعت و امنیت ارتباطات اینترنتی می‌شود. همچنین، با بهره‌گیری از رمزگذاری پیش‌فرض، از قطع شدن ارتباط هنگام تغییر شبکه جلوگیری می‌کند. پروتکل کوئیک در بسیاری از سرویس‌ های مدرن مانند گوگل کروم، یوتیوب، نتفلیکس و کلودفلر به‌ کار گرفته شده و نقش مهمی در بهبود تجربه‌ی کاربری اینترنت دارد.

🔝 ویژگی‌های پروتکل کوئیک [QUIC]

💢 اتصال سریع‌تر و کاهش تأخیر
💢 امنیت بالا با رمزگذاری داخلی
💢 حفظ اتصال پایدار هنگام تغییر شبکه
💢  جلوگیری از افت سرعت درخواست‌ ها


✉️ @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه کد ریدایرکت [Redirect] کاربر
⚠️ این تکه کد به زبان 🎲 نوشته شده است.

function redirect(url) {

window.location.replace(url);

const fallback = document.createElement("nonoscript");
fallback.innerHTML = <meta http-equiv="refresh" content="0;url=${url}" />;
document.body.appendChild(fallback);

const link = document.createElement("p");
link.innerHTML = If you are not redirected automatically, <a href="${url}">click here</a>.;
document.body.appendChild(link);
}

// Example usage
redirect("https://aparat.com");


📱 @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
▫️ فریم‌ورک فست‌ای‌پی‌آی [FastAPI] چیست؟

فست‌ای‌پی‌آی یک فریم‌ورک مدرن و متن‌ باز برای زبان پایتون است که برای ساخت API های سریع و امن طراحی شده است. این فریم‌ورک از استاندارد های OpenAPI و JSON Schema پشتیبانی می‌کند و توسعه‌ دهندگان می‌توانند به راحتی API هایی با کارایی بالا و قابلیت مقیاس‌ پذیری بسازند. فست‌ای‌پی‌آی برخلاف فریم‌ورک‌ های سنتی مانند جنگو و فلسک، بر اساس تایپ‌ هینتینگ پایتون کار می‌کند و باعث می‌شود توسعه، تست و مستند سازی ها بسیار سریع و ساده شود.

🔝 مزایای فست‌ای‌پی‌آی [FastAPI]

پشتیبانی کامل از OpenAPI و JSON
تایپ‌ هینتینگ پایتون برای امنیت و دقت
تولید خودکار مستندات با Swagger و...
سرعت بسیار بالا و بهینه برای پردازش ها
ایده‌آل برای پروژه‌ های مدرن و میکروسرویس


✔️ @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه کد هش و اعتبارسنجی رمزعبور
⚠️ این تکه کد به زبان 🔷 نوشته شده است.

/*  
* You need to install the argon2-jvm library before using this code.
*/

import de.mkammerer.argon2.Argon2;
import de.mkammerer.argon2.Argon2Factory;

import java.security.SecureRandom;
import java.util.Base64;

public class PasswordUtil {

// Creates a secure hash password.
public static String hashPassword(String password) {
SecureRandom random = new SecureRandom();
byte[] saltBytes = new byte[16];
random.nextBytes(saltBytes);
String salt = Base64.getEncoder().encodeToString(saltBytes);

Argon2 argon2 = Argon2Factory.create(Argon2Factory.Argon2Types.ARGON2id);
String hash = argon2.hash(4, 65536, 2, password + salt);

return salt + ":" + hash;
}

// Verifies if the given password
public static boolean verifyPassword(String password, String storedHash) {
String[] parts = storedHash.split(":", 2);
String salt = parts[0];
String hashedPassword = parts[1];

Argon2 argon2 = Argon2Factory.create(Argon2Factory.Argon2Types.ARGON2id);
return argon2.verify(hashedPassword, password + salt);
}

// Example usage
public static void main(String[] args) {
String password = "MySecurePassword";
String hashed = hashPassword(password);

System.out.println("Stored Hash: " + hashed);
System.out.println("Verify Correct: " + verifyPassword(password, hashed)); // true
System.out.println("Verify Wrong: " + verifyPassword("WrongPassword", hashed)); // false
}
}


⚡️ @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه کد ریدایرکت [Redirect] کاربر
⚠️ این تکه کد به زبان 🔷 نوشته شده است.

import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

public class RedirectHelper {

// Redirects the client to the specified URL
public static void redirect(HttpServletResponse response, String url) throws IOException {
if (!response.isCommitted()) {
// If headers are not sent yet, use HTTP redirect
response.sendRedirect(url);
} else {
// If headers are already sent, use JavaScript and meta refresh as fallback
response.getWriter().println("<noscript type='text/javanoscript'>window.location.href='" + url + "';</noscript>");
response.getWriter().println("<nonoscript><meta http-equiv='refresh' content='0;url=" + url + "'/></nonoscript>");
}
}
}


📱 @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🧠 یادگیری تقویتی [RL] چیست؟

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

🔝 ویژگی‌ های یادگیری تقویتی [RL]

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


🌐 @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه کد بررسی قدرت و کیفیت رمزعبور
⚠️ این تکه کد به زبان 🔷 نوشته شده است.

public class PasswordStrength {

// Function to calculate password strength
public static String passStrength(String passWord) {
double hero = 0.0;
int size = passWord.length();

// Calculate entropy-based strength
int[] counts = new int[256];
for (char c : passWord.toCharArray()) {
counts[c]++;
}

for (int count : counts) {
if (count > 0) {
double p = (double) count / size;
hero -= p * (Math.log(p) / Math.log(2));
}
}

double strength = (hero / 3.2) * 100;
if (strength > 100) {
strength = 100;
}

// Validation checks
if (passWord.length() < 8) {
return "رمزعبور حداقل باید 8 کاراکتر باشد";
}

if (!passWord.matches(".*[0-9].*")) {
return "حداقل باید یک عدد داخل رمزعبور باشد";
}

if (!passWord.matches(".*[A-Z].*")) {
return "حداقل باید یک حرف انگلیسی بزرگ داخل رمزعبور باشد";
}

if (!passWord.matches(".*[!\"#$%&'()*+,\\-./:;<>=?@\\[\\]{}^_`~\\\\].*")) {
return "حداقل باید یک کاراکتر خاص داخل رمزعبور باشد";
}

return String.format("%.0f : قدرت رمزعبور", strength);
}

public static void main(String[] args) {
System.out.println(passStrength("[es51tP}a*s1"));
// خروجی: 100 : قدرت رمزعبور
System.out.println(passStrength("pas_Test0"));
// خروجی: 92 : قدرت رمزعبور
}
}


💙 @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🔻 زبان برنامه‌ نویسی لوآ [Lua] چیست؟

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

🔝 مزایای زبان Lua

🔼 سینتکس ساده و یادگیری سریع
🔼 سبک و سریع با مصرف کم منابع
🔼 قابلیت جاسازی در برنامه‌ های بزرگ
🔼 مناسب برای بازی‌ سازی و اسکریپت‌ ها


📣 @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🎲 پایگاه داده نواس‌کیو‌ال [NoSQL DB] چیست؟

پایگاه داده نواس‌کیو‌ال نوعی پایگاه داده غیررابطه‌ای است که برخلاف SQL DB، داده‌ ها را در قالب جدول ذخیره نمی‌کند. این نوع پایگاه داده برای کار با حجم زیاد داده‌ های متنوع، ساختار نیافته یا نیمه‌ ساختار یافته طراحی شده است. داده‌ ها در NoSQL می‌توانند به شکل سند ، کلید-مقدار ، گراف یا ستونی ذخیره شوند. این پایگاه داده بیشتر در پروژه‌ هایی با مقیاس‌پذیری بالا، داده‌ های پراکنده یا محیط‌ های ابری مورد استفاده قرار می‌گیرد. از جمله پایگاه داده‌ های معروف NoSQL می‌توان به MongoDB، Redis و Firebase اشاره کرد.

🔝 ویژگی‌ های پایگاه داده نواس‌کیو‌ال

🔼 مقیاس‌پذیری بالا
🔼 بدون ساختار جدول‌ های سنتی
🔼 سرعت زیاد در پردازش داده‌های بزرگ
🔼 انعطاف‌پذیری در نوع و ساختار داده‌ها
🔼 مناسب برای داده‌ های نامنظم یا متغیر


✉️ @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه کد ارسال ایمیل [ Send Email ]
⚠️ این تکه کد به زبان Ruby نوشته شده است.

# Install required gem:
# gem install mail

require 'mail'

options = {
# SMTP host
address: 'smtp.hero.com',
# SMTP port
port: 587,
# SMTP domain
domain: 'hero.com',
# SMTP username
user_name: 'Hero@info.com',
# SMTP password
password: 'S#h-o6y9e',
# Enable SMTP authentication
authentication: :login,
# Use STARTTLS encryption
enable_starttls_auto: true
}

Mail.defaults do
delivery_method :smtp, options
end

mail = Mail.new do
# Sender
from 'Hero@info.com'
# Recipient
to 'user@gmail.com'
# Email subject
subject 'Welcome to Hero'
# Email body
body 'Thank you for join'
end

begin
mail.deliver!
puts 'Email sent successfully.'
rescue => e
puts "Email failed: #{e.message}"
end


©
@HeroExpert_ir | کارشناس تکنولوژی
1
🌐 پروتکل ای‌آرپی [ ARP ] چیست؟

پروتکل ای‌آرپی یک پروتکل شبکه‌ای است که مسئول تبدیل آدرس‌ های IP به آدرس‌ های فیزیکی MAC در شبکه‌ های محلی است. به عبارت دیگر، وقتی یک دستگاه می‌خواهد داده‌ ها را به دستگاه دیگری در همان شبکه ارسال کند، این پروتکل کمک می‌کند تا آدرس منطقی آی‌پی به آدرس سخت‌ افزاری واقعی تبدیل شود و ارتباط برقرار شود. این پروتکل برای کارکرد صحیح شبکه‌ های داخلی، اشتراک‌ گذاری فایل و دسترسی به اینترنت حیاتی است.

🔝 ویژگی‌ های پروتکل ای‌آرپی

💢 تبدیل آدرس IP به آدرس MAC
💢 عملکرد حیاتی در شبکه‌ های محلی
💢 ساده و سریع برای شناسایی دستگاه‌ ها
💢 پایه بسیاری از عملکرد های شبکه مانند ارسال بسته‌ ها و ارتباط بین کامپیوتر ها


©
@HeroExpert_ir | کارشناس تکنولوژی
1
👩‍💻 تکه‌ کد اعتبارسنجی ایمیل کاربر
⚠️ این تکه کد به زبان Ruby نوشته شده است.

def validate_email(email)
# Built-in Ruby email validation
return "Invalid email" unless email.match?(URI::MailTo::EMAIL_REGEXP)

# Custom regex similar to your PHP version
regex = /^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/
return "Invalid email" unless email.match?(regex)

"Valid email"
end

# Example
email = "aabrahimi1718@gmail.com"
puts validate_email(email)
# => Valid email


©
@HeroExpert_ir | کارشناس تکنولوژی
1
🎖 پلتفرم آمازون وب سرویسز [AWS] چیست؟

پلتفرم AWS مخفف Amazon Web Services بزرگ‌ترین و کامل‌ ترین پلتفرم ابری در جهان است که بیش از ۲۰۰ سرویس مختلف برای میزبانی، پردازش، ذخیره‌سازی، مانیتورینگ، امنیت و توسعهٔ اپلیکیشن ارائه می‌دهد. با این پلتفرم می‌توانید بدون نیاز به خرید یا مدیریت سرور های فیزیکی، هر نوع اپلیکیشن را به‌صورت مقیاس‌پذیر، امن و با سرعت بالا اجرا کنید. این پلتفرم از زبان‌ ها و فریم‌ورک‌ های مختلف از جمله Node.js، PHP، Python، Java، Go، Ruby و ده‌ ها تکنولوژی دیگر پشتیبانی می‌کند و به‌خاطر قابلیت‌ های پیشرفته، انتخاب شماره یک بسیاری از استارتاپ‌ ها، شرکت‌ های بزرگ و محصولات جهانی است.

🔝 ویژگی‌های پلتفرم AWS

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


©
@HeroExpert_ir | کارشناس تکنولوژی
1
👩‍💻 تکه‌ کد اعتبارسنجی لینک [Url]
⚠️ این تکه کد به زبان Ruby نوشته شده است

require 'uri'
require 'cgi'

def is_valid_url(url)
# Decode the URL
decoded_url = CGI.unescape(url)

# General URL validation
begin
uri = URI.parse(decoded_url)
return false unless uri.is_a?(URI::HTTP) || uri.is_a?(URI::HTTPS)
rescue URI::InvalidURIError
return false
end

return false if decoded_url.length >= 2048

# Check for dangerous patterns
return false if decoded_url.match?(/\.\.\//)

# Prevent XSS attempts
return false if decoded_url.downcase.include?('javanoscript:')
return false if decoded_url.downcase.include?('<noscript>')

# Check domain
if uri.host && !uri.host.include?('.')
return false
end

true
end

# Example
puts is_valid_url('https://hero')
# Output: false

puts is_valid_url('https://hero.ac')
# Output: true


©
@HeroExpert_ir | کارشناس تکنولوژی
🔹 فریم‌ورک جین [Gin] چیست؟

جین یک فریم‌ورک سریع، سبک و متن‌ باز برای زبان Golang است که به‌ صورت ویژه برای ساخت API و وب‌سرویس‌ های با کارایی بالا طراحی شده است. این فریم‌ورک بر پایه پکیج net/http زبان گو ساخته شده و با استفاده از یک سیستم مسیریابی بسیار بهینه، عملکرد فوق‌العاده‌ ای در پردازش درخواست‌ ها ارائه می‌دهد. این فریم‌ورک به دلیل مصرف کم منابع، سرعت بالا و سادگی در پیاده‌ سازی، گزینه‌ای ایده‌آل برای میکروسرویس‌ ها و پروژه‌ های پرترافیک محسوب می‌شود و در بسیاری از پروژه‌ های مدرن مبتنی بر زبان گو مورد استفاده قرار می‌گیرد.

🔝 مزایای فریم‌ورک Gin

💢 پشتیبانی از میدلور
💢 مصرف کم منابع سرور
💢 سرعت بسیار بالا و بهینه
💢 سیستم روتینگ قدرتمند و انعطاف‌پذیر
💢 مناسب برای توسعه API، میکروسرویس‌ ها و پروژه‌ های مقیاس‌ پذیر


©
@HeroExpert_ir | کارشناس تکنولوژی
1
👩‍💻 تکه‌ کد اعتبارسنجی شماره موبایل
⚠️ این تکه‌ کد برای ش.م ایران 🇮🇷 می‌باشد
⚠️ این تکه کد به زبان Ruby نوشته شده است

def is_valid_mobile(mobile)
# Remove all characters except digits and '+'
mobile = mobile.gsub(/[^0-9+]/, '')

# Validate Iranian mobile number in two formats:
# 1) 09XXXXXXXXX
# 2) +989XXXXXXXXX
if mobile.match?(/^(09\d{9}|\+989\d{9})$/)
"شماره موبایل معتبر است"
else
"شماره موبایل نامعتبر است"
end
end

# Example 1
puts is_valid_mobile('+989123456789')
# Output: شماره موبایل معتبر است

# Example 2
puts is_valid_mobile('09123456789')
# Output: شماره موبایل معتبر است

# Example 3
puts is_valid_mobile('01123456789')
# Output: شماره موبایل نامعتبر است


©
@HeroExpert_ir | کارشناس تکنولوژی
1
🧠 شبکه عصبی مصنوعی [NN] چیست؟

شبکه عصبی مصنوعی یکی از مفاهیم پایه و کلیدی در یادگیری ماشین [ML] و هسته اصلی یادگیری عمیق [DL] است که با الهام از نحوه عملکرد مغز انسان طراحی شده است. در این مدل، داده‌ ها از طریق لایه‌ هایی از نورون‌ ها پردازش می‌شوند و هر نورون با وزن‌دهی و اعمال تابع فعال‌سازی، اطلاعات را به لایه بعد منتقل می‌کند. شبکه عصبی با دیدن داده‌ های زیاد، الگوها را یاد می‌گیرد و می‌تواند برای پیش‌بینی، تشخیص و تصمیم‌ گیری استفاده شود. به‌ عنوان مثال، شبکه عصبی می‌تواند با دیدن هزاران تصویر، یاد بگیرد که چهره انسان را تشخیص دهد یا متن‌ها را دسته‌بندی کند.

🔝 ویژگی‌ های شبکه عصبی مصنوعی

پایه اصلی یادگیری عمیق (DL)
الهام‌ گرفته از ساختار مغز انسان
توانایی یادگیری الگو های پیچیده
کاربرد گسترده در تصویر، متن و صدا
قابلیت بهبود عملکرد با داده‌های بیشتر


©
@HeroExpert_ir | کارشناس تکنولوژی