Welcome to Refreshing Essential Development Skills. After watching this video, you will be able to: Summarize basic concepts in software development, Define some fundamental software development terms, And determine whether further study or review is needed. The IBM courses on Coursera related to software development cover many topics that you should grasp if you want to be a stronger candidate for developer positions. These skills will also be useful in your career after you get a job. This will be a brief review of this content to check your understanding. If you need stronger understanding of these topics, please consider taking or reviewing these courses. Front-end developers work on the parts of the website or app that the user sees and interacts with. Back-end developers work on the logic and functionality that keeps the website or app running and responding to users’ inputs. Full-stack developers have both sets of skills. Common languages for front-end development include HTML, CSS, JavaScript, and React. Common languages and frameworks for back-end development include Python, Django, and Flask. Frameworks and libraries extend the functionality of both types of coding language, including JavaScript and Python. HTML provides the basic structure and content for a website using tags. CSS provides a consistent style and design throughout the website that can be edited from one place without changing each page. Scripting provides a more interactive experience when a user browses a website. HTML uses APIs to enhance the user experience, providing advanced animation, audio, and video features. The HTML DOM Tree describes how a website is structured. JavaScript is a scripting language that enables developers to add dynamic content to web pages. JavaScript creates client-side scripts, which are programs that accompany HTML documents and are used by developers to incorporate more interactive elements. They run in browsers, so JavaScript does not rely on server resources. Developers can access HTML DOM elements from JavaScript scripts using the correct DOM notation. JavaScript variables are declared using the var keyword and take their type from the assigned value. Program execution is controlled by statements like If...Then...Else, Switch, For loops, and While loops. JavaScript adheres to ECMAScript 6 (ES6), a modern language standard meant to ensure the interoperability of websites. Distributed version control keeps track of changes to code and other documents, regardless of where they are stored. Repositories are storage structures that hold code, track issues, and enable you to collaborate with others on a project. Repositories can be cloned to make it possible to work locally, then sync changes back to the original after the code has been finished and refined. Repositories can be forked to be used as a base for a new project or so that the developer can work independently. Branches are used to isolate changes to code and can also be merged back into the master branch. A branch is a new part of an existing project tree, while a fork is a full copy of the repository. A cloned copy retains connection to the original repository, while a fork is a wholly new independent copy. Large projects can make use of roles that are assigned to the participants. Some roles might include developers, who create code; integrators’ who manage changes made by developers; and a repository administrator, who configures and maintains access to the repository. Administrators can use roles to control the rights and access each collaborator has, which maintains the security of the project. Front-end frameworks like React are made available through open-source libraries that you can use to build applications that run in the browser. React uses a special markup language called JSX. React manages the internal state of the application using states and props. The two types of React components are functional and class. Some other front-end frameworks include Angular and Vue. Node.js is a server-side programming framework for developers who want to build scalable, concurrent server applications quickly with a minimal set of tools. With server-side JavaScript, Node.js applications process and route web service requests from the client. With Node.js, you write asynchronous callback functions to handle results when they are complete. The Node.js runtime is packaged with many utility modules that you can use to create and extend your applications. A Node.js package consists of one or more modules. Developers rely on third-party packages to extend Node.js. You can use the npm application to manage Node.js packages in your Node.js framework installation. Express is a back-end framework that works with Node.js to abstract low-level detail. Middleware comes in several types. Some of these are application-level, router-level, error-handling, built-in middleware, and third-party. Cloud computing is the delivery of on-demand computing resources over the internet on a pay-as-you-go basis; resources are dynamically assigned and reassigned among multiple users and scale up and down in response to users’ needs. Cloud service providers give users choices with a host of services, including Infrastructure, Platform, and Software services. Networking capabilities in the cloud are delivered as a service rather than in the form of physical rack-mounted devices. Virtualization is the process of creating a software-based version of physical resources made possible through the use of hypervisors. Cloud resources, such as virtual machines, storage, network connectivity, and load balancers, are deployed into subnets within virtual private clouds. Cloud infrastructure consists of data centers, storage, networking components, and compute resources. Containers are an executable unit of software in which application code is packaged, along with its libraries and dependencies, in common ways so that it can be run anywhere—desktops, traditional IT, or the cloud. Containers are lighter weight and consume fewer resources than Virtual Machines, helping streamline the development and deployment of cloud native applications. DevOps is a collaborative approach that enables development and operations teams to deliver software continuously in fast, iterative cycles while reducing overhead and duplication. DevOps’ tools, practices, and processes help tackle the complexities and challenges posed by the cloud, allowing solutions to be delivered and updated quickly and reliably. Cloud-native applications are applications that are built or refactored to work in the cloud environment. These applications, developed using DevOps methodologies, consist of microservices packaged in containers that can run in any environment, making it possible to create and update features quickly and efficiently. Application modernization helps organizations accelerate their digital transformation, take advantage of new technologies and services, and become more responsive to changing market dynamics. Cloud computing is one of the key enablers of application modernization. In this video, you learned: IBM Coursera courses have covered essential skills and knowledge, And if this content isn’t familiar, it’s worthwhile to review it.