برنامهنویسی کامپیوتر (Programming) بهطور کلی به فرایند نوشتن و توسعه نرمافزار کامپیوتر گفته میشود. به بیان جزئی تر برنامهنویسی رایانه به معنای فرایند تبدیل و سوق دادن فرمول حل یک مسئله یا الگوریتم محاسباتی، به یک برنامه قابل اجرا (نرمافزار) است. معنای برنامهنویسی رایانه در فرهنگ عامه میتواند به تمامی فرایند توسعه نرمافزار (به انگلیسی: Software Development) اطلاق گردد که شامل فعالیتهای مختلفی همچون بررسی، توسعه، درک، طراحی الگوریتم؛ پیادهسازی، تست، اشکال زدایی و نگهداری نرمافزارهای کامپیوتری نیز میشود. همچنین برنامهنویس به شخصی اطلاق میگردد که عمل برنامهنویسی و توسعه نرمافزار را انجام میدهد. برنامهنویسی مستلزم فعالیتهایی همچون تحلیل و درک مسئله است و عموماً حل چنین مسایلی منجر به ایجاد یک الگوریتم میشود، بازبینی نیازمندیهای الگوریتم که شامل صحت و میزان منابع مصرفی است، پیادهسازی (که معمولاً به عنوان کدینگ از آن یاد میشود) این الگوریتم در یک زبان برنامهنویسی مقصد، تست کردن، اشکال زدایی، نگهداری کد منبع، پیادهسازی سیستم ساخت(build system) و مدیریت مصنوعات مشتق شده مانند کد ترجمه شده به زبان ماشین برنامههای کامپیوتری. الگوریتم اغلب تنها به شکل قابل تجزیه و تحلیل برای انسان و قابل استدلال با منطق نمایش داده میشود. کد منبع به یک یا چند زبان برنامهنویسی، مانند جاوااسکریپت، اسمالتاک، پایتون، جاوا، سی شارپ، سی پلاسپلاس و سی نوشته شدهاست. در دوره آموزشی Udemy Everyday Programming Skills for Beginners به طور مقدماتی با زبان های مختلف برنامه نویسی مانند C, C++, Java, JavaScript, Python, PHP, Ruby و Swift2 آشنا خواهید شد.
توسعه نرمافزار برگردان نیاز کاربران یا مشتریان درقالب یک محصول نرمافزاری است. توسعه نرمافزار از مرحله طرح یک راه حل مفهومی برای مسئله خواسته شده (امکانسنجی) آغاز شده، پس از دریافت خواستهها و تحلیل سیستم طراحی صورت گرفته و در نهایت این طراحی با کمک ابزارهای پیادهسازی تبدیل به یک سیستم واقعی میشود. هدف این فرایند آن است که از یک سو برآورده ساختن نیازهای کاربران و از سوی دیگر کیفیت مناسب عملکرد سیستم تضمین گردد و بنابراین بایستی حاوی مکانیسم هایی برای اعتبارسنجی یعنی خروجی مطابق با خواستهها (Validation) و وارسیپذیری یعنی صحت عملکرد خروجی (Verification) باشد. فرایند توسعه ضمن دادن آزادی به تحلیلگر باید تضمین کند که زمانبندی اجرای پروژه رعایت میشود. توسعه نرمافزار ارتباط تنگاتنگی با مهندسی نرمافزار دارد و از دید بسیاری این دو مفاهیمی تقریباً یکسان هستند. در سالهای اخیر با رشد نیاز به تولید نرمافزارهای تجاری توسعه نرمافزار به بحثی مهم تبدیل شدهاست و روشهای گوناگونی در قالبهای مختلف برای تولید نرمافزارها بر مبنای نیازهای کاربران، مشخصات کلی سیستم، شرایط مدیریتی و اقتصادی، زمانبندی و سطح کیفی به وجود آمدهاند. در دوره آموزشی MVA Software Development Fundamentals با اصول و مبانی توسعه نرم افزار و آزمون 98-361 آشنا خواهید شد.
انگولار جی اس یک فریم ورک تک صفحه ای برای ایجاد صفحات وب است. فریم ورک به شما این امکان را می دهد که کدهای خود را تکنیکی و بهینه بنویسید، تغییر بدهید و تنظیمات استاندارد را روی آن پیاده سازی کنید. ماژولاریتی هم یکی از مهمترین ویژگی هایی است که انگولار آن را برایتان تسهیل می کند. از ویژگی های یک Template Engine خوب این است که به شما این امکان را بدهد تا قالب هایی را با تگهای خاص html بنویسید. انگولار این تگها را با داده جابه جا می کند. بر خلاف دیگر موتورهای قالب بندی انگولار مجبورتان نمی کند تا قالب را جداگانه بسازید. مانند بقیه کتاب خانه ها قالب شما یک بخش جدایی ناپذیر از html می باشد. یکی دیگر از ویژگی های بزرگ html طریقه کارش با DOM است. در برنامه های قدیمی شما باید نگران مدیریت Event باشید. اما با انگولار داده ها به طور مستقیم به قالب شما مربوط (Bind) هستند (Two way Binding). برنامه های مدرن جاوا اسکریپت از روشی برای برنامه نویسی استفاده می کنند که به طور معمول به عنوان mvc شناخته می شود شما می توانید با استفاده از انگولار و این معماری به اهدافتان برسید. در دوره آموزشی Udemy Angular 5 (formerly Angular 2) - The Complete Guide به طور کامل با آموزش آنگولار 5 آشنا می شوید.
الگوریتم (Algorithm) یکی از مهم ترین بخش های دنیای کامپیوتر می باشد. در واقع الگوریتم مجموعه ای ترتیبی از دستور العمل ها است که به ترتیب خاصی اجرا می شوند و مساله ای خاص را حل می کنند. در دنیای کامپیوتر مسائل مختلفی وجود دارد که برای هرکدام الگوریتم های متفاوتی وجود دارد، هر کدام از آن ها دارای مزایا و معایبی هستند، به طور مثال یکی در استفاده از فضا بهینه است و یکی زمان اجرای بسیار بهینه و کمی دارد. از این رو دانستن الگوریتم های مختلف مثل جست و جو، مرتب سازی و... در دنیای کامپیوتر بسیار اهمیت دارد. از طرفی برای استفاده مناسب از الگوریتم ها باید با انواع ساختمان های داده مثل صف، پشته، لیست پیوندی و... آشنا بوده و ویژگی های هرکدام را بدانیم. ما می توانیم با انتخاب ساختمان داده و الگوریتم مناسب مسائل مختلف را به صورت بهینه حل کنیم و برنامه های بسیار مناسبی تولید نماییم. در دوره ی آموزشی Udemy Data Structures and Algorithms: Deep Dive Using Java شما با انواع مختلف الگوریتم و ساختمان های داده و ویژگی های هرکدام به زبان جاوا آشنا می شوید.
آیاواس (iOS) یک سیستم عامل همراه ساخته شرکت اپل است که در ابتدا برای آیفون و آیپاد تاچ توسعه داده میشد، از آن زمان به بعد برای استفاده در سایر دستگاههای شرکت اَپل مانند آیپد و اَپل تیوی گسترش یافت. شرکت اَپل مجوز استفاده از آی اُ اِس برای نصب بر روی سختافزارهای شخص ثالث را نمیدهد. رآلم (Realm) در واقع یک دیتابیس شبیه SQLite می باشد که بر روی گوشی های هوشمند اجرا میشود. این دیتابیس توسط دو تن از متخصصان پیشین نوکیا طراحی و توسعه داده شده است. دیتابیسها غالباً از دید کاربران پنهان میمانند؛ اما اغلب اپلیکیشنها برای ذخیرهی دادهها و خواندن اطلاعات ار دیتابیس استفاده میکنند. SQLite دیتابیسی است که این روزها محبوبیت فراوانی دارد و اغلب از آن استفاده میشود؛ اما Realm با هدف از میدان به درکردن این دیتابیس توسعه یافته و در اختیار توسعهدهندگان قرار گرفته است. در دوره آموزشی Lynda Learning Realm for iOS App Development با رآلم برای توسعه اپ آی او اس آشنا خواهید شد.
سیستم مدیریت محتوا (Content Management System و به اختصار: CMS)، مجموعهای از رویهها برای مدیریت روند کار در یک محیط مشارکتی است. یک سیستم مدیریت محتوای وب قوی، امکان مشارکت چندین نویسنده را برای مدیریت نوشتهها، اسناد و خروجیها در یک وبسایت فراهم میکند. بیشتر سیستمهای مدیریت محتوای وب، از یک مخزن محتوا یا پایگاهداده برای ذخیرهکردن محتوای صفحه، ابردادهها و اطلاعات دیگری که ممکن است برای سیستم لازم باشد استفاده میکنند و لایهی ارائه (نزدیکترین لایه به رابط کاربری) نیز، محتوای وبسایت را بر اساس مجموعهای از قالبها، که اغلب از نوع فایلهای XSLT هستند، برای بازدیدکنندگان نمایش میدهد. در دوره آموزشی Udemy Content Management System in PHP & MySQL شما با سیستم مدیریت محتوا در مای اس کیو ال و پی اچ پی آشنا می شوید.
گرافکیوال (GraphQL) یک زبان پرسمان به طور داخلی توسعهداده شده توسط فیسبوک در ۲۰۱۲ پیش از انتشار عمومی در ۲۰۱۵ است که یک جایگزین به معماریهای REST و خدمات وب تککاره ارائه میدهد و اجازه میدهد که مشتریها ساختار دادهٔ موردنیاز را تعریف کنند و ساختار دقیقاً مشابه توسط کارساز بازگردانی میشود. ساختار زمان اجرای آن سختگیر در نوع است که اجازه میدهد مشتریها مشخص کنند که چه دادهای مورد نیاز است. این ساختار از مشکلات واکشی بیشتر و همچنین واکشی کمتر دادهها جلوگیری میکند. گرفکیوال در زبانهای مختلفی پیادهسازی شده است، از جمله جاوااسکریپت، پایتون، روبی، جاوا، سیشارپ، اسکالا، گو، الیکسر، ارلنگ، پیاچپی، و کلوژر. در دوره آموزشی Lynda GraphQL Essential Training با گراف کیو ال و ویژگی های آن اشنا می شوید.
پایتون (Python) یک زبان برنامه نویسی تفسیری، داینامیک و شی گرا است که می توان از آن در نرم افزار ها و تکنولوژی های متنوع بهره برد. این زبان برنامه نویسی (در ایران پیتون هم تلفظ می شود) با داشتن کتابخانه های گسترده (library) روشهای بسیار قدرتمند و حرفه ای را برای کار با زبانها و ابزار های مختلف به آسانی فراهم می کند. متن باز (اوپن سورس) بوده و یادگیری و استفاده از آن در عرض چند روز ممکن است. کد های نوشته شده در این زبان در محدوده وسیعی از پلتفرم ها مانند لینوکس، ویندوز، مک و حتی گوشی های موبایل قابل اجرا است. همانطور که گفته شد این زبان از زبانهای برنامه نویسی مفسر بوده و به صورت کامل یک زبان شیگرا است که در ویژگیها با زبانهای تفسیری پرل، روبی، اسکیم، اسمالتاک و تیسیال مشابهت دارد و از مدیریت خودکار حافظه استفاده میکند. در دوره Udemy Complete Python Bootcamp Go from zero to hero in Python 3 با آموزش کامل مقدماتی تا پیشرفته پایتون 3 آشنا خواهید شد.
Python (پایتون) یک زبان برنامه نویسی تفسیری، داینامیک و شیءگرا می باشد که می توان از آن در محدوده وسعیی از نرم افزار ها و تکنولوژی ها بهره برد. این زبان برنامه نویسی روش های بسیار قدرتمند و حرفه ای را برای کار با زبان ها و ابزار های مختلف را با آسانی هر چه تمام تر فراهم می کند. بدین منظور این زبان داره کتابخانه هایی بسیار گسترده می باشد که یادگیری و استفاده از آن ها در عرض چند روز ممکن می باشد. این زبان، یک زبان آزاد و متن باز (Open Source) می باشد. کد های نوشته شده در این زبان در محدوده ای وسیع از پلتفرم ها چون لینوکس، ویندوز، مک، حتی گوشی های موبایل و ... قابل اجرا می باشد . هم اکنون پایتون در شرکت ها و سازمان های بزرگی چون ناسا، گوگل، یاهو و ... به صورت گسترده مورد استفاده قرار می گیرد. نرم افزارهای Blender، Mailman، Civilization IV، BitTorrent و ... از نرم افزارهایی هستند که به وسیله این زبان خلق شده اند. در دوره آموزشی Udemy The Modern Python 3 Bootcamp با توسعه انواع وب سایت های مدرن با استفاده از پایتون 3 آشنا می شوید.
جاوا (Java) یک زبان برنامهنویسی شئگراست که برای اولین بار توسط جیمز گوسلینگ در شرکت سان مایکروسیستمز ایجاد شد و در سال ۱۹۹۵ به عنوان بخشی از سکوی جاوا منتشر شد. زبان جاوا شبیه به ++C است اما مدل شیءگرایی آسانتری دارد و از قابلیت های سطح پایین کمتری پشتیبانی میکند. یکی از قابلیت های اصلی جاوا این است که مدیریت حافظه را بطور خودکار انجام می دهد. ضریب اطمینان عملکرد برنامه های نوشته شده به این زبان بالا است و وابسته به سیستم عامل خاصی نیست، به عبارت دیگر می توان آن را روی هر رایانه با هر نوع سیستم عاملی اجرا کرد. برنامه های جاوا به صورت کدهای بیتی همگردانی (کامپایل) میشوند. که مانند کد ماشین هستند و وابسته به سیستمعامل خاصی نیستند. در دوره Udemy Java A-Z : Become Masterclass for Java Easy Jobs به آموزش تسلط کامل بر زبان جاوا می پردازیم.