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
کلون ردیس رو گذاشتم روی گیتهاب فعلا فقط get و set داره و میتونه با چندتا کانکشن همزمان کار کنه. امروزم میخوام persistence رو اضافه کنم.
https://github.com/Glyphack/redis-clone
فعلا بخش hash map عش بدترین چیزشه باید ببینم چه تابع هش خوبی برای دیتابیس هست که استفاده کنم. اگرم ۳۲ بیتی باشه خروجی

@DevTwitter | <Shaygan/>
نسخه ۱۰.۸۰ از پنل Hiddify Manager منتشر شد.
بهبود امنیت پنل، افزودن سینگ‌باکس به لیست اپلیکیشن‌های پنل، جنریت خودکار کانفیگ‌های Xray درصورت تغییر کاربر، افزایش سرعت نصب، اپلای، ریست و استتوس، پشتیبانی از WARP در پروتکل SSH، رفع مشکل اتصال به کلودفلر برای تنظیم دامنه‌ها، افزودن کلاینت سینگ‌باکس به صفحه کاربران، ایجاد سرویس بک‌گراند برای بروزرسانی حجم و بکاپ، پشتیبانی از Xray Full Config Shadowsocks و ...، از جمله امکانات نسخه جدید هیدیفای‌منیجر هستند.

👉 github.com/hiddify/Hiddify-Manager/releases/latest

🔍 ircf.space/software
@ircfspace
نسخه ۱۰.۸۰ از پنل Hiddify Manager منتشر شد.
بهبود امنیت پنل، افزودن سینگ‌باکس به لیست اپلیکیشن‌های پنل، جنریت خودکار کانفیگ‌های Xray درصورت تغییر کاربر، افزایش سرعت نصب، اپلای، ریست و استتوس، پشتیبانی از WARP در پروتکل SSH، رفع مشکل اتصال به کلودفلر برای تنظیم دامنه‌ها، افزودن کلاینت سینگ‌باکس به صفحه کاربران، ایجاد سرویس بک‌گراند برای بروزرسانی حجم و بکاپ، پشتیبانی از Xray Full Config Shadowsocks و ...، از جمله امکانات نسخه جدید هیدیفای‌منیجر هستند.

👉 github.com/hiddify/Hiddify-Manager/releases/latest

🔍 ircf.space/software
@ircfspace
💎 بررسی nested object destructuring در جاوااسکریپت 💎

هموطنور که بیشترتون میدونید destructuring در جاوااسکریپت به ما این امکان رو می‌ده که از یک آبجکت یا آرایه به راحتی مقادیر خاصی رو استخراج کنیم

توی مثال زیر پروپرتی name رو از user اومدیم و destruct کردیم 🔻

const user = { name: 'Mmd', address: { city: 'cool city', } };

const { name } = user; console.log(name); // Mmd


ولی خب احتمالاً خیلی کم راجع به nested object destructuring شنیده‌ باشید. توی این حالت، وقتی آبجکت‌ما شامل آبجکت‌های دیگه‌ای به عنوان مقادیرش باشه، می‌تونیم به راحتی از destructuring برای استخراج دیتای داخل آبجکت تو در تو هم استفاده کنیم

توی مثال زیر پروپرتی city رو به سادگی از address اومدیم و destruct کردیم 🚀

const { name, address: { city } } = user;
console.log(name); // Mmd
console.log(city); // cool city


حتماً از این نوع destructuring توی پروژه هاتون استفاده کنید چون باعث می‌شه که کدتون کوتاه‌تر و خواناتر بشه

امیدوارم از این مطلب لذت برده باشید، با ری‌اکشنای خودتون بهمون انرژی بدید ❤️‍🔥

#️⃣ #javascript #tricks

𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
This media is not supported in your browser
VIEW IN TELEGRAM
تا الان چندین فریمورک agentic اومده مثل autogen و metaGPT و crewai و ... چند هفته پیش هم یکی دیگه به نام PydanticAI درست شده که کار همون تیمی هست که لایبرری خوش دست و مهم pydantic را درست کرد.
باهاش کار کردم و به سرعت به یکی از ابزارهای مورد علاقه من تبدیل شده است! علاوه بر ویژگی‌های فوق‌العاده‌ای که در وب‌سایتشان ذکر شده، این موارد را بسیار دوست دارم:

- کنترل همه flow ها با پایتون ساده: سبک و بدون وابستگی‌های غیرضروری.
- ویژگی dependency injection: بسیار شهودی و قدرتمند.
- یکپارچگی با Logfire: برای observability (مشاهده‌پذیری) و ردیابی هزینه، کاملاً بی‌نقص.
این یک کتابخانه ساده است که با قابلیت و انعطاف‌پذیری بالا عرضه شده برای کار کردن با agent ها.
برای نمایش توانایی‌های آن، یک آموزش تهیه کرده‌ام که نحوه پیاده‌سازی یک سیستم multi agent RAG با استفاده از PydanticAI را نشان می‌دهد. اگر به سیستم‌های (RAG) یا سیستم‌های مبتنی بر agent علاقه دارید، حتماً چکش کنید.
Github: https://github.com/mallahyari/twosetai/blob/main/pydanticai_multi_agent_rag.ipynb

@DevTwitter | <Mehdi Allahyari/>
Forwarded from Code Module | کد ماژول (𔓙)
با کیا شدیم ۸۵ میلیون نفر :))

#fun
@CodeModule
می‌گن پول سوریه ۴۵٪ رشد داشته 🤔

تو همین چند روز 🤯

سقوط دیکتاتور برکت داره؛ برکت 💹
Forwarded from Geek Alerts
گروه Event Horizon یا افق رویداد که قبل‌تر تصاویری از سیاه‌چاله کلان‌جرم مرکزی کهکشان راه شیری(Sagittarius A) گرفته بودند، حالا قراره ماموریت جدیدی رو برای کشف و اندازه‌گیری حلقه فوتونی دور سیاه‌چاله‌ها شروع کنن. با بررسی حلقه‌های فوتونی می‌شه اطلاعات جامعی از اساسی‌ترین ویژگی‌های یک سیاه‌چاله مثل جرم و چرخشش رو بدست آورد.
خود سیاه‌چاله‌ها نامرئی هستن چون اونقدر چگال هستن که حتی نور هم نمی‌تونه از اون‌ها فرار کنه، اما اغلب، مقدار زیادی گرد و غبار و گاز در اطراف یه سیاه‌چاله می‌چرخن که توسط گرانش شدید اون جذب و شتاب داده می‌شن. حلقه‌های فوتونی حلقه‌هایی از نور هستند که دور سیاه‌چاله و نزدیک به قرص برافزایشی اون سیاه‌چاله هستن. نوری که در این قسمت هست در حقیقت نزدیک‌ترین فاصله‌‌ای هست که می‌تونه نسبت به سیاه‌چاله داشته باشه، دورش بچرخه و به درونش کشیده نشه. نکته قابل توجه اینه که توی تصاویر قبلی‌ای که این گروه منتشر کردند، ما حلقه‌های فوتونی‌ای رو نمی‌بینیم، اون قسمت‌های نورانی قرص برافزایشی سیاه‌چاله نامیده می‌شن.
توی این ماموریت هدف اینه که یک تلسکوپ فضایی در سال ۲۰۳۱ برای تصویربرداری و اندازه‌گیری به خارج از زمین فرستاده بشه تا تداخل کمتری با بخار آب موجود در جو زمین داشته باشه و همچنین با داده‌های تلسکوپ‌های این گروه که روی زمین قرار دارند ترکیب بشن و درنهایت بتونیم به اطلاعات بیشتری از نحوه شکل‌گیری و تکامل سیاه‌چاله‌ها داشته باشیم.

blackholeexplorer.org
bhex.cfa.harvard.edu
hadi @geekalerts
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
This media is not supported in your browser
VIEW IN TELEGRAM
عموم کاربرهای معمولی لینوکس، وقتی ازشون میپرسی چطوری یک کار را توی لینوکس انجام بدم
خبب

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

در ادامه به سراغ نصب و راه‌اندازی وب‌سرور لوکال روی دبیان با Apache و Nginx هم خواهیم رفت.


تماشا از یوتوب

تماشا از پیرتوب

لایک و کامنت و معرفی هم یادتون نره :)

@SohrabContents
Forwarded from Python BackendHub (Mani)
یکی از اشتباهات رایج و خیلی بد تو دیزاین دیتابیس که من دیدم خیلی انجام میدن اینه که سعی میکنن state یک entity رو با چند boolean ست کنند.
مثلا برای یوزر داریم:
is_active
is_banned
یا شما میتونی برای پردازش یک دیتایی اینطوری هم ذخیره کنی:
is_pending
is_success

اما خیلی پرکتیس بدیه. چرا؟ به ۲ دلیل:
۱. حالت هایی به وجود میاد از ترکیب این boolean ها که رخ دادنش ممکن نیست. مثلا چطوری میشه is_pending=true باشه و is_success هم true باشه؟ حالا هرچی جلوتر برید و تعداد boolean هاتون بیشتر شه این ترکیب هایی که امکان رخ دادنشون وجود نداره خیلی بیشتر میشه. مثلا ۴ تا boolean میشه ۱۶ حالت. آیا واقعا همه ۱۶ حالت رو دارین؟!
۲. راه حل دوم خیلی بهتره! راه حل دوم چیه؟‌استفاده از یک Enum تو دیتابیستون.

PENDING
SUCCESS
FAILED

حالا یک جایی نیازه که ایمیل بزنید اگه این پردازش موفقیت آمیز نبود. خیلی راحت میتونید رو همه حالت ها match case کنید. و در نهایت یک assert never هم قرار بدید.
اینطوری فردا اگه یک state جدید اضافه کنید به اپلیکیشنتون, همه جای کدتون ارور تایپینگ میخورید تا مجبور شید رفتار و ساید افکت state جدید رو تو همه جا هندل کنید.


match state:
case State.FAILED:
email_to_user()
case State.SUCCESS | State.FAILED:
pass # do nothing
case _:
assert_never(state)



@PyBackendHub
فیچر Canvas از OpenAI برای همه فعال شده! ابزار عالی برای کدنویسی و نوشتن متن‌های حرفه‌ای به صورت بهینه‌تر، آسون‌تر و باکیفیت‌تر.

تو دوره زیر تو ۵۰ دقیقه یادش بگیرین (ویدیو ۶ برای متخصصای GenAIه و لازم نیست ببینیدش.)

https://www.deeplearning.ai/short-courses/collaborative-writing-and-coding-with-openai-canvas/

@DevTwitter | <Reza Jafari/>
Forwarded from Geek Alerts
سایت گنجور که یکی از محبوب‌ترین سایت‌ها برای دوست‌داران شعر فارسی‌ست، حالا از هوش مصنوعی برای تولید خلاصه و برگرداندن ابیات به زبان ساده استفاده می‌کنه. البته که مدل‌های فعلی توانایی درک متون کهن فارسی رو به درستی ندارن اما تا حدودی می‌شه بهشون اتکا کرد.

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

https://blog.ganjoor.net/1403/09/26/ai-summaries/
hadi @geekalerts
Forwarded from FullstacksJS — Academy
قسمت چهارم ماب ریویو: معماری نرم افزار و DDD

تو این جلسه یک پروژه NestJS رو با هم ریویو می‌کنیم.

مشاهده ویدئو


اگر علاقه دارید می‌تونید کدهاتون رو برای من بفرستید تا توی این جلسه‌ها با همدیگه ریویوشون کنیم.

مباحث
00:00 ماب ریویو چیه؟
01:06 درباره پروژه؟
02:32 پارادایم Reactive Programming
03:55 معماری های Hexagonal
05:39 تعریف و انواع وابستگی توی معماری
06:55 مفهوم Dependency Inversion
13:41 مفهوم Dependency Injection
17:35 استفاده این مفاهیم توی معماری
20:08 لایه Domain توی معماری Clean
21:10 مزیت نام گذاری روی معماری‌ها و پترن‌ها
21:57 ‏Domain Driven Design چیه؟
34:24 معرفی منابع برای DDD
37:53 پرکیتس ها و اهمیت Communication
42:39 مسئولیت لایه Application
44:43 آنتی پرتن Anemic domain
46:48 مفهوم Ubiquitous language و Bounded Context
53:16 مفاهیم Strategic design و Tactical Design
54:29 فرق بین Value Object و Entity
1:00:42 مفهوم Domain Event
1:02:00 مفهوم Aggregate root
1:05:34 استفاده از این مفاهیم تو NestJS
1:06:53 مفهوم persistence ignorance
1:09:06 بی اهمیت بودن ابزارها و اهمیت نیاز بیزینس
1:12:03 چرا مقایسه ابزارها درست نیست
1:14:29 کجا باید از DDD استفاده کنیم؟
1:15:41 چرا کسب تجربه توی DDD سخته؟
1:16:34 پترن CQRS
1:19:26 چرا نباید همه جا از پترن‌ها و معماری‌ها استفاده کنیم؟


ماب ریویو چیه؟

سورس کد

اضافه کردن به تقویم


#mobreview #nestjs #cqrs #designpatterns #ddd #cleanarchitecture #hexagonarchitecture #mongodb #typescript #nodejs
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰دستورات مهم برای مدیران سیستم یا همون سیس ادمین های لینوکسی #سری اول

🔹برای اینکه بفهمیم سیستم لینوکس ری‌بوت شده یا نه،یا اخرین باری که ریبوت شده، می‌توانیم از چند دستور استفاده کنیم که زمان آخرین ری‌بوت، زمان کارکرد سیستم یا لاگ‌های مربوط به ری‌بوت را نشان می‌دهند:

1. بررسی زمان کارکرد سیستم
🔸دستور uptime نشان می‌دهد که سیستم از آخرین ری‌بوت چقدر زمان سپری کرده است.

uptime

🔸اگر زمان کارکرد سیستم کم باشد (مثلاً چند دقیقه)، نشان می‌دهد که سیستم اخیراً ری‌بوت شده است.

2. بررسی زمان آخرین ری‌بوت
🔸دستور who -b زمان آخرین ری‌بوت سیستم را نشان می‌دهد.

who -b


خروجی مثال: system boot 2025-10-01 12:34

3. بررسی لاگ‌های سیستم
🔸سیستم‌های لینوکس رویدادهای ری‌بوت را در فایل‌های لاگ ذخیره می‌کنند. می‌توانید این لاگ‌ها را بررسی کنید تا ببینید آیا ری‌بوتی رخ داده است یا نه.
الف. استفاده از دستور last
دستور last یک لیست از ری‌بوت‌ها و ورودی‌های کاربران را نشان می‌دهد.

last 

ب. استفاده از journalctl (برای سیستم‌های مبتنی بر systemd)
journalctl ابزاری قدرتمند برای پرس‌وجو از لاگ‌های سیستم است.

journalctl --list-boots

🔸این دستور شناسه‌های ری‌بوت و زمان‌های مربوط به آن‌ها را لیست می‌کند.

4. بررسی لاگ‌های کرنل
🔸دستور dmesg پیام‌های بافر حلقوی کرنل را نشان می‌دهد که شامل اطلاعات مربوط به ری‌بوت است.

dmesg | grep "Linux version"


🔸این دستور نسخه کرنل و زمان ری‌بوت را نشان می‌دهد.

5. بررسی دایرکتوری /var/log/
🔸دایرکتوری /var/log/ شامل فایل‌های لاگ مختلفی است که ممکن است شامل اطلاعات ری‌بوت باشند.


last -f /var/log/wtmp | grep reboot

——————
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
Forwarded from Yasha
نمیدونم Hubwork رو دیدید یا نه. اینو ۳ سال پیش تو کارخونه نوآوری توی یه تیم داشتیم می‌نوشتیم که باهاش زاویه، هفت و هشت و جاهای دیگه رو مدیریت کنن (فک کنم الان توی بعضی سوله‌های کارخونه نوآوری و پردیس و های‌وی و اینا استفاده می‌شه) بعد الان که اومدم اینجا امروز ۳۰ دقیقه سر ثبت‌نام توی سایت معطل شدم. چرا؟ چون بعد ۴ ماه دوباره سایتشون رو بازنویسی کردن و دیتابیس یوزرهای قبلی رو با یه کوئری ساده نتونستنن بریزن توی دیتابیس سایت جدید...توی لاگین هم یارو یه خطای خیلی عمومی نشون میده، نمیگه که شماره‌ات توی سایت اصلا وجود نداره. ما هم نیم‌ساعت با مسئولش داشتیم ور میرفتیم ببینم مشکل کجاست. توی ۳ سال اینهمه هزینه شده و وقت گذاشتن کلی آدم، اما هنوز یه سیستم مدیریت نداره که چهار تا لاگین و اشتراک رو هندل کنن.
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
ای دی جدید برای ارتباط با مدیریت :

@RaymondLazy
ترکیب nextjs و وردپرس عجب چیزیه !!‌

این روزا همه دارن از "هدلس وردپرس" حرف می‌زنن. اولش که شنیدم فکر کردم یه چیز علمی تخیلیه! ولی خب کنجکاو شدم و رفتم تو دل ماجرا.

چی شد؟ فهمیدم که وردپرس مثل یه موتور قدرتمنده، ولی خب بدن نداره! یعنی چی؟ یعنی ما وردپرس رو به عنوان بک‌اند (محل نگهداری و مدیریت محتوا) نگه می‌داریم، ولی ظاهر سایت (فرانت‌اند) رو با یه چیز دیگه می‌سازیم. اینجا بود که Next.js اومد وسط!

حالا چرا هدلس وردپرس؟

فکر کن وردپرس شده مغز و Next.js شده دست و پا. وردپرس محتوا رو نگه میداره و Next.js اونو به بهترین شکل نشون میده! اینجوری هم سرعت سایتمون بالاتره هم دستمون برای طراحی بازتره.

اما یه نکته مهم:

این روش یه مقدار پیچیده‌تر از وردپرس سنتیه. باید یه کم فنی تر باشی و با کد زدن حال کنی!

اگه میخوای بیشتر بدونی:

یه سرچ کوچولو تو گوگل بزن "WordPress Headless with Next.js" کلی مقاله و آموزش پیدا میکنی.

یه نگاه به کتابخونه‌های WPGraphQL یا Advanced Custom Fields هم بنداز.

اگه میخوای یه پروژه استارت بزنی، از استارتر کیت های Next.js برای وردپرس استفاده کن!

خلاصه که، هدلس وردپرس با Next.js یه ترکیب فوق‌العاده است که اگه یه مقدار وقت بذاری و یاد بگیری، میتونه کلی پروژه خفن برات بیاره!

@DevTwitter | <Alireza Fakhar/>