Forwarded from ⚝
witchat.github.io
Women In Technology Chat Group
Women In Technology chat group. Read code of conduct, request invite here.
kolektiva.social/@aredridel/112298450037973790
witchat.github.io
اگه مؤنّث هستید (نانباینریها هم شامل میشن) و با فنّآوری در ارتباطید، میتونید در این جامعه حضور داشته باشید و به گفتگو بپردازید.
#معرفی
@amiria703_channel
witchat.github.io
اگه مؤنّث هستید (نانباینریها هم شامل میشن) و با فنّآوری در ارتباطید، میتونید در این جامعه حضور داشته باشید و به گفتگو بپردازید.
#معرفی
@amiria703_channel
Forwarded from DevTwitter | توییت برنامه نویسی
اگر میخواید پروسه ساخت یک چت بات با RAG رو فقط تبدیل به چند تا API CALL کنید میتونید از API اوپن سورسی که نوشتم استفاده کنید. همه چی از embeding تا ساخت Chat completions اتوماتیک انجام میشه
https://github.com/xmannii/Maux-RAG-API
@DevTwitter | <Mani/>
https://github.com/xmannii/Maux-RAG-API
@DevTwitter | <Mani/>
Forwarded from Linuxor ?
چطوری میشه توی لینوکس به صورت زنده روی وب کم افکت گذاشت ؟
توی لینوکس وقتی وب کم رو روشن میکنید در واقع دارین از dev/videoX/ استفاده میکنید، برای اینکه یه افکت بزارین باید یه Virtual webcam درست کنید که یه لایه واسط بین شما و وب کمتون میشه، بعد ساخت Virtual webcam یه آدرس جدید بهتون میده به اسم dev/videoY/ که میتونید توی برنامه هاتون از وب کم مجازی دارای افکت استفاده کنید.
یوتیوبر ها و استریمر ها خیلی از این روش استفاده میکنن برای این کار کافیه برنامه زیر رو نصب کنید
sudo apt install webcamoid
بعد از نصب از قسمت Video توی منوی بالا سمت چپ برید و یه Output اضافه کنید و از قسمت Effect هر افکتی بزارید روی خروجی گذاشته میشه و میتونید توی برنامه های دیگه که از وب کم استفاده میکنن مثل کنفرانس ها و میتینگ ها ازش استفاده کنید.
🐧 @Linuxor
توی لینوکس وقتی وب کم رو روشن میکنید در واقع دارین از dev/videoX/ استفاده میکنید، برای اینکه یه افکت بزارین باید یه Virtual webcam درست کنید که یه لایه واسط بین شما و وب کمتون میشه، بعد ساخت Virtual webcam یه آدرس جدید بهتون میده به اسم dev/videoY/ که میتونید توی برنامه هاتون از وب کم مجازی دارای افکت استفاده کنید.
یوتیوبر ها و استریمر ها خیلی از این روش استفاده میکنن برای این کار کافیه برنامه زیر رو نصب کنید
sudo apt install webcamoid
بعد از نصب از قسمت Video توی منوی بالا سمت چپ برید و یه Output اضافه کنید و از قسمت Effect هر افکتی بزارید روی خروجی گذاشته میشه و میتونید توی برنامه های دیگه که از وب کم استفاده میکنن مثل کنفرانس ها و میتینگ ها ازش استفاده کنید.
🐧 @Linuxor
Forwarded from Linuxor ?
یه منبع جامع و خوب برای پرامپت های آماده و Prompt Engineering
جدیدا مهندسی پرامپت ترند شده و خیلی کاربردی، مهندسی پرامپت با یه سری تکنیک ها بهتون یاد میده چطوری یه Prompt بنویسید که بهینه کار کنه
این ریپو کلی پرامپت آماده براتون جمع کرده یه جا :
https://github.com/dair-ai/Prompt-Engineering-Guide
🐧 @Linuxor
جدیدا مهندسی پرامپت ترند شده و خیلی کاربردی، مهندسی پرامپت با یه سری تکنیک ها بهتون یاد میده چطوری یه Prompt بنویسید که بهینه کار کنه
این ریپو کلی پرامپت آماده براتون جمع کرده یه جا :
https://github.com/dair-ai/Prompt-Engineering-Guide
🐧 @Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
کمپانی Meta ی مجموعه مدل به اسم MovieGen که ساخت ویدیو را متحول کرده. Movie Gen چهار قابلیت ارائه میدهد: تولید ویدیو، ویدیوهای شخصیسازی شده، ویرایش دقیق ویدیو و تولید صدا. کیفیت ویدیوها واقعا بالاست بخصوص درآوردن نور و فیزیک توی ویدیو واقعا سخته.
https://ai.meta.com/blog/movie-gen-media-foundation-models-generative-ai-video/
@DevTwitter | <Mehdi Allahyari/>
https://ai.meta.com/blog/movie-gen-media-foundation-models-generative-ai-video/
@DevTwitter | <Mehdi Allahyari/>
Forwarded from Future Pulse Persian
🔵اثر دانینگ کروگر (Dunning-Kruger Effect) چیست؟
🟢 «افرادی که دانش کمتر از میانگین دارند، با دو مشکل بهصورت همزمان مواجه هستند: نه تنها نتیجهگیریهای اشتباهی دارند و بر اساس همان نتیجهگیریها خطاهای مکرری را مرتکب میشوند، بلکه به دلیل همین مشکل، عدم توانایی خود را نیز درک نمیکنند و متوجه این عدم توانایی نخواهند شد.»
🔴 https://karboom.io/mag/articles/%D8%A7%D8%AB%D8%B1-%D8%AF%D8%A7%D9%86%DB%8C%D9%86%DA%AF-%DA%A9%D8%B1%D9%88%DA%AF%D8%B1
➖➖➖➖➖➖➖➖
🕸 @labdon_academy
🟢 «افرادی که دانش کمتر از میانگین دارند، با دو مشکل بهصورت همزمان مواجه هستند: نه تنها نتیجهگیریهای اشتباهی دارند و بر اساس همان نتیجهگیریها خطاهای مکرری را مرتکب میشوند، بلکه به دلیل همین مشکل، عدم توانایی خود را نیز درک نمیکنند و متوجه این عدم توانایی نخواهند شد.»
🔴 https://karboom.io/mag/articles/%D8%A7%D8%AB%D8%B1-%D8%AF%D8%A7%D9%86%DB%8C%D9%86%DA%AF-%DA%A9%D8%B1%D9%88%DA%AF%D8%B1
➖➖➖➖➖➖➖➖
🕸 @labdon_academy
Forwarded from Armon technical logs (armon Taheri)
ارایه های ایرناگ فنی ترین و یونیک ترین مطالب مربوط به شبکه در ایران هست که تا به حال دنبال کردم
https://t.iss.one/irnog
https://t.iss.one/irnog
Telegram
IRNOG Channel
IRNOG (Iranian Internet Network Operators Group)
گروه گردانندگان شبکه اینترنت ایران - ایرناگ
https://irnog.net
گروه گردانندگان شبکه اینترنت ایران - ایرناگ
https://irnog.net
Forwarded from ⚝
Forwarded from DevTwitter | توییت برنامه نویسی
سوال مصاحبه: چطور میشه بررسی کرد که نام کاربری بین یک میلیارد کاربر تکراری نباشه؟
این روزها با رشد سریع کسبوکارها، ثبتنام کاربرهای جدید هم به یه چالش تبدیل شده. یکی از مهمترین بخشها اینه که مطمئن بشیم هر کاربر یه نام کاربری منحصربهفرد داره. اخیراً در مورد این موضوع یه تحقیقی کردم و دو راهحل خوب پیدا کردم: استفاده از حافظه Redis و فیلتر Bloom. هر دو کمک میکنن سریع و بدون فشار زیاد به سیستم، نام کاربری جدید رو بررسی کنیم.
مشکل کجاست؟
اگه بخوایم از روشهای سنتی و دیتابیس برای بررسی نام کاربری استفاده کنیم، با زیاد شدن کاربرها سیستم کند میشه و با مشکلات زیر روبهرو میشیم:
- کندی در درخواستها
- فشار زیاد به دیتابیس، که باعث مصرف زیاد منابع میشه.
- مشکل در مقیاسپذیری، یعنی وقتی تعداد درخواستها زیاد بشه، سرور نمیتونه همه رو مدیریت کنه.
استفاده از Redis: سریع ولی پرمصرف
ردیس Redis کمک میکنه که بررسی نام کاربری خیلی سریع بشه، چون دادهها رو توی حافظه ذخیره میکنه. اما این روش یه مشکل بزرگ داره: حافظه زیادی مصرف میکنه. مثلاً برای یک میلیارد نام کاربری به 15 گیگابایت حافظه نیاز داریم! که تو سیستمهای بزرگ، خیلی پرهزینه و غیرعملی میشه.
فیلتر Bloom: ساده، بهینه و کممصرف
حالا بریم سراغ فیلتر Bloom. این فیلتر یه روش خیلی بهینهتره که فضای حافظه خیلی کمتری استفاده میکنه. برای همون یک میلیارد نام کاربری، فقط 1.67 گیگابایت حافظه نیاز داره!
اما فیلتر Bloom چیه؟ بذار یه مثال ساده بزنم:
فرض کن یه کیف داری که یه سری جیب کوچیک داره. هر بار که میخوای یه نام کاربری جدید رو ذخیره کنی، یه سری کلید (یعنی همون الگوریتمهای هش) بهت میگه تو کدوم جیبهای کیف بذاری. بعد اگه بخوای ببینی اون نام کاربری قبلاً ذخیره شده یا نه، فقط کافیه جیبهای مشخص شده رو چک کنی. اگه تو هر جیب چیزی باشه، یعنی احتمالاً اون نام کاربری قبلاً استفاده شده. ولی اگه یکی از جیبها خالی باشه، مطمئنی که اون نام کاربری وجود نداره.
با این روش:
- حافظه کمی استفاده میشه
- سرعت بررسی خیلی بالاست
البته یه نکته کوچیک داره: بعضی وقتا ممکنه به اشتباه بگه که یه نام کاربری هست در حالی که نیست (این همون خطای مثبت یا False Positive هست)، ولی در اکثر مواقع این خطا قابل چشمپوشیه.
نتیجهگیری
اگه با سیستمهایی کار میکنید که میلیونها یا حتی میلیاردها کاربر دارن، فیلتر Bloom یه راهحل خیلی بهینه و هوشمند برای بررسی یونیک بودن نام کاربریه. هم توی حافظه صرفهجویی میکنه، هم سرعت بررسی رو بالا نگه میداره.
@DevTwitter | <Massimo Dev/>
این روزها با رشد سریع کسبوکارها، ثبتنام کاربرهای جدید هم به یه چالش تبدیل شده. یکی از مهمترین بخشها اینه که مطمئن بشیم هر کاربر یه نام کاربری منحصربهفرد داره. اخیراً در مورد این موضوع یه تحقیقی کردم و دو راهحل خوب پیدا کردم: استفاده از حافظه Redis و فیلتر Bloom. هر دو کمک میکنن سریع و بدون فشار زیاد به سیستم، نام کاربری جدید رو بررسی کنیم.
مشکل کجاست؟
اگه بخوایم از روشهای سنتی و دیتابیس برای بررسی نام کاربری استفاده کنیم، با زیاد شدن کاربرها سیستم کند میشه و با مشکلات زیر روبهرو میشیم:
- کندی در درخواستها
- فشار زیاد به دیتابیس، که باعث مصرف زیاد منابع میشه.
- مشکل در مقیاسپذیری، یعنی وقتی تعداد درخواستها زیاد بشه، سرور نمیتونه همه رو مدیریت کنه.
استفاده از Redis: سریع ولی پرمصرف
ردیس Redis کمک میکنه که بررسی نام کاربری خیلی سریع بشه، چون دادهها رو توی حافظه ذخیره میکنه. اما این روش یه مشکل بزرگ داره: حافظه زیادی مصرف میکنه. مثلاً برای یک میلیارد نام کاربری به 15 گیگابایت حافظه نیاز داریم! که تو سیستمهای بزرگ، خیلی پرهزینه و غیرعملی میشه.
فیلتر Bloom: ساده، بهینه و کممصرف
حالا بریم سراغ فیلتر Bloom. این فیلتر یه روش خیلی بهینهتره که فضای حافظه خیلی کمتری استفاده میکنه. برای همون یک میلیارد نام کاربری، فقط 1.67 گیگابایت حافظه نیاز داره!
اما فیلتر Bloom چیه؟ بذار یه مثال ساده بزنم:
فرض کن یه کیف داری که یه سری جیب کوچیک داره. هر بار که میخوای یه نام کاربری جدید رو ذخیره کنی، یه سری کلید (یعنی همون الگوریتمهای هش) بهت میگه تو کدوم جیبهای کیف بذاری. بعد اگه بخوای ببینی اون نام کاربری قبلاً ذخیره شده یا نه، فقط کافیه جیبهای مشخص شده رو چک کنی. اگه تو هر جیب چیزی باشه، یعنی احتمالاً اون نام کاربری قبلاً استفاده شده. ولی اگه یکی از جیبها خالی باشه، مطمئنی که اون نام کاربری وجود نداره.
با این روش:
- حافظه کمی استفاده میشه
- سرعت بررسی خیلی بالاست
البته یه نکته کوچیک داره: بعضی وقتا ممکنه به اشتباه بگه که یه نام کاربری هست در حالی که نیست (این همون خطای مثبت یا False Positive هست)، ولی در اکثر مواقع این خطا قابل چشمپوشیه.
نتیجهگیری
اگه با سیستمهایی کار میکنید که میلیونها یا حتی میلیاردها کاربر دارن، فیلتر Bloom یه راهحل خیلی بهینه و هوشمند برای بررسی یونیک بودن نام کاربریه. هم توی حافظه صرفهجویی میکنه، هم سرعت بررسی رو بالا نگه میداره.
@DevTwitter | <Massimo Dev/>
Forwarded from دستاوردهای یادگیری عمیق(InTec)
Forwarded from CleverDevs (Arian)
💢 خرید نیروگاه هسته ای توسط مایکروسافت!
@CleverDevs - @CleverDevsGp
مایکروسافت برای تأمین انرژی توسعه و نگهداری هوش مصنوعی خود، توافقی ۲۰ ساله با نیروگاه هستهای Three Mile Island کرد که در سال 1979 میلادی بنا به دلایلی به مشکل برخورده و بصورت قسمی ذوب شده و پس از نشتی انرژی هسته ای تعطیل شده بود.
زینپس با رفع این مشکل تمامی انرژی تولید شده توسط این نیروگاه به سرور های هوش مصنوعی مایکروسافت اختصاص داده میشود.
مورد قابل توجه دیگر این است که، با این مقدار انرژی هستهای میتوان انرژی لازم هشتصد هزار خانه در آمریکا و حدود سه میلیون خانه در ایران را تامین کرد!#Microsoft | #AI
@CleverDevs - @CleverDevsGp
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
🗓 ابزار mitmproxy یک HTTPS proxy تعاملی برای debugging, testing و ... به کار میره
پلاگین Kubernetes داره و اگر بخواهید یک REST APIs را به صورت خودکار reverse-engineer کنید روی OpenAPI 3.0 به راحتی با پلاگین امکن پذیره
✅ رهگیری، بازرسی، اصلاح و ارسال مجدد ترافیک روی HTTP/2/1, WebSockets یا هر نوع SSL/TLS-protected
🔥 در نسخه ۱۱ پشتیبانی کامل HTTP/3 را اضافه کرده
💠 امکانات مهم :
✳️ رابط Command Line
انواع پیامها از HTML تا Protobuf را به سادگی رمزگشایی، پیامهای خاصی را در لحظه رهگیری، قبل از رسیدن به مقصد آنها را اصلاح و بعداً آنها را برای یک کلاینت یا سرور دوباره ارسال کنید.
✳️ رابط Web Interface
با رابط وب با mitmweb شبیه به DevTools برای هر برنامه یا دستگاه دیگری به همراه ویژگی های اضافی مانند رهگیری درخواست و ارسال مجدد استفاده کنید
✳️ رابط Python API
با mitmdump افزونه های قدرتمند و اسکریپت mitmproxy میتوانید بنویسد. API اسکریپت کنترل کاملی را بر mitmproxy ادارد و امکان تغییر خودکار پیامها، تغییر مسیر ترافیک، مشاهده پیامها یا امکان اجرای دستورات میدهد
گیت هاب
#امنیت #پایتون #python
پلاگین Kubernetes داره و اگر بخواهید یک REST APIs را به صورت خودکار reverse-engineer کنید روی OpenAPI 3.0 به راحتی با پلاگین امکن پذیره
✅ رهگیری، بازرسی، اصلاح و ارسال مجدد ترافیک روی HTTP/2/1, WebSockets یا هر نوع SSL/TLS-protected
🔥 در نسخه ۱۱ پشتیبانی کامل HTTP/3 را اضافه کرده
💠 امکانات مهم :
✳️ رابط Command Line
انواع پیامها از HTML تا Protobuf را به سادگی رمزگشایی، پیامهای خاصی را در لحظه رهگیری، قبل از رسیدن به مقصد آنها را اصلاح و بعداً آنها را برای یک کلاینت یا سرور دوباره ارسال کنید.
✳️ رابط Web Interface
با رابط وب با mitmweb شبیه به DevTools برای هر برنامه یا دستگاه دیگری به همراه ویژگی های اضافی مانند رهگیری درخواست و ارسال مجدد استفاده کنید
✳️ رابط Python API
با mitmdump افزونه های قدرتمند و اسکریپت mitmproxy میتوانید بنویسد. API اسکریپت کنترل کاملی را بر mitmproxy ادارد و امکان تغییر خودکار پیامها، تغییر مسیر ترافیک، مشاهده پیامها یا امکان اجرای دستورات میدهد
گیت هاب
#امنیت #پایتون #python
Forwarded from DevTwitter | توییت برنامه نویسی
اگر مثل من با Django REST Framework (DRF) کار میکنی و دنبال راهی برای سریعتر کردن APIهات هستی، حتماً باید drf-cache رو امتحان کنی.
این ابزار چیکار میکنه؟
با کش کردن درخواستهای API به شما کمک میکنه تا فشار روی دیتابیس کمتر بشه و سرعت پاسخدهی APIها بهطور چشمگیری افزایش پیدا کنه
میتونی کش کردن رو برای هر ویو یا کوئری بهطور جداگانه تنظیم کنی، این یعنی کنترل کامل روی نحوه ذخیرهسازی و بازیابی دادهها
فوقالعاده مفیده برای APIهای سنگین یا پرتقاضا که نیاز به بهینهسازی دارن
اگه میخوای کارایی APIهات رو بهبود بدی و لود سرورت رو کم کنی، drf-cache یکی از بهترین گزینههاست!
پ.ن: (اگه دادههای زیادی رو کش کنی، این میتونه حافظه سرور رو بیشتر مصرف کنه. بهخصوص اگر کوئریها یا درخواستها خیلی بزرگ و پیچیده باشن و برای APIهایی که باید به سرعت اطلاعات رو بهروزرسانی کنن (جایی که دادهها مرتباً تغییر میکنن)، استفاده از کش میتونه باعث بشه کاربران دادههای جدید رو دیرتر ببینن. در این مواقع، باید خیلی هوشمندانه کشینگ رو تنظیم کنی.
و همچنین استفاده از drf-cache نیاز به تنظیمات دقیق داره، و اگر بهدرستی تنظیم نشه، ممکنه اصلاً نتونی ازش بهینه استفاده کنی یا برعکس، عملکرد رو حتی بدتر کنی.)
https://github.com/chibisov/drf-extensions
@DevTwitter | <Shima Fallah/>
این ابزار چیکار میکنه؟
با کش کردن درخواستهای API به شما کمک میکنه تا فشار روی دیتابیس کمتر بشه و سرعت پاسخدهی APIها بهطور چشمگیری افزایش پیدا کنه
میتونی کش کردن رو برای هر ویو یا کوئری بهطور جداگانه تنظیم کنی، این یعنی کنترل کامل روی نحوه ذخیرهسازی و بازیابی دادهها
فوقالعاده مفیده برای APIهای سنگین یا پرتقاضا که نیاز به بهینهسازی دارن
اگه میخوای کارایی APIهات رو بهبود بدی و لود سرورت رو کم کنی، drf-cache یکی از بهترین گزینههاست!
پ.ن: (اگه دادههای زیادی رو کش کنی، این میتونه حافظه سرور رو بیشتر مصرف کنه. بهخصوص اگر کوئریها یا درخواستها خیلی بزرگ و پیچیده باشن و برای APIهایی که باید به سرعت اطلاعات رو بهروزرسانی کنن (جایی که دادهها مرتباً تغییر میکنن)، استفاده از کش میتونه باعث بشه کاربران دادههای جدید رو دیرتر ببینن. در این مواقع، باید خیلی هوشمندانه کشینگ رو تنظیم کنی.
و همچنین استفاده از drf-cache نیاز به تنظیمات دقیق داره، و اگر بهدرستی تنظیم نشه، ممکنه اصلاً نتونی ازش بهینه استفاده کنی یا برعکس، عملکرد رو حتی بدتر کنی.)
https://github.com/chibisov/drf-extensions
@DevTwitter | <Shima Fallah/>
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy Raymond)
🔶 تنسنت بهدنبال تصاحب یوبیسافت، خالق بازیهای اسسینز کرید است
بلومبرگ گزارش میدهد که شرکتهای تنسنت هولدینگز و خانوادهی گیلموت، بنیانگذار یوبیسافت اینترتیمنت، در حال انجام مذاکرهای هستند که میتواند به خرید احتمالی خالق بازیهای اسسینز کرید منجر شود.
#خبر
@TheRaymondDev
بلومبرگ گزارش میدهد که شرکتهای تنسنت هولدینگز و خانوادهی گیلموت، بنیانگذار یوبیسافت اینترتیمنت، در حال انجام مذاکرهای هستند که میتواند به خرید احتمالی خالق بازیهای اسسینز کرید منجر شود.
#خبر
@TheRaymondDev
Bloomberg.com
Tencent, Guillemot Family Are Said to Consider Buyout of Ubisoft
Tencent Holdings Ltd. and Ubisoft Entertainment SA’s founding Guillemot family are considering options including a potential buyout of the French video game developer after it lost more than half its market value this year, according to people familiar with…
Forwarded from DevTwitter | توییت برنامه نویسی
ترکیب وردپرس و لاراول Laravel خیلی جذابه واقعا.
اول از همه Corcel رو نصب میکنید و پروژه لاراول رو باهاش کانفیگ میکنید.
حالا وردپرس رو نصب میکنید و با پلاگین WordPress Pete ستش میکنید روی لاراول.
اینجوری یه سایت لاراولی دارید با بکاند وردپرس
@DevTwitter | <Pedram/>
اول از همه Corcel رو نصب میکنید و پروژه لاراول رو باهاش کانفیگ میکنید.
حالا وردپرس رو نصب میکنید و با پلاگین WordPress Pete ستش میکنید روی لاراول.
اینجوری یه سایت لاراولی دارید با بکاند وردپرس
@DevTwitter | <Pedram/>
Forwarded from Accio
I've just implemented decompression for this program as well. This is still compatible with linux compress program except for reset characters which are to be implemented later on.
Repo:
https://github.com/Keivan-sf/lzw/
#compression #lzw
Repo:
https://github.com/Keivan-sf/lzw/
#compression #lzw
ncompress
About
a fast, simple LZW file compressor
Forwarded from محتوای آزاد سهراب
و هم اکنون آغاز انتقال #پستمارکت به #گیتلب خودمیزبانی شده
https://status.postmarketos.org
@SohrabContents
https://status.postmarketos.org
@SohrabContents
status.postmarketos.org
postmarketOS Status
We continuously monitor the status of our services and if there are any interruptions, a note will be posted here.
Forwarded from محتوای آزاد سهراب
یکی از میانبرهای کاربردی داخل #پلاسما ترکیب کلیدهای alt + f2 هستش که krunner رو اجرا میکنه براتون و از krunner شما میتونید یک سری ابزارهارو باز کنید، وبگردی کنید و یا حتی معادلات ساده ریاضی رو انجام بدید.
همینطور krunner پلاگینهایی داره که از KDE Store میتونید نصب کنید.
@SohrabContents
همینطور krunner پلاگینهایی داره که از KDE Store میتونید نصب کنید.
@SohrabContents
Forwarded from Go Casts 🚀
داشتم یه نگاهی به کتاب foundations of scalable systems مینداختم که یه بخشی ش در مورد مقیاس پذیر کردن دیتابیس به کمک کش صحبت میکنه.
A well-designed caching scheme can be invaluable in scaling a system. Caching
works great for data that rarely changes and is accessed frequently, such as inventory
catalogs, event information, and contact data. If you can handle a large percentage,
say, 80% or more, of read requests from your cache, then you effectively buy extra
capacity at your databases as they never see a large proportion of requests.
داشتن سرویس scalable و مقیاس پذیر بخش زیادی ش وابسته به رعایت کردن یه سری اصول ساده ست که خیلی هامون در موردش شنیدیم و خوندیم و میدونیم.
استراتژی های caching یکی از همون اصول ساده و مهمه که به مقیاس پذیری سیستم خیلی کمک میکنه.
کش کردن استراتژی های مختلفی داره و نباید کورکورانه استفاده بشه، چالش و دغدغه هایی هم ایجاد میکنه مثل مساله invalidate کردن کش یا thundering herd که در موردش چند روز پیش صحبت کردم.
کش کردن تو لایه های مختلف استفاده میشه و شما میتونید از مزایای این استراتژی در همه لایه ها استفاده کنید.
خود کلاینتی که مثلا اپلیکیشن وب یا موبایل هست میتونه یه سری داده رو کش کنه.
برای کمتر شدن لود سرور میتونید از cdn استفاده کنید که assetهای شمارو کش کنه.
سرویس gateway شما میتونه یه سری api رو کش کنه که لود روی اپلیکیشن شما نیفته.
اپلیکیشن شما میتونه هم روی http server یه سروی api رو کش کنه و هم میتونه تو لایه کوئری زدن به دیتابیس یه سری کوئری ها رو کش کنه.
سرویس دیتابیس هم معمولا خودشون استراتژی های مختلفی دارن برای کش کردن کوئری ها.
سیستم فایل و دیسک هایی که دیتابیس ها استفاده میکنن هم خودشون pageهای دیسکی که بیشتر استفاده میشه رو کش میکنن.
سیستم عامل هم خودش چندین لایه کش داره.
بصورت آشکار و نهان کش یکی از راه های ساده و قوی هست، اما باید با فکر و تحلیل ازش استفاده کنید.
@gocasts
A well-designed caching scheme can be invaluable in scaling a system. Caching
works great for data that rarely changes and is accessed frequently, such as inventory
catalogs, event information, and contact data. If you can handle a large percentage,
say, 80% or more, of read requests from your cache, then you effectively buy extra
capacity at your databases as they never see a large proportion of requests.
داشتن سرویس scalable و مقیاس پذیر بخش زیادی ش وابسته به رعایت کردن یه سری اصول ساده ست که خیلی هامون در موردش شنیدیم و خوندیم و میدونیم.
استراتژی های caching یکی از همون اصول ساده و مهمه که به مقیاس پذیری سیستم خیلی کمک میکنه.
کش کردن استراتژی های مختلفی داره و نباید کورکورانه استفاده بشه، چالش و دغدغه هایی هم ایجاد میکنه مثل مساله invalidate کردن کش یا thundering herd که در موردش چند روز پیش صحبت کردم.
کش کردن تو لایه های مختلف استفاده میشه و شما میتونید از مزایای این استراتژی در همه لایه ها استفاده کنید.
خود کلاینتی که مثلا اپلیکیشن وب یا موبایل هست میتونه یه سری داده رو کش کنه.
برای کمتر شدن لود سرور میتونید از cdn استفاده کنید که assetهای شمارو کش کنه.
سرویس gateway شما میتونه یه سری api رو کش کنه که لود روی اپلیکیشن شما نیفته.
اپلیکیشن شما میتونه هم روی http server یه سروی api رو کش کنه و هم میتونه تو لایه کوئری زدن به دیتابیس یه سری کوئری ها رو کش کنه.
سرویس دیتابیس هم معمولا خودشون استراتژی های مختلفی دارن برای کش کردن کوئری ها.
سیستم فایل و دیسک هایی که دیتابیس ها استفاده میکنن هم خودشون pageهای دیسکی که بیشتر استفاده میشه رو کش میکنن.
سیستم عامل هم خودش چندین لایه کش داره.
بصورت آشکار و نهان کش یکی از راه های ساده و قوی هست، اما باید با فکر و تحلیل ازش استفاده کنید.
@gocasts
Audio
رادیو جادی ۱۷۵ - کار و زندگی و تنبلی و فلسفه و جهان بینی در گپی با پادکست کارگاه
https://youtu.be/TC9VV4nxLvc
چند وقت پیش به دعوت میلاد به پادکست کارگاه رفتم و گپی باهاش زدم. نمیدونستم در مورد چی قراره صحبت میکنیم. فکر می کردم بیشتر قراره بگم چطوری کار می کنم و اینها ولی بیشتر در مورد فلسفه زندگی و اینها گپ زدیم به نظرم. راستش درست یادم نیست چی گفتیم ولی یادمه که گفتگوی خوبی بود. به من که خوش گذشت و قرار شد چند روز بعد از اینکه خودش منتشرش کرد و آدم ها اونجا دیدنش، منم اینجا بذارم که در آرشیو من هم باشه.
#پادکست #رادیو
https://youtu.be/TC9VV4nxLvc
چند وقت پیش به دعوت میلاد به پادکست کارگاه رفتم و گپی باهاش زدم. نمیدونستم در مورد چی قراره صحبت میکنیم. فکر می کردم بیشتر قراره بگم چطوری کار می کنم و اینها ولی بیشتر در مورد فلسفه زندگی و اینها گپ زدیم به نظرم. راستش درست یادم نیست چی گفتیم ولی یادمه که گفتگوی خوبی بود. به من که خوش گذشت و قرار شد چند روز بعد از اینکه خودش منتشرش کرد و آدم ها اونجا دیدنش، منم اینجا بذارم که در آرشیو من هم باشه.
#پادکست #رادیو