Forwarded from Gopher Academy
SIMD مخفف Single Instruction, Multiple Data
(یک دستورالعمل، چندین داده) است. این یک تکنیک پردازشی است که در معماری کامپیوتر استفاده میشود و به پردازنده اجازه میدهد تا یک عملیات را همزمان روی چندین داده اجرا کند. این کار باعث افزایش کارایی و سرعت پردازش، به ویژه در عملیاتهای موازی مانند محاسبات برداری یا ماتریسی، میشود.
### توضیح بیشتر:
- Single Instruction:
یک دستورالعمل واحد به پردازنده داده میشود.
- Multiple Data:
این دستورالعمل به طور همزمان روی چندین داده (مثلاً چندین عنصر در یک آرایه) اعمال میشود.
### مثال:
فرض کنید میخواهید چهار عدد را با هم جمع کنید. در حالت عادی، پردازنده باید چهار بار عملیات جمع را انجام دهد. اما با استفاده از SIMD، میتوانید این چهار عدد را به صورت موازی و در یک عملیات جمع کنید.
### کاربرد SIMD در SwissTable:
در SwissTable، از SIMD برای بهینهسازی عملیاتهایی مانند جستجو، درج و حذف استفاده میشود. به این صورت:
- جستجو: با استفاده از SIMD، میتوان چندین کلید را به طور همزمان بررسی کرد و سرعت جستجو را افزایش داد.
- درج و حذف: عملیاتهای مرتبط با مدیریت دادهها نیز میتوانند به صورت موازی انجام شوند.
### مزایای SIMD:
1. سرعت بیشتر: انجام عملیاتها به صورت موازی باعث کاهش زمان اجرا میشود.
2. بهینهسازی مصرف انرژی: با کاهش تعداد دستورالعملها، انرژی کمتری مصرف میشود.
3. کارایی بالا: به ویژه در عملیاتهای تکراری و محاسبات سنگین، کارایی سیستم افزایش مییابد.
### معایب SIMD:
1. پیچیدگی: برنامهنویسی با SIMD نیاز به دانش خاص و توجه به جزئیات دارد.
2. وابستگی به سختافزار: برای استفاده از SIMD، پردازنده باید از این قابلیت پشتیبانی کند.
در کل، SIMD یک تکنیک قدرتمند برای افزایش سرعت و کارایی در عملیاتهای موازی است و در SwissTable نیز از آن برای بهبود عملکرد
➖➖➖➖➖➖➖➖
https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
(یک دستورالعمل، چندین داده) است. این یک تکنیک پردازشی است که در معماری کامپیوتر استفاده میشود و به پردازنده اجازه میدهد تا یک عملیات را همزمان روی چندین داده اجرا کند. این کار باعث افزایش کارایی و سرعت پردازش، به ویژه در عملیاتهای موازی مانند محاسبات برداری یا ماتریسی، میشود.
### توضیح بیشتر:
- Single Instruction:
یک دستورالعمل واحد به پردازنده داده میشود.
- Multiple Data:
این دستورالعمل به طور همزمان روی چندین داده (مثلاً چندین عنصر در یک آرایه) اعمال میشود.
### مثال:
فرض کنید میخواهید چهار عدد را با هم جمع کنید. در حالت عادی، پردازنده باید چهار بار عملیات جمع را انجام دهد. اما با استفاده از SIMD، میتوانید این چهار عدد را به صورت موازی و در یک عملیات جمع کنید.
### کاربرد SIMD در SwissTable:
در SwissTable، از SIMD برای بهینهسازی عملیاتهایی مانند جستجو، درج و حذف استفاده میشود. به این صورت:
- جستجو: با استفاده از SIMD، میتوان چندین کلید را به طور همزمان بررسی کرد و سرعت جستجو را افزایش داد.
- درج و حذف: عملیاتهای مرتبط با مدیریت دادهها نیز میتوانند به صورت موازی انجام شوند.
### مزایای SIMD:
1. سرعت بیشتر: انجام عملیاتها به صورت موازی باعث کاهش زمان اجرا میشود.
2. بهینهسازی مصرف انرژی: با کاهش تعداد دستورالعملها، انرژی کمتری مصرف میشود.
3. کارایی بالا: به ویژه در عملیاتهای تکراری و محاسبات سنگین، کارایی سیستم افزایش مییابد.
### معایب SIMD:
1. پیچیدگی: برنامهنویسی با SIMD نیاز به دانش خاص و توجه به جزئیات دارد.
2. وابستگی به سختافزار: برای استفاده از SIMD، پردازنده باید از این قابلیت پشتیبانی کند.
در کل، SIMD یک تکنیک قدرتمند برای افزایش سرعت و کارایی در عملیاتهای موازی است و در SwissTable نیز از آن برای بهبود عملکرد
map استفاده شده است.➖➖➖➖➖➖➖➖
https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
Forwarded from SoniaCircuit (Sony)
الان سگارو آزاد شده
ولی پست هایی که میزنه هیچ شباهتی به سگارو قبلی نداره
ایا من دارم اشتباه میکنم یا اینکه یه نفر دیگه داره میاد تو ایکس فالس آلارم میده ؟
ولی پست هایی که میزنه هیچ شباهتی به سگارو قبلی نداره
ایا من دارم اشتباه میکنم یا اینکه یه نفر دیگه داره میاد تو ایکس فالس آلارم میده ؟
Forwarded from SoniaCircuit (Sony)
یه وب interface برای api توییتر انقدری ترسناک نیست که اینطور مطرح بشه
اون هم با اصطلاح برادرا و گونی.
اون هم با اصطلاح برادرا و گونی.
Forwarded from Geek Alerts
کوه تای (Mount Tai) توی شاندونگ چین به خاطر داشتن ۷۰۰۰ پله معروف هست، ویدیوهایی وایرال زیادی توی تیکتاک پیدا میکنید که آدمها دارن از یهجایی به بعد با دست و پا بالا میرن یا رو زمین بیهوش شدن.
بعد یه شرکت اومده پایین این پلهها پای رباتیک اجاره میده که بالا رفتن رو خیلی آسونتر میکنه، کرایش ۷۰ یوآن حدود ۹.۵ دلار هست و میگن ماه پیش ۲۰۰ نفر از این رباتها واسه بالا رفتن استفاده کردن.
وسیله ساخت یه شرکت فناوری توی شنزن به اسم Kenqing Technology هست و ۱.۸ کیلوگرم وزن داره که دور کمر و رون بسته میشه، باتریش ۵ ساعت دووم میاره، یکی از کسایی که استفاده کرده میگه حس میکنی یه نفر داره تورو از پلهها میکشه بالا.
این پاهای کمک کننده رباتیک فعلا تو فاز آزمایشی هستن ولی میخوان از ماه بعدی به تولید انبوه برسونن که احتمالا کشورهای دیگه هم در دسترس بشه. میگن خیلی هدفمون اینه برای هر کاری که پیادهروی زیاد یا بالا رفتن نیاز داره این رباتها کاربرد داشته باشه.
digitaltrends
📱 geekalerts
🤓 @geekalerts
بعد یه شرکت اومده پایین این پلهها پای رباتیک اجاره میده که بالا رفتن رو خیلی آسونتر میکنه، کرایش ۷۰ یوآن حدود ۹.۵ دلار هست و میگن ماه پیش ۲۰۰ نفر از این رباتها واسه بالا رفتن استفاده کردن.
وسیله ساخت یه شرکت فناوری توی شنزن به اسم Kenqing Technology هست و ۱.۸ کیلوگرم وزن داره که دور کمر و رون بسته میشه، باتریش ۵ ساعت دووم میاره، یکی از کسایی که استفاده کرده میگه حس میکنی یه نفر داره تورو از پلهها میکشه بالا.
این پاهای کمک کننده رباتیک فعلا تو فاز آزمایشی هستن ولی میخوان از ماه بعدی به تولید انبوه برسونن که احتمالا کشورهای دیگه هم در دسترس بشه. میگن خیلی هدفمون اینه برای هر کاری که پیادهروی زیاد یا بالا رفتن نیاز داره این رباتها کاربرد داشته باشه.
digitaltrends
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
اگر میخواید در مورد swiss map ها اطلاعات بیشتر داشته باشید این رفرنس ها به شما کمک می کندد
https://www.dolthub.com/blog/2023-03-28-swiss-map/
https://www.youtube.com/watch?v=JZE3_0qvrMg
https://abseil.io/about/design/swisstables
https://www.youtube.com/watch?v=ncHmEUmJZf4
http://graphics.stanford.edu/~seander/bithacks.html##ValueInWord
https://aras-p.info/blog/2016/08/09/More-Hash-Function-Tests/
https://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction/
➖➖➖➖➖➖➖➖
https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
https://www.dolthub.com/blog/2023-03-28-swiss-map/
https://www.youtube.com/watch?v=JZE3_0qvrMg
https://abseil.io/about/design/swisstables
https://www.youtube.com/watch?v=ncHmEUmJZf4
http://graphics.stanford.edu/~seander/bithacks.html##ValueInWord
https://aras-p.info/blog/2016/08/09/More-Hash-Function-Tests/
https://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction/
➖➖➖➖➖➖➖➖
https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
با پیشرفت روزافزون agent های کدنویسی هوش مصنوعی، مهندسان نرمافزار باید تواناییهای زیر را داشته باشند:
۱- توانایی بررسی سریع و دقیق کد نوشته شده توسط هوش مصنوعی
۲- توانایی توصیف مشکلات بهصورت واضح و کامل
۳- توانایی انجام همزمان چند کار و تغییر سریع بین زمینههای مختلف
خوب است که از حالا این مهارتها را تمرین کنید!
@DevTwitter | <Mehdi Allahyari/>
۱- توانایی بررسی سریع و دقیق کد نوشته شده توسط هوش مصنوعی
۲- توانایی توصیف مشکلات بهصورت واضح و کامل
۳- توانایی انجام همزمان چند کار و تغییر سریع بین زمینههای مختلف
خوب است که از حالا این مهارتها را تمرین کنید!
@DevTwitter | <Mehdi Allahyari/>
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
با گذاشتنِ http://r.jina.ai قبل از هر URL، محتوایِ اون صفحه رو به صورتِ مارکداون بهتون میده. مثلاً میتونید آخرین نسخهٔ مستنداتِ محصول رو به چتبات بدید تا جوابِ بهروز بده. اگر قبل از لینکِ یک PDF بگذارید متنش رو بهتون میده. رویِ بعضی از PDFهای فارسی هم کار میکنه.
@DevTwitter | <Ayub Kokabi/>
@DevTwitter | <Ayub Kokabi/>
Forwarded from جادی | Jadi
نظرتون چیه برای مدتی به شکل آزمایشی کامنتهای اینجا رو باز کنم؟ ببینیم چطور پیش میره و محتوای مفیدی برای همهمون اضافه میکنه یا نه.
Anonymous Poll
66%
موافقم، باز کنیم
18%
مخالفم، باز نکنیم
17%
نظری ندارم
Forwarded from دستاوردهای یادگیری عمیق(InTec)
چند روز قبل Elon Musk یک توییت زد که، Grok-3 بهترین AI ایی خواد بود که دیدید.
همینطوری که ملت در حالی خوشگذرانی با Gemini 2.0 Flash Thinking بودند (اتفاقاً خیلی از شرکتها هم رفتند سراغش بخصوص اونایی که در زمینه RAG کار میکنند)
نسخه Early Release مدل Grok-3 منتشر شد، و رتبه اول رو تا اینجا کار به خودش اختصاص داده
توی اکثر بنچمارکهای معروف مثل lmarena حتی اختلاف با مدل دوم حدود 20 امتیاز هست.
نظر کاربرا راجب این مدل هم بسیار مثبت هست.
پینوشت: توی تمام زمینههای lmarena رتبه اول رو داره این مدل (یادم رفت بگم)
همینطوری که ملت در حالی خوشگذرانی با Gemini 2.0 Flash Thinking بودند (اتفاقاً خیلی از شرکتها هم رفتند سراغش بخصوص اونایی که در زمینه RAG کار میکنند)
نسخه Early Release مدل Grok-3 منتشر شد، و رتبه اول رو تا اینجا کار به خودش اختصاص داده
توی اکثر بنچمارکهای معروف مثل lmarena حتی اختلاف با مدل دوم حدود 20 امتیاز هست.
نظر کاربرا راجب این مدل هم بسیار مثبت هست.
پینوشت: توی تمام زمینههای lmarena رتبه اول رو داره این مدل (یادم رفت بگم)
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
✅ انتخاب یک توزیع لینوکس ( #linux distro) مناسب برای شروع 😎
⁉️ بهترین توزیع گنو/لینوکس مناسب برای شروع ؟
🗓 جامعه :
نسخه لینوکسی که جامعه کاربری بزرکتری دارد یعنی فراوانی آموزش و رفع مشکلات بیشتر
🔥 مربی:
از اطرافیان شما #لینوکس کار هستند توزیع هایی که انها استفاده میکنند باعث میشود مشکلات شما زود تر حل شود
😎 تخصص :
چک کنید جامعه کاربری تخصص شما از کدام توزیع بیشتر استفاده میکند
🤩 نیاز خواسته:
ببینید از لینوکس چه میخواهید و نیاز شما چیست تمرکز جامعه روی نیاز شما است
💠 چند توزیع معروف که اگر سردرگم هستید فقط نصب کنید 😍
1️⃣مینت Linux Mint
2️⃣ابونتو Linux Ubuntu
3️⃣المنتری او-اس elementary OS
4️⃣منجارو Arch Manjaro
5️⃣فيدورا Fedora
⁉️ با چه توزیعی #linux شروع کردید ؟ الان با چی کار میکنید؟
⁉️ بهترین توزیع گنو/لینوکس مناسب برای شروع ؟
🗓 جامعه :
نسخه لینوکسی که جامعه کاربری بزرکتری دارد یعنی فراوانی آموزش و رفع مشکلات بیشتر
🔥 مربی:
از اطرافیان شما #لینوکس کار هستند توزیع هایی که انها استفاده میکنند باعث میشود مشکلات شما زود تر حل شود
😎 تخصص :
چک کنید جامعه کاربری تخصص شما از کدام توزیع بیشتر استفاده میکند
🤩 نیاز خواسته:
ببینید از لینوکس چه میخواهید و نیاز شما چیست تمرکز جامعه روی نیاز شما است
توصیه مهردادلینوکس:
در لینوکس دنبال ویندوز نگردید،کنترل پنلش کجاست درایو C کو ؟ رجیستری کجاست و ...
برای ویندوز وقت گذاشتید که تسلط دارید برای لینوکس هم باید وقت بگذارید
یک شبه نمیشه
از اشتباه کردن نترسید، ۱۰۰ بار ویندوز را خراب کردید دوباره نصب کردید
فقط شروع کنید ، اندروید گوشی یک لینوکسه ولی شما مسلط هستید
💠 چند توزیع معروف که اگر سردرگم هستید فقط نصب کنید 😍
1️⃣مینت Linux Mint
2️⃣ابونتو Linux Ubuntu
3️⃣المنتری او-اس elementary OS
4️⃣منجارو Arch Manjaro
5️⃣فيدورا Fedora
⁉️ با چه توزیعی #linux شروع کردید ؟ الان با چی کار میکنید؟
Forwarded from Ninja Learn | نینجا لرن
خب خب خب جلوگیری از Race Condition در جنگو با select_for_update 🔒🚀
توی این پست در مورد Race Condition صحبت کردیم و گفتیم چطور ممکنه چندتا درخواست همزمان بیان و دیتا رو خراب کنن. حالا بریم ببینیم جنگو چه ترفندهایی برای کنترل این مشکل داره و چطور میتونیم از select_for_update استفاده کنیم.
مشکل چیه؟ 🤔
فرض کن یه سیستم بانکی داری و کاربرا دارن پول جابهجا میکنن. حالا دو نفر همزمان میخوان از حسابشون پول بردارن و موجودی حساب فقط 100 تومنه. اگه این درخواستها بدون قفل کردن دیتا پردازش بشن، ممکنه هر دو برداشت موفق بشن و سیستم بدهکار بشه 😬
چطوری select_for_update مشکل رو حل میکنه؟ 🔐
وقتی از select_for_update استفاده میکنی، رکورد دیتابیس قفل میشه تا هیچ درخواست دیگهای نتونه همزمان تغییرش بده. این یعنی هر درخواستی که بعد از اولین درخواست بیاد، باید منتظر بمونه تا قفل آزاد بشه و بعد پردازش بشه.
مثال 1: جلوگیری از برداشت همزمان از حساب بانکی 🏦
✅ این کد مطمئن میشه که وقتی یه درخواست داره موجودی رو چک میکنه و کم میکنه، هیچ درخواست دیگهای همزمان وارد عمل نشه.
مثال 2: انتقال وجه بین دو حساب 💳
حالا یه چالش سختتر انتقال پول از یه حساب به حساب دیگه. باید هر دو حساب همزمان قفل بشن تا مشکلات همزمانی پیش نیاد.
✅ اینجا هر دو حساب رو قفل میکنیم تا حتی اگه دو درخواست انتقال پول به صورت همزمان بیاد، هیچکدوم نتونن وسط کار رو همدیگه تأثیر بذارن.
چندتا نکته 🚀
🔹 انتخاب نوع قفل (select_for_update(nowait=True))
اگه بخوای درخواستهای معطل رو سریع رد کنی، میتونی nowait=True بذاری که اگه رکورد قفل بود، درخواست جدید منتظر نمونه و مستقیم خطا بده.
☝️ این باعث میشه که اگه رکورد قفل باشه، جنگو بلافاصله یه DatabaseError بده و منتظر نمونه.
🔹 قفل کردن رکوردها بدون مسدود کردن خواندن (select_for_update(skip_locked=True))
اگه درخواستهای زیادی داری و نمیخوای که یک درخواست کل سیستم رو بلاک کنه، میتونی از skip_locked=True استفاده کنی که درخواستهای دیگه بتونن رکوردهای آزاد رو پردازش کنن.
☝️ این کار باعث میشه که اگه یه رکورد قفل بود، درخواست بیخیال اون رکورد بشه و فقط رکوردهایی که قفل نیستن رو انتخاب کنه.
🔹 مدیریت تایماوت قفل (set statement_timeout)
اگه نمیخوای که درخواستها مدت زیادی بلاک بشن، توی PostgreSQL میتونی یه تایماوت برای قفل تعیین کنی:
☝️ این یعنی اگه یه درخواست بیشتر از ۵ ثانیه قفل بمونه، بهش خطا داده میشه و میره بیرون.
جمعبندی ✍
select_for_update یکی از قویترین ابزارها برای جلوگیری از Race Condition توی جنگوئه. مهمترین نکاتش اینان:
✅ قفل کردن رکوردهای دیتابیس موقع آپدیت برای جلوگیری از دستکاری همزمان
✅ استفاده از nowait=True برای جلوگیری از انتظار بیش از حد
✅ استفاده از skip_locked=True برای رد کردن رکوردهای قفلشده و ادامه پردازش.
➖➖➖➖➖➖➖➖➖
توی این پست در مورد Race Condition صحبت کردیم و گفتیم چطور ممکنه چندتا درخواست همزمان بیان و دیتا رو خراب کنن. حالا بریم ببینیم جنگو چه ترفندهایی برای کنترل این مشکل داره و چطور میتونیم از select_for_update استفاده کنیم.
مشکل چیه؟ 🤔
فرض کن یه سیستم بانکی داری و کاربرا دارن پول جابهجا میکنن. حالا دو نفر همزمان میخوان از حسابشون پول بردارن و موجودی حساب فقط 100 تومنه. اگه این درخواستها بدون قفل کردن دیتا پردازش بشن، ممکنه هر دو برداشت موفق بشن و سیستم بدهکار بشه 😬
اینجا همون جاییه که select_for_update میاد وسط و دیتا رو از فاجعه نجات میده.
چطوری select_for_update مشکل رو حل میکنه؟ 🔐
وقتی از select_for_update استفاده میکنی، رکورد دیتابیس قفل میشه تا هیچ درخواست دیگهای نتونه همزمان تغییرش بده. این یعنی هر درخواستی که بعد از اولین درخواست بیاد، باید منتظر بمونه تا قفل آزاد بشه و بعد پردازش بشه.
مثال 1: جلوگیری از برداشت همزمان از حساب بانکی 🏦
from django.db import transaction
from myapp.models import Account
def withdraw_money(account_id, amount):
with transaction.atomic(): # شروع تراکنش
account = Account.objects.select_for_update().get(pk=account_id) # قفل کردن رکورد
if account.balance >= amount:
account.balance -= amount
account.save()
print("برداشت موفقیتآمیز بود!")
else:
print("موجودی کافی نیست!") # جلوگیری از برداشت بیش از حد
✅ این کد مطمئن میشه که وقتی یه درخواست داره موجودی رو چک میکنه و کم میکنه، هیچ درخواست دیگهای همزمان وارد عمل نشه.
مثال 2: انتقال وجه بین دو حساب 💳
حالا یه چالش سختتر انتقال پول از یه حساب به حساب دیگه. باید هر دو حساب همزمان قفل بشن تا مشکلات همزمانی پیش نیاد.
from django.db import transaction
from myapp.models import Account
def transfer_money(from_id, to_id, amount):
with transaction.atomic():
accounts = Account.objects.select_for_update().filter(pk__in=[from_id, to_id]).order_by("id")
sender = accounts[0]
receiver = accounts[1]
if sender.balance >= amount:
sender.balance -= amount
receiver.balance += amount
sender.save()
receiver.save()
print("انتقال وجه موفقیتآمیز بود!")
else:
print("موجودی کافی نیست!") # جلوگیری از انتقال اشتباه
✅ اینجا هر دو حساب رو قفل میکنیم تا حتی اگه دو درخواست انتقال پول به صورت همزمان بیاد، هیچکدوم نتونن وسط کار رو همدیگه تأثیر بذارن.
چندتا نکته 🚀
🔹 انتخاب نوع قفل (select_for_update(nowait=True))
اگه بخوای درخواستهای معطل رو سریع رد کنی، میتونی nowait=True بذاری که اگه رکورد قفل بود، درخواست جدید منتظر نمونه و مستقیم خطا بده.
account = Account.objects.select_for_update(nowait=True).get(pk=1)
☝️ این باعث میشه که اگه رکورد قفل باشه، جنگو بلافاصله یه DatabaseError بده و منتظر نمونه.
🔹 قفل کردن رکوردها بدون مسدود کردن خواندن (select_for_update(skip_locked=True))
اگه درخواستهای زیادی داری و نمیخوای که یک درخواست کل سیستم رو بلاک کنه، میتونی از skip_locked=True استفاده کنی که درخواستهای دیگه بتونن رکوردهای آزاد رو پردازش کنن.
account = Account.objects.select_for_update(skip_locked=True).get(pk=1)
☝️ این کار باعث میشه که اگه یه رکورد قفل بود، درخواست بیخیال اون رکورد بشه و فقط رکوردهایی که قفل نیستن رو انتخاب کنه.
🔹 مدیریت تایماوت قفل (set statement_timeout)
اگه نمیخوای که درخواستها مدت زیادی بلاک بشن، توی PostgreSQL میتونی یه تایماوت برای قفل تعیین کنی:
SET statement_timeout = '5s';
☝️ این یعنی اگه یه درخواست بیشتر از ۵ ثانیه قفل بمونه، بهش خطا داده میشه و میره بیرون.
جمعبندی ✍
select_for_update یکی از قویترین ابزارها برای جلوگیری از Race Condition توی جنگوئه. مهمترین نکاتش اینان:
✅ قفل کردن رکوردهای دیتابیس موقع آپدیت برای جلوگیری از دستکاری همزمان
✅ استفاده از nowait=True برای جلوگیری از انتظار بیش از حد
✅ استفاده از skip_locked=True برای رد کردن رکوردهای قفلشده و ادامه پردازش.
#️⃣ #python #programming #db
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
Forwarded from کانال مهرداد لینوکس
🔥 مناظرهٔ تاننباوم–توروالدز «LINUX منسوخ شده است»
🗓بین اندرو اس. تاننباوم، خالق سیستمعامل آموزشی مینیکس
🗓 و لینوس توروالدز، خالق هستهٔ لینوکس، بود.
💠این مناظره در گروه خبری Usenet به نام comp.os.minix در سال ۱۹۹۲ رخ داد
✅ موضوع سر معماری هستههای سیستمعامل، بهویژه مقایسهٔ هستههای یکپارچه (monolithic) و ریزهستهها (microkernel)، تمرکز داشت.
🔥 تاننباوم بحث را با استدلال اینکه طراحی هستهٔ یکپارچهٔ لینوکس از نظر مفهومی قدیمی و ریزهستهها به دلیل قابلیت حمل و پایداری، برتر هستند آغاز کرد
و گفت معماری پردازندههای x86 که لینوکس بر پایهٔ آن توسعه یافته، در آینده جای خود را به معماریهای RISC خواهد داد.
🔥 توروالدز در پاسخ، ضمن اذعان به مزایای نظری ریزهستهها، از تصمیم خود برای استفاده از هستهٔ یکپارچه دفاع کرد.
او اشاره کرد که مینیکس دارای محدودیتهایی مانند نبود پشتیبانی از چندنخی (multithreading) و هدف او از توسعهٔ لینوکس، ایجاد یک سیستمعامل کاربردی برای استفادهٔ شخصی بوده است.
✅ با گذشت زمان،
هر دو مدل هسته در حوزههای مختلف به کار گرفته شدند
منبع wikipedia
#linux
🗓بین اندرو اس. تاننباوم، خالق سیستمعامل آموزشی مینیکس
🗓 و لینوس توروالدز، خالق هستهٔ لینوکس، بود.
💠این مناظره در گروه خبری Usenet به نام comp.os.minix در سال ۱۹۹۲ رخ داد
✅ موضوع سر معماری هستههای سیستمعامل، بهویژه مقایسهٔ هستههای یکپارچه (monolithic) و ریزهستهها (microkernel)، تمرکز داشت.
🔥 تاننباوم بحث را با استدلال اینکه طراحی هستهٔ یکپارچهٔ لینوکس از نظر مفهومی قدیمی و ریزهستهها به دلیل قابلیت حمل و پایداری، برتر هستند آغاز کرد
و گفت معماری پردازندههای x86 که لینوکس بر پایهٔ آن توسعه یافته، در آینده جای خود را به معماریهای RISC خواهد داد.
🔥 توروالدز در پاسخ، ضمن اذعان به مزایای نظری ریزهستهها، از تصمیم خود برای استفاده از هستهٔ یکپارچه دفاع کرد.
او اشاره کرد که مینیکس دارای محدودیتهایی مانند نبود پشتیبانی از چندنخی (multithreading) و هدف او از توسعهٔ لینوکس، ایجاد یک سیستمعامل کاربردی برای استفادهٔ شخصی بوده است.
✅ با گذشت زمان،
هر دو مدل هسته در حوزههای مختلف به کار گرفته شدند
منبع wikipedia
#linux
Forwarded from Laravel News
Working with JSON Column Updates in Laravel https://laravel-news.com/json-column-updates
Laravel News
Working with JSON Column Updates in Laravel - Laravel News
Master Laravel's JSON column update capabilities using the arrow syntax. Learn to efficiently modify specific portions of JSON data in your database while maintaining data integrity and structure.
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
یه اکستنشن نوشتم برای جابهای لینکدین، خودش show more رو کلیک میکنه و لیست کلیدواژههایی که بهش میدی رو سبز یا قرمز میکنه. میشه سریعتر با یه نگاه متوجه شد جاب چقدر به مهارتهای آدم نزدیکه.
https://github.com/ArmanJR/LinkedIn-Job-Skills-Highlighter
@DevTwitter | <Arman/>
https://github.com/ArmanJR/LinkedIn-Job-Skills-Highlighter
@DevTwitter | <Arman/>
Forwarded from Python Hints
وقتی ChatGPT 3.5 معرفی شد گفتم که نیروهای جونیور بسیار کار سختی برای یافتن شغل خواهند داشت.
الان به اون وضعیت رسیده؛ طوری که نیروی جونیور توی خیلی از زمینهها تبدیل شده به سنگ جلوی پای نیروهای سنیور متاسفانه.
اما یک ویژگی خیلی خوب داشت وجود جونیورها؛ اونم معرفی استکهای جدید تکنولوژیهای بهتر و تکنیکهای بهبود یافته بود.
متأسفانه این موضوع توی ایران دیگه صادق نیست؛ ندیدم (از کسی هم نشنیدم) جونیوری که
با این وضعیت قطعاً موقعیتهای شغلی
الان به اون وضعیت رسیده؛ طوری که نیروی جونیور توی خیلی از زمینهها تبدیل شده به سنگ جلوی پای نیروهای سنیور متاسفانه.
اما یک ویژگی خیلی خوب داشت وجود جونیورها؛ اونم معرفی استکهای جدید تکنولوژیهای بهتر و تکنیکهای بهبود یافته بود.
متأسفانه این موضوع توی ایران دیگه صادق نیست؛ ندیدم (از کسی هم نشنیدم) جونیوری که
experiment های شخصی با ابزارهای مختلف که شاید مرسوم هم نباشند انجام داده باشه (علاوه بر استک اصلی) همگی همون استک اصلی رو یاد میگیرند و به محض استخدام دیگه حتی برای پیشرفت خودشون هم زحمت نمیکشند.با این وضعیت قطعاً موقعیتهای شغلی
Junior ها حذف خواهد شد؛ حتی در ایران.Forwarded from IRCF | اینترنت آزاد برای همه
اسکریپت راهاندازی تانل RTX-VPN، یک راهحل برای راهاندازی سرور L2TP/OpenVPN در کشورهایی با محدودیت اینترنت مثل ایران و چین هست.
ایناسکریپت با ایجاد یک تانل Reverse با استفاده از Xray-Core و Rathole، باعث میشه ترافیک L2TP/OpenVPN بهعنوان یک اتصال عادی دیده بشه و بهسادگی قابل شناسایی نباشه.
همچنین این روش امکان استفاده از اینترنت آزاد روی مودمها و دستگاههایی که نیاز به L2TP/OpenVPN دارن رو فراهم میکنه، درحالیکه اتصال کاربر امن باقی میمونه.
👉 github.com/Sir-MmD/RTX-VPN
🔍 ircf.space
@ircfspace
ایناسکریپت با ایجاد یک تانل Reverse با استفاده از Xray-Core و Rathole، باعث میشه ترافیک L2TP/OpenVPN بهعنوان یک اتصال عادی دیده بشه و بهسادگی قابل شناسایی نباشه.
همچنین این روش امکان استفاده از اینترنت آزاد روی مودمها و دستگاههایی که نیاز به L2TP/OpenVPN دارن رو فراهم میکنه، درحالیکه اتصال کاربر امن باقی میمونه.
👉 github.com/Sir-MmD/RTX-VPN
🔍 ircf.space
@ircfspace
Forwarded from ASafaeirad
YouTube
Is this the world's WEIRDEST Largest Contentful Paint element?
We take a look at a bizarre performance regression and investigate how the Largest Contentful metric is defined.
00:00 Initial clues
00:41 Change in the LCP element between tests
01:41 Investigating LCP development
02:37 Checking for changes in the image…
00:00 Initial clues
00:41 Change in the LCP element between tests
01:41 Investigating LCP development
02:37 Checking for changes in the image…