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 Ninja Learn | نینجا لرن (Denver)
خب خب خب، مدیریت تنظیمات با Pydantic⚙️
احتمالا اسم Pydantic به گوشتون خورده یا توی پروژه هاتون ازش استفاده کردین. ولی برای مدیریت تنظیمات پروژه از چی استفاده کردین؟ Pydantic یه کلاس به اسم BaseSettings ارائه میده که برای مدیریت تنظیمات برنامه از جمله متغیر های محیطی و پیش فرض ها استفاده میشه.

چرا از BaseSettings استفاده کنیم؟
🧐
1️⃣ خواندن خودکار متغیر های محیطی:
با استفاده از BaseSettigns بدون نیاز به کتابخونه های اضافی مثل python-dotenv میتونیم به متغیر های محیطی دسترسی داشته باشیم.

2️⃣ اعتبارسنجی امن و خودکار متغیر ها:
‏Pydantic به صورت خودکار تایپ هارو چک میکنه و دیگه نیازی به type cast دستی نیست.

3️⃣ پشتیبانی ساده از چند محیط:
با یکم خلاقیت می‌تونیم چندین کلاس تنظیمات برای محیط‌های مختلف مثل Dev, Prod و Test بسازیم.

4️⃣ مناسب برای پروژه‌های بزرگ:
میشه همه‌ی تنظیمات پروژه مثل دیتابیس، کلیدهای API، حالت دیباگ و... رو توی یک کلاس متمرکز نگهداری کرد و راحت تو کل پروژه استفاده‌شون کرد.

ساختار پایه ی کلاس تنظیمات
🔧
قبل از هر کاری مطمئن بشید که pydantic و پکیج pydantic-settings نصب باشن:
pip install pydantic pydantic-settings

و بعد میتونید با تعریف کلاس و تنظیماتی که نیاز دارین اونارو مدیریت کنین.
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict

class Settings(BaseSettings):
model_config = SettingsConfigDict(
env_file='.env', # env file location
)
debug: bool = True
database_url: str
secret_key: str

این یعنی:
مقدار debug به طور پیش فرض True هست و بقیه مقادیر باید توی فایل env. یا محیط سیستم تعریف بشن، در غیر این صورت ارور میگیریم. نکته جالب اینه که Pydantic از type cast خودکار پشتیبانی میکنه، مثلا اینجا مقدار "True" توی محیط رو به bool تبدیل میکنه.
و فایل env. باید به این شکل باشه:
DATABASE_URL=postgresql://user:pass@localhost/dbname
SECRET_KEY=s3cr3t-k3y


نحوه ی استفاده از تنظیمات
🛠
میتونیم یه نمونه از کلاس تنظیمات بسازیم و بعد با استفاده از اتریبیوت ها به تنظیمات دسترسی پیدا کنیم:
settings = Settings()
print(settings.database_url)
print(settings.debug)


جمع بندی
✍️
کلاس BaseSettings یکی از ابزارهای بسیار مهم و کاربردی در Pydantic هست که به شما اجازه می‌ده تنظیمات پروژه رو به شکل متمرکز، امن، قابل تست و قابل توسعه مدیریت کنین.
توی پروژه‌های بزرگ یا اپلیکیشن‌هایی که چند محیط (مثل dev، test و prod) دارن، استفاده از این ساختار کمک می‌کنه کد تمیزتر و حرفه‌ای‌تری داشته باشین.

#️⃣ #programming #python


🥷🏻 CHANNEL | GROUP
یکی از تمرین‌هایی که تو مسیر یادگیری برنامه‌نویسی Python انجام دادم، ساخت یک Password Generator ساده و کاربردی بود

در این پروژه:
- کاربر تعداد حروف، اعداد و سمبل‌ها رو وارد می‌کنه
- رمز به صورت تصادفی تولید و سپس shuffle می‌شه
- با مفاهیم list, random, input, و for آشنا شدم

هدفم تمرین و تقویت منطق برنامه‌نویسی و استفاده از ساختارهای پایه‌ای پایتون بود.


سورس‌کد پروژه در گیت‌هاب:
https://github.com/Ali-golzadeh/Python-Password-Generator

@DevTwitter | <Ali Golzadeh/>
Forwarded from Linuxor ?
می‌دونستی می‌تونی کاری کنی که کد زدنت سریع‌تر بشه و دیگه لازم نباشه دستی کدتو مرتب کنی؟ Prettier دقیقاً همین کار رو می‌کنه. یک‌بار تنظیمش می‌کنی (مثلاً موقع ذخیره فایل، خودکار فرمت کنه) و تمام! از جاوااسکریپت و تایپ‌اسکریپت گرفته تا CSS، HTML، JSON و حتی Markdown، کلی زبان رو پشتیبانی می‌کنه. یعنی یه ابزار برای همه نیازهای فرمت کردنت. مخصوصاً به درد برنامه‌نویس‌هایی می‌خوره که با چند تا زبان مختلف سر و کار دارن و نمی‌خوان برای هر کدوم یه قانون جدا تعریف کنن.


prettier.io

@Linuxor
Forwarded from Gopher Academy
🔵 عنوان مقاله
chafa-go: Render Images in the Terminal with Chafa

🟢 خلاصه مقاله:

این مقاله به بررسی بایندینگ‌های زبان برنامه‌نویسی Go برای کتابخانه‌ی Chafa می‌پردازد که از ترکیبات هوشمندانه‌ی نمادهای یونیکد برای نمایش گرافیک در محیط‌های ترمینال استفاده می‌کند. این کتابخانه توانایی نمایش تصاویر در محیط‌هایی که تنها خروجی متنی دارند را فراهم می‌آورد و برای استفاده در برنامه‌های سمت سرور یا سناریوهای اسکریپت‌نویسی خودکار مفید است. بایندینگ‌های Go با استفاده از purego ساخته شده‌اند که نیاز به CGO را از بین می‌برد اما نیازمند نسخه‌ی ۱.۲۴ زبان Go می‌باشد. این ابزار جدید امکان ترکیب قابلیت‌های مبتنی بر متن و گرافیکی را به توسعه‌دهندگان Go می‌دهد و دامنه‌ی کاربردهای ممکن در رابط‌های ترمینال را گسترش می‌دهد.

🟣لینک مقاله:
https://golangweekly.com/link/169710/web


👑 @gopher_academy
آموزش میکروسرویس توی لاراول

آقای Gary Clarke نکات خیلی خوبی رو میگه داخل این دوره که دیدنش خالی از لطف نیست.


به نظرم برای هر PHP دولوپری دیدنش ضروریه
این پلی‌لیست رو ذخیره کنید که به دردتون می‌خوره

https://www.youtube.com/playlist?list=PLQH1-k79HB3_8oAmVySV3PBp869IWGpLN

@DevTwitter | <MiladNiroee/>
Forwarded from Linuxor ?
گوگل یه ابزار داره به اسم zx که باهاش می‌شه با سینتکس جاوااسکریپت و یه wrapper بش اسکریپت بنویسید خیلی برای اسکیپت های بیلد و دیپلوی حتی استفاده روزمره خیلی خوبه

google.github.io/zx/

@Linuxor
افزایش چند برابری امنیت سایت

این کد برابری میکنه با نصب تمام افزونه های امنیتی

وارد wp-content وردرپرس میشید یه پوشه میسازید به اسم mu-plugins

سپس این فایل پایین رو درونش قرار میدید و جای ادرس site.com آدرس سایت خودتون میزارید

باعث میشه اگر هکر به سایت نفوذ کرد هیچ دستکاری توی کدای سایت نتونه بکنه و نتونه قالب و افزونه نصب کنه و نتونه ادرس سایت رو به هیچ عنوان تغییر بده و پرمیژن های اصلی سایت رو عوض کنه ( و دسترسی به این فایلم نداره که پاکش کنه چون از طریق mu-plugins نصب شده )

@poinair پوینا
یک api ساده بلاگ نوشتم
https://github.com/mlk9/ravana-api

@DevTwitter | <Mohammad Maleki/>
یه پروژه باحال و کاربردی که با پایتون نوشتم تا به راحتی بتونی اطلاعات محصولات، قیمت‌ها و نظرات آمازون رو خودکار جمع‌آوری کنی. با کمک Selenium و BeautifulSoup این کار رو سریع و دقیق انجام میده و بهت این امکان رو میده که کلی زمان توی جستجو و بررسی محصولات صرفه‌جویی کنی. اگه دنبال یه راه ساده و هوشمند برای اسکرپ کردن آمازون هستی، حتما یه نگاهی بنداز!

https://github.com/mehdi-jahani/amazon-scrapper

@DevTwitter | <mehdi-jahani/>
Forwarded from Linuxor ?
- آموزش لینوکس 🐧
- آموزش سی از مبتدی تا نیمه خفن ©️
- آموزش بش اسکریپت 💣

هر هفته ویدیو داریم و چیزای خوب دیگه.
دوره های لینوکس و سی استارت خوردن.

🌋 کوئیز گرفتن بعد از ویدیوها انجام میشه.

امیدوارم تایم خوبی رو با هم بگذرونیم 🚀🌋

@TCafeLinux
Forwarded from IAAA.AI
👾 جامع‌ترین دوره هوش مصنوعی ایران (فرصت امریه و استخدام)

📌 اگه علاقمندید هوش‌مصنوعی رو تخصصی یاد بگیرید و در همین حوزه مشغول به کار بشید، الان بهترین فرصته!
با شرکت در سومین دوره جایزه سالانه هوش‌مصنوعی ایران (iAAA) :
آموزش ‌میبینید،
زیر نظر اساتید برجسته پروژه های واقعی رو انجام می‌دید و برای جایزه 50 هزار دلاری رقابت می‌کنید💸

🔻ویژگی‌های دوره:
🔸 240 ساعت آموزش پروژه محور
🔹 ارائه مدرک از دانشگاه شریف
🔸 اساتید بین‌المللی
🔸 فرصت استخدام و کارآموزی و امریه

کد تخفیف 50 درصدی: tech50
«مهلت استفاده: ۱۸ خرداد»
همین الان ثبت نام کنید:

🔗
جایزه سالانه هوش مصنوعی ایران

راه‌های ارتباطی:
📞 02191096992
📩 @iaaa_event

کانال اطلاع رسانی:
🆔 @iaaa_ai
تلگرام یک آپدیت برگ‌ریزون دیگه داد :)))


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

https://telegram.org/blog/direct-to-channel-trim-voice-and-more


@SohrabContents
Forwarded from Linuxor ?
با Segment Anything می‌تونید اشیاء رو از توی عکس ها تشخیص بدید جالب‌ترین بخشش به نظرم قابلیت Zero-shot اونه. یعنی مدل بدون اینکه از قبل نمونه‌های اون شیء خاص رو دیده باشه، می‌تونه اونو تو تصویر تشخیص بده و جدا کنه. این فرق بزرگی با مدل‌های قدیمیه که باید برای هر کلاس جدیدی از اشیاء، کلی داده و آموزش جدید بهشون می‌دادی. این انعطاف‌پذیری برای کاربردهای خلاقانه یا تحلیل داده‌های تصویری خیلی متنوع، فوق‌العاده است.


github.com/facebookresearch/segment-anything

@Linuxor
اگر از #warpPlus، #oblivion یا #oblivionDesktop استفاده می‌کنین و چندروزی هست که برای اتصال روی بعضی‌از سرویس‌دهنده‌ها به مشکل برخوردین، منتظر بروزرسانی جدید بمونین.
نیازی نیست دلیل بروز مشکل رو تشریح کنم و حدس زدنش کار سختی نیست! ولی وارپ‌پلاس رو دارن آپدیت می‌کنن و هرموقع بروزرسانی اومد، ابلیویون و ابلیویون دسکتاپ هم آپدیت میشن.

🔍 ircf.space
@ircfspace
بررسی سورس کد صرافی ViaBTC

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

لینک یوتیوب
https://www.youtube.com/watch?v=9F9M_1YGxHA

@DevTwitter | <ًRouzbeh/>
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۵۶۲

ای مرغ عجب که صید تو شیرانند
گمگشته سودای تو جان سیرانند
خرم زی و آسوده که این شهر ز تو
زیران ز بران و زبران زیرانند

#مولانا | گنجور
📍@iipoem
Forwarded from Geek Alerts
تلگرام در بروزرسانی جدیدش، قابلیتی به اسم Direct Message رو به چنل‌ها اضافه کرده تا ادمین‌ها بتونن از طرف دنبال‌کننده‌های کانال پیام دریافت کنن. این‌طور که با فعال‌سازی این قابلیت(می‌شه براش پرداخت ستاره هم به عنوان هزینه فعال کرد)، یک گروه جدا برای ادمین‌ها ساخته می‌شه، ادمین‌ها می‌تونن به طور ناشناس به پیام‌های کاربران جواب بدن.

🤓 hadi @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevDrug
بررسی سورس کد صرافی ViaBTC

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

لینک یوتیوب 👇

https://www.youtube.com/watch?v=9F9M_1YGxHA