<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Igor Kashirskiy</title><generator>teletype.in</generator><description><![CDATA[Igor Kashirskiy]]></description><image><url>https://teletype.in/files/cc/ccca8b5b-13b0-4509-a496-b595dce47406.jpeg</url><title>Igor Kashirskiy</title><link>https://teletype.in/@brothercash</link></image><link>https://teletype.in/@brothercash?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/brothercash?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/brothercash?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Wed, 29 Apr 2026 16:24:14 GMT</pubDate><lastBuildDate>Wed, 29 Apr 2026 16:24:14 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@brothercash/sHot3lcj8ix</guid><link>https://teletype.in/@brothercash/sHot3lcj8ix?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash</link><comments>https://teletype.in/@brothercash/sHot3lcj8ix?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash#comments</comments><dc:creator>brothercash</dc:creator><title>🔟 Лучших практик при работе с Lovable</title><pubDate>Mon, 26 May 2025 10:03:10 GMT</pubDate><description><![CDATA[Раздел Knowledge — это «мозг» вашего проекта. Он автоматически прикрепляется к каждому запросу и помогает ИИ понимать контекст. Включите в него:]]></description><content:encoded><![CDATA[
  <h1 id="Nluv">Лучшие практики</h1>
  <h2 id="TWPr">Как максимально эффективно использовать Lovable</h2>
  <p id="ue8C">Это руководство поможет всем пользователям — новичкам и опытным — быстро освоиться и избежать распространенных ошибок при разработке на Lovable.</p>
  <h2 id="iqVT">1. Заложите основу: используйте файл знаний (Knowledge File)</h2>
  <p id="2bMO"><strong>Почему это важно:</strong> Файл знаний — это мозг вашего проекта. Он отправляется с каждым запросом и помогает ИИ понять полный контекст.</p>
  <p id="JLp7"><strong>Что включить:</strong></p>
  <ul id="LVmr">
    <li id="6MdT">Ваше видение продукта (как техническое задание)</li>
    <li id="7a4T">Пользовательские пути и персонажи</li>
    <li id="yYaS">Ключевые функции и возможности</li>
    <li id="FycD">Дизайн-системы и руководство по UI</li>
    <li id="H66r">Поведение по ролям (например, Администратор, Пользователь, Инвестор)</li>
  </ul>
  <p id="2qpy">Вы можете автоматически сгенерировать файл знаний через режим чата:</p>
  <pre id="DAGD">Сгенерируй знания для моего проекта на момент T=0 на основе уже реализованных функций.
Generate knowledge for my project at T=0 based on the features I’ve already implemented.
</pre>
  <h2 id="Zk1N">2. Лучшие практики составления запросов</h2>
  <p id="xzZ1"><strong>Четкие, подробные запросы = лучший результат.</strong> Думайте об ИИ как о своем партнере-разработчике — он знает только то, что вы ему говорите.</p>
  <p id="d2Bp"><strong>Советы по составлению запросов:</strong></p>
  <ul id="G3te">
    <li id="TSej"><strong>Будьте конкретными:</strong> Указывайте точную страницу (например, <code>/dashboard</code>) и ожидаемое поведение.</li>
    <li id="bMrI"><strong>Используйте естественный язык:</strong></li>
  </ul>
  <pre id="D5yC">Я хочу, чтобы пользователи с ролью Инвестор имели доступ к этому компоненту, но не Администраторы.
I want users with the role Investor to access this component, but not Admins.
</pre>
  <ul id="eigt">
    <li id="FW9C"><strong>Добавляйте скриншоты:</strong> Особенно полезно для описания багов или проблем UX.</li>
    <li id="qsTX"><strong>Добавляйте ограничения:</strong> Скажите ИИ, что <strong>не нужно</strong> трогать. Например:</li>
  </ul>
  <pre id="OQ5p">Не редактируй /shared/Layout.tsx.
Do not edit /shared/Layout.tsx.
</pre>
  <ul id="SET4">
    <li id="KPGr"><strong>Повторяйте важные инструкции в разных запросах.</strong> Память ИИ может быть ограниченной.</li>
    <li id="q6iB"><strong>Избегайте попыток реализовать 5 вещей одновременно.</strong> Разбивайте работу на небольшие, тестируемые части. Используйте режим чата между каждым блоком для проверки перед продолжением.</li>
  </ul>
  <pre id="HrP9">**Шаблон разбивки функций:**
Создать новую страницу
Добавить макет UI
Подключить данные
Добавить логику + граничные случаи
Протестировать по ролям

**Feature Breakdown Template:**
Create the new page
Add UI layout
Connect the data
Add logic + edge cases
Test per role
</pre>
  <p id="ADjb"></p>
  <ul id="Utnm">
    <li id="Vpl9">Если в вашем приложении есть несколько ролей (например, Администратор, Инвестор, Стартап), всегда определяйте, к какой роли относится запрос. Это помогает избежать багов, вызванных общей логикой/компонентами.</li>
  </ul>
  <pre id="FiJD">Как Инвестор, я хочу просматривать панель управления компании, но не должен иметь возможность её редактировать. Пожалуйста, изолируй эту функцию только для роли Инвестор.
As an Investor, I want to view the company dashboard, but I shouldn’t be able to edit it. Please isolate this feature to the Investor role only.
</pre>
  <h2 id="dpf9">3. Используйте режим чата часто и с самого начала</h2>
  <p id="MFlY">Режим чата = ваш ИИ-помощник. Он помогает отлаживать, проводить мозговой штурм и планировать реализацию — не редактируя ваш код, пока вы не будете готовы.</p>
  <p id="HM7r"><strong>Когда переключаться на режим чата:</strong></p>
  <ul id="mQP4">
    <li id="oI1E">После 2-3 неудачных попыток &quot;Попробовать исправить&quot;</li>
    <li id="vEnO">При отладке сложной логики или проблемах с базой данных</li>
    <li id="HfML">При планировании новых функций</li>
  </ul>
  <pre id="TJK8">Предложи 3 способа реализации X
Suggest 3 ways to implement X
</pre>
  <p id="b3AE"><strong>💡Совет по рабочему процессу:</strong></p>
  <blockquote id="T9KY">Некоторые пользователи используют режим чата 60-70% времени. Нажимайте &quot;Реализовать план&quot; только когда полностью удовлетворены.</blockquote>
  <p id="wxrQ"><strong>💡</strong>Если вы забыли использовать режим чата, этот формат улучшает консистентность вывода и предотвращает случайные правки.</p>
  <pre id="O3gr">На странице /settings реализуй [функцию]. Ожидаемое поведение — [XYZ]. Пожалуйста, не трогай компонент A, макет B или общую логику без необходимости. Следуй лучшим практикам Tailwind / Supabase / X.
On page /settings, implement [feature]. The expected behavior is [XYZ]. Please don’t touch component A, layout B, or shared logic unless necessary. Follow best practices from Tailwind / Supabase / X.
</pre>
  <p id="US8V"><strong>💡</strong>Чтобы избежать нежелательного выполнения кода:</p>
  <pre id="Rqvm">Исследуй, но пока не пиши код.
Investigate but don’t write code yet.
</pre>
  <pre id="T0xs">Предложи 3 способа решения без изменений.
Suggest 3 ways to solve this without changing anything.
</pre>
  <p id="4ian">Это оставляет контроль в ваших руках.</p>
  <p id="bR5l"><strong>💡</strong>Когда ИИ входит в &quot;бесконечный цикл&quot;, используйте эту последовательность действий, чтобы избежать бесконечных циклов исправления сломанного кода:</p>
  <ol id="Ll5h">
    <li id="fy6a">Переключитесь на режим чата</li>
    <li id="CyRl">Вставьте скриншот ошибки</li>
    <li id="6UOE">Скажите:</li>
  </ol>
  <pre id="MI8l">Пожалуйста, исследуй это, не ломая другие функции. Если нужно, откати к последней рабочей версии и исправь оттуда.
Please investigate this without breaking other features. If needed, revert to the last working version and fix from there.
</pre>
  <h2 id="wJcA">4. Избегайте распространенных ошибок с Supabase</h2>
  <p id="qzP5"><strong>Внимание:</strong> Supabase сложно откатить &quot;чисто&quot;. Если вы откатите версию, схема базы данных может сломаться.</p>
  <p id="1Kt6"><strong>Лучшие практики:</strong></p>
  <ul id="U3cN">
    <li id="6FV2">Подключайте Supabase <strong>после</strong> того, как убедитесь, что фронтенд стабилен</li>
    <li id="dquA">Если нужно откатиться, попросите ИИ:</li>
  </ul>
  <pre id="0fkN">Пожалуйста, проверь SQL-схему на T=0 и убедись, что не произошло критических изменений.
Please validate the SQL schema at T=0 and ensure no breaking changes have occurred.
</pre>
  <ul id="bgku">
    <li id="6P6W">Всегда тестируйте функции, связанные с базой данных, перед публикацией</li>
  </ul>
  <h2 id="LZpT">5. Используйте визуальное редактирование для быстрых исправлений UI</h2>
  <p id="jkBe">Инструмент визуального редактирования бесплатный и быстрый. Используйте его вместо запросов для:</p>
  <ul id="yws7">
    <li id="Q3ES">Изменения текста, цветов, шрифтов, настройки макета</li>
    <li id="pA7c">Редактирования нескольких мелких элементов одновременно</li>
    <li id="teV9">Безопасных коммитов без трат кредитов (с возможностью отмены)</li>
  </ul>
  <h2 id="lnV2">6. Мудро используйте GitHub + контроль версий</h2>
  <ul id="e3r7">
    <li id="UneV">Каждое редактирование — это коммит. Используйте <strong>закрепление (pinning) </strong>для отметки стабильных версий.</li>
    <li id="U0MD">После каждого работающего коммита - <strong>закрепите его</strong></li>
    <li id="9O8B">После каждого бага: <strong>Визуально сравните версии.</strong> Вы можете запросить:</li>
  </ul>
  <pre id="3AwL">Сравни версию T-1 с T-0. Что изменилось? Что могло сломаться?
Compare version at T–1 to T–0. What changed? What might be breaking?
</pre>
  <ul id="IFHq">
    <li id="D1Pi">Возвращайтесь к стабильной версии, если чувствуете, что ИИ сломал слишком много.</li>
    <li id="WQam">Используйте <strong>ветки GitHub (branches)</strong> на свой страх и риск. Не удаляйте ветку прежде чем переключитесь обратно на <code>main</code> в Lovable, чтобы избежать проблемы синхронизации проекта.</li>
  </ul>
  <h2 id="8eMi">7. Когда всё остальное не помогает, сделайте Ремикс</h2>
  <p id="1r8u">Многие пользователи осознают: переделать всё занимает меньше времени со второй попытки.</p>
  <ul id="AqHu">
    <li id="OAOR"><strong><u>Ремикс</u></strong> создает чистую копию вашего проекта на T=0</li>
    <li id="rjLC">Пересоберите проект с лучшими запросами + с более четким пониманием</li>
    <li id="vr1i">Используйте старый проект только как справочник</li>
  </ul>
  <p id="BMVy"><strong>Случаи использования:</strong></p>
  <ul id="2vNG">
    <li id="SVbq">Вы застряли в бесконечном цикле багов</li>
    <li id="dbv2">Хотите начать заново с сохраненной историей</li>
    <li id="iMX7">Нужно отключить Supabase и попробовать новый путь</li>
  </ul>
  <blockquote id="7MDq"><strong>💡</strong>Ремикс требует сначала отключения Supabase.</blockquote>
  <h2 id="5YFf">8. Оставайтесь терпеливыми, оставайтесь спокойными</h2>
  <p id="dFeI">Вы не одиноки. ИИ умеет быть волшебным в один момент и раздражающим в следующий. Финальные 5% любой разработки часто самые медленные — но самые важные.</p>
  <blockquote id="QQzh">💡Золотое правило:</blockquote>
  <blockquote id="SeoP">Не торопитесь с запросами. Перепроверяйте всё. Разбивайте работу на небольшие, тестируемые блоки. Чем точнее ваши входные данные, тем лучше ваши результаты.</blockquote>
  <h2 id="EhRD">9. Используйте документацию и просите помощи</h2>
  <ul id="cldk">
    <li id="nJ3e">Документация содержит пошаговые инструкции, шаблоны, SEO-советы, интеграции и многое другое. Вы можете задавать вопросы напрямую ИИ-помощнику в документации.</li>
    <li id="EmT1">Присоединяйтесь к Discord-сообществу для получения поддержки сообщества.</li>
    <li id="ytH9">Когда будете готовы, запустите свой проект на платформе Lovable Launch.</li>
  </ul>
  <h2 id="eb20">10. Бонусные советы</h2>
  <ul id="lOF8">
    <li id="Znxl"><strong>Составляйте длинные промпты с помощью голосовых заметок</strong> (например, на Mac используйте микрофон для диктовки длинных запросов). Набор текста ускорится — особенно полезно, когда вы расстроены или устали.</li>
    <li id="SP87"><strong>Используйте паттерн запроса &quot;Я расстроен...&quot;</strong> чтобы подтолкнуть ИИ к лучшей фокусировке</li>
    <li id="whFy"><strong>После крупного редактирования всегда перепроверяйте</strong> несколько ролей и их поведение (особенно с условной логикой)</li>
    <li id="tf8R"><strong>Сохраняйте стабильные версии</strong> как резервные копии для быстрой отладки</li>
  </ul>
  <p id="vwZq">Если вы видите неожиданные побочные эффекты, вот, что поможет избежать багов, вызванных слишком общей логикой.</p>
  <pre id="SLcu">Создай компонент специально для [роли X] и не переиспользуй общие компоненты без четкой области действия.
Create a component specifically for [role X] and do not reuse shared components unless clearly scoped.
</pre>
  <hr />

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@brothercash/HkREmm_rN</guid><link>https://teletype.in/@brothercash/HkREmm_rN?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash</link><comments>https://teletype.in/@brothercash/HkREmm_rN?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash#comments</comments><dc:creator>brothercash</dc:creator><title>Знакомство с HTML и CSS</title><pubDate>Mon, 18 Feb 2019 12:21:10 GMT</pubDate><category>Frontend</category><description><![CDATA[<img src="http://www.xhtmljunction.com/blog/wp-content/uploads/2018/02/html5-css3.png"></img>HTML-документы представляют собой простые текстовые документы, сохранённые с расширением .html, а не .txt.]]></description><content:encoded><![CDATA[
  <figure class="m_custom">
    <img src="http://www.xhtmljunction.com/blog/wp-content/uploads/2018/02/html5-css3.png" width="1140" />
  </figure>
  <h2>Настройка структуры документа HTML</h2>
  <p>HTML-документы представляют собой простые текстовые документы, сохранённые с расширением .html, а не .txt.</p>
  <p>Все HTML-документы содержат обязательную структуру, которая включает следующие декларации и элементы: &lt;!DOCTYPE html&gt;, &lt;html&gt;, &lt;head&gt; и &lt;body&gt;.</p>
  <p>Внутри &lt;html&gt; элемент &lt;head&gt; определяет верхнюю часть документа, включая разные метаданные (сопроводительная информация о странице). Содержимое внутри элемента &lt;head&gt; не отображается на самой веб-странице. Вместо этого он может включать название документа (который отображается в строке заголовка окна браузера), ссылки на любые внешние файлы или любые другие полезные метаданные.</p>
  <p>Всё видимое содержимое веб-страницы будет находиться в элементе &lt;body&gt;. Структура типичного HTML-документа выглядит следующим образом:</p>
  <pre>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ru&quot;&gt;
  &lt;head&gt;
    &lt;meta charset=&quot;utf-8&quot;&gt;
    &lt;title&gt;Привет, мир!&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h1&gt;Привет, мир!&lt;/h1&gt;
    &lt;p&gt;Это веб-страница.&lt;/p&gt;
 &lt;/body&gt;
&lt;/html&gt;

</pre>
  <h2>&lt;div&gt; и &lt;span&gt;</h2>
  <p>&lt;div&gt; и &lt;span&gt; — это элементы HTML, которые действуют как контейнеры исключительно для целей стилизации. В виде основных контейнеров они не несут какого-либо всеобъемлющего смысла или семантического значения. Абзацы семантически уже потому, что содержимое внутри элемента &lt;p&gt; известно и понятно как абзац. &lt;div&gt; и &lt;span&gt; не содержат какого-либо значения и являются просто контейнерами.</p>
  <h3>Блочные и строчные элементы</h3>
  <blockquote>Большинство элементов либо блочные, либо строчные. В чём разница?</blockquote>
  <blockquote>Блочные элементы начинаются с новой строки, накладываются друг на друга и занимают всю доступную ширину. Блочные элементы могут быть вложены друг в друга и обёртывать строчные элементы. Обычно мы видим как блочные элементы используются для больших кусков контента, такого как абзацы.</blockquote>
  <blockquote>Строчные элементы не начинаются с новой строки. Они попадают в обычный поток документа, выстраиваются друг за другом, а их ширина основана на их содержимом. Строчные элементы могут быть вложены друг в друга, однако, они не могут обёртывать блочные элементы. Обычно мы видим строчные элементы в качестве маленьких кусков контента, таких как отдельные слова.</blockquote>
  <p>И &lt;div&gt; и &lt;span&gt;, однако, являются чрезвычайно важными при создании сайта, потому что они дают нам возможность применять целевые стили к набору контента.</p>
  <p>&lt;div&gt; является блочным элементом, который обычно используется для идентификации больших групп содержимого и который помогает построить макет и дизайн веб-страницы. &lt;span&gt; с другой стороны является строчным элементом и обычно применяется для идентификации мелких групп текста внутри блочного элемента.</p>
  <h3>Заголовки</h3>
  <p>Заголовки являются блочными элементами и у них есть шесть разных рангов от &lt;h1&gt; до &lt;h6&gt;. Заголовки помогают быстро разбить содержимое и установить иерархию и они являются ключевыми идентификаторами для пользователей, читающих страницу. Заголовки также помогают поисковым системам индексировать и определять содержание на странице.</p>
  <p>Заголовки должны быть использованы в порядке, соответствующему содержанию страницы. Основной заголовок страницы или раздела должен быть размечен с помощью элемента &lt;h1&gt;, а последующие заголовки должны использовать элементы &lt;h2&gt;, &lt;h3&gt;, &lt;h4&gt;, &lt;h5&gt; и &lt;h6&gt;, при необходимости.</p>
  <p>Каждый уровень заголовка должен применяться с семантическим смыслом и не должен использоваться, чтобы сделать текст жирным или большим, для этого есть другие, более эффективные способы.</p>
  <p>Вот пример HTML для всех разных заголовков и результат отображения на веб-странице.</p>
  <pre>&lt;h1&gt;Заголовок 1&lt;/h1&gt;
&lt;h2&gt;Заголовок 2&lt;/h2&gt;
&lt;h3&gt;Заголовок 3&lt;/h3&gt;
&lt;h4&gt;Заголовок 4&lt;/h4&gt;
&lt;h5&gt;Заголовок 5&lt;/h5&gt;
&lt;h6&gt;Заголовок 6&lt;/h6&gt;

</pre>
  <h3>Демонстрация заголовков</h3>
  <figure class="m_16x9">
    <iframe src="https://jsfiddle.net/webref/6s8voc9o/embedded/result,html/"></iframe>
  </figure>
  <h3>Абзацы</h3>
  <p>За заголовками часто следуют абзацы. Они определяются с помощью блочного элемента &lt;p&gt;. Абзацы могут следовать один за другим, добавляя информацию на страницу по необходимости. Вот пример того, как настроить абзацы.</p>
  <pre>&lt;p&gt;Стив Джобс был одним из основателей и долгое время главным исполнительным директором Apple. 
   12 июня 2005 года Стив выступил в Стэнфордском университете.&lt;/p&gt;

&lt;p&gt;В своем выступлении Стив призвал выпускников следовать их мечтам и несмотря на неудачи 
   никогда не сдаваться — совет, который он искренне принял близко к сердцу.&lt;/p&gt;

</pre>
  <h3>Демонстрация абзацев</h3>
  <figure class="m_16x9">
    <iframe src="https://jsfiddle.net/webref/kgk69ocy/embedded/result,html/"></iframe>
  </figure>
  <h2>Как отображаются элементы?</h2>
  <p>Прежде чем перейти к блочной модели, нам надо понимать, как отображаются элементы. В уроке 2 мы рассмотрели разницу между блочными и строчными элементами. Быстро напомним, что блочные элементы занимают всю доступную ширину независимо от их содержимого и начинаются с новой строки. Строчные элементы занимают ширину, которая требуется для содержимого и выстраиваются на одной строке, друг за другом. Блочные элементы, как правило, используются для больших кусков контента, таких как заголовки и структурные элементы. Строчные элементы, как правило, применяются для маленьких частей содержимого, таких как несколько слов, выделенных жирным или курсивным начертанием.</p>
  <h3>display</h3>
  <p>Как именно отображаются элементы — как блочные или строчные или как-то ещё, определяется свойством display. Каждый элемент содержит значение свойства display по умолчанию, но как и с любым другим значением свойств, это значение может быть переписано. Есть немало значений для свойства display, но наиболее распространённые это block, inline, inline-block и none.</p>
  <p>Мы можем изменить значение свойства display элемента, выбрав этот элемент в CSS и задав новое значение свойства display. Значение block сделает этот элемент блочным.</p>
  <pre>p {
  display: block;
}
</pre>
  <p>Значение inline сделает этот элемент строчным.</p>
  <pre>p {
  display: inline;
}
</pre>
  <p>Самое интересное это значение inline-block. Его использование позволит элементу вести себя как блочный, включая все свойства блочной модели (которые мы вскоре рассмотрим). Однако, элемент будет отображаться на строке с другими элементами, а не будет начинаться с новой строки по умолчанию.</p>
  <pre>p {
  display: inline-block;
}

</pre>
  <h3>Демонстрация inline-block</h3>
  <figure class="m_16x9">
    <iframe src="https://jsfiddle.net/webref/yu83au3j/embedded/result,html,css/"></iframe>
  </figure>
  <h3>Пространство между строчно-блочными элементами</h3>
  <p>Одним из важных отличий строчно-блочных элементов является то, что они не всегда соприкасаются или отображается непосредственно друг за другом. Обычно между двумя элементами будет небольшое пространство. Это пространство, возможно и раздражает, но это нормально. Оно су��етсвует потому, ��то группа строчно-блочных элементов по сути своей - строка символов, с межсимвольным расстоянием. Избавиться от него можно, задав родительскому блоку (обертке) размер шрифта равный нулю.</p>
  <pre>font-size: 0;
</pre>
  <p>В заключение, используя значение none полностью скрываем элемент и отображаем страницу, словно элемента не существует. Любые элементы, вложенные в такой элемент, также будут скрыты.</p>
  <pre>div {
  display: none;
}
</pre>
  <p>Знание, как отображаются элементы и как изменить display довольно важно, так как display оказывает влияние на отображение блочной модели. В процессе обсуждения блочной модели мы обязательно взглянем на эти разные последствия и как они могут повлиять на представление элемента.</p>
  <h2>Что такое блочная модель?</h2>
  <p>В соответствии с концепцией блочной модели, каждый элемент на странице представляет собой прямоугольный блок и может иметь ширину, высоту, поля, границы и отступы.</p>
  <p>Это стоит повторить: Каждый элемент на странице представляет собой прямоугольный блок.</p>
  <figure class="m_custom">
    <img src="https://webref.ru/assets/images/learn-html-css/boxes.png" width="560" />
  </figure>
  <p><em>Когда мы смотрим на каждый элемент по отдельности, то можем увидеть, что все они прямоугольны, независимо от их представленных форм</em></p>
  <p>Каждый элемент на каждой странице соответствует блочной модели, так что это невероятно важно. Давайте взглянем на неё, наряду с несколькими новыми свойствами CSS, чтобы лучше понять, как мы можем с этим работать.</p>
  <h2>Работа с блочной моделью</h2>
  <p>Каждый элемент представляет собой прямоугольный блок и есть несколько свойств, которые устанавливают размер этого блока. Внутренность блока определяется шириной и высотой элемента, который может быть задан свойством display, содержимым элемента или свойствами width и height. padding и затем border расширяют размеры блока наружу от ширины и высоты элемента. Наконец, любой указанный margin идёт за пределами рамки.</p>
  <p>Каждая часть блочной модели соответствует свойству CSS: width, height, padding, border и margin.</p>
  <p>Взглянем на эти свойства внутри некоторого кода:</p>
  <pre>div {
  border: 6px solid #949599;
  height: 100px;
  margin: 20px;
  padding: 20px;
  width: 400px;
}
</pre>
  <p>В соответствии с блочной моделью общая ширина элемента может быть рассчитана по следующей формуле:</p>
  <pre>margin-right + border-right + padding-right + width + padding-left + border-left + margin-left
</pre>
  <p>Для сравнения, в соответствии с блочной моделью общая высота элемента может быть рассчитана по следующей формуле:</p>
  <pre>margin-top + border-top + padding-top + height + padding-bottom + border-bottom + margin-bottom
</pre>
  <figure class="m_custom">
    <img src="https://webref.ru/assets/images/learn-html-css/box-model.png" width="800" />
  </figure>
  <p><em>Блочная модель включает базовую высоту и ширину плюс padding, border и margin</em></p>
  <p>Используя эти формулы, мы можем найти общую высоту и ширину блока из нашего примера.</p>
  <pre>Ширина: 492px = 20px + 6px + 20px + 400px + 20px + 6px + 20px
Высота: 192px = 20px + 6px + 20px + 100px + 20px + 6px + 20px

</pre>
  <p>Блочная модель, без сомнения, одна из наиболее запутанных частей HTML и CSS. Мы устанавливаем значение свойства widthкак 400 пикселей, но фактическая ширина нашего элемента 492 пикселя. По умолчанию блочная модель коробка аддитивна. Таким образом, для определения фактического размера блока мы должны принять во внимание поля, границы и отступы для всех четырёх сторон блока. Наша ширина включает не только значение свойства width, но и размер левого и правого поля, левую и правую границу, левые и правые отступы.</p>
  <p>Пока многие из этих свойств не несут большого смысла и это нормально. Для уточнения давайте поближе посмотрим на все эти свойства width, height, padding, border и margin, которые формируют блочную модель.</p>
  <h3>width и height</h3>
  <p>У каждого элемента есть ширина и высота по умолчанию. Эта ширина и высота может быть равна нулю, но браузеры по умолчанию отображают каждый элемент с размером. В зависимости от того, как отображается элемент, ширина и высота по умолчанию может быть соответствующей. Если элемент является ключевым в макете страницы, для него может потребоваться задать определённые значения свойств width и height. В этом случае значения свойств для не строчных элементов могут быть указанными.</p>
  <h3>width</h3>
  <p>По умолчанию ширина элемента основана на значении display. У блочных элементов ширина по умолчанию 100% и занимает всё доступное горизонтальное пространство. Строчные и строчно-блочные элементы расширяются и сжимаются горизонтально для размещения их содержимого. Строчные элементы не могут иметь фиксированный размер, таким образом, ширина и высота относятся только к не строчным элементам. Чтобы задать определённую ширину для не строчных элементов, используйте свойство width:</p>
  <pre>div {
  width: 400px;
}

</pre>
  <h3>height</h3>
  <p>Высота элемента по умолчанию определяется его содержимым. Элемент будет расширяться и сжиматься по вертикали при необходимости, чтобы вместить его содержимое. Установить определённую высоту для не строчных элементов можно через свойство height:</p>
  <pre>div {
  height: 100px;
}

</pre>
  <h3>Размеры строчно-блочных элементов</h3>
  <p>Пожалуйста, помните, что строчные элементы не принимают свойства width и height и любые их значения. Блочные и строчно-блочные элементы, однако, принимают свойства width и height и соответствующие им значения.</p>
  <h3>margin и padding</h3>
  <p>В зависимости от элемента, браузеры могут применять отступы и поля по умолчанию для элемента, чтобы помочь с удобочитаемостью. Мы, как правило, видим это на текстовых элементах. Поля и отступы по умолчанию для этих элементов могут отличаться от браузера к браузеру и от элемента к элементу. В уроке 1 мы обсуждали использование сброса CSS чтобы все эти значения по умолчанию стали нулевыми. Это позволяет нам работать с нуля и задать собственные значения.</p>
  <h3>margin</h3>
  <p>Свойство margin позволяет нам установить пространство, которое окружает элемент. margin находятся за пределами любых границ и полностью прозрачны в цвете. Они могут использоваться для позиционирования элементов в конкретном месте на странице или добавить пустое пространство, сохраняя все другие элементы на безопасном расстоянии. Вот свойство margin в действии:</p>
  <pre>div {
  margin: 20px;
}
</pre>
  <p>Одной из причуд margin являются вертикальные значения, сверху и снизу, они не применяются к строчным элементам, но применяются к блочным и строчно-блочным элементам.</p>
  <h3>padding</h3>
  <p>Свойство padding очень похоже на свойство margin, однако располагается внутри границ элемента. Свойство paddingиспользуется, чтобы задать пространство непосредственно внутри элемента. Вот код:</p>
  <pre>div {
  padding: 20px;
}
</pre>
  <p>Свойство padding в отличие от margin работает вертикально для строчных элементов. Вертикальный padding может сливаться со строкой выше или ниже данного элемента, но будет отображаться.</p>
  <h3>margin и padding для строчных элементов</h3>
  <p>Строчные элементы ведут себя немного по-другому, чем блочные и строчно-блочные элементы, когда дело доходит до отступов и полей. Для строчных элементов margin работает только горизонтально — слева и справа от элементов. padding работает на всех четырёх сторонах строчных элементов, однако вертикальные поля сверху и снизу могут выходить за пределы строки выше и ниже элемента.</p>
  <p>Отступы и поля работают как обычно для блочных и строчно-блочных элементов.</p>
  <h3>Установка margin и padding</h3>
  <p>В CSS существует несколько способов установить значения определённых свойств. Мы можем использовать обычную запись, в которой перечисляется несколько свойств и значений одно за другим, в котором у каждого значения есть собственное свойство. Или мы можем использовать сокращённую запись, перечисляя несколько значений одного свойства. Не у всех свойств есть сокращённый вариант, таким образом, мы должны убедиться что используем правильное свойство и структуру значений.</p>
  <p>Свойства margin и padding существуют в обычном и сокращённом виде. При использовании сокращённого свойства margin, чтобы установить одно значение для всех четырёх сторон элемента мы задаём одно значение:</p>
  <pre>div {
  margin: 20px;
}
</pre>
  <p>Чтобы установить одно значение для верхней и нижней стороны, а другое значение для левой и правой стороны элемента, укажите два значения: вначале сверху и снизу, затем слева и справа. Здесь для &lt;div&gt; мы задаём отступы 10 пикселей сверху и снизу и 20 пикселей слева и справа:</p>
  <pre>div {
  margin: 10px 20px;
}
</pre>
  <p>Чтобы установить уникальные значения для всех четырёх сторон элемента, укажите эти значения в следующем порядке: сверху, справа, снизу и слева, двигаясь по часовой стрелке. Здесь мы задаём для &lt;div&gt; отступы 10 пикселей сверху, 20 пикселей справа, 0 пикселей снизу и 15 пикселей слева.</p>
  <pre>div {
  margin: 10px 20px 0 15px;
}
</pre>
  <p>Использование свойства margin или padding с любым числом значений считается сокращением. В обычной записи мы можем установить значение только для одной стороны используя уникальные свойства. После имени каждого из свойств (margin или padding в данном случае) идёт дефис и сторона блока, к которой должно применяться значение: top, right, bottom или left. Например, свойство padding-left принимает только одно значение и установит левое поле для этого элемента, свойство margin-top принимает только одно значение и установит верхний отступ для этого элемента.</p>
  <pre>div {
  margin-top: 10px;
  padding-left: 6px;
}
</pre>
  <p>Когда мы хотим определить только одно значение margin или padding, то лучше использовать обычную запись. Это сохраняет наш код наглядным и помогает избежать путаницы по пути вниз. Например, вы действительно хотите установить margin в 0 сверху, справа и слева элемента или же на самом деле хотите установить margin снизу в 10 пикселей? Использование обычной записи для свойств и значений помогает нам это делать осмысленно. С другой стороны, когда имеешь дело с тремя или более значениями, сокращение невероятно полезно.</p>
  <h3>Размеры блока</h3>
  <p>До сих пор блочная модель была аддитивной. Если вы установили для width 400 пикселей, затем добавили 20 пикселей padding и border 10 пикселей на каждой стороне, фактическая полная ширина элемента становится 460 пикселей. Помните, мы должны сложить значения свойств width, padding и border вместе, чтобы получить реальную полную ширину элемента.</p>
  <p>Блочная модель, однако, может быть изменена, чтобы вычисления происходили иначе. CSS3 ввёл свойство box-sizing, которое позволяет нам точно менять, как блочная модель работает и как вычисляются размеры элемента. Это свойство принимает два основных значения — content-box и border-box, каждое из которых оказывает несколько разное влияние на вычисление размера блока.</p>
  <h3>content-box</h3>
  <p>Значение content-box является значением по умолчанию, оставляя блочную модель в качестве аддитивной. Если мы не используем свойство box-sizing, то это будет значением по умолчанию для всех элементов. Размер элемента начинается со свойств width и height, далее к ним добавляются значения свойств padding, border или margin .</p>
  <pre>div {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
</pre>
  <h3>border-box</h3>
  <p>Наконец, значение border-box изменяет блочную модель так, чтобы любые значения свойств border или padding включались внутри width и height элемента. При использовании значения border-box, если для элемента указаны width 400 пикселей, padding 20 пикселей и border 10 пикселей вокруг всех сторон, фактическая ширина останется 400 пикселей.</p>
  <p>Если мы добавим margin, эти значения должны учитываться для расчёта полного размера блока. Независимо от того, какое значение свойства box-sizing применяется, любые значения margin не будут добавляться в вычисления полного размера элемента.</p>
  <pre>div {
  box-sizing: border-box;
}

</pre>
  <figure class="m_custom">
    <img src="https://webref.ru/assets/images/learn-html-css/box-sizing.png" width="800" />
  </figure>
  <p><em>Различные значения box-sizing позволяют по разному вычислять ширину элемента и блока целиком</em></p>
  <h3>Выбор размера блока</h3>
  <p>Вообще говоря, лучшее значение box-sizing для применения — это border-box. Это значение намного упрощает нам математику. Если мы хотим, чтобы весь элемент был 400 пикселей в ширину, он останется 400 пикселей в ширину, независимо от того, какие значения padding или border мы к нему добавляем.</p>
  <p>Кроме того, мы можем легко смешивать значения длины. Скажем, мы хотим, чтобы наш блок занимал 40% в ширину. Добавление padding 20 пикселей и border 10 пикселей для всех сторон элемента не сложно и мы по-прежнему можем гарантировать, что фактическая ширина нашего блока останется 40%, несмотря на использование пикселей в другом месте.</p>
  <p>Единственный недостаток свойства box-sizing в том, что как часть спецификации CSS3 она не поддерживается во всех браузерах, особенно не хватает поддержки в старых версиях. К счастью, это становится всё менее и менее актуальным, поскольку выходят новые версии. Скорее всего, мы можем безопасно использовать свойство box-sizing, но если вы заметили какие-то проблемы, стоит посмотреть с каким браузером они связаны.</p>
  <h2>Инструменты разработчика</h2>
  <p>В большинстве браузеров есть то, что известно как Инструменты разработчика. Эти инструменты позволяют нам проверить элемент на странице, увидеть, где этот элемент живёт в HTML-документе и посмотреть, какие свойства и значения CSS к нему применяются. Большинство из этих инструментов также включают в себя схему блочной модели, чтобы показать вычисленный размер элемента.</p>
  <p>Чтобы увидеть Инструменты разработчика в Google Chrome, откройте меню, выберите «Дополнительные инструменты», а затем «Инструменты разработчика». После этого откроется панель в нижней части окна браузера, которая предлагает несколько инструментов для проверки нашего кода.</p>
  <p>Щелчок по стрелке в нижней части этой панели позволяет выделять и щёлкать по разным элементам на странице, чтобы узнать о них больше информации.</p>
  <p>После выбора элемента мы увидим несколько вкладок в правой части панели «Elements» в инструментах разработчика. Выбор вкладки «Computed» покажет нам подробную блочную модель для нашего выбранного элемента.</p>
  <p>Поиграйте с инструментами разработчика, будь они в Google Chrome, Mozilla Firefox, Apple Safari или других браузерах; можно многое узнать просматривая наш код. Я вообще оставляю панель инструментов всегда открытыми при написании HTML и CSS. И также часто проверяю код других сайтов, чтобы увидеть, как они сделаны.</p>
  <figure class="m_custom">
    <img src="https://webref.ru/assets/images/learn-html-css/developer-tools.png" width="912" />
  </figure>
  <p><em>Инструменты разработчика Google Chrome, которые помогают нам проверять HTML и CSS на любой странице</em></p>
  <p>Блочная модель является одной из самых запутанных частей при изучении HTML и CSS. Она также является одной из самых мощных частей HTML и CSS и как только мы это освоим, практически всё остальное, вроде позиционирования содержимого, пойдёт довольно легко.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@brothercash/S1NJ8BVB4</guid><link>https://teletype.in/@brothercash/S1NJ8BVB4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash</link><comments>https://teletype.in/@brothercash/S1NJ8BVB4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash#comments</comments><dc:creator>brothercash</dc:creator><title>Основные термины CSS</title><pubDate>Fri, 15 Feb 2019 13:59:56 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/20/20e1c02a-96d8-4a0f-9222-ad4171ed1622.png"></media:content><category>Frontend</category><description><![CDATA[<img src="https://proglib.io/wp-content/uploads/2018/12/css-art.jpg"></img>Термины CSS включают селекторы, свойства и значения.]]></description><content:encoded><![CDATA[
  <figure class="m_custom">
    <img src="https://proglib.io/wp-content/uploads/2018/12/css-art.jpg" width="1200" />
  </figure>
  <p>Термины CSS включают <strong>селекторы</strong>, <strong>свойства</strong> и <strong>значения</strong>.</p>
  <h3>Селекторы</h3>
  <p>Селектор определяет, на какой именно элемент или элементы в HTML нацелиться и применить к ним стили (такие как цвет, размер и положение). Селекторы могут включать в себя комбинацию различных показателей для выбора уникальных элементов, в зависимости от того, насколько конкретными мы желаем быть. Например, мы хотим выбрать каждый абзац на странице или выбрать только один конкретный абзац.</p>
  <p>Селекторы, как правило, связаны со значением атрибута, вроде значения id или class или именем элемента, вроде &lt;h1&gt; или &lt;р&gt;.</p>
  <p>В CSS селекторы сочетаются с фигурными скобками {}, которые охватывают стили, применяемые к выбранному элементу. Этот селектор нацелен на все элементы &lt;p&gt;.</p>
  <pre>p { ... }
</pre>
  <h3>Свойства</h3>
  <p>Как только элемент выбран, свойство определяет стили, которые будут к нему применены. Имена свойств идут после селектора, внутри фигурных скобок {} и непосредственно перед двоеточием. Существует множество свойств, которые мы можем использовать, такие как background, color, font-size, height и width и другие часто добавляемые свойства. В следующем коде мы определяем свойства color и font-size, применяемые ко всем элементам &lt;p&gt;.</p>
  <pre>p {
  color: ...;
  font-size: ...;
}
</pre>
  <h2>Значения</h2>
  <p>Пока мы только выбрали элемент через селектор и определили, какой стиль через свойства мы хотели бы к нему применить. Теперь мы можем задать поведение этого свойства через значение. Значения могут быть определены как текст между двоеточием и точкой с запятой. Ниже мы выбираем все элементы &lt;p&gt; и устанавливаем значение свойства color как orange, а значение свойства font-size как 16 пикселей.</p>
  <pre>p {
  color: orange;
  font-size: 16px;
}
</pre>
  <p>Итак, в CSS наш набор правил начинается с селектора, затем сразу же идут фигурные скобки. В этих фигурных скобках располагаются объявления, состоящие из пар свойств и значений. Каждое объявление начинается со свойства, за которым следует двоеточие, значение свойства и, наконец, точка с запятой.</p>
  <p>Распространённой практикой является сдвиг пары свойств и значений внутри фигурных скобок. Как и с HTML, отступы помогают держать наш код организованным и понятным.</p>
  <figure class="m_custom">
    <img src="https://lh6.googleusercontent.com/mhv0CLo0HXl37gisTFJ0JseBiJrUA6bxCSP0Af-E95aYiKLJ4Cr_nCbJoYGUiMyE26WR_3OmyrMrsk8bFQOgG7jAV5yOJ7LQh-4nBPzm2PV6Z37ul2qmw7crCHOBMJSdOLQKdSih" width="257" />
  </figure>
  <p><em>Структура синтаксиса CSS включает селектор, свойства и значения</em></p>
  <p>Далее, мы должны внимательнее рассмотреть, как селекторы работают в CSS.</p>
  <h2>Работа с селекторами</h2>
  <p>Селекторы, как уже упоминалось ранее, указывают, какие элементы HTML будут стилизованы. Важно полностью понимать как использовать селекторы и как они действуют. Первым шагом должно стать знакомство с различными типами селекторов. Мы начнём с самых основных селекторов: селекторы типа, классы и идентификаторы.</p>
  <h3>Селекторы типа</h3>
  <p>Селекторы типа нацелены на элементы по их типу. Например, если мы хотим ориентироваться на все элементы &lt;div&gt; мы должны использовать селектор div. Следующий код показывает селектор типа для элементов &lt;div&gt;, а также соответствующий HTML.</p>
  <p><strong>CSS</strong></p>
  <pre>div { ... }
</pre>
  <p><strong>HTML</strong></p>
  <pre>&lt;div&gt;...&lt;/div&gt; 
&lt;div&gt;...&lt;/div&gt;
</pre>
  <h3>Классы</h3>
  <p>Классы позволяют выбрать элемент на основе значения атрибута class. Селекторы классов немного более конкретны, чем селекторы типа, так как они выбирают определённую группу элементов, а не все элементы одного типа.</p>
  <p>Классы позволяют применять одинаковые стили сразу к разным элементам, используя то же значение атрибута class для нескольких элементов.</p>
  <p>В CSS классы обозначаются с точкой впереди, за которой следует значение атрибута класса. Ниже селектор класса выбирает все элементы, содержащие значение awesome атрибута class, включая элементы &lt;div&gt; и &lt;p&gt;.</p>
  <p><strong>CSS</strong></p>
  <pre>.awesome { ... }
</pre>
  <p><strong>HTML</strong></p>
  <pre>&lt;div class=&quot;awesome&quot;&gt;...&lt;/div&gt;
&lt;p class=&quot;awesome&quot;&gt;...&lt;/p&gt;
</pre>
  <h3>Идентификаторы</h3>
  <p>Идентификаторы ещё точнее, чем классы, так как они нацелены только на один уникальный элемент за раз. Подобно тому, как селекторы классов используют значение атрибута class, идентификаторы используют значение атрибута id в качестве селектора.</p>
  <p>Независимо от типа отображаемого элемента, значение атрибута id может быть использовано только один раз на странице. Если id присутствуют, то они должны быть зарезервированы для важных элементов.</p>
  <p>В CSS идентификаторы обозначаются с символом решётки впереди, после чего идёт значение атрибута id. Здесь идентификатор выберет только элемент, содержащий атрибут id со значением shayhowe.</p>
  <p><strong>CSS</strong></p>
  <pre>#shayhowe { ... }
</pre>
  <p><strong>HTML</strong></p>
  <pre>&lt;div id=&quot;shayhowe&quot;&gt;...&lt;/div&gt;
</pre>
  <hr />
  <p>Ладно, начинаем собирать всё вместе. Мы добавляем элементы на страницу внутри нашего HTML, затем можем выбрать эти элементы и применить к ним стили с помощью CSS. Теперь давайте соединим точки между HTML и CSS, чтобы эти два языка работали вместе.</p>
  <h2>Подключение CSS</h2>
  <p>Чтобы заставить наш CSS говорить с нашим HTML мы должны указать на CSS-файл из HTML. Хорошей практикой является включение всех наших стилей в одном внешнем файле, на который есть указатель внутри элемента &lt;head&gt; нашего HTML-документа. Использование одного внешнего CSS позволяет нам применять одни и те же стили по всему сайту и быстро вносить в него изменения.</p>
  <h3>Другие варианты добавления CSS</h3>
  <p>Другие варианты подключения CSS включают в себя использование внутренних и встроенных стилей. Вы можете встретить эти варианты в реальности, но они, как правило, не одобряются, так как делают обновление сайтов громоздким и неповоротливым.</p>
  <p>Внутри элемента &lt;head&gt; применяется элемент &lt;link&gt;, который определяет отношения между HTML и CSS-файлами. Поскольку мы связываем с CSS, то используем атрибут rel со значением stylesheet для указания их отношений. Кроме того, атрибут href применяется для указания местоположения или пути к CSS-файлу.</p>
  <p>В следующем примере HTML-документа элемент &lt;head&gt; указывает на внешний стилевой файл.</p>
  <pre>&lt;head&gt;
  &lt;link rel=&quot;stylesheet&quot; href=&quot;main.css&quot;&gt;
&lt;/head&gt;
</pre>
  <p>Если CSS-файл располагается в подпапке, то значение атрибута href должно, соответственно, соотноситься с этим путём. Например, если наш файл main.css был сохранён в подпапке с именем stylesheets, то значеним атрибута href будет stylesheets/main.css. Здесь используется косая черта (или слэш), чтобы указать перемещение в подпапку.</p>
  <h2>Каскад</h2>
  <p>Мы начнём разбирать, как именно отображаются стили со взгляда на то, что известно как каскад и изучения несколько примеров каскада в действии. В CSS все стили идут каскадом сверху вниз, что позволяет добавлять другой стиль или переписывать его, тем самым таблицы стилей развиваются.</p>
  <p>Скажем, к примеру, что мы выбрали все элементы абзаца в верхней части нашего стиля и установили для них цвет фона orange и шрифт размером 24 пикселя. Затем в нижней части нашего стиля мы снова выбираем все элементы абзаца и устанавливаем для них цвет фона green, как показано здесь.</p>
  <pre>p {
  background: orange;
  font-size: 24px;
}
p {
  background: green;
}

</pre>
  <p>Поскольку селектор абзаца, который устанавливает зелёный цвет фона располагается после селектора абз��ца, который задаёт оранжевый цвет фона, он будет иметь приоритет в каскаде. Все абзацы появятся на зелёном фоне. Размер шрифта останется 24 пикселя, потому что второй селектор абзаца не определил новый размер шрифта.</p>
  <h3>Каскадные свойства</h3>
  <p>Каскад работает со свойствами внутри отдельных селекторов. Опять же, скажем, к примеру, что мы выбрали все элементы абзаца и установили для них цвет фона orange. Затем прямо ниже свойства background и его значения мы добавляем ещё одно свойство и значение, которое задаёт цвет фона green, как показано здесь.</p>
  <pre>p {
  background: orange;
  background: green;
}

</pre>
  <p>Поскольку объявление зелёного цвета фона написано после объявления оранжевого цвета фона, как и прежде, наши абзацы будут отображаться на зелёном фоне.</p>
  <p>Все стили идут каскадом сверху нашей таблицы стилей до её низа. Есть, однако, случаи, когда каскад не так хорошо работает — порой, когда применяются различные типы селекторов и специфичность этих селекторов разбивает каскад. Давайте взглянем.</p>
  <h2>Вычисление специфичности</h2>
  <p>Каждый селектор в CSS имеет вес специфичности, он вместе с положением в каскаде определяет, как будут отображаться стили.</p>
  <p>В уроке 1 «Создание первой веб-страницы» мы говорили о трёх разных видах селекторов: селектор типа, класс и идентификатор. Каждый из этих селекторов имеет различный вес специфичности.</p>
  <p>У селектора типа низкий вес специфичности и значение балла 0-0-1. У селектора класса средний вес специфичности и значение балла 0-1-0. Наконец, у идентификаторов высокая специфичность и значение балла 1-0-0. Как мы видим, баллы специфичности вычисляются с помощью трёх колонок. В первой колонке количество идентификаторов, во второй классов, а третья колонка считает селекторы типа.</p>
  <p>Важно отметить, что идентификатор имеет больший вес специфичности чем селектор класса, а класс больший вес, чем селектор типа.</p>
  <h3>Баллы специфичности</h3>
  <p>Баллы специфичности намеренно разделены дефисом, так как их значения не вычисляются по десятичной системе. У селекторов класса нет 10 баллов, у идентификаторов нет 100 баллов. Вместо этого эти баллы следует читать как 0-1-0 и 1-0-0 соответственно. Мы внимательно рассмотрим, почему эти значения пишутся через дефис в ближайшее время, когда мы станем комбинировать селекторы.</p>
  <p>Чем выше вес специфичности селектора, тем больше первенства ему отдаётся при возникновении конфликта стилей. Например, если элемент абзаца выбирается с помощью селектора типа в одном месте и идентификатора в другом, то идентификатор будет иметь приоритет над селектором типа, независимо от того, где идентификатор появляется в каскаде.</p>
  <p><strong>HTML</strong></p>
  <pre>&lt;p id=&quot;food&quot;&gt;...&lt;/p&gt;

</pre>
  <p><strong>CSS</strong></p>
  <pre>#food {
  background: green;
}
p {
  background: orange;
}

</pre>
  <p>Здесь у нас есть элемент абзаца со значением атрибута id — food. В нашем CSS этот абзац выбирается двумя различными типами селекторов: один селектор типа, а второй идентификатор. Несмотря на то, что селектор типа указан после идентификатора в каскаде, идентификатор имеет приоритет над селектором типа, потому что он имеет больший вес специфичности, следовательно, абзац появится на зелёном фоне.</p>
  <p>Специфичность веса разных типов селекторов невероятно важно помнить. Порой стили не могут появиться на элементах, как предполагалось, вероятно оттого, что специфичность веса наших селекторов нарушила каскад, поэтому наши стили не отображаются должным образом.</p>
  <p>Понимание того, как каскад и специфичность работают — это огромное затруднение и мы будем продолжать освещать эту тему. А сейчас давайте посмотрим на то, как стать немного конкретнее и обоснованными с нашими селекторами, путём их комбинации. Имейте в виду, что при комбинации селекторов, мы также меняем их специфичность.</p>
  <h2>Комбинация селекторов</h2>
  <p>Пока мы рассмотрели как использовать разные типы селекторов индивидуально, но мы также должны знать, как использовать эти селекторы вместе. Комбинируя селекторы мы можем быть более конкретными в том, какой элемент или группу элементов мы хотели бы выбрать.</p>
  <p>Скажем, к примеру, мы хотим выбрать все элементы абзаца, которые находятся внутри элемента со значением атрибута класса hotdog и установить для них цвет фона как brown. Однако, если один из этих абзацев, случаем, содержит значение атрибута класса mustard, мы хотим установить его цвет фона как yellow. Наши HTML и CSS могут выглядеть следующим образом:</p>
  <p><strong>HTML</strong></p>
  <pre>&lt;div class=&quot;hotdog&quot;&gt;
  &lt;p&gt;...&lt;/p&gt;
  &lt;p&gt;...&lt;/p&gt;
  &lt;p class=&quot;mustard&quot;&gt;...&lt;/p&gt;
&lt;/div&gt;

</pre>
  <p><strong>CSS</strong></p>
  <pre>.hotdog p {
  background: brown;
}
.hotdog p.mustard {
  background: yellow;
}

</pre>
  <p>Когда селекторы комбинируются они должны читаться справа налево. Самый крайний селектор справа, непосредственно перед открытой скобкой, известен как ключевой селектор. Он определяет, к каким именно элементам будут применяться стили. Любой селектор слева от ключевого будет служить уточнением.</p>
  <p>Первый комбинированный селектор выше, .hotdog р, включает в себя два селектора: класс и селектор типа. Эти два селектора разделяются пробелом. Ключевым селектором выступает селектор типа, нацеленный на элементы абзаца. Поскольку этот селектор сочетается с классом hotdog, полный комбинированный селектор выбирает только элементы абзаца, которые находятся внутри элемента с классом hotdog.</p>
  <p>Второй селектор выше, .hotdog p.mustard, включает в себя три селектора: два класса и один селектор типа. Единственное различие между вторым и первым селекторами является добавление класса mustard в конце селектора абзаца. Поскольку новый класс mustard находится в правой части комбинированного селектора, то он ключевой, а все отдельные селекторы идущие перед ним теперь уточняющие.</p>
  <h3>Пробелы в селекторах</h3>
  <p>В предыдущем комбинированном селекторе, .hotdog p.mustard, есть пробел между классом hotdog и селектором абзаца, но не между селектором абзаца и классом mustard. Использование пробелов и отказ от них — это большая разница в селекторах.</p>
  <p>Поскольку нет пробела между селектором абзаца и классом mustard, это значит что будут выбраны только абзацы с классом mustard. Если бы селектор абзаца был удалён, а класс mustard содержал пробелы с двух сторон, то был бы выбран любой элемент с классом mustard, а не только абзацы.</p>
  <p>Лучше всего не писать селектор типа перед селектором класса. Как правило, мы хотим выбрать любой элемент с данным классом, а не только один тип элемента. С учётом этого наш новый комбинированный селектор будет лучше писать как .hotdog .mustard.</p>
  <p>Читая комбинированный селектор справа налево — он нацелен на абзацы со значением атрибута класса mustard, который располагается внутри элемента с значением атрибута класса hotdog.</p>
  <p>Разные типы селекторов могут комбинироваться, чтобы обнаружить любой конкретный элемент на странице. Поскольку мы продолжим писать различные комбинированные селекторы, то увидим их мощь в жизни. Прежде, чем мы это сделаем, давайте взглянем на то, как меняется вес специфичности комбинированных селекторов.</p>
  <h3>Специфичность в комбинированных селекторах</h3>
  <p>Вес специфичности комбинированных селекторов может быть вычислен путём подсчёта каждого отдельного типа селектора в их комбинации.</p>
  <p>Взглянем на наш комбинированный селектор выше. Первый селектор, .hotdog р, содержит селектор класса и селектор типа. Зная, что баллы класса это 0-1-0, а баллы селектора типа это 0-0-1, суммарные комбинированные баллы будут 0-1-1, это определяется путём суммирования каждого вида селектора.</p>
  <p>Второй селектор, .hotdog p.mustard, содержит два селектора класса и один селектор типа. У комбинированного селектора будут баллы 0-2-1. 0 в первой колонке показывает нулевое число идентификаторов, 2 во второй колонке — два селектора класса, а 1 в последней колонке — один селектор типа.</p>
  <p>Сравнивая два селектора, у второго селектора с двумя классами заметно более высокое значение веса специфичности и баллов. Как таковой, он будет иметь приоритет в каскаде. Если бы мы перевернули порядок этих селекторов в нашей таблице стилей, поместив более «тяжёлый» селектор выше «лёгкого» селектора, как показано здесь, вывод их стилей не будет затронут, в силу специфичности веса каждого селектора.</p>
  <pre>.hotdog p.mustard {
  background: yellow;
}
.hotdog p {
  background: brown;
}

</pre>
  <p>В общем, мы хотим, чтобы вы всегда держали вес специфичности селекторов в поле зрения. Чем больше растёт вес специфичности, тем более вероятно, что наш каскад сломается.</p>
  <h2>Разделение стилей по нескольким классам</h2>
  <p>Одним из способов сохранить низкими веса специфичности наших селекторов является при возможности модульность, передача похожих стилей от элемента к элементу. Один из вариантов модульности — разделение на разные стили с помощью нескольких классов.</p>
  <p>Элементы в HTML могут содержать более одного атрибута class, при этом их значения разделяются пробелами. За счёт этого мы можем применить некоторые стили ко всем элементам одного вида, а другие стили к конкретным элементам этого же вида.</p>
  <p>Мы можем связать стили, которые хотим постоянно повторять с одним классом и разделить на дополнительные стили с другим классом.</p>
  <p>Давайте взглянем на кнопки, к примеру. Скажем, мы хотим, чтобы у всех наших кнопок был размер шрифта 16 пикселей, но чтобы цвет фона кнопок мог варьироваться в зависимости от того, где кнопки применяются. Мы можем создать несколько классов и распределить их по элементам, в зависимости от применения желаемых стилей.</p>
  <p><strong>HTML</strong></p>
  <pre>&lt;a class=&quot;btn btn-danger&quot;&gt;...&lt;/a&gt;
&lt;a class=&quot;btn btn-success&quot;&gt;...&lt;/a&gt;

</pre>
  <p><strong>CSS</strong></p>
  <pre>.btn {
  font-size: 16px;
}
.btn-danger {
  background: red;
}
.btn-success {
  background: green;
}

</pre>
  <p>Здесь вы можете увидеть два элемента ссылок с несколькими значениями атрибутов класса. Первый класс, btn, используется для задания размера шрифта 16 пикселей каждому из элементов. Затем, первый элемент ссылки использует дополнительный класс btn-danger, чтобы применить красный цвет фона, а второй элемент ссылки использует дополнительный класс btn-success, чтобы применять зелёный цвет фона. Наши стили чистые и модульные.</p>
  <p>Используя несколько классов мы можем делить стили на множество классов по своему желанию, сохраняя наш код компактным с низким весом специфичности. Понимание каскада и вычисление специфичности требует практики, которая занимает время до полного постижения, но в этом мы становимся с каждым уроком всё лучше.</p>
  <h2>Основные значения свойств CSS</h2>
  <p>Мы уже применяли небольшую часть значений основных свойств CSS, такие как значения цвета red и green. Вы, возможно, не слишком задумывались об этом, это нормально. Мы теперь потратим немного времени и перейдём к некоторым ранее используемым значениям свойств, а также исследуем часть основных свойств, которые вскоре будем использовать.</p>
  <p>В частности, взглянем на свойства, которые относятся к цветам и размерам.</p>
  <h3>Цвета</h3>
  <p>Все цветовые значения в CSS определяются как цветовое пространство sRGB (или стандартный красный, зелёный и синий). Цвета в пределах этого пространства образуются путём смешивания вместе красного, зелёного и синего цветовых каналов, отражая способ, каким телевизоры и мониторы генерируют все разные цвета, которые они показывают. При смешивании различных уровней красного, зелёного и синего мы можем создать миллионы цветов и обнаружить почти любой желаемый цвет.</p>
  <p>В настоящее время существует четыре основных способа представления цвета sRGB в CSS: ключевые слова, шестнадцатеричная запись, значения RGB и HSL.</p>
  <h3>Ключевые цвета</h3>
  <p>Значения ключевого слова — это названия (такие как red, green или blue), которые отображаются данным цветом. Названия ключевых слов и соответствующие им цвета определяется спецификацией CSS. Наиболее распространённые цвета, наряду с несколькими странностями, связаны с ключевым названием.</p>
  <p>Полный список этих названий можно найти в <a href="http://www.w3.org/TR/css3-color/" target="_blank">спецификации CSS</a>.</p>
  <figure class="m_column">
    <img src="https://o525.ru/i/a1/_H/ua/3t/y2/a1_Hua3ty2kD5kQwmI64hGGVqfo.png" width="432" />
  </figure>
  <p>Здесь мы применяем фон maroon к любому элементу с классом task и фон yellow к любому элементу с классом count.</p>
  <pre>.task {
  background: maroon;
}
.count {
  background: yellow;
}

</pre>
  <p>Ключевые цвета просты по своей природе, но их ограниченное количество, поэтому это не самый популярный способ выбора цвета.</p>
  <h3>Шестнадцатеричные цвета</h3>
  <p>Шестнадцатеричные значения цвета начинаются с решётки (#), затем идёт три или шесть символов. Используются цифры от 0 до 9 и буквы от А до F, в верхнем или нижнем регистре. Эти значения отображают красный, зелёный и синий цветовые каналы.</p>
  <p>В шестисимвольной записи первые два символа представляют красный канал, третий и четвертый символы представляют зелёный канал, а последние две цифры представляют синий канал. В трёхсимвольной записи первый символ представляет красный канал, второй символ представляет зелёный канал, а последний символ представляет синий канал.</p>
  <p>Если в шестисимвольной записи первые два символа одинаковы, третий и четвертый символы одинаковы и последние два символа одинаковы, то запись может быть сокращена до трёх символов. Для этого повторяющиеся символы из каждой пары должны использоваться только один раз. Например, оттенок оранжевого представлен шестнадцатеричным цветом #ff6600, который также может быть записан как #f60.</p>
  <figure class="m_custom">
    <img src="https://webref.ru/assets/images/learn-html-css/hexadecimal-syntax.png" width="232" />
  </figure>
  <p><em>Рис. 3.01. Шестисимвольное значение можно записать в виде трёх символов, когда каждый красный, зелёный и синий цветовые каналы содержат повторяющийся символ</em></p>
  <p>Пары символов получаются путем преобразования чисел от 0 до 255 в шестнадцатеричный формат. Математика здесь немного сложна и достойна отдельной книги, но полезно знать, что 0 равен чёрному, а F равен белому.</p>
  <h3>Миллионы шестнадцатеричных цветов</h3>
  <p>Есть миллионы шестнадцатеричных цветов, свыше 16,7 млн, если быть точным. Во как…</p>
  <p>Имеется 16 вариантов каждого символа в шестнадцатеричном цвете, от 0 до 9 и от A до F. Группируя символы парами мы получим 256 вариантов цвета (16×16 или 162). С тремя группами по 256 вариантов в каждой у нас есть в общей сложности более 16,7 млн цветов (256×256×256 или 2563).</p>
  <p>Для создания такого же цвета фона, как maroon и yellow выше, мы могли бы заменить значения ключевых слов на шестнадцатеричные значения цвета, как показано здесь.</p>
  <pre>.task {
  background: #800000;
}
.count {
  background: #ff0;
}

</pre>
  <p>Шестнадцатеричные значения цвета были некоторое время повсеместно и стали довольно популярными, потому что предлагают большое число вариантов цвета. С ними, однако, несколько сложно работать, особенно если вы с ними не слишком хорошо знакомы. К счастью Adobe создал <a href="https://color.adobe.com/ru/" target="_blank">Adobe Color</a>, бесплатное приложение, которое предлагает цветовой круг для помощи в нахождении любого желаемого цвета и соответствующего шестнадцатеричного значения.</p>
  <p>Кроме того, большинство приложений для редактирования изображений, такие как Adobe Photoshop, предоставляют возможность установления шестнадцатеричного значения цвета.</p>
  <figure class="m_custom">
    <img src="https://webref.ru/assets/images/learn-html-css/photoshop-color-picker.jpg" width="800" />
  </figure>
  <p><em>Рис. 3.02. Палитра цветов в Adobe Photoshop показывает шестнадцатеричное значение цвета</em></p>
  <h3>Цвета RGB и RGBa</h3>
  <p>Значения цвета RGB задаются с помощью функции rgb(). Функция принимает три значения — красный, зелёный и синий, разделенные запятыми, каждое из которых является целым числом от 0 до 255. Значение 0 будет чисто чёрным, значение 255 будет чисто белым.</p>
  <p>Как и следовало ожидать, первое значение в функции rgb() представляет красный канал, второе зелёный канал, а третье значение — синий канал.</p>
  <p>Если бы мы хотели переделать оттенок оранжевого в качестве значения цвета RGB, то он будет представлен как rgb(255, 102, 0).</p>
  <p>Кроме того, используя те же цвета maroon и yellow, что раньше, мы могли бы заменить ключевые слова или шестнадцатеричные значения на значения RGB.</p>
  <pre>.task {
  background: rgb(128, 0, 0);
}
.count {
  background: rgb(255, 255, 0);
}

</pre>
  <p>Значения цвета RGB могут включать в себя альфа-канал или прозрачность с помощью функции rgba(). Эта функция требует четвёртое значение, которое должно быть числом от 0 до 1, включая десятичные знаки. Значение 0 создаёт полностью прозрачный цвет, в том смысле что он будет невидимым, а значение 1 создает полностью непрозрачный цвет. Любое десятичное значение от 0 до 1 создаст полупрозрачный цвет.</p>
  <p>Если мы хотим, чтобы наш оранжевый оттенок стал на 50% прозрачным, то могли бы использовать RGBa значение цвета rgba(255, 102, 0, .5).</p>
  <p>Мы также можем изменить прозрачность нашего цвета maroon и yellow. Следующий код устанавливает цвет фона maroon на 25% прозрачным и оставляет цвет фона yellow 100% непрозрачным.</p>
  <pre>.task {
  background: rgba(128, 0, 0, .25);
}
.count {
  background: rgba(255, 255, 0, 1);
}

</pre>
  <p>Значения цвета RGB становятся всё более популярными, особенно в связи с возможностью создания полупрозрачных цветов с помощью RGBa.</p>
  <h3>Размеры</h3>
  <p>Значения размеров в CSS похожи на цвета в том, что есть несколько различных типов значений для размера, все они служат разным целям. Есть два разных вида размеров — абсолютные и относительные, каждый из которых использует различные единицы измерения.</p>
  <p>Мы будем придерживаться наиболее принятых и более простых значений на данный момент, более сложные значения потребуют гораздо больше усилий.</p>
  <h3>Абсолютные размеры</h3>
  <p>Абсолютные значения размера являются простейшими значениями, поскольку они привязаны к физическим единицам, таким как дюймы, сантиметры или миллиметры. Самая популярная абсолютная единица измерения известна как пиксель и представлена в виде записи px.</p>
  <h3>Пиксели</h3>
  <p>Пиксель равен 1/96 дюйма. Таким образом, в дюйме 96 пикселей. Точное измерение пикселя, тем не менее, может слегка отличаться на устройствах с высокой и низкой плотностью пикселей.</p>
  <p>Пиксели существуют достаточно продолжительное время и, как правило, используются набором разных свойств. Этот код использует пиксели, чтобы установить размер шрифта всех абзацев как 14 пикселей.</p>
  <pre>p {
  font-size: 14px;
}

</pre>
  <p>С учётом смены устройств просмотра на альбомный режим и различных размеров экранов, пиксели потеряли часть своей популярности. В качестве абсолютных единиц измерения они не предлагают достаточной гибкости. Пиксели, однако, надёжны и отлично подходят для начала работы. Мы собираемся опираться на них совсем немного, пока досконально изучаем HTML и CSS.</p>
  <h3>Относительные размеры</h3>
  <p>В дополнение к абсолютным значениям размеров есть также относительные размеры. Они немного сложнее, так как не являются фиксированными единицами измерения, а основаны на размере другого измерения.</p>
  <h3>Проценты</h3>
  <p>Проценты, представленные в виде обозначения %, являются одним из самых популярных относительных значений. Размеры в процентах определяются по отношению к размеру другого объекта. Например, чтобы установить ширину элемента как 50%, мы должны знать ширину родительского элемента, т. е. элемента, в который он вложен, а затем определить 50% от ширины родительского элемента.</p>
  <pre>.col {
  width: 50%;
}

</pre>
  <p>Здесь мы установили ширину элемента с классом col как 50%. Эти 50% будут рассчитываться по отношению к ширине родительского элемента.</p>
  <p>Проценты являются чрезвычайно полезными для установления высоты и ширины элементов и создания макета веб-страницы. Мы будем полагаться на них часто, чтобы они помогали нам в этих областях.</p>
  <p>Подводя итоги, в этом уроке мы обсудили следующее:</p>
  <ul>
    <li>Каскадирование стилей сверху вниз.</li>
    <li>Что такое специфичность и как мы можем её вычислить.</li>
    <li>Как комбинировать селекторы для определённых элементов или групп элементов.</li>
    <li>Как применять несколько классов к одному элементу для разделения на разные стили для большей модульности.</li>
    <li>Разные значения цвета, доступные для использования в CSS, в том числе ключевые слова, шестнадцатеричные значения и RGB.</li>
    <li>Различные значения размера, доступные для использования в CSS, в том числе пиксели и проценты.</li>
  </ul>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@brothercash/B1NBMcCEE</guid><link>https://teletype.in/@brothercash/B1NBMcCEE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash</link><comments>https://teletype.in/@brothercash/B1NBMcCEE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash#comments</comments><dc:creator>brothercash</dc:creator><title>Установка Adobe Photoshop CC 2018 на Linux</title><pubDate>Mon, 11 Feb 2019 06:12:11 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/54/54278e77-e04b-45af-bfb2-3f983126ddfe.png"></media:content><description><![CDATA[<img src="http://cart.softline.ru/pictures/nodes/55/ae/f5/be/ed/bc/c5/5b/33/origin.jpg"></img>Привет! Возможно, тебя, как и меня, от перехода на Linux удерживает отсутствие стабильно работающего Photoshop под этой операционной системой. Очень вероятно, что эта статья поможет тебе решить эту проблему.]]></description><content:encoded><![CDATA[
  <h2>Оригинал статьи опубликован <a href="https://ilfar.pro/blog/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-adobe-photoshop-cc-2018-%D0%BD%D0%B0-linux/" target="_blank">в блоге</a> отличного человека по имени Ильфар. Сюда дублируется исключительно в архивных целях, поскольку единожды уже был утрачен</h2>
  <figure class="m_column">
    <img src="http://cart.softline.ru/pictures/nodes/55/ae/f5/be/ed/bc/c5/5b/33/origin.jpg" width="794" />
  </figure>
  <p>Привет! Возможно, тебя, как и меня, от перехода на Linux удерживает отсутствие стабильно работающего Photoshop под этой операционной системой. Очень вероятно, что эта статья поможет тебе решить эту проблему.</p>
  <h3><strong>Краткий план действий:</strong></h3>
  <ol>
    <li>Установка и начальная настройка Wine</li>
    <li>Установка winetricks и необходимых зависимостей</li>
    <li>Установка Photoshop</li>
  </ol>
  <h2><strong>Перед тем, как начать</strong></h2>
  <p>Подразумевается, что все манипуляции производятся на чистой системе.</p>
  <p>Если у вас уже установлен wine, ничего удалять не надо. Убедитесь, что используете не сильно устаревшую версию wine и winetricks, выполните команду из пункта 5 и произведите установку Photoshop.</p>
  <h2><strong>Установка Wine</strong></h2>
  <p>Я буду рассматривать установку 64 разрядной версии wine.</p>
  <ol>
    <li>Проделайте базовую установку wine и winetricks используя терминал или центр приложений.</li>
    <li>Запустите winecfg (введите эту команду в терминал)</li>
    <li>Вам будет предложено установить wine-mono, wine-gecko и т.д., соглашаемся и устанавливаем их.</li>
    <li>После всех манипуляций откроется окно настройки wine. В нём выберите версию Windows 8.1 и нажмите применить.</li>
    <li>Скопируйте команды написанные ниже и запустите их в терминале.</li>
  </ol>
  <p>WINEPREFIX=/домашняяпапка/имяпользователя/.wine wineboot -u WINEARCH=win64</p>
  <p>WINEPREFIX=/домашняяпапка/имяпользователя/.wine winetricks fontsmooth=rgb gdiplus vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015 atmlib msxml3 msxml6 gdiplus corefonts</p>
  <p>Настройка wine завершена.</p>
  <h2><strong>Установка Photoshop</strong></h2>
  <p>Опытным путём мной было выявлено, что официальный установщик не способен установить программу. В <a href="https://www.reddit.com/r/linux/comments/7ql4kl/the_screenshots_of_photoshop_cc_2018_64bit_on/" target="_blank"><strong>этом мнении</strong></a> сходятся и зарубежные пользователи из reddit. Поэтому мы будем производить установку Portable версии программы, которая ничуть не уступает в функциональности и производительности.</p>
  <p>Мной было протестировано несколько portable версий Photoshop. Среди который наиболее стабильным и работоспособным оказался <a href="http://tt.cccp-rutracker.org/forum/viewtopic.php?t=5537937" target="_blank"><strong>Adobe Photoshop CC 2018 v19.1.3.49649 RePack by JFK2005 (x64) Eng_Rus</strong></a></p>
  <p>В сборках от других пользователей я столкнулся с полным зависанием программы и ошибками при попытке воспользоваться некоторыми функциями редактора.</p>
  <p>Загрузите сборку, описанную выше и установите. Установка тривиальна и не требует разбора. После установки создастся ярлык программы на рабочем столе. Если вы хотите расположить ярлык в меню программ, откройте ваш файловый менеджер с правами администратора ( например, “sudo nautilus”) и переместите ярлык по пути <em>/usr/share/applications</em></p>
  <p>Этот ярлык можно отредактировать открыв его с помощью текстового редактора (gedit, например). Откройте ярлык и добавьте следующую строчку:</p>
  <p>MimeType=image/psd;</p>
  <p>Таким образом, ваша система будет знать, что файлы расширения .psd следует открывать этой программой</p>
  <p>Добавьте ещё одну строчку:</p>
  <p>Categories=Graphics;</p>
  <p>Не забудьте сохраниться перед закрытием файла</p>
  <p>Теперь вы можете найти установленную программу в меню приложений, в категории Графика. На этом у меня всё. Если возникнут проблемы, пишите в комментариях. В статье использована оригинальная фотография из экрана загрузки Photoshop CC 2018 сделанная <a href="http://porodina.net/" target="_blank"><strong>Елизаветой</strong></a> <a href="https://www.behance.net/porodina" target="_blank"><strong>Породиной</strong></a> и <a href="https://www.behance.net/januszjurek" target="_blank"><strong>Janusz Jurek</strong></a>.</p>
  <figure class="m_custom">
    <img src="https://s.w.org/images/core/emoji/11/svg/1f642.svg" width="150" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@brothercash/Syc1e9CVE</guid><link>https://teletype.in/@brothercash/Syc1e9CVE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash</link><comments>https://teletype.in/@brothercash/Syc1e9CVE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash#comments</comments><dc:creator>brothercash</dc:creator><title>ФОРМУЛЫ СОСТОЯНИЙ</title><pubDate>Mon, 11 Feb 2019 06:02:09 GMT</pubDate><category>Hubbard management system</category><description><![CDATA[<img src="https://digital.report/wp-content/uploads/2017/08/Digital-Economy.jpg"></img>xОригинал статьи здесь]]></description><content:encoded><![CDATA[
  <figure class="m_column">
    <img src="https://digital.report/wp-content/uploads/2017/08/Digital-Economy.jpg" width="2156" />
  </figure>
  <p>xОригинал статьи <a href="http://www.scientologycourses.org/ru/courses-view/conditions/step/read-conditions-formulas.html" target="_blank">здесь</a></p>
  <h2>ФОРМУЛЫ СОСТОЯНИЙ</h2>
  <p>Вот состояния и их формулы, приведённые в порядке возрастания:</p>
  <h3><strong><em>Состояние Несуществования </em></strong></h3>
  <h3><strong><em>(Формула для работы на новом посту)</em></strong></h3>
  <p>Каждый человек, назначенный на должность, начинает свою деятельность в состоянии Несуществования, будь то повышение, понижение или просто новое назначение.</p>
  <p>Человек обычно пребывает в заблуждении, что он теперь является «<em>САМИМ</em> _______ (новая должность)». Он старается начать свою деятельность в состоянии Могущества, так как обычно он очень хорошо осознаёт свой новый статус или даже свой прежний статус. Но на самом деле <em>он</em> единственный, кто это осознаёт. Все остальные, за исключением, возможно, администратора по персоналу, абсолютно ничего не знают о том, что у него новый статус.</p>
  <p>Следовательно, он начинает свою деятельность в состоянии Несуществования. И если он не начнёт действовать согласно формуле Несуществования, то будет использовать неправильное состояние и попадёт в разного рода неприятности.</p>
  <h3><strong><em>Формула Несуществования</em></strong></h3>
  <p>Формула Несуществования такова:</p>
  <p>1.   Найдите коммуникационную линию.</p>
  <p>2.   Добейтесь, чтобы о вас узнали.</p>
  <p>3.   Выясните, что другим требуется или чего они хотят.</p>
  <p>4.   Делайте, производите и/или предоставляйте это.</p>
  <p>Человек, принимая на себя управление хорошо функционирующей областью, часто думает, что ему следует добиться того, чтобы о нём узнали, изменяя всё, в то время как он а) недостаточно хорошо знаком остальным, чтобы делать это, и б) ещё не имеет никакого представления о том, что другим требуется или чего они хотят. И поэтому он создаёт полную неразбериху.</p>
  <p>Иногда такой человек полагает, будто знает, что другим требуется или чего они хотят, тогда как это всего лишь его предвзятая идея — и только его идея, которая вовсе не соответствует действительности, — и поэтому он не справляется со своей работой.</p>
  <p>Иногда он не утруждает себя выяснением того, что же действительно другим требуется или чего они хотят, — и просто полагает, что знает это, хотя на самом деле не знает. Вскоре он становится «неудачником».</p>
  <p>Время от времени человек, которого только назначили на должность, бывает настолько опьянён своим статусом, или же настолько неуверен в своём положении, или настолько робок, что, даже когда его начальник или сотрудники приходят и говорят ему, что им или кому-то ещё требуется или чего они него хотят, он даже не даёт (или не может дать) им подтверждения, — и тогда уж он окончательно попадает в Несуществование.</p>
  <p>Иногда он обнаруживает: то, что, как ему <em>сообщили</em>, другим требуется или чего они хотят, нуждается в переоценке или дальнейшем изучении. Поэтому самым безопасным для него всегда будет самостоятельно исследовать этот вопрос и действовать на основе полученных результатов — когда у него будет твёрдая собственная реальность в отношении того, что другим требуется или чего они хотят.</p>
  <p>Если формула применяется с умом, человек может ожидать, что он попадёт в зону обхода, где люди всё ещё делают его работу, чтобы заполнить брешь, которую, возможно, оставил его предшественник. Это состояние Опасности, но это следующее, более высокое состояние, чем Несуществование. Если человек отстаивает своё право на свою работу, выполняет свою работу и применяет формулу Опасности, то он пройдёт через это состояние.</p>
  <p>Затем человек может рассчитывать на то, что он окажется в состоянии Чрезвычайного положения. Находясь в этом состоянии, он должен следовать формуле Чрезвычайного положения, применяя её к своей работе, и тогда он пройдёт и через <em>это</em> состояние.</p>
  <p>Теперь человек может рассчитывать на то, что он окажется в состоянии Нормальной деятельности, и, если он будет следовать формуле этого состояния, он поднимется до Изобилия. И если он будет следовать формуле <em>этого</em> состояния, то он достигнет состояния Могущества. И если он будет применять формулу состояния Могущества, то он останется в этом состоянии.</p>
  <p>Итак, начиная работать на новой должности, человек очень далёк от состояния Могущества, и, если он <em>не поднимается</em> по состояниям из того состояния, в котором он действительно находится, он, конечно же, потерпит неудачу.</p>
  <p>Это применимо к группам, организациям и странам точно так же, как и к отдельным людям.</p>
  <p>Это применимо и в тех случаях, когда человек терпит неудачу на работе. Он должен вновь начать с Несуществования и двигаться вверх таким же образом — состояние за состоянием.</p>
  <p>Большинство неудач на работе вызваны тем, что человек не использует формулы состояний, не распознаёт сами состояния, не применяет формулу того состояния, в котором находится, когда он в нём находится, и не прекращает её применять, когда выходит из этого состояния и переходит в другое.</p>
  <p>В этом и заключается секрет того, как удержать свою должность и преуспеть на работе или в жизни.</p>
  <h3><strong><em>Расширенный вариант формулы состояния Несуществования</em></strong></h3>
  <p>Некоторые люди неправильно применяют формулу Несуществования, а потом недоумевают, почему с ними продолжают происходить неприятности.</p>
  <p>Руководители иногда удивляются, почему некоторые сотрудники просто никогда ничего не могут сделать правильно. В отчаянии эти руководители делают работу сами, и в конце концов им приходится выполнять всю работу самим.</p>
  <p>Причина заключается в том, что формула Несуществования на их постах применяется неправильно и не выполняется по-настоящему.</p>
  <p>Практика показывает, что даже опытные руководители и сотрудники на самом деле не выходят из Несуществования. И там, где организация вообще работает, её тащат на себе один или два ключевых руководителя.</p>
  <p>Слова «найдите коммуникационную линию» слишком многие на деле сводят лишь к тому, чтобы найти чью-нибудь входящую корзину и оставить там запрос: «Что вам требуется и чего вы хотите». На самом деле коммуникационную линию так не находят.</p>
  <p>Чтобы справляться с обязанностями на <em>любой</em> должности, необходимо иметь <em>информацию</em> и предоставлять <em>информацию</em>. Там, где это не делается, человек обнаруживает, что он выполняет проекты, которые отвергаются, что он работает над проектами, которые потом приходится выполнять заново, что его свободу действий ограничивают, — и он обнаруживает, что скатывается вниз по состояниям. Он оказывается в немилости у своего начальства, <em>потому что он не собирает и не предоставляет</em> жизненно важную информацию о том, <em>что происходит</em>.</p>
  <p>Обязанность любого сотрудника, неважно, новая для него эта должность или нет, — <em>собрать коммуникационные линии, которые относятся к его должности, выяснить, кто нуждается в жизненно важной информации от него, </em>и постоянно<em> вводить, вводить, вводить эти линии в действие</em>.</p>
  <p>Если человек не будет поступать именно таким образом, то он никогда не выйдет из Несуществовани��. Он не добрался до Опасности, потому что люди даже не знают, что они его обходят. Другими словами, когда сотрудник не поступает таким образом, в глазах организации он просто <em>ноль</em>.</p>
  <p>Приказы, издаваемые им, обычно <em>отменяются</em>, когда их обнаруживает какой-нибудь начальник, потому что они нереальны. Джо уже занимался этим вопросом. Расписание Билла было сорвано. В бухгалтерии кричат: «Откуда взялись эти ненужные траты?»</p>
  <p>Довольно скоро сотрудники, узнавая, что приказ был отдан тем-то и тем-то, будут просто игнорировать его.</p>
  <p>В конце концов светлые надежды такого сотрудника обычно сменяются надеждой на то, что ему удастся перевестись — и чем скорее, тем лучше. Все против него.</p>
  <p>Но что же в действительности произошло?</p>
  <p>Он так и не применил формулу Несуществования по-настоящему и поэтому остался в Несуществовании. Его действия не согласованы, потому что у него <em>нет коммуникационных линий для передачи или получения информации.</em></p>
  <p>На самом деле никто другой не обязан собирать для него его же собственные коммуникационные линии — точно так же, как никто не обязан за него дышать. Вдох и выдох организации или любого вида деятельности — это получение и передача <em>жизненно важной информации и частиц.</em></p>
  <p>Любому, кто обнаруживает, что он, по всей видимости, находится в Несуществовании или ниже, следует побегать хорошенько и отыскать коммуникационные линии, относящиеся к его деятельности и его должности, и настоять на том, чтобы его подключили к этим линиям.</p>
  <p>Такой сотрудник, руководитель или просто человек должен записать, какую информацию ему нужно иметь, чтобы выполнять работу своего поста, и какую информацию должны получать от него другие, чтобы они могли выполнять свою работу.</p>
  <p>А затем он должен организовать коммуникационные линии таким образом, чтобы секретари, отправляющие по ним сообщения, указывали его имя среди тех, кого следует информировать.</p>
  <p>Старшие руководители — такие как главы отделений или руководители организации — несут ответственность за информирование своих сотрудников. Но перед ними обычно стоят проблемы безопасности, и, кроме того, они хотят выглядеть в лучшем свете. Вместе с тем информация, которой они располагают, затрагивает всё отделение или всю организацию в целом, хотя включает в себя и подробности такого рода: «Миссис Зайкс прибывает в 14:00» или «Представитель телефонной компании говорит, что счёт нужно оплатить сегодня до 12 часов, иначе нас отключат».</p>
  <p>Полная неразбериха и перегрузка руководителей имеют место там, где большая часть сотрудников не подключилась к важным коммуникационным линиям и не поддерживает поток информации по этим линиям. Не спрашивай, почему статистики внизу, если 90 процентов твоих сотрудников находится в Несуществовании или в более низком состоянии! Ведь они так по-настоящему и не нашли никаких коммуникационных линий.</p>
  <p>Следовательно, расширенная формула Несуществования выглядит так:</p>
  <p>1.   Найдите все коммуникационные линии, которые вам будут нужны для того, чтобы предоставлять и получать информацию, относящуюся к вашим обязанностям, а также информацию, относящуюся к необходимым для работы материалам, и подключитесь к этим линиям.</p>
  <p>2.   Добейтесь, чтобы каждый человек, который вам будет нужен для получения и предоставления информации, знал вас, а также знал, как называется ваша должность и каковы ваши обязанности.</p>
  <p>3.   Выясните у своих начальников, коллег, а также у всех людей, с которыми вам, возможно, придётся вступать в контакт в силу своих обязанностей, что требуется и чего каждый из них хочет.</p>
  <p>4.   Делайте, производите и предоставляйте то, что требуется и чего каждый из них хочет (и что соответствует оргполитике).</p>
  <p>5.   Поддерживайте имеющиеся у вас коммуникационные линии и расширяйте их, чтобы получать другую информацию, которая сейчас, как вы обнаруживаете, необходима вам в повседневной деятельности.</p>
  <p>6.   Поддерживайте исходящие от вас коммуникационные линии, чтобы информировать других о том, чем именно вы занимаетесь, но только тех, кто действительно нуждается в этой информации.</p>
  <p>7.   Придавайте всё более оптимальную форму тому, что вы делаете, производите и предоставляете, чтобы это было ближе к тому, что действительно требуется и чего хотят.</p>
  <p>8.   Передавая и получая полную информацию, относящуюся к вашему продукту, постоянно делайте, производите и предоставляйте продукт гораздо лучшего качества, чем было раньше.</p>
  <p>И если вы будете делать всё это — а также записывать свою информацию сжато, так, чтобы её можно было быстро понять, и получать данные в такой форме, чтобы они не загромождали ваши собственные коммуникационные линии, — то вы действительно начнёте двигаться вверх по состояниям и со временем достигнете Могущества.</p>
  <h3><strong><em>Состояние Опасности</em></strong></h3>
  <p>Состояние Опасности обычно назначается, если:</p>
  <p>1.   Состояние Чрезвычайного положения продолжается слишком долго.</p>
  <p>2.   Статистика очень круто устремляется вниз.</p>
  <p>3.   Старший руководитель неожиданно обнаруживает, что он носит шляпу человека, отвечающего за данную деятельность, из-за возникших там неприятностей.</p>
  <p><em>Обход</em> — это пропуск надлежащего терминала (человека или поста) в командной цепи.</p>
  <p>Если вы объявляете состояние Опасности, вы, конечно, должны проделать работу, необходимую для урегулирования ситуации, которая является опасной.</p>
  <p>Верно и обратное. Если вы начинаете выполнять работу, действуя в обход какого-либо поста, вы, конечно же, неосознанно вызовете состояние Опасности. Почему? Да потому, что вы пренебрегаете людьми, которые должны выполнять эту работу.</p>
  <p>Далее, если вы будете постоянно выполнять работу других, действуя в обход, вся работа, конечно, станет вашей. Это объясняет, почему руководители перегружены. Они действуют в обход подчинённых. Только и всего. Если руководитель постоянно действует в обход, то оказывается перегруженным.</p>
  <p>Кроме того, это ведёт к Несуществованию.</p>
  <p>Таким образом, чем больше руководитель действует в обход, тем больше он работает. Чем больше он работает в обход подчинённых, тем больше будет исчезать та часть организации, в которой он работает.</p>
  <p>Поэтому неважно, намеренно или непреднамеренно вы работаете в обход подчинённых, результат всегда один и тот же — состояние Опасности.</p>
  <p>Если вам <em>приходится</em> выполнять работу в обход подчинённых, вы <em>должны</em> объявить данное состояние и следовать формуле.</p>
  <p>Если вы объявляете данное состояние, вы должны ещё и выполнять работу.</p>
  <p>Вы должны добиться, чтобы работа выполнялась компетентно. Это делается за счёт назначения на должность новых людей, перемещения людей на другую должность или обучения сотрудников. Состояние завершено, когда видно по статистикам, что структурное подразделение компании или организации вернулось в норму.</p>
  <p>Поэтому объявление состояния Опасности сопряжено с огромной ответственностью. Но ещё больший груз ляжет на ваши плечи, если вы <em>не</em> объявите состояние Опасности своим подчинённым, которые плохо выполняют свои функции, поскольку тогда оно очень скоро настигнет вас самих: объявите вы его или нет, <em>вы</em> неизбежно попадёте в состояние Опасности.</p>
  <p>Куда ни кинь, всюду клин. Однако радует то, что, применив формулу, вы получаете хороший шанс не только снова встать на ноги, но и стать больше и лучше, чем когда-либо.</p>
  <p>И у руководителя, который начал катиться вниз, впервые есть <em>такая </em>возможность. Есть надежда!</p>
  <p>Если формула для выхода из состояния Опасности не выполнена, то впоследствии организация, область деятельности или человек не смогут без труда подняться выше этого состояния.</p>
  <p>Ни продолжительному Чрезвычайному положению, ни угрозе жизнеспособности и выживанию, ни продолжительной работе в одиночку не будет положен конец, если только не будет применена формула Опасности.</p>
  <h3><strong><em>Формула состояния Опасности</em></strong></h3>
  <p>Формула такова:</p>
  <p>1.   Обойдите (проигнорируйте подчинённого или подчинённых, которые обычно отвечают за данную деятельность, и займитесь ею лично).</p>
  <p>2.   Справьтесь с ситуацией и любой опасностью в ней.</p>
  <p>3.   Назначьте области, в которой пришлось справляться с ситуацией, состояние Опасности.</p>
  <p>4.   Назначьте каждому человеку, имеющему отношение к данному состоянию Опасности, личное состояние Опасности, заставьте каждого следовать соответствующей формуле и добейтесь, чтобы эта формула была полностью выполнена. А если они этого не делают, проведите полное этическое расследование и предпримите все необходимые действия.</p>
  <p>5.   Реорганизуйте данную деятельность так, чтобы эта ситуация не повторялась.</p>
  <p>6.   Предложите твёрдое правило, которое будет в дальнейшем выявлять и/или предотвращать повторение этого состояния.</p>
  <p>Старший руководитель, находящийся в данной области, действует, причём действует согласно вышеизложенной формуле.</p>
  <h3><strong><em>Формула Опасности для личного состояния</em></strong></h3>
  <p>Для личного использования эта формула принимает следующий вид:</p>
  <p>1.   Обойдите привычки или установившуюся практику.</p>
  <p>2.   Справьтесь с ситуацией и любой опасностью в ней.</p>
  <p>3.   Назначьте себе состояние Опасности.</p>
  <p>4.   Введите в действие вашу <em>собственную этику</em>, выяснив, что именно вы делаете неэтично, и используйте самодисциплину, чтобы исправить это и стать честным и порядочным.</p>
  <p>5.   Реорганизуйте свою жизнь так, чтобы эта опасная ситуация не возникала у вас постоянно.</p>
  <p>6.   Сформулируйте и примите твёрдое правило, которое позволит вам впоследствии выявлять подобные ситуации и предотвращать их повторное возникновение.</p>
  <p>Пример применения формулы Опасности для личного состояния:</p>
  <p>Шаг «обойдите привычки или установившуюся практику» значит прекратить делать всю ту ерунду, что вы делали.</p>
  <p>Скажем, один парень брал деньги у своего дяди и говорил, что покупает на них дом, а сам тратил их на одну блондинку. Теперь он в постоянной опасности. Его дядя в любой момент может обнаружить это, а поскольку парень надеется когда-нибудь унаследовать дядино состояние, он близок к панике. Даже если он об этом не думает, это состояние всё же присутствует.</p>
  <p>Теперь, «справьтесь с ситуацией и любой опасностью в ней» — здесь стоит найти её причину. В данном случае она заключается в том, что парень сделал что-то, о чём не рассказывает, и он с кем-то связан, и всё это довольно странно, и он может в любой момент попасться. Ну хорошо, ему придётся прекратить делать это — обойти привычки или установившуюся практику, существовавшую в данном случае. Другими словами, прекратить принимать те деньги.</p>
  <p>Ему нужно также справиться с ситуацией и любой опасностью в ней. Было бы очень опасно написать: «Дорогой дядя Джордж, все деньги, которые ты посылал мне в последние полтора года на покупку дома, я тратил на блондинку по прозвищу Мотылёк». Он должен будет придумать, как уладить это, чтобы в этом не было опасности. И, возможно, ему придётся хорошенько подумать.</p>
  <p>Если бы он просто явился к дяде и сказал: «Дядя Джордж, я тебя обманывал. Я растрачивал все твои деньги», возможно, это было бы таким шоком для дяди Джорджа, что он бы лишил его наследства, пристрелил и тому подобное, это на самом деле было бы опасным. Поэтому ему придётся придумать, как с этим справиться. Он мог бы просто сказать: «Дорогой дядя Джордж, недавно я получал саентологический процессинг и стал более честным человеком. В моей жизни было много нечестных поступков, и вот один из них. Так вот, вероятно, ты пристрелишь меня за то, что я это сделал, но на самом деле я тратил эти деньги на жизнь, и это несправедливо по отношению к тебе…»</p>
  <p>Следующий шаг — «Назначьте себе состояние Опасности». Этот шаг здесь только потому, что люди забывают это сделать. А затем «введите в действие вашу <em>собственную этику</em>, выяснив, что именно вы делаете неэтично, и используйте самодисциплину, чтобы исправить это и стать честным и порядочным». Так вот, могут быть какие-нибудь другие «дяди Джорджи», и ему всё ещё нужно уладить ситуацию с этой блондинкой по прозвищу Мотылёк. Хотя он и уладил ситуацию с дядей, может быть что-то ещё.</p>
  <p>Следующий шаг — «Реорганизуйте свою жизнь так, чтобы эта опасная ситуация не возникала у вас постоянно». Ну, в этом предполагаемом случае с дядей Джорджем это несложно. Нужно просто прекратить связь с той блондинкой и, вместо того чтобы не спать по ночам, действительно поспать, заняться своей работой и достигнуть чего-нибудь. Это и будет реорганизацией.</p>
  <p>Следующий шаг — «Сформулируйте и примите твёрдое правило, которое позволит вам впоследствии выявлять подобные ситуации и предотвращать их повторное возникновение». Другими словами, «Я не буду лгать, чтобы получить деньги» — или что-то в этом роде. Это всё, что человеку нужно будет решить. Это похоже на новогодние обещания. Но люди затем не выполняют их потому, что они не сделали первые пять шагов. Вот почему новогодние обещания не выполняются. На самом деле в этот момент вы просите парня измениться.</p>
  <h3><strong><em>Формула Опасности для подчинённого</em></strong></h3>
  <p>Если состояние Опасности назначается подчинённому, потребуйте, чтобы он (или все, кто работает в данной области) выписал свои оверты и висхолды, а также написал обо всех известных ему неэтичных ситуациях и сдал это всё к установленному сроку — с условием, что в таком случае взыскание за это будет снижено, но если что-то будет выявлено после установленного срока, то взыскание будет удвоено.</p>
  <p>Вредоносное действие или проступок, нарушающий моральный кодекс группы, называется « овертом». Когда человек делает что-то, противоречащее моральному кодексу, с которым он ранее согласился, или когда он не делает чего-то, что ему следовало бы сделать согласно этому моральному кодексу, он совершает оверт. Оверт нарушает достигнутое ранее соглашение.</p>
  <p>Невысказанное, неразглашённое нарушение морального кодекса, который человек был обязан соблюдать, называется «висхолдом». Висхолд — это совершённый человеком оверт, о котором он не рассказывает. Это то, что, по убеждению человека, поставит под угрозу его безопасность, если будет раскрыто. Любой висхолд следует <em>после</em> оверта.</p>
  <p>Полностью процедура выписывания овертов и висхолдов описана в курсе «Целостность и честность».</p>
  <p>После того как выписывание будет выполнено, потребуйте, чтобы все подчинённые и сотрудники, в обход которых пришлось действовать и чью работу пришлось выполнять или постоянно исправлять, написали для себя и полностью выполнили <em>формулу Опасности для личного состояния </em>и сдали написанное.</p>
  <p>Когда производство снова увеличится, следует официально объявить о завершении состояния Опасности, назначить состояние Чрезвычайного положения и следовать формуле этого состояния.</p>
  <h3><strong><em>Состояние Чрезвычайного положения</em></strong></h3>
  <p>Это эмпирический (полученный и доказанный в результате наблюдений) факт: ничто не остаётся навсегда точно т��ким же, каким оно было. Такое состояние чуждо этой вселенной. Всё либо растёт, либо уменьшается. Похоже, невозможно поддерживать равновесие или стабильность.</p>
  <p>Таким образом, всё либо расширяется, либо сокращается. В этой вселенной ничто не остаётся на прежнем уровне. Более того, когда что-то стремится оставаться на прежнем уровне и быть неизменным, оно сокращается.</p>
  <p>Таким образом, мы имеем три действия, и только три. Первое — расширение, второе — попытка оставаться на прежнем уровне или неизменным и третье — сокращение или уменьшение.</p>
  <p>Поскольку в этой вселенной ничто не может оставаться точно таким же, каким оно было, второе действие (сохранение на прежнем уровне) перейдёт в третье (уменьшение), если этому не помешает или если на это не повлияет какая-то внешняя сила. Поэтому второе и третье действие (сохранение на прежнем уровне и уменьшение) имеют сходный потенциал и оба приведут к уменьшению.</p>
  <p>Расширение в итоге остаётся единственным конструктивным действием, которое обычно гарантирует выживание.</p>
  <p>Следовательно, для того чтобы выживать, человек должен стремиться к расширению как к единственному безопасному состоянию деятельности.</p>
  <p>Если что-то остаётся на прежнем уровне, то обычно это становится меньше. Если что-то становится меньше, то и шансы этого на выживание уменьшаются.</p>
  <p>Следовательно, остался только один шанс и как для организации, так и для индивидуума этот шанс — расширение.</p>
  <p>Чтобы расшириться в такой ситуации, нужно применить формулу состояния Чрезвычайного положения.</p>
  <p>Состояние Чрезвычайного положения используется в следующих случаях:</p>
  <p>1.   Когда статистика организации, или её структурного подразделения, или отдела, или человека <em>понижается.</em></p>
  <p>2.   Когда статистика организации, или её структурного подразделения, или человека <em>не изменяется.</em></p>
  <p>Формула состояния Чрезвычайного положения такова:</p>
  <p>1.   Продвигайте. Это относится к организации. Человеку лучше сказать «производи». Это первое действие, независимо от того, каковы другие действия, независимо ни от чего; это первое, на что необходимо обратить внимание.</p>
  <p>Что же в точности значит слово «продвижение»? Что ж, посмотрите в словаре. Это значит «делать что-либо известным; выпускать что-то». Это значит «заявлять о себе; выпускать свою продукцию».</p>
  <p>2.   Измените свой образ действий. Если вы, например, оказавшись в состоянии Чрезвычайного положения, не изменили что-нибудь после продвижения, вы не изменили ничего в образе действий, ну, вас просто ждёт ещё одно состояние Чрезвычайного положения. Следовательно, этот шаг должен быть частью формулы. Вам лучше изменить свой образ действий, потому что он привёл вас в состояние Чрезвычайного положения.</p>
  <p>3.   Экономьте.</p>
  <p>4.   Приготовьтесь предоставлять.</p>
  <p>5.   Укрепите дисциплину. Формула состояния Чрезвычайного положения содержит такую маленькую строчку: «Вы должны укрепить дисциплину» или «Вы должны укрепить этику».</p>
  <p>Для человека это будет просто означать: не ходите в бар каждую пятницу вечером. Укрепите дисциплину. Останьтесь дома и допоздна корпите над своей работой. Займитесь работой и так далее. Работайте чуть более упорядоченно, работайте немного интенсивнее, не допускайте так много глупых промахов, не делайте так много ошибок. Всё это будет укреплением дисциплины.</p>
  <p>Рассмотрим, как это применимо к организации. Предположим, что какая-то часть организации не выходит из Чрезвычайного положения, когда ей назначено это состояние. Независимо от того, что привело к Чрезвычайному положению, предположим, что, хотя какому-то подразделению было назначено Чрезвычайное положение, оно просто не выходит из Чрезвычайного положения. Сотрудники получили указание «выполнять формулу», им велели «действовать попроворнее» и «привести дела в порядок», но, несмотря на это, выясняется, что они всё ещё валяют дурака и статистика продолжает идти вниз. Что же вам делать? Осталось только одно, и это дисциплинарные меры, потому что жизнь сама применит их к человеку.</p>
  <p>Так что правило игры здесь такое: если Чрезвычайное положение было проигнорировано и шаги формулы не были успешно выполнены («не были успешно выполнены» отличается от «не были выполнены»), тогда вам объявляют, что состояние остаётся в силе. И если состояние не меняется дольше установленного периода времени, то надо переходить к этическим мерам. Ведь как иначе вы сможете привести эту часть организации в порядок? Должно быть, кто-то допускает очень грубые промахи, блокируя большую часть коммуникационных линий. Это связано с какими-то этическими проблемами: кто-то не желает выполнять свои функции; кто-то так жмёт на тормоза, что вы чувствуете запах палёной резины. Надо переходить к этическим мерам.</p>
  <h3><strong><em>Состояние Нормальной деятельности</em></strong></h3>
  <p>Мы могли бы назвать состояние Нормальной деятельности «состоянием стабильности», и, вероятно, его следовало бы назвать состоянием стабильности, если бы не один нюанс: «Эта вселенная не допускает статичного состояния, при котором нет ни увеличения, ни уменьшения — совершенно стабильного состояния». Ничего подобного не существует во всей этой вселенной, ни в одном её уголке. Не существует ничего, что всегда оставалось бы неизменным».</p>
  <p>Таким образом, состояние Нормальной деятельности — это не состояние «стабильности», так как оно не может быть просто стабильным. При Нормальной деятельности должен происходить устойчивый, постепенный рост. Должен быть регулярный, устойчивый, постепенный рост. И если нет постепенного роста, не будет никакого состояния стабильности. Не бывает абсолютно неизменного состояния существования, которое в конце концов не закончилось бы крахом. Как только в этой вселенной возникает такое неизменное состояние, оно тут же начинает ухудшаться. Поэтому состояние стабильности в конце концов превратится в менее желательное состояние. Что ж, чтобы этого не произошло, у вас должно быть расширение, должен быть рост. Расширение не обязательно должно быть очень уж впечатляющим, но оно должно иметь место. Вы должны хоть чуть-чуть расширяться.</p>
  <p>Формула состояния Нормальной деятельности:</p>
  <p>1.   Ничего не меняйте. Когда вы находитесь в состоянии Нормальной деятельности, вы поддерживаете увеличение тем, что ничего не меняете.</p>
  <p>2.   Этика очень мягкая. Правосудие весьма мягкое и разумное. Не принимается никаких особо жёстких мер.</p>
  <p>3.   Всякий раз, когда статистика улучшается, тщательно изучите её и выясните, <em>что</em> её улучшило. И затем делайте это, не прекращая делать то, что вы делали раньше. Это единственное, что вы меняете.</p>
  <p>4.   Каждый раз, когда статистика слегка ухудшается, быстро выясните <em>причину</em> и примите меры.</p>
  <p>И вы просто маневрируете с учётом этих двух факторов: улучшения статистики и ухудшения статистики. Что-то было изменено. Вам лучше поскорее устранить это изменение. А когда вы обнаруживаете, что статистика улучшается, обязательно выясните, <em>почему</em> она улучшается.</p>
  <h3><strong><em>Состояние Изобилия</em></strong></h3>
  <p>Когда линия на графике статистики идёт круто вверх — это Изобилие. Неважно, идёт ли она круто вверх одну неделю или же она идёт круто вверх по сравнению с последней точкой неделю за неделей, — это Изобилие.</p>
  <p>Когда у вас Изобилие — независимо от того, как вы его достигли, — применяется формула Изобилия.</p>
  <p>Вы <em>должны</em> применять формулу состояния Изобилия, или у вас будут неприятности. Каждый, кто имеет дело с Изобилием, должен знать следующие особенности этого состояния.</p>
  <p>Изобилие — это самое капризное состояние из всех. Ошибитесь при его определении или проходите его не в соответствии с формулой, и оно может убить вас! Это, как ни странно, самое опасное из всех состояний, поскольку, если вы не распознаете его и не примените формулу, от вас останется только мокрое место! Распознайте его точно и проходите его правильно — и вы наберёте космическую скорость.</p>
  <p>Формула состояния Изобилия:</p>
  <p>1.   Экономьте. Первое, что вы должны делать, находясь в Изобилии, — это экономить. И ни в коем случае не покупайте ничего, с чем связаны обязательства будущих выплат. Не покупайте ничего, с чем связаны обязательства на будущее, не нанимайте никого, если это связано с обязательствами на будущее, — ничего такого. Всё это входит в понятие «экономия». Установите строгий контроль.</p>
  <p>2.   Оплатите все счета. Соберите все-все счета, которые вы только сможете отыскать, вспомните каждую копейку, которую вы задолжали кому бы то ни было на белом свете, и расплатитесь. Выплачивайте все свои долги, пока не уменьшите их почти до нуля, насколько это в ваших силах, или совсем до нуля.</p>
  <p>3.   Вложите оставшиеся деньги в средства производства; расширьте свои возможности для предоставления.</p>
  <p>4.   Выясните, <em>что</em> вызвало состояние Изобилия, и укрепите это.</p>
  <h3><strong><em>Формула состояния Изобилия, относящаяся к действиям:</em></strong></h3>
  <p>Когда состояние Изобилия основано на статистике чьих-либо действий и не относится к финансам, применяется следующая формула.</p>
  <p>1.   <em>Экономьте</em> на всяких ненужных и беспорядочных действиях, которые не были частью того, что привело вас к Изобилию. Экономьте финансы, прекращая все <em>пустые траты</em>.</p>
  <p>2.   Каждое ваше действие должно быть ценным, не выполняйте никаких бесполезных действий. Каждое новое действие должно вносить вклад в дело, и это должно быть действие такого же типа, как те, которые <em>внесли</em> вклад.</p>
  <p>3.   Укрепите все свои достижения. Везде, где вы чего-то достигли, вы сохраняете эти достижения. Не допускайте никаких ослаблений в вашей деятельности, не позволяйте, чтобы дела пошли на спад или чтобы начались «американские горки». Сохраняйте и поддерживайте любое достижение, любое достижение, любое преимущество.</p>
  <p>4.   Выясните для себя, что<em> вызвало</em> состояние Изобилия в той области, которая имеет к вам непосредственное отношение, и укрепите это.</p>
  <h3><strong><em>Состояние Могущества</em></strong></h3>
  <p>Статистика состояния Могущества — это статистика на очень высоком уровне; это совершенно новый уровень статистики, имеющей тренд Нормальной деятельности.</p>
  <p>Статистика Могущества — это не просто такая статистика, которая идёт круто вверх в течение долгого времени. И это не просто очень высокая статистика. Могущество — это не что-то, продолжающееся одну неделю. Могущество — это <em>тренд.</em></p>
  <p>Определение: <em>Могущество</em> — это состояние Нормальной деятельности на необычайно высоком уровне, настолько высоком, что здесь мы имеем дело с количеством чего-либо, намного превышающим достаточный уровень — вне всяких сомнений. Это статистика, которая поднялась на совершенно новый, невероятно высокий уровень и держится на нём, и теперь — на этом новом высоком уровне — она имеет тренд Нормальной деятельности.</p>
  <p>На этом новом уровне у вас время от времени могут происходить небольшие падения статистики. Но это всё равно Могущество.</p>
  <p>Существует ещё одно важное данное, позволяющее правильно распознать и понять это состояние:</p>
  <p>Почему мы называем это Могуществом?</p>
  <p><em>В этом состоянии продукт производится в объёме, настолько превышающем достаточный уровень, что кратковременные остановки или спады не могут снизить этот уровень производства или угрожать выживанию.</em></p>
  <p><em>Это </em>и есть <em>Могущество</em>.</p>
  <p>Можно задаться вопросом: «Сколько работы может выполнить один человек?» или «Сколько кирпичей в день может уложить один человек?»</p>
  <p>Конечно, человек может работать лишь определённое количество часов в день. Он может самостоятельно произвести лишь определённое количество продукта за день. Но он может производить достаточное количество продукта в день для того, чтобы обеспечить себя. Он может увеличить количество производимого им продукта до уровня, настолько превышающего достаточный, что у него останется свободным некоторое время. Это зависит от его эффективности и сообразительности.</p>
  <p>В определённый момент, достигнув максимального Изобилия, он достигнет наивысшего уровня в том, сколько кирпичей он может уложить. Повышая своё мастерство и эффективность, он может поддерживать производство на этом уровне в состоянии Нормальной деятельности.</p>
  <p>Если он кладёт столько кирпичей, что никто никогда даже не подумает о его увольнении, то он в состоянии Могущества. Это состояние Могущества для отдельного человека.</p>
  <p>Формула состояния Могущества:   1.   Не разрывайте связей. Первый закон состояния Могущества — <em>не разрывайте связей. </em>Это будет катастрофой и для вас, и для других.</p>
  <p>Вы обнаружите, что люди ноют и жалуются по этом�� поводу. Как насчёт каког��-нибудь важного человека? Вот, например, мальчишка, который вырос в каком-нибудь маленьком городке и неожиданно становится важным человеком. Он становится очень влиятельным на Уолл-стрит и больше не разговаривает ни с одним из своих друзей в родном городке. Это настолько обижает людей, что с ними практически невозможно разговаривать. То есть, если вас очень хорошо знали в каком-нибудь месте и вы неожиданно становитесь, можно сказать, знаменитостью или кем-то в этом роде, эти люди не поверят, что вы хотите с ними разговаривать. Они уже привыкли к тому, что эта формула нарушается. Понимаете? Другими словами, существа в этой вселенной абсолютно уверены, что вы будете нарушать первый пункт формулы состояния Могущества, то есть будете разрывать связи. Они думают, что вы разорвёте связи.</p>
  <p>Нет! Могущество! Положение Могущества! Не разрывайте связей. Даже если вас произвели из полковников в генералы, не будьте полным идиотом — не думайте, что вы можете полностью разорвать связь с вашим полком. Ведь единственный способ сделать так, что вы не сможете разорвать связь с полком, — это <em>разорвать</em> с ним связь. Вы не можете просто отказаться от своих связей. Вам нужно признать, что эти связи <em>ваши</em>, и взять на себя <em>ответственность</em>за них.</p>
  <p>2.   Составьте описание своей должности.</p>
  <p>Так вот, состояние Могущества — это когда человек оказывается в состоянии Могущества или когда организация оказывается в состоянии Могущества. А состояние Смены Власти (или Смены Могущества) состоит на самом деле в том, что человек принимает должность, находившуюся в состоянии Могущества. Вы улавливаете разницу? Вы принимаете дела у Билла, который находился в состоянии Могущества. Так вот, когда он уходит, разрывает связи, тот, кто пришёл вместо него, оказывается в состоянии Смены Власти. И первое, что надо сделать человеку, переходящему на новый уровень Власти, или Могущества, — это описать все линии, относящиеся к его должности. Для него это единственный способ разорвать связи. А последующее принятие состояния Могущества — Смена Власти — подчиняется собственной формуле.</p>
  <p>Вот, например, как это применяется в большом и в малом. Предположим, что вы были очень-очень успешным секретарём приёмной в организации и достигли таких успехов, что вас сделали регистратором. Что ж, на самом деле это переход на новый уровень Власти, или Могущества. Так вот, если вы не составляете полного описания своей должности, то вы не даёте человеку, который сменит вас на этой должности, применять формулу состояния Смены Власти.</p>
  <p>Так что первое, что надо сделать в состоянии Могущества, — это составить полное описание своей должности. Вы обнаружите, что если вы не сделаете этого, то на веки вечные останетесь привязанными к какой-то части своей должности. И годом позже или около того кто-нибудь всё ещё будет приходить к вам с вопросами по поводу той должности, которую вы занимали, потому что вы не составили её описания. Так что, составив описание своего поста, вы даёте возможность своему преемнику выполнить формулу состояния Смены Власти (то есть <em>ничего не менять</em>), потому что вы объяснили, что там уже есть, так что теперь он знает, чего <em>не надо</em> менять. Но если вы не составили описания должности, тогда он может внести какие-то изменения. И это самый верный способ оказаться приклеенным к какой-нибудь прежней должности, которую вы занимали, и никогда от неё не отделаться. И вы скажете: «Эти новые сотрудницы, которые стали секретарями приёмной, — от них никакого толку, и им на всё наплевать». Так вот, прежде чем мы станем слишком критичными, давайте-ка проверим. Мы когда-нибудь составляли описание этой должности? Ушли ли мы с этой должности по-настоящему? Оставили ли мы её в том состоянии, в котором её можно было оставить? А потом, уйдя с этой должности, что мы делали: просто не замечали её существования или же время от времени, проходя мимо, спрашивали человека: «Как дела?»</p>
  <p>Никаких внезапных разрывов связей. Вот к чему всё это на самом деле сводится. Не разрывайте связей. Ответственность заключается в том, чтобы всё описать и вручить тому парню, который теперь будет заботиться об этом. Теперь, если тот парень не возьмёт на себя заботу об этом, то это его трак, а не ваш.</p>
  <p>Сделайте всё, что можете, чтобы эту должность можно было занять. Рано или поздно кто-нибудь придёт и действительно займёт его.</p>
  <h3><strong><em>Состояние Смены Власти</em></strong></h3>
  <p>Существует только два обстоятельства, которые требуют смены человека на должности: большой успех или большая неудача.</p>
  <p>Что за везение — унаследовать кресло человека, который достиг успеха! Это просто песня! Это пара пустяков. Просто садитесь в него и ничего больше не делайте. Люди почему-то считают это предосудительным. Предполагается, что вы начнёте «делать всё по-своему». Предполагается, что вы «внесёте в работу свою индивидуальность». Нет! Садитесь в это кресло и ничего не делайте. Если пост находился в состоянии Нормальной деятельности (а скорее всего, так оно и было, поскольку кто-то был продвинут на более высокую должность), вы просто ничего не меняете.</p>
  <p>Смена Власти: <em>ничего не меняйте</em>.</p>
  <p>Вы просто сидите некоторое время. На вас тут же начинают оказывать давление, чтобы вы сделали что-то для кого-нибудь. На вашего предшественника оказывали такое же давление, но он, должно быть, успешно ему сопротивлялся, раз уж оно продолжается. Смотрите? Так что если кто-то хочет, чтобы вы подписали что-то, что ваш предшественник не подписывал, — не подписывайте. Это правило легко соблюдать, не так ли? Это, безусловно, самое большое раздолье для лентяя, какое только возможно. И единственный способ оставаться в этом кресле — полное безделье. <em>Ничего не делайте!</em></p>
  <p>Глядите в оба, знакомьтесь со всеми хитростями работы, и через какое-то время (в зависимости от размера организации) вы поймёте, как здесь всё устроено, и тогда управляйте делами в соответствии с формулой Нормальной деятельности. Если организация находится в состоянии Нормальной деятельности, а не в каком-то другом состоянии, просто применяйте формулу Нормальной деятельности. Помимо выполнения своих каждодневных обязанностей ходите по организации, суйте свой нос во все щели и выясняйте, из-за чего произошло небольшое улучшение на той неделе, и усиливайте это. И выясняйте, из-за чего произошло небольшое ухудшение, и устраняйте причину этого — вот таким образом просто вынюхивайте всё вокруг. К этому времени вы так хорошо познакомитесь со всей деятельностью, что будете знать всех по именам и фамилиям, вы будете знать и то, и сё, и пятое-десятое, вы будете знать, где находятся все бумаги, и вы будете знать любимые хитрости подчинённых, вы увидите, как всё это происходит, и, откровенно говоря, статистика будет просто продолжать расти. Деятельность будет развиваться очень успешно.</p>
  <p>В точности следуйте тому же заведённому ежедневному распорядку, которому следовал ваш предшественник; не подписывайте ничего, что не подписал бы он; не меняйте ни единого приказа. Просмотрите выпущенные директивы — они до сих пор в силе — и просто добивайтесь их выполнения с дьявольским упорством, и производство в вашей области будет расти, расти, расти и расти.</p>
  <p>Изучайте свою организацию, оргполитику, линии, образ действий и саму деятельность и <em>не издавайте никаких приказов</em>, которые выходят за рамки установленного порядка работы, — ничего не меняйте, не допускайте никаких нововведений. Составьте полное описание должности, которую вы только что оставили. На той должности, которую вы только что приняли, главным образом наблюдайте. Изучите новую должность, прежде чем что-либо предпринимать на ней.</p>
  <p>На <em>новый</em> пост или на пост, который был развален, человек встаёт в состоянии Несуществования. <em>Однако</em>, принимая на себя управление хорошо функционирующей областью, человек выполняет формулу Смены Власти.</p>
  <p>Формула состояния Смены Власти:</p>
  <p>Когда вы принимаете новый пост, не меняйте ничего до тех пор, пока как следует не ознакомитесь с той сферой, на которую теперь распространяется ваша власть.</p>
  <h3><strong><em>Формула исправления неправильно выполняемой Смены Власти</em></strong></h3>
  <p>Неправильно выполняемая формула Смены Власти может вызвать состояние Опасности.</p>
  <p>Примером этого являются некоторые перемещения, которые были произведены, чтобы сформировать руководство нескольких организаций.</p>
  <p>Формула исправления неправильно выполняемой Смены Власти</p>
  <p>1.   Понаблюдайте за областью, которую вы контролируете, расспросите людей и составьте список того, что прежде было успешным.</p>
  <p>2.   Понаблюдайте за своей областью и составьте список всего того, что в прошлом не приводило в ней к успеху.</p>
  <p>3.   <em>Внедрите</em> успешные действия.</p>
  <p>4.   Отбросьте неудачные действия.</p>
  <p>5.   Прекратите лихорадочные попытки «справляться» или защищаться.</p>
  <p>6.   Вернитесь к работающей структуре, делая это с умом.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@brothercash/Sykoo1v44</guid><link>https://teletype.in/@brothercash/Sykoo1v44?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash</link><comments>https://teletype.in/@brothercash/Sykoo1v44?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash#comments</comments><dc:creator>brothercash</dc:creator><title>Как получить мои настройки Sublime Text 3</title><pubDate>Tue, 05 Feb 2019 10:55:19 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/da/dae4ce62-a362-4ba2-bd6d-06a6e692936f.png"></media:content><description><![CDATA[<img src="https://cdn-images-1.medium.com/max/1000/1*_nwe5iLJpCzvg1PdZ0Tt1w.jpeg"></img>Студентам и интересующимся]]></description><content:encoded><![CDATA[
  <hr />
  <p>Студентам и интересующимся</p>
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/1000/1*_nwe5iLJpCzvg1PdZ0Tt1w.jpeg" width="1000" />
  </figure>
  <p>Для Sublime Text 3 есть плагин синхронизации настроек <a href="https://packagecontrol.io/packages/Sync%20Settings" target="_blank">Sync Settings</a>, который сохраняет настройки в gist и позволяет синхронизировать через такой gist настройки ST3 на разных компьютерах. Синхронизируются файлы из папки пользователя, которые можно посмотреть, вызвав из выпадающего меню: Preferences → Browse Packages (откроется файловый менеджер, будет видна папка User — это и есть папка пользователя).</p>
  <h3>Чтобы получить мои настройки, нужно:</h3>
  <h3>1. Установить Package Control</h3>
  <p>Смотрите выпадающее меню Preferences, если есть пункты Package Control — пропускайте шаг.</p>
  <p><a href="https://packagecontrol.io/installation" target="_blank">Установка Package Control</a> элементарна.</p>
  <h3>2. Установить Sync Settings</h3>
  <p>Как и с любым другим плагином:</p>
  <ul>
    <li>Ctrl+Shift+P, набираем install, вызываем пункт Package Control: Install Package,</li>
    <li>ждем появления модального окна со списком доступных плагинов,</li>
    <li>набираем Sync Settings и выбираем пункт с ним.</li>
  </ul>
  <h3>3. <a href="https://github.com/settings/tokens/new" target="_blank">Генерируем новый токен</a></h3>
  <p>Нужна регистрация на <a href="https://github.com/" target="_blank">github.com</a> (этобесплатноБЕЗСМС). Имя токена — что-то вроде «ST3 sync settings», права — работа с gist (ставим галочку рядом с пунктом «gist»).</p>
  <h3>4. Форкаем мои настройки</h3>
  <p>Переходим к <a href="https://gist.github.com/BrotherCash/c42616451fe9f8534b5cfd23195265e8" target="_blank">gist-у с моими настройками</a> и жмем кнопку Fork , чтобы у вас появилась их копия.</p>
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/800/0*RjCUaS51W2JgN49W" width="297" />
  </figure>
  <h3>5. Настроим ваш Sync Settings</h3>
  <p>Идем в Preferences → Package Settings → Sync Settings → Settings — Default, выделяем всё и копируем в буфер.</p>
  <p>Идем в Preferences → Package Settings → Sync Settings → Settings — User, вставляем из буфера.</p>
  <p>Заполняем поля “access_token” (вы генерировали его раньше, копипастим) и “gist_id” (это конечная часть URL-а вашего gist-а с настройками, примерно такая: c42616451fe9f8534b5cfd23195265e8).</p>
  <h3>6. Стянем настройки</h3>
  <p>Ctrl+Shift+P, находим и вызываем пункт Sync Settings: Download, ждем некоторое время (на быстром канале — в пределах 2-х минут) пока скачаются настройки и установятся все плагины.</p>
  <h3>Как пользоваться</h3>
  <ol>
    <li>Пройтись по настройкам, поменять что-то для себя</li>
    <li>Посмотреть какие плагины стоят, возможно, добавить свои.</li>
  </ol>
  <p>После изменений отправить свой настройки в свой гист: Ctrl+Shift+P, находим и вызываем пункт Sync Settings: Upload.</p>
  <hr />

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@brothercash/B1h_91vEN</guid><link>https://teletype.in/@brothercash/B1h_91vEN?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash</link><comments>https://teletype.in/@brothercash/B1h_91vEN?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash#comments</comments><dc:creator>brothercash</dc:creator><title>Стек правил, применительно к учебнику “Английский язык для детей” В. Скультэ</title><pubDate>Tue, 05 Feb 2019 10:50:27 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/56/5661e0a9-cead-4983-b5e8-defce9ac032d.png"></media:content><description><![CDATA[<img src="https://cdn-images-1.medium.com/max/1000/1*S22urb_abmo2mrUdUppy7g.jpeg"></img>http://bomba.co/luchshaya-shpargalka-po-anglijskomu-yazyku/?fb_ref=group_post]]></description><content:encoded><![CDATA[
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/1000/1*S22urb_abmo2mrUdUppy7g.jpeg" width="1000" />
  </figure>
  <ul>
    <li><strong><em>ШПАРГАЛКА ПО ВСЕМ ТРУДНОСТЯМ АНГЛИЙСКОГО ЯЗЫКА </em></strong></li>
  </ul>
  <p><a href="http://bomba.co/luchshaya-shpargalka-po-anglijskomu-yazyku/?fb_ref=group_post" target="_blank">http://bomba.co/luchshaya-shpargalka-po-anglijskomu-yazyku/?fb_ref=group_post</a></p>
  <ul>
    <li><strong><em>Множественное число существительных в английском языке </em></strong></li>
  </ul>
  <p><a href="https://www.native-english.ru/grammar/english-nouns-plural" target="_blank">https://www.native-english.ru/grammar/english-nouns-plural</a></p>
  <ul>
    <li><strong><em>Артикли в английском языке </em></strong></li>
  </ul>
  <p><a href="https://www.native-english.ru/grammar/english-articles" target="_blank">https://www.native-english.ru/grammar/english-articles</a></p>
  <ul>
    <li><strong><em>Have и have got: различия, использование, формы</em></strong></li>
  </ul>
  <p><a href="https://enginform.com/article/have-i-have-got-razlichiya-ispolzovanie-formi" target="_blank">https://enginform.com/article/have-i-have-got-razlichiya-ispolzovanie-formi</a></p>
  <ul>
    <li><strong><em>Как составить английское вопросительное предложение </em></strong><a href="https://englishfull.ru/grammatika/voprositelnie-predlozheniya.html" target="_blank">https://englishfull.ru/grammatika/voprositelnie-predlozheniya.html</a></li>
    <li><strong><em>Отрицательные предложения в английском языке </em></strong></li>
  </ul>
  <p><a href="http://www.correctenglish.ru/theory/grammar/negative-structures/" target="_blank">http://www.correctenglish.ru/theory/grammar/negative-structures/</a></p>
  <ul>
    <li><strong><em>Good и Well</em>: правила употребления, перевод, пример, отличие, разница в значении </strong></li>
  </ul>
  <p><a href="http://www.correctenglish.ru/mistakes/vocabulary/good-well/" target="_blank">http://www.correctenglish.ru/mistakes/vocabulary/good-well/</a></p>
  <ul>
    <li><strong><em>Can или May?</em> / Can versus May </strong></li>
  </ul>
  <p><a href="https://www.englishelp.ru/learn-english/articles-for-learners/187-can-versus-may.html" target="_blank">https://www.englishelp.ru/learn-english/articles-for-learners/187-can-versus-may.html</a></p>
  <ul>
    <li><strong><em>Местоимения some, any, no </em></strong></li>
  </ul>
  <p><a href="https://englsecrets.ru/anglijskij-dlya-nachinayushhix/mestoimeniya-some-any-no.html" target="_blank">https://englsecrets.ru/anglijskij-dlya-nachinayushhix/mestoimeniya-some-any-no.html</a></p>
  <ul>
    <li><strong><em>Употребление some, any, no в английском языке </em></strong></li>
  </ul>
  <p><a href="http://engblog.ru/some-any-no" target="_blank">http://engblog.ru/some-any-no</a></p>
  <ul>
    <li><strong><em>Конструкции there is и there are в английских предложениях. Правила употребления </em></strong></li>
  </ul>
  <p><a href="https://easyspeak.ru/blog/vsyo-o-grammatike/there-is-there-are-v-anglijscom-predlogenii" target="_blank">https://easyspeak.ru/blog/vsyo-o-grammatike/there-is-there-are-v-anglijscom-predlogenii</a></p>
  <ul>
    <li><strong><em>Правило Present Simple и Future Simple</em></strong></li>
  </ul>
  <p><a href="https://obrazovaka.ru/english/present-simple-i-future-simple-pravila-primery.html" target="_blank">https://obrazovaka.ru/english/present-simple-i-future-simple-pravila-primery.html</a></p>
  <ul>
    <li><strong><em>Времена группы Simple — The Future Simple Tense / Будущее простое время</em></strong></li>
  </ul>
  <p><a href="https://www.englishelp.ru/learn-english/grammar/24-the-future-simple-tense.html" target="_blank">https://www.englishelp.ru/learn-english/grammar/24-the-future-simple-tense.html</a></p>
  <ul>
    <li><strong><em>Степени сравнения прилагательных и наречий (Degrees of comparison) </em></strong></li>
  </ul>
  <p><a href="https://grammarway.com/ru/degrees-of-comparison" target="_blank">https://grammarway.com/ru/degrees-of-comparison</a></p>
  <ul>
    <li><strong><em>Атрибутивные словосочетания</em></strong></li>
  </ul>
  <p><a href="https://studfiles.net/preview/4533437/" target="_blank">https://studfiles.net/preview/4533437/</a></p>
  <ul>
    <li><strong><em>Притяжательный падеж существительных в английском языке</em></strong> (Possessive Case of Nouns)</li>
  </ul>
  <p><a href="http://study-english.info/noun-possessive-case.php" target="_blank">http://study-english.info/noun-possessive-case.php</a></p>
  <ul>
    <li><strong><em>Падежи существительных в английском языке </em></strong></li>
  </ul>
  <p><a href="https://www.native-english.ru/grammar/english-nouns-cases" target="_blank">https://www.native-english.ru/grammar/english-nouns-cases</a></p>
  <ul>
    <li><strong><em>Модальные глаголы Shall, Will </em></strong></li>
  </ul>
  <p><a href="https://www.native-english.ru/grammar/modal-verb-shall-will" target="_blank">https://www.native-english.ru/grammar/modal-verb-shall-will</a></p>
  <ul>
    <li><strong><em>Shall умер! Да здравствует только Will! </em></strong></li>
  </ul>
  <p><a href="http://www.study.ru/support/lib/note308.html" target="_blank">http://www.study.ru/support/lib/note308.html</a></p>
  <h2><strong><em>Update 20.12.2018 =======================</em></strong></h2>
  <ul>
    <li><strong><em>Past Simple — простое прошедшее время</em></strong></li>
  </ul>
  <p><a href="https://www.native-english.ru/grammar/past-simple" target="_blank">https://www.native-english.ru/grammar/past-simple</a></p>
  <ul>
    <li><strong><em>Сравнительная конструкция as… as (с примерами)</em></strong></li>
  </ul>
  <p><a href="https://enginform.com/article/sravnitelnaya-konstruktsiya-as-as" target="_blank">https://enginform.com/article/sravnitelnaya-konstruktsiya-as-as</a></p>
  <ul>
    <li><strong><em>Phrases with as … as … — Informal English</em></strong></li>
  </ul>
  <p><a href="https://www.englisch-hilfen.de/en/words/phrases_as_as.htm" target="_blank">https://www.englisch-hilfen.de/en/words/phrases_as_as.htm</a></p>
  <ul>
    <li><strong><em>Различные способы сказать “Зарабатывать на жизнь”</em></strong></li>
  </ul>
  <p><a href="https://wooordhunt.ru/word/%D0%B7%D0%B0%D1%80%D0%B0%D0%B1%D0%B0%D1%82%D1%8B%D0%B2%D0%B0%D1%82%D1%8C" target="_blank">https://wooordhunt.ru/word/%D0%B7%D0%B0%D1%80%D0%B0%D0%B1%D0%B0%D1%82%D1%8B%D0%B2%D0%B0%D1%82%D1%8C</a></p>
  <ul>
    <li><strong><em>В чем разница между older, oldest и elder, eldest?</em></strong></li>
  </ul>
  <p><a href="https://easyspeak.ru/blog/v-chem-raznica-mezhdu/v-chem-raznica-mezhdu-older-oldest-i-elder-eldest" target="_blank">https://easyspeak.ru/blog/v-chem-raznica-mezhdu/v-chem-raznica-mezhdu-older-oldest-i-elder-eldest</a></p>
  <ul>
    <li><strong><em>В чем разница между also, as well, too и either?</em></strong></li>
  </ul>
  <p><a href="https://easyspeak.ru/blog/v-chem-raznica-mezhdu/v-chem-raznica-mezhdu-also-as-well-too-i-either" target="_blank">https://easyspeak.ru/blog/v-chem-raznica-mezhdu/v-chem-raznica-mezhdu-also-as-well-too-i-either</a></p>
  <ul>
    <li><strong><em>Dinner или supper? Как называть правильно приемы пищи — </em></strong></li>
  </ul>
  <p><a href="http://www.study.ru/support/oh/39.html" target="_blank">http://www.study.ru/support/oh/39.html</a></p>
  <p><a href="http://english-da.ru/slovar/all-eat" target="_blank">http://english-da.ru/slovar/all-eat</a></p>
  <h2><strong><em>Update 21.12.2018 =======================</em></strong></h2>
  <ul>
    <li><strong><em>В чем разница между say, tell, speak и talk?</em></strong></li>
  </ul>
  <p><a href="https://easyspeak.ru/blog/v-chem-raznica-mezhdu/v-chem-raznica-mezhdu-say-tell-speak-i-talk" target="_blank">https://easyspeak.ru/blog/v-chem-raznica-mezhdu/v-chem-raznica-mezhdu-say-tell-speak-i-talk</a></p>
  <h2><strong><em>Update 24.12.2018 ======================</em></strong></h2>
  <ul>
    <li><strong><em>Артикли с географическими названиями</em></strong></li>
  </ul>
  <p><a href="http://www.dinternal.com.ua/grammar/articles/articles-4/" target="_blank">http://www.dinternal.com.ua/grammar/articles/articles-4/</a></p>
  <ul>
    <li><strong><em>Отличия смысла слов film, movie и cinema</em></strong></li>
  </ul>
  <p><a href="https://hinative.com/ru/questions/539022" target="_blank">https://hinative.com/ru/questions/539022</a></p>
  <ul>
    <li><strong><em>Порядок прилагательных в английском языке </em></strong></li>
  </ul>
  <p><a href="https://www.native-english.ru/grammar/adjectives-order" target="_blank">https://www.native-english.ru/grammar/adjectives-order</a></p>
  <ul>
    <li><strong><em>Притяжательные местоимения в английском языке</em></strong></li>
  </ul>
  <p><a href="https://www.native-english.ru/grammar/possessive-pronouns" target="_blank">https://www.native-english.ru/grammar/possessive-pronouns</a></p>
  <h2><strong><em>Update 27.12.2018 =======================</em></strong></h2>
  <ul>
    <li><strong><em>Особенности употребления прилагательных stout, fat, fleshy, plump</em></strong></li>
  </ul>
  <p><a href="https://www.native-english.ru/vocabulary/stout-fat-fleshy-plump" target="_blank">https://www.native-english.ru/vocabulary/stout-fat-fleshy-plump</a></p>
  <ul>
    <li><strong><em>Английские политически корректные слова и словосочетания с переводом на русский язык</em></strong></li>
  </ul>
  <p><a href="http://study-english.info/vocabulary-politically-correct.php" target="_blank">http://study-english.info/vocabulary-politically-correct.php</a></p>
  <h2><em>Update 28.01.2018 =======================</em></h2>
  <ul>
    <li><strong><em>Наречия частотности в английском языке</em></strong></li>
  </ul>
  <p><a href="https://situationalenglish.blogspot.com/2015/07/narechia-chastotnosti-anglijskii-yazyk.html" target="_blank">https://situationalenglish.blogspot.com/2015/07/narechia-chastotnosti-anglijskii-yazyk.html</a></p>
  <ul>
    <li><strong><em>Предлоги времени</em></strong></li>
  </ul>
  <p><a href="http://engblog.ru/prepositions-of-time" target="_blank">http://engblog.ru/prepositions-of-time</a></p>
  <h2><strong><em>Update 30.01.2018 ======================</em></strong></h2>
  <ul>
    <li><strong><em>Как сказать сколько времени на английском</em></strong></li>
  </ul>
  <p><a href="http://study-english.info/phrases-time.php" target="_blank">http://study-english.info/phrases-time.php</a></p>
  <ul>
    <li><strong><em>Разница в правописании между американским и британским английским</em></strong></li>
  </ul>
  <p><a href="http://www.correctenglish.ru/theory/writing/spelling-differences/" target="_blank">http://www.correctenglish.ru/theory/writing/spelling-differences/</a></p>
  <h2><strong><em>Update 11.02.2018 ======================</em></strong></h2>
  <ul>
    <li><strong><em>Сочетания AI, AY, AU, AW, OA, OI, OY, OU, OW</em></strong></li>
  </ul>
  <p><a href="https://englishsimple.ru/pronunciation/diphthongs/" target="_blank">https://englishsimple.ru/pronunciation/diphthongs/ </a></p>
  <ul>
    <li>Окончание -ish, добавленное к прилагательным цвета, означает легкость, слабую насыщенность</li>
  </ul>
  <p><strong><a href="https://www.babla.ru/%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/reddish" target="_blank">reddish</a><a href="https://www.babla.ru/%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/blueish" target="_blank">blueish</a><a href="https://www.babla.ru/%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/greenish" target="_blank">greenish</a></strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@brothercash/r1sHukw4N</guid><link>https://teletype.in/@brothercash/r1sHukw4N?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash</link><comments>https://teletype.in/@brothercash/r1sHukw4N?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=brothercash#comments</comments><dc:creator>brothercash</dc:creator><title>Изображения: размеры, пропорции, адаптация.</title><pubDate>Tue, 05 Feb 2019 10:41:06 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/3b/3bb82f40-e531-4af6-8c21-5425bd269e85.png"></media:content><description><![CDATA[<img src="https://cdn-images-1.medium.com/max/1000/0*Q9oTGH9n6QR_9lzI.jpg"></img>У любого изображения на странице есть два важных параметра — ширина и высота. Они присущи ему с момента создания, это его физические параметры. На основании этой пары формируется третий, не менее важный, параметр — соотношение сторон или пропорции изображения.]]></description><content:encoded><![CDATA[
  <hr />
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/1000/0*Q9oTGH9n6QR_9lzI.jpg" width="1000" />
  </figure>
  <p>У любого изображения на странице есть два важных параметра — ширина и высота. Они присущи ему с момента создания, это его физические параметры. На основании этой пары формируется третий, не менее важный, параметр — <strong><em>соотношение сторон</em></strong> или <strong><em>пропорции изображения</em></strong>.</p>
  <p><strong><em>Соотношение сторон</em></strong> представляет собой дробь — отношение ширины к высоте. Возьмем, к примеру, изображение или видеофайл с разрешением FullHD 1920x1080 точек. 1920/1080 — если упрощать эту дробь, то получим 16/9, стандартное кинематографическое соотношение сторон. У изображения (или видео) с физическим размером 1024x768 точек эта пропорция равна 4/3.</p>
  <h3>Изменение размера</h3>
  <p>Добавляя изображение на страницу, мы имеем возможность задать размеры для отображения. Эти размеры не связаны с фактическими размерами картинки и могут повлиять на ее вид в браузере.</p>
  <p>Ширину и высоту изображения можно менять как в меньшую, так и большую сторону. Однако на скорость загрузки рисунка это никак не влияет, поскольку размер файла остается неизменным. Поэтому с осторожностью уменьшайте изображение, т.к. это может вызвать недоумение у пользователя, отчего такой маленький рисунок так долго грузится. А вот увеличение размеров приводит к обратному эффекту — размер изображения велик, но файл относительно изображения аналогичного размера загружается быстрее. Увеличивать таким способом изображения можно только в особых случаях, поскольку сильно ухудшается качество картинки, вследствии эффекта <strong><em>интерполяции</em></strong>.</p>
  <h3>Интерполяция изображения</h3>
  <p>Суть интерполяции заключается в использовании имеющихся данных для получения ожидаемых значений в неизвестных точках. Интерполяция изображений работает в двух измерениях и пытается достичь наилучшего приближения в цвете и яркости пикселя, основываясь на значениях окружающих пикселей. Значения пикселей могут резко меняться от точки к точке. Чем больше вы знаете об окружающих пикселях, тем лучше сработает интерполяция. Вот почему результаты быстро ухудшаются по мере растягивания изображения, а кроме того, интерполяция никогда не сможет добавить изображению детальности, которой в нём нет.</p>
  <p>Грубо говоря — попытавшись растянуть картинку размером 100*100 пикселей до размера 150*150 пикселей, мы заставим браузер “досочинить” недостающие пиксели, примерно глядя на соседние. Результатом будет потеря качества изображения.</p>
  <h3>Искажение пропорций</h3>
  <pre>&lt;body&gt; 
    &lt;img src=&quot;images/redcat.jpg&quot; alt=&quot;Размеры не заданы&quot;&gt; 
    &lt;img src=&quot;images/redcat.jpg&quot; alt=&quot;Задана ширина&quot; width=&quot;400&quot;&gt; 
    &lt;img src=&quot;images/redcat.jpg&quot; alt=&quot;Задана ширина и высота&quot; width=&quot;400&quot; height=&quot;400&quot;&gt; 
&lt;/body&gt;
</pre>
  <p>В примере использовалась одна и та же фотография, для первого &lt;img&gt; размеры явно не указаны, поэтому браузер добавил изображение в исходном виде. Для второй фотографии указана ширина 400 пикселей, что привело к уменьшению её размеров при сохранении пропорций. Третья фотография искажена, поскольку задана одинаковая ширина и высота, при том, что исходное изображение не квадратное.</p>
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/800/0*dEGZhcm3rQ9AsmKG.png" width="800" />
  </figure>
  <p>Расчет пропорций</p>
  <p>Как изменить размер изображения не исказив его? Нужно учитывать пропорции и изменив, к примеру, ширину — высоту ставить не произвольную, а в том же соотношении к ширине, что и в исходных данных. Чтобы не считать вручную — можно воспользоваться онлайн калькулятором, которых множество — <a href="http://alittlebit.ru/tools/proportsii-izobrazheniya/" target="_blank">http://alittlebit.ru/tools/proportsii-izobrazheniya/</a> , <a href="https://ciox.ru/aspect-ratio" target="_blank">https://ciox.ru/aspect-ratio</a> , <a href="http://dimavolkov.ru/resize/index.html" target="_blank">http://dimavolkov.ru/resize/index.html</a> . Гуглятся по запросу “пропорции изображения калькулятор”.</p>
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/800/0*94SM_gAfGqCALBbu" width="504" />
  </figure>
  <h3>Изображение в блоке</h3>
  <p>Часто встречающаяся в верстке ситуация — изображение в блоке (контейнере). При этом именно контейнеру по факту задаются размеры и пропорции по макету, так как изображения клиент может заливать разные, а дизайн должен оставаться неизменным.</p>
  <p>Таким образом, мы имеем два условных прямоугольника, один вписан в другой и каждый со своими пропорциями. Какие варианты возможны?</p>
  <h3>Идеальный вариант</h3>
  <p><strong>Идеальный вариант — </strong>пропорции контейнера и изображения совпадают. К примеру — изображение 1280*800 пикселей и контейнер 640*400. Считаем — 1280/800=1.6, 640/400=1.6. 1.6=1.6. Profit! Это изображение можно вместить в этот контейнер без пустых зон, искажения и обрезки частей.</p>
  <h3>Реальный вариант</h3>
  <p>Однако, к сожалению, идеального в нашем мире не так много, как хотелось бы. Поэтому вариант следующий — <strong>неидеальный, но реальный</strong>. Контейнер квадратный, или приближенный к квадрату, например 420*400 пикселей. Посчитаем сразу пропорции — 420/400=1,05. Изображение наш уважаемый Пользователь загружает размером 640*480 пикселей. Пропорции выходят 640/480=4/3=1,333(3).</p>
  <p>Имея исходные данные, рассмотрим способы размещения данного изображения в данный контейнер. Клиент может хотеть идеального совпадения, но давайте посчитаем — 1,05 = 1,333(3). Возможно ли такое равенство? Ответ можете дать сами. Математика в нашей вселенной строга, неподкупна и одна для всех.</p>
  <p>Что ж, если идеально — никак, то как же можно? Есть ровно<strong> ТРИ СПОСОБА.</strong></p>
  <h3>Способ первый, совсем плохой</h3>
  <p><strong>Искажение. </strong>Все просто — принудительно задаем изображению ширину и высоту, равные контейнеру или находящиеся в той же пропорции. Изображение при этом искажается, клиент ругается, зато края совпали идеально. Как это примерно выглядит — выше есть примеры.</p>
  <h3>Способ второй — пустое пространство</h3>
  <p><strong>Размещение по большей величине. </strong>Берем бОльшую величину (в нашем случае — ширину) и делаем ее равной аналогичному параметру контейнера (ширине). А вот второй параметр расчитываем пропорционально, сами или воспользовавшись упомянутыми калькуляторами. Ширина контейнера — 420px. Подогнав изображение до той же величины, чтобы сохранить пропорции, высоту мы должны дать 315px.</p>
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/800/0*bsQSWrOMApJWoDHl" width="309" />
  </figure>
  <p>Спонсор точного расчета — сайт <a href="http://alittlebit.ru/tools/proportsii-izobrazheniya/" target="_blank">http://alittlebit.ru/tools/proportsii-izobrazheniya/</a>.</p>
  <p>В результате картинка полностью разместится в контейнере, однако разница в пропорциях никуда не денется и появятся пустое пространство.</p>
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/800/0*RRf5wwkmOvQGx6Zd" width="378" />
  </figure>
  <h3>Способ третий — обрезка части изображения</h3>
  <p><strong>Размещение по меньшей величине. </strong>В этом способе в качестве базовой величины мы берем меньшее число, в нашем случае — высоту. Высота контейнера — 400px. Уже знакомым калькулятором пропорционально рассчитываем второй параметр</p>
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/800/0*oCJzgRsiC9Nn7F35" width="317" />
  </figure>
  <p>Размещаем и видим, что контейнер теперь заполнен полностью, но часть изображения не поместилась и оказалась обрезана — разница пропорций, куда ж от нее деться.</p>
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/800/0*JVHRUbrN1ZNbLuyf" width="378" />
  </figure>
  <h3>Вывод</h3>
  <p>Если пропорции блока и изображения не совпадают, то, размещая изображение в блоке, мы должны сделать выбор <strong>— пустые зоны, обрезанные части, искажение.</strong></p>
  <h3>Инструменты и приемы для верстальщика</h3>
  <h3>Прием с background-image — как НЕЛЬЗЯ делать</h3>
  <h3>Проблема адаптивного контейнера</h3>
  <p>В макетах адаптивного дизайна не редкость трансформация пропорций контейнера изображения на разных разрешениях. К примеру — на десктопе он квадратный, на планшете растягивается на всю ширину и становится прямоугольным, а на низком разрешении для мобильных снова теряет ширину и приближается к квадрату. Как же разместить изображение, ведь его пропорции неизменны?</p>
  <p>Велик соблазн задать контейнеру нужные размеры, а изображение разместить задним фоном, через свойство css <strong>background-image</strong>. Это очень плохо, то, что называется <strong>bad practice</strong>, делать подобное нельзя никогда. Точнее можно, но только в одном случае — если изображение в самом деле несет функцию исключительно фоновую, декоративную. Если смысловая нагрузка размещенного изображения отличается от нуля (изображение товара, картинка в контенте, иллюстрация в редактируемом блоке) — оно не должно быть фоном.</p>
  <h3>Почему нельзя использовать background-image для изображений со смыслом?</h3>
  <p><strong>Причина 1 </strong>— поисковые машины. Индексация страницы производится по ее содержимому, а стили содержимым не являются, следовательно — этого изображения для поисковиков не существует. Оно никогда не попадет в поисковую выдачу.</p>
  <p><strong>Причина 2 </strong>— шаринг в соцсетях. Ни один парсер, подготавливая превью страницы, не захватит изображение, которое прописано только в стилях. Как итог — очень скучный блок текста, на который мало кто обратит внимание.</p>
  <p>Да и вообще — слово <strong>семантика</strong> — не простой звук, фоновое изображение должно быть фоновым, иллюстрация — иллюстрацией, то есть частью контента.</p>
  <h3>Если вам досталась правка сайта с background-image в блоке</h3>
  <p>Если вам так повезло, что перед вами именно такой сайт, с разносторонней адаптацией блока и изображением в нем, подставленным через стили — можно применить лайфхак: не трогать стили и адаптацию — наверняка сайт выглядит красиво, а наш принцип “не навреди”. Вместо этого добавьте в блок тег &lt;img&gt;, выведите туда изображение, родителю установите overflow: hidden; (чтобы не поломалась верстка), и задайте изображению opacity: 0;</p>
  <p>Что же получается? И семантика соблюдена (изображение в блоке есть, может быть индексировано и распарсено), и хитрую адаптацию переделывать не пришлось. <strong>НО!</strong> Это лишь для правок, при верстке настоящие индейцы так не делают!</p>
  <h3>Адаптивный блок с изображением/видео (неизменные пропорции)</h3>
  <p>Если изображение, которое нужно адаптировать, сохраняет неизменные пропорции на любом разрешении, или это видео, где пропорции по определению не должны меняться — задача проста. Все, что нам нужно — чтобы при изменении ширины блока, вложенное в него изображение (или видео) изменялось пропорционально.</p>
  <p>Приступим.</p>
  <p>1. Изображение (видео) обернем в отдельный блок, если это еще не сделано. Именно он и будет адаптироваться.</p>
  <pre>&lt;div class=&quot;thumb-wrap&quot;&gt;
   &lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/Y421bWMelqE&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;
</pre>
  <p>2. Пропишем стили:</p>
  <pre>.thumb-wrap {
  position: relative;
  padding-bottom: 56.25%; /* задаёт высоту контейнера для 16:9 (если 4:3 — поставьте 75%) */
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.thumb-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
</pre>
  <p>Паддинг в процентах задан в расчете на соотношение сторон видео. Если у вас изображение — поделите большую величину (ширину или высоту) на меньшую и умножьте на 100, полученное число и есть нужный процент отступа для сохранения пропорций.</p>
  <h3>Имитация поведения background-size с применением javascript (для настоящих индейцев)</h3>
  <p>Визуально самый приятный эффект дает размещение изображения задним фоном, но так делать нельзя, мы же договорились? А нельзя ли добиться того же визуального эффекта, но с изображением, добавленным в коде HTML? Можно, если перейти на следующий уровень и задействовать манипуляции jQuery.</p>
  <figure class="m_custom">
    <img src="https://cdn-images-1.medium.com/max/800/0*njafW3KRfqAQz7yA" width="400" />
  </figure>
  <p>Использовать мы будем очень небольшой (1,9kb) плагин. Написан он был давно, когда в ходу был IE версии ниже 9, который не понимал прекрасное свойство background-size. Несмотря на почтенный возраст, и немного не те цели применения изначально, он — то что нам нужно. Приступим.</p>
  <p>Страница проекта на GitHUB <a href="https://github.com/aramk/CSS-Background-Size-jQuery-Plugin" target="_blank">https://github.com/aramk/CSS-Background-Size-jQuery-Plugin</a></p>
  <p>1. Рективацию скрипта повесим на ресайз окна. Первый вызов осуществим имитацией ресайза. Простой вызов события resize(), как показала практика, срабатывает не всегда безотказно. Чтобы он срабатывало всегда и везде — создадим пользовательское событие (его можно применять не только для описываемой ситуации, но и всегда, когда нужно ):</p>
  <pre>//Universal resize event 
function universalResize() { 
 if(typeof(Event) === &#x27;function&#x27;) {
  // modern browsers 
  window.dispatchEvent(new Event(&#x27;resize&#x27;)); 
 } else { 
  // for IE and other old browsers 
  // causes deprecation warning on modern browsers 
  var evt = window.document.createEvent(&#x27;UIEvents&#x27;); 
  evt.initUIEvent(&#x27;resize&#x27;, true, false, window, 0); 
  window.dispatchEvent(evt); 
 } 
};
</pre>
  <p>Теперь при вызове функции universalResize() всегда выстрелит событие изменения размера окна.</p>
  <p>Аналогичным образом, кстати, можно создать ЛЮБОЕ кастомное событие, и вызывать его для срабатывания функций-обработчиков.</p>
  <p>2. Подключаем плагин к селектору класса:</p>
  <pre>$window.resize(function() {
 $(&#x27;.background-size-cover&#x27;).bgdSize(&#x27;cover&#x27;);
$(&#x27;.background-size-contain&#x27;).bgdSize(&#x27;contain&#x27;);
});
// Вызываем вышеупомянутую функцию. 
universalResize();
</pre>
  <p>Если блоки с изображения подтягиваются по ajax — то на срабатывание события complete добавляем такую инициализацию:</p>
  <pre>complete: function() {
 $(&quot;.background-size-cover&quot;).one(&quot;load&quot;, function() {
        $(this).removeAttr(&#x27;style&#x27;).bgdSize(&#x27;cover&#x27;);
    }).each(function() {
        if(this.complete) $(this).load();
    });
$(&quot;.background-size-contain&quot;).one(&quot;load&quot;, function() {
        $(this).removeAttr(&#x27;style&#x27;).bgdSize(&#x27;contain&#x27;);
    }).each(function() {
        if(this.complete) $(this).load();
    });
}
</pre>
  <p>Такая хитрая запись позволяет вызвать функцию именно после загрузки изображения, а не после построения DOM. Берите на заметку.</p>
  <p>Все готово! Изображениям, которым требуется поведение аналогичное background-size просто добавляем классы <strong>.background-size-cover</strong> или <strong>.background-size-contain</strong>.</p>
  <h3>Стили для контейнеров и изображений</h3>
  <p>Часто мы встречаемся с ситуацией, когда изображение обернуто в тег &lt;a href=”…….”&gt; для срабатывания различных галерей и тому подобного. Подобное решение требует некоторого внимания в стилях. Изображение, точнее тег &lt;img&gt; — элемент строчно-блочный (inline-block), в то время как &lt;a href=”…….”&gt; — просто инлайновый. Оборачивать inline-block в строку не семантично, а значит элементу &lt;a&gt; мы должны задать свойство display:inline-block;. Кроме семантики тут есть и элементарная логика — изображение имеет параметры высоты и ширины, и оборачивать его в СТРОКУ неверно. К тому же зачастую ширина и высота изображения относительны (задаются в процентах), а какие проценты ширины можно взять от строки?</p>
  <p>Еще одна практика — задавать img стили {width: 100%; height: auto;}. И все идет хорошо, пока ширина изображения больше ширины контейнера и изображение имеет ширину бОльшую чем высоту. Однако как только в контейнер попадает изображение с исходными размерами меньше, чем сам контейнер — его растягивает и оно становится как минимум некрасивым. Если же его высота больше, чем ширина (двери, оконные рамы, одежда) то часть изображения еще и выйдет за пределы контейнера, попытавшись увеличиться пропорционально ширине.</p>
  <p>Чтобы таких неприятных неожиданностей не случалось — не задавайте ширину жестко, пропишите {max-width: 100%; max-height: 100%}.</p>
  <hr />

]]></content:encoded></item></channel></rss>