Upload
yaevents
View
7.995
Download
8
Embed Size (px)
DESCRIPTION
Сергей Бережной, Яндекс С 2005 года работает веб-разработчиком в Яндексе. За это время успел поучаствовать в разработке целого ряда сервисов, например, Поиска по блогам, Я.ру, Яндекс.Почты, Поиска, Картинок, Видео. Помимо внешних проектов активно занимается развитием различных внутренних инструментов для полного цикла создания сайтов. Больше всего на свете любит жену и программирование. Тема доклада Истории про разработку сайтов. Тезисы Мы расскажем о том, какие задачи, связанные с разработкой сайтов, появлялись в Яндексе в разное время и как мы их решали. Выступление задумывается как диалог с разработчиками, которые тоже сталкиваются с похожими задачами. В итоге у нас получится некий сборник технологических историй для размышления.
Citation preview
Виталий Харисов
YaC, Москва, 19 сентября 2011 года
Сергей Бережной
Историиïпðрîо ðрàаçзðрàаáбîоòтêкóу ñсàаéйòтîоâв
старенький дедушкаphotosight.ru
2005 г.
про переселенцев или новичковliveinternet.ru
статистика сервисов в 2005 году
оглядываясь назад
статистика сервисов сегодня
Египет
дом1-й этаж
дом2-й этаж1-й этаж
дом3-й этаж2-й этаж1-й этаж
1-й этаж
1-й этаж1/4
дизайн меняется
css-селекторы
css-селекторы#my-block ul
css-селекторы#my-block ul#my-block li *
css-селекторы#my-block ul
#my-block li *.my-elem
css-селекторы#head .my-block li *
css-селекторы#head .my-block li *#foot .my-block ul
css-селекторы про id
css-селекторы с именами тегов и *
vitaly.harisov.name/article/independent-blocks.html
.class-to-rule-them-all
class="myblock myblock-mytype"
b- l- h- g-
/* Block 1 */ /* (begin) */…
/* Block 1 */ /* (end) */
1-й этаж2/4
копипаст между html-макетами
тяжёлый ручной трудwisconsinhistory.org
XML
XIncludeXPointer
собрали машину, поехали,рады и счастливы
собрали машину, поехали,рады и счастливы
через 3 секунды всё взорвалось
1-й этаж3/4
рассада...
liveinternet.ru
...и высаживание в сад thesurvivalgirl.com
html -> xsl/tt2
тяжёлый ручной труд
поддержание актуальности
поддержание актуальностидинамики относительно статики
поддержание актуальностидинамики относительно статикистатики относительно динамики
единая командаkamaz.ru
единая команда
единая командаединый репозиторий
единая командаединый репозиторий
все влияют на продакшен
html -> xsl/tt2
тяжёлый ручной трудничего не изменилось :-(
1-й этаж4/4
JavaScript
нечто мааленькое
myproject.js
getElementById
инструмент не соответствует задаче
y5
Framework
JS ~ CSS
<div class="myblock y5-c-MyComponent" onclick="return { p1: 1, p2: 'two' }">
2-й этаж
2-й этаж1/3
img.yandex.net
icons.pngicons1.pngiconz.png
new/icons.pngv2/icons1.png
CVS
ад
изображение
свалка/помойка
levelofindirection.com
yandex.st
yandex.st/PRJ/2.3.5/
yandex.st/PRJ/_/X31pO5JJJKEifJ7sfvuf3mGeD_8.png
Debian: yandex-PRJ-www-static-2-3-5
api.yandex.ru/jslibs
2-й этаж2/3
что роботу хорошо, то человеку смерть
сложности с чем-то слишком большим
зависимости
32 @import
3 глубина @import
compiling!
fastcgi&
inotify
2-й этаж3/3
несколько сервисовс одинаковыми элементами
баги
тяжёлый ручной труд
отдельное хранилищеобщих файлов
common/ css/ js/ xsl/
one
to rule them all
3-й этаж
3-й этаж1/2...
one COMMON to rule them all
Вавилонsmallbay.ru
добавление блока на страницу —нужно добавить
во все файлы технологий
labelsmarkstags
quirks / standard
global reset / no-reset
аноним
нет версионирования
X.Y.N
КУдП
changelog
jetpack
css/myblock.cssjs/myblock.js
img/myblock.png
blocks/myblock/myblock.{css,js,png}
сборка всех страничных технологийпо одному описанию
документация прилагается
etftrends.typepad.com
каталог блоков
3-й этаж2/2...
xsl — выразительноtt2 — быстрее
ручная поддержка соглашений
внутреннеяндексовое <—> общеполезное
OpenSource
one
to rule them all
3-й этаж...
очень молодой человек
смотрящий в будущее
photosight.ru
очень старый человекумиляющийся
прошлому
lifeisphoto.ru
мастерклассы ТАМ ==>
Сергей Бережной[email protected]
Виталий Харисов[email protected]
BONUS!
хорошо, когда сначала api,а потом его использование
части большого проектаможно считать проектами
и релизить раздельно