در علم ارتباطات راه دور و مهندسی نرمافزار مقیاسپذیری (Scalability)، ویژگی مطلوبی از یک سامانه(سیستم)، شبکه یا فرایند است که به توانایی آن برای پاسخگویی به افزایش میزان بار کاری به سهولت دلالت میکند یا میزان آمادگی سیستم را برای افزایش بار کاری نشان می دهد. به عنوان نمونه، مقیاس پذیری میتواند به توانایی یک سامانه برای افزایش عملکرد کلی در هنگام افزودن منابع(مثل سخت افزار) اشاره کند. هنگامی که این واژه در موضوعات مرتبط با کسب و کار بکار می رود نیز مفهوم مشابهی از آن برداشت می شود. مدلهای کسب و کار مقیاس پذیر مدلهایی هستند که پتانسیل ایجاد رشد اقتصادی سازمان را دارند. تعریف مقیاس پذیری به عنوان یک خصوصیت از سامانه (سیستم) به سادگی امکانپذیر نیست و در هر مورد خاصی با توجه به ابعاد مورد اهمیت باید نیازمندیهای جدیدی را برای مقیاس پذیری تعریف کرد. نقش مقیاسپذیری در طراحی و انجام سامانههای پیچیده و بزرگ همچون پایگاههای دادهها، پایگاههای دانش، محاسبات گسترده (distributed computing)، اینترنت، کاوشهای ماشینی در دادهها، بینایی رایانهای، و مخابرات بسیار حیاتی و عمده میشود. سامانه ای که با افزایش ظرفیت، کارایی آن افزایش می یابد یک سامانه مقیاس پذیر خوانده می شود. یک الگوریتم، طراحی، پروتکل، برنامه رایانه ای یا هر سیستم دیگری مقیاس پذیر خوانده میشود اگر برای مقیاسهای بزرگتر هم بتواند به طرز مناسب و عملی و کارا استفاده شود. در دوره آموزشی Packt Scalable programming with Scala and Spark با آموزش برنامه نویسی مقیاس پذیر با اسکالا و اسپارک آشنا می شوید.
زبان برنامه نویسی سوئیفت (swift) از مفاهیم پایه ای که باعث انعطاف پذیر شدن Objective C شده است پشتیبانی می کند، از جمله Dynamic Dispatch، late binding گسترده، برنامه نویسی توسعه پذیر و ویژگی های مشابه. همچنین این ویژگی ها دارای تعادل شناخته شده ای بین عملکرد و امنیت هستند که سوئیفت برای رفع آن طراحی شده است. برای امنیت، سوئیفت سیستمی را معرفی کرده است که خطاهای رایج برنامه نویسی مانند اشاره گرهای خالی را رفع می کند و قابلیت شکر نحوی یا Synthetic Sugar را معرفی کرده است تا از مشکل Pyramid of Doom جلوگیری شود. به خاطر مشکلات عملکرد، شرکت اپل تلاش زیادی در بهینه سازی انجام داده است که فراخوانی متدها و دسترسی ها را از بین می برد تا از این سر بار جلوگیری کند. اساسا سوئیفت مفهوم توسعه پذیری پروتکل را افزوده است که یک سیستم توسعه پذیری است که می تواند روی Type ها، ساختارها و کلاس ها اعمال شود. شرکت اپل این قابلیت را یک تغییر واقعی در الگوهای برنامه نویسی معرفی کرده است که به آن "برنامه نویسی پروتکل محور" می گویند. فریم ورک آی بی ام کیتورا یک چارچوب برای سوئیفت است که کدها را در فضای ابری سمت سرور اجرا می کند. در دوره آموزشی Lynda Learning Server-Side Swift Using IBM Kitura با فریم ورک آی بی ام کیتورا برای برنامه نویسی با سوئیفت سمت سرور آشنا می شوید.
طراحی سایت، به روند برنامه ریزی و ساخت یک سایت گفته می شود. متن، تصاویر، فایل های صوتی و تصویری و المان های برنامه نویسی، توسط طراحی سایت برای تولید صفحه ای قابل رویت در مرورگر، فرمت دهی می شوند. طراحان سایت ها برای ساخت صفحاتی که بتوانند توسط مرورگرها خوانده شوند، از زبان های نشانه ای که اکثرا برای ایجاد ساختار از HTML و برای نمایش از CSS هستند، استفاده می کنند. در دنیای Web 2.0، زبان های برنامه نویسی دیگر نظیر جاوا اسکریپت، Ruby on Rails، PHP، ASP.net و Perl برای ساخت صفحات سایت ها استفاده می شوند تا تعامل کاربر با سایت بوجود آید. در کل، پروسه طراحی سایت شامل، مفهوم سازی، طرح ریزی، پیش تولید، تحقیق، تبلیغات، و همچنین مدیریت فایل های صوتی، تصویری و دیگر فابل های چند رسانه ای مورد استفاده در صفحات سایت می باشد. در دوره آموزشی Packt Web Developer Toolbox Essentials for Modern Web Development همراه با آموزش NPM و YARN و... به طراحی وب سایت های مختلف و مدرن می پردازیم.
رابط برنامهنویسی نرمافزار کاربردی یا ایپیآی (API، مخفف Application Programming Interface) یا به صورت خلاصه رابط برنامهنویسی، رابط بین یک کتابخانه یا سیستمعامل و برنامههایی است که از آن تقاضای سرویس میکنند. رابط کارکردهایی را تعریف میکند که کتابخانه یا سیستمعامل میتواند ارائه دهد و مفهومی مجرد است. این کارکردها سپس در قالب یک نرمافزار یا کتابخانه پیادهسازی میشوند. به عبارت سادهتر، رابط برنامهنویسی مجموعه توابعی است که یک برنامه میتواند از یک برنامه دیگر فرا بخواند. برای مثال مایکروسافت برای APIهای ویندوز مرجعهایی استاندارد دارد که با استفاده از آنها برنامهنویسان میتوانند از قابلیتها و سرویسهای سیستمعامل در توسعه و نوشتن برنامههای کاربردی خود استفاده کنند. به طور کلی به مجموعهای از توابع و رویهها که به برنامههای کاربردی دیگر اجازه دسترسی و استفاده از ویژگیها یا دادههای یک نرمافزار را میدهد، ایپیآی های آن نرمافزار گفته میشود. نرمافزار ارائه دهنده ایپیآی میتواند یک سایت اینترنتی، یک سیستمعامل یا هر سرویس دیگری باشد. در اینجا خدماتپایه نرمافزارهای تحت وب هستند که ایپیآی های متنوعی ارائه میدهند و برنامه نویسان و تولیدکنندگان دیگری می توانند از آنها استفاده نموده و بنابراین هزینههای زیرساختی و برنامه نویسی آنها کاهش پیدا کرده و سرعت برنامه نویسی آنها افزایش پیدا خواهد کرد زیرا دیگر لازم نیست که برای ایجاد یک ویژگی خاصی مجدداً برنامه نویسی کنند. همچنین امنیت برنامههای آنها نیز افزایش خواهد یافت، چرا که ارائه دهندگان خدمات پایه امنیت خود را در بالاترین سطح ممکن قرار خواهند داد. در دوره آموزشی Udemy APIs, Social Media Data, and their Real World Applications با ای پی آی های سایت های مدرن آشنا می شوید که از آنها در کدهای مختلف می توانید استفاده کنید.
JQuery یک کتابخانه جاوااسکریپتی سبک و سریع است که شعارش "کمتر بنویس و بیشتر انجام بده" و هدفش استفاده آسان و سریع از امکانات جاوااسکریپت در وب سایت است. برای یادگیری JQuery باید اطلاعات پایه ای در مورد HTML ،CSS و JavaScript داشته باشید. جی کوئری کارهایی که نیازبه کدنویسی های فراوان جاوااسکریپت دارد را به گونه ای ساده می کند که می توانید با یک خط کد همه آنها را انجام دهید. شما می توانید جی کوئری را به صورت یک لایه انتزاعی توصیف کنید زیرا قابلیت های بسیاری را که می باید در خطوط بیشماری از کد جاوا اسکریپت می نوشتید گرفته و آنها را در توابعی (functions) که می توانید تنها در یک خط کد فراخوانی کنید پنهان می کنند. جی کوئری جایگزینی برای جاوا اسکریپت نیست و با این که برخی میانبرهای نحوی نوشتاری را در اختیارتان می گذارد اما کدی که هنگام استفاده از جی کوئری خواهید نوشت هنوز هم جاوا اسکریپت می باشد. یکی از کاربرد های مهم JQuery داشتن دستورات بسیار ساده و قابل درک در زمینه بکار گیری تکنولوژِی ای جکس می باشد. به طوری که می توانید یک طراحی سایت را با کمک JQuery به صورت فول ای جکس طراحی کنید. در دوره آموزشی Udemy Learn jQuery by Example Course به طور کامل با جی کوئری و ویژگی های آن آشنا می شوید.
برنامهریزی عصبی زبانی Neuro-linguistic programming یک رویکرد ارتباطی، رشد فردی و یک روش رواندرمانگری است که توسط «ریچارد بندلر» Richard Bandler و «جان گریندر» در سال 1970 و در کالیفرنیای آمریکا، ایجاد شد. ایجادکنندگان این رویکرد، مدعی بودند که بین فرایندهای عصبی؛ «عصبی»، پردازشهای زبانی؛ «زبانی» و الگوهای رفتاری، ارتباطی وجود دارد که میتواند از طریق تجربه؛ «برنامهریزی» کرد و آنها را یادگرفت و به این روش از این رویکرد برای هدف ویژهای در زندگی، بهره گرفت و حتی به این طریق بتوان مسیر زندگی را تغییر داد. برنامهریزی عصبی زبانی یا برنامه ریزی به زبان عصبی رویکردی منظم است که هدف از آن افزایش اثر بخشی فردی است. اصل اساسی در برنامه ریزی عصبی زبانی این است که افراد به شیوههای خاص خود در مورد جهان فکر میکنند. آن را میبینند، میشنوند، لمس میکنند و میفهمند. برنامه ریزی عصبی زبانی با ساختار تفکر و قالبهای فکری سرو کار دارود و نه افکار خاصی که در ذهن وجود دارد. در دوره آموزشی Packt Finding Elements of Text with NLP in Java با فرآیند جستجوی المنت های متن با ان ال پی در جاوا آشنا می شوید.
علم داده ها (Data Science)، مطالعاتی پیرامون استخراج دانش و آگاهی از مجموعهای داده و اطلاعات است. هدف این علم، استخراج مفهوم از داده و تولید محصولات داده محور است. به شاغلین در حوزه ی علم داده، داده پژوه (data scientist) می گویند. یکی از شاخههای وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشینی (Machine learning) است که به تنظیم و اکتشاف شیوهها و الگوریتمهایی میپردازد که بر اساس آنها رایانهها و سامانهها توانایی تعلم و یادگیری پیدا میکنند. یکی از لذت بخش ترین و جزو 10 تا از بهترین و پرطرفدارترین شغل های جهان علوم داده است. این شغل به طور متوسط در دنیا در آمدی حدود 120 هزار دلار دارد. موضوع فقط پول نیست و جذابیت بی نظیر آن برای خیلی ها شگفت انگیز است. اگر شما یک برنامه نویس هستید یا تجربه نوشتن اسکریپت دارید، این دوره آموزشی به شما آموزش می دهد که چکونه از علوم داده در جهت بهره وری بیشتر کار خود در صنعت و یا هرجای دیگر استفاه کنید. در دوره آموزشی Pluralsight Doing Data Science with Python با مفاهیم علوم داده و پیاده سازی آن با استفاده از پایتون آشنا می شوید.
زبان برنامهنویسی ++C (سی پلاس پلاس) یک زبان برنامهنویسی رایانهای همهمنظوره سطح بالا است که از برنامهنویسی رویهای، تجرید دادهها و برنامهنویسی شیءگرا پشتیبانی میکند، این زبان عمومی و دارای قابلیت زبانهای سطح بالا و پایین بهصورت همزمان است و از انواع داده ایستا، نوشتار آزاد، چندمدلی، برنامهنویسی ساختیافته، برنامهنویسی شیءگرا و برنامهنویسی جنریک پشتیبانی می کند. ++C به همراه جد خود C از پرطرفدارترین زبانهای برنامهنویسی تجاری هستند و کتابخانه استاندارد ++C شامل کتابخانه استاندارد C با یک سری تغییرات برای بهبود عملکرد است. در دوره آموزشی Lynda C++ Game Programming 2 با برنامه نویسی و ساخت بازی با استفاده از زبان سی پلاس پلاس آشنا می شوید.
اسپرینگ (Spring) یکی از معروف ترین و پرکاربرد ترین framework های جاوایی است. این framework متن باز بوده و اولین بار در سال 2003 ارائه شده است. اسپرینگ از ابتدای ارائه تا الان تغییرات زیادی داشته و بسیار قدرتمند و معروف شده است. اسپرینگ framework قدرتمندی است که هدف اصلی آن برنامه های enterprise هستند اگرچه اسپرینگ بیشتر java EE را هدف گرفته است ولی در محیط های غیر از EE نیز می توان از آن استفاده کرد. بر خلاف تصوری که اشتباهاً در بین خیلی ها شکل گرفته است اسپرینگ برای ساخت اپلیکیشن تحت وب نیست بلکه Spring web که مبتنی بر مدل MVC بود و بیشتر به عنوان Spring MVC شناخته می شود تنها بخشی از اسپرینگ است که از آن برای ساخت برنامه های تحت وب استفاده می شود. یکی از زیر مجموعه های اسپرینگ، Spring Boot می باشد. اسپرینگ بوت در طراحی اپلیکیشن هایی کاربرد دارد که به صورت تکی و بدون هیج وابستگی به نرم افزار های دیگر یا چارچوب خاصی طراحی می شوند. در دوره آموزشی Udemy Master Java Web Services and REST API with Spring Boot به آموزش تسلط بر وب سرویس های جاوا و رست ای پی آی با اسپرینگ بوت می پردازیم.
hive روش دیگری در زبانهای سطح بالاست که در Facebook توسعه داده میشود. کاری که Hive انجام میدهد ارائهی نوعی پوسته (Shell) نزدیک به SQL است. بنابراین شما دستورالعملهایی مینویسید که شباهت زیادی به SQL دارند و Hive نگاشت میان Schema و فایلها را نگهداری میکند. شما اطلاعات فایلهای درون فایل سیستم و اطلاعاتی در مورد محتوای آنها را به هایو داده و هایو آنها را در ستونهایی مرتب میکند. سپس پرسوجوها را مینویسید که به عنوان کارهای MapReduce اجرا میشوند. هر دوی Pig و Hive از بسیاری جنبهها کارهای یکسانی را انجام میدهند. تلاشهایی برای پشتیبانی Pig از پرس و جو های شبیه به SQL هم وجود دارد. هر دو زبان دارای بهینهساز (Optimizer) هستند. هر دو قادر به اجرای کارهایی هستند که ممکن است شامل چند کار MapReduce باشد. در دوره آموزشی Packt From 0 to 1 - Hive for Processing Big Data با آموزش کامل پردازش داده های حجیم با هایو آشنا می شوید.