Moreover, it did not cope with its task. “Higher education should not be massive

This championship, in which, it seems, everything that could not happen has already happened - I mean the tournament intrigue - something final was missing at the finish line. Not sensational - this word has become worn out along the way due to too frequent use. And something completely unimaginable in the form of the final Belgium - Croatia. The Belgians failed. And the Croats reached the final. And this will be remembered years from now: “This is the World Cup where the Croatian national team played in the final!” Nothing like this happened for more than 50 years. And it shouldn't have been.

Starting from the 1966 World Cup, which was shown on television for the first time in our country and which was won for the first and last time by the founders of football, in principle there could be no “second tier” in the final. Hungary in 1954, Sweden in 1958, Czechoslovakia in 1962. Then, in different years, only monsters reached the finals and won: Brazil, Italy, Germany, Argentina, France. Plus the eternal loser Holland and Spain, which first broke through to the table only in 2010, which did not become a sensation. That's all! And no one else!

There are enough football countries, there are hardly more football powers than there are fingers on one hand. At the continental championships, please, frolic, even Mexico and Chile, or Denmark-Greece-Portugal. But on the planetary football forum, no, no.

And it was not for the Croats to break tradition. Yes, Italy and Holland did not make it to Russia, but the cohort of giants looked quite powerful. The Croats took out one of them while still in the group, leaving no stone unturned in Argentina. But you never know who has been called a shadow favorite before, and who will immediately remember them? Zlatko Dalic's team started the cup round and continued with a bang, defeating the national teams of Denmark and Russia in a penalty shootout. Two consecutive matches of more than 120 minutes of grueling struggle for an older team is almost a death sentence. We were lucky with the net, of course, but not with England.

That's who was hungry, greedy and most importantly - fresh. Those who probably remembered that it was unmotivated Croatia that deprived England of participation in Euro 2008, opening the way for Russia.

Everything tied up in a tight knot in the Luzhniki semi-final, and Gareth Southgate held almost all the trump cards. Almost everything, except one, was an experience, which the man in the strict vest never tired of reminding of after it was all over.

In fact, it ended with the fact that after Mario Mandzukic's goal, the Croatian football players, distraught with happiness, almost ran over a Salvadoran photographer on the edge of the field. When the final whistle sounded from Turkish referee Cünayt Çakır, the clock was preparing to strike midnight. The sky above the seething bowl of the Grand Sports Arena had long been dark, almost black. But for the winners, the stars shone on it.

But humanity did not look up. It was enjoying the moment. The part most interested in the result - the British in white T-shirts and the Croats in traditional red and white checkers - accounted for a maximum of one fifth of the audience. The remnants of the fans who left the championship stood out against the general background - they flashed sombreros, ponchos, and the German flag, but there were also plenty of Russian ones. And most of all, according to my calculations, it turned out to be Chinese. They finally joined the World Cup en masse at the semi-final level, sparing no expense. And how fans from the Middle Kingdom swept out the kiosks with official paraphernalia after the match - you had to see.

The cloud was driven away by the noise of the stands. The place was good, somewhere on the average level. From there it was clearly visible how the guys in white trains rushed past the platforms. The platforms were Croatian players. It seemed that every movement was difficult for them. They simply could not keep up with the dashing attacks. Nobody had time. The highly experienced Luka Modric brought down Dele Alli, who is head and shoulders taller than him, on the edge of the penalty area at the very beginning of the match. Kieran Trippier from Tottenham, who took all free kicks, launched the ball over the wall, Dejan Lovren from Liverpool almost jumped, and goalkeeper Daniel Subasic had no chance. The English torsida let out a cry of delight and began to sing for real, which was periodically interrupted by a sigh of disappointment.

There was a reason. Captain Harry Kane hit the post from a meter away and ruined a chance that could top any hit parade of oddities. Jesse Lingard carefully and without interference placed the ball in the corner to the right of the goalkeeper, but missed. There were countless approaches. The Croats resisted as best they could, but looked doomed. They whistled from the stands.

Not everyone - Luzhniki supported the Croatian national team much more than the British. The whistle was directed at a specific player. It was not the British who whistled, and certainly not the Chinese. The hosts were different, Russians, whose cordiality they never tire of shouting about on all TV channels. The target was defender Domagoj Vida. Not only did he score the second, almost decisive, goal against Igor Akinfeev. After the match, together with a member of the Croatian delegation, Ognjen Vukojevic, he also made a video available on the Internet, in which there was more stupidity than sedition.

On "Glory to Ukraine!" our propagandists attacked like a red rag. FIFA has already punished the penalty box, the Croats themselves have already deprived Vukojevic of accreditation, Vida himself has already apologized, and the fans have already stretched the banner into almost two sectors with words of gratitude to Russia.

But Vida was neither understood nor forgiven, showing even greater dependence on politics than the footballer who played for Dynamo Kiev.

He didn't bat an eyelid. The Croats survived. The British should have been wary. But they came out for the second half, clearly intending to play to the score. It worked for them before - Southgate taught his young and not very experienced team a lot. However, this time they were up against the Croats, who lost twice to their opponents during the match in the cup round - and won twice. Fighters and masters who never give up. They played without substitutions until the start of extra time - an incredible fact for such a match.


Vida and her son celebrate reaching the finals. Photo: Vlad Dokshin / Novaya Gazeta

In short, the Croats hobbled the English light cavalry. They took the ball and the territory. They began to methodically lay siege to the penalty area and not only disturbed Jordan Pickford, but started a real fire in his domain. Ivan Perišić scored with a tight finish ahead of Kyle Walker after a simple cross from Sime Vrsaljko. In the next episode, Pickford's goal was saved only by the post - the same Perisic hit. Somehow the England team managed to even out the game only towards the end of normal time.

Mario Mandzukic became her evil genius. The Juventus forward was missed in the penalty area, the hero of the match Perisic threw the ball in (later Ivan will say that Mario was in the right place), and Mandzukic does not miss such moments. Then twice, as if consisting of nothing but sinews, the giant would sit down exhausted on the lawn, and the British, who were already counting every lost second, would help him get up.

First, Mandzukic will leave the field. Then Modric. At some point, instead of the penetrating pass usual for the leader of the national team, he simply rolled the ball to the opponent - his legs no longer obeyed. But the British have already lost. More in spirit than in tactics.

Southgate at the press conference will mainly talk about the same things that are talked about after the victorious defeat of the Russian national team: about the progress of the team and the experience it has gained. And least of all - about the consolation final in St. Petersburg with the Belgians.

The phrase “the Russian team should have been in the place of the Croats” does not fit. She could have, but she didn’t. And period.

Yes, but what about the France-Belgium semi-final? What about the failed triumph of the most spectacular team of the championship? Why didn’t the brilliant trio Hazard - De Bruyne - Lukaku work out?

Yes, because the French. Probably future champions. A springy, flexible, cunning, terribly pragmatic team, which it has never been before. Didier Deschamps, after a disappointingly lost home Euro final two years ago, turned on a program called “the main thing is the result.” And he made a killer team out of a very talented, but damp national team that can strangle any opponent.

Before Sunday it's all about the French. Everything. But the cherry on the cake is already there. You know what it's called.

The Organizing Committee pays attention to the correctness of applications and articles. If the formatting rules do not comply, the conference organizing committee reserves the right to send back the materials to the author to correct any errors identified.

A unified format for the design of article bibliographic references in accordance with GOST R 7.0.5 2008 “Bibliographic reference”

(Examples of formatting references and bibliography)

Articles from magazines and collections:

Adorno T.V. On the logic of social sciences // Issues. philosophy. - 1992. - No. 10. - P. 76-86.

Crawford P. J. The reference librarian and the business professor: a strategic alliance that works / P. J. Crawford, T. P. Barrett // Ref. Libr. - 1997. Vol. 3, No. 58. - P. 75-85.

Crawford P.J., Barrett T.P. The reference librarian and the business professor: a strategic alliance that works // Ref. Libr. 1997. Vol. 3. No. 58. P. 75-85.

Kornilov V.I. Turbulent boundary layer on a body of rotation during periodic injection/suction // Thermophysics and Aeromechanics. - 2006. - T. 13, no. 3. - pp. 369-385.

Kuznetsov A. Yu. Consortium - a mechanism for organizing subscriptions to electronic resources // Russian Foundation for Basic Research: ten years of service to Russian science. - M.: Scientific. world, 2003. - pp. 340-342.

Tarasova V.I. Political history of Latin America: textbook. for universities. - 2nd ed. - M.: Prospekt, 2006. - P. 305-412

It is allowed to replace the prescribed dot and dash sign separating areas of the bibliographic description with a dot.

Philosophy of culture and philosophy of science: problems and hypotheses: interuniversity. Sat. scientific tr. / Sarat. state University; [ed. S. F. Martynovich]. Saratov: Publishing house Sarat. University, 1999. - 199 p.

It is permissible not to use square brackets for information not taken from a prescribed source of information.

Raizberg B. A. Modern economic dictionary / B. A. Raizberg, L. UJ. Lozovsky, E. B. Starodubtseva. -5th ed., revised. and additional - M.:INFRA-M, 2006. - 494 p.

Raizberg B. A., Lozovsky L. Sh., Starodubtseva E. B. Modern economic dictionary. 5th ed., revised. and additional M.: INFRA-M, 2006. 494 p.

Glukhov V.A. Research, development and construction of a system for electronic delivery of documents in the library: Author's abstract. dis. Ph.D. tech. Sci. - Novosibirsk, 2000. - 18 p.

Dissertations

Fenukhin V.I. Ethnopolitical conflicts in modern Russia: on the example of the North Caucasus region: dis.... cand. polit, science - M.. 2002. - P. 54-55.

Analytical reviews:

Economics and politics of Russia and neighboring countries: analyst. review, Apr. 2007/Rus. acad. Sciences, Institute of World Economy and International. relationships. - M.: IMEMO, 2007. - 39 p.

Patents:

RF Patent No. 2000130511/28, 12/04/2000.

Eskov D.N., Bonstedt B.E., Koreshev S.N., Lebedeva G.I., Seregin A.G. Optical-electronic device//Russian Patent No. 2122745.1998. Bull. No. 33.

Conference materials

Archeology: history and prospects: collection. Art. First interregion, conference. Yaroslavl, 2003. 350 p.

Maryinskikh D.M. Development of a landscape plan as a necessary condition for sustainable development of the city (using the example of Tyumen) // Landscape ecology and land use planning: abstracts of reports. All-Russian conf. (Irkutsk, September 11-12, 2000). - Novosibirsk, 2000. - P.125-128.

Online documents:

Official periodicals: electronic guide / Russian. national b-ka, Center for Legal Information. [SPb.], 20052007. URL: http://www.nlr.ru/lawcenter/izd/index.html (access date: 01/18/2007).

Loginova L. G. The essence of the result of additional education for children // Education: researched in the world: international. scientific ped. online magazine 21.10.03. URL: http://www.oim.ru/reader.asp7nomers 366 (date of access: 04/17/07).

Novosibirsk training market: its own game [Electronic resource]. - Access mode: http://nsk.adme.ru/news/2006/07/03/2121.html (access date: 10/17/08).

Litchford E. W. With the White Army in Siberia [Electronic resource] // Eastern Front of the Army of General A. V. Kolchak: website. - URL: http://east-front.narod.ru/memo/latchford.htm (date accessed 08/23/2007).

Monograph

GOST 25328-82

Group Zh12

INTERSTATE STANDARD

CEMENT FOR MORTAR

Specifications

Masonry cement. Specifications

ISS 91.100.10
OKP 57 3811

Date of introduction 1983-01-01

INFORMATION DATA

1. DEVELOPED AND INTRODUCED by the Ministry of Construction Materials Industry of the USSR

2. APPROVED AND ENTERED INTO EFFECT by Resolution of the USSR State Committee for Construction Affairs dated 04/09/82 N 93

3. INTRODUCED FOR THE FIRST TIME

4. REFERENCE REGULATIVE AND TECHNICAL DOCUMENTS

Item number

2.1, 4.1, 6.1

5. REPUBLICATION. December 2003

This standard applies to cement produced on the basis of Portland cement clinker and intended for mortars used in the production of masonry, facing and plastering works, as well as for the production of unreinforced concrete grades M 50 and below, which are not subject to frost resistance requirements.

1. TECHNICAL REQUIREMENTS

1. TECHNICAL REQUIREMENTS

1.1. Cement must be manufactured in accordance with the requirements of this standard according to technological regulations approved in the prescribed manner.

1.2. Cement for mortar construction is a product obtained by jointly grinding Portland cement clinker, gypsum, active mineral additives and filler additives.

1.3. The materials used for the manufacture of cement must meet the requirements specified in the standards or technical specifications for these materials.

1.4. Supplements

1.4.1. Active mineral additives - according to normative and technical documentation (NTD).

Granulated blast furnace or electrothermophosphorus slag - according to GOST 3476.

1.4.2. Additives-fillers

Quartz sand with a silicon oxide content of at least 90%. The content of clay, silt and fine dust fractions less than 0.05 mm in size should not exceed 3%.

Crystalline limestone, marble and dust from electric precipitators of clinker kilns - according to NTD.

1.5. Gypsum stone - according to GOST 4013. It is allowed to use phospho- and borogypsum according to the technical documentation.

1.7. It is allowed to introduce plasticizing or water-repellent additives into cement to improve the quality of cement. The amount of plasticizing additives should be no more than 0.5%, and water-repellent additives should not be more than 0.3% of the cement mass.

1.8. It is allowed to introduce air-entraining additives into cement in an amount of up to 1% of the cement mass.

1.9. When producing cement to intensify the grinding process, it is allowed to introduce technological additives that do not impair the quality of cement in an amount of no more than 1% of the cement mass.

1.10. The compressive strength of cement at 28 days of age must be at least 19.6 MPa (200 kgf/cm).

1.11. The beginning of cement setting should occur no earlier than 45 minutes, and the end should occur no later than 12 hours from the start of mixing.

1.12. The water separation of cement paste made at W/C = 1.0 should not be more than 30% by volume.

1.13. Cement samples must exhibit uniform volume changes when tested by boiling in water.

1.14. The fineness of cement grinding must be such that when sifting through sieve No. 008 according to GOST 6613, at least 88% of the mass of the sifted sample passes.

1.15. The content of sulfuric acid anhydride in cement must be no less than 1.5 and no more than 3.5% of the mass of cement.

2. ACCEPTANCE RULES

2.1. Rules for acceptance of cement - according to GOST 30515.

3. TEST METHODS

3.1. The chemical composition of cement is determined according to GOST 5382.

3.2. The physical and mechanical properties of cement are determined according to GOST 310.1 - GOST 310.6.

3.4. The water loss of cement is determined using the following method.

3.4.1. Equipment

Porcelain glass with a capacity of 1 liter.

Metal spatula.

Technical scales.

Graduated cylinder with a capacity of 500 ml.

3.4.2. Testing

Weigh out 350 g of cement and 350 g of water with an accuracy of 1 g. The water is poured into a porcelain glass, then a sample of cement is poured into the glass for 1 minute, continuously mixing the contents with a metal spatula. The resulting cement paste is mixed for another 4 minutes and carefully poured into a graduated cylinder. The cylinder with cement paste is placed on the table and the volume of cement paste is immediately measured. During the experiment, the cylinder must stand still and not be subjected to shocks or shaking.

The volume of settled cement paste is noted 4 hours after the first reading.

The water separation coefficient (volume) in percent is calculated using the formula

where is the initial volume of cement paste, cm;

- volume of settled cement paste, cm.

4. PACKAGING, LABELING, TRANSPORTATION AND STORAGE

4.1. Packaging, labeling, transportation and storage of cement is carried out in accordance with GOST 30515.

5. INSTRUCTIONS FOR USE

5.1. Cement must be used in accordance with the Instructions for the preparation and use of mortars approved by the State Construction Committee.

Due to slow hardening at low temperatures, this cement should generally be used at an ambient temperature of at least 10 °C.

6. MANUFACTURER WARRANTY

6.1. The manufacturer guarantees the compliance of cement with all the requirements of this standard for a month, provided that its transportation is observed and in accordance with the requirements of GOST 30515.


Electronic document text
prepared by Kodeks JSC and verified against:
official publication
M.: IPK Standards Publishing House, 2004

Formulation: there should not be more than one reason for changing a class

What causes the class logic to change? Apparently, a change in relations between classes, the introduction of new requirements or the abolition of old ones. In general, the question of the reason for these changes lies in the plane of responsibility that we have assigned to our class. If an object has a lot of responsibilities, then it will change very often. Thus, if a class has more than one responsibility, then this leads to fragility of the design and errors in unexpected places when the code changes.

Examples

There are a lot of scenarios where you can encounter a violation of this principle. I've selected a few of the most popular ones. Examples will be given, identifying the design error, followed by a solution to the problem.

1. Active Record

Problem

Most recently I've been using MyGeneration as an ORM. The essence of this ORM is that it generates business entities from database tables. Let's take the user entity Account as an example. The usage scenario looks like this:

// creating a user Accounts account = new Accounts(); account.AddNew(); account.Name = "Name"; account.Save(); // loading an object by Id Accounts account = new Accounts() account.LoadByPrimaryKey(1); // loading a linked collection when accessing an object property var list = account.Roles;

The Active Record pattern can be successfully used in small projects with simple business logic. Practice shows that when a project grows, mixed logic within domain objects results in a lot of duplication in code and unexpected errors. Database calls are quite difficult to trace when they are hidden, for example behind the object's account.Roles property.

In this case, the Account object has several responsibilities:

  1. is a domain object and stores business rules, for example, association with a collection of roles
  2. is the access point to the database

Solution

A simple and effective solution is to use the Repository template. We leave the work with the database to the AccountRepository storage and get a “clean” domain object.

// creating a user var account = new Account(); account.Name = "Name"; accountRepository.Save(account); // loading user by Id var account = accountRepository.GetById(1); // loading with a linked collection // example from LLBLGen Pro var account = accountRepository.GetById(1, new IPath(new Path (Account.PrefetchPathRoles)));

2. Data validation

Problem

If you have completed at least one project, then you have probably faced the problem of data validation. For example, checking the entered email address. email, username length, password complexity, etc. To validate an object, the first implementation reasonably arises:

Public class Product ( public int Price ( get; set; ) public bool IsValid() ( return Price > 0; ) ) // check for validity var product = new Product ( Price = 100 ); var isValid = product.IsValid();

This approach is completely justified in this case. The code is simple, testable, and there is no duplication of logic.

Now our Product object has begun to be used in a certain CustomerService, which considers a valid product with a price of more than 100 thousand rubles. What to do? It is already clear that we will have to change our product object, for example, this way:

Public class Product ( public int Price ( get; set; ) public bool IsValid(bool isCustomerService) ( if (isCustomerService == true) return Price > 100000; return Price > 0; ) ) // use the product object in the new service var product = new Product(Price = 100); var isValid = product.IsValid(true);

Solution

It became obvious that with further use of the Product object, the logic for validating its data will change and become more complex. Apparently it’s time to give responsibility for validating product data to another entity. Moreover, it is necessary to make sure that the product object itself does not depend on the specific implementation of its validator. We get the code:

Public interface IProductValidator ( bool IsValid(Product product); ) public class ProductDefaultValidator: IProductValidator ( public bool IsValid(Product product) ( return product.Price > 0; ) ) public class CustomerServiceProductValidator: IProductValidator ( public bool IsValid(Product product) ( return product.Price > 100000; ) ) public class Product ( private readonly IProductValidator validator; public Product() : this(new ProductDefaultValidator()) ( ) public Product(IProductValidator validator) ( this.validator = validator; ) public int Price ( get ; set; ) public bool IsValid() ( return validator.IsValid(this); ) ) // common usage var product = new Product ( Price = 100 ); // use the product object in the new service var product = new Product (new CustomerServiceProductValidator()) ( Price = 100 );

We have a separate Product object, and any number of different validators separately.

In addition, I would like to recommend the book Using DDD and Design Patterns. Problem-oriented application design with examples in C# and .NET. It addresses the issue of data validation in great detail.

3.God object

Problem

The limit for violating the principle of sole responsibility is God object. This object knows and can do everything that is possible. For example, it makes queries to the database, to the file system, communicates via protocols on the network and contains a ton of business logic. As an example, I’ll give an object called ImageHelper:

Public static class ImageHelper ( public static void Save(Image image) ( // saving the image to the file system) public static int DeleteDuplicates() ( // remove all duplicate images from the file system and return the number of deleted ones) public static Image SetImageAsAccountPicture(Image image , Account account) ( // query the database to save a link to this image for the user ) public static Image Resize(Image image, int height, int width) ( // resize the image ) public static Image InvertColors(Image image) ( // change the colors on the image) public static byte Download(Url imageUrl) ( // downloading a bitmap with an image using an HTTP request) // etc. )

It seems that he has no boundaries of responsibility at all. It can save to a database, and it knows the rules for assigning images to users. Can download images. Knows how image files are stored and can work with the file system.

Each responsibility of this class leads to its potential change. It turns out that this class will change its behavior very often, which will make it difficult to test it and the components that use it. This approach will reduce the performance of the system and increase the cost of its maintenance.

Solution

The solution is to divide this class according to the principle of single responsibility: one class per responsibility.

Public static class ImageFileManager ( public static void Save(Image image) ( // saving the image to the file system ) public static int DeleteDuplicates() ( // remove all duplicate images from the file system and return the number of deleted ones ) ) public static class ImageRepository ( public static Image SetImageAsAccountPicture(Image image, Account account) ( // query the database to save a link to this image for the user) ) public static class Graphics ( public static Image Resize(Image image, int height, int width) ( // change image sizes ) public static Image InvertColors(Image image) ( // change the colors in the image ) ) public static class ImageHttpManager ( public static byte Download(Url imageUrl) ( // downloading a bitmap with an image using an HTTP request ) )

This post is part of a series

51 years ago, on October 8, 1967, the UK first passed a law regulating the blood alcohol content of drivers.

Drinking alcoholic beverages is dangerous for drivers of all types of transport - even a slight decrease in reaction and attention leads to an increase in emergency situations and the number of fatal accidents.

Drunk drivers attracted attention back in the 19th century.

In 1872, the first official document appeared in England, which defined as a violation of public order “the state of intoxication of the driver of a carriage, cart, or steam engine on roads or in other public places.”

In 1925, an addition was made to this document: “the driver of any motor vehicle.”

In 1932, Professor Widmark (Sweden) first developed a device for the scientifically based determination of alcohol in the blood. This year should be considered the beginning of the era of testing drivers' blood for alcohol.

In 1935, the British Medical Association published the results of a study on Alcohol-Related Road Accidents. In 1936, a broad campaign began to introduce a scientifically based method of blood alcohol testing. In 1939, a House of Lords committee recommended the introduction of this analysis to monitor drivers, but only on a voluntary basis.

In 1966, the first attempt was made to pass through parliament a law regulating the content of ethanol in the blood: 0.8 ppm as the maximum permissible level and a maximum speed of 70 mph. Exceeding these values ​​was to be considered a serious violation.

On October 8, 1967, the law was adopted. The consequences were impressive: the number of deaths on England's roads almost halved.