جنگو (Django) یک چارچوب نرمافزاری تحت وب آزاد و متنباز است که به زبان پایتون نوشته شده است و از معماری مدل-نما-کنترلگر (Model-view-controller) پیروی میکند. جنگو اولین بار برای مدیریت صفحات خبری وبسایت شرکت Lawrence Journal-World توسعه داده شد و سپس در سال ۲۰۰۵ تحت اجازهنامه بیاسدی منتشر شد. نام جنگو از جنگو راینهارت، نوازندهٔ گیتار جاز گرفته شده است. هدف اصلی جنگو ساخت آسان سایتهای پیچیده و وابسته به دیتابیس است و بر پایهٔ قابلیت استفادهٔ مجدد و قابل اتصال بودن اجزای مختلف، توسعه ی سریع و اصل خودت را تکرار نکن (DRY) طراحی شده است. جنگو سراسر از پایتون استفاده میکند، حتی برای تنظیمات، فایلها و مدلهای اطلاعات. هروکو (Heroku) یک بستر به عنوان سرویس ابری است که از زبانهای برنامهنویسی مختلف پشتیبانی میکند. هروکو در سال ۲۰۱۰ توسط شرکت سیلزفورس خریداری شد. هروکو یکی از اولین بسترهای ابری است که از جون ۲۰۰۷ در حال توسعه است. این سرویس در ابتدا فقط از زبان برنامهنویسی روبی پیشتیبانی میکرد ولی بعداً پشتیبانی از جاوا، نود. جیاس، اسکالا، کلوژر، پایتون، پیاچپی و گو را به سرویس خود اضافه کرد. در دوره Udemy How To Push Django Python Apps To Heroku for Web Hosting به آموزش ترکیب جنگو پایتون با هروکو برای میزبانی وب می پردازیم.
Laravel یکی از فریم ورک های زبان PHP است که برای توسعه اپلیکیشن های وب در نظر گرفته شده است و بر پایه MVC کار می کند. فریم ورک لاراول، برنامه نویسی برنامه های کاربردی تحت وب با زبان PHP را سادهتر می نماید و کمک بسزایی برای انجام پروژه های PHP و توسعه آسان آنها می کند. فریم ورک Laravel بر روی اجزای مختلف فریم ورک symfony ساخته شده است و به برنامه شما پایهای بزرگ از کد های قابل اعتماد و تست شده می دهد. لاراول مجموعه ای از بهترین راه حل ها با سینتکس پر معنا و خلاقانه را ارائه میکند که به درستی انجام می پذیرند. چند ماه پیش بود که لاراول ۵.۳ انتشار یافت و حالا لاراول ۵.۴ با یکسری ویژگی های جدید و امکانات جدید که به آن اضافه شده ریلیز شد. اگرچه ما تا بحال هم به صورت پیوسته نوآوریهای فراوانی را برای این فریم ورک ارائه کردهایم، اما ۵٫۴ یکی از جالبترین نسخههایی است که تا امروز دیدهاید. لاراول نسخه 5.1 همراه با ویژگی های جدیدی معرفی شد؛ مهمترین ویژگی هایی که با این نسخه لاراول معرفی شده است اعلام رویدادها، بهبود امکانات تست و پشتیبانی از LTS است . در دوره ی آموزشی Udemy 2018 Fullstack: Laravel 5.6 With QRCodes, APIs, Android/IOS با ویژگی های جدید لاراول 5.6 برای طراحی حرفه ای بلاگ و سی ام اس آشنا می شوید.
دارت زبان برنامهنویسی است که توسط گوگل توسعه داده میشود. هدف دارت جایگزین کردن جاوااسکریپت که زبان داخلی مرورگرهای وب است است. دارت راه حلی برای مشکلات موجود در جاوا اسکریپت (بهطور مثال مشکل حافظه) است که کارایی بهتر، قابلیت استفاده سادهتر برای پروژههای بزرگ و امنیت بیشتری را فراهم میکند. گوگل همچنین بسیار تلاش دارد تا دارت را پیچیده تر بسازد و ویژگیها و قابلیتهای فراوانی به آن ببخشد. دارت زبانی برپایه کلاس، وراثت یگانه و شی گرایی است که گرامر آن شبیه زبان C بوده و دارای Interface،reified generics کلاسهای Abstract و Optional typing است. type annotationهای ایستا تأثیری بر روی سمانتیک کد در زمان اجرا ندارد. در عوض type annotation میتواند پروندههایی برای ابزارهایی مانند checkerهای ایستا و checkهای پویای در زمان اجرا را فراهم نماید. این پروژه توسط لارس بک و کسپر لاند پایهگذاری شدهاست. Flutter ابتدا توسط گوگل به عنوان یک چارچوب رابط کاربری یا همان طراحی UI برای ایجاد رابط های بومی (Native) در سیستم عامل های IOS و Android مطرح شد. Flutter با کد های موجود درون برنامه کار می کند و اغلب توسط توسعه دهندگان و سازمان ها به دلیل استفاده رایگان (Free Use) و منبع باز بودن در سراسر دنیا مورد استفاده قرار میگیرد. همچنین Flutter یک روش اصلی برای ایجاد کردن برنامه های کاربردی برای Google Fuchsia است ( Fuchsia یک سیستم عامل مبتنی بر قابلیت هایی است، که توسط گوگل ارائه شده و توسعه یافته است). اولین نسخه Flutter به نام SKY شناخته شده و در سیستم عامل اندروید مورد استفاده قرار میگیرد. در دوره آموزشی Udemy Dart and Flutter The Complete Developer's Guide با آموزش فلاتر و دارت برای ساخت اپ های آی او اس و اندروید آشنا خواهید شد.
R، یک زبان برنامهنویسی و محیط نرمافزاری برای محاسبات آماری و علم دادهها است، که بر اساس زبانهای اس و اسکیم پیادهسازی شده است. این نرمافزار متن باز، تحت اجازهنامه عمومی همگانی گنو عرضه شده و به رایگان قابل دسترس است. زبان اس بجز R، توسط شرکت Insightful، در نرمافزار تجاری اسپلاس نیز پیادهسازی شده است. اگرچه دستورات اسپلاس و R بسیار شبیه است لیکن این دو نرمافزار دارای هستههای متمایزی میباشند. R، حاوی محدودهٔ گستردهای از تکنیکهای آماری (از جمله: مدلسازی خطی و غیرخطی، آزمونهای کلاسیک آماری، تحلیل سریهای زمانی، ردهبندی، خوشهبندی و غیره) و قابلیتهای گرافیکی است. در محیط R، کدهای سی، سی++ و فورترن قابلیت اتصال و فراخوانی هنگام اجرای برنامه را دارند و کاربران خبره میتوانند توسط کدهای سی، مستقیماً اشیا R را تغییر دهند. گرچه R اغلب به منظور انجام محاسبات آماری به کار میرود، این نرمافزار قابل به کارگیری در محاسبات ماتریسی است و در این زمینه، همپای نرمافزارهایی چون اُکتاو و نسخهٔ تجاری آن متلب (MATLAB) است. R، همچنین نرمافزار قدرتمندی برای ایجاد اشکال گرافیکی و نمودارهاست. در دوره آموزشی Lynda Cleaning Bad Data in R با آموزش پاکسازی داده ای کثیف در آر آشنا می شوید.
به صورت کلی برای تست عملکرد (functional test) دو روش جعبه سفید (whitebox) و جعبه سیاه (blackbox) وجود دارد. در حالت جعبه سفید، خود برنامه نویس یک روال تست را در قالب unit test برای تک تک کلاس ها و توابع برنامه می نویسد و کد را تست می کند. ولی در حالت جعبه سیاه ما دیگر کاری با ساختار داخلی کد نداریم و فقط به سیستم ورودی لازم را میدهیم و انتظار داریم خروجی درستی به ما بدهد. یکی از بهترین ابزارهای این تست Selenium است که با این نرم افزار نه تنها می توانید تست هایی را برای هر بخش تعریف کنید، بلکه می توانید تست ها را زمان بندی کرده و به طور خودکار انجام دهید. فرض کنید وب سایت شما ۱۰۰ ویژگی مختلف دارد، شما همه ی این ۱۰۰ ویژگی را تست می کنید و وب سایتتان را منتشر میکنید. بعد از دو روز یک باگ گزارش می شود و یا میخواهید تغییر کوچکی در روند فعالیت کاربر ایجاد نمایید. آیا پس از اعمال تغییرات یا رفع باگ میخواهید دوباره همه ی آن ۱۰۰ ویژگی را تست کنید. اینجاست که سلنیوم به کمک شما می آید و همه ی تست ها را به صورت خودکار انجام می دهد. سلنیوم دو بخش اصلی به نام های سلنیوم IDE یا (selenium IDE) و سلنیوم وب درایور (selenium webdriver) دارد. سلنیوم IDE یک addon برای فایرفاکس است و پس از نصب آن می توانید آیکن آن را در کنار نوار آدرس ببینید. سلنیوم وب درایور یک کتابخانه برنامه نویسی است که برای اکثر زبان های معروف از جمله پایتون و جاوا موجود است. این کد را می توانید از سلنیوم IDE خروجی بگیرید. پس از اینکه در سلنیوم IDE ضبط دستورات تمام شد از منوی فایل روی export test case رفته و زبان مورد نظر خود را انتخاب کنید. سپس سلنیوم یک خروجی به همان زبان به شما خواهد داد. در دوره آموزشی Packt Beginning Selenium WebDriver Testing in Python به طور کامل با امکانات و ویژگی های سلنیوم وب درایور و معماری اتوماسیون تست با پایتون آشنا می شوید.
نود.جیاس (Node.js) یک چارچوب نرمافزاری ورودی/خروجی برای پایه رویداد (Event) برای موتور جاوااسکریپت V8 برای سکوهای شبه یونیکس است. Node.js به هدف این است که مشابه توئیستد (Twisted) برای پایتون، Perl Object Environment برای پرل و EventMachine برای روبی شود. Node، بر خلاف جاوااسکریپت در مرورگر اجرا نمیشود بلکه به جاوااسکریپت تحت کارساز مربوط است. Node.js برخی مشخصات CommonJS را پیاده سازی میکند. Node.js شامل یک محیط یک محیط REPL (حلقهٔ خواندن-اجرا کردن-چاپ کردن) برای آزمایش گرفتن تعاملی است. در دوره آموزشی Udemy Understanding NPM - Node.js Package Manager شما با قابلیت های اساسی و کلیدی این چارچوب نرمافزاری قدرتمند و کاربردی آشنا می شوید.
داده های عظیم، ابر داده، بزرگداده یا داده های بزرگ (Big Data) اصطلاحی است که به مجموعه داده هایی اطلاق میشود که مدیریت، کنترل و پردازش آنها فراتر از توانایی ابزارهای نرمافزاری در یک زمان قابل تحمل و مورد انتظار است. مقیاس بزرگ داده، به طور مداوم در حال رشد از محدوده چند ۱۰ ترابایت به چندین پتابایت، در یک مجموعه داده واحد است. نـمونههایی از بزرگ داده، گــزارش های وبی، سامانه های بازشناسی با امواج رادیویی، شبکههای حسگر، شبکههای اجتماعی، متون و اسناد اینترنتی، نمایههای جستجوهای اینترنتی، نجوم، مدارک پزشکی، آرشیو عکس، آرشیو ویدیو، پژوهشهای زمینشناسی و تجارت در مقیاس بزرگ هستند. هادوپ یک نرم افزار کد باز (Open source) است که برای تقسیم بندی و توزیع فایل های متمرکز به کار می رود. هادوپ تحت لیسانس آپاچی (Apache) ارائه می شود و توسط جاوا برنامه نویسی شده است. امّا هادوپ چگونه به وجود آمد؟ شرکت گوگل در پی افزایش حجم تبادل اطلاعات، به دنبال راه حلّی برای افزایش سرعت و راندمان سرورهای خود بود که سیستم توزیع (Distribution) منحصر به فردی برای خود ابداع کرد به نام GFS که مخفف Google File System بود. در پی این موفقیت، انجمن توزیع Apache به فکر گسترش این تکنولوژی در سطح وسیع تری افتاد و سیستم هادوپ به وجود آمد. هادوپ یک فریم ورک یا مجموعه ای از نرم افزارها و کتابخانه هایی است که ساز و کار پردازش حجم عظیمی از داده های توزیع شده را فراهم می کند. در واقع Hadoop را می توان به یک سیستم عامل تشبیه کرد که طراحی شده تا بتواند حجم زیادی از داده ها را بر روی ماشین های مختلف پردازش و مدیریت کند. در دوره آموزشی Udemy Bigdata and Hadoop [Scalebyte] با هادوپ و داده های حجیم آشنا می شوید.
Anaconda یک توزیع رایگان از پایتون است که برای تحلیل داده، پردازش و محاسبات علمی از آن استفاده میشود. Anaconda در دو نسخه برای پایتون 2.7 و 3.4 عرضه شده است. این توزیع شامل بیش از 300 پکیج مختلف از پایتون در زمینههای علوم، ریاضیات، مهندسی و تحلیل داده است. نصب هر کدام از این پکیجها روی هسته اصلی پایتون برای خود دردسرهایی را دارد و به راحتی نمیتوان این کار را انجام داد. اما Anaconda بیشتر این پکیجها را جمعآوری کرده و از آنها میتوانید در برنامه خودتان استفاده کنید. Anaconda همچنین یک محیط کاستوم برای ترکیب نسخههای مختلف پایتون (2.6، 2.7، 3.3 یا 3.4) و پکیجهایی که روی نسخهها و بسترهای مختلف کار میکند، ایجاد کرده است تا با استفاده از conda به راحتی بین این محیطها جابجا شوید. که این یک ابتکار جدید برای مدیریت پکیجها در پایتون و زبانهای دیگر است. در دوره آموزشی Udemy Python Masterclass | Basic to OOP Programming with Anaconda با آموزش مقدماتی تا شی گرا پایتون با آناکوندا آشنا می شوید.
زبان جاوا در سال ۱۹۹۱ ایجاد شد و در ابتدا Oak نام گرفت. پیدایش آن از پروژه ای به نام Green منشا گرفت كه زیر نظرJames Gosling و با هدف اتوماسیون وسایل خانگی دنبال می شد. و Oak را در برنامه ریزی این دستگاه ها به عنوان زبانی قدرتمند به كار گرفتند. ولی تا سال ۱۹۹۴ این پروژه در ناامیدی دنبال می شد تا اینكه این تیم توسعه پس از تغییر رویه اینترنت را در اهداف كار خود گنجاند. Oak به Java تغییر نام داده شد تا بتواند به عنوان نشان تجاری ثبت شود.Netsccap Navigator ۰/۲ در سپتامبر سال ۱۹۹۵ از این زبان كه به صورت Applet، به كار می رفت پشتیبانی كرد و Microsoft در اواخر سال ۱۹۹۵ آن را به كار گرفت. زبان برنامهنویسی Python از زبانهای برنامه نویسی مفسر بوده و به صورت کامل یک زبان شیگرا است که در ویژگیها با زبانه ای تفسیری پرل، روبی، اسکیم، اسمالتاک و تیسیال مشابهت دارد و از مدیریت خودکار حافظه استفاده میکند. زبان برنامه نویسی پایتون بر خوانایی بالای برنامههای نوشته شده و کوتاهی و بازدهی نسبی بالای آن ها تاکید دارد. کلمات کلیدی و اصلی این زبان به صورت حداقلی تهیه شدهاند و در مقابل کتابخانههایی که در اختیار کاربر است بسیار وسیع هستند. پایتون مدلهای مختلف برنامه نویسی (از جمله شیء گرا و برنامه نویسی دستوری و تابع محور) را پشتیبانی میکند و برای مشخص کردن نوع متغییرها از یک سامانه پویا استفاده میکند. زبان پایتون به دلیل سادگی ,قدرت و مودالهای کامل آن مورد توجه خیلی از سازمانها مانند گوگل، یاهو و IBM قرار گرفته است. در دوره آموزشی Packt Java to Python in 100 Easy Steps - The Fastest Way to Learn Python for Experienced Java Programmers با پایتون برای برنامه نویسان جاوا آشنا خواهید شد.
زبان برنامه نویسی جاوا زبانی است که تحت انحصار هیچ شرکت و هیچ فرد خاصی نیست و به صورت سورس باز و همگانی در حال توسعه و پیشرفته است. شاید بتوان گفت دلیل ناشناس ماندن آن، این است که یک مرکز اصلی و قوی برای تبلیغات و مانور مثل مایکروسافت ندارد. البته نمی شود گفت که جاوا فاقد چنین مرکزی است ولی می شود این طور گفت که جاوا فاقد یک مرکز و یک صاحب واحد می باشد تا آن را توسعه بدهند. اما در هر زبان برنامه نویسی،داشتن یک IDE، یکی از همین سیاست هایی است که به آن اشاره شد. مایکروسافت برای محصولات خود ویژوال استودیو را عرضه کرده است، ولی جاوا در حال حاضر چندین IDE قوی برای توسعه از طرف شرکت های مختلف و معتبر و با کیفیت ها و قیمت های گوناگون از جمله (NetBeans(Sun), JDevelopers(Oracle), Eclipse(IBM) و ... دارد. از جمله محیط هایی که به صورت رایگان و قوی عرضه شده، نرم افزار Eclipse است که تحت لیسانس GPL و سورس باز می باشد. Eclipseیک محیط برنامه نویسی (IDE) کد منبع باز برای زبان برنامه نویسی جاوا (که البته دارای نسخه هایی جهت برنامه نویسی به زبان هایی مانند python, Perl, PHP, C++, C و ... است ) می باشد. این محیط توسط شرکت هایی مانند IBM پشتیبانی می گردد. در دوره Udemy Java Masterclass: Beginner to OOP Programming with Eclipse با آموزش برنامه نویسی مقدماتی تا شی گرا جاوا با اکلیپس آشنا می شوید.