جنگولرن
3.82K subscribers
287 photos
75 videos
31 files
557 links
آموزش Django و بستگان
Download Telegram
متد setattr و getattr و چند تا متد دیگه رو مونگارد توی این آموزش خیلی سریع و آسون توضیح داده

اگه این متدهارو نمی شناسید ویدئوی این آموزش رو ببینید:

https://www.mongard.ir/one_part/130/python-getattr-setattr-delattr/
👍4🙏2
یه سوال:
من از سال ۹۵ تا امسال ۴ تا شرکت عوض کردم. میخوام پنجمی هم عوض کنم
اولی اضافه کاری اجباری بود و با مدیرعامل دعوام شد اخراج شدم 😎 (تقریبا ۲ سال موندم)
دومی سیستم غیرمنعطف بود و خشک و چون کارشون حساس بود، تقریبا اینترنت نداشتیم 😡 (۱۰ ماه موندم)
سومی مکان شرکت جابجا شد دیگه سخت بود برام 🚌 (۶ ماه موندم)
چهارمی تاخیر در پرداخت همیشه بود 🫥 (۲ سال موندم)
پنجمی افزایش حقوق مناسب نداره 😨 (۱ سال و ۳ ماهه هستم)

به نظر شما با این سابقه زیبا
جواب این سوال: "چرا از شرکت های قبلی جدا شدی" چی باشه بهتره؟ (جالبه که دلیل همه جدایی هامو 😁 میخوان بدونن 🥱 )
👍9🤣31🤔1
شی گرایی در CSS 😳
بله درسته. یه روش هست به اسم OOCSS یا همون Object Oriented CSS
برای مدیریت بهتر CSS هست. این اسلاید رو ببینید، متوجه داستان میشید.
البته برای پروژه های بزرگ کاربرد داره

https://www.slideshare.net/stubbornella/object-oriented-css
👍1🤯1
Forwarded from Python BackendHub
یک نمونه دیگه از جنگو!
نقل قول از کتاب two scopes of django
اگه query جنگو آبجکت عجیب غریبی نبود و lazy evaluate بودنش خیلی ساده تر پیاده سازی میشد یا اصلا پیاده نمیشد, الان قابلیت تغییر درایور به asyncpg وجود داشت که تو پرفومنس در مقایسه با psycopg شوخیه, و دست زدن بهش باعث از بین رفتن backward compalitity میشه و کلا کل کد و queryهایی که زدین رو باید از اول بنویسید, که خب بنظر نمیرسه حداقل حالا حالا ها همچین اتفاقی بیفته.

@ManiFoldsPython
برگه تقلب BEM البته چیزی فراتر از Cheat Sheet هست

حالا BEM چیه؟
بم یک سیستم نام‌گذاری استایل‌هاست که سعی داره مشکل نام‌گذاری و ساختار CSS رو حل کنه ( یا حداقل بهترش کنه) و کلاس‌های ساختارمندتر و بهینه‌تر برای توسعه و scale کردن رو فراهم کنه. بم (‌BEM) از اول کلمات Block و Element و Modifiers تشکیل شده که در واقع به ۳ رکن اصلی این روش اشاره داره.

https://bem-cheat-sheet.9elements.com/
Forwarded from Python Hints
AdamJohnson-SpeedupyourDjangotests.pdf
5.7 MB
این پست استثنا هست :

توی مدتی که دارم django میخونم خیلی ایراد دیدم توی کدهای توسعه داده شده توسط دوستان
من خودمم اشتباه زیاد دارم؛ ولی خب در نظر بگیرید من سنیور django نیستم و تازه شروع کردم اما آشنایی بالایی که با
‏system design, software engineering

دارم باعث میشه خیلی از دوستان لطف کنند و من رو هم در زمره سنیورهای جنگو قرار بدند (هنوز سابقه ام به یکسال نرسیده)

یکی از معظلاتی که رو آپدیت پروژه شرکت داشتم؛ سرعت پایین کدهای تست بود و متاسفانه هیچکس هم نتونست کمکم کنه روی این موضوع

حالا به کتابی برخوردم که آرزو میکردم ۱ سال پیش پیداش کرده بودم یا حداقل یک
‏senior
بهم معرفی میکرد که بخونم.

برای اینکه کسی مثل من نشه و چون django developer بسیار داریم این پست و کتاب رو گذاشتم.

کتاب رو گذاشتم؛ چون خرید از ایران بسیار سخت بود.

Adam Johnson - Speedup your django tests

کتاب راحت ۱۰ ستاره هست؛ هم بخاطر اهمیت موضوع هم نوشتار و …
👍126
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت پنجاه و هشتم - اصلاح کلاس ها

بعد از یکم مطالعه درباره BEM, html, css, felxbox, css grid یه نگاه دیگه به کدهایی که نوشتم انداختم و متوجه شدم بعضی کلاس ها طبق BEM نامگذاری نشدند. در واقع اشتباه نامگذاری شده بودند. لذا توی این ویدئو نکات BEM رو بررسی کردم و در نهایت ایراد های نامگذاری class هارو برطرف کردم.

لینک آپارات:
https://aparat.com/v/CiPIr

لینک یوتیوب:
https://youtu.be/ymayBRRq8Mw
👍3
Media is too big
VIEW IN TELEGRAM
برنامه نویسی از پایه قسمت پنجاه و نهم - کاربر لاگین شده در Django

توی این قسمت یاد گرفتیم اگه کاربر لاگین باشه. چطور منوهارو براش تغییر بدیم. و با is authenticated و روش استفاده اون آشنا شدیم. بعدش تغییراتی در کد اعمال کردیم که وقتی کاربر لاگین شده صفحه signin رو باز کنه به صفحه index ما redirect بشه. این حرکت یه مشکل امنیتی به اسم social media fingerprinting داره که در موردش یکم توضیح دادم و عملی متوجه شدیم چکار میکنه.

لینک آپارات:
https://www.aparat.com/v/liVTB
لینک یوتیوب:
https://youtu.be/JPaIskKeo8I
👍1
تمرین css grid با بازی Grid Garden 😊

لینک:
https://cssgridgarden.com/
👍1
یه ریپو عجیب که n تا cheatsheet داره
از زبان های برنامه نویسی گرفته تا برگه تقلب vscode

لینک:
https://github.com/LeCoupa/awesome-cheatsheets
1👍1
از Linkedin آقای arash hosseini #مهندسی_سیستم لینک در نظرات پست
مهندسی سیستم بخش سوم:

در پست های گذشته به کارکردهای عینی پرداختیم که البته موارد دیگری نیز هست که فعلا به موارد ذکر شده بسنده می کنیم . ادامه بحث :
کارکردهای ذهنی:
تشخیص و برآورد کمیت کارکردهای ذهنی دشوارتر می باشد. نکته جالب اینجا است که ما می توانیم به میزان دلخواه به پارامترهای کارکرد ذهنی که قابل اندازه گیری، تست و قابل تائید باشند، از طریق نظرسنجی و مصاحبه اضافه کنیم. هرچند پاسخ کسانی که مورد نظرسنجی و مصاحبه قرار می گیرند به این پرسش که درجه تمایلات، توافق و خواستن/نخواستن را با جملات قابل اندازی گیری بیان کنند، نیاز به ترجمه و تفسیر، قضاوت ارزش ها وعقاید و دیگر موارد می باشد. بنابر این پاسخ ممکن است استعاره ای از تجربه و درس آموخته های گذشته باشد. مثال هایی از کارکردهای ذهنی می تواند شامل موارد ذیل باشد :
· کیفیت، شفافیت،ظاهر و رنگ
· قرابت
· دوست داشتنی بودن
· عقیده
· همواری
· رضایت، لذت و مزه

مشخصات سیستم :
هنگامی که سیستم را برای بازرایابی یا آنالیز توصیف می کنیم، چهار نوع مشخصه برای آن قائل هستیم :
· مشخصات عمومی
· مشخصه های عملیاتی و رفتاری
· مشخصات فیزیکی
· زیبایی سیستم

مشخصات عمومی :
امکانات سطح بالای یک سیستم را مشخصات عمومی می گویند. ما سرنخ این امکانات را می توانیم در بروشورهای تبلیغاتی که امکانات کلیدی سیستم برای جذب مشتری در آنها تاکید شده است، پیدا کنیم. مشخصه های عمومی معمولا موارد مشترکی در میان نسخه ها و مدل های یک سیستم دارند. مثال های ذیل را در نظر بگیرید :
· مشخصه های عمومی خودرو مانند یک در یا دو در بودن، شیشه های نشکن، سیستم تهویه مطبوع
· مشخصه های عمومی یک هلدینگ یا سازمان مانند : تعداد مستخدمین 200 نفر، تعداد کارمندان با درجه دکترا 30 نفر، تعداد مدیر 50 نفر، فروش سرانه 500 میلیون تومان در هر فصل.
· مشخصه های عمومی صنعت هوانوردی مانند : گنجایش 50 مسافر، برد 2000 مایل، فن جت
· مشخصه های عمومی شبکه مانند : معماری کلاینت و سرور، سیستم عامل و پلتفرم، امنیت دیواره آتش، دسترسی از راه دور DIALUP، ساختار فایلینگ شبکه
مشخصه های عملیاتی یا رفتاری :
یک لایه پایین تر از مشخصه های عمومی، سیستم ها دارای مشخصه های عملیاتی که امکانات سیستم را از نظر قابلیت استفاده، بقای سیستم و کارکرد تعریف شده آن برای یک محیط عملیاتی مشخص را تشریح می نماید. مثال های ذیل را در نظر بگیرید :
· مشخصه های عملیاتی خودرو : میزان مانور، شعاع چرخش 18FT، صفر تا صد زیر 6 ثانیه
· مشخصه های عملیاتی صنعت هوانوردی : کارکرد در آب و هواهای مختلف، سرعت هواپیما
· مشخصه های عملیاتی شبکه : احراض [احراز] هویت، زمان دسترسی، تاخیر

مشخصه های فیزیکی :
هر سیستمی در ارتباط با صفات غیر کارکردیش به کمک مشخصه های فیزیکی مانند سایز، وزن، رنگ، گنجایش، مشخصه های اینترفیس توصیف می گردد مانند :
· مشخصه های فیزیکی خودرو : وزن 4 تنف [تن] گنجایش مسافر 4 نفر
· مشخصه های فیزیکی سازمان : فضای دفتر 5000 متر مربع، شبکه با 15 کامپیوتر و فضای انبار 15000 متر مربع
· مشخصه های فیزیکی شبکه : پشتیبانی از اینترنت 1 مگابایت، توپوگرافی شبکه، روترز
👍2
Forwarded from Django Expert (Boby Cloud)
درود خدمت دوستان عزیز، طی چند هفته گذشته روی ریپوهای DjangoEx کار میکردیم و آپدیتی که قولش رو داده بودیم آماده شده. در زیر ریپوهارو به ترتیب معرفی میکنیم.

ریپازیتوری Awesome Python Resources: مجموعه ای از بهترین و کامل ترین ریسورس‌های مورد نیاز برای رشد در مسیر شغلی مهندسی نرم افزار (پایتون) به همراه تفکیک بر اساس Career Path و Advanced Topics
https://github.com/DjangoEx/awesome-python-resources

ریپازیتوری Awesome Python Roadmaps: مجموعه از رودمپ‌های مورد نیاز یک مهندس نرم افزار (پایتون) در Career Path هایی نظیر Backend، Data Scientist، Software Architect و ...
https://github.com/DjangoEx/awesome-python-roadmaps

ریپازیتوری Awesome Python Podcast: مجموعه‌ای از پادکست های حوزه مهندسی نرم‌افزار/پایتون برای آپدیت بودن راجع به رویدادهای کامیونیتی پایتون و اپیزودهای تکنیکالی که با پادکست میتونید یاد بگیرید:
https://github.com/DjangoEx/awesome-python-podcasts

ریپازیتوری Awesome Python Project Ideas: مجموعه‌ای از ایده‌ها برای پیاده سازی پروژه با پایتون به منظور تمرین یا کمک به رزومه، در سطوح Beginner، Intermediate و Advanced و به همراه User Stories, Project Overview, Bonus Features و ...
https://github.com/DjangoEx/awesome-python-project-ideas

ریپازیتوری Awesome Python Resources Persian: مجموعه‌ای از منابع آموزشی در زمینه پایتون به زبان فارسی
https://github.com/DjangoEx/awesome-python-resources-persian

ریپازیتوری DjangoEx Bot: احتمالا تا حالا کاربر Backend Senior Developer رو توی گروه دیدین که به سوالات پاسخ میده، این کاربر یک نوع هوش مصنوعی مبتنی بر GPT هست و توسط یکی از ادمین‌های کانال توسعه داده شده که میتونین به سورس کدش از طریق ریپازیتوری زیر دسترسی داشته باشین:
https://github.com/DjangoEx/django-expert-bot

تمام ریپازیتوری‌ها به صورت یکجا نیز در صفحه گیتهاب DjangoEx قابل دسترسی هست
https://github.com/DjangoEx

💡 لطفا اگر شما هم ایده‌هایی برای ریپازیتوری‌ها دارید، با ایجاد Issue و Pull Request به کامل‌تر شدن این ریپازیتوری‌ها کمک کنید، ما از هرگونه مشارکت عام المنفعه استقبال میکنیم.
✔️ باتشکر از همراهی همه شما عزیزانی که تا الان کانتربیوت کردید (+۵۰ نفر) و به این ریپازیتوری‌ها استار دادید و حمایت کردید به اشتراک گذاشتید. لطفا اگر این پست رو هم مفید میبینید به اشتراک بزارید.

#DjangoEx #Python #Github

© @DjangoEx
🔥4👏3
Forwarded from آکادمی دکتر مس‌فروش (Ali Mesforush)
سلام.
ویدیوهایی که توسط من تهیه شده، در دفتر کارم و بدون تجهیزات استودیویی تهیه شده است، به ویژه میکروفون مورد استفاده من میکروفن داخلی خود کامپیوتر است. برای بهبود کیفیت صدای ویدیوها و حذف نویز قصد دارم یک میکروفون نیمه حرفه‌ای بخرم. چون تمام درسهای من رایگان است، لذا امکان اینکه هزینه را شخصا متقبل بشوم وجود ندارد. ضمن اینکه هیچ اسپانسری هم تا کنون نداشته‌ام و حمایت مالی تا کنون از من صورت نگرفته است. لذا یک لینک حمایت مالی آماده کرده‌ام تا کسانی که تمایل به حمایت مالی از آکادمی رایگان من دارند در زمینه خرید میکروفون حمایت مالی کنند. طبق برآورد انجام شده به حدود 4 تا 5 میلیون تومان برای تهیه یک میکروفون نیمه حرفه‌ای مورد نیاز است که هدف را همین عدد قرار داده‌ام.
کسانی که تمایل دارند می‌توانند از طریق لینک زیر به هر میزان که می‌خواهند در تامین بودجه حمایت کنند.
https://hamibash.com/DrMesforushAcademy
با سپاس
/مس‌فروش
1🤮1
آیا یادگیری ریاضی می تواند شما را برنامه نویس بهتری کند؟

متن زیر رو بخونید- بخشی از مطلبی که لینکش رو آخر پست گذاشتم (توی نظراتش یکی گفته آخه html css ریاضی میخواد 😂 ):

ریاضیات لازم برای برنامه نویسی
جبر بولی
برای درک برنامه نویسی، باید مفاهیم جبر بولی را درک کنید. شما از منطق هایی مانند AND، OR، NOT، XOR و XNOR برای ساختن کد استفاده خواهید کرد، ریاضی در برنامه نویسی که همگی بخشی از چیزهایی هستند که در جبر بولی که نحوه عملکرد مدارهای کامپیوتری را نشان می دهد، یاد خواهید گرفت.

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

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

استقراء ریاضی
همه برنامه نویسان باید درک کاملی از استقرای ریاضی داشته باشند، که اساس هر مشکل مبتنی بر بازگشت در برنامه نویسی است.

حساب دیفرانسیل و انتگرال
برای بهینه سازی الگوریتم یادگیری ماشین، باید از حساب چند متغیره استفاده کنید. شما همچنین از حساب دیفرانسیل و انتگرال در برنامه های مبتنی بر شبیه سازی استفاده خواهید کرد، زمانی که اشیا باید بر اساس قوانین فیزیک با یکدیگر تعامل داشته باشند. محاسباتی که در یک برنامه کارشناسی یا از طریق دوره های آنلاین یاد می گیرید، از قوانین فیزیک که به شما در برنامه ریزی شبیه سازی کمک می کند، پشتیبانی می کند.

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

نظریه گراف
اثبات ها و قضایای نظریه گراف به برنامه نویسان کمک می کند تا کدهای قابل پیمایش را ایجاد کنند و همچنین در برنامه نویسی راحت تر حرکت کنند.

همانطور که تئوری گراف را یاد می‌گیرید، با اثبات‌ها و قضایایی مانند جستجوی اول عمق، ریاضی در برنامه نویسی مرتب‌سازی توپولوژیکی، الگوریتم Dijkstra و جستجوی اول عرض بیشتر آشنا می‌شوید.

این مفاهیم در برنامه های ناوبری، به عنوان مثال، برای محاسبه کوتاه ترین فاصله بین دو نقطه با استفاده از الگوریتم ها استفاده می شود. برنامه نویسان باید بتوانند آن نوع الگوریتم ها را ایجاد کنند.

اینم لینک مطلب بالا:
https://www.iraniancyber.com/math-programming-contact/
👍3🤮1
پست قابل تاملی از @pyHints

اینم سوال جالبی بود که از من شد (چند هفته گذشته ولی خب ...)

اگر قرار بود از اول شروع کنی، چه مطالبی رو دنبالش میرفتی ؟

قطعاً برای برنا‌مه‌ نویسی :
بجای اون همه جابجایی فقط ۳ تا زبان رو نگه می داشتم

Assembly, Rust, Python3

نکته اینه که من خیلی آدم سمت ترمینال و سروری هستم و بیشتر جذب این موارد میشم تا محیط گرافیکی و ...

قطعاً توی این مسیرم باز هم
Cisco CCNA, CCNP
رو میخوندم. (البته پیشنهادم برای برنامه‌نویس‌ها این روزها درحد همون CCNA هست)

قطعاً بازهم
Linux RedHat
رو آزمون‌هاش رو میدادم (مدرک lpic رو دوس ندارم چون خیلی کاغذی هست)

این موارد واجباتی هستند که فکر می‌کنم خیلی از سواد امروزم رو مدیون یادگیریشون هستم.
👍3🤮1
Meysam
دموی جرمی هاوارد برای زبان برنامه نویسی mojo این زبان در واقع یه چیزی مثل همون تایپ اسکریپت که برای جاوااسکریپت بود برای پایتون قراره باشه. خیلی سرعت رو بیشتر می‌کنه و تایپینگش عالیه.
💬 کامنت یکی از دوستان درباره این مطلب:

تایپ اسکریپت در نهایت به جاوا اسکریپت تبدیل میشه ولی این داستانش فرق داره. کلا یه زبان دیگه هست فقط سعی کردن با پایتون سازگارش کنن که بتونن از کتابخانه هاش استفاده کنن. از ابتدا هم به صورت کامپایلری طراحی شده و مفسر نداره. اگه بتونه به قولهایی که داده عمل کنه ( سرعت بالا، سازاگاری کامل با کتابخانه های فعلی پایتون) میتونه جایگزین پایتون بشه نه اینکه در کنارش استفاده بشه
🤮1
مطلبی از @djangoex

✔️ شاید تا الان براتون پیش اومده باشه که موقع نوشتن حلقه‌های for در پایتون، با خودتون فکرکنید که شاید راه‌های بهتری هم وجود داشته باشه.

در این مقاله ۳۰ مثال پایتونیک مختلف رو بررسی میکنیم تا از نوشتن حلقه‌های for اجتناب کنیم. مثال‌هایی که با استفاده از توابع built-in پایتون به دلیل پیاده‌سازی‌های داخلی پایتون (cpython) پرفورمنس بهتری دارن تا روش های functional programming که در کامیونیتی پایتون و متدهای built-in پایتون وجود داره و ...

توضیحات بیشتر همراه با مثال‌های مختلف رو می‌تونید در این مقاله مطالعه کنید:
👉 30 Pythonic Ways To Avoid For Loops — A Decade-Long Journey Best Practices

اگر این مقاله رو مفید دیدید، ممنون میشم به اشتراک بزارید.

#python #best_practice

© @DjangoEx
👍8👏1🤮1
مطلبی از @PinkOrca
در مورد مقایسه Bootstrap و Tailwind

به شکل کلی، تو دنیای فرانت‌اند، تیلویند تکنولوژی جدیدتری محسوب میشه نسبت به بوتسترپ، ولی محبوبیتش به شدت زیاد و همینطور رو به افزایشه.

تاکید تیلویند بر سبک و بهینه بودن خروجیه، یعنی شما از کدی که نوشتید خروجی می‌گیرید و کلاس‌هایی که استفاده نشده ازشون دیگه باعث سنگین‌شدن فایل CSS شما نمیشن.
چیزی که در بوتسترپ برعکسه و صرفا خودش به تنهایی +۲۰۰ کیلوبایت به حجم پروژه شما اضافه می‌کنه که اگه به بهینگی تاکید داشته باشید تیلویند انتخاب مناسب‌تریه.

بوتسترپ یه فریمورک Component-based هستش و از تعداد زیادی استایل آماده برای اجزای مختلف تشکیل شده، ولی تیلویند Utility-first هستش و تک تک ویژگی‌های اجزاء رو خود شما مثل CSS عادی توش با کلاس‌ها تعریف می‌کنید.
این از طرفی به این معنیه که نه تو تیلویند برخلاف Pure CSS، کدهای شما تکرار میشن، نه مثل بوتسترپ وابسته به چهارچوب هستید و اکثر خروجی‌ها مشابه از آب در میان!🫣 پس دستتون باز تره...
ولی مشکلاتی هم داره این موضوع.
برای کسی که تو CSS مهارت خوبی نداره و صرفا هدفش ساخت سریع یه UI هستش(مثلا برای یک بک‌اند دولوپر)، بوتسترپ می‌تونه ساده‌تر باشه. از طرفی چون کلاس‌ها خیلی جزئی و متنوع هستن تو تیلویند، باعث  میشه برخلاف فایل CSS که توش از تکرار کد جلوگیری شده، این‌بار فایل HTML ما یکم شلوغ‌تر بشه.🥴

در مورد این سوال که بوتسترپ یاد بگیریم یا نه، اگه دوست دارید یاد بگیرید، پس یاد بگیرید! به چیزی فکر نکنید... یادگیری در کل چیز بدی نیست و ضرر نمی‌کنید.
اینکه تیلویند بهتره یا بوتسترپ، انتخابش سلیقه‌ایه، ولی آینده دست تیلوینده و منم ترجیحش میدم بنا به مزایای خوبش.
پ.ن:
به شخصه بیشتر از یه ساله که از بوتسترپ استفاده نمی‌کنم...

سوال مهم:
بهترین منبع برای یادگیری تیلویند css کجاست؟
مثل بوتسترپ، تیلویند هم داکیومنتیشن خوب و کاملی داره. بهترین کار اینه که یه روز بهش مراجعه کنید و در کمتر از یک بعد از ظهر، کار رو باهاش یاد بگیرید! البته قبلش بهتره تو CSS، سطحتون متوسط رو به بالا باشه.

به نظرم چیزی که مهم بود رو رسوندم تو این نوشته و تا همینجا کافیه، نتیجه با شما.

~> @PinkOrca
👍9🤮1