Forwarded from Python BackendHub (Mani)
توصیه شخصی, دیدم بعضیا میخوان یک فریم ورک یا زبون جدید یاد بگیرن خیلی سریع میرن سراغ یک پروژه خیلی خوب. (از جمله خودم تا چند وقت پیش). ولی حقیقتا خیلی کمکتون نمیکنه.مثلا من برم یک پروژه خفن FastAPI ببینم و سعی کنم همون پترن رو تکرار کنم. چه مشکلی ایجاد میکنه؟ دید منو به شدت کور و محدود میکنه. یعنی چی؟ فرض کنید شما کاناله منو دارین دنبال میکنید, یک پروژه فست دارین میخواین تصمیم بگیرین چطور با دیتابیس کانکت شید. خب راه های مختلفی هست, مثل استفاده از orm و چه orm ای هم مهمه. یک راه حل اینه که شما صرفا چیزی که من نوشتم رو دنبال کنید, که اصلا ممکنه حرف من درست نباشه یا دیدم bias باشه.
خب چیکار باید کنیم؟ نظره من اینه که شما باید بتونید سبک سنگین کنید. ببینید کسی که از orm django استفاده کرده چی گفته (تو اینترنت مقاله پیدا کنید). درک کنید چرا یک نفر از orm django خوشش میاد و یک نفر بدش میاد. همینکارو برای بقیه orm های پایتونی هم انجام بدید. و البته یک قدم خارج تر شید. فلسفه استفاده orm چیه؟ چه فلسفه ای پشت orm django هست؟ چه فلسفه ای پشت sqlalchemy هست؟ query builder چیه؟ فرقش چیه با orm؟ یعنی خیلی فلسفه ها صرفا تو طرز استفاده از ابزاره, نه تنوع یا فیچر های مختلف یک ابزار.
@PyBackendHub
خب چیکار باید کنیم؟ نظره من اینه که شما باید بتونید سبک سنگین کنید. ببینید کسی که از orm django استفاده کرده چی گفته (تو اینترنت مقاله پیدا کنید). درک کنید چرا یک نفر از orm django خوشش میاد و یک نفر بدش میاد. همینکارو برای بقیه orm های پایتونی هم انجام بدید. و البته یک قدم خارج تر شید. فلسفه استفاده orm چیه؟ چه فلسفه ای پشت orm django هست؟ چه فلسفه ای پشت sqlalchemy هست؟ query builder چیه؟ فرقش چیه با orm؟ یعنی خیلی فلسفه ها صرفا تو طرز استفاده از ابزاره, نه تنوع یا فیچر های مختلف یک ابزار.
@PyBackendHub
🔥6👍3❤2
Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
* ابزارهای CMake و MinGW و pkg-config چی هستن؟
یه سوال دیگه هم که میلاد پرسیده بود و گفت بذارم چنل این بود که؛
برای اجرا کردن یه پروژه روی ویندوز یه سری پیش نیازها بود که نصب کرده ولی دقیق متوجه نشده داستانشون چیه.
* CMake
* MinGW
* pkg-config
=+=+=+=+=+=+=+=+=+=+=+
سیمیک یهکامپایلره که کدهای C و سیپلاس رو کامپایل میکنه...
Update: دوستمون جاوید تذکر داد که در واقع کامپایلر نیست، یه بیلد سیستمه
اپنسورسه و آزاد.
معمولا پروژه هایی که ازش استفاده میکنن، توی دایرکتوری که باید کامپایل صورت بگیره یه فایل به اسم
یا همیچن چیزی دارن که توش کانفیگهای کامپایل نوشته شده،
مثل سوئیچ ها، پارامترهای کامپایل، مقادیر پارامترها، کانفیگها، فلگهای کامپایل و این چیزا
هدفش هم اینه که فرایند کامپایل رو ساده کنه، شما فقط میزنی
cmake
و کامپایل اجرا میشه.
=+=+=+=+=+=+=+=+=+=+=+
بسیاری از ابزارهای برنامهنویسی روی یونیکس سوار شدن، و کسی که طراحیشون کرده، برای ویندوز نسخهای نداده..
پس ویندوز توی یسری از پکیج های پایهای lack ابزار میزنه...
مثلا همین cmake اگر بخواد توی ویندوز اجرا بشه پیچیدگی های زیادی داره،
کانفیگهاشم باید تغییر کنه..،
پس استفاده از جایگذینها به همین سادگی نیست.
مینجیدابلیو، یه پروژه اپنسورس و آزاد دیگه هست که میاد و ابزارهایی یونیکسی که فقدانشون توی ویندوز احساس میشه رو برای ویندوز "پورت" میکنه...
که دقیقا همونجوری که تحت یونیکس ساده اجرا میشن، بتونن بدون تغییر کانفیگ توی ویندوز هم اجرا بشن...
اولش با پورت کردن کامپایلرا شروع شد و بعدش ابزارهای دیگه ای هم اضافه کردن، و یسری فورک ازش صورت گرفت...،
از روش هم یه محیط بش نوشتن، به اسم MSYS2 که شما بتونی ابزارهای یونیکسی رو تحت ویندوز مثل یه ترمینال لینوکس کار بزنی..،
واضحه که همه پکیجهای لازم توش نیست،
نیازمند یه جامعه بزرگه که دونه دونه ابزارهارو پورت کنن،که این اتفاق نمیافته چون کار سختیه...
اصلش اینه که ویندوز باید بتونه خودشو با یونیکس هم ادپته کنه.
https://github.com/msys2/MINGW-packages
اینجا لیست ابزارهایی که پورت شدن رو میتونین ببینین.
من با برنامهنویسشم حرف زدم خیلی آدم خوبیه!
=+=+=+=+=+=+=+=+=+=+=+
اینم من توی سیستمم دیفالت دارم، میتونیم منوآلش رو بخونیم ببینیم چیه، توی لینوکس یه man قبل از اسم هر پکیج بذاری، بهت منوآلش رو نشون میده:
pkg-config - Return metainformation about installed libraries
The pkg-config program is used to retrieve information about installed libraries in the system. It is typically used to compile and link against one or more libraries.
کتابخونههای سیستم رو میخونه که ببینه چیا نصب شدن و ورژنها چنده،
معمولا از این اطلاعات توی کامپایل استفاده میشه...
الان احتمالا اگه بری فایل cmake رو بخونی توش یه جایی پکیجکانفیگو کال کرده که کتابخونه هارو فچ کنه و بذاره توی پارامترهای کامپایل.
یه سوال دیگه هم که میلاد پرسیده بود و گفت بذارم چنل این بود که؛
برای اجرا کردن یه پروژه روی ویندوز یه سری پیش نیازها بود که نصب کرده ولی دقیق متوجه نشده داستانشون چیه.
* CMake
* MinGW
* pkg-config
=+=+=+=+=+=+=+=+=+=+=+
CMake
سیمیک یه
Update: دوستمون جاوید تذکر داد که در واقع کامپایلر نیست، یه بیلد سیستمه
اپنسورسه و آزاد.
معمولا پروژه هایی که ازش استفاده میکنن، توی دایرکتوری که باید کامپایل صورت بگیره یه فایل به اسم
CMakeLists
CMakeFile
یا همیچن چیزی دارن که توش کانفیگهای کامپایل نوشته شده،
مثل سوئیچ ها، پارامترهای کامپایل، مقادیر پارامترها، کانفیگها، فلگهای کامپایل و این چیزا
هدفش هم اینه که فرایند کامپایل رو ساده کنه، شما فقط میزنی
cmake
و کامپایل اجرا میشه.
=+=+=+=+=+=+=+=+=+=+=+
MinGW
بسیاری از ابزارهای برنامهنویسی روی یونیکس سوار شدن، و کسی که طراحیشون کرده، برای ویندوز نسخهای نداده..
پس ویندوز توی یسری از پکیج های پایهای lack ابزار میزنه...
مثلا همین cmake اگر بخواد توی ویندوز اجرا بشه پیچیدگی های زیادی داره،
کانفیگهاشم باید تغییر کنه..،
پس استفاده از جایگذینها به همین سادگی نیست.
مینجیدابلیو، یه پروژه اپنسورس و آزاد دیگه هست که میاد و ابزارهایی یونیکسی که فقدانشون توی ویندوز احساس میشه رو برای ویندوز "پورت" میکنه...
که دقیقا همونجوری که تحت یونیکس ساده اجرا میشن، بتونن بدون تغییر کانفیگ توی ویندوز هم اجرا بشن...
اولش با پورت کردن کامپایلرا شروع شد و بعدش ابزارهای دیگه ای هم اضافه کردن، و یسری فورک ازش صورت گرفت...،
از روش هم یه محیط بش نوشتن، به اسم MSYS2 که شما بتونی ابزارهای یونیکسی رو تحت ویندوز مثل یه ترمینال لینوکس کار بزنی..،
واضحه که همه پکیجهای لازم توش نیست،
نیازمند یه جامعه بزرگه که دونه دونه ابزارهارو پورت کنن،که این اتفاق نمیافته چون کار سختیه...
اصلش اینه که ویندوز باید بتونه خودشو با یونیکس هم ادپته کنه.
https://github.com/msys2/MINGW-packages
اینجا لیست ابزارهایی که پورت شدن رو میتونین ببینین.
من با برنامهنویسشم حرف زدم خیلی آدم خوبیه!
=+=+=+=+=+=+=+=+=+=+=+
pkg-config
اینم من توی سیستمم دیفالت دارم، میتونیم منوآلش رو بخونیم ببینیم چیه، توی لینوکس یه man قبل از اسم هر پکیج بذاری، بهت منوآلش رو نشون میده:
pkg-config - Return metainformation about installed libraries
The pkg-config program is used to retrieve information about installed libraries in the system. It is typically used to compile and link against one or more libraries.
کتابخونههای سیستم رو میخونه که ببینه چیا نصب شدن و ورژنها چنده،
معمولا از این اطلاعات توی کامپایل استفاده میشه...
الان احتمالا اگه بری فایل cmake رو بخونی توش یه جایی پکیجکانفیگو کال کرده که کتابخونه هارو فچ کنه و بذاره توی پارامترهای کامپایل.
👍3
Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
* فرانت در مقابل بک؛ کدوم سخت تره؟
اینم یه داستانی بود که گفتم خوبه بازنشرش کنم؛
Front-end vs Back-end
فرانت-اند در مقابل بک-اند
فرانت به اون قسمتی از یه سیستم کامپیوتری میگن که کاربر مستقیما باهاش در تعامله، مثل رابط گرافیکی (گویی/GUI) و این قسمتها،
بک به تکنولوژی میگن که زیر باک سیستم در حال اتفاق افتادنه...
مثلا توی یه اتوموبیل، فرانت اون ظاهرش و شمای داخلیشه،
بک اون موتورش و زیر باکشه...
توی یه سیستم وب، اون زبانهای سمت سرور و دیتابیس و اینا میشن جزو بک-اند و اون رابط گرافیکی سایت که تلفیقی از HTML/CSS و جاوااسکریپته میشه فرانت-اند.
=+=+=+=+=+=+=+=+=+=+=+
خیلیا میپرسن که کدوم بخش بطور کلی کارش سختتره؟
این بحث بسیار بزرگیه و پاسخ دادن بهش ساده نیست؛
بیاین با سیستمهای تحت وب شروع کنیم:
سمت وب، معمولا فرانت خیلی سختتره و متخصصینش کمترن، به چند دلیل:
1- تسلط به JS که زبان دور از منطقیه، کار سختیه .
2- استایلها (CSS) روی سیستمهای متفاوت/ مروگرهای متفاوت، بصورتهای متفاوتی تفسیر میشن..، برای همین تنظیم کردن فرانت سایت جوری که بتونه با تمام این تغییرات خودشو ادپته کنه چالش بزرگیه.
3- جاوااسکریپت ورژنهای مختلفی داره، و موتورهای مختلفی رانش میکنن که کارکردش روی براوزر های مختلف ممکنه تغییر کنه، از طرفی خود دیوایس هم توی اجرای JS ممکنه متفاوت عمل کنه، همچنین کانفیگهای کاربرایی که JS رو محدود میکنن و یا میبندن هم تاثیر گذاره...
قبلا اون اوایل اگه JS رو هم خاموش میکردین تقریبا 99 درصد وب همچنان کار میکرد...، چون گیر گرافیک نبودن، یه استایل ساده HTML و نهایتا CSS داشتن...
اما الان 99 درصد سایتهای جهان برای کارکرد نیازمند JS هستن.
هندل کردن JS خیلی کار دشواریه...
به این دلایل، هم کارکردن و هم استخدام کردن فرانتکار خوب توی وب یه چالش بزرگه.
توی مک/اندروید/ویندوز/یا... مثلا یه نفر فرانتکار باشه، فریمورکش مشخصه، کارشم مشخصه، API ها هم مشخص هستن، توی وب اما اینطور نیست.
یه نکته اینکه به اون قسمت آخر که اشاره کردم که که باید توی وب سیستم رو جوری تنظیم کنیم که روی پلتفرمها/مروگرهای مختلف درست جواب بده میگن مشخصه ریسپانسیو (Responsive) یا کامپتیبیلیتی کراس-براوزر(Cross-browser compatibility) .
این لینکها راجع بهش مفیدن:
https://en.wikipedia.org/wiki/Responsive_web_design
https://en.wikipedia.org/wiki/Cross-browser_compatibility
=+=+=+=+=+=+=+=+=+=+=+
این فقط بحث وبش بود؛ اما داستان ادامه داره :
اینم یه داستانی بود که گفتم خوبه بازنشرش کنم؛
Front-end vs Back-end
فرانت-اند در مقابل بک-اند
فرانت به اون قسمتی از یه سیستم کامپیوتری میگن که کاربر مستقیما باهاش در تعامله، مثل رابط گرافیکی (گویی/GUI) و این قسمتها،
بک به تکنولوژی میگن که زیر باک سیستم در حال اتفاق افتادنه...
مثلا توی یه اتوموبیل، فرانت اون ظاهرش و شمای داخلیشه،
بک اون موتورش و زیر باکشه...
توی یه سیستم وب، اون زبانهای سمت سرور و دیتابیس و اینا میشن جزو بک-اند و اون رابط گرافیکی سایت که تلفیقی از HTML/CSS و جاوااسکریپته میشه فرانت-اند.
=+=+=+=+=+=+=+=+=+=+=+
خیلیا میپرسن که کدوم بخش بطور کلی کارش سختتره؟
این بحث بسیار بزرگیه و پاسخ دادن بهش ساده نیست؛
بیاین با سیستمهای تحت وب شروع کنیم:
سمت وب، معمولا فرانت خیلی سختتره و متخصصینش کمترن، به چند دلیل:
1- تسلط به JS که زبان دور از منطقیه، کار سختیه .
2- استایلها (CSS) روی سیستمهای متفاوت/ مروگرهای متفاوت، بصورتهای متفاوتی تفسیر میشن..، برای همین تنظیم کردن فرانت سایت جوری که بتونه با تمام این تغییرات خودشو ادپته کنه چالش بزرگیه.
3- جاوااسکریپت ورژنهای مختلفی داره، و موتورهای مختلفی رانش میکنن که کارکردش روی براوزر های مختلف ممکنه تغییر کنه، از طرفی خود دیوایس هم توی اجرای JS ممکنه متفاوت عمل کنه، همچنین کانفیگهای کاربرایی که JS رو محدود میکنن و یا میبندن هم تاثیر گذاره...
قبلا اون اوایل اگه JS رو هم خاموش میکردین تقریبا 99 درصد وب همچنان کار میکرد...، چون گیر گرافیک نبودن، یه استایل ساده HTML و نهایتا CSS داشتن...
اما الان 99 درصد سایتهای جهان برای کارکرد نیازمند JS هستن.
هندل کردن JS خیلی کار دشواریه...
به این دلایل، هم کارکردن و هم استخدام کردن فرانتکار خوب توی وب یه چالش بزرگه.
توی مک/اندروید/ویندوز/یا... مثلا یه نفر فرانتکار باشه، فریمورکش مشخصه، کارشم مشخصه، API ها هم مشخص هستن، توی وب اما اینطور نیست.
یه نکته اینکه به اون قسمت آخر که اشاره کردم که که باید توی وب سیستم رو جوری تنظیم کنیم که روی پلتفرمها/مروگرهای مختلف درست جواب بده میگن مشخصه ریسپانسیو (Responsive) یا کامپتیبیلیتی کراس-براوزر(Cross-browser compatibility) .
این لینکها راجع بهش مفیدن:
https://en.wikipedia.org/wiki/Responsive_web_design
https://en.wikipedia.org/wiki/Cross-browser_compatibility
=+=+=+=+=+=+=+=+=+=+=+
این فقط بحث وبش بود؛ اما داستان ادامه داره :
Wikipedia
Responsive web design
approach to web design for making web pages render well on a variety of devices
👎10👍4
Forwarded from محمد لرنینگ (آموزش برنامه نویسی)
.
لینک ویدیوی جلسه 10:
https://youtu.be/9twvNteCHPY
تو این ویدیو، با پایتون در مورد شی گرایی صحبت کردیم که دقیقا چی هستش و بعد یکسری مثال از نوشتن کلاس ها توی پایتون و همچنین کاربرا بعضی مجیک متدها صحبت شد.
جزوه ای که روش تدریس میکنم :
https://github.com/SEYEDBAX/course-notes/tree/main/lesson-10
🔔 حتما حتما یوتیوب رو فالو کنید و ویدیو رو لایک کنید و نوتیف رو روشن بزارید 🫶
https://www.tgoop.com/QaDeveloper
تمرین این جلسه :
برای اشکال هندسی مختلف یک کلاس والد بسازید که ویژگی تعداد اضلاع و اسم اون شکل هندسی رو توضیح بده و بعد برای اون اشکال هندسی کلاس بنویسید و توی کلاس های هر کدوم محیط و مساحت رو حساب کنید(برای اشکال مثلث ، مربع، دایره، مستطیل)
✅ @SEYED_BAX | @MakeDeveloper
لینک ویدیوی جلسه 10:
https://youtu.be/9twvNteCHPY
تو این ویدیو، با پایتون در مورد شی گرایی صحبت کردیم که دقیقا چی هستش و بعد یکسری مثال از نوشتن کلاس ها توی پایتون و همچنین کاربرا بعضی مجیک متدها صحبت شد.
جزوه ای که روش تدریس میکنم :
https://github.com/SEYEDBAX/course-notes/tree/main/lesson-10
https://www.tgoop.com/QaDeveloper
تمرین این جلسه :
برای اشکال هندسی مختلف یک کلاس والد بسازید که ویژگی تعداد اضلاع و اسم اون شکل هندسی رو توضیح بده و بعد برای اون اشکال هندسی کلاس بنویسید و توی کلاس های هر کدوم محیط و مساحت رو حساب کنید(برای اشکال مثلث ، مربع، دایره، مستطیل)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Forwarded from محمد لرنینگ (آموزش برنامه نویسی)
.
لینک ویدیوی جلسه 11:
https://youtu.be/8ttgD0DZsBw
تو این ویدیو، با پایتون در مورد شی گرایی صحبت کردیم که دقیقا چی هستش و بعد یکسری مثال از نوشتن کلاس ها توی پایتون و همچنین کاربرا بعضی مجیک متدها صحبت شد.
🔔 حتما حتما یوتیوب رو فالو کنید و ویدیو رو لایک کنید و نوتیف رو روشن بزارید 🫶
https://www.tgoop.com/QaDeveloper
تمرین این جلسه :
۱- یک تابع بنویسید که بینهایت آرگومان ورودی بگیرد و همه را با هم جمع کند
۲- یک دکوریتور بنویسید که روی تابع بالا بنشیند و تقریق عدد های ورودی را حساب کند(در دکوریتور پرینت شود)
۳- یک کلاس والد بنویسید که به عنوان Person ویژگی های یک انسان را دارا باشد (اسم و وزن و قد و ...) سپس یک کلاس Student که از کلاس Person ارث بری کند و ویژگی های کلاس چندم بودن و چه مدرسه ای بودن به آن اضافه شود.
۴- در کلاس Student توانانیی محاسبه معدل دانش آموز بر اساس نمرات ورودی دانش آموز را داشته باشیم. کلاس Student باید یک تابع جهت ثبت نمره داشته باشد و نمره ها به لیست نمرات instance موجود اضافه شود.
✅ @SEYED_BAX | @MakeDeveloper
لینک ویدیوی جلسه 11:
https://youtu.be/8ttgD0DZsBw
تو این ویدیو، با پایتون در مورد شی گرایی صحبت کردیم که دقیقا چی هستش و بعد یکسری مثال از نوشتن کلاس ها توی پایتون و همچنین کاربرا بعضی مجیک متدها صحبت شد.
https://www.tgoop.com/QaDeveloper
تمرین این جلسه :
۱- یک تابع بنویسید که بینهایت آرگومان ورودی بگیرد و همه را با هم جمع کند
۲- یک دکوریتور بنویسید که روی تابع بالا بنشیند و تقریق عدد های ورودی را حساب کند(در دکوریتور پرینت شود)
۳- یک کلاس والد بنویسید که به عنوان Person ویژگی های یک انسان را دارا باشد (اسم و وزن و قد و ...) سپس یک کلاس Student که از کلاس Person ارث بری کند و ویژگی های کلاس چندم بودن و چه مدرسه ای بودن به آن اضافه شود.
۴- در کلاس Student توانانیی محاسبه معدل دانش آموز بر اساس نمرات ورودی دانش آموز را داشته باشیم. کلاس Student باید یک تابع جهت ثبت نمره داشته باشد و نمره ها به لیست نمرات instance موجود اضافه شود.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from Python Hints
#Quick
یک سری وقتها هست که توی پروژه بنا به هر دلیلی نیاز هست که یک پوشه خالی داشته باشید و اون رو روی
اکثرا برای
حالا مساله چیه ؟ هرکی برای خودش از یک استاندارد استفاده میکنه (همه موارد جواب میده)
۱- اونایی که توی
اضافه کردن فایل
۲- بچههای
اضافه کردن یکم فایل با نام دلخواه و شروع با
۳- ویندوزیها :
اضافه کردن یک فایل با پسوند
اما برای این کار یک قرارداد نانوشته مشترک بین همه برنامهنویسها هست اونم؛ توی اون پوشه خالی یک فایل به اسم
بسازید (جدای از
یعنی همه چیز داخل این پوشه رو برای
ربطی به موارد
یک سری وقتها هست که توی پروژه بنا به هر دلیلی نیاز هست که یک پوشه خالی داشته باشید و اون رو روی
git
هم بذارید.اکثرا برای
permission
درست و ... دیدم این کار انجام میشه.حالا مساله چیه ؟ هرکی برای خودش از یک استاندارد استفاده میکنه (همه موارد جواب میده)
۱- اونایی که توی
Mac
کد میزنند:اضافه کردن فایل
.DSStore
(با همچین اسمی به پوشه خالی)۲- بچههای
Linux
:اضافه کردن یکم فایل با نام دلخواه و شروع با
.
بیشترین مورد : .ignore
۳- ویندوزیها :
اضافه کردن یک فایل با پسوند
txt
اما برای این کار یک قرارداد نانوشته مشترک بین همه برنامهنویسها هست اونم؛ توی اون پوشه خالی یک فایل به اسم
.gitignore
بسازید (جدای از
gitignore
کل پروژه هست) و محتوای داخلش این خواهد بود:*
!.gitignore
یعنی همه چیز داخل این پوشه رو برای
git
نادیده بگیر به غیر از .gitignore
ربطی به موارد
advance
نداشت ولی چون دیدم خیلی کم رعایت میشه گفتم پست بذارم.👍7
Forwarded from نوشتههای ترمینالی
اگه دوست دارید بدونید زیر کاپوت git چه خبره این مطلب رو از دست ندید.
تو این مطلب تا حد خیلی خوبی محتویات پوشه .git شرح داده شده از جمله کامیت هارو برنچها و head و ...
به نظرم به درک بهتر از گیت خیلی کمک میکنه.
https://wizardzines.com/comics/inside-git/
تو این مطلب تا حد خیلی خوبی محتویات پوشه .git شرح داده شده از جمله کامیت هارو برنچها و head و ...
به نظرم به درک بهتر از گیت خیلی کمک میکنه.
https://wizardzines.com/comics/inside-git/
wizard zines
inside .git
👍5
Forwarded from Python BackendHub (Mani)
ما یک git flow داریم، که شاید اسمشو نشنیده باشین ولی حتما احتمال زیاد همینو رعایت میکنید. تو عکس توضیح داده. تو پروژه واقعی main میشه پروداکشن، و جای release branches میشه staging و develop هم که میشه نسخه dev که معمولا خیلی استیبل نیست.
معمولا وقتی هاتفیکس انجام میدین رو پروداکشن، رو برنچ staging و dev باید rebase کنید.
حالا سوال دارم ازتون، فکر کنید هات فیکس انجام دادید، ولیبخاطر اون هاتفیکس برنچ develop کانفلیکت خورد موقع ریبیس که حل کردین. ولی شما ۱۰۰ تا برنچ فیچر دیگه دارین از develop، که حالا همشون دقیقا همون کانفلیکت رو خوردن. بنظرتون راهکارش چیه؟
@PyBackendHub
معمولا وقتی هاتفیکس انجام میدین رو پروداکشن، رو برنچ staging و dev باید rebase کنید.
حالا سوال دارم ازتون، فکر کنید هات فیکس انجام دادید، ولیبخاطر اون هاتفیکس برنچ develop کانفلیکت خورد موقع ریبیس که حل کردین. ولی شما ۱۰۰ تا برنچ فیچر دیگه دارین از develop، که حالا همشون دقیقا همون کانفلیکت رو خوردن. بنظرتون راهکارش چیه؟
@PyBackendHub
❤5
Forwarded from Microfrontend.ir
این ماه در کانال متمرکز رو فرانت اند و وب خواهم بود. ابتدا تو یک پلی لیست پروژه محور رو DOM و جزییاتش کار خواهم کرد که پایه و اساس پلی لیست بعدیمون یعنی ساخت یک فریمورک جاوا اسکریپت شبیه React خواهد بود. در پلی لیست DOM سعی میکنم یک برد کانبان شبیه ترلو رو بدون استفاده از فریمورک خاصی یا به عبارتی VanillaJS پیاده کنم بعد همون رو از طریق Web Component بازنویسی خواهم کرد تا با ShadowDOM هم آشنا بشیم.
چون فریمورک وبمون نهایتا قراره رو DOM کار کنه درکش بسیار مهمه. پس از این پلی لیست یک چیزی شبیه React یا Vue خواهیم نوشت که هم درک عمیق تری از جاوا اسکریپت و فریمورکها و ابزارها داشته باشیم و هم اینکه در مصاحبههای فنی اعتماد به نفس بیشتری داشته باشیم.
در این پلی لیستها از تایپ اسکریپت به عنوان زبان اصلی استفاده خواهم کرد که رو اون هم مسلط تر بشیم.
پیشاپیش چشم انتظار فیدبک و نقدهاتون هستم :)
〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
چون فریمورک وبمون نهایتا قراره رو DOM کار کنه درکش بسیار مهمه. پس از این پلی لیست یک چیزی شبیه React یا Vue خواهیم نوشت که هم درک عمیق تری از جاوا اسکریپت و فریمورکها و ابزارها داشته باشیم و هم اینکه در مصاحبههای فنی اعتماد به نفس بیشتری داشته باشیم.
در این پلی لیستها از تایپ اسکریپت به عنوان زبان اصلی استفاده خواهم کرد که رو اون هم مسلط تر بشیم.
پیشاپیش چشم انتظار فیدبک و نقدهاتون هستم :)
〰️〰️〰️〰️〰️〰️
© @microfrontend_ir
❤4
✅ آپدیت جدید دوره فروشگاه اینترنتی با جنگو منتشر شد.
چند قسمت از این دوره رو اینجا ببینید:
https://www.tgoop.com/djangolearn_ir/531
https://www.tgoop.com/djangolearn_ir/533
https://www.tgoop.com/djangolearn_ir/573
https://www.tgoop.com/djangolearn_ir/676
https://www.tgoop.com/djangolearn_ir/724
لینک دوره در دانشجویار:
https://www.daneshjooyar.com/project-django/
چند قسمت از این دوره رو اینجا ببینید:
https://www.tgoop.com/djangolearn_ir/531
https://www.tgoop.com/djangolearn_ir/533
https://www.tgoop.com/djangolearn_ir/573
https://www.tgoop.com/djangolearn_ir/676
https://www.tgoop.com/djangolearn_ir/724
لینک دوره در دانشجویار:
https://www.daneshjooyar.com/project-django/
👍3🔥3👎1
جنگولرن pinned «✅ آپدیت جدید دوره فروشگاه اینترنتی با جنگو منتشر شد. چند قسمت از این دوره رو اینجا ببینید: https://www.tgoop.com/djangolearn_ir/531 https://www.tgoop.com/djangolearn_ir/533 https://www.tgoop.com/djangolearn_ir/573 https://www.tgoop.com/djangolearn_ir/676 https://www.tgoop.com/djangolearn_ir/724 لینک…»
✅ خطای هزینه هدر رفته (Sunk Cost Fallacy) یا اثر کنکورد
حتماً برای شما هم پیش آمده که به دیدن فیلم یا مسابقهای رفته باشید و با شروع آن احساس کنید فیلم یا مسابقه خوبی انتخاب نکرده اید؟ در اینجا دو راه دارید یا محل را ترک کنید و یا تا آخر برنامه بنشینید. جالب است بدانید اکثر افراد راه دوم را انتخاب میکنند. به این رفتار، سوگیری هزینه هدر رفته (Sunk Cost Fallacy) میگویند. در واقع افراد تمایل دارند تصمیمات خود را به سمتی سوق دهند که انتخاب های قبلی آنها را تایید یا توجیه نماید. افراد به چیزی که برای آن زمان، پول، انرژی و یا احساس هزینه کرده باشند میچسبند و حتی با درک این موضوع که انتخاب آنها اشتباه بوده، دست از آن نمیکشند. در واقع زمانیکه به دیدن ادامه آن برنامه اختصاص داده شد می توانست صرف فعالیتی که برای ما خوشایند تر است شود. این سوگیری باعث هدر رفتن بیشتر منابع ارزشمندی مانند زمان و پول می شود. چه بسیار پروژه هایی که در سازمانها تعریف میشود و با گذشتن زمان تیم به این نتیجه میرسد که پروژه مناسب نبوده است اما مدیر بخاطر زمان، هزینه و انرژی که صرف آن شده است اصرار به ادامه کار و در نتیجه اتلاف بیشتر منابع دارد. این یک مدل تفکر و تصمیم گیری غیر منطقی می باشد. نباید اجازه داد هزینههای گذشته روی تصمیمات منطقی بعدی اثر بگذارد. به این هزینهها، هزینههای هدر رفته یا بازگشت ناپذیر میگویند، زیرا مانند آبی که بر زمین ریخته نمیتوان حاصلی برای آن در نظر گرفت.
➖حالا باز بگو با این همه دوره رایگان آخه کسی پول میده دوره بخره.
➖قبلا هم گفتم بازم میگم: دوره رایگان فقط دانلود میشه (دیده نمیشه) و وقتی هارد برای فیلم و سریال جدید جا نداره. دوره رو حذف می کنیم.
➖من با تجربه به این واقعیت رسیدم. نمی دونستم بهش میگن اثر کنکورد
✔️لذا آپدیت جدید دوره فروشگاه اینترنتی با جنگو منتشر شد. لینک دوره غیر رایگان فروشگاه اینترنتی با جنگو
هشتگ خودزنی
حتماً برای شما هم پیش آمده که به دیدن فیلم یا مسابقهای رفته باشید و با شروع آن احساس کنید فیلم یا مسابقه خوبی انتخاب نکرده اید؟ در اینجا دو راه دارید یا محل را ترک کنید و یا تا آخر برنامه بنشینید. جالب است بدانید اکثر افراد راه دوم را انتخاب میکنند. به این رفتار، سوگیری هزینه هدر رفته (Sunk Cost Fallacy) میگویند. در واقع افراد تمایل دارند تصمیمات خود را به سمتی سوق دهند که انتخاب های قبلی آنها را تایید یا توجیه نماید. افراد به چیزی که برای آن زمان، پول، انرژی و یا احساس هزینه کرده باشند میچسبند و حتی با درک این موضوع که انتخاب آنها اشتباه بوده، دست از آن نمیکشند. در واقع زمانیکه به دیدن ادامه آن برنامه اختصاص داده شد می توانست صرف فعالیتی که برای ما خوشایند تر است شود. این سوگیری باعث هدر رفتن بیشتر منابع ارزشمندی مانند زمان و پول می شود. چه بسیار پروژه هایی که در سازمانها تعریف میشود و با گذشتن زمان تیم به این نتیجه میرسد که پروژه مناسب نبوده است اما مدیر بخاطر زمان، هزینه و انرژی که صرف آن شده است اصرار به ادامه کار و در نتیجه اتلاف بیشتر منابع دارد. این یک مدل تفکر و تصمیم گیری غیر منطقی می باشد. نباید اجازه داد هزینههای گذشته روی تصمیمات منطقی بعدی اثر بگذارد. به این هزینهها، هزینههای هدر رفته یا بازگشت ناپذیر میگویند، زیرا مانند آبی که بر زمین ریخته نمیتوان حاصلی برای آن در نظر گرفت.
➖حالا باز بگو با این همه دوره رایگان آخه کسی پول میده دوره بخره.
➖قبلا هم گفتم بازم میگم: دوره رایگان فقط دانلود میشه (دیده نمیشه) و وقتی هارد برای فیلم و سریال جدید جا نداره. دوره رو حذف می کنیم.
➖من با تجربه به این واقعیت رسیدم. نمی دونستم بهش میگن اثر کنکورد
✔️لذا آپدیت جدید دوره فروشگاه اینترنتی با جنگو منتشر شد. لینک دوره غیر رایگان فروشگاه اینترنتی با جنگو
هشتگ خودزنی
👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
بدبختی های ساخت اسرائیل و دیگران 😔
❤44👎21👍3🤮2
Forwarded from محمد لرنینگ (آموزش برنامه نویسی)
.
لینک ویدیوی جلسه 13:
https://youtu.be/ClmKWVX5ESA
تو این ویدیو، درمورد json صحبت کردیم که چی هست و چرا زیاد داره ازش استفاده میشه و برای چی در حال حاضر جایگزین xml , txt شده و مثال هایی از اون زدیم، همچنین در مورد دیکشنری بیشتر صحبت کردیم و تفاوت هاش رو با json شرح دادیم، با دیتاهای هشیبل توی پایتون هم آشنا شدیم.
جزوه ای که روش تدریس میکنم :
https://github.com/SEYEDBAX/course-notes/tree/main/lesson-14
🔔 حتما حتما یوتیوب رو فالو کنید و ویدیو رو لایک کنید و نوتیف رو روشن بزارید 🫶
https://www.tgoop.com/QaDeveloper
✅ @SEYED_BAX | @MakeDeveloper
لینک ویدیوی جلسه 13:
https://youtu.be/ClmKWVX5ESA
تو این ویدیو، درمورد json صحبت کردیم که چی هست و چرا زیاد داره ازش استفاده میشه و برای چی در حال حاضر جایگزین xml , txt شده و مثال هایی از اون زدیم، همچنین در مورد دیکشنری بیشتر صحبت کردیم و تفاوت هاش رو با json شرح دادیم، با دیتاهای هشیبل توی پایتون هم آشنا شدیم.
جزوه ای که روش تدریس میکنم :
https://github.com/SEYEDBAX/course-notes/tree/main/lesson-14
https://www.tgoop.com/QaDeveloper
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
db_ali.pdf
1 MB
✅انواع ارتباطات در ایجاد پایگاه داده
از لینکدین علی بیگدلی
برای اینکه یه جمع بندی داشته باشیم از relation های توی database سعی کردم یه قاب کلی از معمول ترین ها رو دور هم جمع کنم تا یه آشنایی اولیه باهاشون داشته باشید.
اما بزرگترین نقش و معمولا ضعف توی طراحی پایگاه داده ارتباطات هستش که در بیشتر مواقع به خاطر دانش کم ممکن هستش که نتونیم در هر جا مدل مناسب برای استفاده رو انتخاب کنیم و همین موضوع باعث سخت شدن طراحی و پیاده سازی سرویس ها میشه.
اما اگر یک ایده کلی از برخی از اون ها رو پیدا کنیم تصمیم گیری راحت تر میشه، برای شروع یک دسته از رایج ترین ارتباطات رو که توی مدل های مختلف با سناریو های متفاوت اتفاق میافته رو جمع کردم تا یه دید اولیه پیدا کنیم و بعد به مرور ساختارشون رو توی جنگو بررسی خواهیم کرد و اینکه چطور میشه این داده ها رو باستفاده از ORM در جنگو واکشی کرد.
مواردی که بررسی خواهیم کرد شامل:
- One-To-One
- Many-To-One
- One-To-Many
- Many-To-Many
- Self-referential Relationships
- Recursive Foreign Keys
- Through Relationships
- Generic Relationships
از لینکدین علی بیگدلی
برای اینکه یه جمع بندی داشته باشیم از relation های توی database سعی کردم یه قاب کلی از معمول ترین ها رو دور هم جمع کنم تا یه آشنایی اولیه باهاشون داشته باشید.
اما بزرگترین نقش و معمولا ضعف توی طراحی پایگاه داده ارتباطات هستش که در بیشتر مواقع به خاطر دانش کم ممکن هستش که نتونیم در هر جا مدل مناسب برای استفاده رو انتخاب کنیم و همین موضوع باعث سخت شدن طراحی و پیاده سازی سرویس ها میشه.
اما اگر یک ایده کلی از برخی از اون ها رو پیدا کنیم تصمیم گیری راحت تر میشه، برای شروع یک دسته از رایج ترین ارتباطات رو که توی مدل های مختلف با سناریو های متفاوت اتفاق میافته رو جمع کردم تا یه دید اولیه پیدا کنیم و بعد به مرور ساختارشون رو توی جنگو بررسی خواهیم کرد و اینکه چطور میشه این داده ها رو باستفاده از ORM در جنگو واکشی کرد.
مواردی که بررسی خواهیم کرد شامل:
- One-To-One
- Many-To-One
- One-To-Many
- Many-To-Many
- Self-referential Relationships
- Recursive Foreign Keys
- Through Relationships
- Generic Relationships
👍5
erfan_replication.pdf
1.8 MB
✅استفاده از replication در جنگو
از لینکدین Erfan Ali aghdam
تو این پست با master-slave replication آشنا میشیم
همچنین برای دسترسی به دستور العمل پیاده سازی replication با جنگو میتونین به لینک زیر از گیتهابم مراجعه کنین.
لینک:
https://github.com/erfanAliaghdam/master-slave-replication-in-django
از لینکدین Erfan Ali aghdam
تو این پست با master-slave replication آشنا میشیم
همچنین برای دسترسی به دستور العمل پیاده سازی replication با جنگو میتونین به لینک زیر از گیتهابم مراجعه کنین.
لینک:
https://github.com/erfanAliaghdam/master-slave-replication-in-django
👍1
Media is too big
VIEW IN TELEGRAM
✅مصاحبه علی بیگدلی با من در مورد فروشگاه اینترنتی با جنگو
توی این ویدئو یک مصاحبه با مهندس علی بیگدلی پیرامون طراحی یک فروشگاه اینترنتی با جنگو داشتم.
علی بیگدلی من رو به عنوان یک برنامه نویس با تجربه انتخاب کرده بود. و سوالات خودش رو از من پرسید.
سعی کردم تا جایی که دانش دارم جواب بدم.
امیدوارم از این ویدئو چیزی یاد بگیرید.
لینک آپارت:
https://www.aparat.com/v/kuocju0
لینک یوتیوب:
در حال آپلود
لینک مکتب خونه
توی این ویدئو یک مصاحبه با مهندس علی بیگدلی پیرامون طراحی یک فروشگاه اینترنتی با جنگو داشتم.
علی بیگدلی من رو به عنوان یک برنامه نویس با تجربه انتخاب کرده بود. و سوالات خودش رو از من پرسید.
سعی کردم تا جایی که دانش دارم جواب بدم.
امیدوارم از این ویدئو چیزی یاد بگیرید.
لینک آپارت:
https://www.aparat.com/v/kuocju0
لینک یوتیوب:
در حال آپلود
لینک مکتب خونه
👍7❤2
Media is too big
VIEW IN TELEGRAM
✅مصاحبه فنی امیربهادر با من برای پوزیشن برنامه نویس پایتون
با شروع دیده نشده از خودم😎
توی این ویدئو که لقب بدترین مصاحبه خاورمیانه رو کسب کرد، امیر بهادر در نقش مصاحبه کننده با من مصاحبه کرد.
وی قبلا یک مساله برای من ارسال کرده بود و من اونو حل کرده بودم. حالا باید توی مصاحبه از چیزی که نوشتم دفاع میکردم. و به سوالاتی پیرامون پایتون و مهندسی نرم افزار جواب میدادم.
امیربهادر توی این ویدئو سوالات متفاوتی رو مطرح کرد و یک مساله عنکبوت و غذاش رو هم مطرح کرد و میخواست که اثبات کنم سریع ترین مسیر رسیدن عنکبونت به غذاش کدوم هست.
بعد از مصاحبه هم شروع به بررسی و تحلیل کرد و به من ثابت کرد که چطور من صد در صد توی این مصاحبه رد میشم.
امیدوارم از این مصاحبه چیزی یاد بگیرید. لااقل یاد بگیرید توی مصاحبه مثل میلاد نباشید 😉
ولی یادتون باشه طوری نشود که طوری شود که همش فکر کنید هنوز برای مصاحبه دادن آماده نیستید
✔️پیام هایی از دوستان دیدم که نوشتن با دیدن این مصاحبه فهمیدیم که برای مصاحبه دادن آماده ایم
لینک آپارات:
https://aparat.com/v/haxk9tk
لینک پست امیربهادر در تلگرام:
https://www.tgoop.com/BenDevelop/140
با شروع دیده نشده از خودم😎
توی این ویدئو که لقب بدترین مصاحبه خاورمیانه رو کسب کرد، امیر بهادر در نقش مصاحبه کننده با من مصاحبه کرد.
وی قبلا یک مساله برای من ارسال کرده بود و من اونو حل کرده بودم. حالا باید توی مصاحبه از چیزی که نوشتم دفاع میکردم. و به سوالاتی پیرامون پایتون و مهندسی نرم افزار جواب میدادم.
امیربهادر توی این ویدئو سوالات متفاوتی رو مطرح کرد و یک مساله عنکبوت و غذاش رو هم مطرح کرد و میخواست که اثبات کنم سریع ترین مسیر رسیدن عنکبونت به غذاش کدوم هست.
بعد از مصاحبه هم شروع به بررسی و تحلیل کرد و به من ثابت کرد که چطور من صد در صد توی این مصاحبه رد میشم.
امیدوارم از این مصاحبه چیزی یاد بگیرید. لااقل یاد بگیرید توی مصاحبه مثل میلاد نباشید 😉
ولی یادتون باشه طوری نشود که طوری شود که همش فکر کنید هنوز برای مصاحبه دادن آماده نیستید
✔️پیام هایی از دوستان دیدم که نوشتن با دیدن این مصاحبه فهمیدیم که برای مصاحبه دادن آماده ایم
لینک آپارات:
https://aparat.com/v/haxk9tk
لینک پست امیربهادر در تلگرام:
https://www.tgoop.com/BenDevelop/140
❤16👍3🥱2🔥1
Forwarded from TorhamDev | تورهام 😳
شاید برای شما هم سوال بود که چطور SQL کوئریهایی که با ORM جنگو میزنیم رو ببینیم؟
https://b0uh.github.io/django-show-me-the-sql.html
@TorhamDevCH
https://b0uh.github.io/django-show-me-the-sql.html
@TorhamDevCH
b0uh.github.io
Django: show me the SQL - Thomas Loiret - Random thoughts
8 different ways to see the SQL generated by Django
👍4
Forwarded from TorhamDev | تورهام 😳
یک نکته درباره primary key داخل #جنگو اینه که شما میتونید برای هر app به شکل خاص primary key خاص خودش رو داشته باشید. مثلا برای یک app از big integer استفاده کنید و برای یکی از UUID این رفتار رو برای هر اپ میتونید به مشخص کردن AppConfig.default_auto_field مشخص کنید. حالا #django این قابلیت رو هم بهتون میده که جدا از انتخاب دونه دونه برای هر اپ یک حالت گلوبال در نظر بگیرید که اگر مخصوص اپ ست نکرده باشید از اون استفاده میکنه که پیشفرض خود جنگو BigIntegerField در نظر میگیره و میشه با تغییر دادن DEFAULT_AUTO_FIELD داخل settings.py به شکل گلوبال تغییرش داد
@TorhamDevCH
@TorhamDevCH
👍1