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

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
نرم افزار رایگان یادداشت برداری با امکانات فراوان(دستخط، ترسیم شکل، حاشیه نویسی بر PDF، ...)

پ.ن:
وقتی با خودکار و کاغذ شروع و عادت کردی؛ همه جا دنبال کاغذ و خودکار میگردی!

https://xournalpp.github.io
https://github.com/xournalpp/xournalpp/

@DevTwitter | <Koroush/>
Forwarded from Meitix
اها این Eventual Consistency برای خوندنه و نه نوشتن. یعنی قسمت eventuallyش برای readه 😅

یعنی دیتای که ذخیره میشه db رو به state درست میبره و data integrity نداره حالا ممکنه موقع خوندن دیتا از replica قدیمی بخونه که ما خیلی جاها برامو مهم نی
Forwarded from Gopher Academy
0.0000011 دلار

این قیمتی که مشاهده میکنید قیمت یک رمزارز توی بازار کریپتو نیست این قیمت ریال به دلار هستش.

واقعا نمیدونم چی بگم...



👑 @gopher_academy
خب خب خب دکوریتورها (Decorators) در پایتون: تغییر رفتار توابع و کلاس‌ها 🐍

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

1⃣ دکوریتورها چیستند؟ 🤔
دکوریتورها در پایتون، توابع یا کلاس‌هایی هستن که مثل یه "بسته‌بندی" عمل می‌کنن. یعنی، شما یه تابع یا کلاس رو می‌گیرید، اون رو به یه دکوریتور می‌فرستید، دکوریتور رفتارش رو تغییر می‌ده (یا بهبود می‌بخشه) و نسخه تغییر یافته رو برمی‌گردونه.

مثال ساده:
def simple_decorator(func):
def wrapper(*args, **kwargs):
print("قبل از اجرای تابع")
result = func(*args, **kwargs)
print("بعد از اجرای تابع")
return result
return wrapper

@simple_decorator
def greet(name):
print(f"سلام، {name}!")

greet("علی")

اینجا دکوریتور simple_decorator قبل و بعد از اجرای تابع greet پیام چاپ می‌کنه. یعنی بدون اینکه کد اصلی تابع رو دست بزنیم، رفتارش تغییر پیدا می‌کنه.

2⃣ نحوه‌ی کارکرد دکوریتورها 🔧

🔻 دکوریتور به عنوان یک تابع
در واقع، دکوریتورها توی پایتون همون توابعی هستن که یه تابع یا کلاس رو به عنوان ورودی می‌گیرن و یه نسخه تغییر یافته برمی‌گردونن. وقتی از علامت @ استفاده می‌کنید، پایتون به طور خودکار این کار رو انجام می‌ده.

🔻 مراحل استفاده از دکوریتور:
تعریف دکوریتور:
دکوریتور یه تابعه که یه تابع ورودی می‌گیره و نسخه بهبود یافته یا تغییر یافته رو برمی‌گردونه.

اعمال دکوریتور:
با قرار دادن علامت @ قبل از تعریف تابع یا کلاس، دکوریتور روی اون اعمال می‌شه.

اجرای تابع دکوریتور:
وقتی تابع دکوریت شده فراخوانی می‌شه، اول تابع "بسته‌بندی" (wrapper) اجرا می‌شه و بعد تابع اصلی.

🔻 مثال دکوریتور بر روی کلاس
دکوریتورها فقط برای توابع نیستن؛ می‌تونن رفتار کلاس‌ها رو هم تغییر بدن. مثلاً:
def add_str(cls):
# افزودن یه متد برای نمایش
def __str__(self):
return f"{cls.__name__} با ویژگی‌ها: {self.__dict__}"
cls.__str__ = __str__
return cls

@add_str
class Person:
def __init__(self, name, age):
self.name = name
self.age = age

p = Person("سارا", 28)
print(p) # خروجی: Person با ویژگی‌ها: {'name': 'سارا', 'age': 28}

اینجا دکوریتور add_str متد str
رو به کلاس Person اضافه می‌کنه، بدون اینکه کد داخل کلاس رو تغییر بده.

3⃣ مزایای استفاده از دکوریتورها
کنترل دقیق روی ساختار کد:
دکوریتورها به شما این امکان رو می‌دن تا بدون دست زدن به منطق اصلی تابع یا کلاس، رفتارشون رو تغییر بدید. این موضوع برای توسعه چارچوب‌های پیچیده خیلی مفیده.

اجرای الگوهای تکراری (DRY):
می‌تونید کدهای تکراری مثل ثبت رویدادها، اعتبارسنجی یا مدیریت استثناها رو توی یه مکان متمرکز کنید.

گسترش قابلیت‌ها:
به راحتی می‌شه قابلیت‌های جدیدی به توابع یا کلاس‌ها اضافه کرد بدون اینکه لازم باشه کد اصلی رو تغییر بدید.

4⃣ چالش‌های استفاده از دکوریتورها ⚠️
درک اولیه سخت‌تر:
برای کسانی که تازه شروع کردن، مفهوم دکوریتورها ممکنه گیج‌کننده باشه. برای درک کاملش نیاز به مطالعه و تمرین داره.

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

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

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

#⃣ #python #programming



🥷 CHANNEL | GROUP
Forwarded from Woland's Linux Journal (Woland)
آموزش نصب ‌Sql Server در Docker روی لینوکس

ابتدا داکر ایمیج را دریافت می‌کنیم:
docker pull mcr.microsoft.com/mssql/server:2022-latest
Forwarded from Woland's Linux Journal (Woland)
💠آموزش نصب ‌Sql Server در Docker روی لینوکس💠

نخست نگاره (ایمیج) داکر را دریافت می‌کنیم:
docker pull mcr.microsoft.com/mssql/server:2022-latest


سپس با بهره‌گیری از نگاره، یک آوند (کانتینر) می‌سازیم:
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
-p 1433:1433 --name sql1 --hostname sql1 \
-d \
mcr.microsoft.com/mssql/server:2022-latest


قسمت گذرواژه را با گزاره دلخواه خود جایگزین کنید.

حالا می‌توانیم به آوند وارد شویم:
docker exec -it sql1 "bash"


وارد پوسته‌ی SQL شویم:
/opt/mssql-tools18/bin/sqlcmd -S localhost -U <userid> -P "<password>"


و یک پایگاه‌داده و میز نوین بسازیم:
CREATE DATABASE TestDB;
GO


USE TestDB;

CREATE TABLE Inventory
(
id INT,
name NVARCHAR (50),
quantity INT
);

INSERT INTO Inventory
VALUES (1, 'banana', 150);

INSERT INTO Inventory
VALUES (2, 'orange', 154);


SELECT *
FROM Inventory
WHERE quantity > 152;
GO


حالا Sql Server به درستی روی سامانه‌ی لینوکس شما برنشانده شده و می‌توانید با به‌کارگیری برنامه‌های گردانش دلخواه خود از آن بهرمند شوید.

در نویسه‌ای دیگر به ADS خواهیم پرداخت.

#آموزش
اگر Steam Deck و Playstation دارید میتونید این Chiaki-ng رو نصب کنید اون وقت انگار Playstation Portal هم دارید و میتونید ریموت از پی اس استفاده کنید

https://github.com/streetpea/chiaki-ng

@DevTwitter | <Dara/>
Forwarded from Woland's Linux Journal (Woland)
پنجره‌های چسبان در i3wn

از نسخه 4.11 به بعد امکان چسبان Sticky کردن یک پنجره وجود دارد. به این معنی که آن پنجره در هنگام تعویض WorkSpace شما را دنبال خواهد کرد.

bindsym $mod+s sticky toggle


#آموزش #i3wm
Forwarded from Linuxor ?
هیچ الگوریتم خاصی برای دیکامپایل کردن کد وجود نداره و دیکامپایل کردن یه فرایند تخمینیه، به خصوص اگه کامپایلر تنظیمات خاصی رو اعمال کرده باشه که دیکامپایل دشوار تر می‌شه.

این ریپازیتوری بهتون کمک می‌کنه با استفاده از LLM ها این فرایند تخمین رو به هوش مصنوعی بسپرید و هوش مصنوعی با استفاده از داده های از قبل آموزش دیده بیاد و فایل های اجرایی binary رو به کد زبان c براتون تبدیل کنه :


https://github.com/albertan017/LLM4Decompile


@Linuxor
Forwarded from یه شعر (Poem Bot)
حافظ | غزلیات | غزل شمارهٔ ۲۵۶

نصیحتی کنمت بشنو و بهانه مگیر
هر آنچه ناصح مشفق بگویدت بپذیر
ز وصل روی جوانان تمتعی بردار
که در کمینگه عمر است مکر عالم پیر
نعیم هر دو جهان پیش عاشقان به جوی
که این متاع قلیل است و آن عطای کثیر
معاشری خوش و رودی بساز می خواهم
که درد خویش بگویم به ناله بم و زیر
بر آن سرم که ننوشم می و گنه نکنم
اگر موافق تدبیر من شود تقدیر
چو قسمت ازلی بی حضور ما کردند
گر اندکی نه به وفق رضاست خرده مگیر
چو لاله در قدحم ریز ساقیا می و مشک
که نقش خال نگارم نمی رود ز ضمیر
بیار ساغر در خوشاب ای ساقی
حسود گو کرم آصفی ببین و بمیر
به عزم توبه نهادم قدح ز کف صد بار
ولی کرشمه ساقی نمی کند تقصیر
می دوساله و محبوب چارده ساله
همین بس است مرا صحبت صغیر و کبیر
دل رمیده ما را که پیش می گیرد
خبر دهید به مجنون خسته از زنجیر
حدیث توبه در این بزمگه مگو حافظ
که ساقیان کمان ابرویت زنند به تیر

#حافظ | گنجور
📍@iipoem
Forwarded from Linuxor ?
دستورای ویندوزی اسم بعضیاشون انگار مشت رو کیبرده مثلا wevtutil که مخفف Windows Event Utility هستش دیگه تو بدترین حالت باید می‌شد wevutil دیگه اون t چیه گزاشتین !


@Linuxor
Forwarded from Geek Alerts
روز جهانی زنان و دختران در علم
امروز در تقویم جهانی روزی هست به اسم International Day of Women and Girls in Science که هر سال ۱۱ فوریه جشن گرفته میشه، هدف این روز تسریع دسترسی به آموزش برای بخشی از جامعه یعنی زنان و دخترانمون هست که همیشه در تاریخ دسترسی درستی به علم و آموزش نداشتن.
به هر حال از طرف تیم گیک‌آلرتس این روز رو به تمام زنان و دختران ایرانی جویای علم و دانش تبریک میگیم.
@geekalerts
یه محقق کلا 20 خط کد کرنل لینوکس تغییر داده و unnecessary IRQ رو حذف کرده ۴۴ درصد پرفورمانس استک networking لینوکس بهبود داده و مصرف برق دیتاسنترهای hyperscale با این تغییر به شکل چشمگیری کاهش پیدا میکنه!
https://www.techradar.com/pro/changing-a-few-lines-of-code-in-linux-could-apparently-save-hyperscalers-billions-research-claims-but-i-am-not-convinced

@DevTwitter | <احسانـــ/>
Forwarded from Linuxor ?
قانون راست-چپ برای خواندن «تعاریف» در کدهای سی (right-left rule)

۱. ابتدا اسم را پیدا کنید (identifier)
۲. سپس به سمت راست آن اسم حرکت کنید تا جایی که دیگر نتوانید.
۳. بعد از آن به سمت چپ اسم حرکت کنید تا جایی که دیگر نتوانید.

اینکار را اینقدر تکرار کنید تا بتوانید کل تعریف را شرح دهید.

@Linuxor ~ amirr3za
Forwarded from Linuxor ?
Forwarded from Linuxor ?
Forwarded from RandRng
با صحبت امروز پزشکیان
من روی دلار ۱۱۰,۰۰۰ تومان دارم می‌بندم.

آخر سال تمام قراردادهای همکاری داخلیم تموم می‌شه و دستمزد جدید رو بر این اساس می‌گیرم، البته که دارم فرض می‌کنم دلار تا چندروز آینده به ۱۰۰,۰۰۰ تومان برسه و مدتی همین حوالی باشه‌.

اگر دلار واقعاً به ۱۱۰,۰۰۰ تومان برسه (که اصلاً بعید نیست)
قراردادهای سال بعدی رو روی دلار ۱۳۰,۰۰۰ تومان می‌بندم.

به ۲ دلیل این رو میگم:

۱- بچه‌های سنیور گفتند چطوری دستمزد بدیم برای سال بعد.

۲- چند نفر دعوت به همکاری کردن، گفتم حدود دستمزد رو بدوند که وقت هم رو نگیریم.

دستمزد فعلی رو بر اساس دلار ۶۰,۰۰۰ تومان بسته بودم سال قبل که خدا بیامرزش.
Forwarded from  (Amiria Maher)
دامنهٔ ai.com که چندین بار از CloseAI به Gemini و همدیگه ردوبدل شد، حالا به دست دیپ‌سیک رسیده و این دامنه، شما رو به chat.deepseek.com ارجاع می‌ده.

#news #ai
@amiria703_channel
🔥1