Sadra Codes @lnxpylnxpy Channel on Telegram

Sadra Codes

@lnxpylnxpy


Sadra Yahyapour ✌️

Let's dive deeper together. :)

imsadra.me
github.com/lnxpy
linkedin.com/in/sadra-yahyapour
x.com/lnxpylnxpy
[email protected]

Sadra Codes (English)

Are you passionate about coding and looking to enhance your skills? Look no further than the 'Sadra Codes' Telegram channel, created by the talented Sadra Yahyapour, also known as lnxpylnxpy. With a background in software development and a love for sharing knowledge, Sadra invites you to dive deeper into the world of coding with him. Whether you are a beginner looking to learn the basics or an experienced coder seeking advanced techniques, this channel has something for everyone. Stay updated on the latest coding trends, tips, and tricks by following Sadra's journey on his blog, GitHub, LinkedIn, Twitter, and email. Join the 'Sadra Codes' community today and let's code together to make your coding dreams a reality!

Sadra Codes

20 Nov, 13:35


ورژن 0.8 پای‌اکشن رو رلیز کردم و خیلی خوب شده!

- کل ساختار (دیپلوی، بیلد، تست و..) برپایه uv بازطراحی شده. سرعت ورکفلو چه داخلی و چه ورکفلوی اکشن شما خیلی بهبود یافته.
- داکیومنت‌ها آپدیت شدن. خیلی مختصر و مفیدتر توضیح دادم. تمام داکیومنت‌ها به یک پلتفورم دیگه انتقال پیدا کردن.

داکیومنت: pyaction.imsadra.me/docs
ریپازیتوری: github.com/lnxpy/pyaction

Sadra Codes

20 Nov, 05:23


قبلا راجع به تاکس (tox) صحبت کردیم. یه ابزار مدیریت venvه. شما می‌تونی یک سری محیط‌ها درش تعریف کنی و از طریق cli، میاد و venv مجزا واسه هر محیط درست می‌کنه، نیازمندی هر محیط رو در اون محیط نصب می‌کنه و کامندهایی که واسش ست کردید رو ران می‌کنه. یه ابزار قدرتمنده جهت تست کردن پروژه در چندین محیط مختلف (مثلا py3.9 py3.10 و..) یا حتی محیط هایی که درش linter یا formatter دلخواهتون نصبه.

این پروژه جدید تاکسه که اجازه می‌ده همین سیستم رو ولی با پرفورمنس و سرعت uv داشته باشین. سرعت اجراش واقعا سریعه!

اگه قبلا اینجوری لینت می‌کردین:
uvx tox -e lint

الان کافیه تبدیلش کنید به این:
uvx --with tox-uv tox -e lint

بیشتر: https://github.com/tox-dev/tox-uv

Sadra Codes

19 Nov, 20:51


اگه روی پروداکشن یا توی یه محیط ایزوله که چیزی از راست نصب ندارید از pydantic v2 استفاده می‌کنید، فعلا سوییچ نکنید به python3.13. یه سری دپندنسی راست نیازه که نصب داشته باشید که با پایتون 3.13 همخوانی ندارن و پای‌دنتیکم نمی‌تونه کاری واستون انجام بده.

خود pydantic نیازمند pydantic_core هست. پکیجی که کامل با راست نوشته شده که و به PyO3 ورژن 0.22.5 (با ساپورت پایتون ۳.۱۳ بتا) وابسته هست. این درحالیه که ساپورت اصلی واسه پایتون 3.13 روی ورژن 0.23.0 این پکیج رلیز شده. پس احتمال داره به مشکل بخورید.

Sadra Codes

19 Nov, 05:48


Today i want to teach you how to program a bomb 😂😂😂

Sadra Codes

19 Nov, 05:37


Halal developer
Haram developer

Sadra Codes

19 Nov, 05:33


404: caption not found

Sadra Codes

19 Nov, 03:40


به تازگی کل زندگیم رو سرییچ کردم روی ابزارهای Astral (uv و ruff) و از VScode به Zed (یه ادیتور نوشته شده با راست) نقل مکان کردم.

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

+ کانفیگ راحت
+ شخصی‌سازی راحت
+ راه اندازی AI Assistant راحت (به هر LLM با هر endpointی می‌تونید وصلش کنید)
+ تم شخصی
+ سبک
+ با فریم ریت بالا اجرا میشه و از GPU استفاده می‌کنه

هر پرسشی راجع بهش دارید بپرسید سعی می‌کنم پاسخ بدم.

در ضمن این ادیتور درحال حاضر واسه مک و لینوکس در دسترسه. (با یک سری ترفند میشه روی ویندوز آوردش بالا ولی استیبل نیست)

Sadra Codes

16 Nov, 21:52


نحوه نصب #odoo رو تو سیستم های ubuntu,centos و windows به همراه ارور ها و چالش هایی که میتونه داشته باشه رو ریپازیتوری کردم تا به راحتی بتونید نصب کنید.

لینک مخزن:
Https://github.com/AmirakbariSXL/Odoo-Installation

#SXL
#ERP
#Odoo

Sadra Codes

16 Nov, 11:12


خیلی وقتا، ما به دنبال مشکل واسه راه‌حل‌هایی هستیم که در سر داریم و گله‌مندیم که چرا این ایده نگرفت. ایده به این خوبی..! و خب دلسرد می‌شیم. :)

Sadra Codes

14 Nov, 02:53


Masterpiece

https://www.youtube.com/watch?v=ap9dFV_FDQk

Sadra Codes

12 Nov, 19:06


Same sh*t, different dish. 🥸😂

Sadra Codes

11 Nov, 02:54


این مقاله خیلی خوب بود. بررسی شیوه توسعه نرم‌افزار در عصر حاضر. تاثیر زبان‌های Static type، تاثیر AI، اینکه چقدر به نتایج LLMها اعتماد کنیم و اصولا کی و در چه مواردی ازشون استفاده کنیم.

https://lettersfromacto.substack.com/p/the-new-rules-of-coding-engineering

Sadra Codes

07 Nov, 15:43


#آف_تاپیک #موقت

استارت آپ من دنبال UI UX دیزاینری هست که زبان انگلیسی بلد باشه. متن آگهی:
-------------

پوزیشن:‌ UI/UX Designer
محل کار:‌ ریموت

درباره پروداکت:
فیر تو بات یک پروداکت B2B هست که با ارائه API و داشبورد، به کسب‌وکارها امکان می‌دهد به‌طور خودکار با بازی‌های آنلاین تعامل داشته باشند و انتقال ارزهای دیجیتال درون بازی را خودکار کنند. پلتفرم ما به شرکت‌ها کمک می‌کند تا فرآیندهای مرتبط با ارزهای بازی را بهینه‌سازی کنند و هزینه ها را کاهش بدهند و تجربه کاربری بهتری را برای مشتریان خود فراهم نمایند.
ما به دنبال یک طراح UI/UX هستیم که بتواند طراحی‌های تجربه کاربری را از ابتدا تا انتها انجام دهد و با انجام تحقیقات دقیق، به بهبود مستمر پلتفرم ما کمک کند. کاندیدای ایده‌آل باید دارای توانایی ایجاد رابط‌های کاربری جذاب و کاربرپسند باشد و بتواند نیازهای کسب‌وکارهای ما را در طراحی‌های خود به خوبی منعکس کند.


وظایف:
- Design and refine intuitive, user-centered UI/UX solutions with a focus on simplicity and functionality.
- Collaborate with developers to translate designs into interactive prototypes and final implementations using Figma.
- Conduct user research, usability testing, and analyze feedback to identify and prioritize design improvements.
- Create data-driven visuals, including analytics dashboards and complex UI components.
- Facilitate user interviews and workshops in English to gather requirements and enhance the user experience.

نیازمندی ها:
- Proven experience in UI/UX design.
- Proficiency in Figma.
- Good communication skills in English, both written and verbal.
- Strong research and problem-solving abilities with an independent and proactive approach
- In-depth understanding of UX principles, information architecture, and end-to-end design processes.

آنچه ما ارائه می دهیم:
- Innovative work environment: Freedom to explore without tight deadlines
- Remote work flexibility

در صورت تمایل لطفا رزومه و portfolio در آدرس زیر وارد فرمایین.
https://forms.gle/LqPJEfccL9mB1XxRA


@ManiFoldsPython

Sadra Codes

04 Nov, 14:20


:)

Sadra Codes

03 Nov, 21:22


یه مقاله خیلی جمع و جور نوشتم واستون. اگه به مبحث type hinting علاقه دارین، توی این مقاله راجع به Generic Typing توی پایتون نوشتم. دقیقا سینتکس زیر و اون [T] که گاها ممکنه گیج کننده باشه:

def function[T](...) -> T:
...


اینکه چیه و چیکار می‌کنه به همراه کلی مثال و تمرین کوچیک که درک این قضیه رو واستون ساده‌تر می‌کنه.

Read 👉 https://blog.imsadra.me/generic-typing-in-python

این سینتکس در ورژن ۳.۱۲ معرفی شد. در رلیزهای بعدی پایتون، خواهید دید که خیلی از این سینتکس استفاده میشه.

Sadra Codes

31 Oct, 22:31


Typescript >>> Python's Typing (type checking libs, intellisense libs..)

Sadra Codes

29 Oct, 20:31


guido.follow(guido[::-1])

Sadra Codes

28 Oct, 11:46


کیفیت بهتر

Sadra Codes

28 Oct, 11:45


🫡👑

Sadra Codes

24 Oct, 16:04


We judge others by their results.
We judge ourselves by our efforts.

Sadra Codes

23 Oct, 04:14


ولی ویندوز عامل چه شکلیه ینی؟ 🧐

Sadra Codes

21 Oct, 08:05


LGTM 🤙

Sadra Codes

20 Oct, 07:05


ایشالا که باگ کش توییتره.. 😂

Sadra Codes

20 Oct, 06:48


ابزارهایی که Astral درست کرده، معنی واقعی پکیجه.

uv = virtualenv + pip + pyenv
ruff = flake + black + isort
rye = uv + ruff + twine + ...

توی سرعت که حرف ندارن و واقعا کار میکنن! 🤟

Astral: https://github.com/astral-sh

Sadra Codes

19 Oct, 20:34


به هیچی دست نزدی ولی یهو بعد از یه مدت، کل سیستم Fail میشه و هیچی درست کار نمی‌کنه!!

یه مشکل خیلی عجیب توی یه سری از اکشن‌هایی که با pyaction نوشته بودم رخ داد و اونم این بود که اکشن بدون هیچ دلیلی موقع نصب requirementها Fail می‌شد! عملا به هیچی دست نزده بودم.

مشکل رو می‌گم، خودتون بسطش بدید و سعی کنید خیلی توی اینجور موارد حواستون باشه. من توی اکشن‌ها از داکر ایمیج python:3-slim استفاده می‌کنم. سبک و سریعه و بدون مشکل روی رانر گیت‌هاب میاد بالا. مشکل از این قراره که تا ۲-۳ هفته پیش، این ایمیج پایتون ۳.۱۲ رو نصب می‌کرد و بدون مشکل dependencyها نصب می‌شدن. بعد از استیبل شدن پایتون ۳.۱۳ یهو این ایمیج تصمیم می‌گیره که سوییچ کنه روی این نسخه و روی رانر، پایتون ۳.۱۳ رو نصب کنه. خب تا اینجاشم اوکیه. (چون پایتون ۴ نیس. 😁)

این تغییر به ظاهر اوکیه ولی یک سری از requirementهایی که داریم یکم low-levelتر هستن و بخش‌هاییشون ممکنه با راست نوشته شده باشه، کامپایل کد سی باشه حتی که باعث میشه اون نسخه خاص از پکیج صرفا با پایتون ۳.۱۲ هم‌خوانی داشته باشه و نه چیز دیگه‌ای واسه همین موقع نصب، به مشکل می‌خورد و کل ورکفلو Fail میشد.

نتیجه:
سعی کنید دپندنسی‌هاتون رو اینجوری ننویسید:
foo
baz
bar

اینطوری بنویسید:
foo == 1.2.3
bar >= 1.2
baz ~= 1.2.1

یا مثلا توی مورد من، بهتر بود که داکرفایلم اینطوری شروع میشد:
FROM python:3.12-slim

نه اینجوری:
FROM python:3-slim

Sadra Codes

13 Oct, 09:53


AioClock
در ماه ۴ هزار دانلود داره 🚀
یک شرکت بزرگ تو برزیل هم داره ازش استفاده میکنه و تو لینکدین ازم تشکر کردن خیلی حس خوبی داشت :))

واقعا دوست دارم فول تایم اوپن سورس کار کنم. و مثلا همین پروژه naked sqlalchemy ام حاصله دو شب کار بود.
ولی متاسفانه هنوز به نقطه ای نرسیدم که بتونم کسب درآمد کنم از پروژه اوپن سورسم
برای همین به حمایتتون نیاز دارم این حمایت میتونه یک استار گیت هاب باشه, که پروژه هام بیشتر دیده شه و به اون نقطه نزدیک تر شم 🫶

فریم ورک/لایبری های مفید اوپن سورسی که تاحالا منتشر کردم:

AioClock - A modern python scheduling framework with dependency injection and modular integration support. Alternative for Rocketry or apscheduler

Naked SQLA - A simple and lightweight object mapper around SQLAlchemy core, simple alternative to SQLAlchemy ORM.


CfCrawler - Cloudflare scraper and cralwer written in Async, In-place library for HTTPX. Crawl website that has cloudflare enabled, easier than ever!

@PyBackendHub

Sadra Codes

12 Oct, 13:09


امروز خیلی خوشحالم که بالاخره Naked SQLAlchemy رو معرفی میکنم، یه thin wrapper روی SQLAlchemy Core که کار با دیتابیس‌ها تو پایتون رو ساده‌تر می‌کنه. بعد از اینکه با pitfallهای ORM مواجه شدم—مثل اینکه داده‌های توی حافظه با وضعیت واقعی دیتابیس یکی نبود به خاطر پیچیدگی‌هایی مثل identity mapping و dirty tracking—فهمیدم این ویژگی‌هایی که قرار بوده کار رو راحت کنن، در واقع باعث پیچیدگی و سخت‌تر شدن یادگیری می‌شن. Naked SQLAlchemy با ترویج استفاده صریح از SQL و map مستقیم نتایج کوئری به dataclassهای پایتون، این لایه‌های غیرضروری رو کنار می‌زنه.

علاوه بر بهبود سرعت قابل توجه (تقریباً دو برابر سریع‌تر از ORM)، یادگیری Naked SQLAlchemy آسونه چون بر پایه دانشی هست که احتمالاً از قبل داری. امکاناتی مثل مپ کردن dataclass، مدیریت session بدون داشتن state، و امکان تعریف SQL View رو لایه ORM. با تمرکز روی ویژگی‌های اساسی و دوری از abstractionهای پیچیده، به شما این امکان رو می‌ده که کدهای واضح و ‍explicit و قابل نگهداری بنویسن، بدون دردسرهای معمول ORM.

فلسفه من اینه که کمتر، بیشتره. با کنار گذاشتن لایه‌های غیرضروری، Naked SQLAlchemy یه راهکار قابل اعتماد، کارآمد و ساده برای دسترسی به دیتابیس تو پایتون ارائه می‌ده. اگه دنبال ابزاری هستی که از pitfallهای معمول ORM دوری کنه و از تخصص SQLی که از قبل داری استفاده کنه، دعوتت می‌کنم Naked SQLAlchemy رو امتحان کنی.

لینک ریپازیتوری
لینک مستندات

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

@PyBackendHub

Sadra Codes

09 Oct, 10:06


پیشرفت صنعت توسعه گیم وحشتناکه! وحشتنااکک.

https://www.youtube.com/watch?v=hTzs5nmRnQU

Sadra Codes

08 Oct, 18:39


+ I'm a nerd. I use C++.
- Show me how.
+Ok.
for (int c=0; c<10; c++){}

Sadra Codes

08 Oct, 07:45


وقتی اندپوینت OpenAI استتوس کد 200 میده:

Sadra Codes

07 Oct, 20:28


عامو تازه داشتم خوشحال میشدما.. هعی..

Sadra Codes

07 Oct, 20:11


🥸

Sadra Codes

04 Oct, 05:11


چه خوبه خودت فعال‌ترین یوزر پروداکت خودت باشی.. 🫡

Sadra Codes

04 Oct, 05:06


اگه پکیج پایتون می‌نویسید و علاقه دارین که نمودار دانلود اخیر پکیجتون رو داشته باشین و در README نمایشش بدین، یه اکشن نوشتم که به راحتی می‌تونید اینکار رو باهاش انجام بدید!

می‌تونید سایز و رنگ نمودار رو هم خودتون ست کنید.

آدرس اکشن (شیوه استفاده در لینک): https://github.com/marketplace/actions/pypi-chart-badge

Made with PyAction

Sadra Codes

03 Oct, 02:25


توی ورژن بعدی پای‌اکشن، می‌تونید توی ورکفلو، انوتیشن بفرستید! (شبیه به لاگ‌ زدن می‌مونه ولی یه سطح بالاتر)

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

Sadra Codes

02 Oct, 13:32


سادگی همیشه خبر از پیچیدگی میده!

خیلی وقت‌ها ما از کتابخونه و فریم‌ورک‌ها استفاده میکنیم به خاطر اینکه یک کار رو ساده میشه باهاشون انجام داد، از جنگو استفاده میکنیم چون کار باهاش راحته، داخل جنگو از DRF و simple jwt استفاده میکنیم چون ساخت api و لاگین رو برامون خیلی راحت میکنن. اما اینجا یک چیزی گاهی فراموش میشه.

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

و شاید بگید خوب این خوبه دیگه یارو کد برای ما زده و استفاده می‌کنیم و لذتشو میبریم. تو خیلی از مواقع این درسته، ولی امان از اون روزی که بخوایید یکچیزی رو تغییر بدید که فریم‌ورک/کتابخونه براتون انجام داده :) اونجاست که این سادگی که ازش لذت میبردید تبدیل کابوس میشه :D

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

این گفتم که بدونید همیشه هر سادگی خوب نیست، گاهی بهتره تن به کار بدید و اون کد خودتون بزنید تا با نیاز شما هماهنگ باشه نه اینکه یک کتابخونه هزارخطی نصب کنید تا از ۱۰۰ خطش استفاده کنید.

@TorhamDevCH

Sadra Codes

02 Oct, 13:06


من یه زمان، خیلی رندوم با یه نفر توی چت توییج آشنا شدم بعد فهمیدم اسرائیلیه. پسر خوبی بود. رفتیم دیسکورد بعدش. چند ماهی ازش خبری نداشتم تا اینکه امروز صبح دیدم دیسکورد پیام داده: سالمی؟ حالت خوبه؟ 😂💀

Sadra Codes

01 Oct, 16:39


همین الان یه موشک از رو سرمون رد شد.

Sadra Codes

30 Sep, 16:00


آخرین تلاش های Edge واسه زنده موندن:

Sadra Codes

20 Sep, 08:40


مدیرها، بی‌خیال تیم‌هاتون بشید! لازم نیست کارمندها رو مثل بچه‌هایی که نیاز به مراقبت دائم دارن، کنترل کنید.

اونا نباید برای داشتن زندگی شخصی بیرون از کار معذرت‌خواهی کنن.
به تیم‌تون اعتماد کنید که کار رو تحویل بدن. اینجوری یه محیط مثبت و مولد می‌سازید که همه می‌تونن توش رشد کنن.
استخدام افراد درست فقط شروع کاره. جادوی واقعی زمانی اتفاق می‌افته که بهشون اعتماد کنید و قدرت بدید.
اعتماد یعنی اینکه به تیم‌تون آزادی بدید که کارشون رو بدون دخالت مستقیم شما مدیریت کنن. این نشون می‌ده که بهشون به‌عنوان آدم‌های بالغی که می‌تونن هم زندگی کاری و هم زندگی شخصی‌شون رو مدیریت کنن، احترام می‌ذارید.
این فقط محدود به مرخصی و تعطیلات نیست.
بحث اینه که یه فرهنگ بسازید که آدم‌ها توش احساس کنن می‌تونن کارشون رو به بهترین شکل ممکن انجام بدن - چه توی دفتر باشن، چه از راه دور کار کنن، یا حتی وسط روز کارهای شخصی‌شون رو انجام بدن.
تمرکز باید روی نتیجه باشه، نه “micromanagement”.
Micromanagement خلاقیت رو می‌کشه و انگیزه رو نابود می‌کنه.
اعتماد، برعکس، آدم‌ها رو به بهترین عملکردشون تشویق می‌کنه.
وقتی به تیم‌تون مالکیت کارهاشون رو می‌دید و بهشون فضا می‌دید که موفق بشن، می‌بینید که چطور رشد می‌کنن.

چطور این فرهنگ رو بسازیم:
- افراد درست رو استخدام کنید: مطمئن شید که مهارت دارن و با ارزش‌های شرکت هم‌سو هستن.
- به تیم‌تون اعتماد کنید: بذارید مالک کارهاشون باشن و خودتون رو از دخالت مستقیم دور نگه دارید.
- آزادی بدید: بهشون اجازه بدید تصمیم بگیرن و ابزارهای لازم رو فراهم کنید.
- رهبران قوی تربیت کنید: مدیرها رو طوری آموزش بدید که بتونن تیم‌ها رو حمایت کنن بدون اینکه کنترل کنن.

- ارتباطات رو باز نگه دارید: فضایی ایجاد کنید که آدم‌ها احساس امنیت کنن و بتونن ایده‌ها و فیدبک‌هاشون رو راحت به اشتراک بذارن.
- موفقیت‌ها رو جشن بگیرید: دستاوردها رو بشناسید و انگیزه رو بالا نگه دارید.
- از تعادل بین کار و زندگی حمایت کنید: به تعادل سالم تشویق کنید تا رفاه و بهره‌وری بهتر بشه.
♻️ Neha K Puri

@PyBackendHub

Sadra Codes

19 Sep, 18:21


💀

Sadra Codes

17 Sep, 04:33


🚀 توی آپدیت جدید Hey، دیگه نیازی به دستکاری Environment Variable ها ندارید! (نصبش روی ویندوز واقعا بدون دردسر شده)

کافیه با کامند زیر hey رو آپدیت کنید.

pipx install -U hey-mindsdb


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

hey auth

🔐 اگه توکنتون رو توی zshrc یا bashrc ست کردین، حتما پاکش کنید. کامند auth خیلی امن‌تره.

تمام این فیچر توسط سپهر عزیز (@SepehrRS) انجام شده. دمش گرم. :) ❤️

🔗 PR: https://github.com/lnxpy/hey/pull/22