Web_programming
1.14K subscribers
354 photos
14 videos
125 files
1.23K links
Sharif web programming
If you have any questions, please feel free to ask(@yumcoder)
Download Telegram
👍4
Web_programming
درود یکشنبه 22 اسفند ساعت ۴ بعد از ظهر یک جلسه انلاین خواهیم داشت و در آن به کمک زبان Rust یک mini redis خواهیم نوشت این دوره به صورت عملی است پس لطفا rust و vscode را نصب کرده باشید محل برگزاری https://vc.sharif.edu/ch/jafarinezhad
تعدادی پیام داشتم که با زمان این جلسه مشکل داشتند و ترجیح بود دیروقت و دوشنبه باشد که بتوانند شرکت کنند. از انجا که این هفته کمی آزاد هستم لذا برای من فرقی ندارد، امیدوارم جلسه خوبی شود.

زمان این جلسه بر اساس درخواستهای مطرح شده فردا دوشنبه ۲۳ اسفند ساعت ۷ شب خواهد بود

پ.ن. ببخشید برای جابجایی‌های پیش آمده
گفتم بگردم تلگرام reminder داره که برخی پیغامها رو بهم یادآوری کند دیدم دارد! 😂
در بخش saved message روی send باید long press کنید
👍5
درباره جلسه امروز rust فیدبک بدهید لطفا
👍2
امروز به مناسبت پایان درس وب در ترم گذشته با برخی از دستیاران آموزشی رفتیم و پیتزا خوردیم 👇

سپاس از زحمت همه عزیران در ترم گذشته و جای بچه‌هایی که نبودند خالی(ما از طرف دستیارانی که نبودند نیز پیتزا گرفتیم و خوردیم)
😁3🎉2
Forwarded from Farzin Nasiri
👍6
درباره این داده ساختار bloom filter و انواع آن بیشتر مطالعه کنید. من اولین بار کاربرد آن را در پایگاه داده دیدم. مثلا برای اینکه بگوییم رکوردی با این کلید اصلی در جدول نیست لازم نیست o)n) یا حتی log مصرف کنیم و در زمان o(k) هم میتوان جواب داد.
در rocksdb، در اتریم و... جاهای زیادی از این داده ساختار استفاده شده است

پس باهاش آشنا شوید👆
#bloom #bloom_filter
👍5
Compiler Reordering and Hardware Reordering

این مطلب در c++ ۲۰ نیز مطرح است و در برنامه نویسی سیستمی و ارزیابی کارایی مطرح است

https://doc.rust-lang.org/nomicon/atomics.html
Atomics and Memory Ordering
زبان سطح پایین به ما اجازه میدهند در این سطح تصمیم بگیریم

خوب پیچیده است و برای بخش زیادی از برنامه ها لازم نیست مگر اینکه کارایی بسیار خاصی مورد نظر باشد
به نظر شما spinlock چه تفاوتی با mutex دارد و کاربرد محدود آن کجاست؟👇
Forwarded from Mehran Memarnejad
سلام،
هر دو آنها قفل هستند که برای مدیریت دسترسی به منابع اشتراکی به کار می‌روند
وقتی spinlock نتونه قفل رو بگیره، به صورت دائم چک می‌کنه که قفل آزاد شد یا نه (busy waiting) ولی mutex اگه نتونه قفل رو بگیره، اون روند اجرایی به خواب می‌رود تا قفل رو کسی که گرفته، آزاد کنه و این روند اجرایی بیدار بشه و به کارش ادامه بدهد

اگه مطمئن هستیم که قفل سریع آزاد خواهد شد، بهتره spinlock استفاده بشه، چون سربار خوابیدن و بیدار شدن زیادتر هست ولی اگه می‌دونیم که قفل طول می‌کشه تا آزاد بشه، اون موقع بهتره بخوابیم و منابع رو آزاد بذاریم برای استفاده بقیه، چون این دفعه سربار خوابیدن و بیدار شدن کمتر از busy waiting هست

البته زمینه‌هایی (context) هم وجود داره که فقط باید از spinlock استفاده بشه چون نمی‌توانیم بخوابیم (در سطح کاربر این موضوع رخ نمی‌دهد ولی در سطح هسته همچین زمینه‌ای وجود دارد مثلا زمینه وقفه)
👍2
Web_programming
https://unixism.net/loti/index.html #io_uring
درباه این روش io_uring اگر دوست داشید در زیر این پست بنویسید در آینده بیشتر مینوسم
در نسخه‌های جدید لینوکس میتوانید استفاده کنید