08-cdn.pdf
449.6 KB
کاربران سیستم ما لزوماً از یک منطقه جغرافیایی نیستند. ممکن است برخی از آنها در ایران ساکن باشند و برخی در قاره آمریکا. اگر قرار باشد همه درخواستها به یک مکان ارسال شود، زمان پاسخ کاربران بسته به محل سکونت آنها متفاوت خواهد بود. برای افزایش سرعت و کارایی سیستم میتوان از ایده شبکه توزیع محتوا (Conent Delivery Network ) بهره برد.
#08_CDN
#System_Design
#08_CDN
#System_Design
👍2
09-sharding.pdf
522.5 KB
سناریویی را در نظر بگیرید که حجم داده آنقدر زیاد شده است که امکان قرار دادن آن در یک سرور ذخیرهسازی (پایگاه داده) امکان پذیر نیست. حتی ممکن است بهبود توان و فضای سرور ذخیرهسازی هم مقرون به صرفه نباشد زیرا پاسخ به درخواست وارده باید کل پایگاه داده را بررسی کند.
افراز بندی پایگاه داده که به آن شارد کردن (sharding) نیز میگویند، یک راه معروف برای حل مشکل فوق است.
#09_Sharding
#System_Design
افراز بندی پایگاه داده که به آن شارد کردن (sharding) نیز میگویند، یک راه معروف برای حل مشکل فوق است.
#09_Sharding
#System_Design
👍3
در این جلسه با کمک port forwarding به ماشین مجازی اوبونتو روی port دلخواه ssh میزنیم.
https://youtu.be/k9nkKnr8ybs
https://youtu.be/k9nkKnr8ybs
YouTube
مدیریت سرور لینوکس | اتصال ssh به ماشین مجازی ubuntu با port دلخواه | درس دو
در این جلسه با کمک port forwarding به ماشین مجازی اوبونتو روی port دلخواه ssh میزنیم.
راههای ارتباط با من در شبکههای اجتماعی:
https://news.1rj.ru/str/golemcourse
https://github.com/aaghamohammadi
https://www.linkedin.com/in/aaghamohammadi/
💰 میخواهید وارد بازار…
راههای ارتباط با من در شبکههای اجتماعی:
https://news.1rj.ru/str/golemcourse
https://github.com/aaghamohammadi
https://www.linkedin.com/in/aaghamohammadi/
💰 میخواهید وارد بازار…
👍2
بستههای لینوکس مبتنی بر اوبونتو میتواند با کمک apt-get بروزرسانی شود.
https://youtu.be/aclhrCyWFmM
https://youtu.be/aclhrCyWFmM
YouTube
مدیریت سرور لینوکس | بروز رسانی بستههای سرور با کمک apt-get | درس سه
بستههای لینوکس مبتنی بر اوبونتو میتواند با کمک apt-get بروزرسانی شود.
راههای ارتباط با من در شبکههای اجتماعی:
https://news.1rj.ru/str/golemcourse
https://github.com/aaghamohammadi
https://www.linkedin.com/in/aaghamohammadi/
💰 میخواهید وارد بازار کار شوید؟
📕…
راههای ارتباط با من در شبکههای اجتماعی:
https://news.1rj.ru/str/golemcourse
https://github.com/aaghamohammadi
https://www.linkedin.com/in/aaghamohammadi/
💰 میخواهید وارد بازار کار شوید؟
📕…
👍2
اطلاعات session کاربر باید در کجا ذخیره شود؟ پاسخ به این سوال میتواند منجر به دو معماری stateful یا stateless شود.
https://youtu.be/q4GN9Kr_HJg
https://youtu.be/q4GN9Kr_HJg
YouTube
طراحی سیستمها | معماری stateless | درس ده | System Design
اطلاعات session کاربر باید در کجا ذخیره شود؟ پاسخ به این سوال میتواند منجر به دو معماری stateful یا stateless شود.
راههای ارتباط با من در شبکههای اجتماعی:
https://news.1rj.ru/str/golemcourse
https://github.com/aaghamohammadi
https://www.linkedin.com/in/aaghamohammadi/…
راههای ارتباط با من در شبکههای اجتماعی:
https://news.1rj.ru/str/golemcourse
https://github.com/aaghamohammadi
https://www.linkedin.com/in/aaghamohammadi/…
👍4
در این جلسه یک rate limiter طراحی میکنیم. هدف از rate limiter ها تعریف محدودیت بر روی میزان تعداد درخواست بر روی api ها به ازای کاربران است. مثلاً می خواهیم در یک شبکه اجتماعی هر کاربر حداکثر بتواند پنجاه در خواست دوستی در روز ارسال کند. استفاده از rate limiter ها به مدیریت هزینه و بهرهوری منابع سیستم کمک میکند و مانع از حمله denial of service میشود.
https://youtu.be/fVCo97rgv9s
https://youtu.be/fVCo97rgv9s
YouTube
طراحی سیستمها | طراحی Rate Limiter | درس پانزده | System Design
در این جلسه یک rate limiter طراحی میکنیم. هدف از rate limiter ها تعریف محدودیت بر روی میزان تعداد درخواست بر روی api ها به ازای کاربران است. مثلاً می خواهیم در یک شبکه اجتماعی هر کاربر حداکثر بتواند پنجاه در خواست دوستی در روز ارسال کند. استفاده از rate…
👍3❤1
سال گذشته (۱۴۰۱) چند کتاب خواندید؟ (به غیر از موارد اجباری دانشگاه و مدرسه)
Anonymous Poll
75%
کمتر از پنج
14%
بین پنج تا ده
5%
بین یازده تا بیست
5%
بیشتر از بیست
👍5
consistent hashing
در توازن کنندههای بار
برای تعیین سروری که درخواست باید به آن ارسال شود استفاده میشود. علاوه بر آن در پایگاه دادههای غیر متمرکز برای ذخیره و بازیابی داده در سرور مربوطه استفاده میشود. این جلسه به طراحی این نوع سیستم میپردازیم.
https://youtu.be/6BtKpkQT1bw
در توازن کنندههای بار
برای تعیین سروری که درخواست باید به آن ارسال شود استفاده میشود. علاوه بر آن در پایگاه دادههای غیر متمرکز برای ذخیره و بازیابی داده در سرور مربوطه استفاده میشود. این جلسه به طراحی این نوع سیستم میپردازیم.
https://youtu.be/6BtKpkQT1bw
YouTube
طراحی سیستمها | طراحی consistent hashing | درس شانزده | System Design
consistent hashing در توازن کنندههای بار (load balancer) برای تعیین سروری که درخواست باید به آن ارسال شود استفاده میشود. علاوه بر آن در پایگاه دادههای غیر متمرکز برای ذخیره و بازیابی داده در سرور مربوطه استفاده میشود. این جلسه به طراحی این نوع سیستم میپردازیم.…
❤1👍1
Golem Course
سال گذشته (۱۴۰۱) چند کتاب خواندید؟ (به غیر از موارد اجباری دانشگاه و مدرسه)
اگر کتاب خواندن را دوست دارید، در گودریدز هم فعال هستم (لینک). خوشحال میشوم آنجا نیز با هم در ارتباط باشیم. فقط در ارسال درخواست لطفاً بگویید از کانال تلگرام آمدید تا اکسپت کنم.
Goodreads
Alireza Aghamohammadi (aaghamohammadi) (423 books)
Alireza Aghamohammadi has 423 books on Goodreads
❤3👍3
درخت مرکل در طراحی سیستمها کاربرد زیادی دارد. سه مثال معروف که از درخت مرکل استفاده میکنند به شرح زیر است:
کاربرد اول. تعدادی فایل در نظر بگیرید که میخواهیم تغییرات در این فایلها را به سرعت تشخیص دهیم. درست مانند سیستم گیت.
کاربرد دوم. پایگاه داده غیرمتمرکز دادهها را در سرورهای مختلف ذخیره میکند. تکرار داده (فایلهای بکآپ) باید با یکدیگر همگام باشند. اگر یکی از دادههای تکرار تغییر کرد به جای آن که کل داده جابجا شود، فقط بخش تغییریافته میخواهیم بین سرورها منتقل شود.
کاربرد سوم. فایلی از تورنت دانلود میکنیم. به خاطر اختلال شبکه بخشیهایی از فایل به درستی دانلود نشده است. به جای آن که کل فایل دوباره دانلود شود، میخواهیم تنها بخشهای خراب دوباره دانلود شود.
https://youtu.be/nWBeOITLqss
کاربرد اول. تعدادی فایل در نظر بگیرید که میخواهیم تغییرات در این فایلها را به سرعت تشخیص دهیم. درست مانند سیستم گیت.
کاربرد دوم. پایگاه داده غیرمتمرکز دادهها را در سرورهای مختلف ذخیره میکند. تکرار داده (فایلهای بکآپ) باید با یکدیگر همگام باشند. اگر یکی از دادههای تکرار تغییر کرد به جای آن که کل داده جابجا شود، فقط بخش تغییریافته میخواهیم بین سرورها منتقل شود.
کاربرد سوم. فایلی از تورنت دانلود میکنیم. به خاطر اختلال شبکه بخشیهایی از فایل به درستی دانلود نشده است. به جای آن که کل فایل دوباره دانلود شود، میخواهیم تنها بخشهای خراب دوباره دانلود شود.
https://youtu.be/nWBeOITLqss
YouTube
طراحی سیستمها | درخت مرکل | درس هفده | System Design
درخت مرکل در طراحی سیستمها کاربرد زیادی دارد. سه مثال معروف که از درخت مرکل استفاده میکنند به شرح زیر است:
کاربرد اول. تعدادی فایل در نظر بگیرید که میخواهیم تغییرات در این فایلها را به سرعت تشخیص دهیم. درست مانند سیستم گیت.
کاربرد دوم. پایگاه داده غیرمتمرکز…
کاربرد اول. تعدادی فایل در نظر بگیرید که میخواهیم تغییرات در این فایلها را به سرعت تشخیص دهیم. درست مانند سیستم گیت.
کاربرد دوم. پایگاه داده غیرمتمرکز…
👍2
توییتر را در نظر بگیرید. افراد از بخشهای مختلف دنیا در هر لحظه توییت میکنند. هر توییت باید یک شناسه یکتا داشته باشد. به خاطر مسائل کارایی و این که افراد در نواحی مختلف دنیا پخش هستند، این شناسهها باید به صورت غیرمتمرکز تولید شود. در این ویدیو این مسئله و راه حل آن را بررسی میکنیم.
https://youtu.be/KhxzznOiHdA
https://youtu.be/KhxzznOiHdA
YouTube
طراحی سیستمها | تولید شناسه یکتا به طور غیرمتمرکز | درس هجده| System Design
توییتر را در نظر بگیرید. افراد از بخشهای مختلف دنیا در هر لحظه توییت میکنند. هر توییت باید یک شناسه یکتا داشته باشد. به خاطر مسائل کارایی و این که افراد در نواحی مختلف دنیا پخش هستند، این شناسهها باید به صورت غیرمتمرکز تولید شود. در این ویدیو این مسئله…
👍6
چگونه سیستم کوتاهکننده آدرس URL طراحی کنیم؟
سرویسهایی مانند TinyURL یا Bitly قابلیت تبدیل آدرس بلند URL را به آدرس کوتاه دارند. برای آنکه شهودی نسبت به ابعاد بزرگ تعداد درخواستهای کاربران این سرویسها داشته باشید. آماری از سایت شرکت Bitly نقل میکنم.
این شرکت به طور متوسط در هر ماه حدود ۳۰۰ میلیون درخواست ایجاد آدرس و حدود ۱۰ میلیارد درخواست خواندن دارد. در این ویدیو با ایده طراحی چنین سیستمی آشنا میشویم.
https://youtu.be/Roo30rewgyE
سرویسهایی مانند TinyURL یا Bitly قابلیت تبدیل آدرس بلند URL را به آدرس کوتاه دارند. برای آنکه شهودی نسبت به ابعاد بزرگ تعداد درخواستهای کاربران این سرویسها داشته باشید. آماری از سایت شرکت Bitly نقل میکنم.
این شرکت به طور متوسط در هر ماه حدود ۳۰۰ میلیون درخواست ایجاد آدرس و حدود ۱۰ میلیارد درخواست خواندن دارد. در این ویدیو با ایده طراحی چنین سیستمی آشنا میشویم.
https://youtu.be/Roo30rewgyE
YouTube
طراحی سیستمها | طراحی کوتاهکننده آدرس URL | درس نوزده | System Design
چگونه سیستم کوتاهکننده آدرس URL طراحی کنیم؟
سرویسهایی مانند TinyURL یا Bitly قابلیت تبدیل آدرس بلند URL را به آدرس کوتاه دارند. برای آنکه شهودی نسبت به ابعاد بزرگ تعداد درخواستهای کاربران این سرویسها داشته باشید. آماری از سایت شرکت Bitly نقل میکنم.
این…
سرویسهایی مانند TinyURL یا Bitly قابلیت تبدیل آدرس بلند URL را به آدرس کوتاه دارند. برای آنکه شهودی نسبت به ابعاد بزرگ تعداد درخواستهای کاربران این سرویسها داشته باشید. آماری از سایت شرکت Bitly نقل میکنم.
این…
👍6
Forwarded from Golem Course
کانال تلگرام علیرضا آقامحمدی
کانال یوتیوب علیرضا آقامحمدی
💰 میخواهید وارد بازار کار شوید؟
📕 میخواهید دانش و مهارت ضروری صنعت کامپیوتر را بلد باشید؟
🧠 عاشق یادگیری هستید؟
اگر پاسخ شما به سه سوال بالا منفی است، این کانال مناسب شما نیست!
لینک دسترسی به تمام ویدیوها در کانال یوتیوب:
🐳 مسیر یادگیری دوآپس
🎯 طراحی سیستمها: (۲:۳۰ ساعت - در حال ضبط)
🎯 مدیریت سرور لینوکس: (۱:۳۰ ساعت - در حال ضبط)
🥉 مسیر یادگیری و تقویت زبان انگلیسی
=================================
🎯 آموزش زبان انگلیسی: (۳۰:۳۷ ساعت - به اتمام رسیده)
==================
🥈مسیر برنامهنویس شدن:
🎯 طراحی وبسایت - فرانت اند: (۵:۲۸ ساعت - در حال ضبط)
🎯 دوره آموزشی پایتون: (۱۸:۰۳ ساعت - در حال ضبط)
🎯 دوره آموزشی گیت: (۴:۰۶ ساعت - به اتمام رسیده)
🎯 دوره تست نرمافزار با پایتون: (۱:۲۰ ساعت - به اتمام رسیده)
🎯 آموزش کتابخانه پانداس: (۲:۲۶ ساعت - در حال ضبط)
==================
🥇 مسیر کار تیمی و ایجاد نرمافزار
🎯 دوره آموزشی اسکرام: (۲:۳۰ ساعت - به اتمام رسیده)
🎯 دوره مهندسی نیازمندیها: (۴:۳۲ ساعت - در حال ضبط)
🎯 دوره مدیریت پروژه: (۳:۱۶ ساعت - در حال ضبط)
==================
کانال یوتیوب علیرضا آقامحمدی
💰 میخواهید وارد بازار کار شوید؟
📕 میخواهید دانش و مهارت ضروری صنعت کامپیوتر را بلد باشید؟
🧠 عاشق یادگیری هستید؟
اگر پاسخ شما به سه سوال بالا منفی است، این کانال مناسب شما نیست!
لینک دسترسی به تمام ویدیوها در کانال یوتیوب:
🐳 مسیر یادگیری دوآپس
🎯 طراحی سیستمها: (۲:۳۰ ساعت - در حال ضبط)
🎯 مدیریت سرور لینوکس: (۱:۳۰ ساعت - در حال ضبط)
🥉 مسیر یادگیری و تقویت زبان انگلیسی
=================================
🎯 آموزش زبان انگلیسی: (۳۰:۳۷ ساعت - به اتمام رسیده)
==================
🥈مسیر برنامهنویس شدن:
🎯 طراحی وبسایت - فرانت اند: (۵:۲۸ ساعت - در حال ضبط)
🎯 دوره آموزشی پایتون: (۱۸:۰۳ ساعت - در حال ضبط)
🎯 دوره آموزشی گیت: (۴:۰۶ ساعت - به اتمام رسیده)
🎯 دوره تست نرمافزار با پایتون: (۱:۲۰ ساعت - به اتمام رسیده)
🎯 آموزش کتابخانه پانداس: (۲:۲۶ ساعت - در حال ضبط)
==================
🥇 مسیر کار تیمی و ایجاد نرمافزار
🎯 دوره آموزشی اسکرام: (۲:۳۰ ساعت - به اتمام رسیده)
🎯 دوره مهندسی نیازمندیها: (۴:۳۲ ساعت - در حال ضبط)
🎯 دوره مدیریت پروژه: (۳:۱۶ ساعت - در حال ضبط)
==================
Telegram
Golem Course
Alireza Aghamohammadi, Ph.D.
https://youtube.com/@GolemCourse
https://youtube.com/@GolemCourse
❤10🔥1💯1
بعد از مدتها فرصتی دوباره پیشآمد تا ویدیویی در رابطه با آموزش برنامهنویسی پایتون ضبط کنم.
برنامههایی که مینویسیم گاهی نیاز به پارامتر دارد و یکی از راههای منعطفپذیر کردن برنامه، تعیین مقادیر پارامتر برنامه از طریق فایلهای پیکربندی است. پارامترهای مورد نیاز برنامه در فایل پیکربندی تعریف میشود و سپس برنامه با خواندن آن فایل پارامترها را مقداردهی میکند.
یکی از استانداردهای رایج در پروژههای پایتونی استفاده از پیکربندیهایی با قالب ini است. در این ویدیو ابتدا توضیحی درباره این استاندارد میدهم و سپس در برنامهای مینویسیم که بتواند پارامترهای مورد نیازش را از فایل پیکربندی بخواند.
https://youtu.be/gkUpWXEfywQ
برنامههایی که مینویسیم گاهی نیاز به پارامتر دارد و یکی از راههای منعطفپذیر کردن برنامه، تعیین مقادیر پارامتر برنامه از طریق فایلهای پیکربندی است. پارامترهای مورد نیاز برنامه در فایل پیکربندی تعریف میشود و سپس برنامه با خواندن آن فایل پارامترها را مقداردهی میکند.
یکی از استانداردهای رایج در پروژههای پایتونی استفاده از پیکربندیهایی با قالب ini است. در این ویدیو ابتدا توضیحی درباره این استاندارد میدهم و سپس در برنامهای مینویسیم که بتواند پارامترهای مورد نیازش را از فایل پیکربندی بخواند.
https://youtu.be/gkUpWXEfywQ
YouTube
آموزش برنامهنویسی پایتون | خواندن فایل پیکربندی از نوع ini | جلسه صد و یازده
#آموزش_پایتون #پایتون #برنامه_نویسی
بعد از مدتها فرصتی دوباره پیشآمد تا ویدیویی در رابطه با آموزش برنامهنویسی پایتون ضبط کنم.
برنامههایی که مینویسیم گاهی نیاز به پارامتر دارد و یکی از راههای منعطفپذیر کردن برنامه، تعیین مقادیر پارامتر برنامه از طریق…
بعد از مدتها فرصتی دوباره پیشآمد تا ویدیویی در رابطه با آموزش برنامهنویسی پایتون ضبط کنم.
برنامههایی که مینویسیم گاهی نیاز به پارامتر دارد و یکی از راههای منعطفپذیر کردن برنامه، تعیین مقادیر پارامتر برنامه از طریق…
👍2
خزندههای وب (Web Crawlers) برای دانلود محتوای وب استفاده میشود.
کاربرد اصلی این نوع از سیستمها را در موتورهای جستوجو میبینیم. موتورهای جستوجو برای رتبهبندی صفحات وب در ابتدا نیاز به استخراج آنها دارند. کاربرد دیگر خزندههای وب یافتن موارد نقضکننده کپیرایت است. میتوان صفحاتی از وب را پیدا کرد که بدون داشتن گواهینامه معتبر محتوایی را استفاده میکنند.
خزندههای وب مقیاسپذیر میتوانند میلیاردها صفحه را در بازه ماهانه از وب استخراج کنند. در این جلسه نحوه طراحی این گونه از سیستمها را یاد میگیریم.
https://youtu.be/Et8RETiA_uo
کاربرد اصلی این نوع از سیستمها را در موتورهای جستوجو میبینیم. موتورهای جستوجو برای رتبهبندی صفحات وب در ابتدا نیاز به استخراج آنها دارند. کاربرد دیگر خزندههای وب یافتن موارد نقضکننده کپیرایت است. میتوان صفحاتی از وب را پیدا کرد که بدون داشتن گواهینامه معتبر محتوایی را استفاده میکنند.
خزندههای وب مقیاسپذیر میتوانند میلیاردها صفحه را در بازه ماهانه از وب استخراج کنند. در این جلسه نحوه طراحی این گونه از سیستمها را یاد میگیریم.
https://youtu.be/Et8RETiA_uo
YouTube
طراحی سیستمها | طراحی Web Crawlers | درس بیست | System Design
خزندههای وب (Web Crawlers) برای دانلود محتوای وب استفاده میشود.
کاربرد اصلی این نوع از سیستمها را در موتورهای جستوجو میبینیم. موتورهای جستوجو برای رتبهبندی صفحات وب در ابتدا نیاز به استخراج آنها دارند. کاربرد دیگر خزندههای وب یافتن موارد نقضکننده…
کاربرد اصلی این نوع از سیستمها را در موتورهای جستوجو میبینیم. موتورهای جستوجو برای رتبهبندی صفحات وب در ابتدا نیاز به استخراج آنها دارند. کاربرد دیگر خزندههای وب یافتن موارد نقضکننده…
👍3❤1
یکی از مهارتهای مورد نیاز در طراحی سیستمها برآورد است. با یادگیری این مهارت میتوانیم به سوالاتی نظیر زیر پاسخ دهیم:
نرخ درخواست نوشتن بر ثانیه چقدر است؟
نرخ درخواست خواندن بر ثانیه چقدر است؟
میزان پهنای باند شبکه مورد نیاز چقدر است؟
به چه میزان فضای ذخیرهسازی احتیاج داریم؟
https://www.youtube.com/watch?v=YUjs-Fx2Q5s&ab_channel=GolemCourse
نرخ درخواست نوشتن بر ثانیه چقدر است؟
نرخ درخواست خواندن بر ثانیه چقدر است؟
میزان پهنای باند شبکه مورد نیاز چقدر است؟
به چه میزان فضای ذخیرهسازی احتیاج داریم؟
https://www.youtube.com/watch?v=YUjs-Fx2Q5s&ab_channel=GolemCourse
YouTube
طراحی سیستمها | کاربرد برآورد | درس بیست و یک | System Design
یکی از مهارتهای مورد نیاز در طراحی سیستمها برآورد است. با یادگیری این مهارت میتوانیم به سوالاتی نظیر زیر پاسخ دهیم:
نرخ درخواست نوشتن بر ثانیه چقدر است؟
نرخ درخواست خواندن بر ثانیه چقدر است؟
میزان پهنای باند شبکه مورد نیاز چقدر است؟
به چه میزان فضای ذخیرهسازی…
نرخ درخواست نوشتن بر ثانیه چقدر است؟
نرخ درخواست خواندن بر ثانیه چقدر است؟
میزان پهنای باند شبکه مورد نیاز چقدر است؟
به چه میزان فضای ذخیرهسازی…
👍3
داده ساختار bloom filter برای بررسی وجود یک عنصر در لیست استفاده میشود. این دادهساختار به علت سرعت بالا و حجم کم در طراحی سیستمها کاربردهای زیادی دارد:
کاربرد ۱: اگر عنصر در دادهساختار bloom filter موجود نبود سراغ حافظه کَش نرویم و مستقیماً از پایگاهداده اطلاعات را بخوانیم (کاهش cache miss)
کاربرد ۲: موتورهای جستوجو اگر آدرسی را پیشتر بررسی کردهاند، دوباره آن را بررسی نکنند.
کاربرد ۳: زمان ساخت حسابکاری، اگر نامکاربری پیشتر توسط فردی انتخاب شده بود، به اطلاع کاربر برسد.
کاربرد ۴: لیستی از آدرس اسپمهای معروف داشته باشیم و اگر ایمیلی با آدرسی از آن لیست آمد، به عنوان اسپم شناخته شود.
در این ویدیو به نحوه کارکرد دادهساختار bloom filter میپردازیم.
https://youtu.be/g6oi78Hc-S4
کاربرد ۱: اگر عنصر در دادهساختار bloom filter موجود نبود سراغ حافظه کَش نرویم و مستقیماً از پایگاهداده اطلاعات را بخوانیم (کاهش cache miss)
کاربرد ۲: موتورهای جستوجو اگر آدرسی را پیشتر بررسی کردهاند، دوباره آن را بررسی نکنند.
کاربرد ۳: زمان ساخت حسابکاری، اگر نامکاربری پیشتر توسط فردی انتخاب شده بود، به اطلاع کاربر برسد.
کاربرد ۴: لیستی از آدرس اسپمهای معروف داشته باشیم و اگر ایمیلی با آدرسی از آن لیست آمد، به عنوان اسپم شناخته شود.
در این ویدیو به نحوه کارکرد دادهساختار bloom filter میپردازیم.
https://youtu.be/g6oi78Hc-S4
YouTube
طراحی سیستمها | دادهساختار bloom filter | درس بیست و دو | System Design
داده ساختار bloom filter برای بررسی وجود یک عنصر در لیست استفاده میشود. این دادهساختار به علت سرعت بالا و حجم کم در طراحی سیستمها کاربردهای زیادی دارد:
• کاربرد ۱: اگر عنصر در دادهساختار bloom filter موجود نبود سراغ حافظه کَش نرویم و مستقیماً از پایگاهداده…
• کاربرد ۱: اگر عنصر در دادهساختار bloom filter موجود نبود سراغ حافظه کَش نرویم و مستقیماً از پایگاهداده…
👍5
Forwarded from Deep Time
تشخیص و راهکار مقابله با یکی از بزرگترین معضلات تمرکز یعنی procrastivity
از قبل قرار شد در این مورد بنویسم. شناخت این مسئله نه تنها در سطح فردی بلکه در سطح مدیریتی اهمیت بالایی داره. از تعریف شروع میکنیم:
تعریف:
همونطور که قبلا صحبت شد، بر خلاف procrastination که به معنی اهمال یا به نوعی وقت هدر دادن هست، procrastivity یعنی انجام یک کار مفید که اولویت و ضرورت نیست. برای مثال خوندن یک مطلب علمی غیر مرتبط بجای اتمام پروژهای که در دست داریم.
چرا procrastivity اتفاق می افتد؟
زیرا آن کاری که بجای کار اصلی انجام میدهیم ویژگیهای زیر را نسبت به کار اصلی دارد:
- مسیر و اعمال شناخته شده تر هست
- معمولا دستی و فیزیکی تر هست
- تخمین زمان واضح تر هست
- وجود ارتباط مستقیم تر بین تلاش و نتیجه
- پایان مشخص و خوشایند است
راهکار مدیریت procrastivity:
راهکار اساسی مقابله با این حالت، مقابله با حس ناخوشاندیست (حس ugh) که از شروع کار اصلی (اولویت اول) داریم که عبارتند از:
- شروع با حداقل اقدام عملی ممکن
- ترسیم اجزا و مراحل انجام کار
- تخصیص زمان مقرر برای هر مرحله
- تبدیل انتزاعی به جامد و مجسم
در این مورد همچنین پیشنهاد میکنم کتاب شروع کردن را تمام کنید، تمام کردن را شروع کنید رو مطالعه کنید. ضمن اینکه این کتاب مربوط به متودولوژی Kanban هست که شبیه Scrum یک متودولوژی توسعه چابک برای پروژههای نرم افزاریست.
@deeptimeai
از قبل قرار شد در این مورد بنویسم. شناخت این مسئله نه تنها در سطح فردی بلکه در سطح مدیریتی اهمیت بالایی داره. از تعریف شروع میکنیم:
تعریف:
همونطور که قبلا صحبت شد، بر خلاف procrastination که به معنی اهمال یا به نوعی وقت هدر دادن هست، procrastivity یعنی انجام یک کار مفید که اولویت و ضرورت نیست. برای مثال خوندن یک مطلب علمی غیر مرتبط بجای اتمام پروژهای که در دست داریم.
چرا procrastivity اتفاق می افتد؟
زیرا آن کاری که بجای کار اصلی انجام میدهیم ویژگیهای زیر را نسبت به کار اصلی دارد:
- مسیر و اعمال شناخته شده تر هست
- معمولا دستی و فیزیکی تر هست
- تخمین زمان واضح تر هست
- وجود ارتباط مستقیم تر بین تلاش و نتیجه
- پایان مشخص و خوشایند است
راهکار مدیریت procrastivity:
راهکار اساسی مقابله با این حالت، مقابله با حس ناخوشاندیست (حس ugh) که از شروع کار اصلی (اولویت اول) داریم که عبارتند از:
- شروع با حداقل اقدام عملی ممکن
- ترسیم اجزا و مراحل انجام کار
- تخصیص زمان مقرر برای هر مرحله
- تبدیل انتزاعی به جامد و مجسم
در این مورد همچنین پیشنهاد میکنم کتاب شروع کردن را تمام کنید، تمام کردن را شروع کنید رو مطالعه کنید. ضمن اینکه این کتاب مربوط به متودولوژی Kanban هست که شبیه Scrum یک متودولوژی توسعه چابک برای پروژههای نرم افزاریست.
@deeptimeai
Telegram
Deep Time
کتاب شروع کردن را متوقف کنید، تمام کردن را شروع کنید:
این کتاب توسط خانم ریحانه جعفری ترجمه شده است و ترجمه خوبی هم دارد و برای هر فردی که میخواهد کارهای خود را مدیریت کند مناسب است.
محتوا
کتاب خیلی کم حجم است و روش کانبان را به سادهترین شکل آموزش میدهد.…
این کتاب توسط خانم ریحانه جعفری ترجمه شده است و ترجمه خوبی هم دارد و برای هر فردی که میخواهد کارهای خود را مدیریت کند مناسب است.
محتوا
کتاب خیلی کم حجم است و روش کانبان را به سادهترین شکل آموزش میدهد.…
👍9