❤10
Forwarded from Python BackendHub (Mani)
خیلیا منظور این متن رو متوجه نشدن، قرار نیست شما انجین دیتابیس بنویسی. ولی همین که بدونی چیه و بتونی راجبش ۵ دقیقه حرف بزنی خیلی مهمه چون بیشتر روز باهاش درگیری. یا بهتره خوده raw sql رو یاد بگیری تا اینکه orm django رو بدون یاد گرفتن sql استفاده کنی ازش.
ایا میشه بدون دونستن sql از جنگو استفاده کرد؟ بله. آیا در این صورت شما skilled worker محسوبمیشین؟ نه.
خیلی وقتا ممکنه بخاطر دانش بیشترتون، یک راهکار بهتر به ذهنتون برسه که برد بزرگی رو برای بیزنس رقم بزنه. به خاطر دانش بیشترتون، کدتون ممکنه باگ کمتری داشته باشه که براتون پروموشن خواهد داشت. و …
نقل قول ازنظرر Kurt Guntheroth، با ۴۰ سال سابقه و نویسنده چند کتاب معروف:
Some software jobs you can get after a 2-year Associate’s Degree from a community college, or a 9-month boot camp, just like a blue-collar job.
Some software jobs don’t require much independent thought and analysis. How hard is it to arrange content on a web site? (Yes, I know, as hard as you want to make it. But not always).
Some software jobs are done in assembly-line fashion. Pull the next feature card off the stack and start coding, pull the next bug report off the list and start looking for a fix. Your job has no beginning and no end, just an endless stream of little tasks (called sprints), with no time to rest in between, just like a blue-collar job.
Some bosses of software people are Dickensian horrors, driving their team to work long, uncompensated hours. Never a word of praise, but the sure prospect of getting fired for not toeing the mark, just like a blue-collar job.
But those same bosses will insist software is a white collar job, because if it ever did become a blue-collar job, they would have to pay time-and-a-half for overtime (in the US).
I think what’s true is that the software profession is diverging into two levels of skill, professional software developers, and programmers. Once upon a time it was like this, but the original reason for programmers (typing code onto punch cards and running it on batch terminals) went away. Now we’ve got easy problems solved by programmers with limited education, and really hard problems, solved by highly educated and trained professionals.
@PyBackendHub
ایا میشه بدون دونستن sql از جنگو استفاده کرد؟ بله. آیا در این صورت شما skilled worker محسوبمیشین؟ نه.
خیلی وقتا ممکنه بخاطر دانش بیشترتون، یک راهکار بهتر به ذهنتون برسه که برد بزرگی رو برای بیزنس رقم بزنه. به خاطر دانش بیشترتون، کدتون ممکنه باگ کمتری داشته باشه که براتون پروموشن خواهد داشت. و …
نقل قول ازنظرر Kurt Guntheroth، با ۴۰ سال سابقه و نویسنده چند کتاب معروف:
Some software jobs you can get after a 2-year Associate’s Degree from a community college, or a 9-month boot camp, just like a blue-collar job.
Some software jobs don’t require much independent thought and analysis. How hard is it to arrange content on a web site? (Yes, I know, as hard as you want to make it. But not always).
Some software jobs are done in assembly-line fashion. Pull the next feature card off the stack and start coding, pull the next bug report off the list and start looking for a fix. Your job has no beginning and no end, just an endless stream of little tasks (called sprints), with no time to rest in between, just like a blue-collar job.
Some bosses of software people are Dickensian horrors, driving their team to work long, uncompensated hours. Never a word of praise, but the sure prospect of getting fired for not toeing the mark, just like a blue-collar job.
But those same bosses will insist software is a white collar job, because if it ever did become a blue-collar job, they would have to pay time-and-a-half for overtime (in the US).
I think what’s true is that the software profession is diverging into two levels of skill, professional software developers, and programmers. Once upon a time it was like this, but the original reason for programmers (typing code onto punch cards and running it on batch terminals) went away. Now we’ve got easy problems solved by programmers with limited education, and really hard problems, solved by highly educated and trained professionals.
@PyBackendHub
❤4👍1
Python BackendHub
خیلیا منظور این متن رو متوجه نشدن، قرار نیست شما انجین دیتابیس بنویسی. ولی همین که بدونی چیه و بتونی راجبش ۵ دقیقه حرف بزنی خیلی مهمه چون بیشتر روز باهاش درگیری. یا بهتره خوده raw sql رو یاد بگیری تا اینکه orm django رو بدون یاد گرفتن sql استفاده کنی ازش.…
این پستو منظورش هست
https://t.iss.one/ninja_learn_ir/508
https://t.iss.one/ninja_learn_ir/508
Telegram
Ninja Learn | نینجا لرن 🥷
🚫 اگه مثل توضیحات بالا عمل میکنید، یک مهندس نرمافزار نیستید.
™️ @DjangoIR
〰️〰️〰️〰️〰️〰️
© @DjangoEx
™️ @DjangoIR
〰️〰️〰️〰️〰️〰️
© @DjangoEx
👍6👎1
دوستان گرامیم
یلداتون مبارک باشه ❤️🍉
امید وارم پیش خانواده خوش و خورم باشید ☺️
یلداتون مبارک باشه ❤️🍉
امید وارم پیش خانواده خوش و خورم باشید ☺️
❤17❤🔥7
از Redis کجاها استفاده کنیم؟ کجاها استفاده نکنیم؟ 🤔
ـRedis یکی از سریعترین و محبوبترین ابزارهای in-memory data store تو دنیاست. این ابزار هم به عنوان database، هم cache و هم message broker استفاده میشه . اما این که هرجایی ازش استفاده کنی، اصلا کار درستی نیست. تو این پست میخوایم بررسی کنیم کجا Redis انتخاب خوبیه و کجا بهتره سراغش نری.
کجاها از Redis استفاده کنیم؟
1⃣ ـCaching 🗃️
وقتی یه داده رو مدام از دیتابیس اصلی میخونی و نیاز به سرعت بالا داری، Redis میتونه به عنوان یه کش عالی عمل کنه. مثلا:
کش کردن نتایج کوئریهای سنگین 🔍
ذخیره صفحات رندر شده 📄
ذخیره session data برای کاربرها 👤
2⃣ـ Real-Time Analytics 📊
اگه میخوای یه داشبورد real-time بسازی که اطلاعات رو لحظهای نشون بده، Redis با ساختارهای داده سریعش (مثل sorted sets) میتونه خیلی کمککننده باشه.
3⃣ ـRate Limiting 🚦
وقتی میخوای تعداد درخواستهای کاربرها رو محدود کنی، مثلا برای جلوگیری از حملات DDoS یا اسپم، Redis یه گزینه عالیه.
4⃣ Pub/Sub Systems 📩
برای ارتباط بین سرویسها یا ارسال پیام در سیستمهای real-time مثل چتها، Redis با قابلیت publish/subscribe خیلی خوب عمل میکنه.
5⃣ـ Leaderboard ها و سیستمهای امتیازدهی 🏆
ساختار داده sorted sets برای ساختن رتبهبندیهای real-time (مثل امتیاز بازیکنها) ایدهآله.
کجاها از Redis استفاده نکنیم؟
1⃣ ذخیرهسازی دادههای پایدار 🛠
ـRedis یه in-memory database هست. یعنی دادهها رو تو حافظه ذخیره میکنه، نه روی دیسک. اگه برق بره یا سیستم ریاستارت بشه، دادهها ممکنه از دست برن. برای دادههایی که نمیخوای از دست برن، از دیتابیسهایی SQL مثل PostgreSQL یا Mysql یا ... استفاده کن.
2⃣ حجمهای بالا 📦
اگه حجم دادههات خیلی زیاده و رم کافی نداری، Redis انتخاب خوبی نیست. مثلا ذخیرهسازی دادههای سنگین مثل فایلها یا لاگها.
3⃣ آنالیزهای پیچیده 🤔
اگه نیاز به کوئریهای پیچیده داری (مثل join یا aggregation)، بهتره از دیتابیسهای relation-based مثل MySQL یا PostgreSQL استفاده کنی.
اشتباهات رایج در استفاده از Redis ‼️
1⃣ استفاده از Redis برای همهچیز ⚠️
خیلیا وقتی Redis رو یاد میگیرن، فکر میکنن باید همهچیز رو توش ذخیره کنن. ولی این ابزار برای همه نوع داده مناسب نیست. مثلا برای ذخیره تراکنشهای مالی یا دادههای حساس، بهتره از دیتابیسهای دیگه استفاده کنی.
2⃣ تنظیم نکردن TTL ⏳
اگه از Redis به عنوان کش استفاده میکنی ولی TTL (زمان انقضای دادهها) رو تنظیم نکنی، ممکنه حافظه پر بشه و سیستم کرش کنه.
3⃣ نادیده گرفتن محدودیت رم 🧠
ـRedis همه دادهها رو تو رم ذخیره میکنه. اگه حجم دادههات از ظرفیت رم بیشتر بشه، سیستم به مشکل میخوره.
4⃣ مدیریت نکردن replication 🔄
برای سیستمهای حساس، باید replication رو تنظیم کنی تا در صورت خرابی سرور اصلی، دادهها از بین نرن.
5⃣ عدم مانیتورینگ 📡
خیلیها Redis رو راه میندازن ولی هیچ وقت مانیتور نمیکنن که چقدر حافظه مصرف میشه یا چقدر latency داره. این اشتباه میتونه باعث مشکلات جدی بشه.
پیشنهاد: قبل از استفاده از Redis، نیازمندیهات رو مشخص کن و مطمئن شو این ابزار برای پروژهت مناسبه.
امید وارم مفید بوده باشه :) شیر یادت نره
ـRedis یکی از سریعترین و محبوبترین ابزارهای in-memory data store تو دنیاست. این ابزار هم به عنوان database، هم cache و هم message broker استفاده میشه . اما این که هرجایی ازش استفاده کنی، اصلا کار درستی نیست. تو این پست میخوایم بررسی کنیم کجا Redis انتخاب خوبیه و کجا بهتره سراغش نری.
کجاها از Redis استفاده کنیم؟
1⃣ ـCaching 🗃️
وقتی یه داده رو مدام از دیتابیس اصلی میخونی و نیاز به سرعت بالا داری، Redis میتونه به عنوان یه کش عالی عمل کنه. مثلا:
کش کردن نتایج کوئریهای سنگین 🔍
ذخیره صفحات رندر شده 📄
ذخیره session data برای کاربرها 👤
2⃣ـ Real-Time Analytics 📊
اگه میخوای یه داشبورد real-time بسازی که اطلاعات رو لحظهای نشون بده، Redis با ساختارهای داده سریعش (مثل sorted sets) میتونه خیلی کمککننده باشه.
3⃣ ـRate Limiting 🚦
وقتی میخوای تعداد درخواستهای کاربرها رو محدود کنی، مثلا برای جلوگیری از حملات DDoS یا اسپم، Redis یه گزینه عالیه.
4⃣ Pub/Sub Systems 📩
برای ارتباط بین سرویسها یا ارسال پیام در سیستمهای real-time مثل چتها، Redis با قابلیت publish/subscribe خیلی خوب عمل میکنه.
5⃣ـ Leaderboard ها و سیستمهای امتیازدهی 🏆
ساختار داده sorted sets برای ساختن رتبهبندیهای real-time (مثل امتیاز بازیکنها) ایدهآله.
کجاها از Redis استفاده نکنیم؟
1⃣ ذخیرهسازی دادههای پایدار 🛠
ـRedis یه in-memory database هست. یعنی دادهها رو تو حافظه ذخیره میکنه، نه روی دیسک. اگه برق بره یا سیستم ریاستارت بشه، دادهها ممکنه از دست برن. برای دادههایی که نمیخوای از دست برن، از دیتابیسهایی SQL مثل PostgreSQL یا Mysql یا ... استفاده کن.
2⃣ حجمهای بالا 📦
اگه حجم دادههات خیلی زیاده و رم کافی نداری، Redis انتخاب خوبی نیست. مثلا ذخیرهسازی دادههای سنگین مثل فایلها یا لاگها.
3⃣ آنالیزهای پیچیده 🤔
اگه نیاز به کوئریهای پیچیده داری (مثل join یا aggregation)، بهتره از دیتابیسهای relation-based مثل MySQL یا PostgreSQL استفاده کنی.
اشتباهات رایج در استفاده از Redis ‼️
1⃣ استفاده از Redis برای همهچیز ⚠️
خیلیا وقتی Redis رو یاد میگیرن، فکر میکنن باید همهچیز رو توش ذخیره کنن. ولی این ابزار برای همه نوع داده مناسب نیست. مثلا برای ذخیره تراکنشهای مالی یا دادههای حساس، بهتره از دیتابیسهای دیگه استفاده کنی.
2⃣ تنظیم نکردن TTL ⏳
اگه از Redis به عنوان کش استفاده میکنی ولی TTL (زمان انقضای دادهها) رو تنظیم نکنی، ممکنه حافظه پر بشه و سیستم کرش کنه.
3⃣ نادیده گرفتن محدودیت رم 🧠
ـRedis همه دادهها رو تو رم ذخیره میکنه. اگه حجم دادههات از ظرفیت رم بیشتر بشه، سیستم به مشکل میخوره.
4⃣ مدیریت نکردن replication 🔄
برای سیستمهای حساس، باید replication رو تنظیم کنی تا در صورت خرابی سرور اصلی، دادهها از بین نرن.
5⃣ عدم مانیتورینگ 📡
خیلیها Redis رو راه میندازن ولی هیچ وقت مانیتور نمیکنن که چقدر حافظه مصرف میشه یا چقدر latency داره. این اشتباه میتونه باعث مشکلات جدی بشه.
پیشنهاد: قبل از استفاده از Redis، نیازمندیهات رو مشخص کن و مطمئن شو این ابزار برای پروژهت مناسبه.
#برنامه_نویسی #db #redis
🔆 CHANNEL | GROUP
🔥15👍6❤3
اگه تجربه ای دارید یا چیزی دوست دارید به برنامه نویسای کشورتون بگید میتونید به پیوی من بفرستید تو کانال قرار بدم 👇
@mohammad_strout
@mohammad_strout
🔆 CHANNEL | GROUP
👍4❤1
👌19👍9❤2👎1
❤9👏2👌1
Ninja Learn | نینجا لرن
سه نفر بشید هر روز برید دیسکورد مایک رو ببندید و تمرین کنید دوره ببینید داکیومنت یا هر کاری که میخواید رو بکنید تکی سخته یکم پیش بردن، نسبت به چند نفری، برای اول کار اینجوری اگه یه روز کار نکنی آبروی آدم پیش اون 2 نفر میره و اون دو نفر زوری میارنت اون روز…
حقیقتا بنظر خود من روش بهتری وجود داره. چه روش بهتری؟
بااون تیمی که داری یا دوستایی که دارید یه منبع اموزشی مثل کتاب ، داکیومنت هرچی مشخص کنید و بگید تا جمعه هفته بعد تا اینجاشو بخونید همگی تا وقتی که تموم شه.
اخر هفته هم میاید توی یه میتینگی نکاتی که فهمیدی رو میگید به هم و درواقع share Knowledge میکنید.
اخر سرهم میتونید با توجه به چیزایی که یاد گرفتید یه پروژه بیارید بالا یا اصلا مقاله بنویسید که خیلی برای رزومتون خوبه.
➖➖➖➖➖➖➖➖➖
بااون تیمی که داری یا دوستایی که دارید یه منبع اموزشی مثل کتاب ، داکیومنت هرچی مشخص کنید و بگید تا جمعه هفته بعد تا اینجاشو بخونید همگی تا وقتی که تموم شه.
اخر هفته هم میاید توی یه میتینگی نکاتی که فهمیدی رو میگید به هم و درواقع share Knowledge میکنید.
اخر سرهم میتونید با توجه به چیزایی که یاد گرفتید یه پروژه بیارید بالا یا اصلا مقاله بنویسید که خیلی برای رزومتون خوبه.
➖➖➖➖➖➖➖➖➖
🔆 CHANNEL | GROUP
❤8👍3
Ninja Learn | نینجا لرن
حقیقتا بنظر خود من روش بهتری وجود داره. چه روش بهتری؟ بااون تیمی که داری یا دوستایی که دارید یه منبع اموزشی مثل کتاب ، داکیومنت هرچی مشخص کنید و بگید تا جمعه هفته بعد تا اینجاشو بخونید همگی تا وقتی که تموم شه. اخر هفته هم میاید توی یه میتینگی نکاتی که فهمیدی…
این روشی که گفتم برای بچه هایی هست که تازه کار نیستند و کمی تجربه دارن.
روش خسرو برای تازه کارا جوابه واقعا.
روش خسرو برای تازه کارا جوابه واقعا.
❤8
Forwarded from Python BackendHub (Mani)
هیچوقت جنس پیچیدگی که دیزاین پترن به کد شما اضافه میکنه رو عمیقا متوجه نشده بودم (یعنی نمیتونستم توضیحش بدم)، تا اینکه این ویدیو رو دیدم:
https://youtu.be/SEp0NrXWwoo?si=mBy7nitVakta-SNz
پیچیدگی که به برنامه شما اضافه میکنه اسم گذاری هست😄. با دیدن این ویدیو متوجه این جملم میشین. حتما توصیه میکنم ببینید خیلی جالبه.
@PyBackendHub
https://youtu.be/SEp0NrXWwoo?si=mBy7nitVakta-SNz
پیچیدگی که به برنامه شما اضافه میکنه اسم گذاری هست😄. با دیدن این ویدیو متوجه این جملم میشین. حتما توصیه میکنم ببینید خیلی جالبه.
@PyBackendHub
YouTube
Programming - Naming Things Is Easy
This is a talk about naming things in software. The title is a joke - of course naming things is hard. BUT - "If you don't create the thing, you don't need to name the thing".
The easiest way to name something well is to not name it. Ask yourself - "Is this…
The easiest way to name something well is to not name it. Ask yourself - "Is this…
🔥5❤1
Ninja Learn | نینجا لرن pinned «اگه تجربه ای دارید یا چیزی دوست دارید به برنامه نویسای کشورتون بگید میتونید به پیوی من بفرستید تو کانال قرار بدم 👇 @mohammad_strout 🔆 CHANNEL | GROUP»