Flame graph: новый взгляд на старое профилированиеКирилл Борисов
Все хотят знать, как выполняется их код. Многие догадываются, чем это можно измерить. И лишь немногие находят в себе силы продраться через результаты измерений. Проблема ещё более усложняется, если приложение исполняется в нескольких процессах, потоках или на разных серверах. Вал измерений захлестывает разработчика, и уже не видно конца...
В этом докладе мы попытаемся упростить все это с помощью визуализации, а именно — flame graph'ов, красивых и наглядных . Также вместе рассмотрим процесс сбора данных, их подготовку и на примерах поучимся читать получившиеся графики.
Сетевые аномалии – рано или поздно с ними сталкиваются все, кто так или иначе связан с созданием и эксплуатацией сетевых сервисов.
Природа сетевых аномалий и их проявления могут значительно варьироваться: потери пакетов, увеличение задержек, разрывы TCP-соединений. Но вне зависимости от своей природы сетевые аномалии требуют корректной и зачастую крайне оперативной диагностики.
В рамках доклада будут рассмотрены стандартные утилиты, такие как ping, traceroute, mtr, hping, а также области их применения. Самым значительным ограничением при использовании данных утилит является невозможность определения обратного пути пакета, что может значительно усложнить диагностику.
Также в докладе будут рассмотрены активные методы диагностики сетевых аномалий (Looking glass, RIPE Atlas, NLNOG RING, PlanetLab) и разработанный командой Qrator механизм определения обратного маршрута от любой заданной сети с использованием математического моделирования.
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Ontico
В многоядерных высоконагруженных системах с высокой конкурентностью часто бывает сложно определить, чем занят отдельный процесс PostgreSQL. Он может находиться в ожидании локов высокого уровня, таких как локи таблиц, внутренних локов, используемых для синхронизации процессов, ввода-вывода и многих других.
В настоящий момент среди всех событий ожидания мониторить можно только локи высокого уровня с помощью представлений PostgreSQL. Другие типы ожиданий требуют использования низкоуровневых утилит типа perf, systemtap и других. Эти утилиты требуют специальных знаний и могут быть платформозависимыми. В то же время другие enterprise базы данных уже включают в себя инструменты для мониторинга ожиданий.
Мы разработали патч, который реализует мониторинг ожиданий в PostgreSQL. С минимальной настройкой (несколько конфигурационных параметров) этот патч показывает полную информацию о текущих ожиданиях в режиме реального времени и с небольшим оверхедом на всю систему. Этот патч уже работает на продакшен серверах Яндекса и показал свою полезность.
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Ontico
Порой в процессе развития высоконагруженного проекта наступает момент, когда необходимо масштабирование. Возможно, ваш проект впервые упёрся в производительность железа (и таким образом перешёл в разряд высоконагруженных); возможно, это уже не первое масштабирование — не важно. Какие же проблемы могут возникнуть?
Во-первых, если вы увеличиваете количество бэкенд-серверов, и, соответственно, количество рабочих процессов, то с ростом количества одновременных клиентских подключений вырастают и накладные расходы на базах данных.
Во-вторых, достаточно быстро может кончиться ресурс in-memory баз данных. Потребуется создать (либо увеличить) кластер, а это каждый раз влечёт за собой необходимость модифицировать логику приложения.
В-третьих, чем больше серверов, тем больше вероятность, что один из них выйдет из строя. Поэтому неплохо задуматься о том, как обеспечить отказоустойчивость, а это, опять же, потребует модифицировать логику приложения.
В этом докладе я расскажу, как и какими инструментами можно легко решить все вышеперечисленные проблемы: уменьшить накладные расходы от большого количества подключений к базам данных, создать/модифицировать кластер БД прозрачно для приложения, а также прозрачно добавить устойчивость к падениям серверов БД.
План доклада:
- Введение. Методы масштабирования БД: репликация, шардирование.
- Создаём шардированные кластеры in-memory БД прозрачно для приложений: Twemproxy, Redis-proxy, Mcrouter.
- Уменьшаем накладные расходы от большого количества одновременных подключений на PostgreSQL с помощью PgBouncer.
- Создаём шардированный кластер PostgreSQL с помощью PL/Proxy.
- Добавляем прозрачную для приложения отказо�
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Ontico
Доклад о новинках нового релиза PostgreSQL можно сделать экстремально скучным: взять release-notes и зачитать вслух. Но 9.5 обещает быть очень интересным релизом как с точки зрения улучшения производительности, так и функциональности - было бы жалко сделать о нем плохой доклад. Поэтому я выбрал несколько важных и нужных фич и расскажу про каждую - как она устроена, на что влияет и, главное, как ей разумно воспользоваться - максимум практических аспектов, минимум маркетинга. Без этого минимума нельзя, иначе мне никак не поделиться своим взглядом на то, как сейчас развивается PostgreSQL, и как жить пользователям Postgres'а при такой стратегии развития.
Flame graph: новый взгляд на старое профилированиеКирилл Борисов
Все хотят знать, как выполняется их код. Многие догадываются, чем это можно измерить. И лишь немногие находят в себе силы продраться через результаты измерений. Проблема ещё более усложняется, если приложение исполняется в нескольких процессах, потоках или на разных серверах. Вал измерений захлестывает разработчика, и уже не видно конца...
В этом докладе мы попытаемся упростить все это с помощью визуализации, а именно — flame graph'ов, красивых и наглядных . Также вместе рассмотрим процесс сбора данных, их подготовку и на примерах поучимся читать получившиеся графики.
Сетевые аномалии – рано или поздно с ними сталкиваются все, кто так или иначе связан с созданием и эксплуатацией сетевых сервисов.
Природа сетевых аномалий и их проявления могут значительно варьироваться: потери пакетов, увеличение задержек, разрывы TCP-соединений. Но вне зависимости от своей природы сетевые аномалии требуют корректной и зачастую крайне оперативной диагностики.
В рамках доклада будут рассмотрены стандартные утилиты, такие как ping, traceroute, mtr, hping, а также области их применения. Самым значительным ограничением при использовании данных утилит является невозможность определения обратного пути пакета, что может значительно усложнить диагностику.
Также в докладе будут рассмотрены активные методы диагностики сетевых аномалий (Looking glass, RIPE Atlas, NLNOG RING, PlanetLab) и разработанный командой Qrator механизм определения обратного маршрута от любой заданной сети с использованием математического моделирования.
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Ontico
В многоядерных высоконагруженных системах с высокой конкурентностью часто бывает сложно определить, чем занят отдельный процесс PostgreSQL. Он может находиться в ожидании локов высокого уровня, таких как локи таблиц, внутренних локов, используемых для синхронизации процессов, ввода-вывода и многих других.
В настоящий момент среди всех событий ожидания мониторить можно только локи высокого уровня с помощью представлений PostgreSQL. Другие типы ожиданий требуют использования низкоуровневых утилит типа perf, systemtap и других. Эти утилиты требуют специальных знаний и могут быть платформозависимыми. В то же время другие enterprise базы данных уже включают в себя инструменты для мониторинга ожиданий.
Мы разработали патч, который реализует мониторинг ожиданий в PostgreSQL. С минимальной настройкой (несколько конфигурационных параметров) этот патч показывает полную информацию о текущих ожиданиях в режиме реального времени и с небольшим оверхедом на всю систему. Этот патч уже работает на продакшен серверах Яндекса и показал свою полезность.
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Ontico
Порой в процессе развития высоконагруженного проекта наступает момент, когда необходимо масштабирование. Возможно, ваш проект впервые упёрся в производительность железа (и таким образом перешёл в разряд высоконагруженных); возможно, это уже не первое масштабирование — не важно. Какие же проблемы могут возникнуть?
Во-первых, если вы увеличиваете количество бэкенд-серверов, и, соответственно, количество рабочих процессов, то с ростом количества одновременных клиентских подключений вырастают и накладные расходы на базах данных.
Во-вторых, достаточно быстро может кончиться ресурс in-memory баз данных. Потребуется создать (либо увеличить) кластер, а это каждый раз влечёт за собой необходимость модифицировать логику приложения.
В-третьих, чем больше серверов, тем больше вероятность, что один из них выйдет из строя. Поэтому неплохо задуматься о том, как обеспечить отказоустойчивость, а это, опять же, потребует модифицировать логику приложения.
В этом докладе я расскажу, как и какими инструментами можно легко решить все вышеперечисленные проблемы: уменьшить накладные расходы от большого количества подключений к базам данных, создать/модифицировать кластер БД прозрачно для приложения, а также прозрачно добавить устойчивость к падениям серверов БД.
План доклада:
- Введение. Методы масштабирования БД: репликация, шардирование.
- Создаём шардированные кластеры in-memory БД прозрачно для приложений: Twemproxy, Redis-proxy, Mcrouter.
- Уменьшаем накладные расходы от большого количества одновременных подключений на PostgreSQL с помощью PgBouncer.
- Создаём шардированный кластер PostgreSQL с помощью PL/Proxy.
- Добавляем прозрачную для приложения отказо�
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Ontico
Доклад о новинках нового релиза PostgreSQL можно сделать экстремально скучным: взять release-notes и зачитать вслух. Но 9.5 обещает быть очень интересным релизом как с точки зрения улучшения производительности, так и функциональности - было бы жалко сделать о нем плохой доклад. Поэтому я выбрал несколько важных и нужных фич и расскажу про каждую - как она устроена, на что влияет и, главное, как ей разумно воспользоваться - максимум практических аспектов, минимум маркетинга. Без этого минимума нельзя, иначе мне никак не поделиться своим взглядом на то, как сейчас развивается PostgreSQL, и как жить пользователям Postgres'а при такой стратегии развития.
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Ontico
Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него.
Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. А за кажущейся простотой скрывается довольно сложный и интересный механизм, к работе которого очень часто возникает много вопросов, на которые не всегда можно найти однозначный ответ.
В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Ontico
В докладе будут описаны паттерны использования очередей и блокировок, рассказано, зачем нужны очереди и блокировки, показано на примерах использования в разных архитектурах.
Описано применение синхронных и асинхронных очередей, как построить очереди с приоритетами.
Будет сравнение разных серверов очередей: Redis, Tarantool, RabbitMQ, ZMQ, Kafka, Zookeeper, MemcacheQ и др., их преимущества и недостатки, где и какой брокер лучше использовать.
Отладка и устранение проблем в PostgreSQL Streaming Replication.Alexey Lesovsky
Потоковая репликация, которая появилась в 2010 году, стала одной из прорывных фич постгреса и в настоящее время практически ни одна инсталляция не обходится без использования потоковой репликации. Она надежна, легка в настройке, нетребовательна к ресурсам. Однако при всех своих положительных качествах, при её эксплуатации могут возникать различные проблемы и неприятные ситуации. Для диагностики и решения проблем, связанных с потоковой репликацией, есть множество инструментов, как встроенных в PostgreSQL, так и сторонних.
В этом докладе я сделаю обзор доступных инструментов и расскажу, как с помощью этих средств диагностировать различные типы проблем и как устранять их. Рассматривая методы решения, мы также рассмотрим проблемы, которые возникают при эксплуатации потоковой репликации.
Доклад будет полезен DBA и системным администраторам.
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Ontico
В данном докладе я расскажу о том, как Lua помогает расширять функционал Rspamd, позволяя людям без особых знаний С писать эффективные правила фильтрации спама. Также будут рассмотрены особенности внедрения Lua в C код и основные приемы, применяемые при написании API для Lua приложений. Отдельное внимание будет уделено документации к Lua API, которая является одним из необходимых компонентов для opensource приложения.
Кроме этого, отдельная часть доклада посвящена анализу производительности Lua: использованию LuaJIT, сравнению вызовов C функций через FFI с традиционным вызовом, оптимизации строковых операций и таблиц в Lua.
В заключение будут рассмотрены некоторые открытые вопросы: будущее языка, наличие нескольких диалектов, статический анализ Lua стека, а также вопросы безопасности при JIT компиляции.
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)Ontico
Байткод эрланга выполняет очень хорошо отлаженная виртуальная машина BEAM, которая превосходно работает даже на современных 72-х и более ядерных компьютерах.
Ключевая возможность эрланга в том, чтобы использовать все ядра в одном приложении, т.е. иметь в памяти одни и те же данные и обеспечивать к ним доступ без запуска кучи экземпляров одного и того же приложения по количеству ядер.
С ростом обрабатываемого трафика данных начинают возникать проблемы с многоядерным доступом к данным, возникают бутылочные горлышки и более низкоуровневые проблемы синхронизации.
В этом докладе будет рассказано, какие есть методы поиска, анализа, замера и устранения различных проблем, связанных с многотредностью: синглтонные процессы, простаивания на мьютексах и т.п.
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
Что нового появилось в nginx за последнее время и для чего всё это нужно?
В докладе - рассказ про основные новые функции в nginx 1.9.x (1.10.x) и 1.11.x. HTTP/2, модуль stream, динамическая загрузка модулей и так далее - зачем всё это нужно и как это использовать.
Читаем CHANGES вместе и разбираем на примерах.
Модным ныне словом «виртуализация» сейчас называют различные обёртки аппаратной виртуализации, однако этот термин намного старше и более всеохватывающий. На уровне ознакомления с технологией мы поговорим о виртуализации ресурсов в кластере и на примере pacemaker.
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Ontico
JavaScript, который мы пишем, не всегда исполняется, как мы думаем. Виртуальные машины, исполняющие его, делают многое, чтобы он работал быстрее. Но они не всесильны, и чтобы сделать код действительно быстрым, нужно знать их особенности и как все работает под капотом.
Поговорим об этих особенностях, что может служить причиной потери производительности, как это диагностировать и как делать код действительно быстрым. Доклад базируется на опыте, полученном в ходе работы над такими проектами как basis.js (весьма быстрый фреймворк для SPA), CSSO (минификатор CSS, который из медленного стал один из самых быстрых), CSSTree (самый быстрый детальный CSS парсер) и других.
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)Ontico
DNS — это одна из основополагающих служб и протоколов современного интернета, сервис, который должен всегда работать. Каждый раз, когда конечный пользователь обращается к какому-либо ресурсу глобальной паутины, он использует DNS, и чтобы этот самый первый шаг к проектам у наших клиентов не занимал много времени, мы построили свой DNS-хостинг с использованием Anycast-балансировки. Чуть позже мы применили этот метод для балансировки и повышения доступности рекурсивных серверов внутри наших дата-центров.
В своём докладе я расскажу о способах обеспечения непрерывного обслуживания DNS-запросов, подводных камнях использования anycast’а, постараюсь раскрыть актуальные проблемы обслуживания DNS-серверов и поведаю о современных тенденциях в мире DNS.
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Yandex
Рассказ об основных принципах, которых придерживается Viber в длительной разработке приложения с большой кодовой базой — если разработкой занимается распределённая команда. Мы обсудим используемые технологии, библиотеки, работу с кодом и многое другое.
Инкапсуляция сетевой топологии при помощи ПКСARCCN
Доклад Павла Ликина, Нижегородский государственный технический университет им. Р. Е. Алексеева, на семинаре "Технологии программно-конфигурируемых сетей в научной и образовательной среде"
Речь пойдёт о российском рынке электронной торговли в целом и online travel в частности, о различных способах оплаты транспорта, а также о лучших практиках использования мобильных платежей.
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Ontico
Если вы сталкивались с PostgreSQL и зашли дальше, чем инструкция по установке, то, скорей всего, коротко познакомились с вакуумом, ну или, как минимум, что-то слышали про него.
Вакуум или по-русски очистка - это важная задача в жизненном цикле постгреса, которая заключается в регулярном освобождении базы данных от, так скажем, "мусора". Вакуум очень важен, его нельзя игнорировать и тем более отключать; более того, ему следует уделять должное внимание. А за кажущейся простотой скрывается довольно сложный и интересный механизм, к работе которого очень часто возникает много вопросов, на которые не всегда можно найти однозначный ответ.
В этом докладе я буду рассказывать про внутреннее устройство вакуума и раскрою следующие вопросы:
1) Что такое автовакуум (вакуум) и заморозка, и как они устроены изнутри.
2) Какие решения принимаются в процессе обработки таблиц и индексов.
3) Какие существуют возможности для управления вакуумом и как эти возможности влияют на работу вакуума.
4) Вакуум и вопрос производительности.
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Ontico
В докладе будут описаны паттерны использования очередей и блокировок, рассказано, зачем нужны очереди и блокировки, показано на примерах использования в разных архитектурах.
Описано применение синхронных и асинхронных очередей, как построить очереди с приоритетами.
Будет сравнение разных серверов очередей: Redis, Tarantool, RabbitMQ, ZMQ, Kafka, Zookeeper, MemcacheQ и др., их преимущества и недостатки, где и какой брокер лучше использовать.
Отладка и устранение проблем в PostgreSQL Streaming Replication.Alexey Lesovsky
Потоковая репликация, которая появилась в 2010 году, стала одной из прорывных фич постгреса и в настоящее время практически ни одна инсталляция не обходится без использования потоковой репликации. Она надежна, легка в настройке, нетребовательна к ресурсам. Однако при всех своих положительных качествах, при её эксплуатации могут возникать различные проблемы и неприятные ситуации. Для диагностики и решения проблем, связанных с потоковой репликацией, есть множество инструментов, как встроенных в PostgreSQL, так и сторонних.
В этом докладе я сделаю обзор доступных инструментов и расскажу, как с помощью этих средств диагностировать различные типы проблем и как устранять их. Рассматривая методы решения, мы также рассмотрим проблемы, которые возникают при эксплуатации потоковой репликации.
Доклад будет полезен DBA и системным администраторам.
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Ontico
В данном докладе я расскажу о том, как Lua помогает расширять функционал Rspamd, позволяя людям без особых знаний С писать эффективные правила фильтрации спама. Также будут рассмотрены особенности внедрения Lua в C код и основные приемы, применяемые при написании API для Lua приложений. Отдельное внимание будет уделено документации к Lua API, которая является одним из необходимых компонентов для opensource приложения.
Кроме этого, отдельная часть доклада посвящена анализу производительности Lua: использованию LuaJIT, сравнению вызовов C функций через FFI с традиционным вызовом, оптимизации строковых операций и таблиц в Lua.
В заключение будут рассмотрены некоторые открытые вопросы: будущее языка, наличие нескольких диалектов, статический анализ Lua стека, а также вопросы безопасности при JIT компиляции.
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)Ontico
Байткод эрланга выполняет очень хорошо отлаженная виртуальная машина BEAM, которая превосходно работает даже на современных 72-х и более ядерных компьютерах.
Ключевая возможность эрланга в том, чтобы использовать все ядра в одном приложении, т.е. иметь в памяти одни и те же данные и обеспечивать к ним доступ без запуска кучи экземпляров одного и того же приложения по количеству ядер.
С ростом обрабатываемого трафика данных начинают возникать проблемы с многоядерным доступом к данным, возникают бутылочные горлышки и более низкоуровневые проблемы синхронизации.
В этом докладе будет рассказано, какие есть методы поиска, анализа, замера и устранения различных проблем, связанных с многотредностью: синглтонные процессы, простаивания на мьютексах и т.п.
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
Что нового появилось в nginx за последнее время и для чего всё это нужно?
В докладе - рассказ про основные новые функции в nginx 1.9.x (1.10.x) и 1.11.x. HTTP/2, модуль stream, динамическая загрузка модулей и так далее - зачем всё это нужно и как это использовать.
Читаем CHANGES вместе и разбираем на примерах.
Модным ныне словом «виртуализация» сейчас называют различные обёртки аппаратной виртуализации, однако этот термин намного старше и более всеохватывающий. На уровне ознакомления с технологией мы поговорим о виртуализации ресурсов в кластере и на примере pacemaker.
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Ontico
JavaScript, который мы пишем, не всегда исполняется, как мы думаем. Виртуальные машины, исполняющие его, делают многое, чтобы он работал быстрее. Но они не всесильны, и чтобы сделать код действительно быстрым, нужно знать их особенности и как все работает под капотом.
Поговорим об этих особенностях, что может служить причиной потери производительности, как это диагностировать и как делать код действительно быстрым. Доклад базируется на опыте, полученном в ходе работы над такими проектами как basis.js (весьма быстрый фреймворк для SPA), CSSO (минификатор CSS, который из медленного стал один из самых быстрых), CSSTree (самый быстрый детальный CSS парсер) и других.
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)Ontico
DNS — это одна из основополагающих служб и протоколов современного интернета, сервис, который должен всегда работать. Каждый раз, когда конечный пользователь обращается к какому-либо ресурсу глобальной паутины, он использует DNS, и чтобы этот самый первый шаг к проектам у наших клиентов не занимал много времени, мы построили свой DNS-хостинг с использованием Anycast-балансировки. Чуть позже мы применили этот метод для балансировки и повышения доступности рекурсивных серверов внутри наших дата-центров.
В своём докладе я расскажу о способах обеспечения непрерывного обслуживания DNS-запросов, подводных камнях использования anycast’а, постараюсь раскрыть актуальные проблемы обслуживания DNS-серверов и поведаю о современных тенденциях в мире DNS.
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Yandex
Рассказ об основных принципах, которых придерживается Viber в длительной разработке приложения с большой кодовой базой — если разработкой занимается распределённая команда. Мы обсудим используемые технологии, библиотеки, работу с кодом и многое другое.
Инкапсуляция сетевой топологии при помощи ПКСARCCN
Доклад Павла Ликина, Нижегородский государственный технический университет им. Р. Е. Алексеева, на семинаре "Технологии программно-конфигурируемых сетей в научной и образовательной среде"
Речь пойдёт о российском рынке электронной торговли в целом и online travel в частности, о различных способах оплаты транспорта, а также о лучших практиках использования мобильных платежей.
Коллективная разработка документации: от индивидуального авторства к командн...Yandex
Поговорим о том, как средствами единого источника Author-it свести к минимуму монотонное документирование, максимизировать эффект коллективного написания и больше времени уделять архитектуре документов и их технической полноте.
Как сделать оптимальное связующее ПО, когда бэкенд старый, а приложение новое? Когда мы задумывали последнюю версию мобильной Почты, то сразу решили сделать новое API, которое будет адаптировано под специфику мобильного клиента. Скорость, оптимизация трафика, комбинированные вызовы, ревизии контейнеров, дайджесты блоков данных и прочие tips & tricks — всё это в моем докладе на Я.Субботнике.
Дизайн не только находит выражение во внешней форме продукта, также он является важной составной частью процесса проектирования и создания. В лекции рассказано о том, что такое дизайн, зачем о нем задумываться, какие этапы его создания существуют, и о том как получить готовое хорошее решение.
Я расскажу о том, что ищут люди в интернете — по видам транспорта и по регионам: чем отличаются поисковые запросы жителей разных городов, куда люди чащи всего ездят и каким транспортом охотнее всего пользуются. Материалы доклада основаны на анализе поисковых запросов пользователей Яндекса.
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...Yandex
Доклад посвящён преимуществам и недостаткам C++ в сравнении с C и ассемблером в контексте разработки критичных к производительности библиотек, использующих специфичные для платформы возможности. На примерах реализации оптимизированных компонентов аудио- и видеокодеков мы рассмотрим, как можно упростить исходный код с помощью нестандартных расширений компилятора и новых возможностей C++11. Внимание также будет уделено функциональности, которой не хватает в текущих реализациях компилятора. В качестве целевых платформ используются ARMv7+NEON/ARM64, но предварительного знакомства с ними не требуется.
Большие данные в физике элементарных частиц на примере LHCb - Guy Wilkinson, ...Yandex
The LHCb experiment is one of the four large CERN LHC detectors. Its goal is to search for evidence of new physics phenomena through precise measurements of the decay properties of particles containing beauty and charm quarks. The requirements of particle physics experiments such as LHCb have many commonalities with information retrieval. Both domains deal with large datasets, rely heavily on computational power, and require sophisticated data analysis algorithms, which are based on similar principles. For this reason many potential benefits can be discerned in conducting interdisciplinary research in the two areas. Guy Wilkinson, LHCb spokesperson, will give a brief overview of LHCb and its goals, suitable for a non-specialist audience. He will then focus on the challenges that the large datasets present, and outline the technologies and approaches that are currently being deployed to manage and analyse these datasets. Effective solutions to these problems are critical for aiding the exploration of the frontiers of fundamental science at LHCb, and similar experiments.
Как делается Яндекс.Браузер — Михаил ЛопаткинYandex
Ни для кого не секрет, что Яндекс.Браузер стоит «на плечах гигантов» — проектов Chromium и Blink/Webkit. Разработчики Яндекса внесли огромное количество правок в исходный код Chromium, чтобы сделать Браузер быстрее и удобнее. Но браузер не должен забывать свои корни: необходимо регулярно обновлять унаследованные исходные коды, чтобы, например, исправлять проблемы безопасности.
Мы поговорим о том, что делают разработчики Яндекса, чтобы в основе кода Браузера всегда лежала свежая версия Chromium, но при этом не терялись существующие правки. Это касается как организации процесса разработки, так и практики написания кода.
Из доклада вы узнаете, как безопасно передавать данные между мобильным приложением и бэкендом. А также поймете, что SSL для этого недостаточно безопасен и до идеального решения нужно сделать ещё много шагов.
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
Лекция Петра Аброськина в Школе вебмастеров: «Что можно и что нужно измерять на сайте».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Базовые принципы веб-аналитики
Как работает веб-аналитика и какие подводные камни есть в учёте и анализе данных. Как правильно работать с данными.
Основные метрики и термины
Посетители, визиты, глубина просмотра, время на сайте — какие метрики важны и чем они отличаются.
Как выбрать правильный KPI
Самый важный этап в веб-аналитике и продвижении сайта. Какие цели выбрать интернет-магазину, сайту услуг, контентному проекту и т.д.
Ключевые группы отчетов и применение знаний на практике
Семь главных типов отчётов для бизнеса. Анализ контекстной рекламы, SEO и контента сайта — на конкретных примерах.
За время своего существования веб-разработка развилась в самостоятельную промышленную отрасль, производство сайтов поставлено на поток, любая более-менее крупная фирма имеет представительство в интернете, а некоторые виды бизнеса, вплоть до банковских, только в нём и существуют. Такое масштабное производство невозможно развернуть без соответствующих инструментов. Мы поговорим о том, какие вообще бывают инструменты веб-разработки, как они могут упростить и ускорить написание кода, сборку проекта и деплой.
Руководство по стилю документации: зачем и как, Татьяна ГрачёваYandex
Речь пойдет о разработке руководства по стилю для технических текстов. Мы рассмотрим цели его составления и подходы к написанию на основе опыта технических писателей Яндекса.
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...Yandex
Основываясь на опыте разработки Крипты, Дмитрий рассмотрит средства реализации статического и динамического полиморфизма в C++, а также некоторые их паттерны и антипаттерны.
Вебинар: Основы распараллеливания С++ программ при помощи OpenMPFlyElephant
Презентация с первого технического вебинара FlyElephant, на котором были рассмотрены основы распараллеливания С/С++ программ при помощи OpenMP и рассказано о функционале FlyElephant.
Видео презентации: https://youtu.be/X1bqBPnJaHM
Сайт FlyElephant: http://flyelephant.net/
ПРОГРАММА БЕТА-ТЕСТИРОВАНИЯ FLYELEPHANT: http://flyelephant.net/beta/
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Yandex
Научно-технический семинар «DTrace: Проверочная работа для вашего кода» в петербургском офисе Яндекса, 29 ноября 2012 г.
Филипп Торчинский, эксперт по облачным технологиям, Семоникс.
Доклад от Parallels:
Методики тестировния производительности database-centric приложений
Описание: При работе над сложными продуктами в database-centric приложениях изменения в коде и тем более в SQL запросах к базе данных могут приводить к неожиданным падениям производительности или же деградации производительности приложения с ростом размера базы данных. Поэтому важно уметь как можно быстрее отлавливать и исправлять причины таких деградаций.
Доклад о том, как устроен процесс мониторинга производительности продукта автоматизации хостинга и облачных сервисов Parallels Automation, для которого определяющим фактором является производительность базы данных.
Компания покажет, как анализирует планы исполнения SQL запросов внутри PostgreSQL, как проверяет насколько быстро и эффективно в целом работают SQL запросы, как определяет стратегию дальнейшей оптимизации.
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Ontico
Огромная часть работы службы эксплуатации, так или иначе, связана с мониторингом существующей инфраструктуры.
Если система мониторинга настроена хорошо, она позволяет сократить время простоя, какие-то проблемы показать на ранней стадии, формализовать рабочие процессы команды админов.
То есть она является носителем знания о нашей инфраструктуре и о том, как именно работают админы.
Можно ли извлечь дополнительную пользу из этого?
В hh.ru мы используем систему мониторинга ещё и как check list для повседневных задач админов (алерты в данном случае являются задачами для человека: сделал задачу - триггер проверил результат и погас), идея взята из TDD.
Также расскажу, как мы работаем с внештатными ситуациями: реагируем на алерты, чиним, разбираем и классифицируем.
Еще на основе разобранных инцидентов мы считаем показатели работы службы эксплуатации, из этих показателей высчитываются наши премии (данный KPI получился удачным: с ним согласен и бизнес и админы).
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Ontico
Ваш сайт или другой проект приносит деньги только тогда, когда он работает.
Нельзя просто выложить код на серверы, залить схему в базу данных и делегировать домен.
Будем говорить о планировании отказоустойчивости и мониторинге проектов:
- оцениваем риски отказа различных компонентов;
- какие-то из вероятных проблем просто мониторим и планируем действия при сбоях;
- проблемы, которых можно избежать легко и дешево, закрываем сразу.
Расскажу на примерах о том, что всё всегда ломается, но с этим можно жить.
История небольшого успеха с PostgreSQL – Владимир БородинYandex
В докладе речь пойдёт о том, как в Яндекс.Почту для хранения метаданных сборщиков внедрили PostgreSQL. Владимир расскажет, зачем и почему это сделали и каким образом решили масштабироваться. А также о репликации и средствах обеспечения отказоустойчивости, о возникших проблемах и способах их решения.
Предсказание оттока игроков из World of TanksYandex
Одна из наиболее часто возникающих задач в бизнес-аналитике для компаний — это предсказание оттока клиентов. Ведь если заранее знать, что клиент собирается уйти к конкуренту, его можно попытаться остановить. Задача будет рассмотрена на примере прогнозирования оттока игроков из World of Tanks.
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
Лекция Сергея Царика в Школе вебмастеров: «Как принять/организовать работу по поисковой оптимизации сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Основные этапы и методы поисковой оптимизации
Рассмотрим проработку стратегии продвижения, планирование ресурсов на проект, поймем как нужно прорабатывать семантическое ядро для продвижения, разберемся с очередностью всех работ.
Разложим по полочкам основные приемы оптимизации в связке с внутренними и внешними факторами ранжирования поисковых систем, а также в связке с поведенческими факторами и характеристиками. Разберемся с тем, что же должен делать оптимизатор для достижения топа.
Что должно включать в себя ТЗ на поисковую оптимизацию
Разберемся с основными блоками технического задания от оптимизатора, с тем, каким оно должно быть с точки зрения подачи информации и ее глубины.
Сравнение in-house подхода и агентства
Рассмотрим все «за» и «против» оптимизатора в штате компании и вне её.
На основе каких метрик нужно оценивать эффективность оптимизаторской работы
Выделим ключевые показатели эффективности работы оптимизатора, рассмотрим процесс их измерения, динамику, разберемся с возможными «миксами» и их связкой с мотивацией подрядчика.
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
Лекция Юлия Тихоход в Школе вебмастеров: «Структурированные данные на поиске»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Что такое микроразметка и в чём её польза
Что такое микроразметка (семантическая разметка, семантическая микроразметка) и кому она нужна. Очень кратко — всё, что я знаю о применении семантической разметки поисковыми системами и другими веб-сервисами.
Передача данных в машиночитаемом виде
Какие ещё есть способы передать данные о сайте поисковым системам кроме микроразметки, особенности разных способов. Что бывает с плохими вебмастерами, которые пытаются обмануть поисковые системы и передать неверные данные.
Типы разметки
Из чего состоит микроразметка, какие бывают словари и синтаксисы. Популярные сочетания словарей и синтаксисов, как правильно выбирать нужную комбинацию для своего сайта.
Передача данных об интернет-магазине
Разбор семантической разметки: что в принципе доступно для разметки в интернет-магазине, что это даёт, а что можно не размечать вовсе.
Проверка правильности микроразаметки
Ошибки в микроразметке, способы их обнаружения и исправления. Популярные валидаторы микроразметки. Какие ошибки непременно нужно исправлять, а что можно игнорировать.
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
Лекция Сергея Лысенко в Школе вебмастеров: «Представление сайта в поиске»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Основные элементы сниппетов: как влиять на их формирование
Как по внешнему виду и содержанию визитки судят, стоит ли «связываться», так и по представлению сайта на странице выдачи пользователи решают, стоит ли переходить на сайт. Как изменить представление сайта в выдаче поисковых систем? Что может повлиять на CTR и что для этого нужно сделать? Рассмотрим фавиконки, навигационные цепочки, быстрые ссылки и многое, многое другое.
Зачем нам заголовок: как им управлять
Что должно быть в заголовке, а чего уж точно не стоит делать. Как избавиться от мусора и расставить акценты. И как это скажется на представлении сайта в поиске.
Основной контент аннотации и мета-описания: что нам они дают
Сниппет — зачем он нужен? Как обрабатываются данные для аннотаций? Что в сниппете помогает, а что мешает пользователю сориентироваться? Как подсказать поисковой системе, что выводить в сниппете? От Open Graf до schema.org. Инструменты, возможности, рекомендации.
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
Лекция Екатерины Гладких в Школе вебмастеров: «Плохие методы продвижения сайта»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Как завязывают с портянками
Как использовать wordstat, чтобы превратить текст в SEO-портянку. Как Яндекс определяет текстовый спам и какие ограничения могут быть применены к сайтам, злоупотребляющим ключевыми словами.
Эффектное размещение SEO-ссылок
Какие бывают SEO-ссылки и как они классифицируются в базе Яндекса. В чём отличие SEO-ссылок от рекламы. Как размещать SEO-ссылки наиболее эффектно. Методы борьбы против ссылочного спама – АГС и Минусинск. Снятие ссылок.
Поведенческие факторы, медитативные практики
Популярные сервисы накрутки: как это работает и как это не работает. Методы накрутки и методы борьбы с мошенничеством. Примеры пользовательских сессий и кто на самом деле посещает ваш сайт. Как выйти из-под санкций за накрутку поведенческих факторов.
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
Лекция Сергея Царика и Антона Роменского в Школе вебмастеров: «Основные принципы ранжирования»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Как работает поиск
При запросе пользователя к поисковой системе происходит множество процессов, которые позволяют дать наиболее релевантный ответ. Рассмотрим основные механизмы формирования выдачи: формулы, Матрикснет, персонализацию и обновления.
Что учитывается при ранжировании сайтов
Так как сайты разные и по-разному решают пользовательские задачи, при ранжировании поисковой системе нужно учитывать множество факторов. Поговорим о том, что обязательно должно быть на сайте для правильной индексации.
Ещё о факторах ранжирования
Какой контент действительно важен и как его правильно представить. Для правильного ранжирования сайта важно разобраться с его региональной привязкой. Разберёмся, какой регион присваивать сайту и как сделать это правильно.
Реальный кейс долгосрочной работы над позициями
Посмотрим на реальном примере, как изменялись основные жизненные характеристики (трафик, конверсии) сайта на пути в топ выдачи поисковых систем.
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
Лекция Александра Смирнова в Школе вебмастеров: «Основные принципы индексирования сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Как поиск находит страницу, её путь до появления в поиске
Поисковые системы постоянно собирают информацию о страницах в интернете. Как же это происходит и как добавить страницы своего сайта в поиск? Проверка индексирования сайта.
Как управлять роботом (зеркала, sitemap, robots.txt)
Множество сайтов в интернете доступны сразу по нескольким адресам. Как указать поисковому роботу на основной и как скорректировать индексирование?
Особенности индексирования
Современные сайты используют различные технологии в своей работе. Рассмотрим, как настроить их правильно и сделать контент доступным для робота.
Как улучшить индексирование (дубли, HTTP-ответ, удаление из поиска)
В поиск попадают различные страницы, которые известны роботу. Какие нужны, а какие нет? Как повлиять на их индексирование?
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
Лекция Александра Лукина в Школе вебмастеров: «Мобильное приложение: как и зачем»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Проектирование. Быть или не быть
Обсудим обоснование для разработки мобильного приложения — какую ценность оно может принести для проекта и бизнеса. Определим основные типы приложений и сценарии использования. Рассмотрим основные технологии и выбор оптимальных для конкретных задач. ТЗ — как оценить и какие особенности необходимо учесть.
Разработка. Важные детали
На что обратить внимание на этапе разработки и тестирования, заметки по специфике мобильных экосистем. Выбираем арсенал SDK для всестороннего анализа проекта в полёте.
Публикация и продвижение
Кратко рассмотрим специфику Google Play и AppStore. Проведём экскурс в мир мобильного маркетинга, подчеркнём сходства с вебом и отличия от него. Рассмотрим ключевые метрики для анализа продукта и процесса продвижения, а также способы их повышения.
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
Лекция Олега Ножичкина в Школе вебмастеров: «Сайты на мобильных устройствах»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Статистика и тренды по мобильному интернету
Основные показатели мобильного интернет-рынка. Тенденции роста мобильной аудитории.
Новые алгоритмы ранжирования поисковых систем
Адаптация сайта к мобильным пользователям и её влияние на позиции в поисковой выдаче.
Возможности для бизнеса в мобильном вебе
Мобильный сайт позволяет воспользоваться дополнительными возможностями взаимодействия с пользователем. Рассмотрим конкретные примеры.
Мобильный сайт и приложение — в чём разница
Чем отличается мобильное приложение от мобильно сайта. Какие преимущества и недостатки у каждого варианта.
Представление сайтов на мобильных устройствах
Адаптивные сайты. Мобильные сайты. Сайты для десктопа. Чем они отличаются, какие преимущества у каждого типа и нужно ли переключаться между мобильной и десктоп-версиями?
Удобный мобильный сайт для пользователя
Поведение пользователей на мобильном сайте. Отличия от десктопа, достижение целей и простые правила увеличения конверсии.
Специфика разработки мобильного сайта
Особенности проектирования, разработки и тестирования сайтов.
Инструменты для разработки мобильных сайтов
Готовые инструменты для проектирования и тестирования. Примеры фреймворков.
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
Лекция Юрия Батиевского в Школе вебмастеров: «Качественная аналитика сайта»
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Что мы хотим от аналитики сайта
На какие вопросы должна отвечать аналитика сайта. Как аналитика сайта связана с аналитикой бизнеса. На какие блоки можно поделить аналитику онлайн-процессов. Какой должна быть идеальная аналитическая система.
Анализ общих показателей бизнеса
Как построить систему аналитики бизнеса в интернете. Ключевые показатели эффективности (KPI). Построение воронки продаж. Business Intelligence — сквозная аналитика всех процессов.
Обзор инструментов для анализа сайта и аудитории
Яндекс.Метрика и Google Analytics как основа веб-аналитики. Инструменты для веб-мастеров. Инструменты для анализа действий пользователей (Kiss-metrics, Woopra, Mixpanel). Системы для подсчета целевых действий, CPA и ROMI.
Анализ каналов привлечения клиентов
Как анализировать источники трафика. Популярные инструменты для анализа.
Пройти тест по теме
Процесс развертывания системы аналитики сайта
Подготовка к установке систем веб-аналитики. Тонкости установки и настройки трекеров. Подключение коллтрекинга и дополнительных инструментов фиксации целевых действий. Настройка пользовательских сценариев. Пример по анализу пользовательского сценария.
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
Лекция Алексея Бородкина в Школе вебмастеров: «Как правильно поставить ТЗ на создание сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
ТЗ: две буквы с большим потенциалом
Что такое техническое задание. Какое место оно занимает в веб-разработке. Какие цели преследует. И каким требованиям оно должно отвечать.
Что нужно сделать, прежде чем садиться за ТЗ
Зачем нужна подготовка к написанию ТЗ. Какую информацию нужно собрать и как выстроить этот процесс. На каком этапе веб-разработки нужно писать ТЗ — и что будет, если этот момент упустить. Какое отношение имеют к ТЗ прототипы, пользовательские истории и прочие инструменты проектирования.
Хорошее ТЗ
Как соединить в один документ описание интерфейсов, структуру данных и много чего ещё. Структура правильного, хорошего ТЗ с подробным разбором каждого пункта. С какой стороны приступать и как эффективнее всего выстроить работу.
Кто должен писать ТЗ
Кто может написать хорошее ТЗ. Где найти такого человека и как встроить его в общие процессы. Что делать, если ТЗ пишет сам заказчик.
Плохое ТЗ
Популярные ошибки. Чем они ужасны и как их избежать.
Жизнь с ТЗ
По какой схеме нужно согласовывать ТЗ. Как применять его в дальнейшей работе. Кому не нужно показывать ТЗ ни при каких обстоятельствах. Что делать, если ТЗ никому не нравится.
ТЗ по ГОСТ: ад на Земле
Краткая история развития ТЗ со времён Брежнева и до наших дней. Почему я старательно избегаю слова «ТЗ». Почему вы должны нервно вздрагивать при слове «ГОСТ». Что делать, если вы работаете с госзаказчиком.
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
Лекция Петра Волкова в Школе вебмастеров: «Как защитить свой сайт».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Актуальные типы угроз и динамика их развития
Компрометация сервера и её последствия. Распределённые атаки типа «отказ в обслуживании». Подмена или добавление рекламы на стороне клиента. Атаки, направленные на пользователей. Проблемы, связанные со внешним содержимым.
Управление рисками безопасности веб-сайтов
Разные типы сайтов подвержены разным типам рисков информационной безопасности. Понимание целей и подходов злоумылшенников как ключ к эффективному снижению рисков. Методы монетизации атак на сайты.
Доступный инструментарий и методики для обеспечения безопасности
Открытые инструменты форензики для типовых и сложных проектов. Системы обнаружения вторжений, подходы к проектированию безопасности в архитектуре и процессах.
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
Лекция Дмитрия Сатина в Школе вебмастеров: «Как правильно составить структуру сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Структура сайта, ориентированная на человека; построение структуры, карточная сортировка
Содержимое сайтов часто организовано так, как кажется удобным разработчику или контент-менеджеру компании. Чаще всего такие структуры неудобны для реальных посетителей, потому что не совпадают с их знаниями, не поясняют, как устроен материал, и не помогают найти желаемое. Структура, ориентированная на пользователя, повышает вероятность того, что посетители найдут нужную информацию или товар и сделают это быстро.
Стройте структуру, исходя из пользовательских сценариев. Выделение на сайте разделов, соответствующих структуре компании или схеме процесса закупки, как правило, усложняет навигацию для пользователя. Правильная структура учитывает уровень знаний покупателя и использует понятные ему термины и способы группировки.
Разные типы структур, средства навигации, дальнейший поиск информации на странице
Структуры сайтов, на которых ищут что-то определённое, отличаются от тех, что используются на сайтах, посетители которых ещё не уверены, что именно они хотят или как называется нужная вещь. Строгие структуры — например, организация по наименованию товара, производителю, — предполагают один способ группировки. При нестрогой организации данные можно группировать по теме, по жизненной ситуации и так далее. Используйте средства навигации, которые помогают понять, как организован материал. Решая, какой будет визуальная реализация навигации на сайте, необходимо учитывать количество разделов и связи �
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
Лекция Дмитрия Васильева в Школе вебмастеров: «Технические особенности создания сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Сайт — расплывчатое понятие
Раньше под словом «сайт» понимался набор HTML-страниц, расположенных в домене второго или третьего уровня. Появление социальных сетей размыло это понятие.
Как выбрать домен
Различные варианты, и какой из них подойдёт именно вашему сайту: доменные зоны, читаемые и нечитаемые домены, кириллица и латиница.
Подходы к созданию сайтов
Первые сайты делались на чистом HTML. Сейчас такой способ ещё встречается, но подавляющее большинство веб-страниц создаются при помощи CMS, фреймворков, конструкторов.
Составные сущности: структура, макеты дизайна, интерактивные элементы, контент, система прав. Размещение сайта на хостинге. Российские и зарубежные, дорогие и дешевые, облачные и традиционные провайдеры. Кратко о тонкостях взаимодействия с ними.
Что такое HTTPS
Всё более популярный безопасный протокол доступа к сайту. Нужен ли он вам и в каких случаях. Как выбрать платформу для сайта, основные системы управления сайтом (CMS) и конструкторы.
Сайт после запуска
Сайты создаются с конкретной целью, обычно связанной с получением дохода. Как контент сайта и его технические характеристики напрямую могут влиять на бизнес-эффективность.
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
Лекция Елены Першиной в Школе вебмастеров: «Конструкторы для отдельных элементов сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
О пользе тех или иных технологий
Взгляд в будущее, короткий обзор других полезных технологий и «опасностей», которые подстерегают на пути к правильному их выбору.
Как выбрать поиск для сайта
Поиск для сайта — важный инструмент навигации. Чтобы оценить качество поиска по своему сайту, посмотрите на количество уходов со страницы результатов. Полнота, скорость индексирования, обработка запросов (исправление ошибок, опечаток, неправильной раскладки) — без этого невозможно представить качественный поиск.
Как выбрать карты для сайта
Уход посетителя с сайта на «большие» Яндекс.Карты за точной информацией об организации может обернуться потерей клиента, который уже был готов к покупке. Чтобы этого не допустить, лучше сделать интерактивную карту прямо на сайте.
Автоматизация оплаты на сайте
Люди привыкают платить картой, сегодня даже уличные киоски принимают их. Поэтому многим посетителям кажется «подозрительным» интернет-магазин, в котором недоступны электронные платежи. Начать приём банковских карт в онлайне очень просто, главное выбрать для этого подходящую технологию.
Перевод важных страниц
На каких языках говорит ваша аудитория, много ли у вас посетителей из-за рубежа? Ответы на эти вопросы даст Яндекс.Метрика. Именно она поможет оценить, нужно ли тратиться на профессионального переводчика и готовить отдельные описания товаров или новости на других языках. Во многих случаях для совершения покупки достаточно и простого машинного перевода. Узнайте, как его настроить, чтобы ключевые разделы сайта автоматически переводились для иностранных посетителей.
Социальная интеграция
Как заставить пользователей говорить о себе в социальных сетях? В первую очередь нужно сделать хороший продукт или услугу, но и без удобного инструмента для «шаринга» в соцсетях — никуда. Рекомендации о том, как выбрать и установить такой инструмент к себе на сайт.
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
Лекция Катерины Ерошиной в Школе вебмастеров: «Контент для интернет-магазинов».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Виды контента для интернет-магазинов
Основные страницы, карточки товаров, каталог в целом. Письма покупателям. Статьи для интернет-магазина.
Основные сервисные страницы: что нужно знать покупателю
О страницах доставки, оплаты, контактов, условий работы.
Страница товара интернет-магазина: какой нужен текст, чтобы товар нашли
Признаки товаров. Сниппеты товарных позиций. Когда текст не нужен вообще. Постоянная и техническая информация на карточке.
Блог и внешние публикации интернет-магазина
О чем писать, чтобы подогреть интерес к магазину. Сторителлинг. UGC: методы вовлечения (кратко).
Персонализация интернет-магазина: стать ближе к покупателю
Красивый пример личного бренда директора магазина.
Копирайтинг для интернет-магазина: на чём можно и нельзя экономить
Что делать, если у вас 100 000 товарных позиций и они постоянно меняются.
Хорошее ТЗ копирайтеру для наполнения интернет-магазина
Что должен знать копирайтер, чтобы не писать ерунду.
Как оценить работу копирайтера
Стандартные проверки. Контроль качества текста средствами аналитики.
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
Лекция Катерины Ерошиной в Школе вебмастеров: «Как написать хороший текст для сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Назначение и типы текстов на сайте и вне его
Цель текста — влиять на поведение пользователя. Самое простое — информировать, самое сложное — привести к покупке. Виды текстов для внешних публикаций. Белые книги и другие способы подтвердить экспертизу.
Контент-план для наполнения, развития сайта и внешних публикаций
Как проектировать контент для нового сайта. Как наращивать информационную массу сайта. Внешние контакты с потребителем.
Разные уровни вовлечения: информируем, продаём, помогаем
Пройти по пути покупателя, выдавать информацию, необходимую для совершения следующего шага. Ловушки на этом пути.
Информационный стиль: применение с пониманием
Чистить текст без фанатизма. Эмоциональное вовлечение. Рациональное обоснование.
Структура и вёрстка
Заголовки и подзаголовки, списки, абзацы, иерархия подачи информации.
SEO-аспекты и LSI-копирайтинг
Понимание ценности ключей. Зачем копирайтеру нужно семантическое ядро.
Оценка качества текста (чеклист)
Уникальность, фактическая достоверность, соответствие целям, информационная плотность, грамотность.
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
Лекция Алексея Иванова в Школе вебмастеров: «Usability и дизайн: как не помешать пользователю».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Что такое юзабилити и почему оно важно
Поведение пользователей на сайте и достижение ими запланированных целей зависит не только от контента, но и от удобства сайта.
Информационное и функциональное наполнение сайта
Перед созданием сайта нужно правильно определить, какая информация и какой функционал должны быть на сайте. При этом нужно исходить не из того, что у вас есть, а из того, что будет нужно будущим посетителям вашего сайта.
Проектирование входных страниц
В зависимости от целей сайта и источников посетителей нужно сформулировать требования к входным страницам сайта и их содержанию.
Сценарии поведения пользователя
Для правильного распределения информации нужно описать сценарии взаимодействия с сайтом для разных групп посетителей. Рассмотрим методы совмещения разных сценариев на одном сайте.
Пройти тест по теме
Управление конверсией
В большинстве случаев мы ждем от посетителя сайта какого-то целевого действия. Это может быть регистрация, отправка заявки, звонок или что-то ещё. Вы увидите способы мотивации посетителей к совершению целевого действия для различных типов сайтов.
Пройти тест по теме
Основные принципы распределения информации
В рамках этого блока вы увидите, как нужно распределять информацию на странице, чтобы посетители увидели всё, что вы хотите им показать.
Мобильная версия сайта и принципы юзабилити
Всё больше посетителей приходят на сайт с мобильных устройств. Рассмотрим основные особенности взаимодействия с информацией с мобильного устройства и подходы к адаптации сайта под них.
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
Лекция Алексея Иванова в Школе вебмастеров Яндекса: «Сайт. Зачем он и каким должен быть».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Типы сайтов и потребности аудитории
В зависимости от решаемых задач, сайты можно разделить на несколько характерных типов с разными функциями и контентом. Перед созданием сайта важно понять, чего ждут посетители и какими хотят видеть веб-страницы. При этом на один и тот же сайт может попадать разная аудитория, которая ведёт себя по-разному и каждая имеет свои потребности. Для каждого сегмента нужно разработать отдельные сценарии взаимодействия с информацией на вашей площадке.
Сайт с точки зрения бизнеса
Чаще всего сайт создается для решения конкретных бизнес-задач. Рассмотрим различные типы монетизации сайтов и особенности каждого из них.
Основные показатели и методы измерения
Одно из главных преимуществ цифровых каналов — детальная аналитика взаимодействия посетителей с сайтом. В данном блоке рассмотрим основные инструменты измерения, ключевые показатели сайта, на которые нужно обращать внимание, и подходы к интерпретации полученных данных для принятия решений.
Эталонное описание фильма на основе десятков дубликатовYandex
Как сравнить миллионы описаний фильмов — из десятков источников и на разных языках? Как структурировать полученные данные и для каждого фильма агрегировать их в максимально полную информационную карточку?
Речь пойдёт о разных подходах к решению этой задачи (детерминированном, вероятностном, или методом машинного обучения), о необходимых библиотеках и инструментах, а также о сходных задачах.
6. Почему нужно уметь разбираться с проблемами сервисов?
!
• Одна из основных задач системных администраторов
• Улучшить понимание работы ОС и сервиса
• Получить идеи оптимизации сервиса
• Безысходность
6
Мотивация
7. Почему эта часть работы не должна существовать?
!
• Тесты
• Не существует проблем в сети
• Не существует проблем с ресурсами
• Идеальный код
7
Демотивация
8. • Знать свой shell
• Освоить командные утилиты для обработки текста (grep, awk)
• Иметь представление о принципах работы ОС и сетей
• Знать скриптовый язык программирования (python, perl)
8
Полезные умения
9. • Работающий мониторинг
• Знание принципов работы сервисов
• Знание парка машин
9
Всегда готов - стандартные ситуации
10. • Бэкапы логов
• Быстрый откат к предыдущей(-им) конфигурации(-ям)
• Возможность оставить несколько инстансов в проблемном
состоянии для исследования
10
Всегда готов - пожар
12. • Информация о состоянии сервиса в реальном времени
• Дать понимание состояния сервиса в целом (запросы, неудачи,
время ответа и т.п.)
• Дать понимание состояния конкретных машин (потребление
CPU, памяти, сетевая и дисковая активности)
• Дать понимание работы сети на машинах, в роутерах и т.п.
• Исторические данные - тренды
• Количественный и качественный мониторинг
12
Задачи мониторинга
13. • Nagios
• Zabbix
• Cacti
• Ganglia
• Своё
13
Системы мониторинга
15. • Процентили - 50, 90, 95.
• Максимальные и минимальные значения
• Выбросы
• И всё это уметь соотносить со временем релиза (CI)
15
Объекты мониторинга
20. • Быстрое понимание того, что произошло что-то нехорошее
• Быстрое понимание того, где произошло что-то нехорошее
• Возможность отличить общесистемную проблему от проблемы
на ограниченном подмножестве серверов
20
Что даёт мониторинг
27. • Всё ещё не говорят, что сломалось
• Могут навести на неправильные мысли. Например, при
поломке DNS будет казаться, что потерялась связность
• ICMP может быть заблокирован правилами firewall (или опять
обманывать про связность)
27
Грубые инструменты - недостатки
28. • netstat -i - список интерфейсов
• netstat -r - таблица маршрутизации
• netstat -b <interval> - in/out пакеты на интерфейсе
• netstat -d <interval> - drop пакетов
• netstat -Latn - listen queue для слушающих tcp сокетов
• netstat -qI eth0 - статистика очередей на интерфейсе
28
netstat
29. Программа tcpdump - это швейцарский нож, который покажет все
проблемы с сетью.
Синтаксис:
tcpdump -i <interface> [options] <expression>
expression - выражение, фильтрующее пакеты
29
Швейцарский нож - tcpdump
30. • tcpdump -i eth0 tcp port 80
• tcpdump -i eth0 -n tcp port 80
• tcpdump -i en1 tcp port 443 and host ssllabs.com
• tcpdump -i eth0 ‘host ssllabs.com and (tcp port 80 or tcp port 443)’
• А также UDP, (R)ARP, ICMP и тысячи других
30
tcpdump - примеры
31. Кроме собственно tcpdump есть вспомогательные программы
• wireshark - GUI над tcpdump. Другой синтаксис фильтров
(tcp.port == 80 против tcp port 80).
• tshark - пакетная обработка pcap-файла
31
wireshark tcpdump
32. • Общение - удаётся ли переходить между состояниями tcp
• Потери пакетов (ретрансмиты)
• Время, затрачиваемое каждым из участников общения
• Какими порциями происходит передача данных
• Опции tcp: maximum segment size и прочие
• Сопоставлять с логами сервиса
• Различия восприятия передачи клиентом и сервером
32
На что смотреть
34. • ps - %CPU, %MEM, VSS, RSS, SHR
• top (htop) - на машине, realtime
• uptime
• /proc/meminfo
• /proc/cpuinfo
34
Смотрим процессы ОС
35. • Стандартные места - /var/log/
• Сервис-специфичные места (/usr/local/www/logs)
• Системные - dmesg, /var/log/messages
• lsof - потому что все врут
• /proc/<pid>
35
Логи и где их искать
36. • Факт записи coredump’а можно поискать в dmesg’е
• ulimit -c
• sysctl kernel.core_pattern
%p - pid
%s - номер сигнала
%t - timestamp
%e - название программы
%h - hostname
36
Coredump
44. Показывает утилизацию система ввода-вывода, процессора и
памяти.
hint: печатайте ещё и текущее время
perl -ne «print scalar localtime(), ‘ ‘, $_;» | vmstat 1
44
vmstat
46. • procs: r - в state: running, b - заблокировнные
• memory: free, buff, cache
• swap: si - swap in, so - swap out
• io: bi - block in, bo - block out
• system:in - interrupts, cs - context switches
• cpu: us - user, sy - system, id - idle, wa - waiting on io
46
Расшифровка