اوپن استک (OpenStack) یک پلتفرم نرمافزاری متن باز برای رایانش ابری است که توسط Rackspace و ناسا در جولای ۲۰۱۰ طرح ریزی شد. هم اکنون بیش از ۵۰۰ شرکت از جمله IBM، فوجیتسو، اوراکل، یاهو، سیتریکس، دل، AMD، اینتل، کنونیکال، سوزه، اچپی و سیسکو سیستمز و شرکتهای بسیار دیگری به این پروژه پیوستهاند. OpenStack یک پروژه رایانش ابری است که به تجهیز بستری متن باز و قابل دسترس در همه جا برای ابرهای شخصی و عمومی کمک می کند. این پروژه توسط OpenStack Foundation مدیریت میشود که یک بنیاد غیر انتفاعی است که در سپتامبر 2012 تاسیس شده است. اوپن استک به کاربران اجازه می دهد تا بتوانند ماشین های مجازی و دیگر نمونه ها برای کنترل وظایف گوناگون در مدیریت یک محیط ابری در حال اجرا را توسعه دهند. این مجموعه ابزار گسترش عمودی را آسان می کند به این معنی که وظایفی که از اجرای همزمان سود می برند، می توانند در زمان اجرا، به آسانی با تنظیم نمونه های متفاوت، به کاربران بیشتر یا کمتری خدمات ارائه دهند. برای مثال، یک اپلیکیشن موبایل، که باید با یک سرور از راه دور ارتباط برقرار کند، می تواند کار ارتباطی خود را با کاربران دیگر در طول نمونه های مختلف، تقسیم کند که همه اینها با سرعت و به آسانی با یکدیگر در ارتباط خواهند بود. و مهمتر از آن، اوپن استک یک ابزار متن باز است، به این معنی که هر فردی که آن را انتخاب کند، می تواند به کد منبع آن نیز دسترسی داشته، هر تغییر یا اصلاحی را که مورد نیاز است، اعمال کند و به صورت رایگان، تغییرات اعمال شده را در سطح وسیعتری به اشتراک بگذارد. متن بازبودن آن نیز این امکان را هم می دهد که هزاران توسعه دهنده در سرتاسر جهان می توانند بر روی آن کار کنند و مجموعه نرمافزاری با ویژگی های قوی تر و امن تر تولید کنند. در دوره آموزشی Packt Preparing for the Certified OpenStack Administrator Exam با محیط کار اوپن استک و دریافت مدرک رسمی و آزمون آن آشنا می شوید.
++C یک زبان پیشرفته، شی گرا و چند منظوره است که برگرفته و توسعه یافته زبان قدرتمند C است و در اوائل دهه 1980 توسط استراس تروپ؛ دانشمند دانمارکی آزمایشگاههای بل طراحی شد. سی پلاس پلاس دارای قابلیتهای متعددی است که باعث زیبایی و انعطاف بیشتر زبان C شده است که مهمترین آنها شی گرا بودن زبان ++C است. زبان سی پلاس پلاس یک زبان سطح میانی (دارای قابلیت های زبانهای سطح بالا و پایین) است که برای طراحی و تولید هر چه بهتر برنامه های کاربردی، روش های ساخت یافته و منظمی را تدارک دیده است و در عین حال، برخورداری و پشتیبانی از قابلیت های شی گرایی از برجسته ترین ویژگی های این زبان است. برنامههای نوشته شده به زبان C در فایلی متنی با پسوند c. ذخیره میشوند. به این فایل، کد منبع (source code) گفته میشود. فایل کد منبع برای اجرا باید به زبان ماشین ترجمه شود که به اینکار ترجمه (compile) و به برنامهای که عمل ترجمه به زبان ماشین یا زبان دیگر را انجام میدهد مترجم (compiler) میگویند. در دوره ++Packt High Performance Applications with C با آموزش طراحی اپ های با عملکرد بالا در سی پلاس پلاس آشنا می شوید.
یکی از فریمورکهای زبان PHP که با هدف توسعه نرمافزارهای تحت وب مبتنی بر الگوی (MVC) پیاده سازی شده است. فریم ورک CodeIgniter به کمک کتابخانههای قدرتمند خود، سرعت توسعه نرم افزارهای تحت وب را به میزان چشمگیری افزایش میدهد.فیم ورک CodeIgniter، امکانات کاربر را محدود نمیکند و همچنین ردی از خود بر جای نمیگذارد. قابلیتهای منحصر به فرد و انعطاف بالای این فریمورک توجه بسیاری از توسعهدهندگان وب را به سوی خود جلب کرده است و روز به روز به تعداد استفاده کنندگان آن افزوده میشود. در دوره Packt PHP CodeIgniter for Absolute Beginners با آموزش کاملا مقدماتی کدنویسی پی اچ پی آشنا می شوید.
اف شارپ (F#) یک زبان برنامه نویسی چند پارادایم بر پایه دات نت است. زبانی ساخته یافته و شی گرا و متن باز است که همراه با ویژوال استودیو 2010 آمد. #F یک زبان برنامه نویسی چند مدله و همه منظوره است ک در چهارچوب .Net فعالیت می کند و شامل برنامه نویسی تابعی و برنامه نویسی شی گرای دستوری می باشد. #F شاخه ای از ML بوده و بسیار با OCAML سازگار است.این زبان در ابتدا توسط دون سیم در مرکز تحقیقات مایکروسافت ابداع شد اما در حال حاضر توسط گروه توسعه دهنده مایکروسافت ادامه داده می شود و به عنوان یک زبان کاملا پشتیبانی شده در محیط های .Net و Virtual Studio ارائه می گردد. در دوره آموزشی #Packt Data Programming with F شما با برنامه نویسی داده ها با اف شارپ آشنا می شوید.
وب سرویس های آمازون یا خدمات وب آمازون (Amazon Web Services) مجموعهای از خدمات وب (وب سرویس) هستند که شرکت آمازون بر روی بستر ابر خود و از طریق اینترنت به عموم عرضه میکند. این سرویس ها زیرساخت های فناوری اطلاعات را به صورت سرویسهای انعطاف پذیر به مشتریان اجاره میدهد. این سرویسها شامل سرویس های محاسباتی و رایانشی (EC2)، ذخیره سازی (S3)، تحویل محتوا، پایگاه داده، تجارت الکترونیک، پرداخت و صدور صورتحساب و موارد دیگری میشود. آمازون ارائه این خدمات به عموم را از ابتدای سال ۲۰۰۶ آغاز نمود. در دوره آموزشی Packt AWS MasterClass - Monitoring and DevOps with AWS CloudWatch با آموزش تسلط بر ای دبلیو اس و مانیتورینگ و توسعه با ای دبلیو اس کلودواچ می پردازیم.
تصویرسازی دادهها (Data Visualization) به معنی ایجاد و مطالعه نمایش بصری داده، یعنی «اطلاعات چکیدهشده به یک شکل شماتیک، شامل خواص یا متغیرهای مربوط به واحدهای اطلاعاتی» است. به گفته فریدمن (۲۰۰۸) «هدف اصلی تصویرسازی دادهها ارتباط واضح و کارآمد اطلاعات از طریق ابزارهای گرافیکی است. البته به این معنی نیست که تصویرسازی دادهها برای کارآمدی باید خستهکننده به نظر بیاید یا برای زیبا بودن باید پیچیده باشد. برای انتقال کارآمد ایدهها، هر دو شکل زیبا و کارآمدی باید دوشادوش پیش رفته باشند و دانش مربوط به مجموعهای پیچیده و پراکنده از اطلاعات را با نمایش نوآورانه جنبههای کلیدی آن، انتقال دهند. با این وجود طراحان معمولا نمیتوانند توازن میان شکل و کارآمدی را رعایت کنند و تجسم زیبایی از دادهها ایجاد میکنند که در اصلیترین ماموریت خود - انتقال اطلاعات - باز میمانند». فرناندا ویگاس و مارتین واتنبرگ معتقدند تصویرسازی دادهها نهتنها باید ارتباطی واضح ایجاد کند بلکه باید توجه و درگیری بیننده را نیز موجب شود. تصویرسازی دادهها ارتباطی نزدیک با گرافیک اطلاعات، تجسم اطلاعات، تجسم علمی و گرافیک آماری دارد. در هزاره جدید، تصویرسازی دادهها حوزهای فعال برای تحقیق، آموزش و توسعه شده است. امروزه بسیاری معتقدند تصویرسازی دادهها توانسته تجسم علمی و اطلاعاتی را با هم متحد کند. برایان ویلیسون ثابت کرده است تصویرسازی دادهها با فراگیری توسعه سریع نرمافزار و درگیری مشتریان نیز ارتباط دارد. در دوره آموزشی Packt Learning R for Data Visualization با مصورسازی داده ها و زبان آر آشنا می شوید.
تا به حال، افرادی که درحوزه شبکه فعالیت میکردند و ادمینهای شبکه، نیازی به آشنایی چندان عمیقی در مورد برنامه نویسی نداشتند. اگر سیستم عامل بر روی سختافزاری که تحت کنترل ما است قرار گیرد، با یک محیط منسجم مواجه میشویم. اگر مجبور باشیم که یک شبکه برای یک کلاینت ایجاد کنیم، میدانیم که تجهیزات سیسکو، جونیپر یا اچ پی، دارای سیستم عاملی هستند که به صورت توکار در باکسهای آنها قرار گرفتهاند و خاص خود آن سخت افزار محسوب میشوند و تمامی این سیستمها دارای قوانین و ساختار و کامندهای مختص به خود هستند. در این راستا، یک مهندس شبکه بیشتر شبیه یک مهندس سیستم است با این تفاوت که به جای استفاده از سیستم عاملی مانند ویندوز، از یک سیستم عامل دیگر مانند سیسکو استفاده میکند. اما با ظهور SDN، کنترلرهایی پیاده سازی شدند که قادر به مدیریت دهها هزار پورت با توانایی فراهم نمودن مجازی سازی شبکه است. شغل جدیدی که حرکت به سمت SDN ارمغان میآورد، برنامه نویسی شبکه است. برنامه نویس شبکه، میبایست دانش وسیع و عمیقی در مورد مهندسی شبکه داشته باشد و نیز از دانش عمیقی در حداقل یکی از زبانهای برنامه نویسی قدرتمند مشابه زبان C (مانند C، C++، C#، java، Objective-C) برخوردار باشد. برنامه نویس شبکه مسئول برنامه نویسی کنترلرهای SDN، اینترفیس و سایر مؤلفههای مربوطه است. در دوره آموزشی Packt Java Network Programming Recipes با برنامه نویسی شبکه با جاوا آشنا می شوید.
پایتون (Python) یک زبان برنامهنویسی همه منظوره،سطح بالا، شیءگرا و مفسری است که توسط خودو فان روسوم در سال ۱۹۹۱ طراحی شد. پایتون مدلهای مختلف برنامه نویسی (از جمله شیء گرا و برنامه نویسی دستوری و تابع محور) را پشتیبانی میکند و برای مشخص کردن نوع متغییرها از یک سامانهٔ پویا استفاده میکند. این زبان از زبانهای برنامه نویسی مفسر بوده و به صورت کامل یک زبان شیگرا است که در ویژگیها با زبانهای تفسیری پرل، روبی، اسکیم، اسمالتاک و تیسیال مشابهت دارد و از مدیریت خودکار حافظه استفاده میکند. بر خلاف برخی زبانهای برنامهنویسی رایج دیگر که بلاکهای کد در آکولاد تعریف میشوند (بهویژه زبانهایی که از گرامر زبان سی پیروی میکنند) در زبان پایتون از نویسه فاصله و جلوبردن متن برنامه برای مشخص کردن بلاکهای کد استفاده میشود. به این معنی که تعدادی یکسان از نویسه فاصله در ابتدای سطرهای هر بلاک قرار میگیرند، و این تعداد در بلاکهای کد درونیتر افزایش مییابد. بدین ترتیب بلاکهای کد به صورت خودکار ظاهری مرتب دارند. در دوره Packt Python Network Programming با آموزش برنامه نویسی شبکه با پایتون آشنا می شوید.
در فرهنگ رایانه، رابط گرافیکی کاربر یا واسط نگارهای کاربر، مجموعهای از نشانههای گرافیکی نمایش داده شده بر روی یک نرمافزار است که در آن کاربر به جای تایپ فرمانهای بلند و پیچیده از اعلان فرمان، با اشاره بر نمایشهای تصویری بر روی صحنه تصویر، پروندهها، برنامهها یا فرمانهای گوناگون را انتخاب میکند. به عبارتی سادهتر، یک محیط گرافیکی که نرمافزارهای رایانه، برای راهنمایی و کاربری بهتر انسان بکار میگیرند واسط گرافیکی کاربر نامیده میشود. این نما، چگونگیِ روش کاربریِ رایانه را، توسط انسان، بهبود میبخشد و روشی است گرافیکی برای نمایش نرمافزار سیستمعامل رایانه، به کاربرانش. در رایانههای قدیمیتر، این نما، مجموعهای بود از نشانهای تایپی نشان داده شده بر صفحه نمایشگر. در رایانههای امروزی اما، نمای گرافیکی کاربری مجموعهای است از نشانها و پس زمینهها و کلیدهایی زیبا و رنگین، برای بهبود رابطه انسان-ماشین در راستای بهبود کاربری کارایی بهتر. در دوره آموزشی ++Packt GUI Programming with C با نحوه برنامه نویسی رابط گرافیکی کاربر با سی پلاس پلاس آشنا می شوید.
الگوریتم (Algorithm) یکی از مهم ترین بخش های دنیای کامپیوتر می باشد. در واقع الگوریتم مجموعه ای ترتیبی از دستور العمل ها است که به ترتیب خاصی اجرا می شوند و مساله ای خاص را حل می کنند. در دنیای کامپیوتر مسائل مختلفی وجود دارد که برای هرکدام الگوریتم های متفاوتی وجود دارد، هر کدام از آن ها دارای مزایا و معایبی هستند، به طور مثال یکی در استفاده از فضا بهینه است و یکی زمان اجرای بسیار بهینه و کمی دارد. از این رو دانستن الگوریتم های مختلف مثل جست و جو، مرتب سازی و... در دنیای کامپیوتر بسیار اهمیت دارد. از طرفی برای استفاده مناسب از الگوریتم ها باید با انواع ساختمان های داده مثل صف، پشته، لیست پیوندی و... آشنا بوده و ویژگی های هرکدام را بدانیم. ما می توانیم با انتخاب ساختمان داده و الگوریتم مناسب مسائل مختلف را به صورت بهینه حل کنیم و برنامه های بسیار مناسبی تولید نماییم. در دوره ی آموزشی Packt Break Away: Programming And Coding Interviews شما با انواع مختلف الگوریتم و ساختمان های داده مانند لیست های پیوندی، اشاره گرها و... آشنا می شوید.