В данной презентации были рассмотрены следующие варианты автоматизации установки WordPress: wp-quick-install.com, установка через Shell script, установка через WP-CLI + Shell script и дополнительные возможности автоустановки через Composer и Rpm-пакеты.
Презентация подготовлена по материалам выступления Юрия Бондаренко на витебском MiniQ#14, который был проведен 25 апреля 2019:
https://vk.com/miniq14;
https://communities.by/events/miniq-vitebsk-14.
Про доклад:
В докладе я расскажу о том, как писать стили на чистом "ванильном" CSS. Мы рассмотрим возникающие перед вертальщиком практические задачи и способы их решения.
В данной презентации были рассмотрены следующие варианты автоматизации установки WordPress: wp-quick-install.com, установка через Shell script, установка через WP-CLI + Shell script и дополнительные возможности автоустановки через Composer и Rpm-пакеты.
Презентация подготовлена по материалам выступления Юрия Бондаренко на витебском MiniQ#14, который был проведен 25 апреля 2019:
https://vk.com/miniq14;
https://communities.by/events/miniq-vitebsk-14.
Про доклад:
В докладе я расскажу о том, как писать стили на чистом "ванильном" CSS. Мы рассмотрим возникающие перед вертальщиком практические задачи и способы их решения.
This document discusses parallel testing, shared contexts, and shared examples in RSpec. It provides examples of using the parallel_tests gem to run tests in parallel, creating shared contexts to define common test data across examples, and shared examples to define common expectations that can be included in multiple tests.
The document provides information on testing web applications using Capybara including:
- Setting up Rack Session Access to manage user sessions in tests
- Using multiple Capybara sessions to test interactions between users
- Accessing the test server directly to make assertions
- Saving screenshots when tests fail
- Testing on multiple domains and subdomains
- Running background processes like web servers during tests
This document discusses various tools that can be used with RSpec, a testing framework for Ruby. It covers RSpec CLI commands, configuration options, tags for organizing examples, gems that add functionality when used with RSpec, the Guard automation tool, continuous integration with Travis CI, and advanced RSpec features like shared contexts and custom matchers. The focus is on best practices and optimizations for Ruby and Rails testing with RSpec.
This document discusses parallel testing, shared contexts, and shared examples in RSpec. It provides examples of using the parallel_tests gem to run tests in parallel, creating shared contexts to define common test data across examples, and shared examples to define common expectations that can be included in multiple tests.
The document provides information on testing web applications using Capybara including:
- Setting up Rack Session Access to manage user sessions in tests
- Using multiple Capybara sessions to test interactions between users
- Accessing the test server directly to make assertions
- Saving screenshots when tests fail
- Testing on multiple domains and subdomains
- Running background processes like web servers during tests
This document discusses various tools that can be used with RSpec, a testing framework for Ruby. It covers RSpec CLI commands, configuration options, tags for organizing examples, gems that add functionality when used with RSpec, the Guard automation tool, continuous integration with Travis CI, and advanced RSpec features like shared contexts and custom matchers. The focus is on best practices and optimizations for Ruby and Rails testing with RSpec.
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...Alexander Dymo
The document discusses Ruby performance optimization techniques. It provides an example of optimizing an inject method call by eliminating unnecessary object allocations. It also analyzes the memory usage of gsub and gsub! string methods through profiling. The key lessons are to use profilers to understand performance bottlenecks, challenge assumptions, and look at Ruby source code and use a debugger when needed to fully understand behavior.
This document discusses routing in React.js applications. It provides examples of using React to render components based on URLs and mentions several React routing libraries like react-router and director that can be used to implement routing. It also discusses using Ember's router with React views and nested routing in React applications.
Bootstrap 3. Адаптивная верстка для WordPressIgor Sazonov
Основы и примеры для понимания зачем нужен CSS-фреймворк Bootstrap. Доклад читался в рамках WordPress Meetup #3 в Санкт-Петербурге. Объясняется в чем суть верстки на Bootstrap, зачем он нужен для WordPress, подробно разбирается основы grid (сетки) на Bootstrap чтобы верстать адаптивный дизайн.
Семинар по Node.js в КПИ 20 октября 2014. Докладчики: Тимур Шемсединов, Никита Савченко, Максим Петренко. Краткое содержание:
* Что такое Node.js и как работает JavaScript в V8
* Профессионалы расскажут, почему они выбрали Node.js
* Вы узнаете его сильные и слабые стороны и где его лучше применять
* Будет полный обзор особеностей и внутреннего строения Node.js
* Примеры внедрения и Highload-проекты
* Вопросы развертывания, хостинг, тестирования, и отладки
* Где и что учить, что читать, как осваивать
Занятие №6 в рамках Курсов программирования Ruby on Rails.
Группа курсов «ВКонтакте»: http://vk.com/ruby_school
Организатор — Агентство интернет-маркетинга Мэйк makeagency.ru. Курсы проводятся на базе Кузбасского государственного технического университета, кафедры «Информационные и автоматизированные производственные системы».
"Web Vitals monitoring & optimizations", Erik HimiranovFwdays
Performance is one of the key factors in determining a product's user experience. It is very important that the site loads quickly, is responsive and interactive, and the content remains stable.
I want to share why you need to monitor application performance, talk about Web Vitals metrics and tools for measuring them.
I also want to tell you about examples of optimizations that can positively affect performance and what results it can bring.
Презентация «Bundle Transformer – инструмент для клиентской оптимизации в сре...Andrey Taritsyn
Возможно, многие из вас уже слышали или читали о модульном расширении для Microsoft ASP.NET Web Optimization Framework — Bundle Transformer. Обычно я рассказываю о данном продукте на примере ASP.NET MVC, но в этот раз я решил поступить по-другому и построил свой доклад на примере использования Bundle Transformer на сайте ASP.NET Web Pages.
6. Проблемы
― Не учитываются зависимости
― Интеграция — сообщения об ошибках
― Сложно расширить функционал
― Cache buster file?timestamp иногда не работает
― Сторонние JS-библиотеки в репозитории
― Плагин не может подключить свои JS или CSS
― JS- и CSS-файлы не в app/
7. Assets Pipeline
Зависимости
В каждом файле указывается от каких
файлов он зависит:
CoffeeScript:
#= require 'user'
SCSS
@import 'user';
9. Assets Pipeline
Фильтры
app/assets/javascripts/application.js.erb.coffee
Сначала откомпилить CoffeeScript в JS, а потом ERB
Можно добавить свои фильтры:
Rails.application.assets.register_postprocessor(
'application/javascript', Sprockets::SafetyColons)
10. Assets Pipeline
Cache buster
application-25b93845b866436a84154200dd8d05e0.js
↑
хеш от содержимого
вместо времени изменения
11. Assets Pipeline
Сторонние JS и CSS файлы
JS и CSS ищется в
app/assets/ файлы проекта
lib/assets/ свои библиотеки
vendor/assets/ сторонние библиотеки
А так же во всех gem’ах с Rails Engine
12. Как работает Assets Pipeline
Шаг 1. Генерация
Собираем логику всех страниц в этом файле
app/assets/javascripts/application.js.coffee
Логика страницы пользователей:
app/assets/javascripts/user.js.coffee
Собираем стили всех страниц в этом файле
app/assets/stylesheets/application.css.scss
Стили страницы пользователей:
app/assets/stylesheets/user.css.scss
13. Как работает Assets Pipeline
Шаг 2. Подключаем
app/views/layout/application.html.haml
= stylesheet_link_tag :application
= javascript_include_tag :application
14. Как работает Assets Pipeline
Шаг 3. Объединение
app/assets/javascrips/application.js.coffee
#= require 'user'
#= require_tree 'pages'
app/assets/stylesheets/application.css.scss
@import 'user'
15. Как работает Assets Pipeline
Шаг 4. Библиотеки
Gemfile
gem "jquery-rails"
app/assets/javascripts/application.js.coffee
#= require jquery
16. Как работает Assets Pipeline
Шаг 5. Изображения
Путь к изображениям: app/assets/images
В SCSS и SASS все картинки надо указывать через
image-url() вместо url()
.icon {
background: image-url("user/icon.png"); }
В Haml использовать всегда
image_tag("user/icon.png") или
image_path("user/icon.png")
17. Как работает Assets Pipeline
Шаг 6. Фильтры
1. Preprocessor — Смотрим какие файлы от каких зависят
2. Engine — Компилируем (CoffeeScript → JS, SCSS → CSS)
3. Postprocessor — Исправляем файлы.
Например, вставляем ; в JS-файлы
4. Собираем файлы в один
5. Bundle processors — Исправляем файлы-пакеты.
Например, убираем повторы @charset в CSS-файлах
6. Compressor — Убираем лишние символы в JS и CSS.
7. Записываем файлы и сжимает в Gzip,
чтобы веб-серверу было проще
18. Как работает Assets Pipeline
Шаг 7. Отладка
В development файлы идут отдельно:
<script src='/assets/application.js?body=1'></script>
<script src='/assets/user.js?body=1'></script>
<script src='/assets/page/home.js?body=1'></script>
Чтобы выключить объединение в production,
надо добавить ?debug_assets=1 в URL и разрешить
отладку в настройках:
config.assets.allow_debugging = true
19. Как работает Assets Pipeline
Шаг 8. Выкладка
Заранее собираются только application.css и applications.js.
Остальные пакеты нужно добавить в настройках:
config.assets.precompile += %w( admin.js admin.css )
Перед деплоем нужно выполнить:
rake assets:precompile
Для Capistrano 2.8 есть готовые рецепты:
load 'deploy/assets'
20. Как работает Assets Pipeline
Шаг 9. Кеширование
Говорим браузеру кешировать файлы и
не спрашивать нас больше о них:
location ~ ^/(assets)/ {
root /path/to/public;
gzip_static on;
expires max;
add_header Cache-Control public;
}
21. Как выложить свою
JS-библиотеку
1. Стили и JS разместить в vendor/assets/
2. В lib/имя_гема.rb сделать класс,
наследующий ::Rails::Engine
3. Написать имя_гема.gemspec, собрать gem
и выложить на rubygems.org