زبان رویایی dream berd همین الان ریلیز داد. :)))
https://github.com/TodePond/DreamBerd/releases/tag/v.release.notes
اتک خوردیم :))
@ManiFoldsPython
https://github.com/TodePond/DreamBerd/releases/tag/v.release.notes
اتک خوردیم :))
@ManiFoldsPython
😁10
Forwarded from Python BackendHub
مواردی که به نظر من یک بک اند کار برای کار تو شرکت های مدرن خارجی و گرفتن جاب آفر داخلشون باید بلد باشه, طبق تجربه این چند وقتم داخل مصاحبه ها و جاب هایی که دیدم:
1. آشنایی با گیت
2. تست نویسی
3. آشنایی با github action برای نوشتن فایل work flow yaml
4. درک عمیق تر از پایتون (خوندن کتابی مثل fluent python یا python cook book)
تسلط به پترن دیزاین ها
5. آشنایی با paradigms های مختلف برنامه نویسی
6. الگوریتم
7. تسلط روی SQL
8. آشنایی با MySQL یا PostgreSQL.
9. آشنایی با داکر و داکر کامپوز
10. آشنایی با مفاهیم Event driven architecture, SOA, microservice و Monolithic
11. تسلط رو یک فریم ورک microservice friendly مثل FastAPI یا Flask
12. آشنایی با یک فریم ورک Monolithic مثل جنگو میتونه مزیت خوبی باشه.
13. آشنایی با یک سرویس کلاد (AWS/Azure/GCP) در حد نیاز بک اند. معمولا certificate های مشخصی دارن که میتونید راجبشون تحقیق کنید و تو اون مسیری که مربوط به بک اند دولوپر میشه برین.
14. آشنایی با دیتابیس های کلاد مثل amazon rds
15. آشنایی با serverless و نمونش داخل کلاد مثل AWS Lambda
16. آشنایی با k8s در حد نوشتن فایل yaml سرویستون
17. آشنایی با یک ابزار IAC مثل terraform
(از بین ترافورم یا k8s و داکر, معمولا رو یکیش تمرکز میکنن شرکتا. و تو اغلب آگهی ها هم دیدم وزن بیشتر سمت داکر و k8s بوده تا ترافورم)
@ManiFoldsPython
1. آشنایی با گیت
2. تست نویسی
3. آشنایی با github action برای نوشتن فایل work flow yaml
4. درک عمیق تر از پایتون (خوندن کتابی مثل fluent python یا python cook book)
تسلط به پترن دیزاین ها
5. آشنایی با paradigms های مختلف برنامه نویسی
6. الگوریتم
7. تسلط روی SQL
8. آشنایی با MySQL یا PostgreSQL.
9. آشنایی با داکر و داکر کامپوز
10. آشنایی با مفاهیم Event driven architecture, SOA, microservice و Monolithic
11. تسلط رو یک فریم ورک microservice friendly مثل FastAPI یا Flask
12. آشنایی با یک فریم ورک Monolithic مثل جنگو میتونه مزیت خوبی باشه.
13. آشنایی با یک سرویس کلاد (AWS/Azure/GCP) در حد نیاز بک اند. معمولا certificate های مشخصی دارن که میتونید راجبشون تحقیق کنید و تو اون مسیری که مربوط به بک اند دولوپر میشه برین.
14. آشنایی با دیتابیس های کلاد مثل amazon rds
15. آشنایی با serverless و نمونش داخل کلاد مثل AWS Lambda
16. آشنایی با k8s در حد نوشتن فایل yaml سرویستون
17. آشنایی با یک ابزار IAC مثل terraform
(از بین ترافورم یا k8s و داکر, معمولا رو یکیش تمرکز میکنن شرکتا. و تو اغلب آگهی ها هم دیدم وزن بیشتر سمت داکر و k8s بوده تا ترافورم)
@ManiFoldsPython
👍18❤3
Python BackendHub
مواردی که به نظر من یک بک اند کار برای کار تو شرکت های مدرن خارجی و گرفتن جاب آفر داخلشون باید بلد باشه, طبق تجربه این چند وقتم داخل مصاحبه ها و جاب هایی که دیدم: 1. آشنایی با گیت 2. تست نویسی 3. آشنایی با github action برای نوشتن فایل work flow yaml 4.…
یک رفرنسی میدم از دوره های مختلف. میتونه کتاب یا ویدیو باشه. دقت کنید لطفا که دیدن و خوندن اینا کافی نیست و باید تمرین کنید.
ریسورس هایی که بولد شده یعنی خودم خوندم یا دارم میخونم و پیشنهاد میدم شخصا. اونایی که بولد نشده رو صرفا گوگل کردم.
1. The Git & Github Bootcamp
2. UI Testing with playwright
2. Pytest
3. Github action
4. fluent python / realpython / python tricks / DeepDive Into Python
5. سورسی ندارم
6. Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People
6. leetcode
7 & 8. SQL and PostgreSQL: The Complete Developer's Guide
9. Docker & Kubernetes: The Practical Guide [2023 Edition]
10. "SOA Design Patterns" by Thomas Erl
10. "Building Microservices" by Sam Newman
10. Building Event-Driven Microservices: Leveraging Organizational Data at Scale
10. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems 1st Edition
11. doc fastapi
12. Two scopes of django
12. doc django
12. Django for APIs: Build web APIs with Python & Django
13. cloudguru SAA
13. AWS developer - associate
13-14-15-16. AWS developer roadmap
17. Terraform - Getting Started
@ManiFoldsPython
ریسورس هایی که بولد شده یعنی خودم خوندم یا دارم میخونم و پیشنهاد میدم شخصا. اونایی که بولد نشده رو صرفا گوگل کردم.
1. The Git & Github Bootcamp
2. UI Testing with playwright
2. Pytest
3. Github action
4. fluent python / realpython / python tricks / DeepDive Into Python
5. سورسی ندارم
6. Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People
6. leetcode
7 & 8. SQL and PostgreSQL: The Complete Developer's Guide
9. Docker & Kubernetes: The Practical Guide [2023 Edition]
10. "SOA Design Patterns" by Thomas Erl
10. "Building Microservices" by Sam Newman
10. Building Event-Driven Microservices: Leveraging Organizational Data at Scale
10. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems 1st Edition
11. doc fastapi
12. Two scopes of django
12. doc django
12. Django for APIs: Build web APIs with Python & Django
13. cloudguru SAA
13. AWS developer - associate
13-14-15-16. AWS developer roadmap
17. Terraform - Getting Started
@ManiFoldsPython
Udemy
The Git & Github Bootcamp
Master the essentials and the tricky bits: rebasing, squashing, stashing, reflogs, blobs, trees, & more!
❤12👍5👎1🥰1
این کتاب هام مربوط به رودمپ نمیشن ولی بنظرم بخونید خیلی خوبن.همشون رو کامل خوندم یا درحال خوندم.
HTPP The definitive guide
implementing domain driven design- vaughen vernon
deep dive into design patterns - alexander shvets
Clean Code: A Handbook of Agile Software Craftsmanship - Martin
Clean code in Python - Mariano Anaya
@Manifoldspython
HTPP The definitive guide
implementing domain driven design- vaughen vernon
deep dive into design patterns - alexander shvets
Clean Code: A Handbook of Agile Software Craftsmanship - Martin
Clean code in Python - Mariano Anaya
@Manifoldspython
👍4❤1
لینک گروهو میذارم با محوریت فقط پایتون و کلین کد و clean architecture
https://news.1rj.ru/str/PythonFellow
احساس میکنم جای همچین گروهی شاید تو کامینیتی پایتون کارا خالیه.
پ.ن:عکس گروه meme هست :))
@ManifoldsPython
https://news.1rj.ru/str/PythonFellow
احساس میکنم جای همچین گروهی شاید تو کامینیتی پایتون کارا خالیه.
پ.ن:عکس گروه meme هست :))
@ManifoldsPython
👍11
Python BackendHub
اولین ویدیو یوتیوبم رو به زودی میخوام منتشر کنم، به چه عنوانی باشه؟
با توجه به رای اکثریت کورس رو ضبط میکنم به زودی. اصلا انتظار نداشتم ۴۷ درصد مشتاق این دوره باشن 😁
اولین کورس هم کاملا فارسی خواهد بود. کورس های بعدی متناسب با محتوایی که قراره ارائه بدم زبانش انتخاب خواهد شد.
@ManifoldsPython
اولین کورس هم کاملا فارسی خواهد بود. کورس های بعدی متناسب با محتوایی که قراره ارائه بدم زبانش انتخاب خواهد شد.
@ManifoldsPython
👍25👏3
Forwarded from DevTwitter | توییت برنامه نویسی
Forwarded from DevTwitter | توییت برنامه نویسی
دیروز یک توییت دیدم که x-panel آسیبپذیری امنیتی داره، رفتیم روش و نتیجهای که رسیدم: «سریعا فقط پاکش کنین». باگهای خیلی خطرناکی داره مثلا: رو سرور میشه دستور با سطح دسترسی Root اجرا کرد، کل User Pass کاربرا افشا میشه که در ادامه توضیح میدم
youtu.be/yeVeJgCPc0s
آسیبپذیری از کجا شروع میشه؟ اینکه کلا سیستم Authenticationاش خرابه، توی این قسمت میتونین ببینین:
https://github.com/Alirezad07/X-Panel-SSH-User-Management/blob/bbb30fd0ceb77443015d3ccc02a3b8ea22a4331b/Web%20Panel/app/Models/Settings_Model.php
تصویر1:
در صورتی که سشن درست نباشه کاربر Redirect میشه به Login، خب کی میفهمه Redirect چیه؟ باریکلا مرورگر پس اگه cURL بزنیم وارد پنل میشیم
تصویر2:
اینجا کلی Functionality وجود داره که اکثرا آسیبپذیرن. مثلا توی این تصویر برای کیل کردن یه یوزر میاد ورودیو از ادمین میگیره و توی تابع shell_exec میذاره (ما هم که ادمین شدیم) پس اینجا RCE میخوره (اما از نوع Blind)
تصویر 3:
توی این تصویر خروجی رو نداریم کافیه OOB بزنیم به سرور خودمون. همچنین میشه Interactive Shell گرفت، کافیه یه اسکریپت ساده بنویسیم که اینکارو بکنه (توی فیلم انجام دادم) و بعدش ما شل داریم. خب داشته باشیم؟ اینجا میتونیم Root بشیم!!! چطوری؟
تصویر 4, 5, 6:
با نصب این پنل کاربر www-data میره توی Sudoers و دستور passwd هم برای اینکاربر مجاز میشه، پس کافیه بزنیم sudo passwd و پسورد root رو عوض کنیم، بعدش هم با su روت بشیم یا به سرور SSH بزنیم
خیلی از سرورا با یه اسکریپت Automate خوردن و به زامبی تبدیل شدن، کلی اطلاعات هم افشا شده و در کل خواستم بگم هر چیزیو بدون اینکه تست امنیتی بشه روی سرورتون نریزید.
@DevTwitter | <یاشو/>
youtu.be/yeVeJgCPc0s
آسیبپذیری از کجا شروع میشه؟ اینکه کلا سیستم Authenticationاش خرابه، توی این قسمت میتونین ببینین:
https://github.com/Alirezad07/X-Panel-SSH-User-Management/blob/bbb30fd0ceb77443015d3ccc02a3b8ea22a4331b/Web%20Panel/app/Models/Settings_Model.php
تصویر1:
در صورتی که سشن درست نباشه کاربر Redirect میشه به Login، خب کی میفهمه Redirect چیه؟ باریکلا مرورگر پس اگه cURL بزنیم وارد پنل میشیم
تصویر2:
اینجا کلی Functionality وجود داره که اکثرا آسیبپذیرن. مثلا توی این تصویر برای کیل کردن یه یوزر میاد ورودیو از ادمین میگیره و توی تابع shell_exec میذاره (ما هم که ادمین شدیم) پس اینجا RCE میخوره (اما از نوع Blind)
تصویر 3:
توی این تصویر خروجی رو نداریم کافیه OOB بزنیم به سرور خودمون. همچنین میشه Interactive Shell گرفت، کافیه یه اسکریپت ساده بنویسیم که اینکارو بکنه (توی فیلم انجام دادم) و بعدش ما شل داریم. خب داشته باشیم؟ اینجا میتونیم Root بشیم!!! چطوری؟
تصویر 4, 5, 6:
با نصب این پنل کاربر www-data میره توی Sudoers و دستور passwd هم برای اینکاربر مجاز میشه، پس کافیه بزنیم sudo passwd و پسورد root رو عوض کنیم، بعدش هم با su روت بشیم یا به سرور SSH بزنیم
خیلی از سرورا با یه اسکریپت Automate خوردن و به زامبی تبدیل شدن، کلی اطلاعات هم افشا شده و در کل خواستم بگم هر چیزیو بدون اینکه تست امنیتی بشه روی سرورتون نریزید.
@DevTwitter | <یاشو/>
👍5
Forwarded from ☕کاپوچینو پلاس | Cappuccino plus☕
به عنوان کسی که تو سه تا کشور هم به عنوان مصاحبهکننده هم مصاحبهشونده تجربههای زیادی داره، اجازه بدید چندتاشون رو باهاتون به اشتراک بذارم شاید به کارتون بیاد:
1. قسمت معرفی خودتون رو خیلی جدی بگیرید. نه خیلی کوتاه و مختصر، نه رودهدرازی. یه بخش مهمی از تصمیم اونجا گرفته میشه
2. تو قسمت غیرتخصصی مصاحبه، 50% اهمیت داره که جواب درست بدید و 50% اینکه چطور جواب میدید. یعنی در واقع گاهی لزوماً جواب درست وجود نداره، فقط مهمه شما چطور جوابتون رو ارائه میدید.
3. لبخند، خوشرویی، نشون ندادن استرس، آشنایی نسبی با کار شرکت و آماده بودن بسیار اهمیت داره.
4. تو مصاحبه به زبان دوم، به جز شغلهایی که فن بیان و روان بودن (مثلا معلمی) توش اهمیت داره "عالی" بودن زبان اونقدر اهمیت نداره پس به خودتون استرس ندید.
5. وقتی میگن یه مثال از اشتباهات گذشته بزن، نه مثالی بزنید که توش رسماً گند زده باشید، نه بگید "من هیچ وقت اشتباه نمیکنم"
✍سوربا
@cappuccino_plus
1. قسمت معرفی خودتون رو خیلی جدی بگیرید. نه خیلی کوتاه و مختصر، نه رودهدرازی. یه بخش مهمی از تصمیم اونجا گرفته میشه
2. تو قسمت غیرتخصصی مصاحبه، 50% اهمیت داره که جواب درست بدید و 50% اینکه چطور جواب میدید. یعنی در واقع گاهی لزوماً جواب درست وجود نداره، فقط مهمه شما چطور جوابتون رو ارائه میدید.
3. لبخند، خوشرویی، نشون ندادن استرس، آشنایی نسبی با کار شرکت و آماده بودن بسیار اهمیت داره.
4. تو مصاحبه به زبان دوم، به جز شغلهایی که فن بیان و روان بودن (مثلا معلمی) توش اهمیت داره "عالی" بودن زبان اونقدر اهمیت نداره پس به خودتون استرس ندید.
5. وقتی میگن یه مثال از اشتباهات گذشته بزن، نه مثالی بزنید که توش رسماً گند زده باشید، نه بگید "من هیچ وقت اشتباه نمیکنم"
✍سوربا
@cappuccino_plus
👍14👌5
Is it worth the effort to design software well?
بخونید از مارتین بزرگ
بزرگوار سال ۲۰۰۷ واقعا کجا ها سیر میکرده 🙂
DesignStaminaHypothesis:
https://martinfowler.com/bliki/DesignStaminaHypothesis.html
@ManiFoldsPython
بخونید از مارتین بزرگ
بزرگوار سال ۲۰۰۷ واقعا کجا ها سیر میکرده 🙂
DesignStaminaHypothesis:
https://martinfowler.com/bliki/DesignStaminaHypothesis.html
@ManiFoldsPython
martinfowler.com
bliki: Design Stamina Hypothesis
The value of good software design is economic: you can continue to add new functionality quickly even as the code-base grows in size.
👍8
فرهنگ issue مطرح کردن تو کامینیتی که متاسفانه خیلیامون رعایت نمیکنیم:
۱. لطفا لاجیکتون رو از کدتون جدا کنید. کسی علاقه نداره لاجیک پشت کدتون رو بخونه که سر در بیاره کدتون چیکار میکنه.
۲. اگه کدتون پیچیدست سعی کنید خیلی ساده و بدون پیچیدگی یک کدی بنویسید که همون مشکل رو reproduce کنه.
۳. تست بنویسید که fail شه. بنویسید از چه نسخه پایتونی استفاده میکنید و از چه نسخه ای لایبری استفاده میکنید. مثلا کدتون اگه با پایندانتیک ۲ داره ران میشه باید ذکر کنید این موضوع رو.
۴. اسکرین شات با سایت هایی مشابه ray.so بنویسید
ایشو هایی که اینطوری مطرح میشن خیلی راحت تر برطرف میشن و همه روش وقت میذارن :)
@ManiFoldsPython
۱. لطفا لاجیکتون رو از کدتون جدا کنید. کسی علاقه نداره لاجیک پشت کدتون رو بخونه که سر در بیاره کدتون چیکار میکنه.
۲. اگه کدتون پیچیدست سعی کنید خیلی ساده و بدون پیچیدگی یک کدی بنویسید که همون مشکل رو reproduce کنه.
۳. تست بنویسید که fail شه. بنویسید از چه نسخه پایتونی استفاده میکنید و از چه نسخه ای لایبری استفاده میکنید. مثلا کدتون اگه با پایندانتیک ۲ داره ران میشه باید ذکر کنید این موضوع رو.
۴. اسکرین شات با سایت هایی مشابه ray.so بنویسید
ایشو هایی که اینطوری مطرح میشن خیلی راحت تر برطرف میشن و همه روش وقت میذارن :)
@ManiFoldsPython
👍21💯3
من یک لوکال استوریج منیجر داشتم رو کرومم که اتفاقا خیلی دانلود داشت.
ولی امروز گوگل بهم پیام داد که این امن نیست و دیدم disable شده
این بنظر میاد replacement خوبی باشه.
https://chrome.google.com/webstore/detail/swoosh-cookie-and-local-s/giompennnhheakjcnobejbnjgbbkmdnd
کوکی و همه چیم داره یک جا میتونید استفاده کنید. از UI اش خیلی خوشم اومد
@ManiFoldsPython
ولی امروز گوگل بهم پیام داد که این امن نیست و دیدم disable شده
این بنظر میاد replacement خوبی باشه.
https://chrome.google.com/webstore/detail/swoosh-cookie-and-local-s/giompennnhheakjcnobejbnjgbbkmdnd
کوکی و همه چیم داره یک جا میتونید استفاده کنید. از UI اش خیلی خوشم اومد
@ManiFoldsPython
Google
Swoosh Cookie and Local Storage Specialist - Chrome Web Store
Unites Local Storage, Session Storage and Cookie in one place. Powerful functions with intuitive and concise UI.
https://www.youtube.com/live/RtAWGrXUXNs?feature=share
امشب به همراه سایه جان هاست هستم تو tech immigrant
@ManiFoldsPython
امشب به همراه سایه جان هاست هستم تو tech immigrant
@ManiFoldsPython
YouTube
🚀🇸🇪لایو تجربه مهاجرت کاری برنامه نویس فول استک به سوئد
من فرهاد هستم ، از سال 2016 برنامه نویسی رو شروع کردم ، یک سال میشه تقریبا که به صورت کاری به سوئد مهاجرت کردم
در حال حاضر از طریق یک شرکت Consultancy توی شرکت Scania به عنوان فول استک دولوپر مشغول به کارم
.NET, Node JS / Typenoscript, React
در حال حاضر از طریق یک شرکت Consultancy توی شرکت Scania به عنوان فول استک دولوپر مشغول به کارم
.NET, Node JS / Typenoscript, React
❤11👎1🤩1
پروژه های خفنی که pydantic رو ساپورت میکنن:
Rocketry: Modern scheduling library for Python
RedisOM: Object mapping, and more
polyfactory: Simple and powerful factories for mock data generation
Beane: Modern Async ODM for MongoDB
Litestar: Light, Flexible and Extensible ASGI API framework Litestar
خودم شخصا با rocketry و redis om خیلی حال میکنم 👍و کار میکنم با جفتشون.
راکتری خیلی گاده.
@ManifoldsPython
Rocketry: Modern scheduling library for Python
RedisOM: Object mapping, and more
polyfactory: Simple and powerful factories for mock data generation
Beane: Modern Async ODM for MongoDB
Litestar: Light, Flexible and Extensible ASGI API framework Litestar
خودم شخصا با rocketry و redis om خیلی حال میکنم 👍و کار میکنم با جفتشون.
راکتری خیلی گاده.
@ManifoldsPython
GitHub
GitHub - Miksus/rocketry: Modern scheduling library for Python
Modern scheduling library for Python. Contribute to Miksus/rocketry development by creating an account on GitHub.
👍6
Python BackendHub
پروژه های خفنی که pydantic رو ساپورت میکنن: Rocketry: Modern scheduling library for Python RedisOM: Object mapping, and more polyfactory: Simple and powerful factories for mock data generation Beane: Modern Async ODM for MongoDB Litestar: Light, Flexible…
چند نکته که چرا راکتری لایبری خوبیه:
۱. اولا کاندیشن کاستوم میتونید بنویسید. که اگه این شد آنگاه این تسک ران شه. این خیلی خوبه برای پیاده سازی معماری EDD. 👍کلا به درد microservice میخوره
۲. ران کردن async و sync و multiprocessing توش خیلی راحت تر از چیزیه که فکر میکنید. تو decorator تابعتون میتونید بهش بدید.
۳. موقع ران تایم میتونید تسک جدید رجیستر کنید! یا ساعت تسک رو عوض کنید. مثلا یک دیتابیس داشته باشین که ساعت تسکا رو توش ست کنید و تغییر بدید. میتونید براش یک UI هم طراحی کنید. لیست تسکایی که ران هستند رو بگیرین. state هر تسک رو ببینید. ببینید اخرین بار کی ران شده کی تموم شده و اکسپشن داشته یا نه.
۴. میتونید با uvicorn بالا بیارینش. با فست همزمان رو یک شل ران شن. و توی خود فست هم میتونید ازش استفاده کنید مستقیما. به جای سلری خیلی sync تره با فست.
۵. لاگر initiate کردن توش خیلی قشنگه. کلا نصف کدایی که زده مربوط به همین log انداختنه و نمیدونم چرا اینقدر عاشق لاگه :))
۶. به شدت تست های زیادی داره و سنگین. کاوریجش ۹۷ درصده و من باگی ندیدم ازش تو این مدتی که استفاده کردم.
چند نکته منفی این لایبری:
۱. به شدت حجم کد زیادی داره و نمیدونم چرا. چیزی که با ۱۰ خط میشد انجام داد ۱۰۰ خط کد نوشته.
۲. پاینداتیک نسخه ۱ رو فقط ساپورت میکنه. با این حجم کدی که داره من حالا حالا ها نمیبینم که بخواد پایدانتیک ۲ رو ساپورت کنه. اگه پروژتون پایدانتیکه ۲ هست تو گیت هاب من یک ریپو هست که backward compalbity اینو اوکی کرده که با ۲ هم ران شه. اگرچه وقتی نسخه ۲ رو نصب میکنید راکتری همچنان داره از نسخه یک استفاده میکنه داخل اینترنالش. میخواستم کلا ببرمش رو ۲ که دیدم ۱۵۰ تا تست fail داد بیخیال شدم. :)) البته رو پرفومنس اصلا تاثیر نمیذاره چون خیلی کار زیادی با pydantic انجام نمیده.
@ManifoldsPython
۱. اولا کاندیشن کاستوم میتونید بنویسید. که اگه این شد آنگاه این تسک ران شه. این خیلی خوبه برای پیاده سازی معماری EDD. 👍کلا به درد microservice میخوره
۲. ران کردن async و sync و multiprocessing توش خیلی راحت تر از چیزیه که فکر میکنید. تو decorator تابعتون میتونید بهش بدید.
۳. موقع ران تایم میتونید تسک جدید رجیستر کنید! یا ساعت تسک رو عوض کنید. مثلا یک دیتابیس داشته باشین که ساعت تسکا رو توش ست کنید و تغییر بدید. میتونید براش یک UI هم طراحی کنید. لیست تسکایی که ران هستند رو بگیرین. state هر تسک رو ببینید. ببینید اخرین بار کی ران شده کی تموم شده و اکسپشن داشته یا نه.
۴. میتونید با uvicorn بالا بیارینش. با فست همزمان رو یک شل ران شن. و توی خود فست هم میتونید ازش استفاده کنید مستقیما. به جای سلری خیلی sync تره با فست.
۵. لاگر initiate کردن توش خیلی قشنگه. کلا نصف کدایی که زده مربوط به همین log انداختنه و نمیدونم چرا اینقدر عاشق لاگه :))
۶. به شدت تست های زیادی داره و سنگین. کاوریجش ۹۷ درصده و من باگی ندیدم ازش تو این مدتی که استفاده کردم.
چند نکته منفی این لایبری:
۱. به شدت حجم کد زیادی داره و نمیدونم چرا. چیزی که با ۱۰ خط میشد انجام داد ۱۰۰ خط کد نوشته.
۲. پاینداتیک نسخه ۱ رو فقط ساپورت میکنه. با این حجم کدی که داره من حالا حالا ها نمیبینم که بخواد پایدانتیک ۲ رو ساپورت کنه. اگه پروژتون پایدانتیکه ۲ هست تو گیت هاب من یک ریپو هست که backward compalbity اینو اوکی کرده که با ۲ هم ران شه. اگرچه وقتی نسخه ۲ رو نصب میکنید راکتری همچنان داره از نسخه یک استفاده میکنه داخل اینترنالش. میخواستم کلا ببرمش رو ۲ که دیدم ۱۵۰ تا تست fail داد بیخیال شدم. :)) البته رو پرفومنس اصلا تاثیر نمیذاره چون خیلی کار زیادی با pydantic انجام نمیده.
@ManifoldsPython
GitHub
GitHub - Miksus/rocketry: Modern scheduling library for Python
Modern scheduling library for Python. Contribute to Miksus/rocketry development by creating an account on GitHub.
👍7
من یک tools نوشتم برای شرکت که کارش این بود که SOUP جنریت کنه.
حالا SOUP چیه؟
Software Of Unknown Pedigree
خلاصه باید یک فایل اکسل میدادیم بیرون که توضیح میداد از چه لایبری هایی استفاده شده. چه نسخه ای. چه vulnerability شناخته شده ای دارن. چه نسخه ای داریم استفاده میکنیم و چه نسخه ای آخرین نسخه اش هست. چرا داریم استفاده میکنیم(کار لایبری) و به چه دلیل اون لایبری خوبه. اینا روند قانونی بوده که مهم نیست. که بر اساس poetry lock و pypi این اطلاعاتو در میاره و parse میکنه به صورت کاملا async. کلا شد نزدیک ۱۷۰ لایبری هیچ کدوم آسیب پذیری شناخته شده ای هم نداشتن که هندل نکرده باشن.
حالا داستان جایی شروع شد که من اومدم برای ریپو های بقیه جاهامون هم اینو بنویسم.
تو ریپو فرانت نوشتم و ران کردم اسکریپتو که یک دفعه دیدم Memory error داد. تعجب کردم.
متوجه شدم تو لایبری های فرانتمون از ۳.۷ هزار لایبری استفاده میکنیم :))) ۳.۷ هزار درخواست همزمان هم داشتم میزدم به سایتای مختلف :)) چندین مورد هم حتی آسیب پذیری دارن.
@ManifoldsPython
حالا SOUP چیه؟
Software Of Unknown Pedigree
خلاصه باید یک فایل اکسل میدادیم بیرون که توضیح میداد از چه لایبری هایی استفاده شده. چه نسخه ای. چه vulnerability شناخته شده ای دارن. چه نسخه ای داریم استفاده میکنیم و چه نسخه ای آخرین نسخه اش هست. چرا داریم استفاده میکنیم(کار لایبری) و به چه دلیل اون لایبری خوبه. اینا روند قانونی بوده که مهم نیست. که بر اساس poetry lock و pypi این اطلاعاتو در میاره و parse میکنه به صورت کاملا async. کلا شد نزدیک ۱۷۰ لایبری هیچ کدوم آسیب پذیری شناخته شده ای هم نداشتن که هندل نکرده باشن.
حالا داستان جایی شروع شد که من اومدم برای ریپو های بقیه جاهامون هم اینو بنویسم.
تو ریپو فرانت نوشتم و ران کردم اسکریپتو که یک دفعه دیدم Memory error داد. تعجب کردم.
متوجه شدم تو لایبری های فرانتمون از ۳.۷ هزار لایبری استفاده میکنیم :))) ۳.۷ هزار درخواست همزمان هم داشتم میزدم به سایتای مختلف :)) چندین مورد هم حتی آسیب پذیری دارن.
@ManifoldsPython
👍12🤯4