SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Drupal Code Sprint
Быстрый старт
Фигачить или
педалить?
Что такое код-спринт?
Бег?
Плавание?
Изнеможение?
Победа?
А может это...
или...
Скорее это похоже на...
...программирование
Инструменты
LAMP
WAMP
MAMP
Acquia Dev Desktop для Mac или Windows:
http://www.acquia.com/downloads
Drupal Quickstart - настроенная виртуальная Linux машина
http://drupal.org/project/quickstart
LAMP своими руками:
http://vmirgorod.name/blog/setting-drupal-development-environment-based-
ubuntu-1010
Улучшаем производительность:
SSD + http://vmirgorod.name/blog/boosted-lamp-drupal-devs
Сервер для разработки
GIT
Извлечь проект:
git clone --branch 8.x http://git.drupal.org/project/drupal.git
Применить патч:
patch -p1 < some-patch-1860434-33.patch
Создать патч:
git add <modified.file>
git diff --cached > some-patch-1860434-35.patch
git reset <modified.file>
Как должен быть настроен Git:
http://drupal.org/documentation/git/configure
Работа с GIT
Как правильно именовать патчи:
[project_name]-[short-description]-[issue-number]-[comment-number].patch
Графические клиенты GIT:
http://git-scm.com/downloads/guis
Еще:
http://drupal.org/project/drupal/git-instructions
http://drupal.org/node/707484
Работа с GIT
Devel
Coder
Drush
Dreditor
IRC
IRC
Жизнь - это общение, а общение - это IRC.
Сервер:
http://freenode.net
Drupal каналы:
#drupal, #drupal-contribute
http://drupal.org/irc
Веб интерфейс:
http://webchat.freenode.net
X-Chat (IRC клиент)
Стандарты кодирования
Стандарты
кодирования
С т а н д а
р т ы к о
д и р о в а
н и я !
http://drupal.org/coding-standards
Процесс
1. Заходим сюда http://drupal.org/community-
initiatives/drupal-core.
2. Знакомимся с инициативами и ментейнерами.
Выбираем инициативу
1. Допустим, нам понравилась мобильная инициатива
и мы изучили её roadmap и почитали новости.
2. Смотрим на список заданий: http://drupal.
org/project/issues/search/drupal?status[]=Open&version
[]=8.x&issue_tags=mobile
3. Выбираем то задание, которое:
a. Нам понятно.
b. Его еще не успели сделать.
c. Имеет статус active или needs work.
4. Заходим на IRC канал #drupal-mobile и интересуемся
кто еще работает над этой задачей в данный
момент.
Выбираем задачу
1. Заходим на страницу задачи.
2. Изучаем что нужно сделать и что готово.
3. Обновляем репозиторий до последней версии.
4. Применяем последний патч, если он был.
5. Кодируем (пишем тест).
6. Выкладываем новый патч.
7. Меняеем статус задания на needs review.
8. Ждем отклика от системы тестирования и от
разработчиков.
9. Пишем в IRC канале, что справились с заданием и
просим рябят сделать проверку.
10. Если все ОК, пачт, добавят в ядро.
Работаем
Проверяем пачти
1. Заходим на страницу задачи со статусом needs
review.
2. Изучаем что было сделано и просматриваем
последний патч, если он не завалил тесты.
3. Читаем описание задачи, убеждаясь в том, что патч
решает задачу.
4. Проверяем патч на соблюдение стандартов
кодирования с помощью Dreditor.
5. Пишем наш отклик о патче.
6. Меняем статус в случае необходимости на needs
work или reviewed and tested by community.
Сокращения
1. RTBC - Ready to Be Committed.
Инициативы:
2. WSCCI (aka "Whiskey") - Web Services & Context Core
Initiative.
3. SCOTCH - Blocks & Layouts Everywhere Initiative.
4. VODKA - Views in Core Initiative.
5. RUM - Responsive User Mobile Initiative.
Донецк
IZOLAB
28 апреля 2013
Вадим Миргород
dealancer@gmail.com
@dealancer

Contenu connexe

Tendances

Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Ontico
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
Timur Batyrshin
 
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
7bits
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
Alexander Kirillov
 
Optimizaciya vremeni zagruzki_azat_razetdinov
Optimizaciya vremeni zagruzki_azat_razetdinovOptimizaciya vremeni zagruzki_azat_razetdinov
Optimizaciya vremeni zagruzki_azat_razetdinov
yaevents
 

Tendances (19)

Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy PetrukAngular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
Angular into drupal integration - Eugene Mickhnitskyy & Dmitriy Petruk
 
"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий Мантула"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий Мантула
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
 
Moscow js 26 webpack
Moscow js 26   webpackMoscow js 26   webpack
Moscow js 26 webpack
 
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
JS Lab2017_Redux: время двигаться дальше?_Екатерина ЛизогубоваJS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
 
50 оттенков play!
50 оттенков play!50 оттенков play!
50 оттенков play!
 
How to build solid CI-CD pipeline / Илья Беда (beda.software)
How to build solid CI-CD pipeline / Илья Беда (beda.software)How to build solid CI-CD pipeline / Илья Беда (beda.software)
How to build solid CI-CD pipeline / Илья Беда (beda.software)
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
 
Drupal Vs Other
Drupal Vs OtherDrupal Vs Other
Drupal Vs Other
 
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
 
react-native
react-nativereact-native
react-native
 
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
Стажировка-2014, занятие 8. Обзор Sails framework (Node.js)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
2015-11-07 01 Виталий Кравцов. Webpack: человеческий подход к разработке веб ...
2015-11-07 01 Виталий Кравцов. Webpack: человеческий подход к разработке веб ...2015-11-07 01 Виталий Кравцов. Webpack: человеческий подход к разработке веб ...
2015-11-07 01 Виталий Кравцов. Webpack: человеческий подход к разработке веб ...
 
Optimizaciya vremeni zagruzki_azat_razetdinov
Optimizaciya vremeni zagruzki_azat_razetdinovOptimizaciya vremeni zagruzki_azat_razetdinov
Optimizaciya vremeni zagruzki_azat_razetdinov
 
Крыша 2.0
Крыша 2.0Крыша 2.0
Крыша 2.0
 
Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"Svyatoslav Login "How to test authentication and authorization for security"
Svyatoslav Login "How to test authentication and authorization for security"
 

En vedette

Happy ever afters with ci workflow
Happy ever afters with ci workflowHappy ever afters with ci workflow
Happy ever afters with ci workflow
Albina Tiupa
 
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
Drupal на 20-ти мегабайтах или издевательства над Shared HostingDrupal на 20-ти мегабайтах или издевательства над Shared Hosting
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
Andrii Podanenko
 
Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3
Drupal Camp Kyiv
 
Многоязычие сайта на Drupal
Многоязычие сайта на DrupalМногоязычие сайта на Drupal
Многоязычие сайта на Drupal
Drupal Camp Kyiv
 

En vedette (18)

Happy ever afters with ci workflow
Happy ever afters with ci workflowHappy ever afters with ci workflow
Happy ever afters with ci workflow
 
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
Drupal на 20-ти мегабайтах или издевательства над Shared HostingDrupal на 20-ти мегабайтах или издевательства над Shared Hosting
Drupal на 20-ти мегабайтах или издевательства над Shared Hosting
 
Who is here? DrupalCamp Kyiv 2009 opening
Who is here? DrupalCamp Kyiv 2009 openingWho is here? DrupalCamp Kyiv 2009 opening
Who is here? DrupalCamp Kyiv 2009 opening
 
Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3
 
CIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops betterCIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops better
 
Drupal Paranoia
Drupal ParanoiaDrupal Paranoia
Drupal Paranoia
 
Lviv 2013 d7 vs d8
Lviv 2013   d7 vs d8Lviv 2013   d7 vs d8
Lviv 2013 d7 vs d8
 
Многоязычие сайта на Drupal
Многоязычие сайта на DrupalМногоязычие сайта на Drupal
Многоязычие сайта на Drupal
 
Drupal contrib module maintaining
Drupal contrib module maintainingDrupal contrib module maintaining
Drupal contrib module maintaining
 
Live deployment, ci, drupal
Live deployment, ci, drupalLive deployment, ci, drupal
Live deployment, ci, drupal
 
Історія, теорія та використання CMS Drupal
Історія, теорія та використання CMS DrupalІсторія, теорія та використання CMS Drupal
Історія, теорія та використання CMS Drupal
 
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.
 
Drupal Continuous Integration Workflow
Drupal Continuous Integration WorkflowDrupal Continuous Integration Workflow
Drupal Continuous Integration Workflow
 
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration ToolboxDrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
 
природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...
 
Головні Принципи Автоматизації
Головні Принципи АвтоматизаціїГоловні Принципи Автоматизації
Головні Принципи Автоматизації
 
MoldCamp - multidimentional testing workflow. CIBox.
MoldCamp  - multidimentional testing workflow. CIBox.MoldCamp  - multidimentional testing workflow. CIBox.
MoldCamp - multidimentional testing workflow. CIBox.
 
DrupalCamp Kyiv 2009 Official Report
DrupalCamp Kyiv 2009 Official ReportDrupalCamp Kyiv 2009 Official Report
DrupalCamp Kyiv 2009 Official Report
 

Similaire à Drupal code sprint для новичков

развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
guest40e031
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
rit2010
 
Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.
DrupalForumZP2012
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
dddpaul
 

Similaire à Drupal code sprint для новичков (20)

Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
20160303 Hacking PostgreSQL Тема 02 Сообщество PostgreSQL и инструменты разра...
 
Как быть с большими сайтами на Word press
Как быть с большими сайтами  на Word pressКак быть с большими сайтами  на Word press
Как быть с большими сайтами на Word press
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspb
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Breaking logs
Breaking logsBreaking logs
Breaking logs
 
Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"Леонид Васильев "Python в инфраструктуре поиска"
Леонид Васильев "Python в инфраструктуре поиска"
 
Use Grunt Luke
Use Grunt LukeUse Grunt Luke
Use Grunt Luke
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
 
антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
 
Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.
 
CI/CD with Fastlane and Telegram
CI/CD with Fastlane and TelegramCI/CD with Fastlane and Telegram
CI/CD with Fastlane and Telegram
 
Froglogic Squish
Froglogic Squish Froglogic Squish
Froglogic Squish
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
 
Обзор Continuous integration инструментов
Обзор Continuous integration инструментовОбзор Continuous integration инструментов
Обзор Continuous integration инструментов
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
Git for you
Git for youGit for you
Git for you
 

Plus de Ovadiah Myrgorod

Using Backbone.js with Drupal 7 and 8
Using Backbone.js with Drupal 7 and 8Using Backbone.js with Drupal 7 and 8
Using Backbone.js with Drupal 7 and 8
Ovadiah Myrgorod
 
Open source and You. DrupalForum ZP.
Open source and You. DrupalForum ZP.Open source and You. DrupalForum ZP.
Open source and You. DrupalForum ZP.
Ovadiah Myrgorod
 
DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...
DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...
DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...
Ovadiah Myrgorod
 

Plus de Ovadiah Myrgorod (7)

Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...
 
How we maintain 200+ Drupal sites in Georgetown University
How we maintain 200+ Drupal sites in Georgetown UniversityHow we maintain 200+ Drupal sites in Georgetown University
How we maintain 200+ Drupal sites in Georgetown University
 
Using Backbone.js with Drupal 7 and 8
Using Backbone.js with Drupal 7 and 8Using Backbone.js with Drupal 7 and 8
Using Backbone.js with Drupal 7 and 8
 
Open source and You. DrupalForum ZP.
Open source and You. DrupalForum ZP.Open source and You. DrupalForum ZP.
Open source and You. DrupalForum ZP.
 
Системы управления взаимоотношениями с клиентами. Drupal CRM Core.
Системы управления взаимоотношениями с клиентами. Drupal CRM Core. Системы управления взаимоотношениями с клиентами. Drupal CRM Core.
Системы управления взаимоотношениями с клиентами. Drupal CRM Core.
 
Drupal Camp Kyiv 2011 - OpenAcaDept – Drupal distribution for building academ...
Drupal Camp Kyiv 2011 - OpenAcaDept – Drupal distribution for building academ...Drupal Camp Kyiv 2011 - OpenAcaDept – Drupal distribution for building academ...
Drupal Camp Kyiv 2011 - OpenAcaDept – Drupal distribution for building academ...
 
DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...
DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...
DrupalCon Chicago - Best practices for cross-browser compatibility of Drupal ...
 

Drupal code sprint для новичков

  • 9.
  • 11.
  • 13.
  • 17. Acquia Dev Desktop для Mac или Windows: http://www.acquia.com/downloads Drupal Quickstart - настроенная виртуальная Linux машина http://drupal.org/project/quickstart LAMP своими руками: http://vmirgorod.name/blog/setting-drupal-development-environment-based- ubuntu-1010 Улучшаем производительность: SSD + http://vmirgorod.name/blog/boosted-lamp-drupal-devs Сервер для разработки
  • 18. GIT
  • 19. Извлечь проект: git clone --branch 8.x http://git.drupal.org/project/drupal.git Применить патч: patch -p1 < some-patch-1860434-33.patch Создать патч: git add <modified.file> git diff --cached > some-patch-1860434-35.patch git reset <modified.file> Как должен быть настроен Git: http://drupal.org/documentation/git/configure Работа с GIT
  • 20. Как правильно именовать патчи: [project_name]-[short-description]-[issue-number]-[comment-number].patch Графические клиенты GIT: http://git-scm.com/downloads/guis Еще: http://drupal.org/project/drupal/git-instructions http://drupal.org/node/707484 Работа с GIT
  • 22. IRC
  • 23. IRC Жизнь - это общение, а общение - это IRC. Сервер: http://freenode.net Drupal каналы: #drupal, #drupal-contribute http://drupal.org/irc Веб интерфейс: http://webchat.freenode.net
  • 27. С т а н д а р т ы к о д и р о в а н и я !
  • 30. 1. Заходим сюда http://drupal.org/community- initiatives/drupal-core. 2. Знакомимся с инициативами и ментейнерами. Выбираем инициативу
  • 31. 1. Допустим, нам понравилась мобильная инициатива и мы изучили её roadmap и почитали новости. 2. Смотрим на список заданий: http://drupal. org/project/issues/search/drupal?status[]=Open&version []=8.x&issue_tags=mobile 3. Выбираем то задание, которое: a. Нам понятно. b. Его еще не успели сделать. c. Имеет статус active или needs work. 4. Заходим на IRC канал #drupal-mobile и интересуемся кто еще работает над этой задачей в данный момент. Выбираем задачу
  • 32. 1. Заходим на страницу задачи. 2. Изучаем что нужно сделать и что готово. 3. Обновляем репозиторий до последней версии. 4. Применяем последний патч, если он был. 5. Кодируем (пишем тест). 6. Выкладываем новый патч. 7. Меняеем статус задания на needs review. 8. Ждем отклика от системы тестирования и от разработчиков. 9. Пишем в IRC канале, что справились с заданием и просим рябят сделать проверку. 10. Если все ОК, пачт, добавят в ядро. Работаем
  • 33. Проверяем пачти 1. Заходим на страницу задачи со статусом needs review. 2. Изучаем что было сделано и просматриваем последний патч, если он не завалил тесты. 3. Читаем описание задачи, убеждаясь в том, что патч решает задачу. 4. Проверяем патч на соблюдение стандартов кодирования с помощью Dreditor. 5. Пишем наш отклик о патче. 6. Меняем статус в случае необходимости на needs work или reviewed and tested by community.
  • 34. Сокращения 1. RTBC - Ready to Be Committed. Инициативы: 2. WSCCI (aka "Whiskey") - Web Services & Context Core Initiative. 3. SCOTCH - Blocks & Layouts Everywhere Initiative. 4. VODKA - Views in Core Initiative. 5. RUM - Responsive User Mobile Initiative.
  • 35. Донецк IZOLAB 28 апреля 2013 Вадим Миргород dealancer@gmail.com @dealancer