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
Forwarded from Linuxor ?
به این نمودار ها می‌گن Word Cloud که برای نشون دادن فراوانی کلمات توی متن استفاده می‌شه، که یه دید کلی از متن بهتون می‌ده

برای ساختش می‌تونید از این ریپو استفاده کنید :
https://github.com/amueller/word_cloud

با ریپوی زیر هم نسخه اصلاح شده فارسیشو می‌تونید استفاده کنید :
https://github.com/mehotkhan/persian-word-cloud


@Linuxor
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 دیپ سیک قصد دارد تراشه اختصاصی برای هوش مصنوعی بسازد!

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

#خبر

@TheRaymondDev
😁1
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (M.KH)
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۸۱۷

مرغی که ز باغ پاکبازان باشد
هم سرکش و هم سرخوش و شادان باشد
گر سر بکشد ز سرکشان میرسدش
کاندر سر او غرور بازان باشد

#مولانا | گنجور
📍@iipoem
چند وقت پیش با یکی از دوستام که برنامه نویس یه فروشگاه اینترنتی بزرگه، حرف می‌زدم. سایتشون یه وردپرس سنگین بود که ترافیکش از یه حدی که رد شد، شروع کرد به کند شدن و داون شدن‌های پشت سر هم. مشکل چی بود؟ مثل همیشه، MySQL به گلوگاه تبدیل شده بود.

یه دوستی بهشون گفته بود که راهش واضحه، Read/Write Splitting. دیتابیس رو Replica بزنید، Readها رو بفرستید روی Replica و Writeها روی Primary، فشار کم می‌شه، مشکل حله!

من خندیدم گفتم: این روی کاغذ جواب می‌ده، ولی توی یه فروشگاه واقعی به درد نمی‌خوره. فرض کن یه مشتری یه محصول رو می‌خره، ولی چون Replica هنوز Sync نشده، توی صفحه محصول هنوز موجود نشون داده می‌شه. بعد یکی دیگه میاد، خرید می‌کنه، و یهویی دوتا سفارش برای یه محصولی که فقط یکی ازش مونده ثبت می‌شه. حالا میخای چیکار کنی؟

پرسید پس چیکار کنیم؟
سه تا راه به ذهنم میرسید برای بهینه کردن.
اول کوئری های سنگین مثل لود محصولات رو redis cache کن، دیتابیس یکم نفس بکشه
دوم شاردینگ رو امتحان کن. جدول های ووکامرس رو روی یه دیتابیس دیگه ببر ببین فرقی میکنه یا نه
۳ اینکه چرا سبد خرید کاربرات رو توی دیتابیس نگه میداری؟ ببرشون روی ردیس

نمیدونم مشکلشون برطرف شد یا نه
ولی تجربه ثابت کرده وردپرس بالای دوهزار تا پست، دردسرش بیشتره تا منفعتش.
همین که بیزینستون بزرگ شد، به مهاجرت از وردپرس اقدام کنید,

@DevTwitter | <Mohammad Haquqatkhah/>
Forwarded from Mr Python | مستر پایتون (حسین)
خب خب خب پشت صحنه دکوریتورها در پایتون: چه اتفاقی پشت پرده می‌افته؟ 🚀

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

1⃣ پایتون چطوری کد رو اجرا می‌کنه؟ 📜
قبل از اینکه بریم سراغ دکوریتورها، یه نکته مهم:
پایتون یه زبان مفسریه، یعنی خط‌به‌خط کد رو اجرا می‌کنه. ولی قبل از اجرا، اول کد رو به بایت‌کد تبدیل می‌کنه و بعد اون رو می‌فرسته برای ماشین مجازی پایتون (PVM).
تو این فرآیند، هر تابع و کلاس یه آبجکت جداگانه توی حافظه می‌شه و همینجاست که دکوریتورها وارد عمل می‌شن 🚀

2⃣ دکوریتورها دقیقاً چیکار می‌کنن؟ 🔧

1⃣ وقتی @ می‌ذاریم، واقعاً چی می‌شه؟
وقتی یه تابع رو با @my_decorator دکوریت می‌کنیم، پایتون پشت صحنه این کارو انجام می‌ده:
@my_decorator
def func(...):
...

میشه این:
def func(...):
...

func = my_decorator(func)

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

2⃣ ترتیب اجرا چطوریه؟
وقتی دکوریتور روی تابع اعمال می‌شه:
تابع اصلی به عنوان یه آبجکت ساخته می‌شه.

دکوریتور اجرا می‌شه و تابع اصلی رو می‌گیره.

خروجی دکوریتور جایگزین تابع اصلی می‌شه.

پس، از این به بعد هر وقت تابع رو صدا بزنید، در واقع دارید خروجی دکوریتور رو اجرا می‌کنید، نه تابع اصلی رو

3⃣ چه بلایی سر تابع میاد؟ 🔍

1⃣ تابع اصلی تبدیل می‌شه به...
هر تابع تو پایتون یه آبجکته، پس دکوریتورها می‌تونن روش تغییرات زیادی بدن:
قبل از اجرا یه کار انجام بدن (مثلاً لاگ بگیرن).
تابع اصلی رو اجرا کنن.
بعد از اجرا هم یه کار دیگه انجام بدن (مثلاً خروجی رو دستکاری کنن).
یا حتی یه چیز کاملاً جدید برگردونن
در نتیجه، اسم تابع دیگه به اون چیزی که اول تعریف کردید اشاره نمی‌کنه، بلکه به خروجی دکوریتور اشاره داره.

2⃣ مشکل متادیتا و راه‌حل functools.wraps
یه مشکل اینه که دکوریتور باعث می‌شه اطلاعات تابع (مثل نام، توضیحات و...) از بین بره. برای حل این مشکل، باید از functools.wraps استفاده کنیم:
import functools

def log_calls(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
print(f"قبل از اجرای {func.__name__}")
result = func(*args, **kwargs)
print(f"بعد از اجرای {func.__name__}")
return result
return wrapper

اینطوری، متادیتای تابع اصلی حفظ می‌شه وdoc __doc__ دسترسی داشت. 😎

3⃣ دکوریتورهای پشت سر هم (Chaining Decorators)
اگه چندتا دکوریتور رو روی یه تابع بذاریم، ترتیبش مهمه. به این مثال دقت کن:
@decorator_a
@decorator_b
def func():
pass

اول decorator_b اجرا می‌شه و خروجی‌ش می‌ره تو decorator_a. پس ترتیب اجرا به این شکله:
func = decorator_b(func)

func = decorator_a(func)


پس، دکوریتوری که پایین‌تر نوشته شده، زودتر اجرا می‌شه 🔄

4⃣ پشت صحنه در زمان کامپایل و اجرا 🕒

1⃣ دکوریتور کی اجرا می‌شه؟
دکوریتورها همون موقعی که تابع یا کلاس تعریف می‌شه اجرا می‌شن، نه وقتی که تابع رو صدا می‌زنید. پس این کد:
@my_decorator
def my_func():
pass

در لحظه‌ای که پایتون به این خط کد می‌رسه، my_decorator(my_func) اجرا می‌شه و خروجی‌ش جایگزین my_func می‌شه.

2⃣ ذخیره تابع در فضای نام (Namespace Binding)
بعد از این فرآیند، اسم تابع به تابع دکوریت‌شده اشاره می‌کنه. پس اگه تابع اصلی رو نگه نداشته باشید، دیگه بهش دسترسی ندارید

3⃣ تأثیر روی بهینه‌سازی
چون دکوریتورها می‌تونن کد تابع رو تغییر بدن، ممکنه باعث بشن که بهینه‌سازی‌هایی که پایتون انجام می‌ده، دیگه درست کار نکنه. برای مثال، اگه دکوریتور یه حلقه اضافه کنه یا اجرای تابع رو تغییر بده، بایت‌کد نهایی کاملاً متفاوت می‌شه.

5⃣ نکات مهم که باید رعایت کنید 💡

از functools.wraps استفاده کنید
اگه دکوریتورتون متادیتای تابع رو تغییر می‌ده، این کار باعث می‌شه اطلاعات تابع اصلی حفظ بشه.

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

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

#⃣ #python #programming



🥷 CHANNEL | GROUP
Forwarded from Linux Labdon
Linux boot process explained

https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
واقعا keep it simple توی معماری و سیاست های shadcn به خوبی رعایت شده ...

شاید شما هم از خیلیا شنیده باشید که shadcn خیلی خوب و خفنه، ولی من ندیدم کسی بیاد به طور دقیق این مورد رو توضیح بده.
به زودی یه پست میزارم راجبش که ببینید چه ویژگی هایی وجود داره که انقدر shadcn رو نسبت به بقیه ui kit ها متمایز میکنه

#shadcn #tailwind #tips


یه جورایی میشه گفت shadcn تصمیم گرفت از محدودیت ها خارج بشه ؛)

𝗖𝗛𝗔𝗡𝗡𝗘𝗟  |  𝗚𝗥𝗢𝗨𝗣
Title not found

#⃣ #fun



🥷 CHANNEL | GROUP
لاراول نایت‌واچ - Laravel Nightwatch

تیلور آتوِل عزیز این ابزار خفنُ برای نظارت بر اپ‌های لاراولی ساخته که بهت کمک می‌کنه همیشه حواست به عملکرد و سلامت سیستمت باشه ولی هنوز ریلیز نشده. از درخواست‌ها و لاگ‌ها گرفته تا ارورها و مسیرهای کند، همه رو زیر نظر داره و سریع بهت هشدار میده. دیگه Telescope و Pulse رو بنداز دور

https://www.youtube.com/watch?v=-fJnnAm1qBs

@DevTwitter | <Vahid Kaargar/>
Forwarded from کدنویس یکروزه (پدرام رحیمی)
nodejs-intro.pdf
739.3 KB
روش ساخت سِرور با Node.js

پیش از این آشنایی با نُد و همینطور روش نصب اون رو شرح دادیم. حالا روش نوشتن برنامه و ایجاد یک سِرور کوچک را در چند خط ساده یاد بگیرید.

#nodejs #server #beginner #book
خب یه دوست گرامی انتخاب شد
با تشکر از همگی
This media is not supported in your browser
VIEW IN TELEGRAM
هشتگ‌هامونو دنبال کنید که بلکه چهارتا مطلب باحال به تورتون بخوره

devtwitter.t.me/5
#کارفرمای_آلت_چهره

‏دولوپر کیست؟
یک موجود که باید تمامی زبان های برنامه نویسی را بداند.
همیشه باید سکوت کند چون تمام برنامه نویسی از دید کارفرما چند if ساده است.

@DevTwitter | <بهزاد/>
Forwarded from Golden Code (علی 🇨🇴)
در MySQL میتونیم با استفاده از Table Partitioning جداول بزرگمونو به بخش‌های کوچکتر تقسیم کنیم.

فایدش چیه؟؟
این کار query performance رو خیلی میتونه بهینه تر کنه برامون.


مثلا اگه جدول فروشمون خیلی بزرگ باشه و دیتاش شامل تاریخ فروش باشه، میتونیم جدولمونو بر اساس سال پارتیشن‌بندی کنیم و خب اینطوری وقتی بخوایم دیتاهای یه سال خاصی رو جستجو کنیم، فقط بخش مربوط به همون یه سال بررسی میشه که خب باعث میشه فرایند جستوجو سرعتش بهینه تر بشه.
#Laravel
@GoldenCodeir
(به‌منبع و مثالش دقت کنید 👇🏾)
https://x.com/mmartin_joo/status/1890023138622116289?t=bgrX4CCiL7eaLwpI9CAdYw&s=35
🔥2
اگر هنوز فکر می‌کنید از کرنل لینوکس چیز جدیدتری رخ نداده، باید بگم فدورا و obs سر یک بسته غیررسمی فلت‌پک از obs دارن به سروکله هم میزنن و احتمالا obs شکایت رسمی تنظیم کنه.


https://news.itsfoss.com/obs-studio-fedora-feud/


@SohrabContents
‏WordPress DB VS joomla DB
مقایسه استراکچر دیتابیس جوملا با وردپرس

@DevTwitter | <Hamidreza Zolfaghar/>
Forwarded from Yasha
Readable code is reliable code.
-Rob Pike
نیاز به کمکتون دارم

اگر اپ موبایل می‌نویسید و سینیور محسوب می‌شید (ترجیحا هر چیزی غیر از react native)، یک راهنمایی در مورد حوزه‌ی کاریتون نیاز دارم.
زبان‌هایی که کار می‌کنید، چالش‌ها، پیش‌نیاز‌ها برای شروع و ...

* احتمالا مجموعه‌ای از مواردی که دوستان میگن رو توی چنل منتشر می‌کنیم

@dvtwi