✅ تفاوت OpenAPI و Swagger چیست؟
اگه تا حالا از swagger برای مستندسازی API هاتون استفاده کرده باشید. قطعا OpenAPI هم کنارش به چشمتون خورده.
✔ خیلی خودمونی و نادقیق بخوام بگم. OpenAPI یه استاندارد برای توصیف API هست و Swagger مجموعه ابزارهایی هست که از OpenApi استفاده میکنه و بصری سازی و... میکنه.
OpenAPI = Specification
Swagger = Tools for implementing the specification
✔ این یعنی ما میتونیم به جای swagger از ابزارهای دیگه ای هم استفاده کنیم. مثل redoc یا حتی خودمون ابزاری شبیه به اینا بسازیم.
جزییات بیشتر رو از لینک زیر بخونید:
https://swagger.io/blog/api-strategy/difference-between-swagger-and-openapi/
اگه تا حالا از swagger برای مستندسازی API هاتون استفاده کرده باشید. قطعا OpenAPI هم کنارش به چشمتون خورده.
✔ خیلی خودمونی و نادقیق بخوام بگم. OpenAPI یه استاندارد برای توصیف API هست و Swagger مجموعه ابزارهایی هست که از OpenApi استفاده میکنه و بصری سازی و... میکنه.
OpenAPI = Specification
Swagger = Tools for implementing the specification
✔ این یعنی ما میتونیم به جای swagger از ابزارهای دیگه ای هم استفاده کنیم. مثل redoc یا حتی خودمون ابزاری شبیه به اینا بسازیم.
جزییات بیشتر رو از لینک زیر بخونید:
https://swagger.io/blog/api-strategy/difference-between-swagger-and-openapi/
SmartBear.com
What is OpenAPI? Swagger vs. OpenAPI | Swagger Blog
This year marked the official release of OpenAPI 3.0, the latest version of the OpenAPI specification.For those involved in API development, the release of OAS 3.0 is, well... kind of a big deal.Why? One of the most notable reasons why the release is so important…
👍4
Forwarded from Django Expert (Sadra)
متد setUp و tearDown در یونیت تستینگ پایتون!
در این پست سعی کردم یه نگاه به این قضیه داشته باشیم و ببینیم چطور میشه با استفاده از این دو متد، خوانایی تست ها رو یه لول بالاتر ببریم و DRY رو رعایت کنیم. تا اینجا اومدیم.. یه سر هم میزنیم به جنگو. اینکه جنگو درواقع چطور از این مکانیزم واسه ایجاد یک دیتابیس کش در کلاس TestCase خودش استفاده میکنه و یه محیط ایزوله برای اجرای تست ها میسازه!
اگه پست رو مفید دیدید، حتما به اشتراک بذارید. :)❤️
https://imsadra.me/setup-and-teardown-in-python-unit-testing
〰️〰️〰️〰️〰️〰️
©@DjangoEx
در این پست سعی کردم یه نگاه به این قضیه داشته باشیم و ببینیم چطور میشه با استفاده از این دو متد، خوانایی تست ها رو یه لول بالاتر ببریم و DRY رو رعایت کنیم. تا اینجا اومدیم.. یه سر هم میزنیم به جنگو. اینکه جنگو درواقع چطور از این مکانیزم واسه ایجاد یک دیتابیس کش در کلاس TestCase خودش استفاده میکنه و یه محیط ایزوله برای اجرای تست ها میسازه!
اگه پست رو مفید دیدید، حتما به اشتراک بذارید. :)❤️
https://imsadra.me/setup-and-teardown-in-python-unit-testing
〰️〰️〰️〰️〰️〰️
©@DjangoEx
Sadra Yahyapour
setUp & tearDown in Python Unit Testing
I'm pretty sure you've already used/seen unit tests in the projects before. Have you ever wondered about how Django actually prepares you an isolated environment for testing your project without affecting other resources like your database? Before we...
👍4👎1
✅ پاسخ به سوال یکی از دوستان در مورد اینکه چطور بدون کارآموزی سطح خودمو بالا ببرم؟
اینقدر زیاد نوشتم که گفتم توی کانال هم منتشر کنم 😅
قطعا شما یه سری دوره و آموزش دیدید.
و احتمالا به سطح متوسط به پایین رسیدید.
الان جای اینکه کارآموزی بدون حقوق کنید.
توی جابینجا یا بقیه سایت های کاریابی ببینید برای جنگو کارها چیا لازمه.
✔️و بعدش حتما حتما حداقل ده یا بیست تا مصاحبه هم بدید.
همه رو هم انلاین مصاحبه بده که هزینه نداشته باشه.
برای اینکه دعوت به مصاحبه بشید (دقت کنید برای کارآموزی رزومه ندید برای برنامه نویس middle رزومه بدید)
✔️ برای هر فرصت شغلی (شرکت) رزومه مخصوص اون شرکت رو آماده کنید و از روی چیزهایی که می خوان رزومه بسازید. طوری که حداقل 90 درصد نیازهای اونارو پوشش بده. و روزمه های ارسالی رو تک تک نگه دارید.
قبل مصاحبه هم رزومه ارسالی برای اون شرکت رو نگاه کنید و در مورد چیزهایی که میخوان یکم مطالعه کنید.
توی مصاحبه ها و با توجه به سوالاتی که میپرسن متوجه میشید ایده آل ها چیا هستن (هر چند وقتی میرید توی شرکت همش اسپاگتی ان)
بعد از مصاحبه ها دو حالت داره. یا استخدام میشید به عنوان برنامه نویس متوسط یا نه
✔️اگه نه (که احتمال نه خیلی زیاده) همه نکات رو یادداشت میکنید و روی اونا خودتون رو قوی می کنید. این میشه کارآموزی در خانه
روش بالا یکم اخلاقی شاید نباشه 😅
✔️برای اینکه سطح خودتون هم بالا ببرید
- کتاب هایی مثل جنگو دیزاین پترن. two scope. django api و... رو بخونید.
- افراد حرفه ای (واقعی) رو دنبال کنید
- کنفرانس های djanocon هم توی یوتیوب ببینید.
- ریپازیتوی های جنگو اوپن سورس با star بالا رو پیدا کنید و با کدنویسی شون آشنا بشید.
اینقدر زیاد نوشتم که گفتم توی کانال هم منتشر کنم 😅
قطعا شما یه سری دوره و آموزش دیدید.
و احتمالا به سطح متوسط به پایین رسیدید.
الان جای اینکه کارآموزی بدون حقوق کنید.
توی جابینجا یا بقیه سایت های کاریابی ببینید برای جنگو کارها چیا لازمه.
✔️و بعدش حتما حتما حداقل ده یا بیست تا مصاحبه هم بدید.
همه رو هم انلاین مصاحبه بده که هزینه نداشته باشه.
برای اینکه دعوت به مصاحبه بشید (دقت کنید برای کارآموزی رزومه ندید برای برنامه نویس middle رزومه بدید)
✔️ برای هر فرصت شغلی (شرکت) رزومه مخصوص اون شرکت رو آماده کنید و از روی چیزهایی که می خوان رزومه بسازید. طوری که حداقل 90 درصد نیازهای اونارو پوشش بده. و روزمه های ارسالی رو تک تک نگه دارید.
قبل مصاحبه هم رزومه ارسالی برای اون شرکت رو نگاه کنید و در مورد چیزهایی که میخوان یکم مطالعه کنید.
توی مصاحبه ها و با توجه به سوالاتی که میپرسن متوجه میشید ایده آل ها چیا هستن (هر چند وقتی میرید توی شرکت همش اسپاگتی ان)
بعد از مصاحبه ها دو حالت داره. یا استخدام میشید به عنوان برنامه نویس متوسط یا نه
✔️اگه نه (که احتمال نه خیلی زیاده) همه نکات رو یادداشت میکنید و روی اونا خودتون رو قوی می کنید. این میشه کارآموزی در خانه
روش بالا یکم اخلاقی شاید نباشه 😅
✔️برای اینکه سطح خودتون هم بالا ببرید
- کتاب هایی مثل جنگو دیزاین پترن. two scope. django api و... رو بخونید.
- افراد حرفه ای (واقعی) رو دنبال کنید
- کنفرانس های djanocon هم توی یوتیوب ببینید.
- ریپازیتوی های جنگو اوپن سورس با star بالا رو پیدا کنید و با کدنویسی شون آشنا بشید.
👍20
✅ اپ core در پروژه فروشگاه اوپن سورس saleor که با جنگو توسعه داده شده!
✔️ معمولا توی core کارهای فریمورکی رو انجام میدیم. یعنی چیزهایی که مربوط به پروژه هست و میتونیم توی پروژه های دیگه هم استفاده کنیم، توی core می گذاریم.
یعنی کدهایی مثل کارهای لاگ گیری. مثل caching مثل jwt (کدهای resuable)
✔️ اینها چیزهایی هستن که ممکنه توی بقیه پروژه ها هم بنویسیم پس میبریم توی یه اپ به اسم core
لینک پروژه saleor در گیت هاب (فورک شده):
https://github.com/miladhzz/saleor
✔️ معمولا توی core کارهای فریمورکی رو انجام میدیم. یعنی چیزهایی که مربوط به پروژه هست و میتونیم توی پروژه های دیگه هم استفاده کنیم، توی core می گذاریم.
یعنی کدهایی مثل کارهای لاگ گیری. مثل caching مثل jwt (کدهای resuable)
✔️ اینها چیزهایی هستن که ممکنه توی بقیه پروژه ها هم بنویسیم پس میبریم توی یه اپ به اسم core
لینک پروژه saleor در گیت هاب (فورک شده):
https://github.com/miladhzz/saleor
👍8
✅ اگه نرمال سازی دیتابیس رو خونده باشید با کلید اصلی و کلید کاندید و ... آشنا هستید
بعضی مواقع کلید اصلی میتونه ترکیبی از چند فیلد باشه
یعنی ممکنه جدول ستون id به عنوان کلید اصلی نداشته باشه و به جاش دو یا چند تا فیلد با هم، یک کلید اصلی (primary key) رو ایجاد کنند
✔️ همونطوری که می دونید جنگو جفت کلید رو به صورت مستقیم پشتیبانی نمی کنه
اما برای هندل کردن این موضوع unique_together رو ارائه کرده و ما میتونیم توی مدل ها ازش استفاده کنیم و دو یا چند تا فیلد رو با هم unique کنیم
وقتی دو تا فیلد با هم unique_together میشن دیگه این دو تا ستون با همدیگه تکرار نمیشن. دقیقا همون رفتار جفت کلید اصلی توی دیتابیس هارو داره
برای مطالعه بیشتر در موردش لینکهای زیر رو بخونید:
https://docs.djangoproject.com/en/4.0/ref/models/options/#unique-together
https://gsilvapt.iss.one/posts/django-how-to-properly-modify-unique-together/
بعضی مواقع کلید اصلی میتونه ترکیبی از چند فیلد باشه
یعنی ممکنه جدول ستون id به عنوان کلید اصلی نداشته باشه و به جاش دو یا چند تا فیلد با هم، یک کلید اصلی (primary key) رو ایجاد کنند
✔️ همونطوری که می دونید جنگو جفت کلید رو به صورت مستقیم پشتیبانی نمی کنه
اما برای هندل کردن این موضوع unique_together رو ارائه کرده و ما میتونیم توی مدل ها ازش استفاده کنیم و دو یا چند تا فیلد رو با هم unique کنیم
وقتی دو تا فیلد با هم unique_together میشن دیگه این دو تا ستون با همدیگه تکرار نمیشن. دقیقا همون رفتار جفت کلید اصلی توی دیتابیس هارو داره
برای مطالعه بیشتر در موردش لینکهای زیر رو بخونید:
https://docs.djangoproject.com/en/4.0/ref/models/options/#unique-together
https://gsilvapt.iss.one/posts/django-how-to-properly-modify-unique-together/
👍2
✅ اگه میخواهید لاگین و پارامترها و... یه رکوئست رو توی گوگل کروم، کامل کپی کنید و توی postman ازش استفاده کنید این گزینه رو بزنید.
توی postman هم میتونید ایمپورتش کنید.
دیگه لازم نیست توی postman توکن بگیریم و هدر ست کنیم و...
لکن #منهای_جنگو 😁
توی postman هم میتونید ایمپورتش کنید.
دیگه لازم نیست توی postman توکن بگیریم و هدر ست کنیم و...
لکن #منهای_جنگو 😁
❤1
Forwarded from Django Expert (Boby Cloud)
✔️ بچه ها توی کانال گفتیم سفته ندید و اگر میدید خیلی مراقب باشید که سفید نباشه و تا جایی که میتونید اصلا سفته ندید.
شرکتی هم که سفته میخواد لیاقت اینو نداره براش کار کنید.
ممنونم از آقا میلاد که جسارت به خرج دادند و این تجربشون رو به اشتراک گذاشتند حتما بخونید:
https://www.linkedin.com/posts/miladhzz_aebaepaesaevabraeqaezaepaezaexaepaex-aevagpaetabraeuaesaeq-activity-6935513680922988544-QxdY?utm_source=linkedin_share&utm_medium=member_desktop_web
〰〰〰〰〰〰
© @DjangoEx
شرکتی هم که سفته میخواد لیاقت اینو نداره براش کار کنید.
ممنونم از آقا میلاد که جسارت به خرج دادند و این تجربشون رو به اشتراک گذاشتند حتما بخونید:
https://www.linkedin.com/posts/miladhzz_aebaepaesaevabraeqaezaepaezaexaepaex-aevagpaetabraeuaesaeq-activity-6935513680922988544-QxdY?utm_source=linkedin_share&utm_medium=member_desktop_web
〰〰〰〰〰〰
© @DjangoEx
🤯13👍7
جنگولرن
داره مارو میگه؟ ولی حرفش قابل تامل هست. و میشه یکم بهش فکر کرد. نظر شما چیه؟ البته مهربانانه نظر بدید لطفا
🤓 نظر شخصی من در مورد این مطلب:
من خودم همه چیزهایی که گفته رو پاس کردم.
قطعا ساختمان داده و طراحی الگوریتم و حتی ذخیره بازیابی سه تا درس مهم و مفید هستند.
و توصیه میکنم که اینارو یه بار بخونید (لازم نیست عمیق شید توی این ها)
اما در مورد این:
"فکر می کنید با یه فریمورک میتونید کارتون رو پیش ببرید و..."
آقا من اپراتورم، من کپی میکنم. باور کن من روز برنامه نویس هم هیچی استوری نکردم و نمیکنم 🤢
اما اگه یه فریمورک بتونه به پول در آوردن من کمک کنه و کاری کنه که من تمرکزم روی بیزینس پروژه باشه (نه Cross-cutting concern) قطعا از اون فریمورک نهایت استفاده رو میکنم.
من خودم همه چیزهایی که گفته رو پاس کردم.
قطعا ساختمان داده و طراحی الگوریتم و حتی ذخیره بازیابی سه تا درس مهم و مفید هستند.
و توصیه میکنم که اینارو یه بار بخونید (لازم نیست عمیق شید توی این ها)
اما در مورد این:
"فکر می کنید با یه فریمورک میتونید کارتون رو پیش ببرید و..."
آقا من اپراتورم، من کپی میکنم. باور کن من روز برنامه نویس هم هیچی استوری نکردم و نمیکنم 🤢
اما اگه یه فریمورک بتونه به پول در آوردن من کمک کنه و کاری کنه که من تمرکزم روی بیزینس پروژه باشه (نه Cross-cutting concern) قطعا از اون فریمورک نهایت استفاده رو میکنم.
👍12👏2🔥1
Forwarded from Django Expert (Sadra)
یونیت تستینگ در پایتون و بست پرکتیسها 🔥
در این مقاله، سعی کردم تمام مفاهیم مهم یونیت تستینگ در پایتون رو همراه با مثال شرح بدم. از این مقاله میتونید بعنوان یک نقطه شروع برای نوشتن تستهای پروژه هاتون استفاده کنید. پرینسیپل هایی رو توضیح دادم که مختص به تستینگ در پایتون نمیشن و همه باید باهاشون آشنا باشن. همچنین درباره بست پرکتیس های یونیت تستینگ هم صحبت کردم و تکنیک هایی رو توضیح دادم که با اونا میتونید مهارت تست نویسیتون رو یه لول ارتقا بدید.
https://imsadra.me/unit-testing-in-python-and-best-practices
امیدوارم لذت ببرید. :) ❤️
〰️〰️〰️〰️〰️
© @DjangoEx | @lnxpylnxpy
در این مقاله، سعی کردم تمام مفاهیم مهم یونیت تستینگ در پایتون رو همراه با مثال شرح بدم. از این مقاله میتونید بعنوان یک نقطه شروع برای نوشتن تستهای پروژه هاتون استفاده کنید. پرینسیپل هایی رو توضیح دادم که مختص به تستینگ در پایتون نمیشن و همه باید باهاشون آشنا باشن. همچنین درباره بست پرکتیس های یونیت تستینگ هم صحبت کردم و تکنیک هایی رو توضیح دادم که با اونا میتونید مهارت تست نویسیتون رو یه لول ارتقا بدید.
https://imsadra.me/unit-testing-in-python-and-best-practices
امیدوارم لذت ببرید. :) ❤️
〰️〰️〰️〰️〰️
© @DjangoEx | @lnxpylnxpy
🔥3😢1
Forwarded from Django Expert (Boby Cloud)
✔️ کتاب هایی که آقای رمضانی عزیز در وبینار دیشب معرفی کردند
صحبتی هم که در رابطه با کتاب و نحوه مطالعه و آپدیت بودن ایشون بود هم بسیار جذاب بود که وبینار رو ببینید تا از زبان ایشون بشنوید.
پ ن: با تشکر از بچه های ftg-iran که یک سری از این کتاب هارو به فارسی ترجمه کردن و در گیتهاب گذاشتند.
https://github.com/ftg-iran
〰️〰️〰️〰️〰️
© @DjangoEx
صحبتی هم که در رابطه با کتاب و نحوه مطالعه و آپدیت بودن ایشون بود هم بسیار جذاب بود که وبینار رو ببینید تا از زبان ایشون بشنوید.
پ ن: با تشکر از بچه های ftg-iran که یک سری از این کتاب هارو به فارسی ترجمه کردن و در گیتهاب گذاشتند.
https://github.com/ftg-iran
〰️〰️〰️〰️〰️
© @DjangoEx
👍4
سلام به همه
یه گروه واتس اپی دارم با عنوان برنامه نویسی از پایه 🤓
✔️ از برنامه نویسی چیست و تبدیل دسیمال به باینری و... شروع کردیم. الان هم رسیدیم به چاپ مثلث با ستاره و... با پایتون
➕ چرا واتس اپ؟ چون تلگرام فیلتره
➕ چرا لینک گروه واتس اپ رو نمیگم؟ چون کسی بوووق توی گروه بزاره نمیشه کاریش کرد و...
اما
یه کانال و گروه پشتیبان توی تلگرام براش ساختم. هر کسی خواست جوین بشه. همه مطالبش رو توی تلگرام کپی میکنم.
❗️دقت کنید خیلی خیلی مقدماتی توضیح میدم. چون خیلی سوالات مقدماتیه
لینک کانال:
https://t.iss.one/basic_python
یه گروه واتس اپی دارم با عنوان برنامه نویسی از پایه 🤓
✔️ از برنامه نویسی چیست و تبدیل دسیمال به باینری و... شروع کردیم. الان هم رسیدیم به چاپ مثلث با ستاره و... با پایتون
➕ چرا واتس اپ؟ چون تلگرام فیلتره
➕ چرا لینک گروه واتس اپ رو نمیگم؟ چون کسی بوووق توی گروه بزاره نمیشه کاریش کرد و...
اما
یه کانال و گروه پشتیبان توی تلگرام براش ساختم. هر کسی خواست جوین بشه. همه مطالبش رو توی تلگرام کپی میکنم.
❗️دقت کنید خیلی خیلی مقدماتی توضیح میدم. چون خیلی سوالات مقدماتیه
لینک کانال:
https://t.iss.one/basic_python
Telegram
برنامه نویسی از پایه
کانال پشتیبان برنامه نویسی از پایه
آدرس کانال آپارات:
https://www.aparat.com/djangolearn
آدرس کانال یوتیوب:
https://www.youtube.com/c/DjangoLearn
آدرس کانال آپارات:
https://www.aparat.com/djangolearn
آدرس کانال یوتیوب:
https://www.youtube.com/c/DjangoLearn
👍1
سلام به همه
باور کنید من DRF کار نکردم و توش واقعا مبتدی ام.
فقط میدونم سریالایزر چیه و یه سری جنریک کلاس هم برای راحتی داره.
البته یه پروژه واقعی هم باهاش انجام دادم.
من جنگو بلدم، اونم در حد متوسط و با پکیج DRF آشنایی دارم. 🤓
باور کنید من DRF کار نکردم و توش واقعا مبتدی ام.
فقط میدونم سریالایزر چیه و یه سری جنریک کلاس هم برای راحتی داره.
البته یه پروژه واقعی هم باهاش انجام دادم.
من جنگو بلدم، اونم در حد متوسط و با پکیج DRF آشنایی دارم. 🤓
🔥4