موتور ذخیره سازی [StorageEngine] بخشی از سیستم مدیریت پایگاه داده است که نحوه ذخیرهسازی، بازیابی و مدیریت داده ها را در جداول مشخص میکند. هر پایگاه داده ممکن است از موتور های مختلفی پشتیبانی کند که هر کدام ویژگی های خاص خود را دارند.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
معماری اِن-تایر یک مدل معماری نرمافزار است که سیستم را به چندین لایه مستقل تقسیم میکند تا خوانایی کد، امنیت و توسعه پذیری را بهبود بخشد. در این معماری، هر لایه وظیفه خاصی دارد و با لایههای دیگر تعامل میکند. لایه داده مسئول مدیریت ارتباط با پایگاه داده و ذخیره سازی اطلاعات است، لایه منطق تجاری شامل قوانین و فرآیند های کسب و کار است و دادههای دریافت شده را پردازش میکند، و لایه ارائه مسئولیت نمایش داده ها به کاربر و دریافت ورودی از کاربر را دارد.
🔹 بهبود امنیت با جداسازی لایه ها
🔹 استفاده در فریمورک های مدرن
🔹 تسهیل تست و نگهداری نرمافزار
🔹 بهبود مقیاس پذیری برای دادههای حجیم
Please open Telegram to view this post
VIEW IN TELEGRAM
1
فرایند سیای[CI] یا ادغام مداوم به فرایند یکپارچه سازی تغییرات کد در یک مخزن مشترک بهصورت مداوم اطلاق میشود. به این معنا که برنامهنویسان کد های خود را بهطور منظم به مخزن پروژه مثل گیتهاب یا گیتلب اضافه میکنند. پس از هر تغییر، سیستم بهطور خودکار تست هایی را انجام میدهد تا مطمئن شود کد جدید مشکلی ایجاد نمیکند و با سایر بخشهای سیستم سازگار است.
فرایند سیدی[CD] یا استقرار مداوم به فرایند انتشار خودکار کد هایی که تایید شدهاند به محیط تولید اطلاق میشود. این فرایند به توسعه دهندگان این امکان را میدهد که تغییرات جدید را بهطور خودکار و بدون نیاز به مداخله دستی، به سرور های تولید منتقل کنند.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
package main
import (
"crypto/sha256"
"encoding/hex"
"fmt"
"strings"
)
// HashPassword generates
func HashPassword(password string) string {
hash := sha256.New()
hash.Write([]byte(password))
hashedPassword := hash.Sum(nil)
return hex.EncodeToString(hashedPassword)
}
// VerifyPassword compares
func VerifyPassword(password, storedHash string) bool {
hash := sha256.New()
hash.Write([]byte(password))
hashedPassword := hash.Sum(nil)
return storedHash == hex.EncodeToString(hashedPassword)
}
// Example
func main() {
password := "MySecurePassword"
hashed := HashPassword(password)
fmt.Printf("Password valid: %v\n", VerifyPassword(password, hashed)) // Output: true
fmt.Printf("Password valid: %v\n", VerifyPassword("WrongPassword", hashed)) // Output: false
}
Please open Telegram to view this post
VIEW IN TELEGRAM
1
سرکلسیآی یک پلتفرم قدرتمند برای CI/CD است که به توسعه دهندگان این امکان را میدهد که فرایند های ساخت، تست، و دیپلوی نرم افزار خود را به طور خودکار انجام دهند. این پلتفرم با سرعت بالا و انعطاف پذیری، به تیم ها کمک میکند تا فرایند توسعه و استقرار را بهینه کرده و پروژههای خود را با دقت بیشتری پیش ببرند. این پلتفرم همچنین به راحتی با دیگر ابزار ها و پلتفرم ها یکپارچه میشود و کار تیمی را تسهیل میکند.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Please open Telegram to view this post
VIEW IN TELEGRAM
3
یادگیری ماشین [Machine Learning] یکی از شاخه های هوش مصنوعی است که به کامپیوتر ها امکان میدهد بدون نیاز به برنامهنویسی مستقیم، از داده ها و تجربه ها یاد بگیرند و تصمیم گیری کنند. این فناوری با شناسایی الگو ها و تحلیل اطلاعات، به مرور زمان عملکرد خود را بهبود میبخشد و در پیشبینی ها و تصمیمگیری های هوشمندانه استفاده میشود.
Please open Telegram to view this post
VIEW IN TELEGRAM
2
راست یک زبان برنامه نویسی سیستم نویسی متن باز و قدرتمند است که برای ایجاد نرمافزار های ایمن و سریع طراحی شده است. این زبان توسط موزیلا توسعه داده شده و با رویکردی نوآورانه، مدیریت بهینه حافظه را فراهم میکند. این زبان از سرعت و کارایی زبان هایی مثل سی و سی پلاس پلاس برخوردار است اما با قابلیت های مدرن و مکانیزم های ایمنی بالا مانند مدل مالکیت حافظه، از مشکلاتی مثل نشتی حافظه و باگ های امنیتی جلوگیری میکند. راست به دلیل پشتیبانی از همروندی و پردازش موازی ایمن، در توسعه سیستم عامل ها، مرورگر ها، بازی ها و نرمافزار های توزیعشده کاربرد زیادی دارد.
Please open Telegram to view this post
VIEW IN TELEGRAM
2
package main
import (
"fmt"
"log"
"net/http"
)
// Redirects user to a fixed URL (like aparat.com)
func redirectHandler(w http.ResponseWriter, r *http.Request) {
targetURL := "https://aparat.com"
http.Redirect(w, r, targetURL, http.StatusFound)
}
func main() {
http.HandleFunc("/", redirectHandler)
fmt.Println("Server started at http://localhost:8080")
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("Server failed to start:", err)
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
2
فریمورک ریلز یکی از پرکاربرد ترین چارچوب های زبان برنامه نویسی روبی است که برای ساخت سریع و منظم نرمافزار های اینترنتی طراحی شده است. این فریمورک امکان تولید پروژه هایی حرفهای و قابل گسترش را با سرعت بالا و حجم کد کمتر برای برنامه نویسان فراهم میکند. ریلز بر پایه معماری امویسی ساخته شده و ابزارهای متنوعی برای مدیریت پایگاه داده، تست نویسی و ساخت خدمات اینترنتی در اختیار قرار میدهد. این چارچوب به دلیل سادگی، کارایی بالا و پشتیبانی گسترده، در میان برنامه نویسان بسیار محبوب است و انتخاب مناسبی برای شرکت های نوپا و همچنین مجموعه های بزرگ به شمار میرود.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Please open Telegram to view this post
VIEW IN TELEGRAM
1
معماری اِمویویاِم یک مدل معماری نرمافزار است که به توسعه دهندگان کمک میکند تا کد های خود را به سه بخش مدل، ویو و ویو مدل تقسیم کنند. این معماری با جداسازی کامل منطق برنامه از رابط کاربری، توسعه، تست و نگهداری را سادهتر میکند. در این معماری، مدل مسئول مدیریت داده ها و منطق برنامه است، ویو وظیفه ی نمایش اطلاعات به کاربر را دارد، و ویو مدل به عنوان پل ارتباطی بین این دو، داده ها را پردازش و برای نمایش در ویو آماده میکند. با استفاده از این معماری، پروژه ها خواناتر، ماژولارتر و تست پذیرتر میشوند. معماری اِمویویاِم در بسیاری از فریمورک های محبوب مانند ویوجیاس، آنگولار و... استفاده میشود.
Please open Telegram to view this post
VIEW IN TELEGRAM
2
<?php
#secure file upload
function secure_upload(array $file, array $allowedMimeTypes = ['image/jpeg', 'image/png'], array $allowedExtensions = ['jpg', 'jpeg', 'png'], int $maxSize = 2 * 1024 * 1024, string $uploadDir = DIR . '/uploads/') {
# Check for upload errors
if (!isset($file['error']) || is_array($file['error']) || $file['error'] !== UPLOAD_ERR_OK) {
return false;
}
# Check if tmp_name exists and is a valid uploaded file
if (!isset($file['tmp_name']) || !is_uploaded_file($file['tmp_name'])) {
return false;
}
# Check file size
if ($file['size'] > $maxSize) {
return false;
}
# Check MIME type using finfo
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mimeType = $finfo->file($file['tmp_name']);
if (!in_array($mimeType, $allowedMimeTypes)) {
return false;
}
# Check file extension
$originalName = $file['name'];
$ext = strtolower(pathinfo($originalName, PATHINFO_EXTENSION));
if (!in_array($ext, $allowedExtensions)) {
return false;
}
# Prevent double extensions
if (preg_match('/.(php[0-9]?|phtml)$/i', $originalName)) {
return false;
}
# Generate unique filename
$safeName = bin2hex(random_bytes(8)) . '.' . $ext;
# Ensure upload directory exists
if (!is_dir($uploadDir)) {
mkdir($uploadDir, 0755, true);
}
$destination = rtrim($uploadDir, '/') . '/' . $safeName;
# Move uploaded file
if (!move_uploaded_file($file['tmp_name'], $destination)) {
return false;
}
# Return saved filename
return $safeName;
}
Please open Telegram to view this post
VIEW IN TELEGRAM
1
پروتکل اسانامپی یک پروتکل استاندارد است که برای مدیریت و نظارت بر تجهیزات شبکه استفاده میشود. این پروتکل به مدیران شبکه این امکان را میدهد که عملکرد دستگاه ها مانند روترها، سوئیچ ها و سرور ها را نظارت کرده و مشکلات آن ها را شناسایی کنند. این پروتکل در شبکههای بزرگ و پیچیده به کمک میآید تا عملکرد دستگاه ها را به صورت متمرکز کنترل و گزارش دهد.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
|
|
|
|
|
|
Please open Telegram to view this post
VIEW IN TELEGRAM
یادگیری عمیق یا [Deep Learning] یکی از شاخه های پیشرفته ی یادگیری ماشین [ML] هست که با الهام از عملکرد مغز انسان، از شبکه های عصبی مصنوعی برای تحلیل داده های پیچیده استفاده میکند. در این روش، مدل ها بدون نیاز به مشخص کردن دستی ویژگی ها، خودشون الگو ها و ویژگی های مهم رو از داده ها استخراج و یاد میگیرند. این ویژگی باعث شده یادگیری عمیق برای پروژه هایی با حجم داده ی بالا و پیچیدگی زیاد، یک انتخاب ایدهآل باشد.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
// Validate form before submit
function validateForm(event) {
event.preventDefault();
const name = document.getElementById('name').value.trim();
const email = document.getElementById('email').value.trim();
const password = document.getElementById('password').value.trim();
const errorBox = document.getElementById('errorBox');
let errors = [];
if (name.length < 3) {
errors.push('Name must be at least 3 characters.');
}
if (!/^\S+@\S+\.\S+$/.test(email)) {
errors.push('Invalid email address.');
}
if (password.length < 6) {
errors.push('Password must be at least 6 characters.');
}
if (errors.length > 0) {
errorBox.innerHTML = errors.join('<br>');
errorBox.style.color = 'red';
} else {
errorBox.innerHTML = '';
event.target.submit();
}
}
// Attach validator after DOM is loaded
document.addEventListener('DOMContentLoaded', function() {
const form = document.getElementById('myForm');
if (form) {
form.addEventListener('submit', validateForm);
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
1
هَسکِل [Haskell] یک زبان برنامه نویسی تابع محور، سطح بالا و استاتیک است که برای نوشتن برنامه های دقیق، امن و قابل اثبات طراحی شده است. این زبان بر اساس مفاهیم ریاضی و منطق بنا شده و یکی از خالص ترین زبان های تابعی محسوب میشود، به این معنا که همه چیز در آن به عنوان تابع تعریف میشود و حالت یا تغییر متغیر ها به شکل سنتی وجود ندارد. این زبان با استفاده از ارزیابی تنبل، تایپ سیستم قدرتمند و ایمنی بالا، در محیط هایی که نیاز به برنامه های بسیار پایدار، ایمن و بدون باگ وجود دارد، بسیار کاربردی است. از جمله حوزه های استفاده از هَسکِل میتوان به توسعه ی کامپایلر ها، سیستم های مالی، تحقیقات دانشگاهی و ابزار های تحلیل داده اشاره کرد.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
شیگرایی [Object-Oriented Programming] یکی از روش های مدرن برنامهنویسی است که در آن برنامه به بخشهایی کوچک تر به نام اشیاء تقسیم میشود. هر شیء دارای ویژگی ها و رفتارهایی است که بر اساس کلاسها تعریف میشوند. در این روش، مفاهیمی مانند وراثت، کپسولهسازی، چندریختی و انتزاع نقش مهمی دارند. هدف اصلی شیگرایی، ساخت نرمافزار هایی است که قابل توسعه، قابل نگهداری، مقیاس پذیر و ایمن باشند.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
import os
import mimetypes
import secrets
import shutil
def secure_upload(file_path, original_name,
allowed_mime_types=None,
allowed_extensions=None,
max_size=2 * 1024 * 1024,
upload_dir='uploads/'):
"""
Secure file upload with validation (MIME type, extension, size, unique naming).
:param file_path: Path to the temporary uploaded file (e.g. from input)
:param original_name: Original filename (e.g. "image.jpg")
:param allowed_mime_types: List of allowed MIME types
:param allowed_extensions: List of allowed extensions (without dot)
:param max_size: Maximum allowed file size in bytes
:param upload_dir: Target directory for saving
:return: Saved filename or None if invalid
"""
allowed_mime_types = allowed_mime_types or ['image/jpeg', 'image/png']
allowed_extensions = allowed_extensions or ['jpg', 'jpeg', 'png']
# Check if file exists and is a regular file
if not os.path.isfile(file_path):
return None
# Check file size
if os.path.getsize(file_path) > max_size:
return None
# Guess MIME type
mime_type, _ = mimetypes.guess_type(file_path)
if mime_type not in allowed_mime_types:
return None
# Extract and check extension
ext = os.path.splitext(original_name)[1].lower().lstrip('.')
if ext not in allowed_extensions:
return None
# Prevent double extensions like `.php.jpg`
if any(part.startswith('php') or part == 'phtml' for part in original_name.lower().split('.')):
return None
# Generate safe unique filename
safe_name = f"{secrets.token_hex(8)}.{ext}"
# Ensure upload directory exists
os.makedirs(upload_dir, exist_ok=True)
# Move file to destination
destination = os.path.join(upload_dir, safe_name)
try:
shutil.move(file_path, destination)
except Exception:
return None
return safe_name
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Please open Telegram to view this post
VIEW IN TELEGRAM
1