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

import javax.servlet.http.Part;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.*;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.net.URLConnection;

public class UploadUtil {

// Secure file upload
public static String secureUpload(
Part file,
List<String> allowedMimeTypes,
List<String> allowedExtensions,
long maxSize,
String uploadDir
) {
try {
// Check for upload errors
if (file == null || file.getSize() == 0) {
return null;
}

// Check file size
if (file.getSize() > maxSize) {
return null;
}

// Check MIME type using URLConnection
String mimeType;
try (InputStream is = file.getInputStream()) {
byte[] buffer = new byte[1024];
int bytesRead = is.read(buffer);
mimeType = URLConnection.guessContentTypeFromStream(
new java.io.ByteArrayInputStream(buffer, 0, bytesRead)
);
}
if (mimeType == null || !allowedMimeTypes.contains(mimeType)) {
return null;
}

// Check file extension
String originalName = Paths.get(file.getSubmittedFileName()).getFileName().toString();
int dotIndex = originalName.lastIndexOf('.');
if (dotIndex == -1) return null;
String ext = originalName.substring(dotIndex + 1).toLowerCase();

if (!allowedExtensions.contains(ext)) {
return null;
}

// Prevent double extensions like .php or .phtml
if (originalName.matches(".*\\.(php[0-9]?|phtml)$")) {
return null;
}

// Generate unique filename
String safeName = UUID.randomUUID().toString().replace("-", "").substring(0, 16) + "." + ext;

// Ensure upload directory exists
Path uploadPath = Paths.get(uploadDir);
if (!Files.exists(uploadPath)) {
Files.createDirectories(uploadPath);
}

// Move uploaded file
Path destination = uploadPath.resolve(safeName);
try (InputStream input = file.getInputStream()) {
Files.copy(input, destination, StandardCopyOption.REPLACE_EXISTING);
}

// Return saved filename
return safeName;

} catch (IOException e) {
return null;
}
}

// Overloaded method with defaults
public static String secureUpload(Part file) {
return secureUpload(
file,
Arrays.asList("image/jpeg", "image/png"),
Arrays.asList("jpg", "jpeg", "png"),
2 * 1024 * 1024,
System.getProperty("user.dir") + "/uploads"
);
}
}


⚡️ @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🧠 یادگیری نظارت‌ نشده [UL] چیست؟

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

🔝 ویژگی‌ های یادگیری نظارت‌ نشده [UL]

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


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

import java.util.regex.*;

public class MobileValidator {

public static String isValidMobile(String mobile) {
// Remove all non-numeric characters except '+'
mobile = mobile.replaceAll("[^0-9+]", "");

// Match Iranian mobile number format: either starting with 09 or +989
Pattern pattern = Pattern.compile("^(09\\d{9}|\\+989\\d{9})$");
Matcher matcher = pattern.matcher(mobile);

if (matcher.matches()) {
return "شماره موبایل معتبر است"; // Mobile number is valid
} else {
return "شماره موبایل نامعتبر است"; // Mobile number is invalid
}
}

public static void main(String[] args) {
System.out.println(isValidMobile("+989123456789")); // Valid
System.out.println(isValidMobile("09123456789")); // Valid
System.out.println(isValidMobile("01123456789")); // Invalid
}
}


🔮 @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
3
📩 پروتکل آی‌اِم‌ای‌پی [IMAP] چیست؟
🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦
پروتکل IMAP یا Internet Message Access Protocol یک پروتکل استاندارد برای دسترسی به ایمیل‌ ها روی سرور است. برخلاف پروتکل POP3 که ایمیل‌ ها را دانلود و معمولاً از سرور حذف می‌کند، این پروتکل به شما اجازه می‌دهد پیام‌ ها را مستقیماً روی سرور مشاهده، مدیریت و همگام‌ سازی کنید. این یعنی اگر با چند دستگاه ایمیلتان را چک کنید، همه‌ جا یکسان دیده می‌شود.

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

🟪 ذخیره ایمیل‌ ها روی سرور
🟪 همگام‌ سازی کامل بین دستگاه‌ ها
🟪 امکان مدیریت پوشه‌ ها و برچسب‌ ها
🟪 مشاهده ایمیل بدون نیاز به دانلود کامل
🟪 مناسب برای دسترسی از چندین دستگاه

🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦
📣 @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه کد دریافت IP کاربر [ User IP ]
⚠️ این تکه کد به زبان 🟠 نوشته شده است.
🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
# Get real user IP with extra checks
function getUserIP() {
$ipKeys = [
# Cloudflare
'HTTP_CF_CONNECTING_IP',
# Nginx proxy / some CDN
'HTTP_X_REAL_IP',
# Proxy chain
'HTTP_X_FORWARDED_FOR',
'HTTP_CLIENT_IP',
'REMOTE_ADDR'
];

foreach ($ipKeys as $key) {
if (!empty($_SERVER[$key])) {
$ipList = explode(',', $_SERVER[$key]);
foreach ($ipList as $ip) {
$ip = trim($ip);
if (filter_var($ip, FILTER_VALIDATE_IP)) {
return $ip;
}
}
}
}
return 'UNKNOWN';
}

# Get user's browser info
function getUserAgent() {
return $_SERVER['HTTP_USER_AGENT'] ?? 'UNKNOWN';
}

# Example usage
$userIP = getUserIP();
$userAgent = getUserAgent();

echo "User IP: " . $userIP . "<br>";
echo "User Agent: " . $userAgent;

🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
🌐 @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🚩 افزونه Node.js برای VsCode

🔢 افزونه ESLint
⬇️ تعداد نصب 44 میلیون
🔢 افزونه Docker
⬇️ تعداد نصب 46 میلیون
🔢 افزونه Live Server
⬇️ تعداد نصب 59 میلیون
🔢 افزونه REST Client
⬇️ تعداد نصب 6 میلیون
🔢 افزونه Deprecated
⬇️ تعداد نصب 10 میلیون
🔢 افزونه Path Intellisense
⬇️ تعداد نصب 15 میلیون
🔢 افزونه npm Intellisense
⬇️ تعداد نصب 10 میلیون

✉️ @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه کد دریافت IP کاربر [ User IP ]
⚠️ این تکه کد به زبان 🟩 نوشته شده است.
🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
import os
import re

# Get real user IP with extra checks
def get_user_ip():
ip_keys = [
# Cloudflare
"HTTP_CF_CONNECTING_IP",
# Nginx proxy / some CDN
"HTTP_X_REAL_IP",
# Proxy chain
"HTTP_X_FORWARDED_FOR",
"HTTP_CLIENT_IP",
"REMOTE_ADDR"
]

for key in ip_keys:
value = os.environ.get(key)
if value:
ip_list = [ip.strip() for ip in value.split(",")]
for ip in ip_list:
if is_valid_ip(ip):
return ip
return "UNKNOWN"

# Validate IP format (both IPv4 and IPv6)
def is_valid_ip(ip):
ip_regex = re.compile(
r"^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?!$)|$)){4}$"
r"|"
r"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::1)$"
)
return bool(ip_regex.match(ip))

# Get user's browser info
def get_user_agent():
return os.environ.get("HTTP_USER_AGENT", "UNKNOWN")

# Example usage
if __name__ == "__main__":
user_ip = get_user_ip()
user_agent = get_user_agent()

print(f"User IP: {user_ip}")
print(f"User Agent: {user_agent}")

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

هروکو یک پلتفرم ابری (PaaS) است که به توسعه‌ دهندگان این امکان را می‌دهد اپلیکیشن‌ های خود را بدون نیاز به مدیریت زیرساخت سرور، به‌ راحتی دیپلوی، اجرا و مقیاس‌ پذیر کنند. این پلتفرم از زبان‌ های برنامه‌ نویسی مختلف مانند Node.js، PHP، Python، Ruby و Java پشتیبانی می‌کند و با ساده‌ سازی فرآیند انتشار و مدیریت اپلیکیشن، زمان توسعه و نگهداری را به‌ طور چشمگیری کاهش می‌دهد. هروکو برای استارتاپ‌ ها و پروژه‌ های کوچک تا متوسط انتخابی محبوب است، زیرا محیطی آماده برای تست، اجرا و مقیاس‌ پذیری سریع فراهم می‌کند.

🔝 ویژگی‌ های پلتفرم هروکو [Heroku]

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


📣@HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه کد دریافت IP کاربر [ User IP ]
⚠️ این تکه کد به زبان ⚫️ نوشته شده است.
🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
package main

import (
"fmt"
"net"
"os"
"strings"
)

// getUserIP
func getUserIP() string {
ipKeys := []string{
"HTTP_CF_CONNECTING_IP",
// Cloudflare
"HTTP_X_REAL_IP",
// Nginx proxy / some CDN
"HTTP_X_FORWARDED_FOR",
// Proxy chain
"HTTP_CLIENT_IP",
"REMOTE_ADDR",
}

for _, key := range ipKeys {
value := os.Getenv(key)
if value == "" {
continue
}

// Split by comma in case of multiple IPs (proxy chain)
for _, ip := range strings.Split(value, ",") {
ip = strings.TrimSpace(ip)
if parsedIP := net.ParseIP(ip); parsedIP != nil {
return ip
}
}
}

return "UNKNOWN"
}

// getUserAgent
func getUserAgent() string {
if ua := os.Getenv("HTTP_USER_AGENT"); ua != "" {
return ua
}
return "UNKNOWN"
}

func main() {
userIP := getUserIP()
userAgent := getUserAgent()

fmt.Printf("User IP: %s\n", userIP)
fmt.Printf("User Agent: %s\n", userAgent)
}

🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
🌐 @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
📁 پروژه کتابخانه هیروکیوآر [HeroQR]

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

🔝 ویژگی‌ های هیروکیوآر [HeroQR]

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

▪️ مشاهده در [GitHub] : HeroQR
🤩 مشاهده در [Packagist] : HeroQR

✉️@HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه کد دریافت 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