stepbystep Archives - SoftUni Global https://softuni.org/tag/stepbystep/ Learn Programming and Start a Developer Job Thu, 31 Mar 2022 13:43:13 +0000 en-US hourly 1 https://wordpress.org/?v=6.1.3 https://softuni.org/wp-content/uploads/2022/04/cropped-SoftUni-Global-Logo-Square-notext-32x32.png stepbystep Archives - SoftUni Global https://softuni.org/tag/stepbystep/ 32 32 What You Need to Know about Back-End Technologies [Dev Concepts #23] https://softuni.org/dev-concepts/what-you-need-to-know-about-back-end-technologies/ https://softuni.org/dev-concepts/what-you-need-to-know-about-back-end-technologies/#respond Tue, 11 Jan 2022 06:10:00 +0000 https://softuni.org/?p=10418 In this video, we will get familiar with Back-End technologies and concepts like Databases, ORM and MVC Frameworks, Rest, Containers and Docker.

The post What You Need to Know about Back-End Technologies [Dev Concepts #23] appeared first on SoftUni Global.

]]>

In this lesson, we take a look at Back-End technologies in software development. That is a technical term that deals with server-side operations, including CRUD functions with database and server logic. Meanwhile, Front-End development is programming which focuses on the visual elements of a website or app that a user will interact with.iceberg-front-back-end

Back-End technologies are essential in the development of software projects. Whether you are a startup founder, or a corporate decision-maker, selecting the right Back-End technology is crucial to determine your project success. Choosing the correct Back-End technologies can guarantee scalability, functioning speed, and instant response to customers’ needs.

In our video, we explain foundation concepts that aspiring developers shouldn’t miss. Keep up with the videos, and you will learn about:

  • Databases: They are a place for storing our data but in an organized structure.  Data is organized and stored in the form of tables. A table contains rows and columns. Each row in a table is a record, and column a field that describes the row.  Read our article about them here.
  • ORM: This is short of Object Relational Mapping. It is the idea of writing queries using your favorite programming language. You interact with a database using your language of choice instead of SQL. Read our article about them here.

mvc-logo

  • MVC: The term stands for ModelViewController. It is a design pattern used to help us build frameworks for applications. The MVC splits the application into three different sections. Each section represents one word from the abbreviature. Each component has a specific responsibility and has a link to the others. Read our article about them here.
  • Web Services and APIsWeb Service is a network-based resource that fulfills a specific task. On the other hand, API is an interface that allows you to build on the data and functionality of another application. There is an overlap between the two. WEB services are APIs, but APIs can be offline. Many public APIs are transparent, with open documentation and self-service portals for quick developer onboarding. On the other hand, Web Services are not open source. Instead, they tend to offer specific data and functionality to partners.

web-vs-api

  • REST and RESTful Services: REST is a set of architectural constraints, not a protocol or a standard. API developers can implement REST in a variety of ways. When a client request is made via a RESTful API, it transfers a representation of the state of the resource to the requester or endpoint. This information, or representation, is delivered in one of several formats via HTTPRestful Web Services is a lightweight, maintainable, and scalable service built on the REST architecture. It also exposes API from your application in a stateless manner to the calling client. The calling client can perform predefined operations using the Restful service.rest-diagram
  • Virtualization, Containers, and Docker: Virtualization is a relatively new technology that allows creating a completely isolated machine from scratch, all in software. Nowadays, companies are starting to prefer Docker. It s a tool that uses containers to make the creation, deployment, and running of applications a lot easier. Read our article about them here.docker-image-vm

Hopefully, reading all this about Back-end technologies will help you in making the right decision. No matter what language you are using, all of those concepts are the same. For every aspiring programmer, it’s a must to know all of the topics. If you want to learn more about the differences between Front-End, Back-End, and Full-Stack technologies you can read our article here.

Lesson Topics

In this tutorial we cover the following topics:
  • Front-End and Back-End
  • Databases
  • ORM
  • MVC
  • ORM
  • Web Services and APIs
  • Rest and RESTful Services
  • Virtualization, Containers, and Docker

 

Lesson Slides

The post What You Need to Know about Back-End Technologies [Dev Concepts #23] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/what-you-need-to-know-about-back-end-technologies/feed/ 0
Overview of Operating Systems and Linux [Dev Concepts #22] https://softuni.org/dev-concepts/overview-of-operating-systems-and-linux/ https://softuni.org/dev-concepts/overview-of-operating-systems-and-linux/#comments Tue, 21 Dec 2021 12:10:00 +0000 https://softuni.org/?p=9757 In this video of the series Dev Concepts, we take a look at Operating Systems and a concept like Linux Shell Commands.

The post Overview of Operating Systems and Linux [Dev Concepts #22] appeared first on SoftUni Global.

]]>

In this episode, we take a look at Operating Systems. In short, Operating System(OS) is the connection between users and computer hardware.

OS-FlowchartSimply put, you give instructions to a computer, which the Operating System does. OS is software that manages the computer hardware by hiding hardware complexity, managing computational resources, and providing isolation and protection. Most importantly, it directly has privileged access to the underlying hardware. Major components of an OS are the file system, scheduler, and device driver.

OS-FlowchartDifferent Operating Systems run on different types of hardware and are designed for different types of applications. For example, iOS is designed for iPhones and iPad tablets, while Mac desktops and laptops use macOS. Your computer or smartphone comes equipped with an OS, but you can install another one in some cases. For Software developers, Linux is one of the must-learn Operating Systems.

Guy-It-ProblemUsers, who are new to Linux, usually discard it by falsely considering it as a difficult and technical OS to operate but, to state the truth, in the last few years Linux, Operating Systems have become a lot more user-friendly than their counterparts like Windows, so trying them is the best way to know whether Linux suits you or not. There are thousands of Linux-based Operating Systems that offer state-of-the-art security and applications.

If you still think that Linux OS is not worth it, let’s see its advantages over other Operating Systems.

  • 🆓 It’s 100% free.
  • 🔨 It’s easy to install.
  • 🔌 The consumption of resources and space is small, unlike Windows.
  • 👥 There is community support for troubleshooting.
  • 🆓 Every program like Photoshop, Microsoft Word has an alternative, free version.
  • ⌨ Linux has powerful command prompts
  • 💽 It works virtually on any modern era computer.

If you want to try Linux without changing your Operating System, you can read our previous article about Virtualization here.

OS-typesAn Operating System is the fuel required to run your computer at your convenience. There are many OS out there that make it possible. Choose the best Operating System that suits your needs and comfort.
Whatever you choose, you won’t be making a mistake as long as you are satisfied with it.

Lesson Topics

In this video we review the following topics:
  • Operating System
  • Linux Shell Comands

Lesson Slides

The post Overview of Operating Systems and Linux [Dev Concepts #22] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/overview-of-operating-systems-and-linux/feed/ 2
Overview of Virtualization, Containers and Docker [Dev Concepts #21] https://softuni.org/dev-concepts/overview-of-virtualization-and-docker/ https://softuni.org/dev-concepts/overview-of-virtualization-and-docker/#respond Mon, 20 Dec 2021 14:13:00 +0000 https://softuni.org/?p=9644 In this short video, we will get familiar with the Virtualization concept and concepts like Container, Docker, and Cloud Platforms.

The post Overview of Virtualization, Containers and Docker [Dev Concepts #21] appeared first on SoftUni Global.

]]>

In this lesson, you will become familiar with: virtualization, containers, docker, and cloud platforms.
Have you ever wondered how to operate multiple Operating Systems on your computer? Thanks to virtualization, we can do that!

Virtualization is a relatively new technology that allows creating a completely isolated machine from scratch, all in software. Its dictionary definition is creating a virtual instance of an operating system, server, storage device, etc. In the IT industry, virtualization is running a virtual instance of a computer as a layer abstracted from the actual hardware.docker-image-vm

World-famous providers like Linux and other open-source cloud solutions define virtualization as a technology that lets you create IT services using resources traditionally bound to hardware. It allows you to use a physical machine’s full capacity by distributing its capabilities among many users or environments”.

Nowadays, companies are starting to prefer Docker. It s a tool that uses containers to make the creation, deployment, and running of applications a lot easier. It binds the application and its dependencies inside a container.

docker-logoBut what is the difference between Docker and virtual machines?

Docker is an example of virtualization, but with a few differences:

  • Containers share the same system resources and don’t have separated resources.
  • A Docker doesn’t have an OS inside.
  • It allows running multiple workloads on the same OS.

For example, if you have a 1 GB container image and want to use more than one virtual machine, you need to have 1 Gb multiplied by the numbers of the VM you want. If you use Docker, you can share the 1 GB between all the Docker containers.

In most real-life cases, your applications will have external dependencies, such as databases, message queues, or other external services that your application communicates to. You will need a reliable and easy-to-use way of bringing these dependencies into your development environment. Docker has a good solution for this called Docker Composer. It’s a tool for defining and running multi-container applications. That, combined with a cloud platform, will be the perfect solution.

A cloud platform is the operating and hardware system in a remote internet-based data center. It allows software and hardware products to co-exist remotely and at scale.

Docker-container-graphic

 

Overall, Virtual Machines are the most effective way to reduce IT expenses while boosting efficiency and agility for all-size businesses. Docker allows applications to be packaged with all the dependencies inside, which simplifies the deployment process quite a bit, and you get to have full reproducible environments.

Lesson Topics

In this video we review the following topics:
  • Virtualization and Cloud
  • Containers and Docker

Lesson Slides

The post Overview of Virtualization, Containers and Docker [Dev Concepts #21] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/overview-of-virtualization-and-docker/feed/ 0