SlideShare uma empresa Scribd logo
1 de 88
Baixar para ler offline
Про шаблонизаторы вообще
и BEMHTML в частности
Сергей Бережной
руководитель отдела
разработки поисковых интерфейсов

Я.Субботник, Москва, 8 сентября 2012 года
про шаблонизаторЫ
                вообще


     и
    BEMHTML
в частности
Шаблонизаторы вообще…




3
Шаблонизаторы вообще
Задачи




4
Шаблонизаторы вообще
Задачи
— HTML




5
Шаблонизаторы вообще
Задачи
— HTML
— текст




6
Шаблонизаторы вообще
Задачи
— HTML
— текст
— DOM




7
Шаблонизаторы вообще
Многообразие видов
Шаблонизаторы вообще
Многообразие видов
— по семантике




9
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — интерполяция строк




10
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — интерполяция строк



 "Шоколад ни в чем не виноват, %username%."




11
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — интерполяция строк
       – Mustache
       – Handlebars
       – Dust
       – Jade
       – …
12
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — интерполяция строк
     — data bind




13
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — data bind
var html = 'Шоколад ни в чем не виноват,'
    + '<span class="name"/>.'
  , data = { username: 'John Smith' }
  , map = plates.Map();

map.class('name').to('username');
plates.bind(html, data, map);

14
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — интерполяция строк
     — data bind
       – Flatiron.js templates
       – Transparency
       – Angular.js
       – Pure
15
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — интерполяция строк
     — data bind
     — live data bind




16
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — интерполяция строк
     — data bind
     — live data bind
       – Knockout.js




17
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — интерполяция строк
     — data bind
     — live data bind
     — data driven




18
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — data driven
 <xsl:template match="username">
     <span class="name">
         <xsl:apply-templates/>
     </span>
 </xsl:template>


19
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — data driven
 <xsl:template match="username">
     <span class="name">
         <xsl:apply-templates/>
     </span>
 </xsl:template>

 Шоколад ни в чем не виноват, <username>John Smith</username>.
 Вы просто созданы для лепрозория, <username>veged</username>!



20
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — data driven
 Шоколад ни в чем не виноват, <span class="name">John Smith</span>.
 Вы просто созданы для лепрозория, <span class="name">veged</span>!




21
Шаблонизаторы вообще
Многообразие видов
— по семантике
     — интерполяция строк
     — data bind
     — live data bind
     — data driven
       – XSLT
       – BEMHTML
22
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису




23
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
     — текст в финальном виде + вставки




24
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
     — текст в финальном виде + вставки

 <span class="name">[% username %]</span>




25
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
     — текст в финальном виде + вставки
     — сокращённый синтаксис




26
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
     — сокращённый синтаксис

 span.name #{username}



27
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
     — текст в финальном виде + вставки
     — сокращённый синтаксис
     — предметно-ориентированный синтаксис




28
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
     — предметно-ориентированный синтаксис
<xsl:template match="username">
    <span class="name">
        <xsl:apply-templates/>
    </span>
</xsl:template>


29
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
     — предметно-ориентированный синтаксис
var html = 'Шоколад ни в чем не виноват,<span class="name"/>.'
  , data = { username: 'John Smith' }
  , map = plates.Map();

map.class('name').to('username');
plates.bind(html, data, map);



30
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
— по базовому языку




31
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
— по базовому языку
     — один базовый язык




32
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
— по базовому языку
     — один базовый язык
     — компилируется в несколько языков




33
Шаблонизаторы вообще
Многообразие видов
— по семантике
— по синтаксису
— по базовому языку




34
…и BEMHTML в частности




35
…и BEMHTML в частности
Задачи




36
…и BEMHTML в частности
Задачи
…и BEMHTML в частности
Задачи
— разделение HTML и логики представления




38
…и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков




39
…и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков
 [% BLOCK menu %]
     <ul>
          [% FOREACH item IN items %]
              <li>[% item %]</li>
          [% END %]
     </ul>
 [% END %]



40
…и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков
 [% BLOCK menu %]
     <ul>
          [% FOREACH item IN items %]
              [% PROCESS item content = i %]
          [% END %]
     </ul>
 [% END %]



41
…и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков
— скорость




42
…и BEMHTML в частности
Задачи
— разделение HTML и логики представления
— гибкая библиотека блоков
— скорость
— БЭМ




43
…и BEMHTML в частности
Что получилось




44
…и BEMHTML в частности
Что получилось
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML




46
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML

 { block: 'button', content: 'Найти' }

 <input
     class="button"
     type="button"
     value="Найти"/>


47
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
 {
     block: 'button',
     mods: { size: 'm' },
     content: 'Найти'
 }

 <input
     class="button button_size_m"
     type="button" value="Найти"/>



48
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис




49
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
     — чуть больше чем JavaScript




50
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
     — чуть больше чем JavaScript
     — шаблоны с предикатами




51
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
     — чуть больше чем JavaScript
     — шаблоны с предикатами
     — БЭМ
     — несколько ключевых слов


52
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
 block button, tag: 'input'




53
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
 block button {
     tag: 'input'
     attrs: ({ type: 'button' })
 }



54
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
 block button {
     tag: 'input'
     attrs: ({
         type: 'button',
         value: apply('content')
     })
     content: ''
 }


55
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
 { block: 'button', content: 'Найти' }

 <input
     class="button"
     type="button"
     value="Найти"/>


56
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
— гибкость и расширяемость "по построению"




57
…и BEMHTML в частности
Что получилось
— гибкость и расширяемость "по построению"
 block button, attrs: ({ type: 'button' })




58
…и BEMHTML в частности
Что получилось
— гибкость и расширяемость "по построению"
 block button, attrs: ({ type: 'button' })

 block button, mod type submit, attrs: ({
    type: 'submit'
 })




59
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
— гибкость и расширяемость "по построению"
— многопроходность




60
…и BEMHTML в частности
Что получилось
— многопроходность

 { block: 'box', content: 'text' }




61
…и BEMHTML в частности
Что получилось
— многопроходность

 { block: 'box', content: 'text' }

 <div class="box">
   <div class="box__top"></div>
   <div class="box__content">text</div>
   <div class="box__bottom"></div>
 </div>

62
…и BEMHTML в частности
Что получилось
— многопроходность
 block box, content: [
     { elem: 'top' },
     {
         elem: 'content',
         content: applyNext()
     },
     { elem: 'bottom' }
 ]


63
…и BEMHTML в частности
Что получилось
— многопроходность

 { block: 'box', content: 'text' }

 <div class="box">
   <div class="box__top"></div>
   <div class="box__content">text</div>
   <div class="box__bottom"></div>
 </div>

64
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
— гибкость и расширяемость "по построению"
— многопроходность
— полноценный JavaScript



65
…и BEMHTML в частности
Что получилось
— полноценный JavaScript

 block box, content: {
     var res = { /* ... */ };
     // ...
     return res;
 }


66
…и BEMHTML в частности
Что получилось

— БЭМ-дерево ⟹ HTML
— синтаксис
— гибкость и расширяемость "по построению"
— многопроходность
— полноценный JavaScript
— XJST: bit.ly/xjst


67
…и BEMHTML в частности
Где применять




68
…и BEMHTML в частности
Где применять
…и BEMHTML в частности
Где применять
— возможность исполнять JavaScript




70
…и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
     — на сервере
     — на клиенте




71
…и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML




72
…и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты




73
…и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты
— БЭМ




74
…и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты
— БЭМ, хотя бы в CSS




75
…и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты
— БЭМ, хотя бы в CSS
— частые итерации изменения HTML+CSS




76
…и BEMHTML в частности
Где применять
— возможность исполнять JavaScript
— много HTML
— HTML+CSS пишут отдельные специалисты
— БЭМ, хотя бы в CSS
— частые итерации изменения HTML+CSS
— есть общие блоки


77
…и BEMHTML в частности
Где лучше попробовать




78
…и BEMHTML в частности
Где лучше попробовать
…и BEMHTML в частности
Где лучше попробовать
— cтанок CSS-верстальщика




80
…и BEMHTML в частности
Где лучше попробовать
— cтанок CSS-верстальщика
— Node.js проект "с нуля"




81
…и BEMHTML в частности
Где лучше попробовать
— cтанок CSS-верстальщика
— Node.js проект "с нуля"
— Клиентское приложение "с нуля"




82
…и BEMHTML в частности
Как попробовать




83
…и BEMHTML в частности
Как попробовать
…и BEMHTML в частности
Как попробовать
— шаблон проекта: bit.ly/bem-stub




85
…и BEMHTML в частности
Как попробовать
— шаблон проекта: bit.ly/bem-stub
— документация bem-tools: bit.ly/bem-tools




86
…и BEMHTML в частности
Как попробовать
— шаблон проекта: bit.ly/bem-stub
— документация bem-tools: bit.ly/bem-tools
— документация про BEMHTML: bit.ly/bemhtml




87
Сергей Бережной
руководитель отдела
разработки поисковых интерфейсов
veged@yandex-team.ru
github.com/veged
@veged

Mais conteúdo relacionado

Destaque

CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)
Zoe Gillenwater
 
Bdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеBdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проекте
ISsoft
 
решение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baрешение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте ba
ISsoft
 
Css part2
Css part2Css part2
Css part2
ISsoft
 
Верстка_Лекция1
Верстка_Лекция1Верстка_Лекция1
Верстка_Лекция1
itc73
 
Images and Tables in HTML
Images and Tables in HTMLImages and Tables in HTML
Images and Tables in HTML
Aarti P
 

Destaque (20)

How Joomla Works
How Joomla WorksHow Joomla Works
How Joomla Works
 
Organisation and navigation
Organisation and navigationOrganisation and navigation
Organisation and navigation
 
6. таблицы и другие теги html
6. таблицы и другие теги html6. таблицы и другие теги html
6. таблицы и другие теги html
 
FL Blog Con 2015: How To Find The Best WordPress Plugins For You
FL Blog Con 2015: How To Find The Best WordPress Plugins For YouFL Blog Con 2015: How To Find The Best WordPress Plugins For You
FL Blog Con 2015: How To Find The Best WordPress Plugins For You
 
CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)CSS Lessons Learned the Hard Way (Generate Conf)
CSS Lessons Learned the Hard Way (Generate Conf)
 
Uwe usability evaluation
Uwe usability evaluationUwe usability evaluation
Uwe usability evaluation
 
Пингвины из калининграда
Пингвины из калининградаПингвины из калининграда
Пингвины из калининграда
 
Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)Show vs. Tell in UX Design (Front in Amsterdam)
Show vs. Tell in UX Design (Front in Amsterdam)
 
Php Security
Php SecurityPhp Security
Php Security
 
Box Model
Box ModelBox Model
Box Model
 
Joomla Request To Response
Joomla Request To ResponseJoomla Request To Response
Joomla Request To Response
 
Bdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеBdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проекте
 
Введение в веб-проектирование
Введение в веб-проектированиеВведение в веб-проектирование
Введение в веб-проектирование
 
CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)CSS Lessons Learned the Hard Way (ConvergeSE)
CSS Lessons Learned the Hard Way (ConvergeSE)
 
Getting Started With Php Frameworks @BCP5
Getting Started With Php Frameworks @BCP5Getting Started With Php Frameworks @BCP5
Getting Started With Php Frameworks @BCP5
 
WordPress as Rapid Prototyping Tool
WordPress as Rapid Prototyping ToolWordPress as Rapid Prototyping Tool
WordPress as Rapid Prototyping Tool
 
решение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baрешение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте ba
 
Css part2
Css part2Css part2
Css part2
 
Верстка_Лекция1
Верстка_Лекция1Верстка_Лекция1
Верстка_Лекция1
 
Images and Tables in HTML
Images and Tables in HTMLImages and Tables in HTML
Images and Tables in HTML
 

Semelhante a Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Yandex
 
bem-components — от методологии до full stack платформы
bem-components — от методологии до full stack платформыbem-components — от методологии до full stack платформы
bem-components — от методологии до full stack платформы
Yandex
 
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Yandex
 
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Yandex
 
Сергей Бережной — Шаблонизаторы
Сергей Бережной — ШаблонизаторыСергей Бережной — Шаблонизаторы
Сергей Бережной — Шаблонизаторы
Yandex
 
Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"
Yandex
 
Изучение и редактирование кода
Изучение и редактирование кода Изучение и редактирование кода
Изучение и редактирование кода
Yandex
 
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ  by Mikhail TroshevПрезентация к докладу про БЭМ  by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev
1 1
 
Библиотека bem-components
Библиотека bem-componentsБиблиотека bem-components
Библиотека bem-components
Yandex
 

Semelhante a Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности" (20)

Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
 
Сайт с нуля на полном стеке БЭМ-технологий
Сайт с нуля на полном стеке БЭМ-технологийСайт с нуля на полном стеке БЭМ-технологий
Сайт с нуля на полном стеке БЭМ-технологий
 
bem-components — от методологии до full stack платформы
bem-components — от методологии до full stack платформыbem-components — от методологии до full stack платформы
bem-components — от методологии до full stack платформы
 
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
 
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
 
Сергей Бережной — Шаблонизаторы
Сергей Бережной — ШаблонизаторыСергей Бережной — Шаблонизаторы
Сергей Бережной — Шаблонизаторы
 
Сергей Пузанков — Шаблонизаторы
Сергей Пузанков — ШаблонизаторыСергей Пузанков — Шаблонизаторы
Сергей Пузанков — Шаблонизаторы
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машин
 
Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"
 
Изучение и редактирование кода
Изучение и редактирование кода Изучение и редактирование кода
Изучение и редактирование кода
 
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ  by Mikhail TroshevПрезентация к докладу про БЭМ  by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev
 
Владимир Гриненко "i-bem.js: JavaScript в БЭМ-терминах"
Владимир Гриненко "i-bem.js: JavaScript в БЭМ-терминах"Владимир Гриненко "i-bem.js: JavaScript в БЭМ-терминах"
Владимир Гриненко "i-bem.js: JavaScript в БЭМ-терминах"
 
Виталий Харисов "Настоящее и будущее БЭМ"
Виталий Харисов "Настоящее и будущее БЭМ"Виталий Харисов "Настоящее и будущее БЭМ"
Виталий Харисов "Настоящее и будущее БЭМ"
 
Библиотека bem-components
Библиотека bem-componentsБиблиотека bem-components
Библиотека bem-components
 
Yac2012
Yac2012Yac2012
Yac2012
 
БЭМ
БЭМБЭМ
БЭМ
 
Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4Мировые информационные ресурсы. Лекция 4
Мировые информационные ресурсы. Лекция 4
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"
 
Html i xhtml_podrobnoe_rukovodstvo_6-e_izdani
Html i xhtml_podrobnoe_rukovodstvo_6-e_izdaniHtml i xhtml_podrobnoe_rukovodstvo_6-e_izdani
Html i xhtml_podrobnoe_rukovodstvo_6-e_izdani
 

Mais de Yandex

Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Yandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Yandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Yandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Yandex
 

Mais de Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Último

ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 

Último (9)

ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 

Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"