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

package main

import (
"fmt"
"regexp"
)

func validateEmail(email string) string {
// Check if the email has a valid format
emailRegex := ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
matched, _ := regexp.MatchString(emailRegex, email)
if !matched {
return "ایمیل نامعتبر است"
}
return "ایمیل معتبر است"
}

// example
func main() {
email := "aabrahimi1718@gmail.com"
fmt.Println(validateEmail(email))
}
// output => ایمیل معتبر است


⚡️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
💡 برترین مهارت‌ ها برای فریلنسینگ

مدیریت زمان
⚙️ تخصص در حوزه کاری
💬 ارتباط موثر با مشتریان
🗣 مهارت‌های فروش و مذاکره 
📚 یادگیری مداوم و به‌روز بودن
🧠 حل مسئله و تصمیم‌گیری سریع
🤝 شبکه‌ سازی و بازاریابی شخصی
💡 خلاقیت و نوآوری در ارائه خدمات
🗓 توانایی مدیریت پروژه و بودجه‌بندی
🔄 انعطاف‌ پذیری و سازگاری با تغییرات

📝 نکته : این مهارت‌ها به فریلنسرها کمک می‌کند تا پروژه‌های بیشتری جذب کنند، با مشتریان به خوبی تعامل داشته باشند و در دنیای رقابتی فریلنسینگ موفق‌تر عمل کنند.


✈️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
2
▪️ پلتفرم گیت‌هاب [GitHub] چیست؟
🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦
گیت‌هاب یک پلتفرم محبوب برای برنامه‌نویسان است که به آنها کمک می‌کند پروژه‌های خود را مدیریت کرده و با دیگران همکاری کنند. در واقع، گیت‌هاب مثل یک شبکه اجتماعی برای کدنویسان است، جایی که می‌توانید کدهای خود را به اشتراک بگذارید، پروژه‌های دیگران را بررسی کنید و از کارهای جدید یاد بگیرید و تجربه کسب کنید. در اصل، گیت‌هاب ابزاری است که به طور گسترده‌ پذیرفته شده و به توسعه‌دهندگان کمک می‌کند تا پروژه‌ها را به طور کارآمد مدیریت کرده و با همدیگر همکاری کنند.

🔝 ویژگی‌های گیت‌هاب [GitHub]

🔴 امنیت بالا
🔴 میزبانی رایگان
🔴 فراهم بودن یادگیری و رشد
🔴 یکپارچگی با ابزارهای CI/CD
🔴 همکاری با سایر افراد و کار تیمی
🔴 سیستم کنترل نسخه و ورژن بندی

🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦
📣 @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه‌ کد اعتبارسنجی ایمیل کاربر
⚠️ این تکه کد به زبان 🟩 نوشته شده است
🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
import re

def validate_email(email: str) -> str:
if not re.match(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$', email):
return 'ایمیل نامعتبر است'
return 'ایمیل معتبر است'

# Example
email = 'aabrahimi1718@gmail.com'
print(validate_email(email))
# Output => ایمیل معتبر است

🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
📣 @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤩 پایگاه داده SQLite چیست؟

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

🔵 مزایای اس‌کیوال‌ لایت [SQLite]

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


⚡️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🎨 مفهوم Design Patterns چیست؟

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

انواع الگو های طراحی

⭐️ سازنده [Creational]
⭐️ رفتاری [Behavioral]
⭐️ ساختاری [Structural]


✈️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه‌ کد اعتبارسنجی لینک [Url]
⚠️ این تکه کد به زبان 🟠 نوشته شده است
🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
function isValidUrl(string $url): bool
{
# Decode the URL
$url = urldecode($url);

# General URL validation
if (!filter_var($url, FILTER_VALIDATE_URL) || strlen($url) >= 2048) {
return false;
}

# Check for dangerous patterns
if (preg_match('/(\.\.\/)/', $url)) {
return false;
}

# Prevent XSS attempts
if (stripos($url, 'javanoscript:') !== false || stripos($url, '<noscript>') !== false) {
return false;
}

# Check domain
if (isset($parsedUrl['host']) && strpos($parsedUrl['host'], '.') === false) {
return false;
}
return true;
}

# Example
var_dump(isValidUrl('https://hero'));
# Output: false
var_dump(isValidUrl('https://hero.ac'));
# Output: true

🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
✈️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤩 فریم‌ورک Next.js چیست؟
🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦
نکست جی‌اس یک فریم‌ورک قدرتمند جاوا اسکریپت بر پایه ری‌اکت می‌باشد. این فریم‌ورک برای ساخت برنامه‌های وب مدرن و بهینه، به‌ ویژه وب‌ سایت‌ های ایستا و برنامه‌های تک‌ صفحه‌ای طراحی شده است. همچنین به توسعه‌ دهندگان امکان می‌دهد تا از ویژگی‌های پیشرفته‌ای مانند رندر سمت سرور، تولید صفحات ایستا و.. بهره ببرند. این ویژگی‌ها باعث می‌شود وب‌سایت‌های ساخته شده با این‌ فریم‌ورک بسیار سریع و کاربرپسند باشند.

🔝 ویژگی‌های نکست جی‌اس [Next.js]

🔹 توسعه سریع و آسان
🔹 پشتیبانی از API داخلی
🔹 رندر سمت سرور (SSR)
🔹 تولید صفحات ایستا (SSG)
🔹 اکوسیستم قوی و انعطاف‌پذیر

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

function validateEmail(email) {
const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

if (!email || typeof email !== 'string') {
return 'ایمیل نامعتبر است';
}

if (!regex.test(email)) {
return 'ایمیل نامعتبر است';
}

return 'ایمیل معتبر است';
}

// Example
const email = 'aabrahimi1718@gmail.com';
console.log(validateEmail(email));
// OutPut => ایمیل معتبر است


⚡️@HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🎨 انواع الگو های طراحی [TDP]
🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪

⭐️ سازنده [Creational]
⭐️بیلدر [Builder]
⭐️سینگلتون [Singleton]
⭐️پروتوتایپ [Prototype]
⭐️آبجکت پول [Object Pool]
⭐️فکتوری متود [Factory Method]
⭐️ابسترکت فکتوری [Abstract Factory]

⭐️ رفتاری [Behavioral]
⭐️استیت [State]
⭐️آبزرور [Observer]
⭐️مدیتور [Mediator]
⭐️کامند [Command]
⭐️استراتژی [Strategy]
⭐️تمپلیت متود [Template Method]
⭐️چین آف ... [Chain of Responsibility]

⭐️ ساختاری [Structural]
⭐️بریج [Bridge]
⭐️فَساد [Facade]
⭐️پراکسی [Proxy]
⭐️ادپتر [Adapter]
⭐️دکوریتور [Decorator]
⭐️کامپوزیت [Composite]

🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪
✉️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤓 پلتفرم گیت‌لب [GitLab] چیست؟
🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
گیت‌لب هم همانند گیت‌هاب یک پلتفرم جامع و محبوب برای مدیریت پروژه‌های نرم‌افزاری است که به توسعه‌دهندگان کمک می‌کند تا کدهای خود را به اشتراک بگذارند، همکاری کنند و به صورت مؤثری پروژه‌های خود را مدیریت نمایند. گیت‌لب مانند یک اکوسیستم کامل برای توسعه نرم‌افزار عمل می‌کند که شامل ابزارهای مختلفی برای مدیریت کد، یکپارچه‌سازی مداوم، و همکاری تیمی است. در واقع، گیت‌لب بیشتر از یک مخزن کد است؛ این ابزار به عنوان یک سیستم جامع دواپس شناخته می‌شود که تمام نیازهای یک تیم توسعه را در یک پلتفرم فراهم می‌کند.

🔝 ویژگی‌های گیت‌لب [GitLab]:

امنیت بالا
میزبان رایگان و تجاری
امکان همکاری با تیم‌های مختلف
یکپارچگی کامل با ابزارهای CI/CD
سیستم کنترل نسخه و مدیریت تغییرات
ارائه ابزارهای دواپس برای توسعه سریع‌تر

🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
📱 @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه‌ کد اعتبارسنجی لینک [Url]
⚠️ این تکه کد به زبان 🟩 نوشته شده است
🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
import re

from urllib.parse import unquote, urlparse

def is_valid_url(url: str) -> bool:
# Decode the URL
url = unquote(url)

# General URL validation
if len(url) >= 2048:
return False
parsed_url = urlparse(url)
if not parsed_url.scheme or not parsed_url.netloc:
return False

# Check for dangerous patterns
if re.search(r'(\.\./)', url):
return False

# Prevent XSS attempts
if 'javanoscript:' in url.lower() or '<noscript>' in url.lower():
return False

# Check domain
if '.' not in parsed_url.netloc:
return False

return True

# Example
print(is_valid_url('https://hero'))
# Output: False
print(is_valid_url('https://hero.ac'))
# Output: True

🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
✈️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🎨 آشنایی با دسته بندی الگو های طراحی
🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
خب دوستان ما در اینجا مفهوم الگو های طراحی رو توضیح دادیم و در اینجا هم اومدیم آن هارو به سه دسته اصلی تقسیم کردیم در ادامه تمرکز اصلی هرکدام از این دسته‌ ها را بررسی می‌کنیم.

الگوهای طراحی سازنده [Creational]
الگو های طراحی سازنده بر ایجاد و مدیریت اشیاء تمرکز دارند. هدف این الگو ها کاهش پیچیدگی ساخت اشیاء و افزایش انعطاف‌ پذیری کد است.

الگوهای طراحی ساختاری [Structural]
الگو های طراحی ساختاری به نحوه ترکیب و سازماندهی کلاس‌ها و اشیاء برای ساختار های بزرگ و کارآمد کمک می‌کنند. این الگو ها معماری نرم‌افزار را ساده و قابل‌درک می‌کنند.

الگوهای طراحی رفتاری [Behavioral]
الگو های طراحی رفتاری بر تعامل و ارتباط بین اشیاء و کلاس‌ها تمرکز دارند و به مدیریت رفتارهای سیستم کمک می‌کنند. این الگوها مسئولیت‌ها را به درستی بین بخش‌ های مختلف نرم‌افزار توزیع می‌کنند.
🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥
⚡️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤩 مفهوم معماری نرم‌افزار چیست؟

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

⚙️ انواع معماری نرم‌افزار

معماری SOA
معماری MVC
معماری N-Tier
معماری MVVM
معماری Monolithic
معماری Event-Driven
معماری Client-Server
معماری Microservices


✉️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👩‍💻 تکه‌ کد اعتبارسنجی لینک [Url]
⚠️ این تکه کد به زبان ⚫️ نوشته شده است

package main

import (
"fmt"
"net/url"
"strings"
)

func isValidUrl(input string) bool {
decodedUrl, err := url.QueryUnescape(input)
if err != nil {
return false
}

parsedUrl, err := url.Parse(decodedUrl)
if err != nil || len(decodedUrl) >= 2048 {
return false
}

lowerUrl := strings.ToLower(decodedUrl)
if strings.Contains(decodedUrl, "../") || strings.Contains(lowerUrl, "javanoscript:") || strings.Contains(lowerUrl, "<noscript>") {
return false
}

if parsedUrl.Host != "" && !strings.Contains(parsedUrl.Host, ".") {
return false
}

return true
}


func main() {
// Example
fmt.Println(isValidUrl("https://hero"))
// Output: false
fmt.Println(isValidUrl("https://hero.ac"))
// Output: true
}


✈️ @HeroExpert_ir | کارشناس قهرمان
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🟫 زبان برنامه‌نویسی دارت [Dart] چیست؟

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

🔼 مزایای دارت [Dart]

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

🔽 معایب دارت [Dart]

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


⚡️ @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1
💘💘💘💘💘💘💘💘💘
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ الگوی طراحی بیلدر [Builder] چیست؟

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

مزایای الگوی طراحی بیلدر

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

🟡 مثال عملی الگوی طراحی بیلدر

⚫️ مثال عملی با زبان Go
🟠 مثال عملی با زبان Php
🟩 مثال عملی با زبان Python


📱 @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 تکه‌ کد اعتبارسنجی لینک [Url]
⚠️ این تکه کد به زبان 🎲 نوشته شده است

function isValidUrl(url) {
url = decodeURIComponent(url);

try {
const parsedUrl = new URL(url);
if (url.length >= 2048) {
return false;
}
} catch (e) {
return false;
}

if (/\.\.\//.test(url)) {
return false;
}

if (url.toLowerCase().includes('javanoscript:') || url.toLowerCase().includes('<noscript>')) {
return false;
}

const parsedUrl = new URL(url);
if (parsedUrl.hostname && !parsedUrl.hostname.includes('.')) {
return false;
}

return true;
}

// Example
console.log(isValidUrl('https://hero')); // Output: false
console.log(isValidUrl('https://hero.ac')); // Output: true


✈️ @HeroExpert_ir | کارشناس تکنولوژی
Please open Telegram to view this post
VIEW IN TELEGRAM
1