Bootstrap 3. Адаптивная верстка для WordPressIgor SazonovОсновы и примеры для понимания зачем нужен CSS-фреймворк Bootstrap. Доклад читался в рамках WordPress Meetup #3 в Санкт-Петербурге. Объясняется в чем суть верстки на Bootstrap, зачем он нужен для WordPress, подробно разбирается основы grid (сетки) на Bootstrap чтобы верстать адаптивный дизайн.
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"YandexКак мы делали БЭМ. Почему некоторые места сделаны именно так. Что лежит в основе методологии. Что важно, а что можно менять по своему вкусу. Какие технологии мы используем и как они облегчают нам разработку.
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Александр ЕгурцовПрезентация к вебинару об устройстве фреймворка symfony 2.
Видеозапись вебинара находится в моём блоге по адресу http://frontend-dev.ru/2012/12/12/symfony2-основы
"Добро пожаловать в SoundCloud!". Александр Ковалёв, SoundCloudYandexБольше года назад мы запустили новую версию SoundCloud. На время доклада вы сможете стать её разработчиком и понять, какие решения формируют клиентскую архитектуру основных проектов SoundCloud (главного сайта, мобильной версии и других), какие инструменты используются для сборки проектов и измерения производительности, где и как применяются некоторые HTML5 API.
Современный фронтенд за 30 минут.Vladimir MalykSamaraJS 2015.
Современный фронтенд за 30 минут. От простого к сложному: jquery, backbone, underscore/lodash, marionette, bower, requirejs, npm, commonjs, browserify, grunt/gulp, boilerplate, yeoman, webpack, es6/es7, jspm
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014Dmytro ZhariiДемонстрация работы инструмента записи веб-элементов PageObject для Selenium WebDriver при помощи SWD Page Recorder. Демонстрация работы фреймворка SWD Starter Kit
Пишем БЭМ правильноIhor ZenichКак сверстать сайт вручную «по-БЭМ» без классов "block__element__element", и на реальном примере со всеми его проблемами, а не меню-пункт_меню-ссылочка, как вы видели раньше. Без BEMJSON, BEM Tools, но с миксованием, модификаторами и разбором ошибок.
Я знаком с БЭМ давно, и все эти годы встречался с множеством заблуждений и стереотипов в использовании. В докладе постарался развеять популярные мифы и рассказал о своём трехлетнем опыте внедрения и использования БЭМ и связанным с этим наступании на грабли.
WebCamp: Front-end Developers Day
Одесса
4 июля 2015
#WebCampOdessa
#OIW2015
#WebCamp2015
Видео: https://youtu.be/hTmxbJF2Tts
Слайды: http://delka.github.io/talks/webcamp/2015/bem/
Media management in Drupal @MoldcampAlexei GorobetsThis document summarizes file management in Drupal and the Media module. It discusses how the Media module provides a common approach and API for working with files, extending the file field that is in Drupal core. Key components of the Media module include file entities that can have fields and be viewed, file types like images and documents, and stream wrappers for remote files from sources like S3 and Dropbox.
Dependency injection in Drupal 8Alexei GorobetsThis document discusses dependency injection in Drupal 8. It begins by explaining the problems with Drupal 7 code, such as strong dependencies on globals and an inability to reuse or test code easily. It then introduces dependency injection as a design pattern that can help address these issues by reducing hard-coded dependencies. The document outlines how dependency injection works in Symfony and will work in Drupal 8 through the use of a service container that allows injecting dependencies into classes.
Why drupalAlexei GorobetsThe document discusses Drupal, an open source content management platform. It provides an overview of what Drupal is, its extensibility and flexibility, and why it is a good choice. It also discusses Drupal's learning curve, resources for learning Drupal, the large community support for Drupal, and opportunities for contributing to and participating in the Drupal community.
Extending media presentationAlexei GorobetsThe document discusses the Media Module, a Drupal module that aims to improve media management for administrators, developers and users. It provides a unified solution for handling different file types and formats, and allows files to be reused across sites. The module introduces a consistent API that can be extended to build customized media solutions using entities and file field types. It also allows remote files to be accessed similarly to local files using stream wrappers.
Real-time search in Drupal with Elasticsearch @MoldcampAlexei GorobetsThis document provides an introduction to Elasticsearch, an open source, distributed real-time search and analytics engine. It discusses how to setup Elasticsearch in 2 steps by extracting the archive and running a command. It then demonstrates how to index and search data using Elasticsearch's RESTful API and JSON over HTTP. Examples are provided for indexing, getting, updating, deleting, and searching data as well as distributed, concurrency, and pagination features.
Устройство фреймворка symfony 2 (http://frontend-dev.ru)Александр ЕгурцовПрезентация к вебинару об устройстве фреймворка symfony 2.
Видеозапись вебинара находится в моём блоге по адресу http://frontend-dev.ru/2012/12/12/symfony2-основы
"Добро пожаловать в SoundCloud!". Александр Ковалёв, SoundCloudYandexБольше года назад мы запустили новую версию SoundCloud. На время доклада вы сможете стать её разработчиком и понять, какие решения формируют клиентскую архитектуру основных проектов SoundCloud (главного сайта, мобильной версии и других), какие инструменты используются для сборки проектов и измерения производительности, где и как применяются некоторые HTML5 API.
Современный фронтенд за 30 минут.Vladimir MalykSamaraJS 2015.
Современный фронтенд за 30 минут. От простого к сложному: jquery, backbone, underscore/lodash, marionette, bower, requirejs, npm, commonjs, browserify, grunt/gulp, boilerplate, yeoman, webpack, es6/es7, jspm
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014Dmytro ZhariiДемонстрация работы инструмента записи веб-элементов PageObject для Selenium WebDriver при помощи SWD Page Recorder. Демонстрация работы фреймворка SWD Starter Kit
Пишем БЭМ правильноIhor ZenichКак сверстать сайт вручную «по-БЭМ» без классов "block__element__element", и на реальном примере со всеми его проблемами, а не меню-пункт_меню-ссылочка, как вы видели раньше. Без BEMJSON, BEM Tools, но с миксованием, модификаторами и разбором ошибок.
Я знаком с БЭМ давно, и все эти годы встречался с множеством заблуждений и стереотипов в использовании. В докладе постарался развеять популярные мифы и рассказал о своём трехлетнем опыте внедрения и использования БЭМ и связанным с этим наступании на грабли.
WebCamp: Front-end Developers Day
Одесса
4 июля 2015
#WebCampOdessa
#OIW2015
#WebCamp2015
Видео: https://youtu.be/hTmxbJF2Tts
Слайды: http://delka.github.io/talks/webcamp/2015/bem/
Media management in Drupal @MoldcampAlexei GorobetsThis document summarizes file management in Drupal and the Media module. It discusses how the Media module provides a common approach and API for working with files, extending the file field that is in Drupal core. Key components of the Media module include file entities that can have fields and be viewed, file types like images and documents, and stream wrappers for remote files from sources like S3 and Dropbox.
Dependency injection in Drupal 8Alexei GorobetsThis document discusses dependency injection in Drupal 8. It begins by explaining the problems with Drupal 7 code, such as strong dependencies on globals and an inability to reuse or test code easily. It then introduces dependency injection as a design pattern that can help address these issues by reducing hard-coded dependencies. The document outlines how dependency injection works in Symfony and will work in Drupal 8 through the use of a service container that allows injecting dependencies into classes.
Why drupalAlexei GorobetsThe document discusses Drupal, an open source content management platform. It provides an overview of what Drupal is, its extensibility and flexibility, and why it is a good choice. It also discusses Drupal's learning curve, resources for learning Drupal, the large community support for Drupal, and opportunities for contributing to and participating in the Drupal community.
Extending media presentationAlexei GorobetsThe document discusses the Media Module, a Drupal module that aims to improve media management for administrators, developers and users. It provides a unified solution for handling different file types and formats, and allows files to be reused across sites. The module introduces a consistent API that can be extended to build customized media solutions using entities and file field types. It also allows remote files to be accessed similarly to local files using stream wrappers.
Real-time search in Drupal with Elasticsearch @MoldcampAlexei GorobetsThis document provides an introduction to Elasticsearch, an open source, distributed real-time search and analytics engine. It discusses how to setup Elasticsearch in 2 steps by extracting the archive and running a command. It then demonstrates how to index and search data using Elasticsearch's RESTful API and JSON over HTTP. Examples are provided for indexing, getting, updating, deleting, and searching data as well as distributed, concurrency, and pagination features.
Real-time search in Drupal. Meet ElasticsearchAlexei GorobetsThis document provides an introduction to using Elasticsearch for real-time search in Drupal. It discusses Elasticsearch's features like being RESTful, open source, JSON over HTTP, distributed, highly available, and schema free. It then demonstrates how to setup Elasticsearch, index and search data, and use facets. Finally, it mentions Elasticsearch and Search API Elasticsearch modules for Drupal, and ongoing work to implement the Field Storage API in Elasticsearch to integrate it more fully into Drupal.
Migrate in Drupal 8Alexei GorobetsThe document discusses migration from older versions of Drupal to Drupal 8. It provides an overview of the upgrade and migration processes in Drupal. The Migrate module, which is integrated into Drupal 8 core, allows flexible data migration between sites. The document outlines the Migrate API and explains how to define and run migrations using plugins to extract, transform and load data between a source and Drupal destination. It also provides examples of migrating content, configurations and advanced migration techniques.
Drupal Camp Kyiv 2013. Удобная разработка drupal проекта. Полезные модули.Alex BarkovOn 7-8.th of June Drupal Camp Kyiv takes plase in Kyiv. It is the biggest conference in Ukraine devoted to the CMS/CMF Drupal.
This year DEWEB Studio participates actively in this conference: we act as sponsors, reporters and help with the organization of the arrangement.
http://www.youtube.com/watch?v=amGNl5tjXbg
Инсталляционные профили, создание сборокAndrii PodanenkoДоклад на тему Инсталляционные профили, создание сборок.
Автор: Ершов Андрей.
Выступал 11.06.2010 12:30-13:20 в зеленой комнате.
Ruby on Rails. Пользовательский интерфейсDigital-агентство МэйкЗанятие №6 в рамках Курсов программирования Ruby on Rails.
Группа курсов «ВКонтакте»: http://vk.com/ruby_school
Организатор — Агентство интернет-маркетинга Мэйк makeagency.ru. Курсы проводятся на базе Кузбасского государственного технического университета, кафедры «Информационные и автоматизированные производственные системы».
WUD2013: Юрий Ветров — Унификация, vol. 1. Фреймворк Mail.Ru для мобильного вебаYury VetrovПрезентация Юрия Ветрова "Унификация, vol. 1. Фреймворк Mail.Ru для мобильного веба" с конференции World Usability Day 2013.
Docker - счастье для хомячка или ника?Ruslan SharipovPresented: 16th May, 2015
https://speakerdeck.com/sharipov/docker-schast-ie-dlia-khomiachka-ili-ghika
Jbreak 2016: Твой личный Spring Boot StarterAleksandr TarasovЛюбите ли вы велосипеды? Все разработчики любят свои ненаколеночныерешения велосипеды! И мы не исключение. В нашем докладе мы покажем как собирать, сколачивать, вылепливать собственный велосипед так, чтобы на нем потом могла ездить без слёз вся команда, компания, или может весь мир.
Что в докладе будет:
- много Spring Boot-а;
- live coding;
- создание собственного Spring Boot Starter-а;
- Apache Thrift в качестве подопытного кролика.
Чего не будет:
- бенчмарков и сравнений Thrift vs REST vs gRPC vs XXX.
Архитектура для мобильных игр - с чего начать и популярные решения / Евгений ...DevGAMM ConferenceВ Интернете очень мало информации об архитектуре игр, много узкоспециализированной информации, подходов и закономерностей, но не хватает общего взгляда сверху. Этот доклад предназначен как для начинающих программистов, не знающих с чего начать, так и для опытных программистов, желающих сравнить свои решения с другими.
7. В зале у нас?
* Разработчики
* Сайт-билдеры
* Front-end разработчики
8. В зале у нас?
* Разработчики
* Сайт-билдеры
* Front-end разработчики
* Менеджеры проектов
9. На повестке дня
1. Что такое дистрибутив и зачем они
нужны?
2. В каких случаях стоит создавать свой
дистрибутив?
3. Как создать и поддерживать свой
дистрибутив
15. Что такое дистрибутив?
Дистрибутивы предоставляют
упакованную версию ядра
Drupal с контриб модулями
предварительно настроенными
под определенный тип сайта.
28. Так вы хотите разработать
дистрибутив?
А стоит ли?
So You Guys Want to Build a Drupal Distribution
http://www.youtube.com/watch?v=ECrUuRGzuH0
http://prezi.com/k2d_x8eczfzu/so-you-want-to-build-a-drupal-distro/
30. Может вам нужен Install Profile?
Distribution:
Install Profile:
* Брендированный продукт
* Решает определенный
юзкейс
* Является публичным
проектом и поддерживается
сообществом
* Фокус на конечного
пользователя (готов к
использованию)
* Предустанавливает модули
* Создает конфигурации
* Для внутреннего
использования
* Фокус на разработчика
(готов к началу разработки)
31. Или build base?
* У вас Continuous Integration?
* Распределенная команда разработчиков?
* Нужна стандартизация?
* Нужно автоматическое тестирование?
* Надоело повторяться?
33. Install Profile
myprofile.info
name = My Profile
description = Description of what the profile does.
core = 7.x
dependencies[] = block
dependencies[] = color
dependencies[] = comment
dependencies[] = contextual
dependencies[] = dashboard
dependencies[] = help
dependencies[] = image
dependencies[] = list
dependencies[] = menu
dependencies[] = number
dependencies[] = options
34. Install Profile
myprofile.profile
То же что и .module для модулей. Здесь удобно
определять hook_install_tasks и подобные вещи
связанные с процессом инсталяции.
36. Install Profile
myprofile.install
<?php
/**
* Implement hook_install().
*
* Perform actions to set up the site for this profile.
*/
function profilename_install() {
include_once DRUPAL_ROOT . '/profiles/minimal/minimal.install';
minimal_install();
}
?>
40. FAQ и подводные камни
* Как правильно упаковывать компоненты?
Не создавайте фичи по принципу общего типа
компонента. Гиганты вроде Acme Content Types,
или Acme Views зделают вашу систему сильнозависимой, их нельзя будет отключить, а
реорганизация покажется адом.
Организовывайте фичи по принципу независимого
функционала.
Например:
Blog, Gallery, Voting
41. FAQ и подводные камни
* Как организовать фичи для реутилизации
полей
Нет необходимости дублировать поля общего
назначения. Создавайте общие поля указывая их
характеристики в имени поля.
Например:
field_file_single_public
Поле типа файл, принимающее единственное
значение, использует Public директорию.
field_link_single, field_content_ref,
field_body_no_summary
42. FAQ и подводные камни
* Как избежать конфликтов с base fields
Все field_base полезно экспортировать в отдельную
фичу, а уже field_instance в фичу с контент тайпом.
Например:
Acme Base Fields - field_base:field_body
Acme Blog - field_instance:field_body
Acme Article - field_instance:field_body
43. FAQ и подводные камни
* Как экспортить мои File Display в фичу если они
определяются в hook_default_COMPONENT?
Любую фичу можно переиспользовать экспортирую
только необходимые изменения с помошью
Features Override
44. FAQ и подводные камни
* Как экспортить variables
Не волнуемся, на помошь приходит модуль
Strongarm
47. Drush make для дистрибутива
Stub make
Подтягивает ядро Drupal и сам install profile.
Здесь есть одно преимущество - удобно подтягивать
несколько install profiles в вашем дистрибутиве.
Profile make
Подтягивает модули, темы, библиотеки, применяет
патчи
51. Обновления с hook_update_N()
/**
* Add a 'year' date format.
*/
function myprofile_update_7000() {
// Insert custom format: 2011
db_insert('date_formats')
->fields(array('format' => 'Y', 'type' => 'custom', 'locked' => 0))
->execute();
// Insert custom format: 2011
db_insert('date_format_type')
->fields(array('type' => 'year', 'title' => 'Year', 'locked' => 0))
->execute();
// Date Year Format
variable_set('date_format_year', 'Y');
}
52. Обновления с hook_update_N()
* Все обновления из hook_update_N также идут в
hook_install!
* Новые модули активируем в:
- dependencies (для первой инсталяции)
- hook_update_N при помощи module_enable
54. Билдим дистрибутив
drush make distro.make
Drush make рекурсивно вызывает .make файлы из подтягиваемых
проектов! Таким образом запустив distro.make подтянются все
модули из profile.make и так далее.
56. Подход “с нуля”
Преимущества
* Включай только то что нужно (гибкость)
Недостатки
* Изобретение велосипеда. Придется все
настраивать самим и экспортить в фичи, которые
потом поддерживать
* Дорого поддерживать контриб модули и следить
за их обновлениями
57. Подход “с базовой дистро”
Преимущества
* Готовые фичи из коробки
* Поддержка базовой дистрибутив сообществом
Недостатки
* Не все фичи нужны, что-то придется отключать, а
что-то переписыватьi
* Big Drupal, больше модулей, больше шансов что
всплывет баг
61. Подход “наследование”
Преимущества
* Сканирует базовый инстал профайл на модули и
темы
* Возможность переписать родительский модуль
поместив этот же модуль в дочерний профайл
Недостатки
* Патчим ядро
* Пока никак нельзя унаследовать инсталл таски
родителя
62. Подход “наследование”
1. Ставим патч
Make install profiles inheritable
2. Указываем родителя в .info
base = BASE_PROFILE
3. Подробнее читаем
Inheriting your Drupal profile from an existing
distribution
63. К дальнейшему изучению?
* DrupalCon London 2011: BUILDING AND MAINTAINING A
DISTRIBUTION IN DRUPAL 7
* Kit specification
* Drush make
* Apps
Учимся по примеру:
https://github.com/Gizra/Garment-Box
https://github.com/gsbitse/gsb-distro
а также проекты на drupal.org