SlideShare una empresa de Scribd logo
1 de 97
Descargar para leer sin conexión
Современный станок верстальщика

Николай Птущук
Евгений Батовский




Я.Субботник, Киев, 5 мая 2012 года
2
3
4
5
Наш современный станок




6
Наш современный станок

— Аналитика пользователей




  6
Наш современный станок

— Аналитика пользователей
— Зоопарк браузеров




  6
Наш современный станок

— Аналитика пользователей
— Зоопарк браузеров
— Оптимизация



  6
Наш современный станок

— Аналитика пользователей
— Зоопарк браузеров
— Оптимизация
— Сопровождение


  6
Аналитика пользователей
Safari
Opera         1%
          16%     27%      IE

          30%    20%
Firefox                 Chrome
8
Firefox         Chrome            IE       Opera          Safari
  12 – 1,7%      18 – 12,6%     9 – 9,7%    11.6 – 14,3%   5 – 0,7%

 11 – 13,9%      17 – 5,4%      8 – 12,9%   11.5 – 1,4%

  10 – 2,8%      16 – 0,9%       7 – 3%     11.1 – 0,6%

  9 – 1,8%       15 – 0,6%      6 – 1,7%

  8 – 1,3%

7,6,5,4 – 0,7%                       > 0,5%
 3.6 – 4,3%

 3.5 – 0,9%                   Итого 23 браузера
   9
10
11
Graceful degradation




12
Graceful degradation

— Доступные контент и функциональность




  12
Graceful degradation

— Доступные контент и функциональность
— Браузерозависимые стили




  12
13
Зоопарк браузеров
БРАУЗЕРЫ




15
     Ну почему вас так много?
Как проверяем верстку




16
Как проверяем верстку

1 верстальщик = 7 компьютеров




16
Как проверяем верстку

1 верстальщик = 7 компьютеров
30 верстальщиков = 210 компьютеров




16
Это почти правда




17
Кто они — наши пользователи?




18
19
19
19
забывают
     обновлять
     браузер


20
устанавливают
     альфа и бета
     версии




21
свой набор медиа
     плагинов, «баров»




22
собственные сборки
     браузера




23
24
Разработчику нужно быть
ближе к пользователю




25
Разработчик интерфейсов?
ORLY?
Установи JAWS, какой-нибудь сниффер http/
https, Fiddler к примеру,
прокси сервер туда же для отладки, privoxy и
OpenVPN туннель еще нужен...




26
Разработчик интерфейсов?
  ORLY?
— Протестировать страницы для печати
— Проверить адаптивность страниц
— Настроить браузеры «под себя»



  27
28
29
Образы виртуальных машин MS VPC




                  clck.ru/10L4i




30
MS VPC + VirtualBox = ievms




                     clck.ru/10L6k




31
MS Windows XP IE6

     MS Windows Vista IE7

     MS Windows 7 IE8

     MS Windows 7 IE9



32
Универсальные комбайны

IETester
Multiply IE
IECollection
Adobe BrowserLab


33
Виртуализация приложений

               Wine
                           VMWare
                           ThinApp




34
Виртуализация приложений

                        Wine
                                         VMWare
                                         ThinApp




     Novell ZENWorks Application Virtualisation
34
Выбор платформы для
виртуализации ОС




35
Выбор платформы для
виртуализации ОС




35
Выбор платформы для
виртуализации ОС




35
Выбор платформы для
виртуализации ОС




35
2048 Mб памяти
     15 Гб на диске



36
MS Windows Volume Licence
     7 Pro 32-bit

     ZENworks Application
     Virtualization User License +
     1-Year Standard Maintenance


37
IE9
     IE8
     IE7
     IE6


     + Developer ToolBar


38
releases.mozilla.org/pub/
     mozilla.org/firefox/releases/
     firefox.exe -p FF3016
     FireFox/3016/


     + FireBug


39
ftp.opera.com/pub/

     Opera/11.01/opera.exe




     + DragonFly


40
google.com/chrome
     oldapps.com
     portableapps.com



     + Web Inspector


41
www.andlinux.org




42
Оптимизация
46
47
48
Каждый день консоль!

ssh, tcpdump, find, sed, awk, svn/
git/hg, ack, shell script, make,
node, npm...




49
UglifyJS

 github.com/mishoo/UglifyJS




50
как работает uglifyjs

> uglifyjs -o blockA.js blockB.js js/script.js




51
reset.css

body { ... }
ol, ul { ... }
table { ... }




52
layout.css

.wrapper { ... }
.column-left { ... }
.column-right { ... }




53
style.css

.header { ... }
.content { ... }
.footer { ... }




54
подключение стилей

<link rel="stylesheet" href="reset.css">
<link rel="stylesheet" href="layout.css">
<link rel="stylesheet" href="style.css">




55
style.css

@import "reset.css";
@import "layout.css";
.header { ... }
.content { ... }
.footer { ... }

56
borschik

     github.com/veged/borschik



57
как работает borschik

> borschik -t css -i style.css -o main.css




58
main.css

body { ... }           .column-right { ... }
ol, ul { ... }         .header { ... }
table { ... }          .content { ... }
.wrapper { ... }       .footer { ... }
.column-left { ... }

59
style.css

.block
{
  margin: 20px;
  color: #f00;
  margin-bottom: 25px;
  font-size: 0.6em;
}

60
csso

     github.com/css/csso



61
style.css

.block
{
  margin: 20px;
  color: #f00;
  margin-bottom: 25px;
  font-size: 0.6em;
}

62
как работает csso

> csso -i style.css -o main.css




63
main.css

.block{color:red;margin:20px 20px
25px;font-size:.6em}




64
как работает csso

margin: 20px;
margin-bottom: 25px;




margin: 20px 20px 25px;


65
как работает csso

color: #f00;




color: red;



66
папка с картинками

images/
  logo.png

css/
  style.css



67
style.css

.logo
{
  background:
    url(/images/logo.png);
}



68
перенос картинок

images/




static/img/



69
cssrb

     github.com/afelix/cssrb



70
.cssrb.js

exports.config = {
  fromBase: '/Users/user/site/images/',
  toBase: '/Users/user/site/static/img/',
  patterns: {
     '^/?images': '/static/img/'
  }
}



   71
как работает cssrb

> cssrb -c .cssrb.js style.css main.css -mv




72
style.css

.logo
{
  background:
    url(/static/img/logo.png);
}



73
оптимизация картинок

imagemagick      advpng
pngout           jpegtran
optipng          gifsicle
pngrewrite       pngnq
exiftool         defluff

74
imgo

     github.com/imgo/imgo



75
как работает imgo

> imgo images/




76
как работает imgo

Result:
 Processed: 13 files of 13, total size 1520795 bytes
 Profit: 146579 bytes (9%)
 Total time: 00:00:51 (HH:MM:SS)



77
Дальнейшая поддержка кода
BEM

 bem.github.com/bem-method/
 clubs.ya.ru/bem/


79
BEM-Tools




80
BEM-Tools

 github.com/bem/bem-tools




80
BEM-Tools

 github.com/bem/bem-tools

 > bem server

80
Вопросы?

 Николай Птущук           Евгений Батовский




mcslayer@yandex-team.ru   uncleb@yandex-team.ru

    mcslayer                  batovsky

Más contenido relacionado

La actualidad más candente

Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Pavel Chertorogov
 
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Ontico
 
Webpack integration
Webpack integrationWebpack integration
Webpack integrationIllia Zub
 
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыCтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыWordCamp Kyiv
 
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановКомпонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановMoscowJS
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Vladimir Malyk
 
Фронтенд разработка без боли
Фронтенд разработка без болиФронтенд разработка без боли
Фронтенд разработка без болиAnton Piskunov
 
Вредные советы для разработчиков
Вредные советы для разработчиковВредные советы для разработчиков
Вредные советы для разработчиковITCrowd Almaty
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаITCrowd Almaty
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаendeveit
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17MoscowJS
 
Обзор интернет браузеров
Обзор интернет браузеровОбзор интернет браузеров
Обзор интернет браузеровAlina Kolosova
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разTimur Batyrshin
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времениAndriy Samilyak
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"Provectus
 
Обучение фронтенд разработке
Обучение фронтенд разработкеОбучение фронтенд разработке
Обучение фронтенд разработкеITCrowd Almaty
 
Как Webpack сделал меня счастливее
Как Webpack сделал меня счастливееКак Webpack сделал меня счастливее
Как Webpack сделал меня счастливееYaroslav Serhieiev
 
NPM и модульная архитектура приложения
NPM и модульная архитектура приложенияNPM и модульная архитектура приложения
NPM и модульная архитектура приложенияDenis Latushkin
 

La actualidad más candente (20)

Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
 
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
 
Webpack integration
Webpack integrationWebpack integration
Webpack integration
 
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей средыCтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
 
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид ШирмановКомпонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
 
Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?Современный фронтенд -- как не утонуть в море хайпа?
Современный фронтенд -- как не утонуть в море хайпа?
 
Фронтенд разработка без боли
Фронтенд разработка без болиФронтенд разработка без боли
Фронтенд разработка без боли
 
Вредные советы для разработчиков
Вредные советы для разработчиковВредные советы для разработчиков
Вредные советы для разработчиков
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
 
non-blocking java script
non-blocking java scriptnon-blocking java script
non-blocking java script
 
Обзор интернет браузеров
Обзор интернет браузеровОбзор интернет браузеров
Обзор интернет браузеров
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
 
Обучение фронтенд разработке
Обучение фронтенд разработкеОбучение фронтенд разработке
Обучение фронтенд разработке
 
Как Webpack сделал меня счастливее
Как Webpack сделал меня счастливееКак Webpack сделал меня счастливее
Как Webpack сделал меня счастливее
 
NPM и модульная архитектура приложения
NPM и модульная архитектура приложенияNPM и модульная архитектура приложения
NPM и модульная архитектура приложения
 
Drupal conf2011 2_kolosov
Drupal conf2011 2_kolosovDrupal conf2011 2_kolosov
Drupal conf2011 2_kolosov
 

Destacado

Communicate Levant: On The Slack Track
Communicate Levant: On The Slack TrackCommunicate Levant: On The Slack Track
Communicate Levant: On The Slack TrackThink Media Labs
 
Enhancing CSO National Dialogue and Collaboration via Social Media
Enhancing CSO National Dialogue and Collaboration via Social MediaEnhancing CSO National Dialogue and Collaboration via Social Media
Enhancing CSO National Dialogue and Collaboration via Social MediaThink Media Labs
 
Government Social Media Conference - June2011
Government Social Media Conference - June2011Government Social Media Conference - June2011
Government Social Media Conference - June2011Think Media Labs
 
Communicate Levant: Hush-tagging
Communicate Levant: Hush-taggingCommunicate Levant: Hush-tagging
Communicate Levant: Hush-taggingThink Media Labs
 
When Lebanese Politicians Tweet
When Lebanese Politicians TweetWhen Lebanese Politicians Tweet
When Lebanese Politicians TweetThink Media Labs
 
Parents, educators welcome Facebook for kids
Parents, educators welcome Facebook for kidsParents, educators welcome Facebook for kids
Parents, educators welcome Facebook for kidsThink Media Labs
 
McDonald's Lebanon Middle East's Customer Festival 19 November 2014
McDonald's Lebanon Middle East's Customer Festival 19 November 2014McDonald's Lebanon Middle East's Customer Festival 19 November 2014
McDonald's Lebanon Middle East's Customer Festival 19 November 2014Think Media Labs
 

Destacado (7)

Communicate Levant: On The Slack Track
Communicate Levant: On The Slack TrackCommunicate Levant: On The Slack Track
Communicate Levant: On The Slack Track
 
Enhancing CSO National Dialogue and Collaboration via Social Media
Enhancing CSO National Dialogue and Collaboration via Social MediaEnhancing CSO National Dialogue and Collaboration via Social Media
Enhancing CSO National Dialogue and Collaboration via Social Media
 
Government Social Media Conference - June2011
Government Social Media Conference - June2011Government Social Media Conference - June2011
Government Social Media Conference - June2011
 
Communicate Levant: Hush-tagging
Communicate Levant: Hush-taggingCommunicate Levant: Hush-tagging
Communicate Levant: Hush-tagging
 
When Lebanese Politicians Tweet
When Lebanese Politicians TweetWhen Lebanese Politicians Tweet
When Lebanese Politicians Tweet
 
Parents, educators welcome Facebook for kids
Parents, educators welcome Facebook for kidsParents, educators welcome Facebook for kids
Parents, educators welcome Facebook for kids
 
McDonald's Lebanon Middle East's Customer Festival 19 November 2014
McDonald's Lebanon Middle East's Customer Festival 19 November 2014McDonald's Lebanon Middle East's Customer Festival 19 November 2014
McDonald's Lebanon Middle East's Customer Festival 19 November 2014
 

Similar a Cовременный станок верстальщика

Современный станок верстальщика
Современный станок верстальщикаСовременный станок верстальщика
Современный станок верстальщикаOdessaFrontend
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Ontico
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Вёрстка для мобильных телефонов
Вёрстка для мобильных телефоновВёрстка для мобильных телефонов
Вёрстка для мобильных телефоновtoWave.ru
 
Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"Yandex
 
Денис Паясь
Денис ПаясьДенис Паясь
Денис ПаясьCodeFest
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация4ertenka
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация4ertenka
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven developmentTestableapple
 
Эволюция BackDoor.Flashback
Эволюция BackDoor.FlashbackЭволюция BackDoor.Flashback
Эволюция BackDoor.Flashbackhexminer
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими рукамиRoman Dvornov
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funAlexandr Khotemskoy
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...Ontico
 
webpack: 7 бед - один ответ
webpack: 7 бед - один ответwebpack: 7 бед - один ответ
webpack: 7 бед - один ответDenis Izmaylov
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Yandex
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Alexey Bokov
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 

Similar a Cовременный станок верстальщика (20)

Современный станок верстальщика
Современный станок верстальщикаСовременный станок верстальщика
Современный станок верстальщика
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Вёрстка для мобильных телефонов
Вёрстка для мобильных телефоновВёрстка для мобильных телефонов
Вёрстка для мобильных телефонов
 
Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"Наталия Макишвили "Вёрстка для мобильных устройств"
Наталия Макишвили "Вёрстка для мобильных устройств"
 
Денис Паясь
Денис ПаясьДенис Паясь
Денис Паясь
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven development
 
Эволюция BackDoor.Flashback
Эволюция BackDoor.FlashbackЭволюция BackDoor.Flashback
Эволюция BackDoor.Flashback
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими руками
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double fun
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
 
Little Service in 2h
Little Service in 2hLittle Service in 2h
Little Service in 2h
 
webpack: 7 бед - один ответ
webpack: 7 бед - один ответwebpack: 7 бед - один ответ
webpack: 7 бед - один ответ
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 

Cовременный станок верстальщика