Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
دستورات کمتر دیده شده در لینوکس : سری نوزدهم:

دستور acpi
Forwarded from  (Amir Hossein "Amiria" Maher)
مشکلی که خودمون به وجود آورده بودیم رو با پیگیری، کار کارشناسی و دقیق حلّ کردیم. ازمون تشکّر کنید که مشکلی که خودمون زاییده بودیم رو برطرف ساختیم. ممنون.

#موقت
Forwarded from Syntax | سینتکس (Daimon)
کمی دور از انتظار باشه این رو به عنوان کسی دارم میگم که سالها ظهور و ناپدید شدن تکنولوژی ها و نوع تفکر قالب بر نرم افزار رو لمس کردم و در این فضا کار کردم به عنوان کسی که وقتی #ویژوال بیسیک کار میکردم فکر نمیکردم روزی از بازار حذف بشه یا فکر نمیکردم دات نت با یک تغییر در ساختار و رفتن سراغ #netcore بتونه با جاوا رقابت کنه و باز هم برام قابل تعریف نبود که زبان تازه به دنیا اومده ای مثل #گولنگ و #راست چنین با اقتدار قد علم کنن و مرزهای پرفورمنس رو به لرزه دربیارن و شاید تصور اینکه روزی در دنیای وب رقیبهایی به این قدرت رو برای #php متصور بشم سخت بود اما امروز با توجه به تمام تغیرات چه در نگرش به نرم افزار و معماری نرم افزار و همچنین پیش اومدن هوش مصنوعی در این حوزه به ناچار باید بگم دنیای #شی گرایی و #معماریهای شی گرا کم کم دارن کوله بارشون رو میبندن و زبانهای شی گرا باید جاشون رو به زبانهای جوانتر مثل همین #گولنگ و #راست بدن حرف من کنار رفتن زبانهای جاوا یا سی شارپ نیست دوستان موضوع کم رنگ شدن و قدرت گرفتن تفکر جدید هست تغییر نگرش زمانبر و طولانی مدت خواهد بود ولی #ساده سازی نوع #تفکر در برنامه نویسی و گذار از روش های سنتی و معماریهای سنتی در حال انجامه برای همین شما اسم #ورتیکال یا معماریهای مدرن دیگه رو میشنوید #مراقب جا موندن از قطار پر سرعت تغییرات باشید

Source

@Syntax_fa
Forwarded from Parch views
os: Parch Gnome Edition
wayland compositor: niri
shell: fish
editor: doom emacs
file tree: treemacs
file manager: dirvish (doom emacs)
terminal: vterm (doom emacs)
bar: waybar
🔗 dotfiles: https://codeberg.org/mhtajari/newra-v3/


by: El Delato
@ParchViews
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Parch views
معرفی Pydantic 🧩

ـPydantic یه کتابخونه خفنه برای پایتون که بهت اجازه می‌ده راحت و دقیق داده‌هات رو اعتبارسنجی (validation) و تایپ کنی. اگه توی پروژه‌های بزرگ کار می‌کنی، Pydantic خیلی کمکت می‌کنه چون بهت کمک می‌کنه داده‌ها رو تمیز و بی‌نقص نگه داری.


چرا Pydantic؟ 🔍

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


چطور کار می‌کنه؟ 🔨

ـPydantic با استفاده از مدل‌ها کار می‌کنه. مدل‌ها همون کلاس‌های پایتون هستن که به کمکشون می‌تونی ساختار داده رو تعریف کنی. بیاید با یه مثال شروع کنیم:

from pydantic import BaseModel

class User(BaseModel):
id: int
name: str
email: str
age: int = 18 # مقدار پیش‌فرض

user_data = {
"id": 1,
"name": "Ali",
"email": "[email protected]"
}

user = User(**user_data)
print(user)

اینجا یه مدل به نام User تعریف کردیم که شامل id، name، email و age هست. اگه فیلدی رو اشتباه بدیم یا از نوعی غیر از نوع مشخص‌شده استفاده کنیم، Pydantic خطا می‌ده.


بررسی Validation در Pydantic 🛠️

ـPydantic بهت این امکان رو می‌ده که خیلی راحت داده‌ها رو اعتبارسنجی کنی. مثلا اگه بخوای مطمئن بشی که email به فرمت درستی وارد شده، Pydantic خودش اینو هندل می‌کنه و نیازی نیست دستی بررسی کنی. بیاین یه مثال دیگه رو ببینیم:

from pydantic import BaseModel, EmailStr, PositiveInt

class User(BaseModel):
id: PositiveInt
name: str
email: EmailStr
age: int = 18

try:
user = User(id=-1, name="Ali", email="ali@bad-email", age=22)
except ValueError as e:
print("خطا:", e)

اینجا PositiveInt و EmailStr رو استفاده کردیم که به طور خودکار id باید مثبت باشه و email هم باید فرمت درستی داشته باشه. این یعنی خیلی راحت می‌تونی داده‌ها رو کنترل کنی و از ورود داده‌های اشتباه جلوگیری کنی.

مدل‌های تو در تو (Nested Models) 🧬

اگه داده‌هات پیچیده‌ترن و شامل چند مدل می‌شن، می‌تونی مدل‌های تو در تو بسازی. مثلا:

from typing import List
from pydantic import BaseModel

class Address(BaseModel):
street: str
city: str

class User(BaseModel):
id: int
name: str
addresses: List[Address]

user_data = {
"id": 1,
"name": "Ali",
"addresses": [
{"street": "خیابون اول", "city": "تهران"},
{"street": "خیابون دوم", "city": "مشهد"}
]
}

user = User(**user_data)
print(user)

جمع‌بندی 🎯

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


امید وارم مفید بوده باشه :)

#python #pydantic #programing



@ninja_learn_ir
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 مشکل رجیستری آیفون حل شد!

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

#خبر

@TheRaymondDev
Forwarded from Python BackendHub (Mani)
متاسفانه کلی ربات زیاد شده تو کانال و همیشه میان کامنت میذارن زیره همه پستا. کار من شده پاک کردن این کامنتا. (و این از عملکرد بسیار ضعیف تلگرام هم میاد تو این زمینه)
برای همین مجبورم گروه رو دیگه پابلیک نکنم و برای عضو شدن باید درخواست بدید از این به بعد. در خصوص کامنت گذاشتن هم همین موضوع برقرار هست.


@PyBackendHub
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
معرفی containers.dev

با زیاد شدن حجم کاری بخش production یک محصول، containerizing یک کار معمول است.

✳️ برنامه نویس ها از کانتینرها برای سناریوهای فراتر از deployment، از جمله CI، test automation و حتی full-featured coding environments استفاده می کنند.

🗓پر واضحه که نیازهای هر سناریو می تواند بین محیط های کانتینری ساده تا تنظیمات پیچیده و چند کانتینری متفاوت باشد.

🗓 تفکر توسعه Container Specification (یا به اختصار Dev Container Spec) به جای تلاش برای ایجاد یک قالب
دیگر orchestrated multi-container setups، به دنبال یافتن راهی برای غنی‌سازی قالب‌های موجود با metadata برای تنظیمات، ابزارها و پیکربندی‌های خاص توسعه است.


🔥 فایل‌های Development Container Templates در بخش Templates ها و پیکربندی های از قبل انجام شده سایت ، برای یک محیط توسعه کامل اند و بسیار کاربردی اند

یک Template را در یک پروژه جدید یا موجود استفاده کنید تا supporting tool از پیکربندی قالب برای build یک کانتینر استفاد کنه

⁉️ اگر در استفاده از قالب های سوالی داشتید بپرسید با هم برسی کنیم 😎

مرسی از حمایت هاتون 💐🌺

#برنامه_نویسی
#DevOps
Forwarded from Gopher Academy
🔵 عنوان مقاله
Sidekick: Bare Metal to Production Ready in Minutes

🟢 خلاصه مقاله:
مقاله‌ای که بررسی شده به معرفی ابزار جدیدی به نام "Sidekick" می‌پردازد که با الهام از "Kamal" ساخته شده و به زبان برنامه‌نویسی Go نوشته شده است. هدف اصلی Sidekick این است که فرآیند استقرار نرم‌افزارها را بر روی سرورهای خصوصی به صورتی ساده و با استفاده از تنها یک دستور، مشابه به سرویس Fly.io، فراهم آورد. نویسنده مقاله هنوز فرصتی برای امتحان این ابزار نداشته‌ است اما علاقه‌مند است که به زودی آن را بیازماید. از انجا که Sidekick بر اساس تجربیات و مفاهیم مشابه به Kamal طراحی شده، این ابزار می‌تواند راه‌حلی نوین و قدرتمند برای توسعه‌دهندگان و متخصصان IT در بهبود و تسهیل روند استقرار و مدیریت برنامه‌ها بر روی وی‌پی‌اس‌ها باشد.

🟣لینک مقاله:
https://golangweekly.com/link/160768/web


👑 @gopher_academy
Forwarded from Woland's Linux Journal (Woland)
مقاله کوتاهی درباره‌ی نوشتن پلاگین با Vim9Script آماده کردم که در سایت dev.to بارگذاری شده

👉🔗 How To Write Vim9Script

#آموزش #ویم
#vim
Forwarded from Geek Alerts
روسیه گوگل‌ رو ۲,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰,۰۰۰ روبل جریمه کرده چون چندتا کانال روسی داخل یوتیوب مسدود شده، حالا درسته پول روسیه کم‌ارزشه و گوگل هم پولدار ولی این جریمه از ارزش کل کره‌ زمین بیشتره.
نکته جالبش اینه که گوگل ۹ ماه فرصت داره این جریمه رو پرداخت کنه و در صورت عدم پرداخت این جریمه هر هفته ۲ برابر میشه.
tomshardware
@geekalerts
📢 اطلاعیه مهم

دوستان عزیز!

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

اما خبر خوب این است که بتای عمومی سایت امشب در دسترس قرار می‌گیرد! 📖🔥 با استفاده از نسخه بتا می‌توانید نه به صورت کامل ولی به برخی از محتوای سایت دسترسی داشته باشید و بازخوردهای ارزشمندتان را با ما در میان بگذارید تا به بهبود هرچه بیشتر آن کمک کنید.

منتظر حضور گرم شما هستیم! 🌹


@PersianCCBook
Forwarded from Syntax | سینتکس (Daimon)
~> چالش‌های یادگیری Go برای برنامه‌نویس‌های تازه‌کار 🥰

یکی از مهم‌ترین چالش‌هایی که برنامه‌نویس‌های جدید موقع یادگیری Go باهاش روبرو می‌شن، درک مفهوم کانکارنسی هستش. Go با معرفی goroutines و channels سعی می‌کنه مدل ساده‌ای برای برنامه‌نویسی همروند ارائه بده، اما درک عمیق این مفاهیم برای افرادی که تازه شروع کردن سخت می‌شه.

ارور هندلینگ در Go هم چالش دیگه‌ای هستش که برنامه‌نویس‌های جدید باهاش درگیر می‌شن. برخلاف زبان‌هایی مثل Java که از try-catch استفاده می‌کنن، Go از یک پترن ساده‌تر با استفاده از مقادیر error استفاده می‌کنه. این روش باعث می‌شه کد تمیزتر بشه، اما نیاز به چک کردن مکرر خطاها داره که می‌تونه برای تازه‌کارها گیج‌کننده باشه.

درک سیستم تایپ‌های Go برای برنامه‌نویس‌هایی که از زبان‌های شی‌گرا میان می‌تونه چالش‌برانگیز باشه. Go اصلاً یک زبان شی‌گرا نیست و به جای کلاس و آبجکت، از type برای تعریف struct‌ها و interface‌ها استفاده می‌کنه. این struct‌ها و interface‌ها صرفاً تایپ هستن و برای داک تایپینگ استفاده می‌شن. این تفاوت پارادایم برای کسایی که با OOP آشنا هستن می‌تونه گیج‌کننده باشه.

پوینترها توی Go یکی دیگه از نقاط چالش‌برانگیز هستن. اگرچه Go نسبت به C مدیریت حافظه رو ساده‌تر کرده، اما هنوز هم درک اینکه کی باید از پوینتر استفاده کرد و کی نباید، برای برنامه‌نویس‌های جدید سخت می‌شه.

سیستم پکیج‌های Go و نحوه مدیریت dependency‌ها هم می‌تونه گیج‌کننده باشه. از Go 1.11 به بعد، سیستم module معرفی شد که اگرچه مشکلات قبلی GOPATH رو حل کرده، اما یادگیری نحوه کار با go.mod و go.sum برای تازه‌کارها زمان‌بر هستش.

یکی از ویژگی‌های خاص Go که درکش برای برنامه‌نویس‌های جدید سخت می‌شه، interface‌ها هستن. Go از implicit interface implementation استفاده می‌کنه که با زبان‌های دیگه متفاوت هستش و نیاز به تغییر دیدگاه داره.

نکته دیگه‌ای که برای برنامه‌نویس‌های تازه‌کار چالش‌برانگیز می‌شه، عدم وجود جنریک‌ها تا قبل از Go 1.18 بود. حالا که جنریک‌ها اضافه شدن، یادگیری syntax و best practice‌های مربوط به اون‌ها خودش یه چالش جدید محسوب می‌شه.

همچنین، Go یه سری قوانین سخت‌گیرانه در مورد code formatting و نام‌گذاری داره. مثلاً اگه یه متغیر exported تعریف کنی، حتماً باید با حرف بزرگ شروع بشه، یا اینکه هر statement باید با semicolon تموم بشه (که البته کامپایلر خودش اضافه می‌کنه). این قوانین اگرچه به خوانایی کد کمک می‌کنن، اما رعایت کردنشون برای تازه‌کارها می‌تونه سخت باشه.

Source

@Syntax_fa
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Anony Notes
یه مدتی دنبال جایی می‌گشتم که پولامو سرمایه‌گذاری کنم و پایین نیاد توی طولانی مدت و یهو از دست ندم سرمایه‌مو

دلار ( توی خیلی طولانی مدت میره بالا ولی ریسکه )
طلا ( هیچوقت توی مدت بالا پایین پایین نمیاد و عالیه ولی نگهداریش و اجرت و دردسر داره...)

بعد با طلای مجازی آشنا شدم 😐
چیز جالبیه، دیگه نگرانی اجرت و نگهداری طلا رو نداره و هرچقدر بخوای میخری

گفتم شاید جالب باشه براتون (:

اگه خواستید از میلی‌گلد که مثل نوبیتکس هست ولی برای خرید و فروش طلای مجازیه با کد من milli-0mstb به عنوان معرف ثبت نام کنید

بهتون ۵ میلی‌گرم طلا میده ( حدود ۲۵ هزار تومن )
هرکسی هم که دعوت کنید ۲۵ تومن دیگه طلا میده بهتون

احراز هویت هم فقط با شماره و کد ملی هست همین.
Forwarded from code2 - تکنولوژی و فناوری (Mahdi Taleghani)