13 октября, DEV {web} - конференция о Highload веб-разработке. "Грабли при ма...IT-Portfolio
13 октября, DEV {web} - конференция о Highload веб-разработке. «Грабли при масштабировании веб-приложения, на которые очень легко наступить», Евгений Коковихин (системный архитектор WapStart)
Аннотация
Что происходит при росте приложения с 1М до 50М хитов в сутки. С какими проблемами можно столкнуться, когда серверов становится больше одного. О чем важно помнить при проектировании приложения, способного масштабироваться.
Подробно
Когда мы сделали первую публичную версию plus1.wapstart.ru, она помещалась на один сервер и была соответствующим образом спроектирована. Потом нагрузка начала расти, а мы начинали наступать на грабли. В докладе будет рассказано о наиболее типичных "граблях", что возможно позволит избежать их другими разработчиками при проектировании приложения.
О чем пойдет речь (кратко):
* балансировка нагрузки;
* кеширование данных и прогрев кешей;
* работа с сетью;
* сессии;
* файлы, загружаемые пользователями;
* работа с СУБД.
Мы пишем на PHP, используем фреймворк OnPHP, СУБД Postgres.
Биография
Родился в несуществующем городе несуществующей страны. Первый мобильный телефон увидел в 1997 году. С детства любил программировать, последние 4 года посвятил развитию рекламы в мобильном веб. Своими глазами видел эволюцию мобильных устройств и предпочтений рекламодателей.
Шаблонизаторы упрощают процесс формирования HTML и только. Но браузеру нужен совсем не HTML, а DOM. Необходимо преобразование. И вот тут начинается самое интересное: танцы с бубном и стрельба по ногам. В докладе пойдёт речь об общепринятом подходе получения DOM фрагмента, постпроцессинге и альтернативах. Сравним, измерим и узнаем как это делать быстрее всего.
Cоциальный граф "Одноклассников" в myTargetOleg Tsarev
Задача выглядит обманчиво простой — рядом с баннером игры из Одноклассников показывать текстовый тизер «эту игру играет Кот Матроскин и ещё 5 твоих друзей» (имя и количество берутся из друзей пользователя на Одноклассниках).
Как обрабатывать граф друзей проекта Одноклассники для этой задачи?
На этот простой вопрос дают разные ответы:
- взять графовую базу данных
- использовать матрицу инцидентности
- использовать список смежных вершин.
Если уточнить, что сырые данные занимают полтора терабайта, в графе 200 миллионов вершин и 13 миллиардов связей, то ручные решения сразу отметаются.
«Графовая база данных!» Стоит озвучить нагрузку в десятки тысяч запросов секунду и требования отвечать за миллисекунды (тысячные доли секунды!) как графовые базы сразу оказываются за бортом — типичное время ответа на простые запросы — единицы секунд.
Экс-разработчик MySQL и SciDB, ныне ведущий разработчик myTarget Олег Царёв расскажет, как решалась эта непростая задача в рамках проекта.
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...IT-Portfolio
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура проекта на 30 млн. пользователей", Дмитрий Смирнов (ведущий разработчик Фотостраны).
CSSO – инструмент для минификации CSS, который не так давно вернулся к активной разработке. Помимо исправленных багов и новых фич, он значительно ускорился и стал одним из самых быстрых структурных минификаторов CSS.
Доклад о том как это достигалось, оптимизациях, деоптимизациях, структурах данных и подходах.
Holy.js, Санкт-Петербург, 5 июня 2016
Видео: https://www.youtube.com/watch?v=8o3gKKD_J4A
Я занимаюсь CSSO. В ходе работы над ним мне пришлось погрузиться в процесс парсинга CSS. В результате парсер (тот, что в CSSO) был не раз переписан. Пришло время сделать его отдельным инструментом.
Новый быстрый детальный парсер CSS, его AST, области применения и кое-что ещё.
Тестировать регресс верстки скриншотами модно, этим никого не удивишь. Мы давно хотели внедрить этот вид тестирования у себя. Все время смущали вопросы простоты поддержки и применения, но в большей степени вопрос пропускной способности решений (производительности). Хотелось решения, простого в использовании и быстрого в работе. Готовые решения не подошли, и мы взялись делать свое.
В докладе расскажем, что из этого вышло, какие задачи решали и как мы добились того, чтобы тестирование скриншотами практически не влияло на общее время прохождения тестов.
Видео: https://youtu.be/ULwdj_Vr_WA
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)Roman Dvornov
Опенсорсный JavaScript-фреймворк с нестандартными подходами, ориентированный на разработку одностраничных приложений. Обновление шаблонов и стилей без перезагрузки страницы, развитые механизмы работы с данными, высокая производительность, инструменты разработчика и многое другое.
Доклад с конференции WSD, Санкт-Петербург, 8 июня 2013
Видео: http://www.youtube.com/watch?v=cVbbkwkhNQg
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)Ontico
RTB и его проблематика должны быть знакомы участникам конференции — мало кто сегодня не слышал об этом способе получить много krps с жесткими ограничениями на время генерации ответа.
Вот и компания Qmobi решила поучаствовать в этой гонке и отхватить свой кусок пирога под названием “рынок мобильной рекламы”.
Анализ имеющихся вариантов показал, что Go должен прекрасно подойти для этой задачи. О том, на основании каких соображений мы сделали такой вывод, и какие из этих соображений прошли проверку практикой, а какие — нет, будет рассказано в докладе.
How to Find Great Speakers for Your Next Assoicaiton MeetingStarChapter
When planning your membership organization meetings, there will be many predictable elements, such as introducing new members, taking votes on issues, and more. However, you will need to come up with exciting and beneficial meeting content to fill up your agendas if you want members to attend religiously.
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексyaevents
Елена Глухова, Яндекс
Верстальщик, разработчик веб-интерфейсов. Работает в Яндексе с 2008 года.
Варвара Степанова, Яндекс
Закончила Петрозаводский государственный университет. Работает в Яндексе с 2008 года разработчиком интерфейсов. Разрабатывала проекты Яндекс.Ответы и Яндекс.Фотки. Последние полтора года Елена Глухова и Варвара Степанова совместно работают вместе над внутренним интерфейсным фреймворком, помогающим единообразно делать сервисы Яндекса. В последнее время также заняты разработкой подобного интерфейсного фреймворка в open source.
Тема доклада
i-bem.js: JavaScript в БЭМ-терминах.
Тезисы
Разрабатывая сайты по методологии БЭМ, мы используем единую предметную область во всех технологиях: CSS, шаблоны, JavaScript. Для того чтобы это было возможно, в библиотеке блоков bem-bl реализовано ядро клиентского JS-фреймворка, которое позволяет работать со страницей в терминах БЭМ, на следующем уровне абстракции над DOM-представлением. В этом мастер-классе показаны ключевые моменты использования такого подхода для написания клиентского JS. Мы создаём составной блок, использующий JS-функциональность входящих в него маленьких блоков. В результате всё работает, и никакого копипаста.
June 2010 Jeff Davis Presentation at the ACG Utah Breakfast MeetingDavid Politis
The document discusses how businesses need to evolve and adapt to changing economic conditions. It notes that the recession will not last forever but the economy will not return to normal, and organizations need to be responsive to change. Examples are given of how large companies like P&G and GM are adapting to new trends in technology, globalization, and customer preferences. The key message is that organizations should not get discouraged by economic downturns but should get motivated to change and adapt in order to survive.
This document describes using collaborative knowledge bases like Wikipedia to support exploratory search tasks. It presents an approach that extracts concepts and their relationships from Wikipedia to build a concept network. Documents are then ranked based on their relationships to these concepts. An experiment ranks journal abstracts given a seed abstract, comparing the proposed Wikipedia-based approach to a maximal marginal relevance technique. The Wikipedia approach provided more diverse results while maintaining high relevance, showing potential for improving exploratory search.
This is an example of the check out section from the circulation policies and procedures manual that I wrote. It shows an excellent overview of how I structured each section and the step by step instructions I wrote.
Transport efficiency through increased information sharing in supply chains -...Per Olof Arnäs
Presentation of TRINFO project proposal at Transportforum 2014. The project aims at increasing the common/shared information between manufacturing company and transportation company in order to increase efficiency and sustainability.
This document provides helpful tips for saving for education expenses through different account options like Education Savings Accounts (ESAs) and UGMA/UTMA accounts. It compares the key features of these accounts such as contribution limits, tax benefits, and restrictions on use of funds. ESAs allow tax-deferred growth and tax-free withdrawals for qualified education expenses, but contributions are not tax-deductible. UGMA/UTMA accounts require funds be used for the child's benefit, with the child gaining control at age of majority. The document recommends considering which account best fits savings goals and level of control desired.
Tips for Communicating With a Worldwide AssociationStarChapter
This document provides tips for communicating with a worldwide association membership using email, forums, and web-based conferences. It recommends using email for newsletters and events, forums to allow two-way communication and feedback, and web conferences for interactive presentations and discussions. The document stresses making use of available technology to keep geographically dispersed members connected and utilizing their diverse perspectives.
Jumpstart Your Association Blog - 20 Post IdeasStarChapter
A blog it is a great way to drive traffic to your association's web page (via relevant content and search engine optimization techniques) so that you can have more opportunities to attract the types of individuals who are a perfect fit for membership in your association. However, a blog requires a consistent creation of quality content to be successful. Do you have association blog writer’s block? Here are 20 great blog topics to jumpstart your creativity.
Predicting performance in Recommender Systems - SlidesAlejandro Bellogin
The document discusses predicting performance in recommender systems. It proposes adapting techniques from information retrieval to define performance prediction models for recommender systems. Specifically, it explores adapting the concept of "query clarity" to define user clarity models that capture uncertainty in a user's preferences. The models are used to build dynamic recommendation strategies like dynamic neighbor weighting and dynamic hybrid recommendations. Initial results show the dynamic strategies outperform static baselines and user clarity predictors correlate positively with performance metrics. Future work includes exploring additional input sources for performance prediction models.
Technology Traps for Associations to AvoidStarChapter
Technology is supposed to make our lives easier, but that isn’t always the case. If your association doesn’t have a clear technology vision and plan, the programs and tools designed to improve your organization can work against you.
Here are three technology traps to watch for in your association.
Evaluation of fuels - a systems perspectivePer Olof Arnäs
A short presentation on how a transportation company needs to use a system's perspective when evaluating alternative fuels. The MEET model combines Money, Environment, Ethics and Technology.
В лекции мы попробуем взглянуть на страницу глазами пользователей и понять, что можно сделать для ускорения ее загрузки. Рассмотрим основные оптимизации на стороне браузера, познакомимся с инструментами для измерения времени отображения.
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Ontico
РИТ++ 2017, Frontend Сonf
Зал Мумбаи, 6 июня, 14:00
Тезисы:
http://frontendconf.ru/2017/abstracts/2471.html
Знаете ли вы, что такое прогрессивный рендеринг?
Почему вам стоит его использовать?
Какие есть варианты сегодня?
Баба-Яга против! — Роман Дворнов, Ostrovok.ruYandex
В последнее время во фронтенде появляется столько нового и внедряется настолько быстро, что не все успевают осознать последствия. Хорошо это или плохо? Рассмотрим некоторые новинки с точки зрения «за», а главное – «против».
В последнее время во фронтенде появляется столько нового и внедряется настолько быстро, что не все успевают осознать последствия. Хорошо это или плохо? Рассмотрим некоторые новинки с точки зрения «за», а главное – «против».
Конференция FrontTalks, Екатеринбург, 19 сентября
Видео: https://vimeo.com/107694664
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)Ontico
РИТ++ 2017, App's Conf
Зал Найроби, 6 июня, 10:00
Тезисы:
http://appsconf.ru/2017/abstracts/2818.html
Ни для кого не секрет, что Swift — это mainstream: его активно продвигает Apple, на нем пишутся все новые фреймворки, многие разработчики начинают именно с него. Но так ли просто мигрировать c Objective-С, если твоему приложению 5 лет и оно имеет большую аудиторию? В докладе мы расскажем о том, как сделать это без ущерба для бизнеса.
Вы узнаете об этапах такого перехода:
1. Какую бизнес-проблему решали? - Ускоряем разработку, уменьшаем количество багов, проще и быстрее находим новых сотрудников, ограждаем от будущих рисков (старых не поддерживаемых фреймворков, устаревших АПИ).
...
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/2991.html
Нынче стало модно выделять UI-компоненты в отдельную библиотеку и использовать её в нескольких проектах. Мы в команде почты Mail.ru делаем так же, но столкнулись с проблемой: каждый разработчик, меняя библиотеку под свои нужды, обязательно ломает что-нибудь, что работало у других.
Я расскажу о том, как мы решили эту проблему, и о том, какие инструменты для этого можно использовать. Storybook, BackstopJS, Jest, Webdriver.io, TypeScript - в их числе.
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Yandex
БЭМ упрощает разработку сайтов, которые нужно быстро создать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться. С обширным арсеналом БЭМ, со всей его модульностью и мощью, вам останется «всего-то» придумать идею и реализовать её. На мастер-классе вы сможете вместе с нами создать то, что мы «только что» придумали. Вы узнаете, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомитесь с готовыми библиотеками блоков и инструментами для автоматизации сборки. Мы покажем, как разные инструменты — например, autoprefixer, css-препроцессор Roole или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки на БЭМ. На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельная часть мастер-класса будет посвящена декларативным шаблонам BEMHTML и BEMTREE, которые позволяют преобразовывать сырые данные во view-ориентированный BEMJSON. Мы вместе напишем серверную часть приложения в БЭМ-методологии и используем данные от разных социальных и поисковых сервисов (RSS с Яндекс.Фоток, API Twitter и Instagram). В результате получится работающий сайт, а вы — на практике познакомитесь с полным стеком БЭМ-технологий. После мастер-класса мы сможем свободно пообщаться на профессиональные темы. Например, вы расскажете о трудностях, с которыми встретились при реализации проекта на БЭМ, и мы вместе подумаем, как воплотить вашу идею в жизнь.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TKConf
Расскажу об организации процесса разработки Frontend в единый конвейер, чтобы увеличить скорость и минимизировать затраты с рисками.
Как организовать верстку макета по фантастичному макету дизайнера при этом не вогнав в когнитивный диссонанс результатом на Bootstrap.
Каким образом объединить воинствующие стороны: Frontend, Backend и дизайнеров.
Javascript-фреймворки: должен остаться только одинSergey Xek
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
В докладе пойдет речь о том, что производительность фронтенда — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
Рассказ от tech-менеджера о том, как мы в Acronis выбирали фреймворк в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
В докладе пойдет речь о том, что производительность фронтенда — это больше про слаженную работу команды, про понятный и масштабируемый код, чем про сухие циферки. Но циферки тоже будут.
1) Какие у нас были проблемы с текущим фреймворком — UI, архитектура, код.
2) Как измеряли, что примерно стоит брать (исследование популярности).
3) Что рассматривали.
4) На пути к демо-проекту, какие были сложности (то, что уперли идею с Typescript, собственный компилятор шаблонов, четыре Flux-фреймворка и все плохи).
5) Два пилотных демо-проекта: цифры.
6) Оценка трудоемкости перехода.
Автоматизация разработки курсов: путь от рутины к игреAlexey Simonenko
Принципы автоматизации хорошо применимы не только для организации кода, но и для работы с контентом. В HTML Academy мы прошли путь от скидывания заданий в базу данных до организации автоматической сборки курсов на основе статических файлов. Я расскажу о том, как мы меняли процесс разработки курсов, как добавляли в него автоматизацию и к чему мы хотим прийти в итоге.
http://htmlacademy.ru
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
HighLoad++ 2017
Зал «Рио-де-Жанейро», 8 ноября, 18:00
Тезисы:
http://www.highload.ru/2017/abstracts/2905.html
Прошло более года с того момента, как Microsoft выпустила первую версию своего нового фреймворка для разработки web-приложений ASP.NET Core, и с каждым днем он находит все больше поклонников. ASP.NET Core базируется на платформе .NET Core, кроссплатформенной версии платформы .NET c открытым исходным кодом. Теперь у С#-разработчиков появилась возможность использовать Mac в качестве среды разработки, и запускать приложения на Linux или внутри Docker-контейнеров.
...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...yaevents
Артем Ерошенко, Яндекс
Закончил математико-механический факультет Санкт-Петербургского государственного университета, учится на 3 курсе аспирантуры по специальности «Теория управления». С 2008 года занимается автоматизацией тестирования выдачи поиска и околопоисковых сервисов в компании «Яндекс». С 2011 года координирует группу разработки инструментов тестирования.
Илья Кацев, Яндекс
Окончил математико-механический факультет Санкт-Петербургского государственного университета, защитил диссертацию по теории игр на степень PhD в VU University Amsterdam (Нидерланды). В Яндексе занимается автоматизацией тестирования (имитация действий пользователя и анализ результата).
Тема доклада
Как научить роботов тестировать веб-интерфейсы.
Тезисы
Речь пойдет об инструменте, который будет сам проверять веб-интерфейсы на наличие ошибок. Главное его качество – способность самостоятельно (автоматически) обнаруживать связанные элементы на странице, строить модели, которые потом можно будет тестировать автоматически. Мы не только предложим идеи, как использовать и развивать эту систему, но и покажем её прототип.
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...yaevents
Сергей Бережной, Яндекс
С 2005 года работает веб-разработчиком в Яндексе. За это время успел поучаствовать в разработке целого ряда сервисов, например, Поиска по блогам, Я.ру, Яндекс.Почты, Поиска, Картинок, Видео. Помимо внешних проектов активно занимается развитием различных внутренних инструментов для полного цикла создания сайтов. Больше всего на свете любит жену и программирование.
Тема доклада
Построение сложносоставных блоков в шаблонизаторе bemhtml.
Тезисы
Предметно-ориентированный шаблонизатор bemhtml позволяет создавать шаблоны блоков согласно методологии БЭМ. После компиляции получаются быстрые plain JavaScript-шаблоны, которые можно исполнить как на сервере, так и на клиенте. Эта технология используется в библиотеке блоков bem-bl, а также на некоторых сервисах Яндекса. Мастер-класс демонстрирует одно из преимуществ шаблонизатора bemhtml — возможность построения сложносоставных блоков. Во время мастер-класса вы узнаете об идее и синтаксисе шаблонизатора, получите готовые рецепты для решения типовых задач и анализ возможностей bemhtml.
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...yaevents
Елена Глухова, Яндекс
Верстальщик, разработчик веб-интерфейсов. Работает в Яндексе с 2008 года.
Варвара Степанова, Яндекс
Закончила Петрозаводский государственный университет. Работает в Яндексе с 2008 года разработчиком интерфейсов. Разрабатывала проекты Яндекс.Ответы и Яндекс.Фотки. Последние полтора года Елена Глухова и Варвара Степанова совместно работают вместе над внутренним интерфейсным фреймворком, помогающим единообразно делать сервисы Яндекса. В последнее время также заняты разработкой подобного интерфейсного фреймворка в open source.
Тема доклада
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты.
Тезисы
Все сайты немного похожи друг на друга. Если заниматься веб-разработкой долгие годы, накапливаются практики и типовые решения распространённых задач. Результатом наших накоплений становится open source библиотека блоков bem-bl , которую мы разрабатываем на GitHub. Библиотека реализована согласно методологии БЭМ и позволяет использовать блоки, уже имеющие шаблонную, CSS и JS-реализации, для построения web-страницы. Мастер-класс продемонстрирует, как можно использовать готовые блоки из этой библиотеки и как модифицировать их под нужды своего сайта. Для работы с файлами библиотеки используются консольные инструменты bem-tools.
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
Александр Петренко, ИСП РАН
Профессор, доктор физико-математических наук, заведующий отделом технологий программирования Института системного программирования (ИСП РАН), профессор ВМК МГУ. Основные работы в областях: формализация требований, генерация тестов на основе формализованных требований и формальных моделей (model based testing – MBT). Приложения: тестирование операционных систем и распределенных систем, тестирование компиляторов, верификация дизайна микропроцессоров, формализация стандартов на API операционных систем и телекоммуникационных протоколов. Сопредседатель оргкомитетов International MBT workshop (http://www.mbrworkshop.org/), Spring Young Researcher Colloquium on Software Engineering – SYRCoSE (http://syrocose.ispras.ru), городского семинара по технологиям разработки и анализа программ ТРАП/SDAT (http://sdat.ispras.ru/).
Тема доклада
Модели в профессиональной инженерии и тестировании программ.
Тезисы
Model Based Software Engineering (MBSE) является расширением подхода к разработке программ на основе моделей. В MBSE в отличие, например, от MDA (Model Driver Architecture) существенное внимание уделяется не только задачам собственно проектирования и разработки кода, но и задачам других фаз жизненного цикла – анализу требований, верификации и валидации, управлению требованиями на всех фазах жизненного цикла. Model Based Testing (MBT) хронологически возник гораздо раньше, чем MBSE и MDA, однако его место в разработке программ в полной мере раскрылось вместе с развитием MBSE. По этой причине MBT и MBSE следует рассматривать в тесной связке. В докладе будут рассмотрены концепции MBSE-MDA-MBT, основные источники и виды моделей, которые используются в этих подходах, методы генерации тестов на основе моделей, известные инструменты для
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...yaevents
Роман Андриади, Яндекс
Работает в департаменте эксплуатации Яндекса с 2005 года. С 2010 года – руководитель группы администрирования коммуникационных, контент- и внутренних сервисов.
Тема доклада
Администрирование небольших сервисов, или Один за всех и 100 на одного.
Тезисы
Администрирование коммуникационных сервисов начиналось в 2004 году с обслуживания десятка серверов и десятка сервисов, на них располагающихся. Со временем сервисов становилось все больше, увеличивалось число задач по ним, а десяток серверов вырос в парк из сотен машин, разделенных на множество разношерстных кластеров. В докладе будет рассказано, как с ростом объемов кластера эволюционировали приемы администрирования, какие инструменты при этом использовались, как мы написали свой инструмент управления, как и чем он научился помогать нам за эти годы.
Истории про разработку сайтов. Сергей Бережной, Яндексyaevents
Сергей Бережной, Яндекс
С 2005 года работает веб-разработчиком в Яндексе. За это время успел поучаствовать в разработке целого ряда сервисов, например, Поиска по блогам, Я.ру, Яндекс.Почты, Поиска, Картинок, Видео. Помимо внешних проектов активно занимается развитием различных внутренних инструментов для полного цикла создания сайтов. Больше всего на свете любит жену и программирование.
Тема доклада
Истории про разработку сайтов.
Тезисы
Мы расскажем о том, какие задачи, связанные с разработкой сайтов, появлялись в Яндексе в разное время и как мы их решали. Выступление задумывается как диалог с разработчиками, которые тоже сталкиваются с похожими задачами. В итоге у нас получится некий сборник технологических историй для размышления.
Разработка приложений для Android на С++. Юрий Береза, Shturmannyaevents
Юрий Береза, Shturmann
Окончил факультет приборостроения Московской государственной академии приборостроения и информатики. В 2004 году пришел на работу в отдел мобильных разработок компании «Макцентр». Занимался разработкой под огромное число мобильных платформ: Windows Mobile, Symbian, Android, Embedded linux и iOS. В данный момент работает руководителем группы в компании «Контент Мастер», где занимается разработкой автомобильной навигации Shturmann.
Тема доклада
Разработка приложений для Android на С++.
Тезисы
Платформа Android становится популярнее с каждым годом. Несмотря на то, что основным языком разработки приложений для Android является Java, часто для написания кросс-платформенных приложений или при использовании сторонних библиотек программистам приходится использовать С или С++. К сожалению, разработка на С++ для платформы Android описана довольно скупо, и зачастую приходится тратить много времени на поиск нужной информации. В докладе будут представлены ответы на основные вопросы по всему циклу разработки: как писать С++ код, который будет работать на Android, как его отлаживать и находить ошибки во время падения приложений, есть ли возможность профилировать код и где искать дополнительную информацию по этим вопросам.
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...yaevents
Дмитрий Жестилевский, Яндекс
Закончил факультет экспериментальной и теоретической физики Московского инженерно-физического института в 2011 году. С 2006 года занимается разработкой приложений (игры, бизнес-приложения) под мобильные устройства на платформах J2ME, BREW, Windows Mobile, Android, iOS. В Яндексе с 2010 года, занимается разработкой архитектуры мобильных картографических сервисов. Область интересов: кросс-платформенная разработка под мобильные устройства, визуализация 3D.
Тема доклада
Кросс-платформенная разработка под мобильные устройства.
Тезисы
Разработка приложений под embedded-устройства сильно фрагментирована из-за обилия OS (Android, iOS, WM, WP7, Symbian, Bada). Независимая разработка под каждую платформу в отдельности приводит к пропорциональному росту количества участников процесса разработки и объема поддерживаемого CodeBase. Внедрение общего кода, который будет работать на всех платформах за счет использования Platform Abstraction Layer с унифицированным интерфейсом, способно сократить эти издержки. В то же время остается возможность использовать платформенно-зависимые сущности, например UI, для придания приложению native look and feel. В докладе рассматривается процесс внедрения общих компонентов в мобильные приложения Яндекса на примере Панорам улиц, а также трудности, с которыми мы столкнулись во время разработки, и пути их решения.
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...yaevents
Вячеслав Закоржевский, Kaspersky Lab
Пришёл в «Лабораторию Касперского» в середине 2007 года на должность вирусного аналитика. В конце 2008 года занял позицию старшего вирусного аналитика в группе эвристического детектирования. В область интересов входит исследование полиморфных вирусов и сильно изменяющихся зловредов. Также следит за современными тенденциями в методах обфускации, антиэмуляции и прочих, применяемых вредоносным программным обеспечением.
Тема доклада
Сложнейшие техники, применяемые буткитами и полиморфными вирусами.
Тезисы
Бытует мнение, что современные зловреды достаточно просты и пишутся неподготовленными людьми. Данное выступление призвано развеять этот миф. В презентации будут описаны три зловреда, которые используют нетривиальные и сложные методы в процессе своего функционирования. В частности, будет рассмотрена схема работы современных буткитов, которые всё больше и больше набирают обороты. На двух других примерах мы проиллюстрируем изобретательность вирусописателей, которые пытаются максимально усложнить жизнь исследователям и антивирусным компаниям. В одном случае они использовали собственную виртуальную машину совместно с EPO техникой заражения. А в другом - «подключение» нулевых виртуальных адресов для размещения в них своих данных.
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндексyaevents
Тарас Иващенко, Яндекс
Администратор информационной безопасности в Яндексе. Специалист по информационной безопасности, проповедник свободного программного обеспечения, автор Termite, xCobra и участник проекта W3AF.
Тема доклада
Сканирование уязвимостей со вкусом Яндекса.
Тезисы
В докладе будет рассказано о внедрении в Яндексе сканирования сервисов на уязвимости как одного из контроля безопасности в рамках SDLC (Secure Development Life Cycle). Речь пойдет о сканировании уязвимостей на этапе тестирования сервисов, а также о сканировании сервисов, находящихся в промышленной эксплуатации. Мы рассмотрим проблемы, с которыми столкнулись, и объясним, почему в качестве основного механизма решили выбрать открытое программное обеспечение (сканер уязвимостей w3af), доработанное под наши нужды.
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebookyaevents
Дмитрий Мольков, Facebook
Бакалавр прикладной математики Киевского национального университета им. Тараса Шевченко (2007). Магистр компьютерных наук Stony Brook University (2009). Hadoop HDFS Commiter с 2011 года. Член команды Hadoop в Facebook с 2009 года.
Тема доклада
Масштабируемость Hadoop в Facebook.
Тезисы
Hadoop и Hive являются прекрасным инструментарием для хранения и анализа петабайтов информации в Facebook. Работая с такими объемами информации, команда разработчиков Hadoop в Facebook ежедневно сталкивается с проблемами масштабируемости и эффективности Hadoop. В докладе пойдет речь о некоторых деталях оптимизаций в разных частях Hadoop инфраструктуры в Facebook, которые позволяют предоставлять высококачественный сервис. Это может быть, например, оптимизация стоимости хранения в многопетабайтных HDFS кластерах, увеличение пропускной способности системы, сокращение времени отказа системы с помощью High Availability разработок для HDFS.
Контроль зверей: инструменты для управления и мониторинга распределенных сист...yaevents
Александр Козлов, Cloudera Inc.
Александр Козлов, старший архитектор в Cloudera Inc., работает с большими компаниями, многие из которых находятся в рейтинге Fortune 500, над проектами по созданию систем анализа большого количества данных. Закончил аспирантуру физического факультета Московского государственного университета, после чего также получил степень Ph.D. в Стэнфорде. До Cloudera и после окончания учебы работал над статистическим анализом данных и соответствующими компьютерными технологиями в SGI, Hewlett-Packard, а также стартапе Turn.
Тема доклада
Контроль зверей: инструменты для управления и мониторинга распределенных систем от Cloudera.
Тезисы
Поддержание распределенных систем, состоящих из тысяч компьютеров, является сложной задачей. Компания Cloudera, которая специализируется на создании распределенных технологий, разработала набор средств для централизованного управления распределенных Hadoop/HBase кластеров. Hadoop и HBase являются проектами Apache Software Foundation, и их применение для анализа частично структурированных данных ускоряется во всем мире. В этом докладе будет рассказано о SCM, системе для конфигурации, настройки, и управления Hadoop/HBase и Activity Monitor, системе для мониторинга ряда ОС и Hadoop/HBase метрик, а также об особенностях подхода Cloudera в отличие от существующих решений для мониторинга (Tivoli, xCat, Ganglia, Nagios и т.д.).
Юнит-тестирование и Google Mock. Влад Лосев, Googleyaevents
Владимир Лосев, Google
Закончил математико-механический факультет Санкт-Петербургского государственного университета в 1995 году. Работал в компаниях Motоrola, Fair Isaac и Yahoo. С 2008 года работает в Google, в группе, занимающейся вопросами повышения производительности инженеров.
Тема доклада
Юнит-тестирование и Google Mock.
Тезисы
В модульных (юнит) тестах каждый элемент программы тестируется по отдельности, в изоляции от других. Такие тесты исполняются очень быстро, поэтому их можно запускать когда угодно, что позволяет отлавливать дефекты на самых ранних стадиях разработки. Однако для тестирования объекта в изоляции от других необходимо имитировать поведение связанных с ним объектов, что на C++ довольно утомительное занятие. Разработанная в Googlе библиотека для создания и использования mock-объектов — Google Mock — позволяет существенно упростить этот процесс и ускорить написание тестов. В докладе пойдет речь о принципах и возможностях библиотеки, примерах её использования и её внутреннем устройстве.
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...yaevents
Dave Abrahams, BoostPro Computing
He is a founding member of Boost.org and an active participant in the ISO C++ standards committee. His broad range of experience in the computer industry includes shrink-wrap software development, embedded systems design and natural language processing. He has authored eight Boost libraries and has made contributions to numerous others. Dave made his mark on C++ standardization by developing a conceptual framework for understanding exception-safety and applying it to the C++ standard library. He created the first exception-safe standard library implementation and, with Greg Colvin, drafted the proposals that eventually became the standard library’s exception safety guarantees.
Presentation topic:
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abrahams, BoostPro Computing.
Key points:
The ISO C++ standardization committee has just unanimously approved its final draft international standard, and it's chock full of new features. Though a few of the features have been available for years, some are brand new, and nobody really knows what it's like to program in this new C++ language. As with C++03, Boost.org is expected to take a leading role in exploiting C++11. In this talk, I'll give an overview of the most important new developments.
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...yaevents
Алексей Воинов, Яндекс
Закончил МГТУ им. Н.Э.Баумана в 1998 году. Посвятил часть своей жизни свободному программному обеспечению. Замечен в любви к языкам, как к алгоритмическим, так и к человеческим, как к естественным, так и к искусственным. Работает в Яндексе с 2009 года, занимается разработкой Яндекс.Почты.
Тема доклада
Зачем обычному программисту знать языки, на которых почти никто не пишет.
Тезисы
Есть категория алгоритмических языков, которые большинство программистов считает в лучшем случае странными. Это такие языки как Haskell, *ML, Lisp, Q. «Странные» языки не приживаются в промышленной разработке софта, потому что они не дают возможности писать стандартный «промышленный» код. Однако они бывают очень хороши для придумывания приёмов, которые помогают улучшить промышленный код. Впоследствии многие из них становятся стандартными промышленными. Знание «странных» языков очень полезно, когда в силу внешних обстоятельств сделать промышленный код радикально лучше невозможно, но его можно улучшать небольшими шагами.
В поисках математики. Михаил Денисенко, Нигмаyaevents
Михаил Денисенко, Нигма
Закончил факультет вычислительной математики и кибернетики МГУ. Завершает работу над диссертацией, посвященной математическим аспектам информационной безопасности. Занимался исследованиями в области обработки видеопоследовательностей и компьютерной безопасности в компании Intel. С 2009 года является старшим разработчиком математического сервиса в компании Nigma.ru. С 2011 года — системный архитектор поисковой системы ITim.vn.
Тема доклада
В поисках математики.
Тезисы
Nigma-Математика – это сервис, с помощью которого пользователи могут решать различные математические задачи (упрощать выражения, решать уравнения, системы уравнений и т. д.), вводя их прямо в строку поиска в виде обычного текста. Система распознает более тысячи физических, математических констант и единиц измерения, что позволяет пользователям производить операции с различными величинами (в том числе решать уравнения) и получать ответ в указанных единицах измерения. Помимо уравнений система решает все задачи, характерные для калькуляторов поисковых систем и конвертеров валют. В докладе будет описана общая схема функционирования сервиса, базовые и новые алгоритмы системы символьных вычислений (алгоритмы решения уравнений и неравенств, алгоритм учета области допустимых значений, алгоритм исследования функций и т.п.). Также будет рассказано об ускорении работы сервиса, распределении нагрузки на систему, распознавании математичности запроса, преобразовании валют и метрических величинах.
Using classifiers to compute similarities between face images. Prof. Lior Wol...yaevents
Prof. Lior Wolf, Tel-Aviv University
He is a faculty member at the School of Computer Science at Tel-Aviv University. Previously, he was a post-doctoral associate in Prof. Poggio's lab at MIT. He graduated from the Hebrew University, Jerusalem, where he worked under the supervision of Prof. Shashua. He was awarded the 2008 Sackler Career Development Chair, the Colton Excellence Fellowship for new faculty (2006-2008), the Max Shlumiuk award for 2004, and the Rothchild fellowship for 2004. His joint work with Prof. Shashua in ECCV 2000 received the best paper award, and their work in ICCV 2001 received the Marr prize honorable mention. He was also awarded the best paper award at the post ICCV workshop on eHeritage 2009. In addition, Lior has held several development, consulting and advisory positions in computer vision companies including face.com and superfish, and is a co-founder of FDNA.
Presentation topic:
Using classifiers to compute similarities between images of faces.
Key points:
The One-Shot-Similarity (OSS) is a framework for classifier-based similarity functions. It is based on the use of background samples and was shown to excel in tasks ranging from face recognition to document analysis. In this talk we will present the framework as well as the following results: (1) when using a version of LDA as the underlying classifier, this score is a Conditionally Positive Definite kernel and may be used within kernel-methods (e.g., SVM), (2) OSS can be efficiently computed, and (3) a metric learning technique that is geared toward improved OSS performance.
Поисковая технология "Спектр". Андрей Плахов, Яндексyaevents
Андрей Плахов, Яндекс
Закончил с отличием механико-математический факультет МГУ в 2002 году. Защитил кандидатскую диссертацию по программированию в Институте прикладной математики им. Келдыша РАН. В Яндексе – три года, всё это время занимается повышением качества веб-поиска. Автор поискового релиза «Спектр». До Яндекса в течение семи лет делал компьютерные видеоигры. Внерабочие интересы: P-NP проблема, квантовые вычисления, структурная лингвистика, системная биология, рисование слонов шариковой ручкой.
Тема доклада
Поисковая технология «Спектр».
Тезисы
Большое количество запросов, отправленных в поиск Яндекса, формулируются неоднозначно. Например, по запросу [наполеон] кто-то хочет найти французского императора, а кто-то – рецепт торта. А задавая вопрос [пицца], человек может искать и ресторан с доставкой на дом, и рецепты, и даже фотографии пиццы. В основе работы «Спектра» лежит статистика поисковых запросов. Система исследует запросы всех пользователей Яндекса и выделяет в них различные объекты. Далее объекты распределяются по категориям: имена людей, названия фильмов и книг, города, модели автомобилей и т.д. «Спектр» учитывает, в какую категорию попадает объект, что обычно люди про него спрашивают, что пишут в интернете, и оценивает, какой процент людей ищут этот объект с каждой из возможных целей. Результаты поиска по многозначным запросам ранжируются с помощью вероятностной модели восприятия страницы результатов, при этом максимизируемой характеристикой является вероятность того, что пользователь получит нужный ему ответ.
30. Что влияет?
• Много DOM элементов
• Большая вложенность
29
31. Что влияет?
• Много DOM элементов
• Большая вложенность
• Много селекторов в таблице стилей
30
32. Что влияет?
• Много DOM элементов
• Большая вложенность
• Много селекторов в таблице стилей
• Медленные селекторы
31
33. Что влияет?
• Много DOM элементов
• Большая вложенность
• Много селекторов в таблице стилей
• Медленные селекторы
• Новомодные CSS3 свойства
32
34. Что влияет?
• Много DOM элементов
• Большая вложенность
• Много селекторов в таблице стилей
• Медленные селекторы
• Новомодные CSS3 свойства
• float для лейаута
и таблицы без table-layout: fixed
33
46. CSS3
• box-shadow + inset и большой (>=15px)
радиус (WebKit)
• border-radius (IE9 если много детей)
45
47. CSS3
• box-shadow + inset и большой (>=15px)
радиус (WebKit)
• border-radius (IE9 если много детей)
• Радиальные градиенты (WebKit)
46
48. CSS3
• box-shadow + inset и большой (>=15px)
радиус (WebKit)
• border-radius (IE9 если много детей)
• Радиальные градиенты (WebKit)
• background-size (WebKit)
47
49. Картинки
• Лучше не растягивать (скорость репейнта падает
в ~2 раза)
48
50. Картинки
• Лучше не растягивать (скорость репейнта падает
в ~2 раза)
• Не важно, где указан размер, если он верный
49
51. Картинки
• Лучше не растягивать (скорость репейнта падает
в ~2 раза)
• Не важно, где указан размер, если он верный
• Картинки в спрайте в ~1,5-2 раза медленне (IE6)
50
52. Картинки
• Лучше не растягивать (скорость репейнта падает
в ~2 раза)
• Не важно, где указан размер, если он верный
• Картинки в спрайте в ~1,5-2 раза медленне (IE6)
• data:uri и mhtml в ~3-4 раза медленне, чем
обычные (IE8-)
51
55. Аппаратное ускорение?
• Есть не везде
(Chrome, Safari 5, FF4, Opera 11.50, IE9)
• Применяется не ко всему
(анимация, SVG, Canvas)
54
56. Аппаратное ускорение?
• Есть не везде
(Chrome, Safari 5, FF4, Opera 11.50, IE9)
• Применяется не ко всему
(анимация, SVG, Canvas)
• Можно включить в Safari:
-webkit-transform: translateZ(0)
55