Forwarded from Python BackendHub (Mani)
امروز خیلی خوشحالم که بالاخره 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
علاوه بر بهبود سرعت قابل توجه (تقریباً دو برابر سریعتر از ORM)، یادگیری Naked SQLAlchemy آسونه چون بر پایه دانشی هست که احتمالاً از قبل داری. امکاناتی مثل مپ کردن dataclass، مدیریت session بدون داشتن state، و امکان تعریف SQL View رو لایه ORM. با تمرکز روی ویژگیهای اساسی و دوری از abstractionهای پیچیده، به شما این امکان رو میده که کدهای واضح و explicit و قابل نگهداری بنویسن، بدون دردسرهای معمول ORM.
فلسفه من اینه که کمتر، بیشتره. با کنار گذاشتن لایههای غیرضروری، Naked SQLAlchemy یه راهکار قابل اعتماد، کارآمد و ساده برای دسترسی به دیتابیس تو پایتون ارائه میده. اگه دنبال ابزاری هستی که از pitfallهای معمول ORM دوری کنه و از تخصص SQLی که از قبل داری استفاده کنه، دعوتت میکنم Naked SQLAlchemy رو امتحان کنی.
لینک ریپازیتوری
لینک مستندات
اگه این پست یا این کتابخونه برات مفید بوده، خیلی ممنون میشم اگه بهش یه ستاره بدی یا این پست رو بازنشر کنی. حمایت شما به من انگیزه میده که به توسعه و بهبود فریمورکهای متنباز ادامه بدم. مرسی 🙂🙏
@PyBackendHub
GitHub
GitHub - ManiMozaffar/naked-sqla: A simple and lightweight object mapper around SQLAlchemy core, simple alternative to SQLAlchemy…
A simple and lightweight object mapper around SQLAlchemy core, simple alternative to SQLAlchemy ORM. - ManiMozaffar/naked-sqla
Forwarded from Python BackendHub (Mani)
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
در ماه ۴ هزار دانلود داره 🚀
یک شرکت بزرگ تو برزیل هم داره ازش استفاده میکنه و تو لینکدین ازم تشکر کردن خیلی حس خوبی داشت :))
واقعا دوست دارم فول تایم اوپن سورس کار کنم. و مثلا همین پروژه 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
Photo
به هیچی دست نزدی ولی یهو بعد از یه مدت، کل سیستم Fail میشه و هیچی درست کار نمیکنه!!
یه مشکل خیلی عجیب توی یه سری از اکشنهایی که با pyaction نوشته بودم رخ داد و اونم این بود که اکشن بدون هیچ دلیلی موقع نصب requirementها Fail میشد! عملا به هیچی دست نزده بودم.
مشکل رو میگم، خودتون بسطش بدید و سعی کنید خیلی توی اینجور موارد حواستون باشه. من توی اکشنها از داکر ایمیج
این تغییر به ظاهر اوکیه ولی یک سری از requirementهایی که داریم یکم low-levelتر هستن و بخشهاییشون ممکنه با راست نوشته شده باشه، کامپایل کد سی باشه حتی که باعث میشه اون نسخه خاص از پکیج صرفا با پایتون ۳.۱۲ همخوانی داشته باشه و نه چیز دیگهای واسه همین موقع نصب، به مشکل میخورد و کل ورکفلو 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
ابزارهایی که Astral درست کرده، معنی واقعی پکیجه.
uv = virtualenv + pip + pyenv
ruff = flake + black + isort
rye = uv + ruff + twine + ...
توی سرعت که حرف ندارن و واقعا کار میکنن! 🤟
Astral: https://github.com/astral-sh
uv = virtualenv + pip + pyenv
ruff = flake + black + isort
rye = uv + ruff + twine + ...
توی سرعت که حرف ندارن و واقعا کار میکنن! 🤟
Astral: https://github.com/astral-sh
GitHub
Astral
High-performance developer tools for the Python ecosystem. - Astral
Typescript >>> Python's Typing (type checking libs, intellisense libs..)
یه مقاله خیلی جمع و جور نوشتم واستون. اگه به مبحث type hinting علاقه دارین، توی این مقاله راجع به Generic Typing توی پایتون نوشتم. دقیقا سینتکس زیر و اون
اینکه چیه و چیکار میکنه به همراه کلی مثال و تمرین کوچیک که درک این قضیه رو واستون سادهتر میکنه.
Read 👉 https://blog.imsadra.me/generic-typing-in-python
این سینتکس در ورژن ۳.۱۲ معرفی شد. در رلیزهای بعدی پایتون، خواهید دید که خیلی از این سینتکس استفاده میشه.
[T]
که گاها ممکنه گیج کننده باشه:def function[T](...) -> T:
...
اینکه چیه و چیکار میکنه به همراه کلی مثال و تمرین کوچیک که درک این قضیه رو واستون سادهتر میکنه.
Read 👉 https://blog.imsadra.me/generic-typing-in-python
این سینتکس در ورژن ۳.۱۲ معرفی شد. در رلیزهای بعدی پایتون، خواهید دید که خیلی از این سینتکس استفاده میشه.
Forwarded from Python BackendHub (Mani)
#آف_تاپیک #موقت
استارت آپ من دنبال 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
استارت آپ من دنبال 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
این مقاله خیلی خوب بود. بررسی شیوه توسعه نرمافزار در عصر حاضر. تاثیر زبانهای Static type، تاثیر AI، اینکه چقدر به نتایج LLMها اعتماد کنیم و اصولا کی و در چه مواردی ازشون استفاده کنیم.
https://lettersfromacto.substack.com/p/the-new-rules-of-coding-engineering
https://lettersfromacto.substack.com/p/the-new-rules-of-coding-engineering
Rob Moore's Letters from a CTO
The New Rules of Coding: Engineering in the Age of AI
Time to update the algorithm building software products.