🔹 سمینار گنو/لینوکس: سفری به دنیای نرمافزارهای آزاد 👩💻
💥 گنو/لینوکس، دنیایی که همزمان ساده و پیشرفته است.
⚡️ در این سمینار به مفهوم نرمافزارهای آزاد، توزیعهای گنو/لینوکس، ابزارهای کاربردی و قابلیتهای بینهایت آنها میپردازیم. مسیری که هم به توسعه و هم به خلاقیت در استفاده از فناوری کمک میکند.
🔹 ارائهدهنده: علی مظلوم
🔹 زمان: سهشنبه ۴ دی ۱۴۰۳ - ساعت ۱۰
📍 صومعهسرا - سالن اجتماعات دانشکدهٔ میرزا کوچک
🌱 قرار نیست فقط بشنویم، بیایید کشف کنیم که چطور میشود ابزارهای پیشرفته را در کار و زندگی روزمره به کار گرفت.
منتظر حضور شما هستیم!
#رویداد
~> @PinkOrca🩷
💥 گنو/لینوکس، دنیایی که همزمان ساده و پیشرفته است.
⚡️ در این سمینار به مفهوم نرمافزارهای آزاد، توزیعهای گنو/لینوکس، ابزارهای کاربردی و قابلیتهای بینهایت آنها میپردازیم. مسیری که هم به توسعه و هم به خلاقیت در استفاده از فناوری کمک میکند.
🔹 ارائهدهنده: علی مظلوم
🔹 زمان: سهشنبه ۴ دی ۱۴۰۳ - ساعت ۱۰
📍 صومعهسرا - سالن اجتماعات دانشکدهٔ میرزا کوچک
🌱 قرار نیست فقط بشنویم، بیایید کشف کنیم که چطور میشود ابزارهای پیشرفته را در کار و زندگی روزمره به کار گرفت.
منتظر حضور شما هستیم!
#رویداد
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤2👍1🍾1
~> Rainbow Table Attack
رینبو تیبل اتک یکی از تکنیکهای معروف کرک کردن پسورد هستش که از جداول پیشساخته هش استفاده میکنه. این حمله در سال ۲۰۰۳ توسط Philippe Oechslin معرفی شد و اسمش رو از جداول رنگینکمانی گرفته که توش از زنجیرههای مختلف هش استفاده میشه.
این تکنیک در واقع نسخهٔ بهینهشدهٔ حملههای دیکشنری هستش. توی رینبو اتک، هکر از قبل یک دیتابیس بزرگ از هشهای محاسبه شده درست میکنه که بهش Rainbow Table میگن. این جدولها شامل پسوردهای ممکن و هش اونها هستن که با الگوریتمهای مختلف مثل MD5، SHA-1 یا NTLM ساخته شدن.
مکانیزم کار به این شکل هستش که وقتی هکر به یک هش پسورد دسترسی پیدا میکنه، به جای اینکه بخواد هر بار هش جدید محاسبه کنه، توی این جدولهای از پیش آماده دنبال مچ میگرده. این کار سرعت حمله رو به شدت بالا میبره چون عملیات سنگین هش کردن از قبل انجام شده.
نکته مهم اینه که سایز این جدولها خیلی بزرگ میشه. مثلاً یک رینبو تیبل برای پسوردهای ۸ کاراکتری با کاراکترهای ASCII میتونه تا چند صد گیگابایت حجم داشته باشه. برای همین معمولاً هکرها از تکنیکهای فشردهسازی و بهینهسازی استفاده میکنن.
برای دفاع در برابر این حمله، معمولاً از salt استفاده میشه. salt یک رشته رندوم هستش که موقع هش کردن به پسورد اضافه میشه. این کار باعث میشه که حتی اگه دو نفر پسورد یکسان داشته باشن، هشهای متفاوتی تولید بشه. همچنین وجود salt باعث میشه که رینبو تیبلهای از پیش ساخته شده کارایی نداشته باشن.
الگوریتمهای مدرن هش مثل bcrypt و Argon2 به صورت اتوماتیک از salt استفاده میکنن و طوری طراحی شدن که در برابر رینبو تیبل اتک مقاوم باشن. این الگوریتمها از تکنیک key stretching استفاده میکنن که باعث میشه محاسبه هش زمانبر بشه و ساخت رینبو تیبلها عملاً غیرممکن بشه.
یکی از محدودیتهای جدی رینبو تیبل اتک اینه که فقط روی پسوردهایی که توی جدول موجود باشن کار میکنه. پس اگه یک پسورد پیچیده یا خیلی طولانی استفاده بشه که توی جدول نباشه، حمله شکست میخوره.
#نوشته #هک_و_امنیت
~> @PinkOrca🩷
رینبو تیبل اتک یکی از تکنیکهای معروف کرک کردن پسورد هستش که از جداول پیشساخته هش استفاده میکنه. این حمله در سال ۲۰۰۳ توسط Philippe Oechslin معرفی شد و اسمش رو از جداول رنگینکمانی گرفته که توش از زنجیرههای مختلف هش استفاده میشه.
این تکنیک در واقع نسخهٔ بهینهشدهٔ حملههای دیکشنری هستش. توی رینبو اتک، هکر از قبل یک دیتابیس بزرگ از هشهای محاسبه شده درست میکنه که بهش Rainbow Table میگن. این جدولها شامل پسوردهای ممکن و هش اونها هستن که با الگوریتمهای مختلف مثل MD5، SHA-1 یا NTLM ساخته شدن.
مکانیزم کار به این شکل هستش که وقتی هکر به یک هش پسورد دسترسی پیدا میکنه، به جای اینکه بخواد هر بار هش جدید محاسبه کنه، توی این جدولهای از پیش آماده دنبال مچ میگرده. این کار سرعت حمله رو به شدت بالا میبره چون عملیات سنگین هش کردن از قبل انجام شده.
نکته مهم اینه که سایز این جدولها خیلی بزرگ میشه. مثلاً یک رینبو تیبل برای پسوردهای ۸ کاراکتری با کاراکترهای ASCII میتونه تا چند صد گیگابایت حجم داشته باشه. برای همین معمولاً هکرها از تکنیکهای فشردهسازی و بهینهسازی استفاده میکنن.
برای دفاع در برابر این حمله، معمولاً از salt استفاده میشه. salt یک رشته رندوم هستش که موقع هش کردن به پسورد اضافه میشه. این کار باعث میشه که حتی اگه دو نفر پسورد یکسان داشته باشن، هشهای متفاوتی تولید بشه. همچنین وجود salt باعث میشه که رینبو تیبلهای از پیش ساخته شده کارایی نداشته باشن.
الگوریتمهای مدرن هش مثل bcrypt و Argon2 به صورت اتوماتیک از salt استفاده میکنن و طوری طراحی شدن که در برابر رینبو تیبل اتک مقاوم باشن. این الگوریتمها از تکنیک key stretching استفاده میکنن که باعث میشه محاسبه هش زمانبر بشه و ساخت رینبو تیبلها عملاً غیرممکن بشه.
یکی از محدودیتهای جدی رینبو تیبل اتک اینه که فقط روی پسوردهایی که توی جدول موجود باشن کار میکنه. پس اگه یک پسورد پیچیده یا خیلی طولانی استفاده بشه که توی جدول نباشه، حمله شکست میخوره.
#نوشته #هک_و_امنیت
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍8❤3
~> The Substance 2024
یک فیلم درام - دلهرهآور - علمی تخیلی
مدتها بود چنین فیلم متفاوتی ندیده بودم و اصلا انتظارش رو نداشتم، اونم به عنوان یه فیلمِ جدید!
یه جاهایی هم رفرنسهایی به چند اثر مطرح داشت که برام جالب بود👍
به شخصه اصلا سوادِ سینما ندارم و نمیدونم که دیدگاه منتقدین سینما چیه در موردش، دقایقی قبل تماشای این فیلم به پایان رسید و حتی هنوز چیزی هم از دستاوردهایی که کسب کرده و... نمیدونم، اما به نظر خودم خوب و خاص بود.
جدا از ریت R بودنش، در صورت حساس بودن به یکسری صحنهها ترجیحا تماشا نکنید (حتی اگه شرایط سنی مناسبی هم دارید)، وگرنه که پیشنهاد میکنم.
#فیلم #متفرقه #حرف_با_شما
~> @PinkOrca🩷
یک فیلم درام - دلهرهآور - علمی تخیلی
مدتها بود چنین فیلم متفاوتی ندیده بودم و اصلا انتظارش رو نداشتم، اونم به عنوان یه فیلمِ جدید!
یه جاهایی هم رفرنسهایی به چند اثر مطرح داشت که برام جالب بود👍
به شخصه اصلا سوادِ سینما ندارم و نمیدونم که دیدگاه منتقدین سینما چیه در موردش، دقایقی قبل تماشای این فیلم به پایان رسید و حتی هنوز چیزی هم از دستاوردهایی که کسب کرده و... نمیدونم، اما به نظر خودم خوب و خاص بود.
جدا از ریت R بودنش، در صورت حساس بودن به یکسری صحنهها ترجیحا تماشا نکنید (حتی اگه شرایط سنی مناسبی هم دارید)، وگرنه که پیشنهاد میکنم.
#فیلم #متفرقه #حرف_با_شما
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2👎2🔥1
~> دامنهٔ رایگان
⚡️ تو namecheap.com که نیاز به معرفی نداره، میتونید با کد تخفیف
اگر اکانت ندارید یا قصد ساخت چند اکانت برای چند دامنه دارید، برای ثبتنام میتونید از هویتهای فیک استفاده کنید، مثلا با این fakerهای آنلاین ایجاد کنید... خودتون دیگه بلدین🥴
پ.ن:
این خبر بمب رو دوستمون آقا امین تو گروه فرستاد و گفتم شما رو هم در جریان بذارم🔥
#شبکه #معرفی #ترفند
~> @PinkOrca🩷
⚡️ تو namecheap.com که نیاز به معرفی نداره، میتونید با کد تخفیف
freedom24 به شکل کاملا رایگان دامنه .news برای یکسال تهیه کنید که تو حالت عادی تقریبا ۳۰ دلار قیمتش بود...اگر اکانت ندارید یا قصد ساخت چند اکانت برای چند دامنه دارید، برای ثبتنام میتونید از هویتهای فیک استفاده کنید، مثلا با این fakerهای آنلاین ایجاد کنید... خودتون دیگه بلدین🥴
پ.ن:
این خبر بمب رو دوستمون آقا امین تو گروه فرستاد و گفتم شما رو هم در جریان بذارم🔥
#شبکه #معرفی #ترفند
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3👎1
~> Gapless 🎵
چند وقت پیشا یه پخشکنندهٔ موسیقی معرفی کرده بودم که با وجود زیبایی و صرفا داشتن امکانات مورد نیاز و نه اضافه، یه سری ایرادات داشت... که پستش رو پاک کردم. همون روز سهراب این پلیر Gapless رو بهم معرفی کرده بود و امتحانش کردم و خلاصه راضی بودم و هنوز هم استفادش میکنم ازش.
⚙️ راستی من از AUR نصبش کردم (پکیج
🔗 صفحهٔ گیتهاب
#معرفی #لینوکس
~> @PinkOrca 🩷
چند وقت پیشا یه پخشکنندهٔ موسیقی معرفی کرده بودم که با وجود زیبایی و صرفا داشتن امکانات مورد نیاز و نه اضافه، یه سری ایرادات داشت... که پستش رو پاک کردم. همون روز سهراب این پلیر Gapless رو بهم معرفی کرده بود و امتحانش کردم و خلاصه راضی بودم و هنوز هم استفادش میکنم ازش.
⚙️ راستی من از AUR نصبش کردم (پکیج
g4music-git )🔗 صفحهٔ گیتهاب
#معرفی #لینوکس
~> @PinkOrca 🩷
👍9⚡2
Pink Orca | پینک اورکا
با Telemetrio به بزرگترین کاتالوگ کانالهای تلگرام دسترسی داشته باشید و از امکانات جذابی که در اختیارتون میذاره، از جمله تحلیل دقیق چنلها استفاده کنید. 🔗 Telemetr.io پ.ن: گاهی وقتا هم هست که برای هدف خاصی نیاز به گشتن در تاریخچهٔ یک چنل دارید، این ابزار…
ظاهرا به طور میانگین افت داشتیم💀
بیشتر بخاطر کمکاریای خودمه... خلاصه مرسی که تو ۲۰۲۴ هم همراه من بودین✨
#telemetrio2024
پ.ن: تعداد پستهایی که گذاشتم تو یک سال گذشته از این رقم کمتره احتمالا و این آمار با توجه به crawl کردن تمام فعالیتها از جمله پستهای موقت و ... بوده.
#حرف_با_شما
~> @PinkOrca🩷
بیشتر بخاطر کمکاریای خودمه... خلاصه مرسی که تو ۲۰۲۴ هم همراه من بودین✨
#telemetrio2024
پ.ن: تعداد پستهایی که گذاشتم تو یک سال گذشته از این رقم کمتره احتمالا و این آمار با توجه به crawl کردن تمام فعالیتها از جمله پستهای موقت و ... بوده.
#حرف_با_شما
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16⚡3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
parallel -k ffprobe -v quiet -select_streams v:0 -show_entries format=duration -of csv=p=0 ::: *.mp4 | awk '{sum+=$1} END {printf "Average duration: %.2f seconds (%.2f minutes)\n", sum/NR, (sum/NR)/60}'به همین سادگی😁
پ.ن:
چند وقت یهبار اینطور چیزا رو پست میکنم که فراموش نکنیم کارا چقدر تو کامندلاین میتونن سادهتر باشن
#ترفند #لینوکس
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡11🍾5👍4
درگیریِ مگنس و FIDE سر شلوار جین!
مگنس کارلسن، قهرمان پنج دوره شطرنج جهان، توی مسابقات قهرمانی شطرنج رپید و بلیتز جهان ۲۰۲۴ با یه اتفاق عجیب روبرو شد. داستان از اونجا شروع شد که کارلسن روز دوم مسابقات با شلوار جین اومد نیویورک و این خلاف قوانین FIDE بود.
کارلسن که روز اول عملکرد خوبی نداشت، روز دوم تونست ۵ امتیاز از ۸ بازی به دست بیاره. ولی داوران بهش تذکر دادن که شلوار جین مجاز نیست. اول بهش جریمه دادن و بعد گفتن باید همون موقع شلوارش رو عوض کنه، وگرنه نمیتونه بازی کنه. کارلسن که ظاهراً حتی کفشهاش رو عوض کرده بود ولی به شلوار جین توجه نکرده بود، گفت فردا شلوارش رو عوض میکنه. ولی داورها قبول نکردن.
این قضیه باعث شد کارلسن از دور نهم مسابقات کنار گذاشته بشه. کارلسن که از این برخورد FIDE عصبانی شده بود، تصمیم گرفت از مسابقات بلیتز که قرار بود یکشنبه برگزار بشه هم انصراف بده. حتی توی توییتر عکس شلوار جینش رو گذاشت و به FIDE گفت "به درک که قوانینتون رو اجرا میکنین".
امیل سوتوفسکی، مدیرعامل FIDE توضیح داد که کارلسن اخراج نشده و فقط از دور نهم کنار گذاشته شده. یعنی میتونست برگرده و بازی کنه، ولی خودش نخواست. جالبه که فقط کارلسن نبود که درگیر این قضیه شد. ایان نپومنیاچی، نایب قهرمان دو دوره جهان هم ۲۰۰ دلار جریمه شد ولی برخوردش با قضیه متفاوت بود و حتی شوخی کرد که امیدواره این پول صرف تحقیقات مد شطرنج بشه!
این اتفاق توی تاریخ شطرنج کمسابقه بوده. مگنس کارلسن که از ۲۰۱۳ تا ۲۰۲۳ قهرمان شطرنج کلاسیک جهان بود و هنوز هم بالاترین ریتینگ تاریخ شطرنج رو داره (۲۸۸۲)، همیشه منتقد FIDE بوده. این اتفاق باعث شد رابطهش با FIDE بدتر بشه. البته قوانین FIDE درباره لباس خیلی واضحه و جین رو ممنوع کرده، ولی سختگیری درباره عوض کردن فوری شلوار چیزی بود که کارلسن رو عصبانی کرد.
#شطرنج #نوشته
~> @PinkOrca🩷
مگنس کارلسن، قهرمان پنج دوره شطرنج جهان، توی مسابقات قهرمانی شطرنج رپید و بلیتز جهان ۲۰۲۴ با یه اتفاق عجیب روبرو شد. داستان از اونجا شروع شد که کارلسن روز دوم مسابقات با شلوار جین اومد نیویورک و این خلاف قوانین FIDE بود.
کارلسن که روز اول عملکرد خوبی نداشت، روز دوم تونست ۵ امتیاز از ۸ بازی به دست بیاره. ولی داوران بهش تذکر دادن که شلوار جین مجاز نیست. اول بهش جریمه دادن و بعد گفتن باید همون موقع شلوارش رو عوض کنه، وگرنه نمیتونه بازی کنه. کارلسن که ظاهراً حتی کفشهاش رو عوض کرده بود ولی به شلوار جین توجه نکرده بود، گفت فردا شلوارش رو عوض میکنه. ولی داورها قبول نکردن.
این قضیه باعث شد کارلسن از دور نهم مسابقات کنار گذاشته بشه. کارلسن که از این برخورد FIDE عصبانی شده بود، تصمیم گرفت از مسابقات بلیتز که قرار بود یکشنبه برگزار بشه هم انصراف بده. حتی توی توییتر عکس شلوار جینش رو گذاشت و به FIDE گفت "به درک که قوانینتون رو اجرا میکنین".
امیل سوتوفسکی، مدیرعامل FIDE توضیح داد که کارلسن اخراج نشده و فقط از دور نهم کنار گذاشته شده. یعنی میتونست برگرده و بازی کنه، ولی خودش نخواست. جالبه که فقط کارلسن نبود که درگیر این قضیه شد. ایان نپومنیاچی، نایب قهرمان دو دوره جهان هم ۲۰۰ دلار جریمه شد ولی برخوردش با قضیه متفاوت بود و حتی شوخی کرد که امیدواره این پول صرف تحقیقات مد شطرنج بشه!
این اتفاق توی تاریخ شطرنج کمسابقه بوده. مگنس کارلسن که از ۲۰۱۳ تا ۲۰۲۳ قهرمان شطرنج کلاسیک جهان بود و هنوز هم بالاترین ریتینگ تاریخ شطرنج رو داره (۲۸۸۲)، همیشه منتقد FIDE بوده. این اتفاق باعث شد رابطهش با FIDE بدتر بشه. البته قوانین FIDE درباره لباس خیلی واضحه و جین رو ممنوع کرده، ولی سختگیری درباره عوض کردن فوری شلوار چیزی بود که کارلسن رو عصبانی کرد.
#شطرنج #نوشته
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
echo $((اینجا عبارت رو بذارید))
پ.ن:
ماشینحسابهای CLI و GUI جالب زیادی هم وجود داره ولی بدرد اکثرمون نمیخورن، میتونیم با همینا کارمون رو راه بندازیم.
#ترفند #لینوکس
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1🔥1🤣1
~> qalc
برخلاف ماشینحسابهای معمولی، qalc از یک موتور محاسباتی پیشرفته استفاده میکنه که میتونه عملیاتهای پیچیده ریاضی رو انجام بده. این برنامه از CAS (Computer Algebra System) برای محاسبات نمادین استفاده میکنه که باعث میشه بتونه معادلات پیچیده رو حل کنه و با متغیرها کار کنه.
یکی از ویژگیهای کلیدی qalc، پشتیبانی از بیش از ۱۰۰۰ واحد اندازهگیری و توانایی تبدیل اتوماتیک بین اونهاست. این برنامه همچنین میتونه نرخ ارزها رو به صورت آنلاین آپدیت کنه و محاسبات مالی انجام بده.
از نظر تکنیکی، qalc از یک پارسر پیشرفته استفاده میکنه که میتونه عبارتهای ریاضی رو به صورت طبیعی تشخیص بده. مثلاً میتونید عبارت "five meters plus two centimeters" رو وارد کنید و برنامه اون رو میفهمه و محاسبه میکنه.
قابلیتهای پیشرفته qalc شامل:
- محاسبات برداری و ماتریسی
- کار با اعداد مختلط
- توابع مثلثاتی و هایپربولیک
- محاسبات با دقت بالا (arbitrary-precision)
- تشخیص هوشمند واحدها و تبدیل خودکار
- پشتیبانی از توابع RPN (Reverse Polish Notation)
- کار با فاکتوریلها و ترکیبیات
- محاسبات آماری و احتمالات
این برنامه قابلیت کانفیگ گستردهای داره و میشه تنظیمات مختلفی مثل دقت اعشار، فرمت نمایش اعداد، واحدهای پیشفرض و حتی متغیرهای کاربری رو تغییر داد. همه این تنظیمات در فایلهای کانفیگ ذخیره میشن و میشه اونها رو بین سیستمهای مختلف منتقل کرد.
یکی از نکات جالب در مورد qalc اینه که از پردازش زبان طبیعی برای تشخیص دستورات استفاده میکنه. این قابلیت باعث میشه کاربرها بتونن دستورات رو به زبان انگلیسی ساده وارد کنن و برنامه اونها رو به عملیات ریاضی تبدیل کنه.
از نظر عملکرد، qalc از الگوریتمهای بهینهشده برای محاسبات استفاده میکنه و حتی برای محاسبات پیچیده، سرعت قابل قبولی داره. این برنامه همچنین میتونه به عنوان یک کتابخونه در برنامههای دیگه استفاده بشه و API کاملی برای این منظور ارائه میده.
⚙️ برای داشتنش هم کافیه با پکیج منیجرتون
✨ مرسی از علیرضا برای پیشنهادش
#معرفی #لینوکس #ریاضی
~> @PinkOrca🩷
qalc یک ابزار قدرتمند محاسباتی هستش که به عنوان یک پروژه اپنسورس توسط Hanna Knutsson توسعه داده شده. این برنامه بخشی از کتابخونه libqalculate هستش که از سال ۲۰۰۳ شروع به توسعه شده و تا امروز به طور مداوم آپدیت میشه.برخلاف ماشینحسابهای معمولی، qalc از یک موتور محاسباتی پیشرفته استفاده میکنه که میتونه عملیاتهای پیچیده ریاضی رو انجام بده. این برنامه از CAS (Computer Algebra System) برای محاسبات نمادین استفاده میکنه که باعث میشه بتونه معادلات پیچیده رو حل کنه و با متغیرها کار کنه.
یکی از ویژگیهای کلیدی qalc، پشتیبانی از بیش از ۱۰۰۰ واحد اندازهگیری و توانایی تبدیل اتوماتیک بین اونهاست. این برنامه همچنین میتونه نرخ ارزها رو به صورت آنلاین آپدیت کنه و محاسبات مالی انجام بده.
از نظر تکنیکی، qalc از یک پارسر پیشرفته استفاده میکنه که میتونه عبارتهای ریاضی رو به صورت طبیعی تشخیص بده. مثلاً میتونید عبارت "five meters plus two centimeters" رو وارد کنید و برنامه اون رو میفهمه و محاسبه میکنه.
قابلیتهای پیشرفته qalc شامل:
- محاسبات برداری و ماتریسی
- کار با اعداد مختلط
- توابع مثلثاتی و هایپربولیک
- محاسبات با دقت بالا (arbitrary-precision)
- تشخیص هوشمند واحدها و تبدیل خودکار
- پشتیبانی از توابع RPN (Reverse Polish Notation)
- کار با فاکتوریلها و ترکیبیات
- محاسبات آماری و احتمالات
این برنامه قابلیت کانفیگ گستردهای داره و میشه تنظیمات مختلفی مثل دقت اعشار، فرمت نمایش اعداد، واحدهای پیشفرض و حتی متغیرهای کاربری رو تغییر داد. همه این تنظیمات در فایلهای کانفیگ ذخیره میشن و میشه اونها رو بین سیستمهای مختلف منتقل کرد.
یکی از نکات جالب در مورد qalc اینه که از پردازش زبان طبیعی برای تشخیص دستورات استفاده میکنه. این قابلیت باعث میشه کاربرها بتونن دستورات رو به زبان انگلیسی ساده وارد کنن و برنامه اونها رو به عملیات ریاضی تبدیل کنه.
از نظر عملکرد، qalc از الگوریتمهای بهینهشده برای محاسبات استفاده میکنه و حتی برای محاسبات پیچیده، سرعت قابل قبولی داره. این برنامه همچنین میتونه به عنوان یک کتابخونه در برنامههای دیگه استفاده بشه و API کاملی برای این منظور ارائه میده.
⚙️ برای داشتنش هم کافیه با پکیج منیجرتون
libqalculate رو نصب کنید.✨ مرسی از علیرضا برای پیشنهادش
#معرفی #لینوکس #ریاضی
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2⚡1
سال خوبی داشته باشید❤️
2025/01/01 CE
پ.ن: ایده بهتری ندارم، پارسال هم همینطوری تبریک گفتم😂
#متفرقه #حرف_با_شما
~> @PinkOrca🩷
2025/01/01 CE
پ.ن: ایده بهتری ندارم، پارسال هم همینطوری تبریک گفتم😂
#متفرقه #حرف_با_شما
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣12❤6👎1
👩💻 👩💻 👩💻 👩💻 👩💻 👩💻 👩💻
مرورگرهای وب چطور کار میکنن؟
مرورگر وب یک نرمافزار پیچیدهست که وظیفه اصلیش دریافت اطلاعات از وب سرورها و نمایش اونها روی صفحه کامپیوتر یا موبایل کاربره. این پروسه خیلی پیچیدهتر از چیزیه که به نظر میرسه.
وقتی یک URL رو وارد میکنی، مرورگر اول باید IP سرور رو پیدا کنه. برای این کار از DNS استفاده میکنه که مثل یک دفترچه تلفن میمونه و آدرسهای وب رو به IP تبدیل میکنه. مثلاً وقتی example.com رو مینویسی، مرورگر از DNS میپرسه که IP این دامنه چنده.
بعد از پیدا کردن IP، مرورگر یک درخواست HTTP یا HTTPS به سرور میفرسته. این درخواست شامل اطلاعات مختلفی مثل نوع مرورگر، سیستمعامل و هدرهای دیگه هستش. اگه از HTTPS استفاده بشه، یک لایه امنیتی SSL/TLS هم اضافه میشه که اطلاعات رو رمزنگاری میکنه.
سرور جواب میده و فایلهای HTML، CSS و JavaScript رو میفرسته. حالا مرورگر باید این فایلها رو پردازش کنه. اول HTML رو میخونه و یک DOM Tree میسازه. DOM Tree در واقع ساختار صفحه رو نشون میده. همزمان CSS رو هم پردازش میکنه و CSSOM میسازه که استایلهای صفحه رو مشخص میکنه.
موتور رندر مرورگر (مثلاً Blink در کروم یا Gecko در فایرفاکس) DOM و CSSOM رو با هم ترکیب میکنه و Render Tree میسازه. Render Tree فقط المانهایی رو شامل میشه که باید نمایش داده بشن. مثلاً المانهای
بعد از ساخت Render Tree، مرورگر Layout رو انجام میده که مشخص میکنه هر المان کجای صفحه قرار بگیره و چقدر فضا اشغال کنه. آخرین مرحله هم Paint هستش که المانها رو روی صفحه میکشه.
JavaScript هم توی این بین اجرا میشه و میتونه DOM رو تغییر بده. موتور JavaScript (مثل V8 در کروم) کد رو اجرا میکنه و تغییرات رو اعمال میکنه. هر تغییری در DOM ممکنه باعث بشه مرورگر دوباره Layout و Paint رو انجام بده که به این فرآیند Reflow میگن.
مرورگرها برای سریعتر کار کردن از تکنیکهای مختلفی استفاده میکنن. مثلاً کروم برای هر تب یک پراسس جدا میسازه تا اگه یک تب کرش کرد، بقیه تبها کار کنن. همچنین از GPU برای شتابدهی گرافیکی استفاده میکنن و فایلهای استاتیک رو توی کش ذخیره میکنن تا سریعتر لود بشن.
آخرین بخش مهم، وب APIs هستن که به جاوااسکریپت اجازه میدن با سیستمعامل و دستگاه تعامل داشته باشه. مثلاً WebRTC برای تماس تصویری، WebGL برای گرافیک ۳ بعدی و WebAssembly برای اجرای کد با سرعت بالا استفاده میشن.
#علوم_کامپیوتر #نوشته #شبکه
~> @PinkOrca🩷
مرورگرهای وب چطور کار میکنن؟
مرورگر وب یک نرمافزار پیچیدهست که وظیفه اصلیش دریافت اطلاعات از وب سرورها و نمایش اونها روی صفحه کامپیوتر یا موبایل کاربره. این پروسه خیلی پیچیدهتر از چیزیه که به نظر میرسه.
وقتی یک URL رو وارد میکنی، مرورگر اول باید IP سرور رو پیدا کنه. برای این کار از DNS استفاده میکنه که مثل یک دفترچه تلفن میمونه و آدرسهای وب رو به IP تبدیل میکنه. مثلاً وقتی example.com رو مینویسی، مرورگر از DNS میپرسه که IP این دامنه چنده.
بعد از پیدا کردن IP، مرورگر یک درخواست HTTP یا HTTPS به سرور میفرسته. این درخواست شامل اطلاعات مختلفی مثل نوع مرورگر، سیستمعامل و هدرهای دیگه هستش. اگه از HTTPS استفاده بشه، یک لایه امنیتی SSL/TLS هم اضافه میشه که اطلاعات رو رمزنگاری میکنه.
سرور جواب میده و فایلهای HTML، CSS و JavaScript رو میفرسته. حالا مرورگر باید این فایلها رو پردازش کنه. اول HTML رو میخونه و یک DOM Tree میسازه. DOM Tree در واقع ساختار صفحه رو نشون میده. همزمان CSS رو هم پردازش میکنه و CSSOM میسازه که استایلهای صفحه رو مشخص میکنه.
موتور رندر مرورگر (مثلاً Blink در کروم یا Gecko در فایرفاکس) DOM و CSSOM رو با هم ترکیب میکنه و Render Tree میسازه. Render Tree فقط المانهایی رو شامل میشه که باید نمایش داده بشن. مثلاً المانهای
display: none توش نیستن.بعد از ساخت Render Tree، مرورگر Layout رو انجام میده که مشخص میکنه هر المان کجای صفحه قرار بگیره و چقدر فضا اشغال کنه. آخرین مرحله هم Paint هستش که المانها رو روی صفحه میکشه.
JavaScript هم توی این بین اجرا میشه و میتونه DOM رو تغییر بده. موتور JavaScript (مثل V8 در کروم) کد رو اجرا میکنه و تغییرات رو اعمال میکنه. هر تغییری در DOM ممکنه باعث بشه مرورگر دوباره Layout و Paint رو انجام بده که به این فرآیند Reflow میگن.
مرورگرها برای سریعتر کار کردن از تکنیکهای مختلفی استفاده میکنن. مثلاً کروم برای هر تب یک پراسس جدا میسازه تا اگه یک تب کرش کرد، بقیه تبها کار کنن. همچنین از GPU برای شتابدهی گرافیکی استفاده میکنن و فایلهای استاتیک رو توی کش ذخیره میکنن تا سریعتر لود بشن.
آخرین بخش مهم، وب APIs هستن که به جاوااسکریپت اجازه میدن با سیستمعامل و دستگاه تعامل داشته باشه. مثلاً WebRTC برای تماس تصویری، WebGL برای گرافیک ۳ بعدی و WebAssembly برای اجرای کد با سرعت بالا استفاده میشن.
#علوم_کامپیوتر #نوشته #شبکه
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥5❤4
~> Oh Shit, Git!?!
گیت سخته: امکان اشتباه زیاده و فهمیدن اینکه چطوری میشه درستش کرد غیرممکنه. راهنمای گیت مشکل معروف مرغ و تخم مرغ رو داره وقتی که نمیدونی چی جستجو کنی که خودتو از منجلاب نجات بدی، مگه این که اسم اون چیزی که دنبالش هستی رو بدونی.
بنابراین اینجا چند مورد از موقعیتهای بدی که نویسنده دچارش شده بود رو براتون گذاشته، و روش اینکه چطوری در نهایت از پس اونا بر اومده، به زبان فارسی.
🔗 مطالعه نوشته
🔗 صفحه گیتهاب
پ.ن:
توضیحات کپشن از خود وبسایت OhShitGit کپی شده...
#گیت #ترفند #میم #فان #راهنما #معرفی
~> @PinkOrca🩷
گیت سخته: امکان اشتباه زیاده و فهمیدن اینکه چطوری میشه درستش کرد غیرممکنه. راهنمای گیت مشکل معروف مرغ و تخم مرغ رو داره وقتی که نمیدونی چی جستجو کنی که خودتو از منجلاب نجات بدی، مگه این که اسم اون چیزی که دنبالش هستی رو بدونی.
بنابراین اینجا چند مورد از موقعیتهای بدی که نویسنده دچارش شده بود رو براتون گذاشته، و روش اینکه چطوری در نهایت از پس اونا بر اومده، به زبان فارسی.
🔗 مطالعه نوشته
🔗 صفحه گیتهاب
پ.ن:
توضیحات کپشن از خود وبسایت OhShitGit کپی شده...
#گیت #ترفند #میم #فان #راهنما #معرفی
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤2👎2🤣2💔1
چشمانداز سال ۲۰۲۵ در حوزه تکنولوژی و نرمافزار
🔗 Source
#تکنولوژی #اخبار_تکنولوژی #نوشته
~> @PinkOrca🩷
سال ۲۰۲۵ قراره تغییرات جالبی رو در دنیای تکنولوژی شاهد باشیم. یکی از مهمترین این تغییرات، استفاده گسترده از sched-ext در لینوکس هستش. این کلاس جدید اسکجولینگ که از سال ۲۰۲۴ معرفی شده، به برنامهنویسها اجازه میده تا اسکجولر CPU رو با استفاده از برنامههای BPF به صورت یوزراسپیس لود کنن. این قابلیت باعث میشه خلاقیتهای زیادی در زمینه اسکجولینگ شکل بگیره و اسکجولرهای تخصصی برای کاربردهای مختل مثل گیمینگ توسعه پیدا کنه.
زبان Rust هم در سال ۲۰۲۵ حضور پررنگتری در کرنل لینوکس خواهد داشت. با اینکه تا الان بیشتر کدهای Rust در کرنل زیرساختی و مفهومی بودن، ولی در ۲۰۲۵ کدهایی که کاربرها مستقیماً باهاشون سروکار دارن هم با Rust نوشته میشه. همچنین تعداد فیچرهای ناپایدار زبان که کرنل بهشون نیاز داره، با پایدار شدن این فیچرها توسط کامیونیتی Rust کاهش پیدا میکنه.
یکی از نگرانیهای جدی در ۲۰۲۵، احتمال تلاشهای جدید برای نفوذ به کدبیسهای مهم، مشابه اتفاقی که برای XZ افتاد، هستش. با وجود بررسیهای گسترده کدهای موجود، احتمال وجود تکنیکهای جدید برای حمله همچنان بالاست. به خصوص که سازمانهای دولتی و گروههای با منابع مالی قوی انگیزه زیادی برای این کار دارن.
پروژههایی که فقط یک نگهدارنده (maintainer) دارن، در سال ۲۰۲۵ به عنوان پروژههای پرریسک شناخته میشن. این موضوع فقط به خاطر مسائل امنیتی نیست، بلکه مشکلاتی مثل خستگی مفرط و کمبود وقت برای رسیدگی درست به پروژه هم در این موضوع نقش دارن.
یکی دیگه از چالشهای ۲۰۲۵، استفاده از کدهای تولید شده توسط هوش مصنوعی هستش. احتمالاً یک پروژه بزرگ متوجه میشه که مقدار زیادی کد AI-generated رو مرج کرده و این موضوع زمانی مشخص میشه که نویسنده کد نتونه توضیح بده کد دقیقاً چطور کار میکنه. همزمان، تلاشهایی برای ساخت سیستمهای AI آزاد و اپنسورس شکل میگیره که روی کاهش منابع مورد نیاز این سیستمها تمرکز دارن.
در حوزه سختافزار، محصولات Cloud-base بیشتری به خاطر ورشکستگی یا بیتوجهی سازندههاشون از کار میافتن. مشکلات مربوط به نشت اطلاعات و مانیتورینگ غیرمجاز هم ادامه پیدا میکنه - مثل ماجرای نشت اطلاعات خودروهای برقی فولکسواگن یا جمعآوری داده توسط ایرفرایرها. این موضوع میتونه فرصت خوبی برای راهکارهای اپنسورس مثل Home Assistant باشه تا روش بهتری برای مدیریت دادههای شخصی ارائه بدن.
همچنین در ۲۰۲۵، علاقه به توزیعهای لینوکس برای موبایل دوباره افزایش پیدا میکنه. در روزهای اولیه اندروید، نصب ROMهای کاستوم مثل CyanogenMod خیلی رایج بود و به نظر میرسه این روند با توجه به نگرانیهای امنیتی و حریم خصوصی، دوباره شکل میگیره.
سختافزارهای کاملاً اپنسورس در سال ۲۰۲۵ بیشتر در دسترس قرار میگیرن. مثلاً OpenWrt One که در سال ۲۰۲۴ عرضه شد، تمام نسخههای تولید شدهاش خیلی سریع فروش رفت. این نشون میده که کاربرها علاقه زیادی به سختافزارهایی دارن که به طور کامل مالکیتش دست خودشون باشه. کامیونیتی اپنسورس هم دانش و ابزارهای لازم برای ساخت این سختافزارها رو داره و احتمالاً پروژههای جالبی در این زمینه در سال ۲۰۲۵ راهاندازی میشه.
یکی از چالشهای جدی در سال ۲۰۲۵، مشکلات مالی فاندیشنهایی هستش که از پروژههای اوپنسورس حمایت میکنن. این روند از سال ۲۰۲۴ شروع شده و به نظر میرسه با توجه به شرایط اقتصادی، سال ۲۰۲۵ هم برای این سازمانها که به کمکهای مالی وابسته هستن، سال سختی باشه.
البته احتمالاً در سال ۲۰۲۵ فاندیشنهای جدیدی شکل میگیرن که هدفشون حمایت از maintainerها هستش. با اینکه شرکتهای زیادی به پروژههای اوپنسورس کمک میکنن، ولی معمولاً برای حمایت از نقش maintainer تمایل کمتری نشون میدن. شاید بشه این شرکتها رو تشویق کرد که از یک نهاد مستقل حمایت کنن که هدفش بهبود وضعیت maintainerها در پروژههای خاص هستش. با این حال، به نظر نمیرسه تا پایان سال ۲۰۲۵ مشکل کمبود حمایت از maintainerها به طور کامل حل بشه.
یکی دیگه از چالشهای سال ۲۰۲۵، تأثیر تنشهای جهانی روی کامیونیتی اپنسورس هستش. به نظر میرسه دنیا در مسیر صلحآمیزی حرکت نمیکنه و حتی اگه درگیری جدیدی هم شروع نشه، همین درگیریهای موجود روی کامیونیتی توسعهدهندهها تأثیر میذاره. ممکنه توسعهدهندههایی که از مناطق درگیر میآن، بدون اینکه مسئولیت مستقیمی در اقدامات دولتها یا کارفرماهاشون داشته باشن، از کامیونیتی کنار گذاشته بشن.
🔗 Source
#تکنولوژی #اخبار_تکنولوژی #نوشته
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🤣2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28😁10🤯5👎2❤1
بهترین ریپازیتوریِ گیتهاب که تو این چند وقته دیدم!
احتمالا خیلیاتون g4f رو بشناسید، باهاش میتونید به کمک منابع مختلف از انواع مدلهای مولد متنی و تصویری هوش مصنوعی مثل GPT-4o یا 3.5 sonnet و... به شکل کاملا رایگان استفاده کنید✨
من اینطوری نصبش کردم رو آرتیکس:
شما با توجه به سیستمعامل خودتون هرطوری که دوست داشتید نصبش کنید، میتونید یه سر به گیتهابش بزنید واسه اطلاعات بیشتر...
https://github.com/xtekky/gpt4free
برای استفادش تو مرورگرتون بعد از نصب کافیه کامند زیر رو وارد کنید:
#معرفی #هوش_مصنوعی
~> @PinkOrca🩷
احتمالا خیلیاتون g4f رو بشناسید، باهاش میتونید به کمک منابع مختلف از انواع مدلهای مولد متنی و تصویری هوش مصنوعی مثل GPT-4o یا 3.5 sonnet و... به شکل کاملا رایگان استفاده کنید✨
من اینطوری نصبش کردم رو آرتیکس:
pipx install "g4f[all]" --include-deps --force
شما با توجه به سیستمعامل خودتون هرطوری که دوست داشتید نصبش کنید، میتونید یه سر به گیتهابش بزنید واسه اطلاعات بیشتر...
https://github.com/xtekky/gpt4free
برای استفادش تو مرورگرتون بعد از نصب کافیه کامند زیر رو وارد کنید:
g4f gui
#معرفی #هوش_مصنوعی
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍4🔥3👎1
فاجعهٔ Dependencyهای تکراری در ویندوز در مقابل بهینگی پکیج منیجرهای لینوکس
🤓 چرا ویندوز همیشه مجبوره یه چیز رو هزار بار نصب کنه، اما لینوکس با یه بار نصبِ هوشمند، همه چی رو تو سیستم قفل میکنه؟ تو این نوشته (در ۳ پارت کوتاه) میخونید که چجوری لینوکس با یه ترفند ساده، ۸۵٪ از دردسر Dependencyها رو حذف کرده، ولی ویندوز هنوز تو باتلاق DLLها گیر کرده!
با من همراه باشید⬇️
#لینوکس #ویندوز #سیستم_عامل #نوشته
~> @PinkOrca🩷
با من همراه باشید⬇️
#لینوکس #ویندوز #سیستم_عامل #نوشته
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍6❤5
1/3
DLL Hell در ویندوز: چالش Dependencyهای غیرمتمرکز
در سیستمعامل ویندوز، مسئله DLL Hell به یکی از معضلات تاریخی مدیریت وابستگیها (Dependencies) تبدیل شده. DLLها (Dynamic-Link Libraries) فایلهای کتابخونهای مشترک هستن که برنامههای مختلف میتونن ازشون استفاده کنن. مشکل اصلی وقتی شروع میشه که دو یا چند برنامه، نسخههای متفاوتی از یک DLL رو نیاز دارن. مثلاً برنامه A نیاز به msvcrt.dll نسخه 1.0 داره و برنامه B به همان DLL اما نسخه 2.0 وابسته هستش. در ویندوزهای قدیمی (مثل ۹۸ یا XP)، این DLLها در مسیرهای سیستمی مشترک (مثل System32) کپی میشدن و نصب یک برنامه جدید میتونست نسخه قدیمی رو بازنویسی کنه. نتیجه؟ برنامه A با خطای Missing DLL یا Crash مواجه میشد.
مکانیزم Side-by-Side Assembly (SxS) در ویندوز ویستا و بعدتر معرفی شد تا این مشکل رو کاهش بده. توی این روش، هر برنامه میتونه نسخه خاصی از DLL رو در پوشه محلی خودش (مثل Program Files/AppName) ذخیره کنه یا از Manifest Files استفاده کنه تا نسخه دقیق DLL موردنیازش رو به سیستم معرفی کنه. اما این راهکار هم کامل نیست چون:
- حجم دیسک افزایش پیدا میکنه چون چندین نسخه از یک DLL توی سیستم ذخیره میشه.
- برنامههای قدیمی که از SxS پیروی نمیکنن هنوز میتونن باعث تداخل بشن.
- توسعهدهندگان گاهی ترجیح میدن از Static Linking استفاده کنن (کتابخونهها رو مستقیماً داخل EXE برنامه کامپایل کنن) که اینم حجم فایل اجرایی رو بیشتر میکنه.
~> @PinkOrca🩷
DLL Hell در ویندوز: چالش Dependencyهای غیرمتمرکز
در سیستمعامل ویندوز، مسئله DLL Hell به یکی از معضلات تاریخی مدیریت وابستگیها (Dependencies) تبدیل شده. DLLها (Dynamic-Link Libraries) فایلهای کتابخونهای مشترک هستن که برنامههای مختلف میتونن ازشون استفاده کنن. مشکل اصلی وقتی شروع میشه که دو یا چند برنامه، نسخههای متفاوتی از یک DLL رو نیاز دارن. مثلاً برنامه A نیاز به msvcrt.dll نسخه 1.0 داره و برنامه B به همان DLL اما نسخه 2.0 وابسته هستش. در ویندوزهای قدیمی (مثل ۹۸ یا XP)، این DLLها در مسیرهای سیستمی مشترک (مثل System32) کپی میشدن و نصب یک برنامه جدید میتونست نسخه قدیمی رو بازنویسی کنه. نتیجه؟ برنامه A با خطای Missing DLL یا Crash مواجه میشد.
مکانیزم Side-by-Side Assembly (SxS) در ویندوز ویستا و بعدتر معرفی شد تا این مشکل رو کاهش بده. توی این روش، هر برنامه میتونه نسخه خاصی از DLL رو در پوشه محلی خودش (مثل Program Files/AppName) ذخیره کنه یا از Manifest Files استفاده کنه تا نسخه دقیق DLL موردنیازش رو به سیستم معرفی کنه. اما این راهکار هم کامل نیست چون:
- حجم دیسک افزایش پیدا میکنه چون چندین نسخه از یک DLL توی سیستم ذخیره میشه.
- برنامههای قدیمی که از SxS پیروی نمیکنن هنوز میتونن باعث تداخل بشن.
- توسعهدهندگان گاهی ترجیح میدن از Static Linking استفاده کنن (کتابخونهها رو مستقیماً داخل EXE برنامه کامپایل کنن) که اینم حجم فایل اجرایی رو بیشتر میکنه.
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4😁1
2/3
پکیج منیجرها در لینوکس: داینامیک ریپازیتوری و بهینگی Dependencyها
در اکوسیستم لینوکس، سیستمهای مدیریت پکیج (مثل apt، dnf، pacman) با مکانیزمی متمرکز و بهینه عمل میکنن. هر پکیج به شکل صریح لیست وابستگیهاش رو توی متادیتای خودش تعریف میکنه. وقتی دستور نصب اجرا میشه، پکیج منیجر به شکل خودکار:
1. Dependencyهای لازم رو از ریپازیتوریهای مرکزی پیدا میکنه.
2. بررسی میکنه که آیا نسخههای نصبشده فعلی با نیازمندیهای پکیج جدید Compatible (سازگار) هستن یا نه.
3. در صورت نیاز، آپگرید یا دانگرید کتابخونهها رو انجام میده تا تضمین کنه همه چیز بدون Conflict (تداخل) کار میکنه.
مثلاً نصب یک وبسرور مثل nginx روی لینوکس باعث میشه پکیج منیجر به شکل خودکار کتابخونههای ضروری مثل libpcre، openssl و zlib رو نصب کنه. اگر نسخههای موجود قدیمی باشن، پکیج منیجر نسخههای آپدیت شده رو از ریپازیتوری میاره. این فرایندها روی پکیجهای باینری و متادیتاهای Precompiled (ازپیش-کامپایلشده) تکیه دارن که Dependency Resolution رو سریع و قابل پیشبینی میکنه.
چرا تداخل نسخهها به ندرت پیش میاد؟
- کتابخونهها در لینوکس معمولاً با Semantic Versioning نامگذاری میشن. مثلاً libfoo1.2 و libfoo2.0 میتونن همزمان نصب باشن بدون تداخل، چون اسم پکیجها متفاوته.
- سیستم مدیریت پکیج از Symbolic Links و SONAME (Shared Object Name) استفاده میکنه تا مطمئن شه برنامهها به نسخه صحیح لینک میشن. مثلاً اگر برنامه به libc.so.6 نیاز داره، لینک سمبولیک /lib/libc.so.6 به فایل واقعی مثل libc-2.31.so اشاره میکنه.
~> @PinkOrca🩷
پکیج منیجرها در لینوکس: داینامیک ریپازیتوری و بهینگی Dependencyها
در اکوسیستم لینوکس، سیستمهای مدیریت پکیج (مثل apt، dnf، pacman) با مکانیزمی متمرکز و بهینه عمل میکنن. هر پکیج به شکل صریح لیست وابستگیهاش رو توی متادیتای خودش تعریف میکنه. وقتی دستور نصب اجرا میشه، پکیج منیجر به شکل خودکار:
1. Dependencyهای لازم رو از ریپازیتوریهای مرکزی پیدا میکنه.
2. بررسی میکنه که آیا نسخههای نصبشده فعلی با نیازمندیهای پکیج جدید Compatible (سازگار) هستن یا نه.
3. در صورت نیاز، آپگرید یا دانگرید کتابخونهها رو انجام میده تا تضمین کنه همه چیز بدون Conflict (تداخل) کار میکنه.
مثلاً نصب یک وبسرور مثل nginx روی لینوکس باعث میشه پکیج منیجر به شکل خودکار کتابخونههای ضروری مثل libpcre، openssl و zlib رو نصب کنه. اگر نسخههای موجود قدیمی باشن، پکیج منیجر نسخههای آپدیت شده رو از ریپازیتوری میاره. این فرایندها روی پکیجهای باینری و متادیتاهای Precompiled (ازپیش-کامپایلشده) تکیه دارن که Dependency Resolution رو سریع و قابل پیشبینی میکنه.
چرا تداخل نسخهها به ندرت پیش میاد؟
- کتابخونهها در لینوکس معمولاً با Semantic Versioning نامگذاری میشن. مثلاً libfoo1.2 و libfoo2.0 میتونن همزمان نصب باشن بدون تداخل، چون اسم پکیجها متفاوته.
- سیستم مدیریت پکیج از Symbolic Links و SONAME (Shared Object Name) استفاده میکنه تا مطمئن شه برنامهها به نسخه صحیح لینک میشن. مثلاً اگر برنامه به libc.so.6 نیاز داره، لینک سمبولیک /lib/libc.so.6 به فایل واقعی مثل libc-2.31.so اشاره میکنه.
~> @PinkOrca
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤7