SlideShare a Scribd company logo
1 of 146
Download to read offline
Как 
сделать 
Instagram 
в браузере 
Дмитрий Дудин @nedudi
2
Приукрасить
Придать настроение
Нелинейные искажения
Устоявшиеся практики 
• Десктопный софт: 
• Photoshop 
• Photobooth Mac OS X, XnRetro ... 
• Мобильные приложения: 
• Instagram 
• Snapseed, Camera+ и еще 100500 разных... 
6
Фильтрация изображений в веб 
несколько лет назад: 
1. Flash 
2. Отправляем на сервер, 
там фильтруем, 
возвращаем обратно на клиент 
и все это время ждем, ждем, ждем... 
7
Все меняется к лучшему
Способы фильтрации на клиенте 
сегодня и в ближайшем будущем: 
1. Canvas 
2. WebGL 
3. CSS-фильтры 
4. CSS-шейдеры 
5. SVG-фильтры 
6. SVG-фильтры для HTML 
9
Canvas
var canvas = document.createElement('canvas'); 
var context = canvas.getContext('2d'); 
context.drawImage(img); 
var imgd = context.getImageData(0, 0, w, h) 
var pixels = imgd.data; 
11
Не нужно изобретать свой велосипед 
12
13
vintageJS 
$(img).vintage({ 
contrast:32, 
lighten:0.4, 
noise: 20, 
desaturate: 0.05 
}); 
14
15
camanJS 
Caman("image.jpg", "#canvas", function () { 
this 
.saturation(20) 
.gamma(1.4) 
.vignette(300, 60) 
.render(); 
}); 
16
Достоинства фильтрации с Canvas 
1. IE 9 + и мобильные браузеры. 
2. Много готовых решений, библиотек, плагинов. 
3. Фильтры могут быть настолько сложными и 
нестандартными, насколько у вас хватит 
фантазии 
. . . и насколько вы разбираетесь в цифровой 
обработке изображений :) 
17
Недостатки фильтрации с Canvas 
1. Нельзя отфильтровать картинки с других 
доменов (включая поддомены) из-за 
ограничений безопасности. Решается 
проксированием или переводом в base64. 
2. Сложные фильтры это медленная, 
блокирующая операция. 
Десктопный браузер подтормаживает… 
Мобильный браузер серьезно тупит. 
18
WebGL
Что это о_O ? 
precision mediump float; 
varying vec2 position; 
uniform sampler2D webcam; 
void main() { 
vec2 p = position; 
vec4 color = texture2D(webcam, p); 
color.rgb = 1.0 ‐ color.rgb; 
gl_FragColor = color; 
} 
20
Шейдеры 
• Шейдер - кусок кода, который описывает 
алгоритм обработки каждого пикселя в GPU. 
• Достоинство - возможность пользоваться 
параллельной архитектурой GPU. 
• Бывают векторными и пиксельными (Fragment 
Shaders) 
• Описываются в синтаксисе GLSL (OpenGL 
Shading Language) 
21
Вернемся к cтрашному шейдеру 
precision mediump float; 
varying vec2 position; 
uniform sampler2D webcam; 
void main() { 
vec2 p = position; 
vec4 color = texture2D(webcam, p); 
color.rgb = 1.0 ‐ color.rgb; 
gl_FragColor = color; 
} 
22
Велосипеды в WebGl - это больно 
23
Достоинства glfx 
1. Множество предустановленных фильтров. 
2. Красивый и понятный API. 
3. Возможность расширять библиотеку своими 
шейдерами. 
25
WebGLImageFilter 
26
WebGLImageFilter прост в 
использовании 
var filter = new WebGLImageFilter(); 
filter.addFilter('hue', 180); 
filter.addFilter('negative'); 
filter.addFilter('blur', 7); 
var filteredImage = filter.apply(inputImage); 
27
Достоинства фильтрации с WebGL 
1. Очень, очень, очень быстро. 
2. Есть несколько хороших плагинов. 
3. Можно использовать готовые шейдеры 
написаные на языке GLSL 
для OpenGL за последние 14 лет 
(начиная c 2001 года) 
28
Недостатки фильтрации с WebGL 
1. Слабая поддержка браузерами. 
Chrome, Opera - отлично, 
FF, Safari, IE11 - частично, 
все остальные - никак. 
2. Для нестандартных операций порог входа 
достаточно высок. 
29
CSS- 
фильтры
Синтаксис CSS-фильтров 
‐webkit‐filter: 
brightness(1.4) 
contrast(2) 
hue‐rotate(300deg) 
sepia(0.3); 
31
Достоинства CSS-фильтров 
1. Быстрые. 
2. Очень удобно описываются. 
34
Недостатки CSS-фильтров 
1. Пока только webkit(blink) браузеры. 
2. Ничего кроме типовых операций. 
т.е. … Инстаграма с ними не сделаешь :( 
35
CSS- 
шейдеры
Синтаксис 
img { 
‐webkit‐filter: custom( 
none 
mix( 
url(someFragmentShader.fs) 
normal 
source‐atop 
) 
); 
} 
37
someFragmentShader.fs 
precision mediump float; 
void main() 
{ 
css_ColorMatrix = mat4(1.0, 0.0, 0.0, 0.0, 
0.0, 0.0, 0.0, 0.0, 
0.0, 0.0, 0.0, 0.0, 
0.0, 0.0, 0.0, 1.0); 
} 
38
Достоинства CSS-шейдеров 
1. Быстрые. 
2. Можно делать сложные нестандартные 
эффекты. 
40
Недостатки CSS-шейдеров 
1. Сложность описания, высокий порог входа. 
2. Вообще нигде толком не поддерживаются :) 
41
SVG- 
фильтры
Нарисуем круг 
<svg width="400" height="400"> 
<circle 
cx="200" 
cy="200" 
fill="#3498db" 
r="100"/> 
</svg> 
43
Это круг :) 
44
Простейший svg-фильтр (blur) 
<svg width="400" height="400"> 
<defs> 
<filter id="f0"> 
<feGaussianBlur stdDeviation="50" /> 
</filter> 
</defs> 
<circle filter="url(#f0)" cx="200" cy="200" 
fill="#3498db" r="100"/> 
</svg> 
45
Простейший svg-фильтр (blur) 
<svg width="400" height="400"> 
<defs> 
<filter id="f0"> 
<feGaussianBlur stdDeviation="50" /> 
</filter> 
</defs> 
<circle filter="url(#f0)" cx="200" cy="200" 
fill="#3498db" r="100"/> 
</svg> 
46
Простейший svg-фильтр (blur) 
<svg width="400" height="400"> 
<defs> 
<filter id="f0"> 
<feGaussianBlur stdDeviation="50" /> 
</filter> 
</defs> 
<circle filter="url(#f0)" cx="200" cy="200" 
fill="#3498db" r="100"/> 
</svg> 
47
Простейший svg-фильтр (blur) 
<svg width="400" height="400"> 
<defs> 
<filter id="f0" > 
<feGaussianBlur stdDeviation="40" /> 
</filter> 
</defs> 
<circle filter="url(#f0)" cx="200" cy="200" 
fill="#3498db" r="100"/> 
</svg> 
48
Результат 
49
Картинка внутри SVG 
<svg width="1024" height="768"> 
<image 
width="100%" 
height="100%" 
xlink:href="img/girl.jpg" /> 
</svg> 
50
Картинка внутри SVG + blur 
<svg width="1024" height="768"> 
<defs> 
<filter id="f1" > 
<feGaussianBlur stdDeviation="10" /> 
</filter> 
</defs> 
<image filter="url(#f1)" xlink:href="img/girl.jpg" 
width="100%" height="100%" /> 
</svg> 
51
Комбинация фильтров 
<filter id="f2"> 
<feGaussianBlur stdDeviation="3" /> 
<feColorMatrix type="saturate" values="0"> 
</feColorMatrix> 
</filter> 
54
Комбинация фильтров 
<filter id="f2"> 
<feGaussianBlur result="a1" stdDeviation="3" /> 
<feColorMatrix type="saturate" values="0"> 
</feColorMatrix> 
</filter> 
55
Комбинация фильтров 
<filter id="f2"> 
<feGaussianBlur result="a1" stdDeviation="3" /> 
<feColorMatrix in="a1" type="saturate" values="0"> 
</feColorMatrix> 
</filter> 
56
Комбинация фильтров 
<filter id="f2"> 
<feGaussianBlur result="a1" stdDeviation="3" /> 
<feColorMatrix in="a1" type="saturate" values="0"> 
</feColorMatrix> 
</filter> 
57
Типы SVG- 
фильтров 
<fe…Фильтр>
feComponentTransfer
feComponentTransfer 
<feComponentTransfer> 
<feFuncR type="linear" slope="5" intercept="‐0.5"/> 
<feFuncG type="linear" slope="0.2"/> 
<feFuncB type="linear" slope="0.2"/> 
<feFuncA type="identity"/> 
</feComponentTransfer> 
61
feComponentTransfer 
<feComponentTransfer> 
<feFuncA type="linear" slope="0.5"/> 
</feComponentTransfer> 
63
feComponentTransfer 
<feComponentTransfer> 
<feFuncR type="linear" slope="0"/> 
<feFuncG type="linear" slope="0"/> 
<feFuncB type="linear" slope="1"/> 
</feComponentTransfer> 
65
feComponentTransfer 
<feComponentTransfer> 
<feFuncR type="linear" slope="10" intercept="‐4"/> 
<feFuncG type="linear" slope="1.5" intercept="1"/> 
<feFuncB type="linear" slope="2" intercept="‐1"/> 
</feComponentTransfer> 
67
feComponentTransfer 
<feComponentTransfer> 
<feFuncR type="discrete" tableValues="0 0.5 1"/> 
<feFuncG type="discrete" tableValues="0 0.5 1"/> 
<feFuncB type="discrete" tableValues="0 0.5 1"/> 
</feComponentTransfer> 
69
feComponentTransfer 
<feComponentTransfer> 
<feFuncR type="table" tableValues="1 0"/> 
<feFuncG type="table" tableValues="1 0"/> 
<feFuncB type="table" tableValues="1 0"/> 
</feComponentTransfer> 
71
feComponentTransfer 
<feComponentTransfer> 
<feFuncR 
type="gamma" 
amplitude="2" 
exponent="0.5" 
offset="0.2" 
/> 
</feComponentTransfer> 
73
feColorMatrix
feColorMatrix 
| R' | | a00 a01 a02 a03 a04 | | R | 
| G' | | a10 a11 a12 a13 a14 | | G | 
| B' | = | a20 a21 a22 a23 a24 | * | B | 
| A' | | a30 a31 a32 a33 a34 | | A | 
| 1 | | 0 0 0 0 1 | | 1 | 
76
feColorMatrix 
<feColorMatrix 
type="matrix" 
values=" 
0.343 0.669 0.119 0 0 
0.249 0.626 0.130 0 0 
0.172 0.334 0.111 0 0 
0 0 0 1 0 
"/> 
77
Умножать на матрицу, что-бы 
сделать картинку чёрно-белой? о_О
<feColorMatrix type="saturate" values="0" />
<feColorMatrix type="saturate" values="4" />
<feColorMatrix type="saturate" values="50" />
<feColorMatrix type="hueRotate" values="0" />
<feColorMatrix type="hueRotate" values="120" />
<feColorMatrix type="hueRotate" values="240" />
<feColorMatrix type="hueRotate" values="320" />
<feColorMatrix type="luminanceToAlpha" />
feConvolveMatrix
feConvolveMatrix 
<feConvolveMatrix order="3" 
kernelMatrix="1 ‐1 1 ‐1 ‐1 ‐1 1 ‐1 1"/> 
1 ‐1 1 
‐1 ‐1 ‐1 
1 ‐1 1 
91
Classic #selfish #duckface
Fixed #selfish #duckface
<feConvolveMatrix order="3" 
kernelMatrix="1 ‐1 1 ‐1 ‐0.1 ‐1 1 ‐1 1"/>
<feConvolveMatrix order="3" 
kernelMatrix="9 0 0 0 1 0 0 0 ‐9"/>
<feConvolveMatrix order="3" 
kernelMatrix="‐1 ‐1 ‐1 ‐1 7 ‐1 ‐1 ‐1 ‐1"/>
<feConvolveMatrix order="5" 
kernelMatrix="1 1 1 1 1 1 ‐2 ‐2 ‐2 1 1 ‐2 0 ‐2 1 1 ‐2 ‐2 ‐2 1 1 1 1 1 1"/>
feComposite
feComposite 
<feComposite 
in="source1" 
in2="source2" 
operator="xor"/> 
99
over 
in 
out 
atop 
xor 
arithmetic 
k1="0" k2="1" k3="-1" k4="1" 
arithmetic 
k1=".5" k2=".5" k3=".5" k4=".5" 
arithmetic 
k1="0" k2="1" k3="1" k4="0" 
100
feBlend
feBlend 
<feBlend 
in="source1" 
in2="source2" 
mode="lighten"/> 
102
Blend modes 
normal 
screen 
multiply 
lighten 
darken 
103
feTile
feTile 
<feTile in="source" /> 
105
feDisplacementMap
feDisplacementMap 
109
feDisplacementMap 
110
Красный канал. 20 градусов 
111
Cиний канал. -20 градусов 
112
+ Неподвижный зеленый 
113
Happy face 
114
Happy face 
115
Happy face lvl 40 
116
Happy face lvl80 
117
Возможности 
анимации
Синтаксис для SVG анимаций 
<feColorMatrix type="saturate" values="0.2"> 
</feColorMatrix> 
119
Синтаксис для SVG анимаций 
<feColorMatrix type="saturate" values="0.2"> 
<animate attributeName="values" /> 
</feColorMatrix> 
120
Синтаксис для SVG анимаций 
<feColorMatrix type="saturate" values="0.2"> 
<animate attributeName="values" /> 
</feColorMatrix> 
121
Синтаксис для SVG анимаций 
<feColorMatrix type="saturate" values="0.2"> 
<animate 
attributeName="values" 
values="0;5;0" 
dur="2s" 
repeatCount="indefinite"/> 
</feColorMatrix> 
122
Анимация feColorMatrix 
123
Анимация feMorphology radius 
124
Анимация feDisplacementMap scale 
125
Немного хипстерства 
для примера
Достоинства SVG-фильтров и 
почему мы выбрали их 
1. Быстрые. 
2. Не нужно никаких дополнительных библиотек. 
3. Поддержка разветвленных структур. 
4. Cупер-возможности, огромная спецификация. 
5. Встроенная поддержка анимаций. 
6. Возможность фильтрации картинок с любых 
доменов. 
138
Недостатки SVG-фильтров 
1. IE10+, встроенный браузер на Android 4.4+ 
2. Необходимость вкладывать изображение 
внуть SVG 
139
SVG- 
фильтры 
для html
<svg> 
<defs> 
<filter id="f1"> 
<feGaussianBlur stdDeviation="10"/> 
</filter> 
</defs> 
</svg> 
img { 
‐webkit‐filter: url(#f1); 
filter: url(#f1); 
} 
141
<svg> 
<defs> 
<filter id="f1"> 
<feGaussianBlur stdDeviation="10 0"/> 
</filter> 
</defs> 
</svg> 
div { 
‐webkit‐filter: url(#f1); 
filter: url(#f1); 
} 
142
Вопросы?
facebook.com/html5by 
twitter.com/html5by 
vk.com/html5by 
146

More Related Content

What's hot

Опыт разработки эффективного SPA
Опыт разработки эффективного SPAОпыт разработки эффективного SPA
Опыт разработки эффективного SPAEugene Abrosimov
 
Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...
Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...
Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...Ontico
 
Maksim Shirshin
Maksim ShirshinMaksim Shirshin
Maksim Shirshinyaevents
 
Владимир Варанкин — «БЭМ»
Владимир Варанкин — «БЭМ»Владимир Варанкин — «БЭМ»
Владимир Варанкин — «БЭМ»Yandex
 
Максим Ширшин "SVARX, или Борьба с большими формами"
Максим Ширшин "SVARX, или Борьба с большими формами"Максим Ширшин "SVARX, или Борьба с большими формами"
Максим Ширшин "SVARX, или Борьба с большими формами"Yandex
 
Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"Yandex
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!Roman Dvornov
 
Js templating stepan_reznikov
Js templating stepan_reznikovJs templating stepan_reznikov
Js templating stepan_reznikovyaevents
 
Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4Technopark
 
Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"
Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"
Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"Yandex
 
Пластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать житьПластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать житьMoscow.pm
 
Web осень 2013 лекция 8
Web осень 2013 лекция 8Web осень 2013 лекция 8
Web осень 2013 лекция 8Technopark
 
Yii2
Yii2Yii2
Yii2Noveo
 
Как мы уменьшили сложность наших проектов
Как мы уменьшили сложность наших проектовКак мы уменьшили сложность наших проектов
Как мы уменьшили сложность наших проектовBoris Tsema
 
Разработка на стероидах или как я перестал бояться и полюбил свою IDE
Разработка на стероидах или как я перестал бояться и полюбил свою IDEРазработка на стероидах или как я перестал бояться и полюбил свою IDE
Разработка на стероидах или как я перестал бояться и полюбил свою IDEMagento Dev
 

What's hot (19)

Kranonit s16 (python). dmitry furzenko
Kranonit s16 (python). dmitry furzenkoKranonit s16 (python). dmitry furzenko
Kranonit s16 (python). dmitry furzenko
 
Опыт разработки эффективного SPA
Опыт разработки эффективного SPAОпыт разработки эффективного SPA
Опыт разработки эффективного SPA
 
Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...
Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...
Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...
 
Maksim Shirshin
Maksim ShirshinMaksim Shirshin
Maksim Shirshin
 
Владимир Варанкин — «БЭМ»
Владимир Варанкин — «БЭМ»Владимир Варанкин — «БЭМ»
Владимир Варанкин — «БЭМ»
 
Максим Ширшин "SVARX, или Борьба с большими формами"
Максим Ширшин "SVARX, или Борьба с большими формами"Максим Ширшин "SVARX, или Борьба с большими формами"
Максим Ширшин "SVARX, или Борьба с большими формами"
 
Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!
 
Js templating stepan_reznikov
Js templating stepan_reznikovJs templating stepan_reznikov
Js templating stepan_reznikov
 
Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4
 
Javascript
JavascriptJavascript
Javascript
 
Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"
Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"
Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"
 
Пластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать житьПластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать жить
 
Web осень 2013 лекция 8
Web осень 2013 лекция 8Web осень 2013 лекция 8
Web осень 2013 лекция 8
 
Yii2
Yii2Yii2
Yii2
 
Как мы уменьшили сложность наших проектов
Как мы уменьшили сложность наших проектовКак мы уменьшили сложность наших проектов
Как мы уменьшили сложность наших проектов
 
Почему Mojolicious?
Почему Mojolicious?Почему Mojolicious?
Почему Mojolicious?
 
Authentication security
Authentication securityAuthentication security
Authentication security
 
Разработка на стероидах или как я перестал бояться и полюбил свою IDE
Разработка на стероидах или как я перестал бояться и полюбил свою IDEРазработка на стероидах или как я перестал бояться и полюбил свою IDE
Разработка на стероидах или как я перестал бояться и полюбил свою IDE
 

Viewers also liked

s&p500mini stocks
s&p500mini stockss&p500mini stocks
s&p500mini stocksMestro
 
Instagram как топовая платформа для продвижения в 2014
Instagram как топовая платформа для продвижения в 2014Instagram как топовая платформа для продвижения в 2014
Instagram как топовая платформа для продвижения в 2014Pomelo Fashion
 
Instagram как основная площадка конкурсной активности
Instagram как основная площадка конкурсной активностиInstagram как основная площадка конкурсной активности
Instagram как основная площадка конкурсной активностиYuriy Kireenko
 
LYF-Comp_Plan.pdf
LYF-Comp_Plan.pdfLYF-Comp_Plan.pdf
LYF-Comp_Plan.pdfWEBCAPITAL
 
заработок в Instagram
заработок в Instagramзаработок в Instagram
заработок в InstagramRoman Kreidich
 
5 простых работающих конкурсов в instagram
5 простых работающих конкурсов в instagram5 простых работающих конкурсов в instagram
5 простых работающих конкурсов в instagramНаталия Курбатова
 
instagram для бизнеса
instagram для бизнесаinstagram для бизнеса
instagram для бизнесаBusiness.People
 
ГЕЙМИФИКАЦИЯ В УЗКОМ МЕСТЕ
ГЕЙМИФИКАЦИЯ В УЗКОМ МЕСТЕГЕЙМИФИКАЦИЯ В УЗКОМ МЕСТЕ
ГЕЙМИФИКАЦИЯ В УЗКОМ МЕСТЕRyba Tut Digital Agency
 
Знаки,жесты
Знаки,жестыЗнаки,жесты
Знаки,жестыMestro
 
Что такое инстаграм и с чем его едят
Что такое инстаграм и с чем его едятЧто такое инстаграм и с чем его едят
Что такое инстаграм и с чем его едятKonstantin Pinaev
 
Cобственная рекламная сеть в Instagram
Cобственная рекламная сеть в InstagramCобственная рекламная сеть в Instagram
Cобственная рекламная сеть в InstagramЛюбовь Черемисина
 
Таня Иванова "Продвижение своего бизнеса в Instagram" @ HB Conf 2014
Таня Иванова "Продвижение своего бизнеса в Instagram" @ HB Conf 2014Таня Иванова "Продвижение своего бизнеса в Instagram" @ HB Conf 2014
Таня Иванова "Продвижение своего бизнеса в Instagram" @ HB Conf 2014Hello, Blogger
 
Продвижение своего бизнеса в Instagram: от 0 до бесконечности
Продвижение своего бизнеса в Instagram: от 0 до бесконечностиПродвижение своего бизнеса в Instagram: от 0 до бесконечности
Продвижение своего бизнеса в Instagram: от 0 до бесконечностиGrushaconf
 
Продажи в Instagram - Продвижение в Инстаграм
Продажи в Instagram - Продвижение в ИнстаграмПродажи в Instagram - Продвижение в Инстаграм
Продажи в Instagram - Продвижение в ИнстаграмDmitriy Begovatov
 
10 способов увеличить количество подписчиков в instagram
10 способов увеличить количество подписчиков в instagram 10 способов увеличить количество подписчиков в instagram
10 способов увеличить количество подписчиков в instagram Наталия Курбатова
 
методы монетизации интернет проектов
методы монетизации интернет проектовметоды монетизации интернет проектов
методы монетизации интернет проектовТранслируем.бел
 

Viewers also liked (20)

s&p500mini stocks
s&p500mini stockss&p500mini stocks
s&p500mini stocks
 
Instagram как топовая платформа для продвижения в 2014
Instagram как топовая платформа для продвижения в 2014Instagram как топовая платформа для продвижения в 2014
Instagram как топовая платформа для продвижения в 2014
 
Instagram как основная площадка конкурсной активности
Instagram как основная площадка конкурсной активностиInstagram как основная площадка конкурсной активности
Instagram как основная площадка конкурсной активности
 
Great news! (instagram)
Great news! (instagram)Great news! (instagram)
Great news! (instagram)
 
LYF-Comp_Plan.pdf
LYF-Comp_Plan.pdfLYF-Comp_Plan.pdf
LYF-Comp_Plan.pdf
 
Instagram за миллиард
Instagram за миллиардInstagram за миллиард
Instagram за миллиард
 
заработок в Instagram
заработок в Instagramзаработок в Instagram
заработок в Instagram
 
5 простых работающих конкурсов в instagram
5 простых работающих конкурсов в instagram5 простых работающих конкурсов в instagram
5 простых работающих конкурсов в instagram
 
Instagram
InstagramInstagram
Instagram
 
instagram для бизнеса
instagram для бизнесаinstagram для бизнеса
instagram для бизнеса
 
ГЕЙМИФИКАЦИЯ В УЗКОМ МЕСТЕ
ГЕЙМИФИКАЦИЯ В УЗКОМ МЕСТЕГЕЙМИФИКАЦИЯ В УЗКОМ МЕСТЕ
ГЕЙМИФИКАЦИЯ В УЗКОМ МЕСТЕ
 
Instagram
InstagramInstagram
Instagram
 
Знаки,жесты
Знаки,жестыЗнаки,жесты
Знаки,жесты
 
Что такое инстаграм и с чем его едят
Что такое инстаграм и с чем его едятЧто такое инстаграм и с чем его едят
Что такое инстаграм и с чем его едят
 
Cобственная рекламная сеть в Instagram
Cобственная рекламная сеть в InstagramCобственная рекламная сеть в Instagram
Cобственная рекламная сеть в Instagram
 
Таня Иванова "Продвижение своего бизнеса в Instagram" @ HB Conf 2014
Таня Иванова "Продвижение своего бизнеса в Instagram" @ HB Conf 2014Таня Иванова "Продвижение своего бизнеса в Instagram" @ HB Conf 2014
Таня Иванова "Продвижение своего бизнеса в Instagram" @ HB Conf 2014
 
Продвижение своего бизнеса в Instagram: от 0 до бесконечности
Продвижение своего бизнеса в Instagram: от 0 до бесконечностиПродвижение своего бизнеса в Instagram: от 0 до бесконечности
Продвижение своего бизнеса в Instagram: от 0 до бесконечности
 
Продажи в Instagram - Продвижение в Инстаграм
Продажи в Instagram - Продвижение в ИнстаграмПродажи в Instagram - Продвижение в Инстаграм
Продажи в Instagram - Продвижение в Инстаграм
 
10 способов увеличить количество подписчиков в instagram
10 способов увеличить количество подписчиков в instagram 10 способов увеличить количество подписчиков в instagram
10 способов увеличить количество подписчиков в instagram
 
методы монетизации интернет проектов
методы монетизации интернет проектовметоды монетизации интернет проектов
методы монетизации интернет проектов
 

Similar to Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware

Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщикаmcslayer
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Yandex
 
Михаил Черномордиков Ie9
Михаил Черномордиков   Ie9Михаил Черномордиков   Ie9
Михаил Черномордиков Ie9Siel01
 
Moscow js 26 webpack
Moscow js 26   webpackMoscow js 26   webpack
Moscow js 26 webpacklgordey
 
MoscowJS 26 webpack presentation
MoscowJS 26 webpack presentationMoscowJS 26 webpack presentation
MoscowJS 26 webpack presentationlgordey
 
Цена ошибки
Цена ошибкиЦена ошибки
Цена ошибкиAndrey Karpov
 
CSS-менеджмент в 2016
CSS-менеджмент в 2016CSS-менеджмент в 2016
CSS-менеджмент в 2016Timophy Chaptykov
 
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"Dev2Dev
 
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИССуперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИСYandex
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Yandex
 
PHP Tricks
PHP TricksPHP Tricks
PHP TricksBlackFan
 
SAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в кодеSAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в кодеAndrey Karpov
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruYandex
 
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVCАрхитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVCDevDay
 
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScriptCSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScriptAlexey Ivanov
 
Кроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети ЯндексаКроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети ЯндексаMedia Gorod
 
Автоматизация разработки курсов: путь от рутины к игре
Автоматизация разработки курсов: путь от рутины к игреАвтоматизация разработки курсов: путь от рутины к игре
Автоматизация разработки курсов: путь от рутины к игреAlexey Simonenko
 
CSSO — минимизируем CSS
 CSSO — минимизируем CSS CSSO — минимизируем CSS
CSSO — минимизируем CSSRoman Dvornov
 

Similar to Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware (20)

Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
 
Михаил Черномордиков Ie9
Михаил Черномордиков   Ie9Михаил Черномордиков   Ie9
Михаил Черномордиков Ie9
 
Moscow js 26 webpack
Moscow js 26   webpackMoscow js 26   webpack
Moscow js 26 webpack
 
MoscowJS 26 webpack presentation
MoscowJS 26 webpack presentationMoscowJS 26 webpack presentation
MoscowJS 26 webpack presentation
 
Цена ошибки
Цена ошибкиЦена ошибки
Цена ошибки
 
Цена ошибки
Цена ошибкиЦена ошибки
Цена ошибки
 
CSS-менеджмент в 2016
CSS-менеджмент в 2016CSS-менеджмент в 2016
CSS-менеджмент в 2016
 
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
D2D Pizza JS Тимофей Чаптыков "CSS-менеджмент в 2016"
 
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИССуперсилы Chrome DevTools — Роман Сальников, 2ГИС
Суперсилы Chrome DevTools — Роман Сальников, 2ГИС
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"
 
PHP Tricks
PHP TricksPHP Tricks
PHP Tricks
 
SAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в кодеSAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в коде
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
 
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVCАрхитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
 
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScriptCSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
 
Кроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети ЯндексаКроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети Яндекса
 
Автоматизация разработки курсов: путь от рутины к игре
Автоматизация разработки курсов: путь от рутины к игреАвтоматизация разработки курсов: путь от рутины к игре
Автоматизация разработки курсов: путь от рутины к игре
 
CSSO — минимизируем CSS
 CSSO — минимизируем CSS CSSO — минимизируем CSS
CSSO — минимизируем CSS
 

More from Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...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
 
Эталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовЭталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовYandex
 

More from Yandex (20)

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

Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware