برنامهنویسی شیءگرا (Object-Oriented Programming مخفف:OOP) یک شیوه برنامه نویسی است که ساختار یا بلوک اصلی اجزای آن، شیء (علوم رایانه)ها میباشند. در واقع در این شیوه برنامه نویسی، برنامه به شیء گرایش پیدا میکند. به این معنا که دادهها و توابعی که قرار است بر روی این دادهها عمل کنند، تا حد امکان در قالبی به نام شی در کنار یکدیگر قرار گرفته، جمعبندی شده و یک واحد (شی) را تشکیل داده و نسبت به محیط بیرونِ خود، کپسوله میشوند و از این طریق، توابع بیگانهٔ خارج از آن شی، دیگر امکان ایجاد تغییر در دادههای درون آن شی را ندارند. به طور مثال حساب بانکی شما که شامل مشخصات فردی شما و میزان سپردهٔ شما در بانک است، تشکیل یک شی را میدهند و به دلیل دارا بودن ویژگی کپسوله، امکان دستکاری در میزان سپرده یا مشخصات شما، توسط دیگران وجود ندارد. از دیگر ویژگیهای برنامه نویسی شی گرا، پیچیدگی کم، هزینه کم، امکان گسترش سریع برنامه با خطای کمتر نسبت به سایر پارادایمهای برنامه نویسی است. پایتون (Python) یک زبان برنامهنویسی همه منظوره، سطح بالا، شیءگرا و مفسر است که توسط خودو فان روسوم (به هلندی: Guido van Rossum) در سال ۱۹۹۱ در کشور هلند طراحی شد. فلسفهٔ ایجاد آن تأکید بر دو هدف اصلی خوانایی بالای برنامههای نوشته شده و کوتاهی و بازدهی نسبی بالای آن است. کلمات کلیدی و اصلی این زبان به صورت حداقلی تهیه شدهاند و در مقابل کتابخانههایی که در اختیار کاربر است بسیار وسیع هستند. در دوره آموزشی Udemy Java Object Oriented Programming Analysis Design OOPs & OOAD با آموزش برنامه نویسی شی گرا در جاوا اشنا خواهید شد.
گو (Go) یک زبان برنامهنویسی ترجمهشده و همروند است که در شرکت گوگل و توسط رابرت گریسمر، راب پایک و کن تامپسون توسعه داده میشود. این زبان در نوامبر ۲۰۰۹ معرفی شد و در حال حاضر در چند سامانهٔ اجرایی گوگل استفاده میشود. کامپایلر گو از لینوکس، مک او اس، ویندوز و انواع سیستمهای عامل بیاسدی مانند FreeBSD پشتیبانی میکند. از لحاظ معماری پردازنده نیز، معماری x86، معماری x64، معماری ARM و معماری POWER که مخصوص به شرکت آیبیام است، توسط کامپایلر گو پشتیبانی میشوند. اهداف ایجاد زبان گو کارایی زبانهای ترجمهشده دارای سامانه نوع ایستا،آسانی برنامه نویسی زبانهای پویا، امنیت نوعها و حافظه، پشتیبانی برای همروندی و ارتباط، و کامپایل سریع است. در زبان گو، ارثبری نوعها وجود ندارد. در این زبان، میتوان برای هر نوع دادهای، حتی برای نوعهای داخلی، مثل اعداد صحیح فاقد بستهبندی، تابع عضو تعریف کرد و این عمل محدود به ساختها نمیشود. در دوره آموزشی Udemy Golang - How to design and build REST microservices in Go با آموزش طراحی مایکروسرویس های رست با زبان گو اشنا خواهید شد.
گیت (Git) یک نرمافزار آزاد و متنباز برای بازنگری کد منبع توزیع شده و مدیریت منبع کد است که برروی سرعت تاکید میکند. گیت ابتدا برای توسعهٔ لینوکس توسط لینوس تروالدز به وجود آمد و اکنون پروژههای فراوانی از آن الهام گرفتهاند. هر دایرکتوری کاری در گیت یک مخزن کامل با تاریخچهٔ کامل تغییرات و قابلیت بازنگری تغییرات است و برای کار با آن نیازی به دسترسی به شبکه یا سرور مرکزی وجود ندارد. گیت یک نرمافزار آزاد است که تحت عنوان جیپیال نسخه ۲ توزیع شده است. گیتهاب (GitHub) یک سرویس میزبانی وب برای پروژههای است که از سیستم سورس کنترل گیت استفاده میکنند. گیتهاب با استفاده از روبی آن ریلز و ارلنگ ساخته شدهاست. این سرویس هم دارای گزینه رایگان برای پروژههای متنباز و هم پولی برای پروژههای تجاری است. گیت هاب در سال ۲۰۰۸ پایهگذاری گردید و بر اساس گزارشی در ژوئن ۲۰۱۱، این سرویس محبوبترین سرویس ارائهدهنده گیت است. در دوره آموزشی Skillshare Start Using Git Today! No Frills Source Control با آموزش کنترل سورس با گیت اشنا خواهید شد.
طراحی گرافیک یا گرافیک دیزاین (Graphic Design) فرآیند ارتباطات بصری، و حل مسئله از طریق استفاده از تایپ، فضا، تصویر و رنگ است. رشته طراحی گرافیک زیرمجموعه ارتباطات بصری و طراحی ارتباطات در نظر گرفته شدهاست، اما گاهی اوقات اصطلاح "طراحی گرافیک" میتواند به خاطر اشتراکات فنی پیچیده، به جای طراحی ارتباطات و ارتباط بصری استفاده شود. طراحان گرافیک از روشهای مختلف در ایجاد و ترکیب کلمات، نمادها و تصاویر به منظور خلق یک نمایش تصویری از ایدهها و پیام استفاده میکنند. طراح گرافیک ممکن است ترکیبی از تایپوگرافی، هنرهای بصری و تکنیکهای صفحهآرایی را برای تولید یک نتیجه نهایی استفاده کند. طراحی گرافیک، اغلب به هر دو فرآیند (طراحی) که توسط آن ارتباط ایجاد شدهاست و محصولات (طرح) که تولید میشوند اشاره میکند. کاربردهای رایج طراحی گرافیک شامل هویت (لوگو و نام تجاری)، انتشارات (مجلات، روزنامهها و کتابها)، تبلیغات چاپ، پوسترها، بیلبوردها، گرافیک وبسایت و عناصر، علائم و بستهبندی محصولات است. در دوره آموزشی Udemy Digital Design Masterclass for Graphic Designers با آموزش تسلط بر طراحی های دیجیتال برای طراحان گرافیک اشنا خواهید شد.
به عنوان یک کاربر ما ترجیح می دهیم برنامه ای که با آن در حال کار هستیم، به سرعت به درخواست ها و تعاملات ما پاسخ بدهد و در زمان پردازش اطلاعات و یا بارگذاری آن ها، دچار freeze نشود (یا به اصطلاح، هنگ نکند.). در برنامه هایی که بر روی دسکتاپ اجرا می شوند، معمولا کاربران، شکیبایی بیشتری در صورت اجرا نشدن درست برنامه دارند ولی در مورد برنامه های موبایل اینطور نیست و کاربران انتظار پاسخ سریع و درست دستگاه را دارند. همچنین برای جلب رضایت کاربران در سیستم عامل های جدید، امکانی به کاربران داده شده است که می توانند برنامه هایی که راندمان دستگاه را پایین می آورند، به طور کلی از حالت اجرا خارج کنند. اگر شما یک برنامه نویس باشید، احتمالا با این مورد مواجه شده اید که ناگهان برنامه تان قادر به واکنش و انجام امور نباشد. یک مثال ساده می تواند زمانی باشد که درخواست های زیادی به سمت سرور فرستاده می شود و پاسخ آن ها بیشتر از حد معمول طول می کشد (که مثلا این مساله می تواند ناشی از مشکلاتی در سمت سرور باشد). اگر این درخواست ها به صورت همزمان فرستاده شده باشند، دستگاه تا زمانی که مشکل خود را برطرف نکند، نمی تواند به هیچ یک از درخواست ها پاسخ بدهد. در دوره آموزشی Udemy Asynchronous JavaScript Deep Dive با آموزش عمیق جاوا اسکریپت غیرهمزمان اشنا خواهید شد.
AngularJS کتابخانهای برپایهی جاوااسکریپت است که به منظور تولید نرمافزارهای تحت وب توسط گوگل توسعه پیدا کرده است. ایدهی اصلی AngularJS، اضافه کردن امکاناتی به HTML است تا آن را از یک زبان نشانگذاری ساده خارج کند و ابزارهای لازم برای تولید یک نرمافزار داده محور را به سادهترین شکل ممکن فراهم نماید. امکانات متنوعی در این کتابخانه وجود دارد. ویژگی اصلی AngularJS، ایجاد ارتباط پویا میان دادههای ورودی و خروجی است. به این معنی که به سادگی میتوانید اطلاعات دریافت شده از کاربر را به صورت خودکار جمعآوری کنید، پردازش کنید، در محلهای دلخواه نمایش دهید یا به سرور بفرستید. به عبارت دیگر، AngularJS ابزاری است که برنامهنویسی MVC را به معنای واقعی در محیط وب دستیافتنی میکند. با استفاده از AngularJS میتوان در یک صفحهی وب، چندین Application مجزا از هم ایجاد کرد که هر یک به پایگاه دادهای مجزا متصل میشوند و اطلاعات را ارسال و دریافت میکنند. استفاده از این کتابخانه بسیار آسان است. کافی است صفتهای متناسب را به تگهای HTML اضافه کنید و در انتها، فایل اسکریپت AngularJS را در صفحه درج کنید تا بقیهی کارها به صورت اتوماتیک به انجام برسد. در دوره آموزشی Livelessons Learning Angular LiveLessons, 3rd Edition با آموزش آنگولار، ویرایش سوم اشنا خواهید شد.
به عنوان یکی از شاخههای وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشینی (Machine learning) به تنظیم و اکتشاف شیوهها و الگوریتمهایی میپردازد که بر اساس آنها رایانهها و سامانهها توانایی تعلٌم و یادگیری پیدا میکنند. هدف یادگیری ماشین این است که کامپیوتر (در کلیترین مفهوم آن) بتواند به تدریج و با افزایش دادهها کارایی بهتری در انجام وظیفهٔ مورد نظر پیدا کند. گسترهٔ این وظیفه میتواند از تشخیص خودکار چهره با دیدن چند نمونه از چهرهٔ مورد نظر تا فراگیری شیوهٔ گامبرداری روباتهای دوپا با دریافت سیگنال پاداش و تنبیه باشد. طیف پژوهشهایی که در یادگیری ماشینی میشود گستردهاست. در سوی نظری آن پژوهشگران بر آناند که روشهای یادگیری تازهای به وجود بیاورند و امکانپذیری و کیفیت یادگیری را برای روشهایشان مطالعه کنند و در سوی دیگر عدهای از پژوهشگران سعی میکنند روشهای یادگیری ماشینی را بر مسایل تازهای اعمال کنند. البته این طیف گسسته نیست و پژوهشهای انجامشده دارای مولفههایی از هر دو رویکرد هستند. در دوره آموزشی Udemy Clustering and Classification with Machine Learning in Python با آموزش طبقه بندی و خوشه بندی با یادگیری ماشین در پایتون اشنا خواهید شد.
نرم افزار بلندر (Blender) یکی از محبوبترین برنامه های کاربردی مدلسازی و ساخت انیمیشن به صورت سه بعدی است که با حفظ سادگی رابط کاربری و در عین حال ارائه ویژگی هایی نظیر مانند پنل قدرتمند و حرفه ای، کاربرد آسان برای افراد مبتدی و حرفه ای، امکان ویرایش ویدیو و ... امکان ساخت انیمیشن به صورت سه بعدی را فراهم می کند. Blender امکان ایجاد طیف گسترده ای از محتوای دو بعدی و سه بعدی در زمینه های گسترده ای از مدل سازی های مربوط به بافت متن، نور، انیمیشن، ویدیو و Post Production را به شما ارائه می دهد. Blender از طریق معماری باز امکان همکاری cross-Platform، قابلیت توسعه پذیری و ایجاد یک گردش کاری یکپارچه را برای بکارگیری در پروژه های فیلم، انیمیشن و بازی سازی به وجود می آورد. در دوره آموزشی Udemy 3D Modeling in Blender: Create 3D game assets with Blender با آموزش مدلسازی سه بعدی در بلندر اشنا خواهید شد.
Adobe Photoshop بدون شک قدرتمندترین و محبوبترین نرم افزار حرفهای ویرایش عکس، ساخت مدلهای سه بعدی، طراحی و نقاشی است که بیش از 25 سال از ارائه اولین نسخه آن میگذرد و مرتباً با ویژگیهای جدید به روز میشود. فتوشاپ سیسی (CC) یا همان فتوشاپ ابری (Creative Cloud)، دهها تفاوت مهم با نسخههای قبلی فتوشاپ دارد و علاوه بر این امکان فراهم سازی امکانات و رفع مشکلات با سرعت خیلی بالا برای برنامه نویسهای ادوبی وجود دارد. دراین نرم افزار امکانات جدیدی چون بهبود نقاشی سه بعدی، ابزارهای کاملتری برای ویرایش تصویر، ابزارهای انتخاب تصویر بهتر، بزرگنمایی عکس با کمترین افت کیفیت، یک ابزار بسیار کاربردی برای کاهش لرزش دوربین و بسیاری ویژگیهای جدید دیگر قرار داده شده است. در دوره آموزشی Packt Hands-On Photoshop for Web Designers با آموزش مقدماتی فتوشاپ برای توسعه دهندگان وب اشنا خواهید شد.
جنگو (Django) یک چارچوب نرمافزاری تحت وب آزاد و متنباز است که به زبان پایتون نوشته شده است و از معماری مدل-نما-کنترلگر (Model-view-controller) پیروی میکند. جنگو اولین بار برای مدیریت صفحات خبری وبسایت شرکت Lawrence Journal-World توسعه داده شد و سپس در سال ۲۰۰۵ تحت اجازهنامه بیاسدی منتشر شد. نام جنگو از جنگو راینهارت، نوازندهٔ گیتار جاز گرفته شده است. هدف اصلی جنگو ساخت آسان سایتهای پیچیده و وابسته به دیتابیس است و بر پایهٔ قابلیت استفادهٔ مجدد و قابل اتصال بودن اجزای مختلف، توسعه ی سریع و اصل خودت را تکرار نکن (DRY) طراحی شده است. جنگو سراسر از پایتون استفاده میکند، حتی برای تنظیمات، فایلها و مدلهای اطلاعات. در دوره آموزشی Udemy The Ultimate Beginner's Guide to Django 1.11 با آموزش مقدماتی جنگو 1.11 اشنا خواهید شد.