Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
707 - Telegram Web
Telegram Web
Media is too big
VIEW IN TELEGRAM
🔸 فصل : سوّم
🔸 جلسه : پنجم
🔸 عنوان دوره : صفر تا قهرمانیِ پایتون 
🔸 عنوان جلسه : مفهوم mutable در پایتون

👨‍💻👩‍💻 وبسایت : izlearn.ir
4👍3
جنگولرن
سری مهندسی نرم‌افزار: پست 8 از لینکدین Saeed Shahrivari Joghan تکنکیک‌های چابک برای هضم کردن تغییرات در پست قبلی خدمتتون عرض کردم که شاید مهمترین هدف چابکی embraceکردن تغییرات باشه. در این پست میخوام مقداری راجع به تکنیک‌هایی که چابکی در این راستا داره صحبت…
سری مهندسی نرم‌افزار: پست 9
از لینکدین Saeed Shahrivari Joghan
اسکرام: قدیمی، سبک، پر حاشیه

در پست‌های قبلی خدمتتون عرض کردم روش‌های چابک معمولاً با استفاده از فرآیند توسعه تکرارشونده و افزایشی با چاشنی فیدبک مستمر سعی در هضم تغییرات دارند و با استفاده از همین دو ستون اصلی محبوبیت قابل توجهی طی دو دهه گذشته کسب کردند. در این پست می‌خوام یه مقداری راجع به معروف‌ترین چارچوب چابک صحبت کنم: اسکرام. اول اینو بگم که قصدم توضیح دادن اسکرام نیست چون در یک پست نمی‌گنجه. از طرفی هم قصد دفاع از اسکرام رو ندارم ولی به نظرم اسکرام در ایران شدیداً مورد استفاده غلط و حتی سو استفاده قرار گرفته و جدیداً هم خیلی باب شده که بهش می‌تازند. من در اغلب پروژه‌هایی که شرکت داشتم از اسکرام استفاده کردم و همچنان هم اولین انتخابم اسکرام هست نه به خاطر اینکه خیلی عالی و بی‌نقصه بلکه بخاطر اینکه روش سازمان‌یافته و عمومی بهتری رو بلد نیستم.

من همیشه اولین چیزی که راجع به اسکرام متذکر میشم چارچوب بودن اسکرامه. اسکرام بنابر تاکید آقایان شوئبر و ساترلند یه چارچوبه. در دنیای کامپیوتر چارچوب چیزیه که شما کارتون رو روی اون می‌سازید بنابراین قواعد و کلیاتش رو نمیشه عوض کرد. هر چند چارچوب رو میشه توسعه داد ولی تغییر چارچوب کار غلطیه و نباید تغییرش داد. مولفه‌های اصلی چارچوب اسکرام این موارد هستند:
◀️ نقش‌ها: توسعه‌دهندگان، اسکرام مستر، مالک محصول
◀️ ایونت‌ها: اسپرینت، جلسه پلنینگ، جلسه دیلی، جلسه ریویو، جلسه رترو
◀️ آرتیفکت‌ها: بک‌لاگ محصول، بک‌لاگ اسپرینت، اینکرمنت (همون خروجی اسپرینت)
اگه شما هر کدوم از این موارد رو حذف کنید چارچوب رو بهم زدید و دیگه اسکرام نیستید. مثلاً اگه دیلی رو برگزار نمی‌کنید شما از چارچوب تخطی کردید یا اگه آیتم‌های بک‌لاگ سایزبندی و اولویت‌بندی ندارند شما از اسکرام تبعیت نمی‌کنید. آخرین راهنمای رسمی اسکرام چیزی حدود ۱۵ صفحه است و از این نظر اسکرام خیلی چیز سنگینی نیست پس لطفاً یه بار همگی به دقت بخونیمش و رعایتش کنیم اگه هم ازش خوشمون نمیاد به جای اینکه توش دست ببریم و با کارهایی مثل حذف نقش «مالک محصول» که شاکله اسکرام رو بهم می‌زنه، بهتره بذاریمش کنار و بگیم که اسکرام نیستیم. در این پست صرفاً من راجع به مهمترین نکته‌ در اسکرام از دید خودم یعنی «چارچوب بودن اسکرام» صحبت کردم. در پست بعدی انشالله راجع به یک‌ سری اشکالات رایج وارد و غیر وارد به اسکرام صحبت می‌کنم.
👏2
توی تنظیمات جنگو به صورت پیشفرض 4 تا context processor فعال هست:

'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages'

✔️اولویت همیشه با آخری هست (برخلاف urls ها ) یعنی اگه یه پروسسور مقداری رو به کانتکس اضافه کنه که توی بعدی هم باشه. override میشه.
✔️به صورت پیشفرض یه پروسسور به اسم django.template.context_processors.csrf هم وجود داره که هارد کد شده.
✔️ما میتونیم پروسسور اختصاصی خودمون رو بسازیم. دیتایی که processor میسازه توی همه template ها در دسترس هست.
👍7
چرا django shell ؟

اگه توی فولدر پروژه جنگو باشید و دستوری مثل
 from shop.models import Product 

رو توی پایتون اجرا کنید. خطای زیر رو احتمالا می گیرید:

django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.


✔️ولی وقتی django shell رو اجرا می کنیم. خودش DJANGO_SETTINGS_MODULE رو توی environment variable ست میکنه.

لینک زیر هم بیشتر توضیح داده:
https://stackoverflow.com/a/23157955/7547739
4👍4🔥2
در دنیا ما دو نوع scale کردن وجود داره، horizontal و vertical اما فرقشون چیه؟

خیلی ساده:
horizontal: سرور جدید اضافه کردن

vertical: سخت افزار سرور ارتقا دادن


خوبی‌های هر کدوم چیه؟
horizontal:
1. پرفورمنس داخل سیستم‌های distributed یا همون توزیع یافته بهتر میکنه
2‌. در دسترس بودن سیستم بیشتر میکنه، اگه یک node بیا پایین بقیه میتونن جاشو بگیرن یا یک instance جدید ازش بالا میارن
3. راحت میشه با رشد یوزر، سیستم هم ارتقا داد
نکته: بیشتر به درد شرکت‌های بزرگ با تعداد یوزر بالا خواهد خورد

vertical:
1. بسیار راحت تره از چیزی مثل horizontal
2. هزینه کمتری نصبت به اون یکی داره

نکته: بیشتر به درد بیس‌های کوچیک میخوره که هزینه زیادی نمیخوان انجام بدن و رشد یوزر خیلی عجیبی ندارن


مطالعه بیشتر:
https://www.cloudzero.com/blog/horizontal-vs-vertical-scaling/

@TorhamDevCH
👍6🔥3
نکته های کاربردی در Django ORM (بخش اول)
از لینکدین علی بیگدلی

قراره یه سری قواعد کلی و انواع مدل های query رو در django orm بررسی کنیم ولی اولش می خوام با پر مصرف ترین هاش شروع کنم، قاعدتا دونستن django orm به تنهایی کافی نیست و دید خوبی به زبان sql و query ها هم لازم هستش اما گاهی وقتا بر عکس میشه، شما می دونین چه query باید بزنین ولی نمی دونین چطور با orm این کار رو انجام بدید.
توی این سری از نکته های کاربردی Django ORMمی خوام به بستری گسترده از این query ها بپردازم و نکاتی که توی کتاب های مختلف دیدم رو به صورت خلاصه و سریع بهتون انتقال بدم.
توی این بخش فعلا مسائل پایه و اینکه اصلا چطور یک داده از دیتابیس واکشی میشه و تبدیل به یک آبجکت در پایتون و به خصوص ORM Django میشه رو بررسی می کنیم و query ها و فیلتر های مختلفش رو تست می کنیم تا به مدل دلخواه برسیم.

موارد زیر در این پست بررسی شدن:
- Django ORM
- Most Used Queries
- values & values_list
- gt , gte , lt , lte
- Query String
- F , Q , ~Q
- Union
- Distinct

در ادامه این سری به دیگر query ها و به خصوص relation های متفاوت خواهیم پرداخت.
👍14👎1🔥1
Forwarded from محمد خشنوا / برنامه نویسی (M.KH)
همه چیز درباره‌ی دوره برنامه نویس شو

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

این دوره قراره شاخه‌ی برنامه نویسی وب رو آموزش بده، در انتهای پروژه شما میتونید وبسایت بسازید، ما حتی بعد از پروژه هم همراه شما خواهیم بود و پاسخ پرسش های شمارو توی گروه تخصصیمون میدیم.

🖥 چه پیش نیاز هایی باید داشته باشیم ؟
۱- شما باید یک لپتاپ یا کامپیوتر داشته باشید، بدون داشتنشون شما نمیتونید عملا برنامه نویسی کنید، تجربه برنامه نویسی روی گوشی موبایل حتی برای حرفه ای ها هم عذاب آور هستش.
۲- لپتاپ یا کامپیوتر شما باید به اینترنت متصل باشه. لطفا اینترنت با سرعت خوب تهیه کنید،.
۳- همچنین شما باید حداقل بلد باشید نرم افزار روی کامپیوتر نصب کنید. مثلا نرم افزار دیسکورد یا یکسری نرم افزار هایی که پیش نیاز طی دوره معرفی میشه رو باید بتونید نصب کنید، اما با این حال اگر مشکلی داشتید میتونید توی گروه بپرسید.

👼 این دوره برای چه بازه سنی مناسب هستش ؟
هر شخصی که توانایی یادگیری داشته باشه و فرصت تمرین کردن رو داشته باشه، روحیه شروع یادگیری و همچنین توانایی تحمل چالش هارو داره میتونه توی دوره شرکت کنه

💸 هزینه دوره چقدره ؟
دوره رایگانه، هزینه های مربوط به تامین سرور ها و تبلیغات و هدیه به مدرس هارو اسپانسر هایی متقبل شدند و شما نیازی به پرداخت ندارید، اما برای افرادی که سر کلاس ها مداوم غیبت میکنند و کلاس های انلاین رو شرکت نمیکنند، بابت تهیه ویدیو کلاسی که غیبت داشتند باید مبلغ جریمه ای رو پرداخت کنند (در حد ۵ تا ۱۰ هزار تومان) که صرفا ارزشی برای کلاس قائل باشند و ویدیو رو مجبور باشند ببینید، نه اینکه صرفا توی پوشه دانلود باشه.

📝 ثبت نام دوره چطور هستش ؟
دوره ثبت نام نداره، شما هر کدوم از مباحث رو که دوست دارید میتونید شرکت کنید، شاید درحال حاضر برنامه نویس هستید و دوست دارید مطالب پیشرفته رو شرکت کنید، برای این مورد هیچ محدودیتی وجود نداره

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

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

🗓 زمان شروع دوره :
۲۵ فروردین ماه ۱۴۰۳

🗓 روز های برگزاری کلاس :
شنبه / دوشنبه / چهارشنبه

ساعت برگزاری :
۹ تا ۱۱ شب

🧑‍🏫 محل برگزاری کلاس ها :‌
کلاس ها در دیسکورد برگزار میشه،‌اموزش نصب دیسکورد رو از لینک زیر ببینید
https://www.tgoop.com/SEYED_BAX/6716

💻 سیستم مورد نیاز :
یک کامپیوتر یا لپتاپ با حداقل ۸ گیگ رم

👨‍🏫 مدرس های دوره :
مدرس اصلی دوره - سید محمد خشنوا @seyed_dev
مدرس های میهمان - برنامه نویس هایی با سابقه بالا که در طی دوره برخی مطالب تدریس میکنند

دوستان و آشنایانتون رو به شرکت در این دوره تشویق کنید.

@SEYED_BAX
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
Forwarded from Python BackendHub (Mani)
نکته سوال دوم: scale این پروژه به شدت سخته. جایی که وب سوکت میاد به شدت سخت scale میشه چون state داره اپلیکیشن. شما فکر کنید ۱ میلیون کاربر یک دفعه به وب سوکتتون وصل میشن، حالا ۲ تا اپ جدید میذارین، کسی بهش وصل‌نمیشه! چون همه به اپ اول وصلن هنوز. ولی rest api اینطوری نیست چون state نداره. فکر کنید میخواین دیپلوی کنید، اگه وب سوکت رو بیارین پایین همه ۱ میلیون کاربر باهم قطع میشن. وقتی داره یک دانلود بزرگ رخ میده، احتمال اینکه مموری بچسبه به سقف هم خیلی زیاده!

پس هر جایی که اپتون state داره سعی کنید کمترین فشار روش باشه. کاره منطقی اینه که یک بروکر داشته باشین، و یک سرور دیگه وظیفش فقط دانلود باشه و اطلاع بده تو مسیج بروکر که چقدر انجام شده. دیگه اینطوری درگیر لاک و … نمیشین و کد async و sync خیلی راحت میتونن باهم حرف بزنن

@PyBackendHub
1🔥1
caching.pdf
489.2 KB
همه چیز درباره Caching
از لینکدین Pouria Jahandideh

ممکنه تو مصاحبه ازتون در مورد Caching بپرسند

یا حتی بخواهید که برای سایتتون Caching راه بندازید تا سریع تر لود بشه

یا ممکنه Cache داشته باشه و تو invalidate کردن مشکل بخورید

تو این داکیومنت من به صورت ساده Caching رو توضیح دادم

اما یادتون باشه که اینا همشون تئوری هستند و پیشنهاد می‌کنم که سعی کنید چند تا تمرین آخرش رو انجام بدید

یعنی سعی کنید که با nginx و CDN و Squid و Service Worker و Redis کش های مختلف پیاده‌سازی کنید تا مفهومش کامل براتون جا بیفته و بهش تسلط پیدا کنید.

✔️فایل PDF رو ببینید
4👍1🔥1
Forwarded from Learn with Osman (Osman Makhtoom)
خب دوستان درمورد نظرسنجی که بالا درمورد انتخاب پلتفرم بلاگ نویسی گذاشتم ی سری پوینت‌ها رو مناسب دیدم بنویسم.

چرا وبلاگ داشتن برای ی برنامه‌نویس مهمه؟
تو کتاب Soft skills نوشته Sonmez چند فصل و چندین صفحه درمورد ضرورت داشتن ی وبلاگ برای برنامه‌نویس ها صحبت کرده و یکی از دلایل خوبی که آورده اینه:
رزومه شما فقط ی صفحه است و باید بصورت خیلی خلاصه فقط نکات مهم رو اونجا درج کنید و شما برای جلب توجه ریکروتر نهایت نهایتش فقط ۶ ثانیه فرصت دارید و این زمان خیلی کمیه.
در اینترویو هم طرف نمیتونه با ی برخورد درمورد عمق تخصص یا شخصیت شما مطمئن بشه، پس شما باید از طریق دیگه‌ای مهارتهای خودتونو به نمایش بذارید تا شخصی که میخاد شما رو استخدام کنه بتونه بهش مراجعه کنه و نسبت به شما شناخت کافی پیدا کنه و این محل میتونه وبلاگ شخصی شما باشه.

چه پلتفرم‌هایی برای شروع بلاگ نویسی وجود دارن؟
طبق چیزی که من تحقیق کردم میشه گفت ۳ نوع پلتفرم برای بلاگ نویسی وجود داره:
۱- سایتهای اشتراک مقاله مثل مدیوم یا نسخه وطنی اون ویرگول.
اینا خوبن، شناخته شده هستن، کاربر زیاد دارن و افراد متعددی میتونن مقالات شما رو دنبال کنن.
اما اون کاربرها در واقع کاربر شما نیستن بلکه برای همون پلتفرم هستن.
شما نمیتونید اونجا اقدام به تبلیغ یا اتصال درگاه پرداخت برای فروش محصولات کنید.
و اگه روزی اون پلتفرم تصمیم بگیره اکانت شما رو ببنده یا پست‌های شما رو پاک کنه کاری از دست شما برنمیاد و این اتفاقیه که به کرات افتاده.
۲- اپ اختصاصی:
ی برنامه‌نویس میتونه خودش برای خودش ی پروژه شروع کنه و ی اپ وبلاگ بنویسه.
اینکار میتونه باعث بشه شخص کد خودش رو تو گیتهابش منتشر کنه و ی پوینت اضافه کنه به خودش.
حتی میتونه مراحل ایجادش رو ضبط و بعنوان آموزش پروژه محور منتشر کنه.
اما خودش باید تمام موارد از جمله تکنولوژی هایی که لازمه برای پیاده‌سازی و دیپلوی پروژه رو بلد باشه یا یاد بگیره، سئو و بهینه‌سازی برای موتورهای جستجو رو باید بلد باشه، بحث امنیت رو باید بلد باشه و رعایت کنه، اگه فیچری نیاز داشت باید خودش بشینه کد بنویسه و اضافه کنه، کلی باگ و دیباگ و... و به این ترتیب با اینکه اینجا دستش بازه و هر کاری خاست میتونه بکنه اما از اونطرف هم کلی زمان از دست میده و فکر نکنم بعدش برای بلاگ نویسی انگیزه‌ای براش بمونه(چون دائم در حال دیباگه 😂)
۳- اپ‌های آماده مثل وردپرس و جوملا و...
و در آخر اگه هدف شخص تنها شروع بلاگ نویسیه میتونه از اپ‌های رایگان آماده مثل وردپرس استفاده کنه که مثلا در بحث سئو رو دست نداره، تست شده است و کامیونیتی فعال و قوی داره، هر فیچر یا تمی خاست اضافه کنه براحتی میتونه با نصب ی پلاگین در ی لحظه انجامش بده و کلی کار خفن دیگه.

چه موضوعی بنویسم؟
برای شروع جواب اینه که فقط شروع کن به نوشتن و پیش برو، ممکنه از بعضی مقالاتی که نوشتی خودت خوشت نیاد ولی تجربه شده که همون مقالات بارها و بارها خونده شدن و حتی اشتراک گذاری انجام شده 😊
به مرور غلق کار دستت میاد و شروع میکنی به دسته بندی و ترتیب بندی مطالب.
اما برای انتشار مقالات حتما ی برنامه داشته باش، مثلا برای خودت کلندر ست کن که هفته‌ای ی مقاله منتشر کنی و این تبدیل به ی عادت بشه تا فالوورها بدونن دقیقا چه تایمی مقاله‌ات منتشر میشه.

این نکات رو تو این چند روز کلی مقاله و ویدیو مرور کردم و بدست آوردم و خوشحالم تو اشتراک گذاریش کمکم کنی، دمت گرم 🫠

@osmanpydev
👍82
django_app_name.pdf
367.1 KB
اسم اپ های جنگو جمع باشه یا مفرد؟

از لینکدین Mohammad Amin Amjadi

✔️فایل PDF رو ببینید

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

پیرو نظر برخی دوستان که نامگذاری "جمع" بجای "مفرد" بود، مجدد مقالات، سورس کد خود جنگو، داکیومنت و ... رو بررسی کردم و باز دلیل انتخاب خودم رو برای انتخاب نام اپ مفرد رو گفتم.

ممنون میشم شما هم نظر و رویه خودتون رو به اشتراک بذارین
👍7🔥3
Forwarded from Pure Coder (Mohammad Taheri)
توی دوره های آموزشی که برگزار می‌کنید، قول درامد، قول استخدام، قول سنیور شدن و .... ندید

شما مسئول چنین مواردی نیستید و به هیج وجه نمی‌تونید اونها رو تضمین کنید

چنین وعده هایی کاملن پوچ و توخالی و دورغ هست و به هدف بیشتر فروش رفتن دوره اتفاق میوفته

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

پاتون رو از گلیم خودتون درازتر نکنید و دروغ به خورد مردم ندید

دانشجو ها مسئول پر کردن جیب شما مدرسین با وعده های تو خالی نیستن

سخنی به دانشجویان: هیچ کس با گذراندن یک دوره که هیچ با گذراندن ۱۰۰ دوره هم سنیور نمی‌شود.
خود مدرس دوره هم که داره به شما تدریس میکنه سنیور نیست، پس گول نخورید .

@purecoder_ir
👍20
2025/07/12 20:03:26
Back to Top
HTML Embed Code: