جنگو یک زبان وب سطح بالای پایتون است که امکان توسعه سریع وب سایت های امن و قابل نگهداری را فراهم می کند. جنگو که توسط توسعه دهندگان باتجربه ساخته شده است، از بسیاری از مشکلات توسعه وب مراقبت می کند، بنابراین می توانید بدون باز طراحی اشیاء، روی نوشتن برنامه خود تمرکز کنید. رایگان و منبع باز است، دارای یک جامعه پر رونق و فعال، اسناد عالی، و گزینه های زیادی برای پشتیبانی رایگان و پولی است.
جنگو به شما کمک می کند تا نرم افزارهایی بنویسید که عبارتند از:
کامل:
جنگو از فلسفه "Batteries included" پیروی می کند و تقریباً هر کاری را که توسعه دهندگان ممکن است بخواهند "بیرون از جعبه" انجام دهند را ارائه می دهد. از آنجایی که هر چیزی که نیاز دارید بخشی از یک "محصول" است، همه آنها به طور یکپارچه با هم کار می کنند، از اصول طراحی سازگار پیروی می کنند و دارای اسناد گسترده و به روز هستند.
همه کاره:
جنگو میتواند برای ساختن تقریباً هر نوع وبسایتی (از سیستمهای مدیریت محتوا و ویکیها گرفته تا شبکههای اجتماعی و سایتهای خبری) مورد استفاده قرار گیرد. این می تواند با هر چارچوب سمت کلاینتی کار کند و می تواند محتوا را تقریباً در هر قالبی (از جمله HTML، فیدهای RSS، JSON و XML) ارائه دهد. درهر حال، در حالی که تقریباً برای هر عملکردی که ممکن است بخواهید (به عنوان مثال چندین پایگاه داده محبوب، موتورهای قالب و غیره) گزینه هایی را ارائه می دهد، همچنین می تواند در صورت نیاز برای استفاده از سایر مؤلفه ها گسترش یابد.
امن:
جنگو به توسعهدهندگان کمک میکند از بسیاری از اشتباهات امنیتی رایج با ارائه چارچوبی که برای «انجام کارهای درست» برای محافظت خودکار از وبسایت مهندسی شده است، اجتناب کنند. به عنوان مثال، جنگو یک راه امن برای مدیریت حسابهای کاربری و رمزهای عبور ارائه میکند، از اشتباهات رایج مانند قرار دادن اطلاعات جلسه در کوکیها در جایی که آسیبپذیر است (در عوض کوکیها فقط حاوی یک کلید هستند و دادههای واقعی در پایگاه داده ذخیره میشوند) یا ذخیره مستقیم گذرواژهها اجتناب میکند. به جای هش رمز عبور. هش رمز عبور یک مقدار با طول ثابت است که با ارسال رمز عبور از طریق یک تابع هش رمزنگاری ایجاد می شود. جنگو میتواند با اجرای آن از طریق تابع هش و مقایسه خروجی با مقدار هش ذخیره شده، صحت رمز عبور وارد شده را بررسی کند. اما به دلیل ماهیت "یک طرفه" تابع، حتی اگر مقدار هش ذخیره شده به خطر بیفتد، برای مهاجم سخت است که رمز عبور اصلی را پیدا کند.
جنگو به طور پیشفرض محافظت در برابر بسیاری از آسیبپذیریها را فعال میکند، از جمله تزریق SQL، اسکریپتنویسی متقابل، جعل درخواستهای بین سایتی و جعل کلیک.
مقیاس پذیری
جنگو از یک معماری مبتنی بر کامپوننت «shared-nothing» استفاده میکند (هر بخش از معماری مستقل از بقیه است و از این رو میتواند در صورت نیاز جایگزین یا تغییر شود). داشتن جدایی واضح بین بخشهای مختلف به این معنی است که میتواند با افزودن سختافزار در هر سطحی، برای افزایش ترافیک مقیاسبندی شود: سرورهای کش، سرورهای پایگاه داده یا سرورهای برنامه. برخی از شلوغترین سایتها با موفقیت جنگو را برای برآورده کردن خواستههای خود افزایش دادهاند (مانند اینستاگرام و Disqus، فقط دو مورد را نام ببریم).
قابل نگهداری
کد جنگو با استفاده از اصول و الگوهای طراحی نوشته شده است که ایجاد کدهای قابل نگهداری و قابل استفاده مجدد را تشویق می کند. به طور خاص، از اصل تکرار نکنید (DRY) استفاده می کند، بنابراین هیچ تکراری غیرضروری وجود ندارد و مقدار کد را کاهش می دهد. جنگو همچنین گروهبندی عملکردهای مرتبط را به «برنامههای کاربردی» قابل استفاده مجدد و در سطح پایینتر، گروهبندی کدهای مرتبط را در ماژولها (در امتداد خطوط الگوی Model View Controller (MVC)) ترویج میکند.
دیدگاه خود را بنویسید