در معرفی Nginx توضیح دادم که event-driven, non-blocking یعنی چه... ساختاری که با event که همان درخواست هست جوابگوی درخواست ها هست.
ایده ای جذاب که با ایده جذاب دیگری ترکیب شده است.
اجرای کد های جاوا اسکریپت در پروژه هایی همچون CommonJs دیده شده بود ولی با اینکه javaScript زبانی مجزا از مرورگر بود (با اینکه به مدیریت نت اسکیپ طراحی شد ولی کاملا مجزا بود ولی با دادن LiveScript توسط netscape یا jScript توسط IE خیلی به عنوان زبانی که فقط برای مرورگر است دیده شده است) کمی غریب دیده میشدند. ایده کلی این بود که جاوا اسکریپت مختص مرورگر نیست.
Nodejs در حقیقت با استفاده از V8 که engine مربوط به chrome است کار می کند.
کار اصلی Twisted ساخت برنامه های network در پایتون است. کارهایی از قبیل asynchronous programming به راحتی با Twisted قابل انجام است. در انتها می بینید که به راحتی می توانید یک وب سرور ساده با Twisted بنویسید. کلا کارهای کولی با Twisted میشه کرد :D
در اکثر جاها Twisted کارها، نوشتن یادگیری Twisted نیاز به کار و تمرین زیاد داره در عین حالی که کد خوبی داره و مستندات کاملی داره.
from twisted.web import server, resource from twisted.internet import reactor class HelloResource(resource.Resource): isLeaf = True def render_GET(self, request): request.setHeader("content-type", "text/plain") return "Hello, world!" reactor.listenTCP(8080, server.Site(HelloResource())) reactor.run()
در نمونه ی بالا اومده با وب سرور Twisted یک صفحه ساده Hello, World ساده درست می کند.
چند وقتی هست که دوست دارم درباره Twisted مطالبی بنویسم. مطلب فارسی مناسبی برای این کتابخانه وجود ندارد.
بعد از این درباره asynchronous و thread و parallel می گم و در نهایت یه برنامه ای می نویسیم .
سایت اصلی:
http://twistedmatrix.com
web server چیست؟ به طور کلی هر چیز ( نرم افزاری یا سخت افزاری ) که داده ای را از طریق اینترنت یا شبکه به کاربر منتقل کند web server نامیده می شود.
nginx نامweb server/reverse proxy ی سبکی است که در سال ۲۰۰۲ به علت مشکل تعداد درخواست زیاد در سایت روسی http://www.rambler.ru شکل گرفت و در سال ۲۰۰۴ اولین نسخه رسمی خود را انتشار داد. تا کنون این وب سرور 11.28%. از سهم تمام وب سرور های دنیا را در دست دارد.
این وب سرور که هر روز جمع بیشتری از آن استفاده می کنند Wordpress.com را لیست استفاده کننده گان خود دارد.
از نکات مهم این وب سرور این است که بر روی سیستم عامل های windows linux Bsd و osx به راحتی نصب می شود
در این سیستم استفاده از روش asynchronous event-driven است که باعث شده که به میزان استفاده ثابت از RAM برسیم.