Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
نرم افزار رایگان یادداشت برداری با امکانات فراوان(دستخط، ترسیم شکل، حاشیه نویسی بر PDF، ...)
پ.ن:
وقتی با خودکار و کاغذ شروع و عادت کردی؛ همه جا دنبال کاغذ و خودکار میگردی!
https://xournalpp.github.io
https://github.com/xournalpp/xournalpp/
@DevTwitter | <Koroush/>
پ.ن:
وقتی با خودکار و کاغذ شروع و عادت کردی؛ همه جا دنبال کاغذ و خودکار میگردی!
https://xournalpp.github.io
https://github.com/xournalpp/xournalpp/
@DevTwitter | <Koroush/>
Forwarded from Meitix
اها این Eventual Consistency برای خوندنه و نه نوشتن. یعنی قسمت eventuallyش برای readه 😅
یعنی دیتای که ذخیره میشه db رو به state درست میبره و data integrity نداره حالا ممکنه موقع خوندن دیتا از replica قدیمی بخونه که ما خیلی جاها برامو مهم نی
یعنی دیتای که ذخیره میشه db رو به state درست میبره و data integrity نداره حالا ممکنه موقع خوندن دیتا از replica قدیمی بخونه که ما خیلی جاها برامو مهم نی
Forwarded from Gopher Academy
0.0000011 دلار
این قیمتی که مشاهده میکنید قیمت یک رمزارز توی بازار کریپتو نیست این قیمت ریال به دلار هستش.
واقعا نمیدونم چی بگم...
➖➖➖➖➖➖➖➖
👑 @gopher_academy
این قیمتی که مشاهده میکنید قیمت یک رمزارز توی بازار کریپتو نیست این قیمت ریال به دلار هستش.
واقعا نمیدونم چی بگم...
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Ninja Learn | نینجا لرن
خب خب خب دکوریتورها (Decorators) در پایتون: تغییر رفتار توابع و کلاسها 🐍
سلام دوستان امروز میخوایم در مورد یکی از ویژگیهای خیلی قوی و در عین حال جذاب پایتون صحبت کنیم:
دکوریتورها. این قابلیت به شما اجازه میده تا بدون دست زدن به کد اصلی توابع یا کلاسها، رفتارشون رو تغییر بدید.
1⃣ دکوریتورها چیستند؟ 🤔
دکوریتورها در پایتون، توابع یا کلاسهایی هستن که مثل یه "بستهبندی" عمل میکنن. یعنی، شما یه تابع یا کلاس رو میگیرید، اون رو به یه دکوریتور میفرستید، دکوریتور رفتارش رو تغییر میده (یا بهبود میبخشه) و نسخه تغییر یافته رو برمیگردونه.
مثال ساده:
اینجا دکوریتور simple_decorator قبل و بعد از اجرای تابع greet پیام چاپ میکنه. یعنی بدون اینکه کد اصلی تابع رو دست بزنیم، رفتارش تغییر پیدا میکنه.
2⃣ نحوهی کارکرد دکوریتورها 🔧
🔻 دکوریتور به عنوان یک تابع
در واقع، دکوریتورها توی پایتون همون توابعی هستن که یه تابع یا کلاس رو به عنوان ورودی میگیرن و یه نسخه تغییر یافته برمیگردونن. وقتی از علامت @ استفاده میکنید، پایتون به طور خودکار این کار رو انجام میده.
🔻 مراحل استفاده از دکوریتور:
تعریف دکوریتور:
دکوریتور یه تابعه که یه تابع ورودی میگیره و نسخه بهبود یافته یا تغییر یافته رو برمیگردونه.
اعمال دکوریتور:
با قرار دادن علامت @ قبل از تعریف تابع یا کلاس، دکوریتور روی اون اعمال میشه.
اجرای تابع دکوریتور:
وقتی تابع دکوریت شده فراخوانی میشه، اول تابع "بستهبندی" (wrapper) اجرا میشه و بعد تابع اصلی.
🔻 مثال دکوریتور بر روی کلاس
دکوریتورها فقط برای توابع نیستن؛ میتونن رفتار کلاسها رو هم تغییر بدن. مثلاً:
اینجا دکوریتور add_str متد str
رو به کلاس Person اضافه میکنه، بدون اینکه کد داخل کلاس رو تغییر بده.
3⃣ مزایای استفاده از دکوریتورها ✨
کنترل دقیق روی ساختار کد:
دکوریتورها به شما این امکان رو میدن تا بدون دست زدن به منطق اصلی تابع یا کلاس، رفتارشون رو تغییر بدید. این موضوع برای توسعه چارچوبهای پیچیده خیلی مفیده.
اجرای الگوهای تکراری (DRY):
میتونید کدهای تکراری مثل ثبت رویدادها، اعتبارسنجی یا مدیریت استثناها رو توی یه مکان متمرکز کنید.
گسترش قابلیتها:
به راحتی میشه قابلیتهای جدیدی به توابع یا کلاسها اضافه کرد بدون اینکه لازم باشه کد اصلی رو تغییر بدید.
4⃣ چالشهای استفاده از دکوریتورها ⚠️
درک اولیه سختتر:
برای کسانی که تازه شروع کردن، مفهوم دکوریتورها ممکنه گیجکننده باشه. برای درک کاملش نیاز به مطالعه و تمرین داره.
اشکالزدایی پیچیده:
وقتی دکوریتورها به شکل گسترده استفاده میشن، پیدا کردن مشکلات در کد ممکنه سختتر بشه، چون تغییرات به طور پنهانی در رفتار توابع اعمال میشه.
ترکیب با سایر مفاهیم:
استفاده همزمان از دکوریتورها با مفاهیم پیشرفته مثل متاکلاسها یا توابع بازگشتی میتونه باعث پیچیدگیهای اضافه بشه.
جمعبندی ✍
دکوریتورها ابزار خیلی قدرتمندی در پایتون هستن که به شما امکان میدن رفتار توابع و کلاسها رو بدون تغییر کد اصلی تغییر بدید. این قابلیت مخصوصاً توی پیادهسازی چارچوبهای پیچیده و کنترل دقیق روی ساختار کد کاربرد زیادی داره. اگرچه درک اولیهش ممکنه کمی سخت باشه، اما با تمرین و استفاده از مثالهای عملی، دکوریتورها میتونن ابزار بسیار موثری برای بهبود و انعطافپذیری کدتون باشن.
➖➖➖➖➖➖➖➖➖
سلام دوستان امروز میخوایم در مورد یکی از ویژگیهای خیلی قوی و در عین حال جذاب پایتون صحبت کنیم:
دکوریتورها. این قابلیت به شما اجازه میده تا بدون دست زدن به کد اصلی توابع یا کلاسها، رفتارشون رو تغییر بدید.
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 Laravel News
Handling Unmatched Routes in Laravel https://laravel-news.com/route-fallback
Laravel News
Handling Unmatched Routes in Laravel - Laravel News
Discover the power of Laravel's fallback routes for handling unmatched URLs. Create intelligent 404 handlers that guide users, gather insights, and maintain engagement when pages aren't found.
Forwarded from Woland's Linux Journal (Woland)
💠آموزش نصب Sql Server در Docker روی لینوکس💠
نخست نگاره (ایمیج) داکر را دریافت میکنیم:
سپس با بهرهگیری از نگاره، یک آوند (کانتینر) میسازیم:
قسمت گذرواژه را با گزاره دلخواه خود جایگزین کنید.
حالا میتوانیم به آوند وارد شویم:
وارد پوستهی SQL شویم:
و یک پایگاهداده و میز نوین بسازیم:
حالا Sql Server به درستی روی سامانهی لینوکس شما برنشانده شده و میتوانید با بهکارگیری برنامههای گردانش دلخواه خود از آن بهرمند شوید.
در نویسهای دیگر به ADS خواهیم پرداخت.
#آموزش
نخست نگاره (ایمیج) داکر را دریافت میکنیم:
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 خواهیم پرداخت.
#آموزش
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
اگر Steam Deck و Playstation دارید میتونید این Chiaki-ng رو نصب کنید اون وقت انگار Playstation Portal هم دارید و میتونید ریموت از پی اس استفاده کنید
https://github.com/streetpea/chiaki-ng
@DevTwitter | <Dara/>
https://github.com/streetpea/chiaki-ng
@DevTwitter | <Dara/>
Forwarded from Laravel News
HydePHP - The Static Site Generator with Caen De Silva https://laravel-news.com/hydephp-the-static-site-generator-with-caen-de-silva
Laravel News
HydePHP - The Static Site Generator with Caen De Silva - Laravel News
Join us as we discuss the features and benefits of HydePHP
Forwarded from Woland's Linux Journal (Woland)
Forwarded from Linuxor ?
هیچ الگوریتم خاصی برای دیکامپایل کردن کد وجود نداره و دیکامپایل کردن یه فرایند تخمینیه، به خصوص اگه کامپایلر تنظیمات خاصی رو اعمال کرده باشه که دیکامپایل دشوار تر میشه.
این ریپازیتوری بهتون کمک میکنه با استفاده از LLM ها این فرایند تخمین رو به هوش مصنوعی بسپرید و هوش مصنوعی با استفاده از داده های از قبل آموزش دیده بیاد و فایل های اجرایی binary رو به کد زبان c براتون تبدیل کنه :
https://github.com/albertan017/LLM4Decompile
@Linuxor
این ریپازیتوری بهتون کمک میکنه با استفاده از LLM ها این فرایند تخمین رو به هوش مصنوعی بسپرید و هوش مصنوعی با استفاده از داده های از قبل آموزش دیده بیاد و فایل های اجرایی binary رو به کد زبان c براتون تبدیل کنه :
https://github.com/albertan017/LLM4Decompile
@Linuxor
Forwarded from Laravel News
Integrate IMAP Into Your PHP Application https://laravel-news.com/imapengine-php
Laravel News
Integrate IMAP Into Your PHP Application - Laravel News
ImapEngine is a PHP package by Steve Bauman that provides a simple API for managing mailboxes without the PHP IMAP extension.
Forwarded from یه شعر (Poem Bot)
حافظ | غزلیات | غزل شمارهٔ ۲۵۶
نصیحتی کنمت بشنو و بهانه مگیر
هر آنچه ناصح مشفق بگویدت بپذیر
ز وصل روی جوانان تمتعی بردار
که در کمینگه عمر است مکر عالم پیر
نعیم هر دو جهان پیش عاشقان به جوی
که این متاع قلیل است و آن عطای کثیر
معاشری خوش و رودی بساز می خواهم
که درد خویش بگویم به ناله بم و زیر
بر آن سرم که ننوشم می و گنه نکنم
اگر موافق تدبیر من شود تقدیر
چو قسمت ازلی بی حضور ما کردند
گر اندکی نه به وفق رضاست خرده مگیر
چو لاله در قدحم ریز ساقیا می و مشک
که نقش خال نگارم نمی رود ز ضمیر
بیار ساغر در خوشاب ای ساقی
حسود گو کرم آصفی ببین و بمیر
به عزم توبه نهادم قدح ز کف صد بار
ولی کرشمه ساقی نمی کند تقصیر
می دوساله و محبوب چارده ساله
همین بس است مرا صحبت صغیر و کبیر
دل رمیده ما را که پیش می گیرد
خبر دهید به مجنون خسته از زنجیر
حدیث توبه در این بزمگه مگو حافظ
که ساقیان کمان ابرویت زنند به تیر
#حافظ | گنجور
📍@iipoem
نصیحتی کنمت بشنو و بهانه مگیر
هر آنچه ناصح مشفق بگویدت بپذیر
ز وصل روی جوانان تمتعی بردار
که در کمینگه عمر است مکر عالم پیر
نعیم هر دو جهان پیش عاشقان به جوی
که این متاع قلیل است و آن عطای کثیر
معاشری خوش و رودی بساز می خواهم
که درد خویش بگویم به ناله بم و زیر
بر آن سرم که ننوشم می و گنه نکنم
اگر موافق تدبیر من شود تقدیر
چو قسمت ازلی بی حضور ما کردند
گر اندکی نه به وفق رضاست خرده مگیر
چو لاله در قدحم ریز ساقیا می و مشک
که نقش خال نگارم نمی رود ز ضمیر
بیار ساغر در خوشاب ای ساقی
حسود گو کرم آصفی ببین و بمیر
به عزم توبه نهادم قدح ز کف صد بار
ولی کرشمه ساقی نمی کند تقصیر
می دوساله و محبوب چارده ساله
همین بس است مرا صحبت صغیر و کبیر
دل رمیده ما را که پیش می گیرد
خبر دهید به مجنون خسته از زنجیر
حدیث توبه در این بزمگه مگو حافظ
که ساقیان کمان ابرویت زنند به تیر
#حافظ | گنجور
📍@iipoem
Forwarded from Geek Alerts
روز جهانی زنان و دختران در علم
امروز در تقویم جهانی روزی هست به اسم International Day of Women and Girls in Science که هر سال ۱۱ فوریه جشن گرفته میشه، هدف این روز تسریع دسترسی به آموزش برای بخشی از جامعه یعنی زنان و دخترانمون هست که همیشه در تاریخ دسترسی درستی به علم و آموزش نداشتن.
به هر حال از طرف تیم گیکآلرتس این روز رو به تمام زنان و دختران ایرانی جویای علم و دانش تبریک میگیم.
@geekalerts
امروز در تقویم جهانی روزی هست به اسم International Day of Women and Girls in Science که هر سال ۱۱ فوریه جشن گرفته میشه، هدف این روز تسریع دسترسی به آموزش برای بخشی از جامعه یعنی زنان و دخترانمون هست که همیشه در تاریخ دسترسی درستی به علم و آموزش نداشتن.
به هر حال از طرف تیم گیکآلرتس این روز رو به تمام زنان و دختران ایرانی جویای علم و دانش تبریک میگیم.
@geekalerts
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
یه محقق کلا 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 | <احسانـــ/>
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
۱. ابتدا اسم را پیدا کنید (identifier)
۲. سپس به سمت راست آن اسم حرکت کنید تا جایی که دیگر نتوانید.
۳. بعد از آن به سمت چپ اسم حرکت کنید تا جایی که دیگر نتوانید.
اینکار را اینقدر تکرار کنید تا بتوانید کل تعریف را شرح دهید.
@Linuxor ~ amirr3za
Forwarded from RandRng
با صحبت امروز پزشکیان
من روی دلار ۱۱۰,۰۰۰ تومان دارم میبندم.
آخر سال تمام قراردادهای همکاری داخلیم تموم میشه و دستمزد جدید رو بر این اساس میگیرم، البته که دارم فرض میکنم دلار تا چندروز آینده به ۱۰۰,۰۰۰ تومان برسه و مدتی همین حوالی باشه.
اگر دلار واقعاً به ۱۱۰,۰۰۰ تومان برسه (که اصلاً بعید نیست)
قراردادهای سال بعدی رو روی دلار ۱۳۰,۰۰۰ تومان میبندم.
به ۲ دلیل این رو میگم:
۱- بچههای سنیور گفتند چطوری دستمزد بدیم برای سال بعد.
۲- چند نفر دعوت به همکاری کردن، گفتم حدود دستمزد رو بدوند که وقت هم رو نگیریم.
دستمزد فعلی رو بر اساس دلار ۶۰,۰۰۰ تومان بسته بودم سال قبل که خدا بیامرزش.
من روی دلار ۱۱۰,۰۰۰ تومان دارم میبندم.
آخر سال تمام قراردادهای همکاری داخلیم تموم میشه و دستمزد جدید رو بر این اساس میگیرم، البته که دارم فرض میکنم دلار تا چندروز آینده به ۱۰۰,۰۰۰ تومان برسه و مدتی همین حوالی باشه.
اگر دلار واقعاً به ۱۱۰,۰۰۰ تومان برسه (که اصلاً بعید نیست)
قراردادهای سال بعدی رو روی دلار ۱۳۰,۰۰۰ تومان میبندم.
به ۲ دلیل این رو میگم:
۱- بچههای سنیور گفتند چطوری دستمزد بدیم برای سال بعد.
۲- چند نفر دعوت به همکاری کردن، گفتم حدود دستمزد رو بدوند که وقت هم رو نگیریم.
دستمزد فعلی رو بر اساس دلار ۶۰,۰۰۰ تومان بسته بودم سال قبل که خدا بیامرزش.
Forwarded from ⚝ (Amiria Maher)
دامنهٔ ai.com که چندین بار از CloseAI به Gemini و همدیگه ردوبدل شد، حالا به دست دیپسیک رسیده و این دامنه، شما رو به chat.deepseek.com ارجاع میده.
#news #ai
@amiria703_channel
#news #ai
@amiria703_channel
🔥1