RESTful (یا REST مخفف Representational state transfer) روشی برای ایجاد، خواندن، آپدیت نمودن و با حذف اطلاعات بر روی سروری است که از HTTP call های ساده استفاده می کنند. در واقع REST یک مدل طراحی برای برنامه های شبکه ای می باشد که ارتباط بین دو سیستم (client-server) را توسط یک پروتکل (مانند http، smtp، ftp و ...) ایجاد می کند. برنامه های بر پایه این روش/معماری، ReSTful application نامیده می شوند، چرا که فقط با request های CRUD (مخفف create update read delete) پروتکل واسط با هدف تعامل برقرار می کنند. با استفاده از پروتکل دسترسی آسان به اشیاء یا سُوپ (Simple Object Access Protocol - SOAP) میتوان به ارسال و تبادل پیامهایی از جنس اکسامال بر روی شبکههای رایانهای مبادرت کرد. این پروتکل برای تبادل پیغامهای مبتنی بر اکسامال در میان شبکههای کامپیوتری است که معمولاً از HTTP/پروتکل امن انتقال ابرمتن استفاده میکند. سُوپ لایه زیر بنای پشته خدمات وب را تشکیل میدهد که یک چارچوب پیغام دهی ایجاد میکند که لایههای مجرد بیشتری میتوانند بر روی آن ایجاد شوند. در دوره Udemy Java Web Service Complete Guide - SOAP + REST + Buide App با آموزش کامل وب سرویس های سوپ و رست جاوا آشنا می شوید.
به صورت کلی برای تست عملکرد (functional test) دو روش جعبه سفید (whitebox) و جعبه سیاه (blackbox) وجود دارد. در حالت جعبه سفید، خود برنامه نویس یک روال تست را در قالب unit test برای تک تک کلاس ها و توابع برنامه می نویسد و کد را تست می کند. ولی در حالت جعبه سیاه ما دیگر کاری با ساختار داخلی کد نداریم و فقط به سیستم ورودی لازم را میدهیم و انتظار داریم خروجی درستی به ما بدهد. یکی از بهترین ابزارهای این تست Selenium است که با این نرم افزار نه تنها می توانید تست هایی را برای هر بخش تعریف کنید، بلکه می توانید تست ها را زمان بندی کرده و به طور خودکار انجام دهید. فرض کنید وب سایت شما ۱۰۰ ویژگی مختلف دارد، شما همه ی این ۱۰۰ ویژگی را تست می کنید و وب سایتتان را منتشر میکنید. بعد از دو روز یک باگ گزارش می شود و یا میخواهید تغییر کوچکی در روند فعالیت کاربر ایجاد نمایید. آیا پس از اعمال تغییرات یا رفع باگ میخواهید دوباره همه ی آن ۱۰۰ ویژگی را تست کنید. اینجاست که سلنیوم به کمک شما می آید و همه ی تست ها را به صورت خودکار انجام می دهد. سلنیوم دو بخش اصلی به نام های سلنیوم IDE یا (selenium IDE) و سلنیوم وب درایور (selenium webdriver) دارد. سلنیوم IDE یک addon برای فایرفاکس است و پس از نصب آن می توانید آیکن آن را در کنار نوار آدرس ببینید. سلنیوم وب درایور یک کتابخانه برنامه نویسی است که برای اکثر زبان های معروف از جمله پایتون و جاوا موجود است. این کد را می توانید از سلنیوم IDE خروجی بگیرید. پس از اینکه در سلنیوم IDE ضبط دستورات تمام شد از منوی فایل روی export test case رفته و زبان مورد نظر خود را انتخاب کنید. سپس سلنیوم یک خروجی به همان زبان به شما خواهد داد. در دوره آموزشی Packt Mastering Selenium WebDriver 3.X Test Automation به طور کامل با امکانات و ویژگی های سلنیوم وب درایور و معماری اتوماسیون تست آشنا می شوید.
مهندسی نرمافزار (Software engineering) یعنی استفاده از اصول مهندسی بجا و
مناسب برای تولید و ارائه محصول نرمافزاری با کیفیت که قابل اطمینان و با
صرفه بوده و برروی ماشینهای واقعی به طور کارآمدی عمل کند. مهندسی
نرمافزار یک روش سیستماتیک، منظم و دقیق برای ساخت و ارائه محصولی
نرمافزاری با کیفیت است. مهندسی نرمافزار اغلب شامل فرایند خطی تحلیل،
طراحی، پیادهسازی و آزمون است؛ که با به کارگیری روشهای فنی و علمی از
علوم مهندسی موجب تولید نرمافزاری با کیفیت مطلوب در طول یک فرایند
انتخابی مناسب پروژه میشود. در دوره آموزشی Udemy Software Engineering Tutorial Series شما با مباحث مختلف مهندسی نرم افزار آشنا می شوید.
زبان برنامه نویسی پرل (Perl) بطور وسیعی ساختار خود را از زبان C و بسیاری از خصوصیات خود را مدیون زبان های AWK , LISP , SED , SH است. در واقع پرل زبان مفسر داری است که برای کار بر روی فایلهای متنی مناسب است. یکی از کاربردهای مهم زبان برنامه نویسی PERL در نوشتن اکسپلوییتها و کدهای تخریب است. این زبان برنامه نویسی پیشینهای قدیمی در UNIX دارد. پرل امروزه در زمینههای هوش مصنوعی، ژنتیک، نظامی، تحقیقاتی، صنعتی بطور گستردهای کاربرد دارد. از پرل میتوانید در برنامههای.NET برای پردازش متن و یا هر چیز دیگری استفاده کنید. این قابلیت تنها به.NET محدود نمیشود و پرل را میتوان در زبانهای دیگر برنامه نویسی بدون در نظر گرفتن پلتفرم آن استفاده کرد. جالب است بدانید نرمافزاری که شما تحت سیستمعامل LINUX و یا MAC نوشتهاید روی سیستمعامل WINDOWS و UNIX هم اجرا میشود. قابلیت (Cross Platform) به شما امکان توسعه نرمافزارتان را بر روی هر سیستمعاملی فراهم میکند. با پا به عرصه گذاشتن CGI به صفحات وب زبان پرل به خاطر قدرت بالا در پردازش متن و تطبیق الگو (Regular Expressions)، در جمله زبان هایی قرار گرفت که بطور وسیعی برای نوشتن CGI بکار گرفته میشود. در این صورت یک سیستم برنامه نویسی پویای تحت وب و با استفاده از تکنولوژی CGI پیاده سازی می شود. به خاطر قدرت بسیار پرل درزمینه برنامه نویسی سیستمهای شبکه بسیاری از متخصصین شبکه و هکرها از این قافله عقب نمانده و امروزه شاهد این هستیم که بسیاری از برنامههای مدیریت شبکه، سیستمهای Spidering و Exploitها به زبان پرل نوشته میشود. نکتهای که باعث محبوبیت زبان پرل در میان برنامه نویسان شدهاست متنباز بودن این زبان است. در دوره آموزشی Udemy Learn Perl in just 7 days شما با قابلیت های اساسی و کلیدی این زبان برنامه نویسی قدرتمند آشنا می شوید.
در کنفرانس WWDC 2017 و در جریان آن شاهد معرفی محصولات متعددی بودیم. اما در بین تمام محصولاتی که اپل معرفی کرد، سیستمعامل iOS 11 یکی از اصلیترین موارد موجود به شمار میرفت. آیاواس (iOS) سیستم عاملی برای آیفون (iPhone) وآی پاد (iPad) و دیگر دستگاههای شرکت اپل مانند آی پد و اپل تی وی است. با استفاده از iOS 7 SDK می توان به ایجاد و توسعه اپلیکیشن های مفید برای آیفون و آی پد پرداخت. iOS از نظر معماری از چهار لایه Core OS، Core Services، Media Layer و Cocoa Touch تشکیل شده است. برنامهها قابل اجرا در آی او اس حتماً باید به طور خاص برای IOS و معماری ARM نوشته و کمپایل شوند و توسعه دهندگان میتوانند برای این منظور از کیت توسعه نرم افزاری آی او اس (iOS SDK) استفاده کنند. در دوره آموزشی Udemy The Complete iOS 11 Developer Course - Beginner To Advanced به طور کامل با توسعه اپ های آی او اس 11 آشنا می شوید.
در اولین روزهای تاسیس مجمع جهانی وب (Wide Web World) دستورات HTML بسیار ساده و آسان بود، بطوریکه فراگیری فرامین مورد نیاز بیشتر از چند روز طول نمیکشید ولی هنگامی که Web، شروع به پیشرفت نمود، طراحان خواستار کنترل بیشتری شده و در نتیجه مجموعه دستورات مورد نیاز تهیه گردید. از آنجایی که صفحات وب، بهتر است بصورت دینامیک و متحرک باشند، طراحان نیز خواستار ارتباط بین بینندگان سایت و صاحبان آن شدند، در نتیجه استفاده از دستورات HTML به تنهایی نیاز آنها را برطرف نکرد و سپس شرکت Netscape برای ایجاد و کنترل ارتباط بین صاحبان سایت و بینندگان آن در صفحات وب از JavaScript کمک گرفت. JavaScript دقیقا یک زبان برنامه نویسی می باشد که بوسیله آن میتوان بین کاربر و سایت ارتباط برقرار نمود. توجه داشته باشید که استفاده از JavaScript در صفحات Web نیازی به نوشتن اسکریپتها نداشته و میتوانید اسکریپتهای موجود در شبکه اینترنت را کپی و در مکان مورد نظر با ایجاد تغییرات مورد نیاز استفاده کنید. در دوره Packt A JavaScript Exercise - Target Blaster Game from Scratch با آموزش کامل جاوا اسکریپت همراه با ساخت بازی آشنا می شوید.
در سرویس دهی بر روی هاست های لینوکسی دیتابیس MySQL پایگاهی اطلاعاتی قدرتمند و شناخته شده است. این پایگاه داده در سال 2015 و 2016 در جدول جایگاه دوم را دارست و این آمار نشان دهنده کیفیت و پایداری MySQL در این عرصه است. این پایگاه داده همراه کنترل پنل های محبوب نظیر WHM/Cpanel و Directadmin و دیگر کنترل پنل های لینوکسی رایگان دیگر بصورت پیشفرض نصب میشود و تقریبا تمامی هاستینگ های لینوکسی از ان استفاده میکنند، علاوه بر این استفاده از این دیتابیس چه بصورت Stand Alone و یا LAMP بسیار رایج بوده و جهت سرویس دهی نصب و کانفیگ میشود. این پایگاه داده بصورت رایگان [Community] و هم بصورت تجاری [Enterprise] عرضه شده است . نسخه استفاده شده در سیستم های هاستینگ ورژن رایگان بوده و نسخه تجاری آن برای سازمان های بزرگ و دیتابیس های حجیم با درگیری بالا قابل استفاده می باشد. در دوره آموزشی Udemy MySQL Database Admin -DBA for Beginners به صورت مقدماتی با مای اس کیو ال و طراحی پایگاه داده با آن اشنا می شوید.
سوئیفت (Swift) یک زبان برنامهنویسی کامپایلری و چند پارادایمی است که توسط شرکت اپل برای توسعه نرمافزار بر روی بستر آیاواس و اواس ده تولید شدهاست. این زبان که در کنفرانس توسعهدهندگان اپل در سال ۲۰۱۴ معرفی شد، طراحی شده است تا جایگزینی برای زبان برنامهنویسی شیءگرای اپل یعنی Objective-C باشد. این زبان در کنار امکانات تازه سیستمعامل iOS، دست برنامهنویسان و توسعهدهندگان بزرگ و کوچک را در خلق اپلیکیشن هایی متفاوت و کاربردیتر باز می گذارد. وجه تمایز اصلی SWIFT در قابلیتی با نام playgrounds نهفته است. قابلتی که برنامه نویسها در محیط کاربری Xcode اجازه میدهد تا تیجه و حاصل کدهایشان را به صورت ریلتایم یا همزمان مشاهده کنند، درست مانند یک زبان برنامه نویسی اسکریپت! به علاوه، سوئیفت زبان برنامهنویسی سادهای است. در دوره ی آموزشی Udemy Become a Swift Developer from Scratch شما با قابلیت های اساسی و کلیدی این زبان برنامه نویسی کابردی قدرتمند آشنا می شوید.
ری اکت (که به صورت React.js یا ReactJS نیز خوانده میشود)، یک کتابخانه متنباز جاوا اسکریپت برای ساخت رابطهای کاربری با هدف مواجه شدن با چالش آدرسدهی در توسعهٔ اپلیکیشنهای تکصفحهای است. این کتابخانه توسط فیس بوک، اینستاگرام و جامعهای از توسعهدهندهها و شرکتها نگهداری میشود. اواخر مارچ ۲۰۱۵ یک فریم ورک جدید از فیس بوک منتشر شد. یک فریم ورک که به شما اجازه میدهد با استفاده از زبان جاوا اسکریپت و کتابخانه React اپلیکیشن موبایل بسازید. فعلا فقط برای iOS ولی بزودی برای Android هم توسعه داده می شود. در دوره آموزشی SkillShare Build your first app with React Native and Expo با آموزش ساخت اپ با ری اکتیو نیتیو آشنا می شوید.
Java Spring Framework مشهورترین فریم ورک برای ساخت نرم افزارهای تحت وب با جاوا می باشد. در مهندسی نرمافزار، مدل-نما-کنترلگر یا امویسی (MVC) به یک الگوی معماری نرمافزار گفته میشود. الگوی ساختاری امویسی به جداسازی دادههای کاربرد (از جملهٔ محتویات بخش مدل) از مؤلفههای ارائه شده بهصورت گرافیکی (بخش نما) و منطق مربوط به پردازش ورودیها (بخش کنترلگر) اقدام مینماید. هدف الگوی ساختاری امویسی صرفاً یکپارچگی در ساختار نرمافزار است و به کمک آن بدست گیری نرمافزار در راستای مدیریت و گسترش به سادگی انجام میگیرد. فریم ورک در حالت کلی یک مجموعه فایل است که یک سری Feature و Functionality در اختیار شما می گذارد. شاید بتوان گفت بهترین فریم ورک جاوا اسپرینگ است که برای پیاده سازی اساس کاری اپلیکیشن در حالت کامل استفاده می شود. از Business Logic گرفته تا پیادهسازیهای Service Oriented یا Aspect Oriented. یعنی شما با استفاده از فریم ورک Spring میتوانید کار DI یعنی Dependency Injection رو انجام بدهید و سرویسها و بیزینسلاجیک مورد نیاز خود را یک بار با فرمت XML تعریف کنید و در قسمت های مختلف اپلیکیشن به راحتی استفاده کنید. معروف ترین و شناخته شده ترین و احتمالا بهترین فریم ورک که برای ORM به معنی Object Relation Mapping میتوانید استفاده کنید هایبرنیت می باشد. اساسی ترین و پایه ای ترین کاری که هایبرنیت انجام می دهد این است که شما Domain Model یعنی ساختار دیتابیس را با یک سری فایل Java و XML داخل برنامه مدل میکنید و ارتباط های آنها رو مشخص میکنید (One to One و One to Many و ...). همچنین وضعیت Connection String دیتابیس را تنظیم میکنید و برای کوئری زدن به دیتابیس نهایتا با ۳-۴ خط، میتوانید تقریبا هر کوئری رو بزنید و resultset را بگیرید و داخل Business Logic اپلیکیشن استفاده کنید. در دوره آموزشی Udemy Complete E-Commerce Course - Java, Spring, Hibernate and MySQL با آموزش کامل تجارت الکترونیک با جاوا، اسپرینگ، هایبرنیت و مای اس کیو ال آشنا خواهید شد.