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 Geek Alerts
انتشار نسخه ۱.۳ آزمایشی اکستنشن کروم داینامیک RTL

توی نسخه جدید میتونید با Gemini گوگل در مرورگر کروم متن‌هارو به فارسی ترجمه کنید، اکستنشن رایگان و اوپن‌سورس هست و هم اینکه API های گوگل رو میتونید رایگان دریافت کنید و رایگان ترجمه کنید.

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

برای شروع به بخش تنظیمات اکستنشن برید و راهنمای دریافت کلید API رو بخونید و بعد کلید رو وارد کنید. راهنمای نسخه‌های قبلی رو هم میتونید در گیت‌هاب این پروژه بخونید.

نکته: از اونجایی که تمام درخواست‌ها مستقیم به مدل Gemini ارسال میشن (برای حریم‌خصوصی بیشتر) به همین خاطر برای اجرای بخش ترجمه به VPN نیاز خواهید داشت.

(دانلود نسخه ۱.۳ از گیت‌هاب)

@geekalerts
Forwarded from Geek Alerts
امروز، ۲۲ اردیبهشت، سال‌روز تولد مریم میرزاخانی است.

مریم میرزاخانی، ریاضی‌دان، استاد دانشگاه استنفورد، برنده دو مدال طلای المپیاد جهانی ریاضی، نخستین زن و نخستین ایرانی‌‌ای‌ است که مدال فیلدز(بالاترین مقام علمی در ریاضیات) را کسب کرده است. او به دلیل تحقیق‌هایش در زمینه «دینامیک و هندسه سطوح ریمانی و فضاهای پیمانه‌ای آن‌ها» مدال فیلدز سال ۲۰۱۴ را دریافت کرد. این روز توسط اتحادیه بین‌المللی انجمن‌های ریاضی، «روز جهانی زنان در ریاضیات» نامیده شده است.

hadi @geekalerts
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
Windows 10 will reach end of support on October 14, 2025.

پیرو این پست:
https://t.iss.one/linuxtnt/4223

🔚 پایان ویندوز 10 نزدیک است!

مایکروسافت اعلام کرده که پشتیبانی از ویندوز 10 در تاریخ ۱۴ اکتبر ۲۰۲۵ (۲۲ مهر ۱۴۰۴) به پایان می‌رسد. با وجود اعتراض میلیون‌ها کاربر و حتی یک دادخواست رسمی از سوی گروهی به نام Public Interest Research Group، این شرکت قصد تغییر تصمیم خود را ندارد.

❗️ در نتیجه، کاربران ویندوز 10 فقط سه گزینه دارند:

1️⃣ ارتقا به ویندوز 11
2️⃣ پرداخت هزینه برای یک سال پشتیبانی امنیتی بیشتر
3️⃣ یا کوچ کامل به یک سیستم‌عامل دیگر مثل لینوکس

مایکروسافت با تأکید بر عملکرد بهتر و ویژگی‌های جدید، کاربران را به سمت ویندوز 11 سوق می‌دهد. اما الزامات سخت‌افزاری جدید، بسیاری را مجبور به خرید رایانه‌های Copilot+ می‌کند.

💡 در این میان، گروهی به نام End of 10 پیشنهاد دیگری دارد: به‌جای خرید دستگاه جدید، ویندوز را کنار بگذارید و لینوکس را روی لپ‌تاپ‌های قدیمی نصب کنید.

🔍 طبق آمار شرکت Canalys، حدود ۲۴۰ میلیون رایانه در دنیا، شرایط لازم برای اجرای ویندوز 11 را ندارند.
سوالات متداول


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


https://wiki.parchlinux.com/fa/Frequently_asked_questions


@ParchLinux
📣 انجمن‌ علمی علوم کامپیوتر دانشگاه یزد برگزار می‌کند:

🔷 کارگاه هوشاوا با موضوع DOCKER

با حضور
🔹 جناب آقای آرمان طاهری

برای مشاهده پروفایل گیت‌هاب و لینکدین مدرس کلیک کنید 👇
🖇 گیت‌هاب
🖇 لینکدین

📆 شنبه ۲۰ اردیبهشت ۱۴۰۴
ساعت ۱۸:۰۰ تا ۱۹:۳۰
📍 گوگل میت

📌 ثبت‌نام در این کارگاه رایگان است.

⭕️ ظرفیت محدود ⭕️

جهت کسب اطلاعات بیشتر و ثبت‌نام به روابط عمومی مراجعه کنید.

🔹 @cs_yazd_admin


🎓 انجمن علمی علوم کامپیوتر | دانشگاه یزد
📱 پیج اینستاگرام | کانال تلگرام
مایکروسافت هنوز هم یک فایل قدیمی ۱۲ کیلوبایتی به نام moricons.dll را در ویندوز نگه می‌دارد،‌ فایلی که از زمان ویندوز ۳.۱ باقی مانده و شامل آیکن های قدیمی برنامه‌هایی مثل WordPerfect، Turbo Pascal و Lotus 123 است. این آیکن‌ها ابتدا برای زیباتر کردن نمای برنامه‌های MS-DOS در ویندوز استفاده می‌شدند. با اینکه این فایل در ویندوزهای ۶۴-بیتی عملاً دیگر کاربردی ندارد، اما همچنان باقی مانده چون حجمش کم است و شاید هنوز هم کسی از آیکن هاش استفاده می‌کند.

https://www.theregister.com/2025/05/08/moricons_dll_raymond_chen/


@SohrabContents
Forwarded from Ninja Learn | نینجا لرن (Denver)
خب خب خب، ‏Background Task ها توی FastAPI🚀
گاهی اوقات نیاز داریم که یه کاری بعد از ارسال پاسخ به کاربر انجام بشه. مثل ارسال ایمیل خوشامد گویی، ثبت لاگ یا آمار توی دیتابیس، پردازش فایل آپلود شده و .... توی این شرایط میتونیم از Background Task ها استفاده کنیم، اینجوری میتونیم بدون معطل کردن کاربر اون کارهارو جداگانه انجام بدیم.

استفاده از Background Task ها🛠
خب اول باید کلاس BackgroundTasks رو ایمپورت کنیم و یه پارامتر از همین نوع برای فانکشن route بنویسیم.
from fastapi import BackgroundTasks, FastAPI

app = FastAPI()


def write_notification(email: str, message=""):
with open("log.txt", mode="w") as email_file:
content = f"notification for {email}: {message}"
email_file.write(content)


@app.post("/send-notification/{email}")
async def send_notification(email: str, background_tasks: BackgroundTasks):
background_tasks.add_task(write_notification, email, message="some notification")
return {"message": "Notification sent in the background"}

حالا FastAPI میاد یه آبجکت با نوع BackgroundTasks برامون ایجاد میکنه و به اون پارامتر پاس میده.
بعد از اینکه فانکشن تسکمون رو ایجاد کردیم میتونیم با استفاده از متود ()add_task از همون پارامتر اون فانکشن رو به صف اجرا اضافه کنیم. همچنین میتونیم آرگومان های مورد نیازمون رو هم با استفاده از همین متود به تسکمون پاس بدیم.

‏Background Tasks و Dependency injection💉
‏Background Tasks به خوبی با سیستم تزریق وابستگی FastAPI سازگاره. میتونیم توی سطح های مختلف برنامه(فانکشن route، یه وابستگی و...) از Background Task استفاده کنیم.
from typing import Annotated

from fastapi import BackgroundTasks, Depends, FastAPI

app = FastAPI()


def write_log(message: str):
with open("log.txt", mode="a") as log:
log.write(message)


def get_query(background_tasks: BackgroundTasks, q: str | None = None):
if q:
message = f"found query: {q}\n"
background_tasks.add_task(write_log, message)
return q


@app.post("/send-notification/{email}")
async def send_notification(
email: str, background_tasks: BackgroundTasks, q: Annotated[str, Depends(get_query)]
):
message = f"message to {email}\n"
background_tasks.add_task(write_log, message)
return {"message": "Message sent"}

توی این مثال بعد از اینکه پاسخ به کلاینت ارسال شد، یه تسک میاد ایمیل کاربر رو توی فایل log.txt مینویسه. اگه یه کوئری پارامتر هم به API ارسال بشه یه تسک دیگه اون رو هم توی فایل مینویسه.

نکته مهم⚠️
این ابزار فقط برای کارهای سبک وسریع مناسبه. مثل همین لاگ نوشتن، ارسال ایمیل یا پردازش های خیلی کوچیک و سبک. برای کارهای سنگین تر مثل پردازش تصویر بهتره که از سیستم هایی مثل Celery استفاده بشه.

جمع بندی✍️
‏Background Task یه ابزار ساده ولی کاربردیه. میتونه توی پروژه هایی که تسک های سنگینی ندارن از Celery بی نیازتون کنه و کارهارو بعد از پاسخ دهی به صورت غیرهمزمان انجام بده.

#️⃣ #fastapi #python #backend


🥷🏻 CHANNEL | GROUP
Media is too big
VIEW IN TELEGRAM
🎬 مبارزه برای تعمیر
🐧 انیمیشنی راجب حق تعمیر


دو مهندس نرم‌افزار آزاد تلاش می‌کنند یک مشکل خطرناک در کد خودران خودرو رو برطرف کنند، اما این تازه آغاز ماجراست!

آن‌ها باید با شرکت انحصارطلب «دسیپتیکور» روبرو بشوند؛ جایی که نرم‌افزارهای بسته، کاربران رو کنترل می‌کنند.

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

حق تعمیر = آزادی کاربران

----------------------------
🌐 https://sudoshz.ir 
🆔 Shirazlinux Channel
🗨 Shirazlinux Group

#نرم‌افزار_آزاد #آزادی_دیجیتال #FSF #libreplanet2025 #freesoftware
#حق_تعمیر
Forwarded from Python Hints
داشتم تغییرات مربوط به Pi Python یا همون Python 3.14 رو می‌خوندم (پروژه‌های خودم رو میخوام منتقل کنم روی این نسخه) از این لینک:
What's new in Python 3.14

یک مورد جالب دیدم Pep 765 که :
Disallow return/break/continue that exit a finally block


داستان چیه؟ قطعا شما هم توی کدهای جنگو یا fastapi دیدید وقتایی که یک نفر try/except رو استفاده کرده و ارور‌ها رو لاگ میندازه و بعدش finally داره که یک return خاص انجام بده مثلا مقدار پیش‌فرض رو بفرسته.
تا اینجا هیچ مشکلی وجود نداره و برای همین هم خیلی‌ها نمی‌دونند که اینکار باعث مشکل میشه.

حالا فرض کنید توی اون exception شما بجای نوشتن لاگ raise انجام میدید تا توی بخش دیگری از پروژه اون Exception رو بتونید بهتر هندل کنید؛ اما وقتی Finally رو دارید که توش Return هم انجام میشه؛ چیزی که کد شما می‌بینه بعنوان response مربوط به اون try/except بلاک هیچوقت نمی‌تونه raise باشه (همیشه finally آخر از همه اجرا میشه)

پس هیچوقت کد شما raise ایی که نوشتید رو نشون نخواهد داد.

توی این نسخه چیکار کردن ؟
Syntax warning
اضافه کردند که اگر اینطوری کد زدید بهتون نشون بده که این مشکل وجود داره؛ ولی همچنان backward compatible بمونه.

خیلی هم عالی.
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
🔶 فریم ورک CSS با استایل گیت هاب با Primer Style

https://primer.style/

#css

@TheRaymondDev
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۱۰۱۳

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

#مولانا | گنجور
📍@iipoem
Forwarded from Linuxor ?
با کلاینت beekeeper studio می‌تونید دیتابیس های خودتون رو مدیریت کنید، اکثر دیتابیس هارو ساپورت می‌کنه توی ورژن های بعدی هم قراره Redis و Snowflake رو ساپورت کنه :

github.com/beekeeper-studio/beekeeper-studio

@Linuxor
Forwarded from Linuxor ?
اومدن ویندوز 95 رو با الکترون ساختن !

الکترون یه فریمورک جاوااسکریپته که با HTML و CSS بهتون این اجازه رو می‌ده اپلیکیشن های دسکتاپ بسازین VsCode دیسکورد، اسکایپ، نوشن و فیگما همگی با الکترون ساخته شدن

github.com/felixrieseberg/windows95


@Linuxor
Forwarded from Linuxor ?
شاید باورتون نشه ولی این چیت شیت کل تایپ اسکریپته !

که شامل
+ ControlFlow Analysis
+ Interfaces
+ Classes
+ Types

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

@Linuxor
Forwarded from Linuxor ?
Forwarded from Linuxor ?
Forwarded from Linuxor ?
Forwarded from Golden Code (علی 🇨🇴)
📌 لیستی از اصول مهم در طراحی سیستم که نیازه بدونیم!

1. مفهوم Caching :
میتونیم از کش برای ذخیره نتایج کوئری‌های دیتابیس استفاده کنیم تا سرعت دسترسی به داده‌ها افزایش پیدا کنه و بار سرور کاهش یابد.


2. مفهوم Sharding:
تقسیم داده‌ها به بخش‌های کوچک‌تر و ذخیره اونا در سرورهای مختلف. این کار باعث میشه که سیستم بتونه بهتر و سریع‌تر به درخواست‌ها پاسخ بده.


3. مفهوم Load-balancing (توزیع بار):
وقتی تعداد request ها زیاد میشه، باید اونارو به طور مساوی بین چند سرور تقسیم کنیم تا از بار زیاد روی یک سرور جلوگیری بشه و سیستم کارایی بالاتری داشته باشه.


4. مفهوم Replication :
ایجاد کپی از داده‌ها در سرورهای مختلف تا در صورت بروز مشکل یا خرابی در یک سرور، سیستم همچنان فعال و در دسترس باشه.


5. مفهوم Fault-tolerance :
سیستم باید طوری طراحی بشه که در صورت بروز خطا یا مشکل، همچنان بتونه به کارش ادامه بده. مثلا در Laravel، میتونیم از ویژگی‌هایی نظیر retry برای انجام مجدد request ها درصورت بروز خطا استفاده کنیم.


6. مفهوم High-availability :
سیستم باید همیشه در دسترس باشه و هیچوقت از دسترس خارج نشه.

7. مفهوم Concurrency (همزمانی):
اجرای چندین کار به صورت همزمان برای افزایش سرعت پردازش.
مثلا در Laravel، می‌تونیم از Job Queues و Workers برای پردازش درخواست ها بصورت همزمان استفاده کنیم و ازین طریق عملکرد سیستم رو بهبود بدیم.


8. مفهوم Scalability :
توانایی سیستم برای گسترش و افزایش ظرفیت با افزایش تعداد کاربران.


9. مفهوم Performance :
سرعت و کارایی سیستم. در Laravel، میتونیم از تکنیک‌هایی مانند Caching و Eager Loading برای بهبود سرعت بارگذاری صفحات و کاهش زمان پاسخ‌دهی استفاده کنیم.


10. مفهوم Indexing :
ایجاد ایندکس‌ها در دیتابیس برای جستجو سریع‌تر داده‌ها. ایندکس‌ها به سرعت جستجو رو افزایش میدهند و باعث میشن که نتایج سریع‌تر منتقل بشن.

@GoldenCodeir
(منبع 👇🏾)
https://x.com/javinpaul/status/1920364568041160939?s=19
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
هوآوی از سیستم عامل کامپیوتر اختصاصی خودش به اسم هارمونی او اس پی سی (یا هانگ‌منگ کامپیوتر تو چین) رونمایی کرد، این سیستم عامل بر پایه هارمونی او اس ساخته شده، ظاهرش شبیه مک او اس اپل هست و قراره ۱۹ می (حدودا ۲۹ اردیبهشت) عرضه بشه. میگن به صورت ویژه‌ای با هوش‌مصنوعی یکپارچه شده.

gsmarena
@geekalerts