Pink Orca | پینک اورکا – Telegram
Pink Orca | پینک اورکا
2.42K subscribers
414 photos
118 videos
45 files
318 links
درود به همه.
به کانال من خوش اومدین :)

🔗 دسته‌بندی پست‌ها: t.me/PinkOrca/5

انجمن: برای عضویت پیام بفرستید.

ادمین: @Pink0rca
اگر پستی ایراد علمی داره حتما بگید.

دونیت: Daramet.com/PinkOrca
💥 دربارهٔ من: PinkOrca.net
Download Telegram
~> BASE Properties

‏BASE یه مدل کلیدی تو دیتابیس‌های NoSQL و سیستم‌های توزیع‌شده هستش که به‌عنوان جایگزینی برای ACID معرفی شده. این مفهوم به‌ویژه برای سیستم‌هایی که به مقیاس‌پذیری (Scalability) و دسترس‌پذیری (Availability) بالا نیاز دارن، کاربرد داره.

حالا BASE مخفف چیه؟!⬇️

‏Basically Available (دسترس‌پذیری پایه‌ای): این ویژگی یعنی سیستم باید در هر زمان به‌طور تقریبی در دسترس باشه. این به این معنی نیست که همیشه به‌طور کامل در دسترس هستش، بلکه باید قادر به پاسخگویی به درخواست‌ها باشه. این نوع دسترسی معمولاً با استفاده از تکنیک‌های توزیع‌شده و کلاسترینگ حاصل می‌شه.

‏Soft State (حالت نرم): به‌جای این‌که سیستم در یک حالت ثابت قرار داشته باشه، داده‌ها ممکنه در هر لحظه تغییر کنن. این ویژگی در سیستم‌های توزیع‌شده اهمیت داره، چون ممکنه داده‌ها بین نودهای مختلف به‌روز بشن و این به‌روزرسانی‌ها ممکنه زمان‌بر باشه. بنابراین، سیستم ممکنه به‌طور موقت در حالت عدم تطابق داده‌ها قرار داشته باشه.

‏Eventually Consistent (سازگاری نهایی): این ویژگی به این معنیه که با گذشت زمان، سیستم به یک حالت سازگار خواهد رسید. اگه هیچ تغییر جدیدی در سیستم اعمال نشه، در نهایت تمام نودها به یک وضعیت مشابه می‌رسن. این مفهوم برای سیستم‌های با تأخیر بالا و مقیاس‌پذیری زیاد اهمیت داره.

‏مدل BASE به‌ویژه در دیتابیس‌های داده NoSQL مثل Cassandra، DynamoDB و MongoDB استفاده می‌شه. این دیتابیس‌ها به‌دلیل نیاز به مقیاس‌پذیری و دسترس‌پذیری بالا، به‌جای پیروی از مدل ACID، از BASE بهره‌برداری می‌کنن.

‏نکته جالب اینه که با وجود اینکه BASE سازگاری کمتری نسبت به ACID داره، به دلیل مقیاس‌پذیری بیشتر، این روزا مخصوصا تو اپلیکیشن‌های بزرگ و توزیع‌شده، محبوبیت زیادی پیدا کرده.

#نرم_افزار #علوم_کامپیوتر #نوشته
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 اکستنشن برای خوندن Markdown تو مرورگر زیاده، اتفاقی یکی رو نصب کردم که قابلیت اعمالِ استایل شخصی برای نمایش رو ساپورت می‌کنه ( + KaTeX و... واسه نمایش فرمول‌های ریاضی) و به عنوان مثال یکم تغییرش دادم تا شما هم روش انجام تغییرات رو ببینید...

🔗 این اکستنشن برای مرورگرهای بر پایهٔ کرومیوم

پ.ن:
کلی اکستنشن و روش دیگه هم وجود داره، صرفا خواستم اشاره کنم.
#معرفی #ترفند
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍41
This media is not supported in your browser
VIEW IN TELEGRAM
~> Superfile (spf)

یه فایل‌منیجر ترمینالیِ جالب که حسام عزیز تو گروه معرفی کرده بود.
مدرن، زیبا و اپن‌سورس(پروژه‌ای بسیار فعال)

نصب:
bash -c "$(curl -sLo- https://superfile.netlify.app/install.sh)"


🔗 گیت‌هاب
#معرفی #لینوکس
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥3🍾1
جدیدترین روش برای خارج شدن از vim 😀

دوستی هم نوشت:
وقتی بچه‌های هنر با کامپیوتر روبرو می‌شن😂
#فان #میم
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣38👍3😁3🔥1
~> The Blockchain Trilemma

‏The Blockchain Trilemma یک مفهوم کلیدی در دنیای بلاکچین هستش که Vitalik Buterin در سال ۲۰۱۶ مطرحش کرد. این مفهوم به تضاد بین سه ویژگی حیاتی بلاکچین اشاره می‌کنه: دیسنترالایز بودن، امنیت و اسکیل‌پذیری.

دیسنترالایز بودن به این معنی هستش که قدرت در شبکه بین تعداد زیادی نود توزیع شده. هر چقدر هزینه و منابع مورد نیاز برای اجرای یک نود کمتر باشه، شبکه دیسنترالایزتر می‌شه. مثلاً بیت‌کوین با داشتن بیش از ۱۵,۰۰۰ نود فعال در سال ۲۰۲۳، یکی از دیسنترالایزترین شبکه‌های بلاکچین هستش.

امنیت به توانایی شبکه در مقاومت در برابر حملات اشاره می‌کنه. برای تأمین امنیت، مکانیزم‌های اجماع باید طوری طراحی بشن که هزینه حمله به شبکه خیلی بیشتر از منفعتش باشه. توی بیت‌کوین این کار از طریق Proof of Work انجام می‌شه که نیاز به هزینه‌کرد انرژی و سخت‌افزار داره. توی اتریوم ۲.۰ این امنیت از طریق استیک کردن ۳۲ ETH برای هر والیدیتور تأمین می‌شه.

اسکیل‌پذیری به ظرفیت پردازش تراکنش‌های شبکه مربوط می‌شه. هر چقدر تعداد نودها بیشتر باشه و امنیت بالاتری نیاز باشه، اسکیل‌پذیری سخت‌تر می‌شه. بیت‌کوین با حدود ۷ TPS و اتریوم با حدود ۱۵ TPS نشون می‌دن که چطور دیسنترالایز بودن و امنیت می‌تونه روی اسکیل‌پذیری تأثیر بذاره.

راه‌حل‌های مختلفی برای این تریلما پیشنهاد شده. Layer 2 سولوشن‌ها مثل Optimistic Rollups و zk-Rollups سعی می‌کنن با انتقال محاسبات به لایه دوم، اسکیل‌پذیری رو بهبود بدن. Polygon با استفاده از Plasma و PoS سایدچین تونسته به بیش از ۷,۰۰۰ TPS برسه.

شاردینگ یک تکنیک دیگه هستش که شبکه رو به چند زیرشبکه تقسیم می‌کنه و اجازه می‌ده پردازش تراکنش‌ها به صورت موازی انجام بشه. اتریوم ۲.۰ قراره از طریق شاردینگ به ۱۰۰,۰۰۰ TPS برسه.

بعضی از پروژه‌ها تصمیم گرفتن یکی از این سه ویژگی رو قربانی کنن. مثلاً سولانا با استفاده از نودهای قوی‌تر و گرون‌تر، دیسنترالایز بودن رو فدای اسکیل‌پذیری کرده. BNB Chain هم با محدود کردن تعداد والیدیتورها به ۲۱ نود، تونسته به TPS بالاتری برسه.

نوآوری‌های جدیدی مثل Directed Acyclic Graph ‏(DAG) که توسط IOTA و Hedera استفاده می‌شه، سعی می‌کنن با تغییر ساختار اصلی بلاکچین، محدودیت‌های تریلما رو دور بزنن. نسل جدید پروتکل‌های اجماع مثل Avalanche هم رویکردهای جدیدی برای حل این مشکل معرفی کردن.

#بلاکچین #علوم_کامپیوتر #نرم_افزار #نوشته
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍5🔥2
💕 فارسی به زبان‌های پشتیبانی شده در Code.org اضافه شد.
https://code.org/global/fa

Code.org منبعی متفاوت برای کودکان هستش که می‌تونن باهاش به یادگیری علوم کامپیوتر بپردازن...
#اخبار_تکنولوژی #معرفی
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍4🤯1
🔹 سمینار گنو/لینوکس: سفری به دنیای نرم‌افزارهای آزاد 👩‍💻

💥 گنو/لینوکس، دنیایی که هم‌زمان ساده و پیشرفته است.
⚡️ در این سمینار به مفهوم نرم‌افزارهای آزاد، توزیع‌های گنو/لینوکس، ابزارهای کاربردی و قابلیت‌های بی‌نهایت آن‌ها می‌پردازیم. مسیری که هم به توسعه و هم به خلاقیت در استفاده از فناوری کمک می‌کند.

🔹 ارائه‌دهنده: علی مظلوم
🔹 زمان: سه‌شنبه ۴ دی ۱۴۰۳ - ساعت ۱۰
📍 صومعه‌سرا - سالن اجتماعات دانشکدهٔ میرزا کوچک

🌱 قرار نیست فقط بشنویم، بیایید کشف کنیم که چطور می‌شود ابزارهای پیشرفته را در کار و زندگی روزمره به کار گرفت.
منتظر حضور شما هستیم!
#رویداد
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥112👍1🍾1
~> Rainbow Table Attack

رینبو تیبل اتک یکی از تکنیک‌های معروف کرک کردن پسورد هستش که از جداول پیش‌ساخته هش استفاده می‌کنه. این حمله در سال ۲۰۰۳ توسط 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👍83
~> The Substance 2024
یک فیلم درام - دلهره‌آور - علمی تخیلی

مدت‌ها بود چنین فیلم متفاوتی ندیده بودم و اصلا انتظارش رو نداشتم، اونم به عنوان یه فیلمِ جدید!
یه جاهایی هم رفرنس‌هایی به چند اثر مطرح داشت که برام جالب بود👍

به شخصه اصلا سوادِ سینما ندارم و نمی‌دونم که دیدگاه منتقدین سینما چیه در موردش، دقایقی قبل تماشای این فیلم به پایان رسید و حتی هنوز چیزی هم از دستاوردهایی که کسب کرده و... نمی‌دونم، اما به نظر خودم خوب و خاص بود.

جدا از ریت R بودنش، در صورت حساس بودن به یک‌سری صحنه‌ها ترجیحا تماشا نکنید (حتی اگه شرایط سنی مناسبی هم دارید)، وگرنه که پیشنهاد می‌کنم.
#فیلم #متفرقه #حرف_با_شما
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2👎2🔥1
~> دامنهٔ رایگان

⚡️ تو namecheap.com که نیاز به معرفی نداره، می‌تونید با کد تخفیف freedom24 به شکل کاملا رایگان دامنه .news برای یک‌سال تهیه کنید که تو حالت عادی تقریبا ۳۰ دلار قیمتش بود...

اگر اکانت ندارید یا قصد ساخت چند اکانت برای چند دامنه دارید، برای ثبت‌نام می‌تونید از هویت‌های فیک استفاده کنید، مثلا با این faker‌های آنلاین ایجاد کنید... خودتون دیگه بلدین🥴

پ.ن:
این خبر بمب رو دوستمون آقا امین تو گروه فرستاد و گفتم شما رو هم در جریان بذارم🔥
#شبکه #معرفی #ترفند
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍3👎1
~> Gapless 🎵
چند وقت پیشا یه پخش‌کنندهٔ موسیقی معرفی کرده بودم که با وجود زیبایی و صرفا داشتن امکانات مورد نیاز و نه اضافه، یه سری ایرادات داشت... که پستش رو پاک کردم. همون روز سهراب این پلیر Gapless رو بهم معرفی کرده بود و امتحانش کردم و خلاصه راضی بودم و هنوز هم استفادش می‌کنم ازش.

⚙️ راستی من از AUR نصبش کردم (پکیج g4music-git )
🔗 صفحهٔ گیت‌هاب

#معرفی #لینوکس
~> @PinkOrca 🩷
👍92
Pink Orca | پینک اورکا
با Telemetrio به بزرگترین کاتالوگ کانال‌های تلگرام دسترسی داشته باشید و از امکانات جذابی که در اختیارتون می‌ذاره، از جمله تحلیل دقیق چنل‌ها استفاده کنید. 🔗 Telemetr.io پ.ن: گاهی وقتا هم هست که برای هدف خاصی نیاز به گشتن در تاریخچهٔ یک چنل دارید، این ابزار…
ظاهرا به طور میانگین افت داشتیم💀
بیشتر بخاطر کم‌کاریای خودمه... خلاصه مرسی که تو ۲۰۲۴ هم همراه من بودین
#telemetrio2024

پ.ن: تعداد پست‌هایی که گذاشتم تو یک سال گذشته از این رقم کمتره احتمالا و این آمار با توجه به crawl کردن تمام فعالیت‌ها از جمله پست‌های موقت و ... بوده.
#حرف_با_شما
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
163👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🤷‍♂️🤷‍♂️🤷‍♂️ خواستم میانگین مدت زمان تمام ویدیوهای دایرکتوری رو که مربوط به درس ریاضی عمومی می‌شدن بدست بیارم و برای این کار مثل همیشه رفتم سراغ کامندلاین (و کامندش هم از یه AI خواستم برای صرفه‌جویی در زمان) :
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 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
صرفا یک یادآوری که الکامپ گیلان از ۱۱ تا ۱۴ دی‌ماه خواهد بود، اگه دوست داشتین تشریف بیارید.
#رویداد
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
✖️ دوستان از اونجایی که دیدم خیلیاتون برای حساب کردن چیزا از ماشین‌حساب‌های GUI استفاده می‌کنید و حواستون نیست که می‌تونید به همین راحتی تو شل اینطوری انجامش بدید، تصمیم گرفتم این پست رو بذارم😂
echo $((اینجا عبارت رو بذارید))


پ.ن:
ماشین‌حساب‌های CLI و GUI جالب زیادی هم وجود داره ولی بدرد اکثرمون نمی‌خورن، می‌تونیم با همینا کارمون رو راه بندازیم.
#ترفند #لینوکس
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141🔥1🤣1
~> qalc

‏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🔥21
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2👎1😢1
سال خوبی داشته باشید❤️
2025/01/01 CE
پ.ن: ایده بهتری ندارم، پارسال هم همینطوری تبریک گفتم😂
#متفرقه #حرف_با_شما
~> @PinkOrca 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣126👎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 فقط المان‌هایی رو شامل می‌شه که باید نمایش داده بشن. مثلاً المان‌های 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🔥54