List of routine web programming tasks

programmerWhen studying a new framework or web programming language, you may sometimes feel confused and ask yourself: When can I consider that I have learned the product to a decent level? When can I say that I know it, and if there are some things I don't know, I can quickly grasp/read them in the manual/search for them on Google? In this note, I will try to systematize trivial or routine tasks in web programming that arise in the development of more or less serious projects. The list will constantly be updated and does not claim to be complete. The order in which the tasks are presented does not determine their importance. The tasks will range from fairly general to more specific ones.

Naturally, we are talking about the so-called back-end development, and the criteria presented here will be utterly useless to front-end developers. So, here is a subjective version of the list (with some comments):

1. Ability to return a Response

Naturally, if you are using "bare language," such as php, this may seem too trivial (it is simply the ability to call echo/printf) or puts in Ruby. However, when using frameworks (for example, Symfony framework), this is often a separate class.

2. Ability to create a view

Just like with the previous item, it depends on what you are studying. It can be as simple as HTML layout or learning additional markup languages like twig, smarty, etc.

3. Ability to work with databases:


  • database connection setup;
  • data retrieval from a single table;
  • data retrieval from multiple tables, joins;
  • adding records to the database;
  • updating records in the database.

Here too, everything depends on the product. Simple SQL queries are learned quite quickly, but understanding some nuances of working with Doctrine can take time.

4. Form creation. + Ability to create a selection (select or a bunch of checkboxes/radio buttons) based on a database table.

Yes, sometimes this item coincides with item 2, but for frameworks, it is usually a separate subtask, as form constructors are often used based on object models of tables or form models.

5. Form handling and data validation.

Well, I think it's clear - regardless of whether the process is automated or not, you need to be able to do it.

6. Working with superglobal variables (SESSION, POST, GET, etc.)

In lower-level products, the work is direct, while in frameworks, it is done through their own interface.

7. Authentication, access restrictions.

Yes, this is also essential =)

8. Working with files.