هوش مصنوعی و روباتیک - Hamidreza Hosseinkhani

این وب‌گاه با هدف دردسترس قراردادن آموزش‌های رایگان هوش مصنوعی برای همه‌ی فارسی‌زبانان توسط حمیدرضا حسین‌خانی راه‌اندازی شده‌ست

هوش مصنوعی و روباتیک - Hamidreza Hosseinkhani

این وب‌گاه با هدف دردسترس قراردادن آموزش‌های رایگان هوش مصنوعی برای همه‌ی فارسی‌زبانان توسط حمیدرضا حسین‌خانی راه‌اندازی شده‌ست

هوش مصنوعی و روباتیک - Hamidreza Hosseinkhani

این وب‌گاه در سال ۱۳۹۱ (2012) برای آموزش هوش مصنوعی، روباتیک و برنامه‌نویسی توسط حمیدرضا حسین‌خانی راه‌اندازی شده‌ بود و درحال‌حاضر فعال نمی‌باشد.

حمیدرضا حسین‌خانی از نخستین مدرسان هوش مصنوعی در ایران است که از سال ۱۳۸۹ (2010 میلادی) مشغول ترویج و آموزش هوش مصنوعی ازطریق ارائه‌ی رایگان دور‌ه‌های آموزشی حضوری و آنلاین به علاقه‌مندان حوزه‌های مختلف فناوری اطلاعات ازجمله هوش مصنوعی، روباتیک، برنامه‌نویسی و پلتفرم داده‌ای بوده‌ست. او درحال‌حاضر استاد مدعو دانشگاه صنعتی شریف و پژوهشگر مستقل هوش مصنوعی و مدیر کانال تلگرامی محبوب School of AI است.
محبوب‌ترین آموزش‌های او:
۱) دوره‌ی آموزشی روبوکاپ در سایت رشد (شبکه‌ی ملی مدارس) در سال ۱۳۹۱ شامل موضوعات لینوکس، برنامه‌نویسی ++C، الگوریتم، عامل هوشمند و سامانه‌های چندعاملی، شبیه‌ساز ۲بعدی فوتبال.
۲) بوت‌کمپ‌های دانش‌آموزی روباتیک در شرکت نادکو شریف شامل ساخت عملی روبات، برنامه‌نویسی و آمادگی برای مسابقات کشوری .
۳) دوره‌ی محبوب برنامه‌نویسی اندروید در لایتک شریف که نخستین و محبوب‌ترین دوره‌ی اندروید فارسی در زمان خود بود.
۴) بوت‌کمپ‌ سامانه‌های پیشنهاددهنده با بیش از ۱۰۰۰ شرکت‌کننده.
۵) بوت‌کمپ ترنسفرمرها و مدل‌های زبانی با بیش‌از ۲۰۰۰ بازدیدکننده.
۶) درس کارگاه کامپیوتر دانشگاه شریف سال 2020 با بیش از ۱۵۰۰۰ بازدید.
۷) درس برنامه‌نویسی پایتون دانشگاه شریف سال 2021 با بیش از ۲۰۰۰۰ بازدید.
۸) درس برنامه‌نویسی C دانشگاه شریف سال 2022
۹) درس برنامه‌نویسی جاوا دانشگاه شریف سال 2023.
۱۰) درس برنامه‌سازی پیشرفته با موضوع عامل‌های هوش مصنوعی در دانشگاه صنعتی شریف که یکی از نخستین دوره‌های مربوط به عامل‌های هوشمند بود.

حمیدرضا حسین‌خانی همچنین در صنعت هم نقش فعالی داشته و سابقه‌ی همکاری به‌عنوان مهندس نرم افزار، پژوهشگر هوش مصنوعی، مدیر فنی، مشاور و ... را در تیم‌ها و شرکت‌های خوشنامی مانند دیجی‌کالا، اسنپ، اسنپ‌فود، بامیلو، دیجی‌استایل، ایران‌اپس، اینپین در کارنامه دارد. وی منتور تعداد زیادی از تیم‌های شرکت‌کننده در مسابقات مختلف برنامه‌نویسی، رباتیک و روبوکاپ و همچنین داور و برگزار‌کننده اولین دوره‌ی مسابقات دانش‌آموزی برنامه‌نویسی موبایل در دانشگاه صنعتی شریف (Nadcup 2016) است.

آخرین نظرات

نصب و راه‌اندازی NGINX

دوشنبه, ۱۰ آذر ۱۳۹۹، ۱۱:۱۷ ب.ظ

مقدمه

نرم‌افزار Nginx (بخوانید اِنجین اِکس) در واقع یک نرم‌افزار Web server است که می‌تواند به عنوان Reverse proxy یا Load balancer یا Web cache نیز مورد استفاده قرار گیرد.

- تعریف Web server :Web server یا HTTP server نرم افزاری است که بر روی یک سرور سخت‌افزاری نصب شده، Request ها را در بستری مثل HTTP از Client ها دریافت کرده و به آنها پاسخ می‌دهد. این پاسخ ها یا به صورت Static از قبل در مسیری روی سرور ذخیره شده و یا به صورت Dynamic توسط یک Web Application ساخته شده و به سمت Client ها ارسال می‌شوند. مثلا تصاویر، ویدیو ها یا فایل های CSS و Javascript و ... می‌توانند به صورت Static روی سرور ذخیره شده و توسط Web server به Client ارسال شوند. اما اطلاعاتی مثل محصولات خریداری شده توسط کاربر، دانشجویان برتر ترم جاری، آگهی های منقضی شده و ... باید به صورت لحظه ای و Dynamic از دیتابیس ها و ... جمع آوری و تجمیع شده و در قالب یک پاسخ مناسب برای Client ها ارسال شوند.
- تعریف Reverse proxy: یک Proxy server در حالت عادی، یک سرور واسط میان یک Client و سایر سرور ها است. این سرور واسط، جلوی همه درخواست های یک Client قرار گرفته، آنها را دریافت کرده و به جای او به سرور های مقصد ارسال می‌کند. تحریم شکن ها و فیلترشکن های قدیمی تر در واقع یک Proxy server بودند که همه درخواست های کاربر را گرفته و آنها را به جای او به سرور های مورد نظرش ارسال کرده و پاسخ دریافتی را به کاربر بر می گرداندند. (فیلترشکن های امروزی به جای Proxy server از VPN استفاده می‌کنند). اما Reverse proxy برعکس Proxy server معمولی است. این نوع از پراکسی به جای دریافت همه درخواست های یک Client و ارسال آنها به سرور های مختلف (Forward proxy)، درخواست های همه Client ها را دریافت کرده و به یک سرور خاص ارسال می‌کند (Reverse Proxy).
- تعریف Load balancer: با افزایش تعداد Request های وارد شده به یک سرور، منابع بیشتری از آن سرور اشغال می‌شود (Load روی سرور افزایش می‌یابد). با افزایش Load روی سرور، عملکرد آن تحت تاثیر قرار گرفته و پاسخ‌دهی به درخواست ها با کندی روبرو می‌شود. در این صورت، سرور های فعلی جوابگوی نیاز ما نیستند و باید سرور ها را Scale کنیم. ممکن است اولین ایده ای که برای Scale کردن سرور ها به ذهن برسد افزایش قدرت پردازنده و حافظه RAM باشد. به این روش Vertical Scaling می‌گوییم. اما معمولا ایده بهتر استفاده از Server Farm (چند سرور متوسط به جای یک سرور قوی) است که به روش Horizontal Scaling معروف است. در این صورت Load balancer با قرار گرفتن در جلوی ورودی Server Farm، درخواست های وارد شده را دریافت و آنها را بین چند سرور مختلف با عملکرد یکسان توزیع می‌کند.
- تعریف Web cache: معمولا سرو کردن محتوای Static توسط Web server ها بسیار ساده تر و سریعتر از محتوای Dynamic صورت می‌گیرد. برای ساختن محتوای Dynamic معمولا کوئری های نسبتا زمان‌بری به Database ها زده می‌شود و یا الگوریتم های نسبتا پیچیده ای اجرا می‌شوند. بنابراین واضح است که آماده شدن چنین محتوایی نه تنها کندتر از محتوای Static صورت می‌گیرد، بلکه منابع سخت افزاری (RAM و CPU) بیشتری را از سرور اشغال می‌کند. Web cache یا HTTP cache محتوای Dynamic تولید شده برای Request های پرتکرار را به صورت Static در سرور Cache کرده و برای درخواست های بعدی در صورت امکان از آنها استفاده می‌کند. بنابراین پاسخ درخواست های پرتکرار، بسیار سریعتر از حالت عادی داده می‌شود و همچنین بار (Load) وارد شده به سرور نیز بطور چشمگیری کاهش می‌یابد.

با اینکه بیشترین سهم از بازار Web server ها در حال حاضر (۲۰۱۹) در دست Apache HTTP Server است، با این حال Nginx به علت عملکرد بهتر در مواجهه با منابع محدود و همینطور scale پذیری بیشتر، در حال ربودن گوی سبقت از Apache است. البته Web server های دیگری مثل Microsoft IIS و LiteSpeed هم در رده های سوم و چهارم قراردارند که وقت شما را با پرداختن به آنها نمیگیریم ;)

یکی از تفاوت های Nginx با Apache HTTP Server در این است که Apache ماژول هایی دارد که به کمک آنها قادر است محتوای Dynamic (از طریق اسکریپت های PHP یا Python یا ...) را خودش پردازش و تولید کند، اما Nginx برای اینکه سبک تر و سریع تر باشد روی وظیفه اصلی خودش تمرکز کرده و ساختن محتوای Dynamic را به نرم‌افزار های مخصوص این کار مثل php-fpm برای PHP یا uWSGI برای Python می‌سپارد.

یگی دیگر از تفاوت های Apache HTTP Server و Nginx در این است که Apache هنگام سرو محتوای Static می‌تواند از هر Directory، یک فایل به نام htaccess. شامل تنظیمات Apache برای آن دایرکتوری را بخواند و تنظیمات خود را برای آن دایرکتوری Override کند. Override کردن تنظیمات به ازای هر دایرکتوری باعث پیچیدگی در مدیریت تنظیمات می‌شود و همینطور به علت در دسترس بودن، امنیت پایین تری دارد، به همین دلیل Nginx در کل چنین قابلیتی را ارایه نمی‌دهد.

ادامه مطلب: https://vrgl.ir/A3pVz

موافقین ۰ مخالفین ۰ ۹۹/۰۹/۱۰
حمیدرضا حسین خانی

apache

http

http server

nginx

reverse proxy

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی