AJAX

AJAX is a set of web development techniques that uses several client-side web technologies to make interactive web apps that can handle user queries in real time. AJAX achieves this by using HTML and CSS for visual rpesentation, XML or JSON for interchange of the data as well as XSLT for manipulation, the Document Object Model (DOM) for dynamic data display, XMLHttpRequest. for asynchronous communication and JavaScript to unify these technologies.

AJAX is the key to allowing content on the web page to be updated instantly, doing so as soon as a visitor performs a particular action. This is different from an HTTP request, where the entire page is reloaded. Because AJAX is heavily reliant on XMLHttpRequest, the first applications to use it would only work with the Internet Explorer browser, but every modern web browser fully supports AJAX.

AMP

AMP, or accelerated mobile pages, is an open source framework that allows the web pages to load (and pre-render in Google search) much faster than regular HTML. AMP was developed by Google, Twitter was also involved. The aim of AMP is to give mobile users better and faster experiences. AMP does this because it gives developers the option to simplify both CSS and HTML so that mobile users get a more “lightweight” experience.

Facebook started the trend with its Instant Articles and Google responded with AMP. However, AMP has gained a bigger foothold and today it is a commonly used way to deliver mobile content from search results at a much faster speed – compared to serving a standard page. In fact, AMP has become so prominent and so popular that Google has been pushing to get AMP included in the web standards framework.

Array

You always need to store data in your app – variables are used to store data values. An array is a specific type of variable that can hold multiple values – all under the same variable name. Developers then retrieve a value by referring to it by a text key or indeed an index number in that array.

PHP is the language behind WordPress, and it frequently uses arrays. So when you develop for WordPress or even just use WordPress you are likely to come across arrays – just looking a the core WordPress code will highlight arrays, while you will also see arrays in plugins and themes.

The array() function is used in PHP to create an array. There are three types of arrays in PHP:

  • Indexed, where you use a numeric key to access individual values in an array
  • Associative, where strings or unique text is used to find the value in an array
  • Multidimensional, where a single array in fact contains a number of other arrays

A common way to use an array is to “loop” through the entire set of values in the array and to modify each of these values in some way. As an example, if you have a few pieces of fresh fruit you can store the names of the fruit using a new variable for each fruit, like this:


$myfruits1 = "orange";
$myfruits2 = "peach";
$myfruits3 = "banana";

Alternatively, you can use an array – because using unique variables for each piece of fruit can cause a mess. Programmers would be inclined to use an array that looks like this example:


$myfruits = array("orange", "peach", "banana");

With that array you can use various functions to manipulate the array, performing specific operations on an entire data set all in one go. One example is count() – this function will tell you how many items there are in your array. You can also find a specific value – $fruit[2] will return the word “banana”. Remember that in indexed arrays the first array item is number 0.

Backbone

Backbone is one of web development frameworks that suits simple single-page applications quite well.  It gives structure to web apps by using models with key-value binding and events, collections with a rich API  and views with declarative event handling. RESTful JSON interface is used here as connection point to your existing API. It follows an MV* pattern in that it implements the MVC design in part. Backbone’s sole core dependency is Underscore.js, and it benefits from a broad ecosystem that makes learning it and using it that bit easier.

Backend

Backend refers to the system configuration area of an application such as a CMS. So, for WordPress for example, the WordPress backend is the administrator area of WordPress where you add content, users, and customize the CMS by installing plugins and themes. Another name for the WordPress admin area is “wp-admin”, thanks to the URL used for this section.

What can you do in the backend section of WordPress?

Logging in to the admin section in WordPress is simple – simply add “/wp-admin/” at the end of your domain name. You’ll find the following sections in the WordPress administrator area:

  • Dashboards. In this section you get an overview of your site and what’s currently happening on it – it’s the first screen you see.
  • Want to add content to your WP site? This is where you do it – this backend page lets you draft up, publish, edit and remove articles (pages) on your website.
  • Some of your articles will require content – you upload this in the Media section, where you can also manage media – deleting, editing and searching for media assets.
  • You might have some static pages on your WordPress site – this is where you add and edit these static pages.
  • If you have enabled comments on your WordPress site you can use this page to approve or moderate comments.
  • It’s easy to change the look and feel of your WordPress site – you do this in the appearance section, changing themes, managing the user menus on your site and adding WordPress widgets.
  • WordPress is highly extensible and the plugins section is where you add software that extends your WordPress capabilities.
  • It’s essential that you closely manage who is able to edit your WordPress site, the users section is where you do it – adding users, editing roles and removing users.
  • Tools. In this section you’ll be able to efficiently do batch tasks like managing personal data and exporting or importing WordPress content.
  • Settings. Finally, the settings backend page is where you edit the fundamental settings governing your site.

Note that because WordPress is so customisable you might also find that the WordPress backend may look very different from one instance of the CMS to another – you can find very different settings and options in the WordPress backend depending on how WordPress is configured.

Across the content in your site you will notice that we use the word “backend” as part of another phrase a lot – backend language, backend developer etc. We’ll now look at what these phrases mean.

What backend developer means

The tech that makes your site work efficiently and properly is developed by a backend developer. These developers are specialists in the use of databases, scripts, APIs and various other systems that all work together to make your website work.

Backend languages

Applications, databases and servers all have to communicate with each other – and the languages that facilitate this communication are called backend languages. Backend developers are able to use server-side application languages such as Java, .NET, PHP, Python and Ruby.

The languages used for backend development combine with databases such as SQL Server, Oracle and the popular MySQL so that data can be found, saved and edited from the front end of your website. In the case of WordPress, JavaScript and PHP are the two key backend languages. Developers use these languages to store and organise website data by communicating with the WordPress database.

Understanding backend development projects

Websites often require extensive planning – and this planning is divided up into front-end planning, back-end planning and of course all the other elements such as design, SEO and content. The back-end planning looks at the nuts and bolts behind the website – setting up the website infrastructure.

Distinguishing between back-end and front-end

Your users will never see the back-end area of your website: in other words, it is at the back – working behind the scenes on your website. Only the people who manage your site will get access to the back-end, and perhaps some other registered users too. On the other hand the front-end of your site is the part of your site seen by the public: it’s the reason your site exists, to show content to the public.

C++

The C++ programming language (also referred to as C++ scripting language) is a general-purpose programming language that can be labelled in various ways, including—statically typed, free-form, multi-paradigm, and compiled. C++ (pronounced “see plus plus”) as well as a group of intermediate-level languages, because it comes with a mixture of features found in both high and low level languages. Bjarne Stroustrup created the ground work for C++ in 1979 while he was employed at  Bell Labs. It has object-oriented features, such as classes, but also includes other improvements over the original. C++ was an improvement over the original name of “C with Classes,” which doesn’t have such a nice ring to it. The new name was given in 1983, and is a play on words. It literally means “Increment C by 1”, alluding to the fact that it’s better than C.

C++ is one of the most widely accepted programming languages that has found its way into a great many hardware and OS platforms. It is known to be able to compile native code efficiently, and is used for developing operating systems, applications, device drivers, embedded software, high-performance server and client applications, and video games. A number of groups offer both free and paid C++ programming language compiler software, including the GNU Project, Microsoft, Intel and Embarcadero Technologies. The C++ programming language has been a significant influence on other popular programming languages, and in particular C# and Java. Other widely used and popular languages, like Objective-C use a markedly different syntax and approach to adding classes to the C++ language.

CDN

CDN stands for “Content Delivery Network“, which is a group of servers spread throughout the country or around the world. They replicate the data for a website in one country in another country. So you could call up a webpage from an Indian website but the server that delivers it to you would be located in your country, so it has less far to travel and loads faster.  The CDN intelligently delivers the same content to people from the server that is closest to them.

This approach is great for large businesses because it allows them to avoid the kind of bottlenecks that would happen if they served data from just one location. A CDN also makes DDoS / DoS  attacks less effective, because it naturally provides multiple targets. Downtime from things like technical problems can be virtually eliminated because the CDN can route traffic to working servers when something breaks. All

Cloud services and media distribution networks like YouTube or Netflix will often use CDNs to keep things running smoothly. Every user is connected to the best server for them, eliminating the need to choose the best location manually, which is what you need to do with some FTP services.

Note that although CDNs usually use standard URLs, you may see a tell-tale “cdn” in their web address.

CodeIgniter

CodeIgniter is used to build dynamic websites with PHP. It is based (in a loose sort of way) on the popular MVC (Model-View-Controller) development pattern and works with typical shared hosting accounts, various versions of PHP and various configurations. Also, you don’t need to go via the command line to use it. URLs are mapped to a specific function in a controller using routing.

CodeIgniter also allows for the use of scaffolding, which offers an automated way of producing views based on the models. Despite the fact that scaffolding is primarily meant for simple prototyping, CodeIgniter takes it one step further by insisting there is a keyword in the URL before access is given. It’s a contemporary MVC framework which makes it much easier to create PHP applications.

The majority of the work, including loading libraries, retrieving information from the model, rendering the view, etc., falls to the controller. CodeIgniter offers classes for FTP, email, file uploading, XMLRPC, and zip compression. There is no requirement to name your database tables, and neither do you need to give your tables the same names as your models.

 

CSS

Cascading Style Sheets—or CSS for short—is a stylesheet language that tells a webpage how it should  look. It’s used to describe the presentation of a document written in a mark-up language like HTML or XHTML, and it sets out things like colors, fonts and layout. As such, it’s a cornerstone technology of the World Wide Web.

It’s so powerful because it formats content without being a part of it. It effectively modifies the look of content and cascades it across multiple pages of a website, quickly and easily. This is important because it means that the look of hundreds of pages can be altered centrally, in the CSS file, without the need to edit each of those pages manually. It also means that different CSS rules can be applied to fit the size of the device being used to access the page, so with phones and tablets pages can adjust on the fly. This makes any site extremely responsive and makes content more accessible and easier to update. One single HTML page can be offered in a number of different forms to suit different purposes, so the same content can be adapted easily for on-screen reading, print or voice/touch recognition software.

CSS has a simple syntax and every style sheet has a set of rules. They all have a number of selectors and a declaration block. Declaration blocks are comprised of a list of declarations that are book-ended by braces. They have a property, a colon (:), and a value. If there are multiple declarations in a block of CSS code, then a semi-colon (;) needs to be used to separate them.

The selectors in CSS script are used to specify which particular style applies to what portion of the content. Selectors can apply to all elements of a certain type, or to separate groups. CSS supports pseudo-classes in selectors which permits formatting built on data that is external to the page structure.

“Hover” is an example of a pseudo-class. It only identifies content when the on-screen pointer is placed over it. A pseudo-class categorizes page elements using style sheets, such as :link or :visited. A pseudo-element also creates a selection that may be made of partial elements like :first-line or :first-letter. Selectors can be combined in many ways with a CSS program, especially in CSS 2.1, to attain high levels of accuracy and mobility.

DevOps

DevOps is an all-encompassing term, touching on everyone from developers through to IT staff and operations across a company. DevOps, as you may guess, combines “development” and “operations”.

The rationale behind DevOps is an attempt to make operations and development teams collaborate better, teams who previously may have operated in solos. By example, an ops manager could ask a development team to update the features of a website app. For a successful update the operations team will need specify as accurately as possible what feature they need. In turn the development staff will program the features and test the update internally, then release it to the ops team who will make it live for production.

Operations teams can also advise development teams when a big is found in a webite that is live or in an app so that engineers can review and fix the problem. A more structured approach to matters like bug reporting and requesting updates ensures that the request is implemented smoothly – and that updates are effortlessly published. As a result a company can push out bug fixes in a quicker and more efficient manner.

A process under a DevOps management style would look a bit like this, where a software update is concerned:

  1. The operations team receives feedback from users, and writes it up
  2. A concerted effort between the operations and development teams ensure the update is designed correctly
  3. The development team will write the code for the update, and implement it
  4. Internal tests will be run by the development team
  5. Making the update live for user is the task of the operations team
  6. Both operations and development teams are involved in the testing of an update

We’ve outlined one example of how a DevOps team could work but there are no hard and fast rules – smaller teams could skip some of the steps, with more overlap between internal teams, when compared to a large enterprise. Either way DevOps is intended to fix bugs as quickly as possible, and to roll out highly reliable software at all times.

DevOps offers a strong set of principles that work even better if some key tips are followed:

  1. Make sure the testing environment perfectly matches the production environment
  2. Try to automate some software testing efforts – consider unit testing for example
  3. Ensure your software is easy to scale, by design
  4. Always utilise version control when you make changes

As DevOps have become increasingly important to efficient technology processes a new job title has emerged – the DevOps manager. This IT position involves the oversight of both the development and operations divisions, a role which was previously separated. The DevOps manager is positioned to help development and operations departments communicate effectively, and to ensure smooth co-operation.