شبکه نرمافزاری تعریف شده (Software Defined Networking یا SDN) یک معماری جدید در شبکه است. یک زیرساخت SDN همانند شبکههای سنتی دارای مجموعهای از تجهیزات شبکه (از جمله سوئیچها، مسیریابها و جعبههای میانی (Middlebox Appliances))است. تنها تفاوتی که در این بین وجود دارد، تبدیل تجهیزات فیزیکی سنتی به عناصر ساده روانهسازی است که این عناصر فاقد بخش کنترلی و یا نرمافزاری جهت تصمیمگیریهای خودکار است. هوش شبکه از تجهیزات صفحه داده به یک سیستم کنترلی به طور منطقی متمرکز انتقال یافته است. این سیستم کنترلی شامل سیستم عامل شبکه و برنامههای کاربردی آن است. به منظور اطمینان از قابلیت همکاری و سازگاری بین انواع مختلف صفحه کنترل و داده، میبایست این شبکهها بر روی واسطهای باز و استانداردی (از جمله OpenFlow) ایجاد شوند. در صورت وجود چنین واسطی، کنترلکننده قادر به برنامهریزی تجهیزات روانهسازی ناهمگون به صورت پویا خواهد بود. این موضوع در شبکههای سنتی چالشی اساسی است، که دلیل آن استفاده از تجهیزات شرکتهای مختلف با واسطهای غیر متنباز و صفحه کنترلی توزیعشده است. در دوره آموزشی O'Reilly Software Defined Networking (SDN) با معماری شبکه نرم افزاری تعریف شده و ویژگی های آن آشنا می شوید.
Haskell زبان برنامه نویسی تابعی استاندارد شده با زبان شناسی غیر قطعی، بعد از Haskell Curry نام گذاری شد. این زبان با کمیته ای که در سال 1980 برای بیان هدف شناساندن این چنین زبانی شکل گرفت، ایجاد شد. آخرین استاندارد زبان نیمه رسمی Haskell 98 نامزد زبان آسان و سبک برای آموزش و به عنوان پایه ای برای گسترش های آینده است. زبان به تکامل خود به سرعت با Hugs و GHC که نشان دهنده ی استاندارد بالفعل جاری هستند، ادامه می دهد. جالب ترین جنبه Haskell شامل پشتیبانی از توابع بازگشتی و انواع داده ای، مطابقت با الگو، درون یابی لیست و عبارات دفاعی می باشد. ترکیب این خصوصیات می تواند توابعی را بسازد که نوشتن آنها در زبان برنامه نویسی شیوه ای سخت خواهد بود ولی غالباً اجرای آن در Haskell آسان است در سال 2002، این زبان یک زبان تابعی است که اغلب تحقیقات روی آن صورت گرفته است. در دوره آموزشی Packt Mastering Haskell Programming با زبان برنامه نویسی هسکل و ویژگی های آن آشنا می شوید.
برنامهریزی منابع سازمانی (Enterprise resource planning) (به اختصار ERP)، شامل طیف وسیعی از فعالیتهای مختلفی است که به بهبود عملکرد یک سازمان منتهی میشود و تمام دادهها و فرایندهای یک سازمان را در یک سیستم نرمافزاری و در قالب یک بانک اطلاعاتی بصورت پیوسته، منظم و دقیق مدیریت مینماید. ERP به معنای مدیریت برنامهریزی منابع سازمان یا 4M (Man, Machine, Material, Money) (مواد، ماشین آلات، پول و نیروی انسانی) است و به سازمانها و شرکتها کمک مینماید تا فرایند دقیق برنامهریزی کلیه منابع سازمان را در جهت کاهش هزینه و افزایش درآمد مدیریت نمایند. تعاریف دیگری نیز از ERP وجود دارد. ERP بر پایه سیستم های برنامههای کاربردی تهیه شده است که شامل چندین برنامه کاربردی است که بصورت یکپارچه همه فعالیتهای داخلی یک سازمان را در گستره واحدهای عملیاتی سازمان مدیریت میکند. این فعالیتها میتواند بازهٔ وسیعی از مدیریت فروش، مدیریت تأمین، مدیریت تولید، مدیریت کیفیت، مدیریت انبار، مدیریت لجستیک، مدیریت نگهداری و تعمیرات، مدیریت پروژه، مدیریت مالی، مدیریت قیمت تمام شده، مدیریت منابع انسانی و مدیریت مهندسی را شامل شود. در واقع ERP، سامانهای است که دارای اهداف، اجزا و محدوده مشخص و معینی است. در دوره آموزشی Udemy Introduction to ERP Systems به طور مقدماتی با سیستم های ای آر پی و ویژگی های آنها آشنا می شوید.
در طی مراسم توسعه دهندگان کانکت، مایکروسافت رسماً از ویژوال استودیو ۲۰۱۷ RC و ویژوال استودیو ۲۰۱۷ برای مک رونمایی کرد. مایکروسافت تاکید ویژه ای بر سادگی و سهولت استفاده از این ویژوال استودیو برای توسعه برنامه ها توسط توسعه دهندگان نموده است. در حالی که نسخه های عرضه شده در دسته پیش نمایش قرار می گیرند اما برگزیدن نام RC که مخفف عبارت "Release Candidate" است نشان از کمترین تفاوت این نسخه ها با نسخه های رسمی دارد. یک موضوع مهم در رابطه با ویژوال استودیو جدید سهولت بخشیدن به روند ساخت و تست برنامه های موبایل توسط مایکروسافت در ویژوال استودیو ۲۰۱۷ است. در کنار سهولت توسعه برنامه های موبایل، مایکروسافت الحاق ها و قابلیت های اضافه بسیاری را برای ویژوال استودیو جدید خود تدارک دیده است که این به معنای بهبود کارایی و بازدهی، سهولت استفاده از سطوح مختلف فضای ابری و تحولات و امکانات آن و دسترسی های بیشتر می باشد. در دوره آموزشی Lynda Visual Studio 2017: First Look یا امکانات و ویژگی های جدید ویژوال استودیو 2017 آشنا می شوید.
دو واسط برنامهنویسی OpenGL و و دایرکت ایکس مایکروسافت برای توسعهی اغلب بازیهای کامپیوتر، گوشی و تبلت و کنسولها استفاده میشود. Vulkan یا وولکن (تلفظ صحیح وولکِن) نام نسخهی بعدی OpenGL است که مثل دایرکت ایکس مایکروسافت، Mantle ایامدی و Metal اپل، دسترسی سطح پایین و بهینهسازی عمیقتر بازیها را ممکن میکند. کرونوس نام نسخهی بعدی OpenGL را که شایع شده بود glNext است، Vulkan گذاشته که نامی کاملاً متفاوت است. وولکِن از نظر دسترسی به سختافزار مثل منتل و دایرکت ایکس ۱۲ است و یک واسط برنامهنویسی سطح پایین محسوب میشود و این چیزی است که توسعهدهندگان و سازندگان بازی از زمان OpenGL 3 میخواستند. تغییر نامی که رخ داده به این علت است که OpenGL جدید روش دسترسی به سختافزار را متحول میکند و از طرفی استفاده از آن به مهارت بیشتری نیاز دارد. در دوره آموزشی Packt Vulkan Programming با برنامه نویسی وولکن و ویژگی های آن آشنا می شوید.
متدولوژی Agile در سالهایی بوجود آمد که شرکت های نرم افزاری در تولید محصول خود با شکست مواجه می شدند. علت این شکست برآورده نشدن نیازهای مشتریان بود. به عنوان مثال روی یک پروژه نرم افزاری زمان و انرژی گذاشته میشد ولی در هنگام تحویل آن، نیازهای مشتری را مرتفع نمی کرد. دلیل آن هم عمدتا این بود که آنها به نیازمندی و رضایت مشتری که یکی از اهداف اصلی پروژه است توجه کمتری می کردند. تولید ناب یا Lean در سالهای پایانی جنگ جهانی دوم توسط تا ای چی اهنو (Taichi ohno) و ای جی تویودا (Eiji toyoda) در شرکت خودرو سازی تویوتا در کشور ژاپن مطرح گردید. بحث تولید ناب در سال 1970 توسط جیمز ووماک و همکارانش در دانشگاه MIT در قالب یک کار تحقیقی با عنوان "ماشینی که جهان را تغییر داد" منتشر گردید . او و همکارانش تولید ناب را تقریباً به عنوان ترکیبی از مدل تولید سنتی (FORD) و کنترل اجتماعی در محیط تولید ژاپنی می شناسد. تولید ناب در اصل روشی برای خط مونتاژ است که توسط شرکت خودروسازی تویوتا برای تولید خودرو معرفی شده است. با عنوانهای «سیستم تولید تویوتا» یا «تولید بهنگام» (Just-In-Time) نیز شناخته میشود. در دوره آموزشی Pluralsight Lean and Agile Enterprise Architecture: Getting Started با معماری سازمانی لین و آجایل آشنا می شوید.
دسته:
آموزش ←
برنامه نویسی و طراحی وب
|
کاربردی
R، یک زبان برنامهنویسی و محیط نرمافزاری برای محاسبات آماری و علم دادهها است، که بر اساس زبانهای اس و اسکیم پیادهسازی شده است. این نرمافزار متن باز، تحت اجازهنامه عمومی همگانی گنو عرضه شده و به رایگان قابل دسترس است. زبان اس بجز R، توسط شرکت Insightful، در نرمافزار تجاری اسپلاس نیز پیادهسازی شده است. اگرچه دستورات اسپلاس و R بسیار شبیه است لیکن این دو نرمافزار دارای هستههای متمایزی میباشند. R، حاوی محدودهٔ گستردهای از تکنیکهای آماری (از جمله: مدلسازی خطی و غیرخطی، آزمونهای کلاسیک آماری، تحلیل سریهای زمانی، ردهبندی، خوشهبندی و غیره) و قابلیتهای گرافیکی است. در محیط R، کدهای سی، سی++ و فورترن قابلیت اتصال و فراخوانی هنگام اجرای برنامه را دارند و کاربران خبره میتوانند توسط کدهای سی، مستقیماً اشیا R را تغییر دهند. گرچه R اغلب به منظور انجام محاسبات آماری به کار میرود، این نرمافزار قابل به کارگیری در محاسبات ماتریسی است و در این زمینه، همپای نرمافزارهایی چون اُکتاو و نسخهٔ تجاری آن متلب (MATLAB) است. R، همچنین نرمافزار قدرتمندی برای ایجاد اشکال گرافیکی و نمودارهاست. در دوره آموزشی Packt Learning Path: R Programming با زبان برنامه نویسی آر و کاربردهای مختلف آن آشنا می شوید.
یونیتی (Unity) جزو چهار موتور بازی ساز بزرگ می باشد. ساخت بازی با این موتور بازی ساز بسیار ساده است و بیشتر کار در محیط ویژوال انجام می شود، یعنی حدود ۸۰ درصد کار بدون کدنویسی انجام می شود و تنها حدود ۲۰ درصد کار کدنویسی است، که این موضوع باعث جذب بسیاری از کاربران علاقه مند به بازی سازی شده است که علم زیادی در برنامه نویسی ندارند. نرم افزار Unity امکان ساخت و کار با محیط های سه بعدی را فراهم می کند. این نرم افزار در ساخت بازی های سه بعدی و محیط های 3D که با کاربر به صورت همزمان ارتباط برقرار می کند کاربرد دارد. می توان گفت این نرم افزار قدرتمند و حرفه ای برای طراحی و ساخت بازی های سه بعدی برای کامپیوتر و کنسول ها با محیط کاربری ساده می باشد. در دوره ی آموزشی Udemy Unity Game Development: Make Professional 3D Games شما با با توسعه انواع بازی های سه بعدی حرفه ای با موتور یونیتی آشنا می شوید.
با گسترش روز افزون زبان برنامه نویسی Javascript و استفاده هر چه بیشتر آن در تولید برنامههای تحت وب این زبان به یکی از قدرتهای بزرگ در تولید برنامههای مبتنی بر وب تبدیل شده است. ترکیب این زبان با Css و Html5 تقریبا هر گونه نیاز برای تهیه و توسعه برنامههای وب را حل کرده است. امروزه به قدری Javascript توسعه داده شده است که حتی در تولید برنامههای Native مانند Windows Store و برنامههای تحت Cloud نیز استفاده میشود. پیشرفتهای صورت گرفته و اشاره شده در این حوزه موجب شد تا شاهد پیداش برنامههای مبتنی بر جاوا اسکریپت با سایزهای بی سابقهای باشیم و این بیانگر این بود که تولید برنامههای مبتنی بر جاوا اسکریپت در مقیاسهای بزرگ امر دشواری است و اینک TypeScript توسط غول نرم افزاری جهان (Microsoft) پا به عرصه گذاشته که این فرآیند را آسانتر نماید. به کمک TypeScript میتوان برنامه تحت JavaScript در مقیاس بزرگ تولید کرد به طوری با هر مرورگر و سیستم عاملی سازگار باشد. TypeScript از شی گرایی نیز پشتیبانی میکند و خروجی آن در نهایت به JavaScript کامپایل میشود. در دوره آموزشی Packt Introduction to TypeScript با ویژگی های اساسی و اولیه تایپ اسکریپت آشنا می شوید.
در صورتی که با فریمورکهای سمت سرور آشنایی داشته باشید، حتما با سیستمهای باندل کننده و Minify کنندهی آنها برخورد داشته اید. به طور مثال فریمورک Asp.Net Mvc دارای یک باندل کنندهی توکار است که مشکل بسته بندی کردن کل ماژولها و همچنین Minify کردن آنها را حل میکند. ولی مشکل وابستگی ماژولها به جز اینکه برنامه نویس به صورت دستی ترتیب اضافه شدن را رعایت نماید، قابل حل نیست. همچنین در اینجا استفاده از یک ترانسپایلر نیز مقدور نیست. راه حل دیگر استفاده از Task Runnerهای جاوا اسکریپتی مانند گرانت و گالپ است که تمامی مسائلی که پیشتر ذکر شد، به وسیلهی آنها قابل حل است؛ به جز مسئلهی وابستگی ماژولها به یکدیگر که بایستی به صورت دستی توسط برنامه نویس ترتیب آنها رعایت شود یا از فریمورک هایی مانند browserify و ... استفاده شود. تفاوت وب پک با TaskRunnerهای جاوا اسکریپتی را میتوان در اینجا بیان کرد که وب پک در انجام یک وظیفه تخصص وافری دارد و آن وظیفه نیز پردازش فایلهای ورودی و خروجی داده شده به آن است که با استفاده از کامپوننتهایی که با نام loader از آن نام میبرد، این وظیفه را انجام میدهد. با استفاده از این لودرها شما نتیجهای را که از یک TaskRunner انتظار دارید، خواهید گرفت؛ مانند ترنسپایل کردن ماژولها، بسته بندی ماژولها، Minify کردن آنها و در نهایت قابلیتی که معمولا در Task Runnerها موجود نیست و وب پک امکان انجام آن را دارد، ترکیب فایلهای Css با فایلهای جاوا اسکریپت برنامه است. این کار برای تصاویر و فونتهای برنامه نیز قابل انجام است. در دوره آموزشی Udemy Webpack 2: The Complete Developer's Guide به طور کامل به آموزش وب پک 2 و ویژگی های آن می پردازیم.