article

جنگو چیست؟

محمد کاظمی 3 سال،5 ماه پیش 874 دسته بندی : برنامه نویسی

جنگو یک فریمورک برای توسعه ی سریع وب و مبتنی بر زبان برنامه نویسی پایتون است که از امنیت بالایی نیز برخوردار است و بسیاری از نیازهای شما در خورد دارد تا به دور از ایجاد قسمت های خسته کننده و تکراری بر روی توسعه ی وب سایت تمرکز کرده و عملا در بسیاری از بخش ها به اصطلاح نیازی به اختراع دوباره ی چرخ نداشته باشید.

مزایای استفاده از جنگو:

1- همه کاره بودن

با جنگو تقریبا هر وبسایتی را ایجاد کنید از وبسایت های برای قرار دادن مقالات گرفته تا وبسایت های خبری و فروشگاهی و شبکه های اجتماعی و... شما می توانید از جنگو برای کار با هر تکنولوژی سمت کاربری استفاده کنید ، شما می توانید از جنگو در هر نوع قالبی استفاده کنید از HTML و XML گرفته تا SSR و JSON و... علاوه بر این جنگو امکان استفاده از پایگاه داده های مختلفی را نیز برای شما فراهم می کند. همین سایتی که درحال حاضر در حال مشاهده ی آن هستید با کمک فریمورک جنگو ایجاد شده.

2- امنیت بالا

جنگو از متد های امنیت بسیار خوبی استفاده می کند که باعث می شود در صورت اشتباه یا سهل انگاری توسعه دهنده خطر کمتری متوجه وبسایت شود. برای مثال :

محافظت در برابر حملات XSS یا Cross site scripting

حملات XSS به کاربر اجازه می دهد اسکریپت های سمت کلاینت یا کاربر را به مرورگرهای سایر کاربران تزریق کند. این امر معمولاً با ذخیره اسکریپت های مخرب در پایگاه داده که در آن بازیابی می شود و برای سایر کاربران نمایش داده می شود ، یا با وادار کردن کاربران به کلیک روی پیوندی که باعث می شود JavaScript مهاجم توسط مرورگر کاربر اجرا شود ، انجام می شود. با این حال ، حملات XSS می توانند از هر منبع داده غیرقابل اعتمادی ، مانند کوکی ها یا سرویس های وب ، نشات بگیرند.

استفاده از الگوهای جنگو شما را در برابر اکثر حملات XSS محافظت می کند. با این حال ، مهم است که درک کنیم چه محافظتی ارائه می دهد و محدودیت های آن را به خوبی بشناسیم.

یا محافظت در برابر حملات Cross site request forgery یا به اختصار CSRF

حملات CSRF به یک کاربر مخرب اجازه می دهد بدون اطلاع و رضایت کاربر دیگر ، با استفاده از اعتبار وی اقداماتی را انجام دهد.

Django از محافظت داخلی در برابر بیشتر انواع حملات CSRF برخوردار است ، به شرطی که درصورت لزوم آن را فعال کرده و از آن استفاده کنید. با این حال ، مانند هر روش دیگر محدودیت هایی نیز وجود دارد. 

3- مقیاس پذیری بالا

جنگو از معماری “shared-nothing” بهره می برد به معنای اینکه هر بخش مستقل از بخش دیگر عمل می کند و در صورت لزوم می توان هر بخش را جایگزین نمود تا نیاز های ما را برآورده کند. بسیاری از وبسایت های پر بازدید مانند Instagram و یا Disqus به خوبی از این قابلیت جنگو برای توسعه ی خود استفاده می کنند.

4- قابلیت نگهداری

جنگو همواره شما به نوشتن کد های قابل نگهداری و استفاده ی مجدد تشویق می کند. جنگو به طور خاص استفاده از روش Don't repeat yourself یا DRY را به شما توصیه می کند تا به جای کپی کردن کدهای نوشته شده یکبار بنویسید و به راحتی چندین جا از آن استفاده کنید.

5- قابلیت حمل

جنگو مبتنی بر پایتون است و این بدان معنی است که جنگو نیز مانند پایتون امکان اجرا روی بیش تر سیستم های عامل را دارد. شما به راحتی می توانید جنگو را روی توزیع های مختلف اوبونتو ، ویندوز و یا مک اجرا کنید.

جنگو چقدر محبوب است؟

برای این سوال پاسخ دقیقی نمیتوان ارایه کرد ، بعضی از سایت ها مانند Github یا Stackoverflow آمار هایی دارند ولی خیلی فابل استناد نیستند با این حال بگذارید این سوال را به گونه ای دیگر مطرح کنیم: 

آیا جنگو محبوب است؟

جواب این سوال را می توان دقیق تر داد ، در حال حاضر جنگو دارای جامعه ی توسعه دهندگان بسیار بزرگی است و بنابراین می توان گفت جنگو یک فریمورک محبوب است. علاوه بر این کمپانی هایی مانند : Instagram , Disqus ,Mozilla ,National Geographic ,Pinterest و... از این فریمورک استفاده می کنند.

مطالب پیشنهادی
article

مشهور ترین وبسایت هایی که با جنگو ایجاد شده اند

در این مقاله میخوایم شما رو با مشهور ترین وبسایت هایی که با فریمورک جنگو ایجاد شدن آشنا بکنیم.

محمد کاظمی 2,435 بیشتر بخوانید
article

چطوری با پایتون وبسایت بسازیم

پایتون یکی از محبوب ترین زبان های برنامه نویسی در حوزه ی وب هست و با کمک این زبان می توانیم وبسایت های با مقیاس های مختلفی را به راحتی ایجاد کنیم. در این مقاله میخواهیم با روند ساخت یک …

محمد کاظمی 788 بیشتر بخوانید
article

فرانت اند چیه؟ بک اند چیه؟ فرقشون چیه؟

توی برنامه نویسی وب احتمالا در مورد بک اند (backend) و فرانت اند (frontend) زیاد شنیدین ، این دو مبحث با وجود اینکه دو مقوله ی کاملا جدا هستند ولی باید در کنار هم به عنوان یک واحد با هم …

محمد کاظمی 839 بیشتر بخوانید