Истории про разработку сайтов. Сергей Бережной, Яндекс

148
Виталий Харисов YaC, Москва, 19 сентября 2011 года С ергей Бережной Истории

Upload: yaevents

Post on 11-Nov-2014

8.000 views

Category:

Technology


8 download

DESCRIPTION

Сергей Бережной, Яндекс С 2005 года работает веб-разработчиком в Яндексе. За это время успел поучаствовать в разработке целого ряда сервисов, например, Поиска по блогам, Я.ру, Яндекс.Почты, Поиска, Картинок, Видео. Помимо внешних проектов активно занимается развитием различных внутренних инструментов для полного цикла создания сайтов. Больше всего на свете любит жену и программирование. Тема доклада Истории про разработку сайтов. Тезисы Мы расскажем о том, какие задачи, связанные с разработкой сайтов, появлялись в Яндексе в разное время и как мы их решали. Выступление задумывается как диалог с разработчиками, которые тоже сталкиваются с похожими задачами. В итоге у нас получится некий сборник технологических историй для размышления.

TRANSCRIPT

Page 1: Истории про разработку сайтов. Сергей Бережной, Яндекс

Виталий Харисов

YaC, Москва, 19 сентября 2011 года

Сергей Бережной

Историиïпðрîо ðрàаçзðрàаáбîоòтêкóу ñсàаéйòтîоâв

Page 2: Истории про разработку сайтов. Сергей Бережной, Яндекс

старенький дедушкаphotosight.ru

Page 3: Истории про разработку сайтов. Сергей Бережной, Яндекс

2005 г.

Page 4: Истории про разработку сайтов. Сергей Бережной, Яндекс

про переселенцев или новичковliveinternet.ru

Page 5: Истории про разработку сайтов. Сергей Бережной, Яндекс

статистика сервисов в 2005 году

Page 6: Истории про разработку сайтов. Сергей Бережной, Яндекс

оглядываясь назад

Page 7: Истории про разработку сайтов. Сергей Бережной, Яндекс

статистика сервисов сегодня

Page 8: Истории про разработку сайтов. Сергей Бережной, Яндекс

Египет

Page 9: Истории про разработку сайтов. Сергей Бережной, Яндекс

дом1-й этаж

Page 10: Истории про разработку сайтов. Сергей Бережной, Яндекс

дом2-й этаж1-й этаж

Page 11: Истории про разработку сайтов. Сергей Бережной, Яндекс

дом3-й этаж2-й этаж1-й этаж

Page 12: Истории про разработку сайтов. Сергей Бережной, Яндекс

1-й этаж

Page 13: Истории про разработку сайтов. Сергей Бережной, Яндекс

1-й этаж1/4

Page 14: Истории про разработку сайтов. Сергей Бережной, Яндекс

дизайн меняется

Page 15: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 16: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 17: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 18: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 19: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 20: Истории про разработку сайтов. Сергей Бережной, Яндекс

css-селекторы

Page 21: Истории про разработку сайтов. Сергей Бережной, Яндекс

css-селекторы#my-block ul

Page 22: Истории про разработку сайтов. Сергей Бережной, Яндекс

css-селекторы#my-block ul#my-block li *

Page 23: Истории про разработку сайтов. Сергей Бережной, Яндекс

css-селекторы#my-block ul

#my-block li *.my-elem

Page 24: Истории про разработку сайтов. Сергей Бережной, Яндекс

css-селекторы#head .my-block li *

Page 25: Истории про разработку сайтов. Сергей Бережной, Яндекс

css-селекторы#head .my-block li *#foot .my-block ul

Page 26: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 27: Истории про разработку сайтов. Сергей Бережной, Яндекс

css-селекторы про id

Page 28: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 29: Истории про разработку сайтов. Сергей Бережной, Яндекс

css-селекторы с именами тегов и *

Page 30: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 31: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 33: Истории про разработку сайтов. Сергей Бережной, Яндекс

.class-to-rule-them-all

Page 34: Истории про разработку сайтов. Сергей Бережной, Яндекс

class="myblock myblock-mytype"

Page 35: Истории про разработку сайтов. Сергей Бережной, Яндекс

b- l- h-  g-

Page 36: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 37: Истории про разработку сайтов. Сергей Бережной, Яндекс

/* Block 1 */ /* (begin) */…

/* Block 1 */ /* (end) */

Page 38: Истории про разработку сайтов. Сергей Бережной, Яндекс

1-й этаж2/4

Page 39: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 40: Истории про разработку сайтов. Сергей Бережной, Яндекс

копипаст между html-макетами

Page 41: Истории про разработку сайтов. Сергей Бережной, Яндекс

тяжёлый ручной трудwisconsinhistory.org

Page 42: Истории про разработку сайтов. Сергей Бережной, Яндекс

XML

Page 43: Истории про разработку сайтов. Сергей Бережной, Яндекс

XIncludeXPointer

Page 44: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 45: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 46: Истории про разработку сайтов. Сергей Бережной, Яндекс

собрали машину, поехали,рады и счастливы

Page 47: Истории про разработку сайтов. Сергей Бережной, Яндекс

собрали машину, поехали,рады и счастливы

Page 48: Истории про разработку сайтов. Сергей Бережной, Яндекс

через 3 секунды всё взорвалось

Page 49: Истории про разработку сайтов. Сергей Бережной, Яндекс

1-й этаж3/4

Page 50: Истории про разработку сайтов. Сергей Бережной, Яндекс

рассада...

liveinternet.ru

Page 51: Истории про разработку сайтов. Сергей Бережной, Яндекс

...и высаживание в сад thesurvivalgirl.com

Page 52: Истории про разработку сайтов. Сергей Бережной, Яндекс

html -> xsl/tt2

Page 53: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 54: Истории про разработку сайтов. Сергей Бережной, Яндекс

тяжёлый ручной труд

Page 55: Истории про разработку сайтов. Сергей Бережной, Яндекс

поддержание актуальности

Page 56: Истории про разработку сайтов. Сергей Бережной, Яндекс

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

Page 57: Истории про разработку сайтов. Сергей Бережной, Яндекс

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

Page 58: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 59: Истории про разработку сайтов. Сергей Бережной, Яндекс

единая командаkamaz.ru

Page 60: Истории про разработку сайтов. Сергей Бережной, Яндекс

единая команда

Page 61: Истории про разработку сайтов. Сергей Бережной, Яндекс

единая командаединый репозиторий

Page 62: Истории про разработку сайтов. Сергей Бережной, Яндекс

единая командаединый репозиторий

все влияют на продакшен

Page 63: Истории про разработку сайтов. Сергей Бережной, Яндекс

html -> xsl/tt2

Page 64: Истории про разработку сайтов. Сергей Бережной, Яндекс

тяжёлый ручной трудничего не изменилось :-(

Page 65: Истории про разработку сайтов. Сергей Бережной, Яндекс

1-й этаж4/4

Page 66: Истории про разработку сайтов. Сергей Бережной, Яндекс

JavaScript

Page 67: Истории про разработку сайтов. Сергей Бережной, Яндекс

нечто мааленькое

Page 68: Истории про разработку сайтов. Сергей Бережной, Яндекс

myproject.js

Page 69: Истории про разработку сайтов. Сергей Бережной, Яндекс

getElementById

Page 70: Истории про разработку сайтов. Сергей Бережной, Яндекс

инструмент не соответствует задаче

Page 71: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 72: Истории про разработку сайтов. Сергей Бережной, Яндекс

y5

Page 73: Истории про разработку сайтов. Сергей Бережной, Яндекс

Framework

Page 74: Истории про разработку сайтов. Сергей Бережной, Яндекс

JS ~ CSS

Page 75: Истории про разработку сайтов. Сергей Бережной, Яндекс

<div class="myblock y5-c-MyComponent" onclick="return { p1: 1, p2: 'two' }">

Page 76: Истории про разработку сайтов. Сергей Бережной, Яндекс

2-й этаж

Page 77: Истории про разработку сайтов. Сергей Бережной, Яндекс

2-й этаж1/3

Page 78: Истории про разработку сайтов. Сергей Бережной, Яндекс

img.yandex.net

Page 79: Истории про разработку сайтов. Сергей Бережной, Яндекс

icons.pngicons1.pngiconz.png

Page 80: Истории про разработку сайтов. Сергей Бережной, Яндекс

new/icons.pngv2/icons1.png

Page 81: Истории про разработку сайтов. Сергей Бережной, Яндекс

CVS

Page 82: Истории про разработку сайтов. Сергей Бережной, Яндекс

ад

изображение

Page 83: Истории про разработку сайтов. Сергей Бережной, Яндекс

свалка/помойка

levelofindirection.com

Page 84: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 85: Истории про разработку сайтов. Сергей Бережной, Яндекс

yandex.st

Page 86: Истории про разработку сайтов. Сергей Бережной, Яндекс

yandex.st/PRJ/2.3.5/

Page 87: Истории про разработку сайтов. Сергей Бережной, Яндекс

yandex.st/PRJ/_/X31pO5JJJKEifJ7sfvuf3mGeD_8.png

Page 88: Истории про разработку сайтов. Сергей Бережной, Яндекс

Debian: yandex-PRJ-www-static-2-3-5

Page 89: Истории про разработку сайтов. Сергей Бережной, Яндекс

api.yandex.ru/jslibs

Page 90: Истории про разработку сайтов. Сергей Бережной, Яндекс

2-й этаж2/3

Page 91: Истории про разработку сайтов. Сергей Бережной, Яндекс

что роботу хорошо, то человеку смерть

Page 92: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 93: Истории про разработку сайтов. Сергей Бережной, Яндекс

сложности с чем-то слишком большим

Page 94: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 95: Истории про разработку сайтов. Сергей Бережной, Яндекс

зависимости

Page 96: Истории про разработку сайтов. Сергей Бережной, Яндекс

32 @import

Page 97: Истории про разработку сайтов. Сергей Бережной, Яндекс

3 глубина @import

Page 98: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 99: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 100: Истории про разработку сайтов. Сергей Бережной, Яндекс

compiling!

Page 101: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 102: Истории про разработку сайтов. Сергей Бережной, Яндекс

fastcgi&

inotify

Page 103: Истории про разработку сайтов. Сергей Бережной, Яндекс

2-й этаж3/3

Page 104: Истории про разработку сайтов. Сергей Бережной, Яндекс

несколько сервисовс одинаковыми элементами

Page 105: Истории про разработку сайтов. Сергей Бережной, Яндекс

баги

Page 106: Истории про разработку сайтов. Сергей Бережной, Яндекс

тяжёлый ручной труд

Page 107: Истории про разработку сайтов. Сергей Бережной, Яндекс

отдельное хранилищеобщих файлов

Page 108: Истории про разработку сайтов. Сергей Бережной, Яндекс

common/ css/ js/ xsl/

Page 109: Истории про разработку сайтов. Сергей Бережной, Яндекс

one

Page 110: Истории про разработку сайтов. Сергей Бережной, Яндекс

to rule them all

Page 111: Истории про разработку сайтов. Сергей Бережной, Яндекс

3-й этаж

Page 112: Истории про разработку сайтов. Сергей Бережной, Яндекс

3-й этаж1/2...

Page 113: Истории про разработку сайтов. Сергей Бережной, Яндекс

one COMMON to rule them all

Page 114: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 115: Истории про разработку сайтов. Сергей Бережной, Яндекс

Вавилонsmallbay.ru

Page 116: Истории про разработку сайтов. Сергей Бережной, Яндекс

добавление блока на страницу —нужно добавить

во все файлы технологий

Page 117: Истории про разработку сайтов. Сергей Бережной, Яндекс

labelsmarkstags

Page 118: Истории про разработку сайтов. Сергей Бережной, Яндекс

quirks / standard

Page 119: Истории про разработку сайтов. Сергей Бережной, Яндекс

global reset / no-reset

Page 120: Истории про разработку сайтов. Сергей Бережной, Яндекс

аноним

Page 121: Истории про разработку сайтов. Сергей Бережной, Яндекс

нет версионирования

Page 122: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 123: Истории про разработку сайтов. Сергей Бережной, Яндекс

X.Y.N

Page 124: Истории про разработку сайтов. Сергей Бережной, Яндекс

КУдП

Page 125: Истории про разработку сайтов. Сергей Бережной, Яндекс

changelog

Page 126: Истории про разработку сайтов. Сергей Бережной, Яндекс

jetpack

Page 127: Истории про разработку сайтов. Сергей Бережной, Яндекс

css/myblock.cssjs/myblock.js

img/myblock.png

blocks/myblock/myblock.{css,js,png}

Page 128: Истории про разработку сайтов. Сергей Бережной, Яндекс

сборка всех страничных технологийпо одному описанию

Page 129: Истории про разработку сайтов. Сергей Бережной, Яндекс

документация прилагается

etftrends.typepad.com

Page 130: Истории про разработку сайтов. Сергей Бережной, Яндекс

каталог блоков

Page 131: Истории про разработку сайтов. Сергей Бережной, Яндекс

3-й этаж2/2...

Page 132: Истории про разработку сайтов. Сергей Бережной, Яндекс

xsl — выразительноtt2 — быстрее

Page 133: Истории про разработку сайтов. Сергей Бережной, Яндекс

ручная поддержка соглашений

Page 134: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 135: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 136: Истории про разработку сайтов. Сергей Бережной, Яндекс

внутреннеяндексовое <—> общеполезное

Page 137: Истории про разработку сайтов. Сергей Бережной, Яндекс

OpenSource

Page 138: Истории про разработку сайтов. Сергей Бережной, Яндекс
Page 139: Истории про разработку сайтов. Сергей Бережной, Яндекс

one

Page 140: Истории про разработку сайтов. Сергей Бережной, Яндекс

to rule them all

Page 141: Истории про разработку сайтов. Сергей Бережной, Яндекс

3-й этаж...

Page 142: Истории про разработку сайтов. Сергей Бережной, Яндекс

очень молодой человек

смотрящий в будущее

photosight.ru

Page 143: Истории про разработку сайтов. Сергей Бережной, Яндекс

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

прошлому

lifeisphoto.ru

Page 144: Истории про разработку сайтов. Сергей Бережной, Яндекс

мастерклассы ТАМ ==>

Page 146: Истории про разработку сайтов. Сергей Бережной, Яндекс

BONUS!

Page 147: Истории про разработку сайтов. Сергей Бережной, Яндекс

хорошо, когда сначала api,а потом его использование

Page 148: Истории про разработку сайтов. Сергей Бережной, Яндекс

части большого проектаможно считать проектами

и релизить раздельно