🦎خزنده وب یا crawler چیه؟
برای معنی crawler داخل فارسی میتونیم از خزنده وب استفاده کنیم ولی خب کلمه انگلیسی اون درست و تخصصی تره حالا بگذریم. web crawler ها در واقع بخش اصلی و مرکزی یک موتور جستجو و تشکیل میدن. در واقع به زبان ساده، یک نرم افزار یا اسکریپت اتوماتیکه که با توجه به الگوریتم مشخص و هدفمند انواع موتورهای جستجو که براش تعریف شده، تو وب سایت های موجود میگردن و محتوای اونا رو داخل دیتابیس موتور جستجو یا همون سرچ انجین ذخیره می کنن.
هر کراولر سایت از الگوریتم و معماری منحصر به فرد و کاملا مخفی تشکیل شده. اسامی مختلفی برای کراولر در نظر گرفته شده و معروفترینشون اینا هستن : Web Spider, Automatic Indexer, Web Robots یا نرم افزار FOAF.
🕸 یک وب کراولر چجوری کار می کنه؟
امروزه سرچ انجین های زیادی وجود دارن مثل Google، Bing، Yahoo!، DuckDuckGo، Baidu، Yandex و ... که هر کدوم از این انجین ها، کراولر مخصوص به خودشونو برای نمایه بندی صفحات به کار میگیرن.
این ربات ها، فرایند crawling رو از محبوب ترین وبسایت ها شروع می کنن. هدف اول ربات های وب، اینه که مفهوم اصلی محتوای هر صفحه رو منتقل کنن. از این رو، ربات های وب، کلمات این صفحه هارو سرچ می کنن. و یک لیست کاربردی از این کلمات تهیه می کنن. این لیست، دفعه بعد که قصد میکنید اطلاعاتی راجع به درخواست ها و پرسش هاتون پیدا کنید، توسط سرچ انجین مورد استفاده قرار می گیره.
تمام صفحات موجود در اینترنت، توسط (hyperlinks) به یکدیگر متصل هستن. بنابراین، ربات های کراولر، میتونن این لینک ها رو کشف کرده و اونارو تا صفحات بعدی دنبال کنن. ربات های وب، تنها زمانی متوقف میشن که محل تمامی مطالب و وبسایت های متصل به هم رو پیدا کنن. و بعد، اطلاعات ثبت شده رو برای نمایه جستجو میفرستن که بر روی سرورهای سراسر دنیا ذخیره شده. تمامی این فرایند، شبیه به یک تار عنکبوت واقعیه که در اون همه چیز در هم تنیده شده.
فرایند کراولینگ، بلافاصله بعد از این که صفحات، نمایه بندی شدن، متوقف نمیشه. موتور های جستجو به صورت متناوب، از کراولر های وب استفاده می کنن تا متوجه شن آیا تغییری تو صفحات ایجاد شده یا نه. اگر تغییری رخ داده باشه، نمایه تولید شده توسط موتور جستجو، بر اساس اون بروزرسانی میشه.
#searchengin #browser
@CodeModule
برای معنی crawler داخل فارسی میتونیم از خزنده وب استفاده کنیم ولی خب کلمه انگلیسی اون درست و تخصصی تره حالا بگذریم. web crawler ها در واقع بخش اصلی و مرکزی یک موتور جستجو و تشکیل میدن. در واقع به زبان ساده، یک نرم افزار یا اسکریپت اتوماتیکه که با توجه به الگوریتم مشخص و هدفمند انواع موتورهای جستجو که براش تعریف شده، تو وب سایت های موجود میگردن و محتوای اونا رو داخل دیتابیس موتور جستجو یا همون سرچ انجین ذخیره می کنن.
هر کراولر سایت از الگوریتم و معماری منحصر به فرد و کاملا مخفی تشکیل شده. اسامی مختلفی برای کراولر در نظر گرفته شده و معروفترینشون اینا هستن : Web Spider, Automatic Indexer, Web Robots یا نرم افزار FOAF.
🕸 یک وب کراولر چجوری کار می کنه؟
امروزه سرچ انجین های زیادی وجود دارن مثل Google، Bing، Yahoo!، DuckDuckGo، Baidu، Yandex و ... که هر کدوم از این انجین ها، کراولر مخصوص به خودشونو برای نمایه بندی صفحات به کار میگیرن.
این ربات ها، فرایند crawling رو از محبوب ترین وبسایت ها شروع می کنن. هدف اول ربات های وب، اینه که مفهوم اصلی محتوای هر صفحه رو منتقل کنن. از این رو، ربات های وب، کلمات این صفحه هارو سرچ می کنن. و یک لیست کاربردی از این کلمات تهیه می کنن. این لیست، دفعه بعد که قصد میکنید اطلاعاتی راجع به درخواست ها و پرسش هاتون پیدا کنید، توسط سرچ انجین مورد استفاده قرار می گیره.
تمام صفحات موجود در اینترنت، توسط (hyperlinks) به یکدیگر متصل هستن. بنابراین، ربات های کراولر، میتونن این لینک ها رو کشف کرده و اونارو تا صفحات بعدی دنبال کنن. ربات های وب، تنها زمانی متوقف میشن که محل تمامی مطالب و وبسایت های متصل به هم رو پیدا کنن. و بعد، اطلاعات ثبت شده رو برای نمایه جستجو میفرستن که بر روی سرورهای سراسر دنیا ذخیره شده. تمامی این فرایند، شبیه به یک تار عنکبوت واقعیه که در اون همه چیز در هم تنیده شده.
فرایند کراولینگ، بلافاصله بعد از این که صفحات، نمایه بندی شدن، متوقف نمیشه. موتور های جستجو به صورت متناوب، از کراولر های وب استفاده می کنن تا متوجه شن آیا تغییری تو صفحات ایجاد شده یا نه. اگر تغییری رخ داده باشه، نمایه تولید شده توسط موتور جستجو، بر اساس اون بروزرسانی میشه.
#searchengin #browser
@CodeModule
🔥7⚡4👌2
وظیفهی اصلی Webkit، تجزیه و تحلیل کدهای HTML و XHTML و ... و تولید و نمایش ظاهر صفحه هست. در واقع، مرورگر واسطهای بین کاربر و موتور رندر هست و وظایف دیگه ای مثل برقراری ارتباط با اینترنت، مدیریت امنیت، تجربهی کاربری و آپدیت هارو بر عهده داره. همچنین Webkit از سیستمعاملهای mac os، windows، linux و سیستمعاملهای شبه یونیکسی پشتیبانی میکنه.
موتورهای رندر به طور مداوم در حال توسعه و اضافه شدن امکانات جدید هستن. بعضی از امکانات جدید اختصاصی هستن و در استانداردهای وب وجود ندارن. برای تشخیص این ویژگیها از قوانین استاندارد و جلوگیری از مشکل در عملکرد مرورگرهای دیگه، از پیشوندهایی در اسم اونها استفاده میشه.
امروزه، مرورگر Edge هم از موتور webkit استفاده میکنه و مرورگر اوپرا هم محتوای صفحات وب رو با استفاده از webkit نمایش میده. وقتی که یک ویژگی اختصاصی به صورت استاندارد در میاد، پیشوند اون حذف میشه.
.CodeModule {
width: 500px;
height: 500px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-smooth: always;
}
و در نتیجه Webkit یک موتور رندر قدرتمند، و سریعه که در طیف وسیعی از برنامهها از جمله مرورگرهای وب، برنامههای کاربردی وب و ابزارهای توسعه وب استفاده میشه. Webkit به طور مداوم در حال توسعه و آپدیته و جدیدترین استانداردهای وب رو ساپورت میکنه
#webkit #browser #css
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡8🔥5
مقایسه Web Worker و Worker Threads 🐬
در دنیای توسعه وب، عملکرد و کارایی بسیار مهمه و با پیچیده تر شدن برنامه ها، نیاز به مدیریت همزمان وظایف بدون مسدود کردن رشته اصلی، ضروری میشه. اینجاست که Web Workers و Worker Threads وارد عمل میشن، اما هر کدوم چی هستن؟🤔
Web Workers چیه؟
Web Workers یک ویژگی در مرورگرها هست که به جاوا اسکریپت اجازه میده، جدا از رشته اصلی اجرای یک برنامه وب، در بکگراند اجرا بشه که این به انجام محاسبات پیچیده یا مدیریت مجموعه داده های بزرگ، بدون فریز کردن رابط کاربری، کمک میکنه.
Worker Threads چیه ؟
از طرف دیگه Worker Threads یکی از ویژگیهای Node.js هست، که این امکان رو برای اجرای موازی کد جاوا اسکریپت فراهم میکنه، و دولوپر ها رو قادر میسازه تا عملیات فشرده CPU رو بدون مسدود کردن ایونت لوپ اصلی انجام بدن.
شباهت بین Web Workers و Worker Threads چیه؟
🔵 Concurrency: هم Web Workers و هم Worker Threads امکان اجرای همزمان وظایف رو فراهم میکنن.
🔵 Message Passing: از طریق مکانیزم های ارسال پیام با thread اصلی ارتباط برقرار میکنن.
🔵 Isolation: هر دو روش هایی برای اجرای کد جاوااسکریپت به صورت موازی و ایزوله هستن، به این معنی که در فضای جداگانه از رشته اصلی جرا میشن، و از تداخل جلوگیری میکنن.
🔵 Performance Improvement: هر دو با برداشتن وظایف، از thread اصلی، عملکرد برنامه ها رو بهبود می بخشن.
اما چه تفاوتی با هم دیگه دارن؟
🔵 Environment: وب ورکر ها مختص مرورگرهای وب هستن، در حالی که Worker Threads مختص Node.js.
🔵 DOM Access: وب ورکر ها نمیتونن مستقیماً به DOM دسترسی داشته باشن، در حالی که Worker Threads که در محیط Node.js کار می کنن و با DOM کلا سروکار ندارن.
🔵 Memory Sharing : وب ورکر ها نمیتونن از اشتراک گذاری حافظه استفاده کنن، درحالی که Worker Thread ها با استفاده از SharedArrayBuffer میتونن.
به صورت کلی این یک مقایسه کوچیک و کوتاه بود و قطعا تفاوت و شباهت های بیشتری دارن. همچنین پیشنهاد میکنم برای کسب اطلاعات بیشتر به منابع زیر مراجعه کنید.
- Article
- Article
- Article
#nodejs #browser
@CodeModule
در دنیای توسعه وب، عملکرد و کارایی بسیار مهمه و با پیچیده تر شدن برنامه ها، نیاز به مدیریت همزمان وظایف بدون مسدود کردن رشته اصلی، ضروری میشه. اینجاست که Web Workers و Worker Threads وارد عمل میشن، اما هر کدوم چی هستن؟
Web Workers چیه؟
Web Workers یک ویژگی در مرورگرها هست که به جاوا اسکریپت اجازه میده، جدا از رشته اصلی اجرای یک برنامه وب، در بکگراند اجرا بشه که این به انجام محاسبات پیچیده یا مدیریت مجموعه داده های بزرگ، بدون فریز کردن رابط کاربری، کمک میکنه.
Worker Threads چیه ؟
از طرف دیگه Worker Threads یکی از ویژگیهای Node.js هست، که این امکان رو برای اجرای موازی کد جاوا اسکریپت فراهم میکنه، و دولوپر ها رو قادر میسازه تا عملیات فشرده CPU رو بدون مسدود کردن ایونت لوپ اصلی انجام بدن.
شباهت بین Web Workers و Worker Threads چیه؟
اما چه تفاوتی با هم دیگه دارن؟
به صورت کلی این یک مقایسه کوچیک و کوتاه بود و قطعا تفاوت و شباهت های بیشتری دارن. همچنین پیشنهاد میکنم برای کسب اطلاعات بیشتر به منابع زیر مراجعه کنید.
- Article
- Article
- Article
#nodejs #browser
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8⚡5👌2