Оптимизация кода сайта - сжимаем HTML, CSS, JavaScript. Оптимизация кода сайта css


Оптимизация кода сайта - сжимаем HTML, CSS, JavaScript

Опубликовано: 07.05.2015 12:57

Просмотров: 4977

Оптимизация кода сайта - очень важный процесс, к которому нужно подойти с большой ответственностью. В этой статье рассмотрим оптимизацию HTML, CSS и JavaScript кода

Рад приветствовать Вас на моем сайте вновь! Сегодня речь пойдет об оптимизации кода сайта.

"Зачем оптимизировать код?" - спросите вы -" все ведь работает"! Конечно, пока работает, но:

  • каким бы крутым не был Ваш сайт пользователь не будет долго ждать пока загрузится Ваш ресурс, он просто уйдет к конкурентам
  • сайты, которые имеют неоптимизированный код, а как следствие - большой вес чаще располагаются ниже более "шустрых" собратьев
  • поисковые системы ввели такой параметр как "скорость загрузки сайта". Поисковой паук имеет определенный лимит на посещение одного сайта, а это значит, что чем больше весят страницы, тем меньше страниц будет проиндексировано. Говоря по-простому - если сайт грузится медленно, то он может потерять свои позиции довольно быстро

Статья в тему: Как увеличить скорость сайта

 Я думаю причины для того, чтобы оптимизировать код достаточно веские. Так давайте же рассмотрим основные методы сжатия кода и увеличения времени загрузки.

Оптимизируем HTML код

Сжимаем пробелы

Это самый простой способ уменьшения веса кода. Уменьшение размера достигается за счет объединения пробелов и удаления переносов строк.

Пример, было так:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<html>   <head>     <title>         Привет, Мир!     </title>     <script>      var temp = 'Здравствуй, кодер!!!';     </script>   </head>   <body>     Привет, Мир!     <pre>           Привет,             Мир!     </pre>   </body> </html>

Конечно, хорошо и наглядно, но такой файл мы можем сжать до:

<html> <head> <title>Привет, Мир!</title> <script>var temp = 'Здравствуй, кодер!!!';</script> </head> <body>Привет, Мир!<pre>Привет, Мир!</pre></body> </html>

При большом желании можно код сжать еще сильней, записав все в одну строку, но тогда он будет совсем нечитаемым для больших HTML страниц.

Перенос подключаемых файлов ниже

Для того, чтобы ускорить загрузку страницы можно оптимизировать верхнюю часть кода страницы.

Следует загрузить контент, то есть текст, а далее подключить необходимые css и js файлы. Таким образом, страница будет доступна для просмотра очень быстро, что положительно скажется на поисковых роботах, ведь им не особо важно оформление страниц, им важен контент.

Было так, подключали файл перед выводом контента:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<html>    <head>      <link rel="stylesheet" href="style1.css">     <link rel="stylesheet" href="style2.css">     <link rel="stylesheet" href="style3.css">     <script src="scrypt1.js"></script>     <script src="scrypt2.js"></script>     <script src="scrypt3.js"></script>   </head>    <body>     <p>       Много контента...     </p>   </body> </html>

То, для ускорения загрузки контента поместим внешние файлы вниз:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<html>    <head>    </head>    <body>     <p>       Много контента...     </p>   </body> </html> <link rel="stylesheet" href="style1.css"> <link rel="stylesheet" href="style2.css"> <link rel="stylesheet" href="style3.css"> <script src="scrypt1.js"></script> <script src="scrypt2.js"></script> <script src="scrypt3.js"></script>

 Резолвинг DNS адресов

 Для того, чтобы браузер не терял время на обработку внешних ссылок, можно указать адреса, с которых будут закачиваться внешние ресурсы заранее. Это поможет произвести предварительный резолвинг DNS и сократит время загрузки страницы.

Пример:

<link rel="dns-prefetch" href="http://seo-love.ru"/> <link rel="dns-prefetch" href="http://site.ru"/>

Сокращение ссылок URL

Отличный способ сократить размер файлов - это укорачивание доменного имени в ссылках. Для этого у атрибутов src и href указываются относительные пути.

Тут, длинные пути с доменом:

<link rel="stylesheet" href="http://site.ru/styles/style.css"> <a href="http://site.ru/foo">Анкор</a>

Теперь сократим пути:

<link rel="stylesheet" href="/styles/style.css"> <a href="foo">Анкор</a>

Оптимизируем CSS код

Объединение файлов стилей CSS в один

За счет уменьшение количества файлов достигается уменьшение HTTP запросов к серверу. Это особенно актуально для мобильных сетей, где максимальное количество подключений ограничено. А так же это хороший способ ускорить загрузку сайта.

Много файлов стилей:

1

2

3

4

5

6

7

8

9

10

11

12

<html>    <head>      <link rel="stylesheet" href="style1.css">     <link rel="stylesheet" href="style2.css">     <link rel="stylesheet" href="style3.css">   </head>    <body>     <p ckass="red big two">       Много контента...     </p>   </body> </html>

Один файл стилей:

<html>    <head>      <link rel="stylesheet" href="style.css">   </head>    <body>     <p ckass="red big two">       Много контента...     </p>   </body> </html>

Минимизируем CSS код

Минимизация - это тотальное сжатие кода. Код становится нечитабельным и не удобным для поддержки, но такие файлы занимают минимальное количество места!

Обычный стиль:

<style> div { background-image: url("bar.jpg"); } /* Комментарий 1 */ #id, .Id {   border: solid 1px #cccccc;   margin: 5px 0 0 2px;   float: right;   color:#ff0000; } /* Комментарий 2 */ </style>

После минимизации:

<style>div{background-image:url("bar.jpg");}#id,.Id {border:solid 1px #cccc; margin: 5px 0 0 2px;float:right;color:#ff0000;}</style>

Перемещение CSS кода в тег HEAD

Это действие обусловлено тем, что стили, которые прописаны в секции HEAD позволяют ускорить рендеринг и устраняют проблему перерисовки элементов, если стили прописаны после вывода элементов.

Было так:

<html>   <head>   </head>   <body>     <style type="text/css"> .class { color:red; } </style>     <div class="class">       Ваш текст...     </div>   </body> </html>

Получили:

<html>   <head>     <style type="text/css"> .class { color:red; } </style>   </head>   <body>     <div class="class">       Ваш текст...     </div>   </body> </html>

Перенос загрузки файлов со стилями CSS перед скриптами JS

Выполнив этот совет, мы получим увеличим скорость рендеринга страницы + распараллелим скачивание CSS и JS-файлов.

Оптимизируем JavaScript код

Объединение JS-файлов в один

Этот способ аналогичен с объединением всех CSS-файлов в один файл. Меньше запросов к серверу - выше скорость загрузки страницы.

Минимизация JavaScript кода

Этот прием позволяет максимально сжать файлы js. Минимизация это:

  • удаление лишних пробелов и переносов строк
  • замена длинных переменных на более короткие
  • удаление ненужных символов
  • и др.
Выводы

Оптимизация - это отличный способ ускорить загрузку страниц вашего сайта. Не пренебрегайте комбинированием всех методов оптимизации, ибо только их совместное использование даст существенный прирост.

Спасибо за внимание!

Если статья была для Вас полезной - Поделитесь ссылкой!

Советуем почитать

Закрепленные

Понравившиеся

seo-love.ru

Техническая оптимизация сайта - структура, код, html, css, js, php

Техническая оптимизация сайта чек лист, структура, хлебные крошки, код, ссылки.Техническая оптимизация – правильная настройка сайта для максимально качественного взаимодействия с поисковыми системами. Ее необходимо делать сразу после установки движка и во время работы с первичным заполнением сайта контентом. Сейчас я расскажу, на какие важные аспекты оптимизации нужно обратить внимание и сделать в первую очередь.

Содержание статьи:

Правильная организация структура сайта

Организация структуры сайта - виды и примеры структуры сайта - создание.Любой сайт должен иметь максимально удобную структуру. Как и люди, поисковые системы смотрят на сайт и оценивают удобство его использования. Любой интернет-ресурс должен иметь вложенность не более трех страниц. То есть с главной, максимум в три клика, у пользователя должно получиться добраться до любой страницы.Наиболее правильной и простой структурой для информационного сайта будет:

Главная -> Категория -> Материал.

Категории определяют разделы. Если сайт о различных болезнях, то категории могут быть такие: Кардиология, Неврология, Хирургия…Для более сложных проектов, охватывающих больше информации, структура может быть:

Главная -> Категория -> Подкатегория -> Материал.

Таким образом расширяется структура, но остается понятной и логичной. Пример, на этом сайте в категории Кардиология могут содержаться подразделы Болезни сердца и Болезни сосудов. Не запрещается размещать материал, относящийся к двум и более разделам.

Например, материал о Гепатите может находиться в категории Гепатология и Вирусология одновременно. Главное — соблюдать иерархию материалов. Построение правильной структуры продумывается на этапе планирования и сбора семантического ядра.

Правильная перелинковка страниц сайта

Перелинковка страниц сайта - сквозные ссылки, полезные ссылки, меню, категории.Более углубленный материал о перелинковке я уже готовлю и в скором времени выложу. Перелинковка – простановка ссылок внутри сайта для удобной навигации пользователей и передачи веса страниц.Чтобы увидеть пример перелинковки, откройте любую статью в Википедии. Каждая содержит много ссылок на другие статьи. Есть даже шутка, что с любой статьи в Википедии в пять кликов можно добраться до статьи о Гитлере. Конечно, на вашем сайте в статье не должно быть по 20 ссылок на другие материалы, но 2-4 ссылки нужны.

Важным свойством перелинковки является передача веса на другие страницы. Когда все страницы будут связаны друг с другом, то вес распределиться равномерно и общие позиции будут расти. А когда продвигается одна конкретная страница, то тогда передается вес с других материалов на нее. Чтобы было более понятно, предположим, что нужно продвинуть страницу медицинского сайта с услугой «Осмотр педиатра». Для этого мы в блоге напишем несколько статей о детских болезнях и везде, где будем упоминать о необходимости осмотра педиатром, поставим ссылки на нашу услугу.

Добавить хлебные крошки и улучшить юзабилити

Добавить хлебные крошки на сайт - улучшить навигацию и юзабилити сайта.Хорошая структура ничто, если ее не видит пользователь. Во главу угла при создании сайта необходимо ставить его полезность для конечного человека и удобство использования. Если зашедший к вам на сайт, потеряется и не сможет найти для себя еще интересные материалы, значит, у вас проблемы с юзабилити.

Хлебные крошки – это навигационные элементы, которые показывают, где находится пользователь относительно всей структуры площадки. Эти элементы обычно размещаются перед заголовком статей и позволяют в один клик перейди на главную, в категорию размещения статьи или в ее подкатегорию.

Хлебные крошки можно реализовать с помощь простых плагинов или сделав правки в коде, если они не предусмотрены используемым шаблоном. А вот над юзабилити придется поработать. Нужно правильно продумать меню, сделать его визуально заметным и удобным для использования. Продумать разные мелочи, ведь даже обычная кнопка подъема вверх страницы намного облегчает жизнь пользователя, позволяя в один клик перейди к шапке, а не прокручивать уже прочитанный материал роликом.

Оптимизация кода сайта html, js, css, php

Техническая оптимизация кода сайта css,php,html,js - примеры оптимизации сайта.Сегодня пользователи стали нетерпеливыми и если сайт открывается хоть на секунду дольше, чем у конкурента, они уйдут к нему. Об этом в курсе и поисковые системы, использующие скорость загрузки как один из факторов ранжирования. Поэтому важно сделать сайт максимальнго быстрым. Этому не способствуют тяжелые картинки, невалидный код верстки, неправильные ответы сервера.

Оптимизация кода сайта

Сейчас я расскажу об оптимизации кода в общем, чтобы вы получили начальное представление. Также подготовлю материал, где подробно расскажу и сделаю пошаговое руководство по оптимизации кода. Итак, чтобы оптимизировать код и сделать сайт наиболее привлекательным для поисковых систем, нам нужно:

  1. Сжать картинки на, уменьшив вес, что сделает загрузку быстрее. Нередко неопытные вебмастера загружают на сервер картинки большого разрешения, которые потом посредством CSS сжимаются для отображения. Верно же загружать картинки в том разрешении, в котором они и будут показываться на странице. Можно вручную сжимать картинки, пересохраняя их в Фотошопе, или воспользоваться одним из множества сервисов, умеющих сжимать картинки.
  2. Оптимизировать html, js и css. Нужно сделать код страниц максимально простым. Касательно html, то убрать все комментирование кода, сделать нормальный перенос по строкам. Для скриптов js размещать их после контента, чтобы значимая информация появлялась на экране раньше, чем загрузятся скрипты. Исключение – скрипт и нужен для отображения контента. Будет нелишним помесить все скрипты в один файл. CSS – использовать таблицы стилей для всего. Любой вывод информации должен в идеале происходить через CSS, а не загружаться каждый раз громоздким кодом.
  3. Настроить правильные редиректы, чтобы все страницы отвечали 200, а там, где нужен редирект с переносом веса страницы, например, при смене ее адреса, отдавался код 301. Исключить ошибки 5хх, а если они повторяются, то найти причину в хостере, сторонних плагинах и тому подобном и решить ее.

Техническая оптимизация сайта – это процесс достаточно трудоёмкий и требующий специальных знаний. Но используя общепринятые рекомендации и инструкции, настроить сайт сможет даже тот, кто вчера впервые заливал движок на хостинг.

Эти статьи относятся к теме которую вы изучаете, посмотрите их, пожалуйста. Возможно они будут Вам интересны.

Спасибо, что читаешь Nicola Top

nicola.top

Оптимизация Css Кода | Fitweb

ускорение сайта

оптимизация сайта

верстка сайта

ускорить сайт

css для начинающих

оптимиазция сайта

ускорение загрузки сайта

Web Development (Interest)

создание сайта

Program Optimization (Project Role)

JavaScript (Programming Language)

Cascading Style Sheets (Programming Language)

HTML (Programming Language)

css для чайников

css для новичков

финты вордпресс

георгий дударь

уроки программирования

веб разработка

веб программирование

как сделать сайт

ускорить загрузку вашего сайта

канал для начинающих веб-разработчиков

Оптимизация CSS кода

Канал для разработчиков itdoctor

привести код к первоначальному виду

сдатие скриптов

сжатие стилей

оптимизация скорости сайта

настройка Autoptimize

перенос js из шапки в подвал

сжатие скриптов

Programming Language (Software Genre)

оптимизировать код CSS

ускорить загрузку сайта

Полезные инструменты для веб-разработчика

время загрузки сайта

CSS Оптимизатор

Оптимизатор CSS кода и Сжатие кода

как ускорить загрузку сайта

как оптимизировать сайт уроки itdoctor

уроки для веб разработчиков с itdoctor

как оптимизировать CSS код

Оптимизатор CSS кода

сжатие css на сайте

Сжатие css кода

как сделать загрузку сайта быстрее

минификация css

как написать сайт самому с нуля

как написать сайт

видео уроки css

html для андроид

web программирование курсы

web программирование уроки

css уроки для начинающих

уроки html и css для начинающих

видеоуроки html и css

web программирование для новичков

блочная верстка сайта с помощью css уроки

как написать сайт с нуля

как написать сайт самому

fitweb.me

Оптимизировать Код Css | Fitweb

ускорение сайта

оптимизация сайта

HTML (Programming Language)

Cascading Style Sheets (Programming Language)

ускорить сайт

JavaScript (Programming Language)

финты вордпресс

верстка сайта

как ускорить загрузку сайта

создание сайта

Program Optimization (Project Role)

css для начинающих

оптимиазция сайта

ускорение загрузки сайта

Оптимизация CSS кода

привести код к первоначальному виду

канал для начинающих веб-разработчиков

ускорить загрузку вашего сайта

Канал для разработчиков itdoctor

как сделать сайт

Web Development (Interest)

Programming Language (Software Genre)

веб-разработка

html для андроид

блочная верстка сайта с помощью css уроки

видео уроки css

css для чайников

css для новичков

css уроки для начинающих

уроки html и css для начинающих

видеоуроки html и css

как написать сайт самому с нуля

web программирование курсы

web программирование для новичков

как написать сайт самому

как написать сайт

web программирование уроки

как написать сайт с нуля

веб программирование

веб разработка

георгий дударь

уроки программирования

программирование в MATLAB

Матлаб тормозит

ускорение матлаб

оптимизация скорости сайта

перенос js из шапки в подвал

сжатие скриптов

сдатие скриптов

сжатие стилей

настройка Autoptimize

как сделать загрузку сайта быстрее

минификация css

сжатие css на сайте

ускорить загрузку сайта

Оптимизатор CSS кода

Оптимизатор CSS кода и Сжатие кода

Сжатие css кода

Полезные инструменты для веб-разработчика

CSS Оптимизатор

fitweb.me

Оптимизация кода CSS и Javascript. Программа Voralent WEBmini

Оптимизация кода CSS и Javascript

Оптимизация кода CSS и Javascript файлов позволяет ускорить загрузку сайта в браузере. Вместе с оптимизацией изображений это позволяет значительно уменьшить время открытия сайта в браузере. А быстрые сайты любят не только пользователи, но и поисковые системы. Это одно из главных условий для успешного продвижения любого сайта во всех поисковых системах интернета.Надо помнить(знать) что в момент открытия страницы сайта в браузере, очень много времени занимает именно загрузка CSS файлов, кода Javascript, флеш и изображений.

Сжатие этих файлов и уменьшение (или объединение) их количества способствует ускорению загрузки сайта. Практически на каждом сайте происходит подгрузка к содержимому различных скриптов, задейственных на той или иной странице. Причем их количество порой может достигать не одного десятка. Конечно оптимизации кода, в первую очередь подлежат те файлы CSS и Javascript, которые  наиболее чаще вызываются на страницах сайта.

В первую очередь это файлы css стиля шаблона, css стилей некоторых плагинов, установленные скрипты различных партнерских программ и др. Поэтому весь этот каскад стилей и кода, в первую очередь нужно привести к приемлимому виду для наиболее быстрой загрузки содержимого веб страниц. Существует достаточно много инструментов и сервисов для оптимизации каскадных таблиц css, javascript, html и файлов изображений и многие наверняка ими пользуются. Но некоторые из них хочется выделить особо.

Voralent WEBmini — бесплатная программа для сжатия CSS файлов стилей и кода JAVASCRIPT. Программа в одно действие оптимизирует файлы Javascript и css. Поддерживает пакетную обработку файлов с функцией Drag and Drop, делая работу с программой максимально удобной для любого пользователя.

WEBmini

Работать с программой очень легко и просто. Настройте необходимые вам опции в программе, потом просто перетащите нужные файлы в окно программы и нажмите кнопку «Оптимизировать». Через некоторое время в том месте где находятся файлы, возле этих файлов появятся их оптимизированные кипии — например рядом с «css» появится «mini.css». Не вдаваясь в подробности, как это она делает, сам процесс оптимизации проходит очень быстро, буквально в секунды.

Программа удаляет из кода файла комментарии, ненужные символы, пробелы, тем самым значительно уменьшая размер файла. Результат оптимизации, для сравнения, наглядно доступен прямо в окне программы. Сравнивая с другими аналогичными инструментами для оптимизации, можно смело отдать ей одно из первых мест. Быстрая, удобная и качественная. В некоторых случаях уменьшает размер файлов до 60 процентов.

Сжатие CSS, JavaScript, HTML не только уменьшает время загрузки сайта, но и значительно   повышает производительность сайта и конкурентоспособность среди других аналогичных. Портабельная версия, не требует установки.

Скачать

www.websteel.ru

Как правильно оптимизировать HTML код

Чем больше информации (кодов), тем лучше

Для больших порталов там действует другой принцип, чем меньше весит тем лучше. Тут как раз и сказывается искусство балансирования между дизайном, графикой и объемом полезного контента. Далее если больше, то посетителям придется ждать загрузки страницы достаточно долго. В отдельную группу попадают счетчики. Счетчики подобные HotLog и Mail.ru весят приблизительно по 1.2Кб каждый, поэтому злоупотреблять ими тоже не стоит.

Заблуждения

  1. Суммарный объем страницы не должен превышать 50Кб. На самом деле это далеко от правды по нескольким причинам. Например, если вы делаете домашнюю страничку то как правило данная страница может занимать сколько вашей душе угодно, потому как ее не так часто посещают левые пользователи, а только ваши друзья, но ваши друзья в любом случае дождутся загрузки вашей страницы, поэтому ограничение по объему тут не уместно. Просто дело в том, что прошли те времена когда народ ходил и разглядывал «home page» сверстаны в Word. Те кто, ценит себя, давно заказывают все у профессионалов, а те в основном прекрасно знают свое дело.

Но все же есть несколько рекомендаций:

  1. Откажитесь от всех счетчиков и оставьте только один. Достаточно одного счетчика, чтобы знать свою аудиторию. Увеличение количества счетчиков на странице никак не увеличивает вашу аудиторию. Просто современные поисковые системы мульти счетчики просто игнорируют, а поисковые роботы вас и так обнаружат уже без каких-либо дополнительных регистраций в каталогах. Рекомендуется: liveinternet.ru, mail.ru. Не рекомендовано: hotlog.ru (из-за использования троянской системы, сбора информации)
  2. Откажитесь от БЕСПОЛЕЗНЫХ комментариев. Зачастую в коде WEB страницы встречаются достаточно бесполезные комментарии, в которых WEB мастер старается подшутить над теми, кто захочет посмотреть код. Фразы типа «Зачем ты залез в код моей страницы и что тебе здесь надо» не несут никакого смысла, но малость увеличивают код. Хочу заметить, что крайне не стоит отказываться от комментариев к изображениям, то есть, от тега alt=, как раз он вам пригодиться.
  3. Используйте CSS. Каскадные таблицы стилей могут достаточно сильно облегчить страницу, если их правильно использовать. Пропишите в CSS font, width и height, а в коде лишь расставьте необходимые ссылки.
  4. Все скрипты выносите в отдельные файлы. Зачастую новости на WEB страницах демонстрируются с помощью бегущей строки, или текст со ссылками движется в маленьком окне, а если на него навести курсор мышки, то замирает. Всегда необходимо соизмерять полезность Script’а с затратами на него (в качестве затрат в данном случае выступают лишние килобайты на странице). Возможно, что выстроить небольшую колонку новостей с обычным текстом будет более рационально, чем вешать JavaScript. Единственный случай, когда применение подобного скрипта может быть оправдано - это катастрофическое отсутствие места на странице.
  5. Ликвидируйте украшения на WEB странице. К таким относятся анимация, всякие летающие хвосты (для последних используется JavaScript). Неправильное применение подобных украшений будет не только утяжелять станицу, но и раздражать пользователей.
  6. Ограничьте информационные сервисы. Ради справедливости стоит заметить, что по большей части эти сервисы работают на тех же скриптах, но они хотя бы несут смысловую нагрузку, приносят пользу. К таким сервисам относятся вывод сегодняшней даты и текущего времени, календарь, калькулятор. Не стоит забывать, что часы у пользователей есть в Tray, а если на них навести мышь, то вам покажут и дату, и месяц и год.
  7. Не забивайте страницы рекламой до отказа. Двух баннеров 468*60 будет вполне достаточно. Кнопками дружеских сайтов злоупотреблять тоже не стоит.
  8. Режьте большие картинки на маленькие. Несколько маленьких картинок загружаются быстрее, чем одна большая. Такой способ более трудоемкий (необходима таблица, ячейки и тому подобное.) к тому же он неприменим к обоям, заставкам (посетителям нужно сохранять их целиком).
  9. Смените дизайн. В качестве самой радикальной меры можно пойти на изменение дизайна с графического на текстовый. Такая смена подразумевает замену навигационных меню с графических (кнопочных) на текстовые. Такой радикальный шаг имеет немало достоинств. Во-первых, вес страниц снизится на (30-60%), этого мы как раз и добивались. Во-вторых, если ваши страницы были оптимизированы под одно разрешение (что довольно часто встречается при обилии графики в дизайне), то появляется возможность сделать динамический дизайн (оптимизирован под любое разрешение экрана).

Вывод

Подводя итоги скажу, что если без скриптов, баннеров, ссылок на друзей вам не обойтись, то хотя бы распределите их равномерно по всем страницам сайта, не сваливайте все сразу на одну страницу, особенно главную.

Грамотно распределив все «тяжелые» элементы по всем страницам сайта вы значительно облегчите жизнь пользователям, которые еще не раз впоследствии вернутся на ваш ресурс.

Как правильно формировать тег h2

Описание основных приемов и хитростей, как правильно оформляется тег h2 для увеличения релевантности страницы в глазах поисковых роботов

Как правильно задавать вопросы

Статья для новичков, которые не умеют задавать вопросы и обижаются если их посылают куда по дальше - подробная инструкция как задавать вопросы правильно

sd-company.su