Web-программирование
Лекция #7. Django ORM
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"Yandex
Существует большое количество разных HTML-шаблонизаторов, и, зная это, мы написали свой, экзотический! Мы расскажем о том, что получилось в итоге и зачем мы это сделали. А также подробнее остановимся на синтаксисе, семантике, оптимизации и компиляции шаблонов в эффективный JavaScript.
Максим Ширшин "SVARX, или Борьба с большими формами"Yandex
Максим Ширшин "SVARX, или Борьба с большими формами"
Я.Субботник в Новосибирске
О докладе:
Как реализовать и поддерживать валидацию сложных веб-форм? Зачем проверять формы на стороне клиента? Что должен уметь фреймворк для клиентской валидации? Зачем был придуман SVARX, как он устроен и как начать его использовать?
Web-программирование
Лекция #7. Django ORM
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"Yandex
Существует большое количество разных HTML-шаблонизаторов, и, зная это, мы написали свой, экзотический! Мы расскажем о том, что получилось в итоге и зачем мы это сделали. А также подробнее остановимся на синтаксисе, семантике, оптимизации и компиляции шаблонов в эффективный JavaScript.
Максим Ширшин "SVARX, или Борьба с большими формами"Yandex
Максим Ширшин "SVARX, или Борьба с большими формами"
Я.Субботник в Новосибирске
О докладе:
Как реализовать и поддерживать валидацию сложных веб-форм? Зачем проверять формы на стороне клиента? Что должен уметь фреймворк для клиентской валидации? Зачем был придуман SVARX, как он устроен и как начать его использовать?
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)AvitoTech
Basis.js - это мощный фреймворк для создания полноценных SPA приложений. Он давно и активно используется в production, в том числе и в Avito. Цель доклада - рассказать об основных возможностях фреймворка и побудить слушателей попробовать данный фреймворк при создании SPA-приложений.
Сергей Максимов — BEMTREE — генерируй деревоYandex
Рассказ о том, как мы дошли до двухпроходной шаблонизации. Как можно шаблонизировать данные, если не верстка, а структура диктует построение шаблонов. И как мы генерируем БЭМ-дерево с помощью технологии BEMTREE.
Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"Yandex
Писать сложный клиентский JavaScript непросто. Каждый, кто пробовал, знает это не понаслышке. Как писать независимые блоки? Как писать блоки, состоящие из других блоков? Как сделать библиотеку блоков? В докладе мы расскажем про то, как упростить себе жизнь и научиться писать клиентский JavaScript в БЭМ-терминах.
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftwareYandex
Дмитрий расскажет о:
применении фильтров и эффектов для изображений прямо в браузере;
достоинствах и недостатках Canvas, WebGl, SVG и CSS-фильтров и шейдеров;
неизведанном мире SVG-фильтров, его продуманных до мелочей устоях, синтаксисе и правилах;
возможностях обработки изображений — от простых чёрно-белых картинок до нелинейных искажений и градиентных карт.
В докладе будет минимум скучной теории и максимум живых примеров.
55+1 прием для улучшения Javascript-кода / Татьяна Бабич (Simbirsoft)Ontico
В докладе будут рассмотрены приемы, практики и «фишки», которые полезно использовать для создания любого Frontend-приложения.
Мы поговорим об организации модульности и компонентов на примере приложений с Angular, React и Polymer. Обсудим, как использовать особенности JavaScript, и рассмотрим особые случаи, когда фреймворки действительно приходят на помощь.
Web-программирование
Лекция #4. Каскадные таблицы стилей
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...Ontico
Совместно с университетом ИТМО мы запустили курс, посвященный основам HTML и CSS. Уже на момент регистрации на этот курс записалось более 12 тысяч студентов. Перед нами стояла задача разработать систему, которая будет автоматически проверять итоговые проекты на соответствие заранее подготовленному макету. В качестве основной техники для проверки было выбрано регрессионное тестирование.
В каждом проекте мы проверяли разметку, сетку и стилевое оформление не только страницы целиком, но и отдельных блоков. Одной из главных проблем был поиск этих самых блоков, так как о том, какой будет верстка студентов, мы не знали ничего — ни какие теги они использовали, ни какие классы и идентификаторы были задействованы. Имели только общее представление о структуре.
В докладе я расскажу, от чего мы отталкивались при построении этой системы, как мы разбирали и анализировали проекты. Какие инструменты и технологии мы для этого использовали и почему. Какие подводные камни вылезали, и какие возникали проблемы.
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)AvitoTech
Basis.js - это мощный фреймворк для создания полноценных SPA приложений. Он давно и активно используется в production, в том числе и в Avito. Цель доклада - рассказать об основных возможностях фреймворка и побудить слушателей попробовать данный фреймворк при создании SPA-приложений.
Сергей Максимов — BEMTREE — генерируй деревоYandex
Рассказ о том, как мы дошли до двухпроходной шаблонизации. Как можно шаблонизировать данные, если не верстка, а структура диктует построение шаблонов. И как мы генерируем БЭМ-дерево с помощью технологии BEMTREE.
Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"Yandex
Писать сложный клиентский JavaScript непросто. Каждый, кто пробовал, знает это не понаслышке. Как писать независимые блоки? Как писать блоки, состоящие из других блоков? Как сделать библиотеку блоков? В докладе мы расскажем про то, как упростить себе жизнь и научиться писать клиентский JavaScript в БЭМ-терминах.
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftwareYandex
Дмитрий расскажет о:
применении фильтров и эффектов для изображений прямо в браузере;
достоинствах и недостатках Canvas, WebGl, SVG и CSS-фильтров и шейдеров;
неизведанном мире SVG-фильтров, его продуманных до мелочей устоях, синтаксисе и правилах;
возможностях обработки изображений — от простых чёрно-белых картинок до нелинейных искажений и градиентных карт.
В докладе будет минимум скучной теории и максимум живых примеров.
55+1 прием для улучшения Javascript-кода / Татьяна Бабич (Simbirsoft)Ontico
В докладе будут рассмотрены приемы, практики и «фишки», которые полезно использовать для создания любого Frontend-приложения.
Мы поговорим об организации модульности и компонентов на примере приложений с Angular, React и Polymer. Обсудим, как использовать особенности JavaScript, и рассмотрим особые случаи, когда фреймворки действительно приходят на помощь.
Web-программирование
Лекция #4. Каскадные таблицы стилей
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Радости и гадости регрессионного тестирования вёрстки / Алексей Малейков (HTM...Ontico
Совместно с университетом ИТМО мы запустили курс, посвященный основам HTML и CSS. Уже на момент регистрации на этот курс записалось более 12 тысяч студентов. Перед нами стояла задача разработать систему, которая будет автоматически проверять итоговые проекты на соответствие заранее подготовленному макету. В качестве основной техники для проверки было выбрано регрессионное тестирование.
В каждом проекте мы проверяли разметку, сетку и стилевое оформление не только страницы целиком, но и отдельных блоков. Одной из главных проблем был поиск этих самых блоков, так как о том, какой будет верстка студентов, мы не знали ничего — ни какие теги они использовали, ни какие классы и идентификаторы были задействованы. Имели только общее представление о структуре.
В докладе я расскажу, от чего мы отталкивались при построении этой системы, как мы разбирали и анализировали проекты. Какие инструменты и технологии мы для этого использовали и почему. Какие подводные камни вылезали, и какие возникали проблемы.
Treinamento - Advanced Earned Value Management® (AEVM), Rio Janeiro, 21 - 25 ...vitorvargasr
Pioneira na formação e consultoria em Gerenciamento de Projetos no mercado internacional o Grupo PMO Projects, em parceria com a VV Consulting, trás até ao Rio de Janeiro um dos mais completos e avançados treinamentos dedicados ao Método do Valor Agregado (Earned Value Management) através do seu curso internacional de eleição Advanced Earned Value Management® comprovado internacionalmente, tendo sido lecionado em vários países e continentes. Prestigiadas organizações como a OTAN/NATO (em Bruxelas e Haia), a Vodafone (na Alemanha) e a BHP Billiton (na África e Austrália), selecionaram já este curso para formar os seus Gestores de Projetos.
ASP.NET MVC - как построить по-настоящему гибкое веб-приложениеAlexander Byndyu
В докладе рассматривается использование популярных фреймворков в разработке ASP.NET MVC приложения, как сделать его наиболее гибким. Будет затронута тема минимизации дублирования и повторное использование кода, применение методов метапрограммирования отображений; уменьшение логики в контроллерах; применение принципов SOLID и GRASP для разработки доменной модели приложения.
По материалам конференции .NET разработчиков http://www.dotnetconf.ru/Materialy/Asp_net_mvc_kak_postroit_gibkoe_web_prilozenie
React со скоростью света: не совсем обычный серверный рендерингTimophy Chaptykov
Расскажу о небольшом исследовании, в котором мы думали о том, можем ли мы себе позволить использовать React для отдельных элементов на сайте, как устроен серверный рендеринг в VK; и получилось ли связать одно с другим. Упомяну о строковых шаблонизаторах, виртуальной DOM и LR-парсерах.
Тестируй это / Виктор Русакович (GP Solutions)Ontico
РИТ++ 2017, Frontend Сonf
Зал Дели + Калькутта, 5 июня, 18:00
Тезисы:
http://frontendconf.ru/2017/abstracts/2625.html
Как писать тесты?
Как запускать тесты?
Кто все сломал?
Все три вопроса рассмотрены в докладе. Также будет демо интеграции проекта, покрытого тестами, и cloud-based-сервиса по запуску этих тестов (github+travis).
Кроме того, расскажу об опыте по сокращению времени прогона тестов; о том, как добавить тесты в случае, если у вас уже есть большое приложение, но все еще без тестов.
Сергей Константинов — Что интересного готовит нам W3CYandex
2014 год обещает нам множество интересных нововведений. Помимо новинок в HTML5, нас ждут глобальные изменения в самой веб-платформе. Promises и модули — революция в стандартах разработки стандартов. Service Workers — новый подход к решению проблемы офлайновых веб-приложений. @@create — отнаследуйся от HTMLElement! Обо всём этом и пойдёт речь в докладе.
Оптимизация трассирования с использованием Expression templatesPlatonov Sergey
В докладе будет рассказано о тех фундаментальных причинах, приводящих к неоптимальному коду в продукте, будет предложен подход, лишённый найденных недостатков.
Докладываемый подход опирается на технологию Expression Templates, которая позволяет уменьшить количество действий и объём ресурсов, которые требуются для выполнения неких промежуточных действий в процессе формирования каждой записи в журнал. Эта технология используется для уменьшения количества промежуточных операций при вычислении сложных математических выражений. Новизна докладываемого подхода в том, что тот же самый принцип, на котором основана технология Expression Templates можно применить для того, чтобы целенаправленно исключить те промежуточные действия, которые в конечном итоге приводят к неоптимальному коду.
Завершается доклад обсуждением полученного эффекта, путей возможного дальнейшего развития и возможностей применения этой же технологии в других задачах.
"Адаптивный дизайн интерфейса JS API Яндекс.Карт и особенности его реализации...Yandex
При разработке интерфейсов для API, неизбежно сталкиваешься с несколькими проблемами. Во-первых, мы не знаем заранее, как будет выглядеть сервис или сайт со встроенными Картами. Важно обеспечить его будущим пользователям наилучший результат — даже если у разработчиков, использующих наш API, вообще нет в команде дизайнера. Во-вторых, проблемы могут возникнуть при адаптации дизайна для разных устройств и размеров экранов. В докладе мы поговорим о том, как и с помощью чего делаются прототипы, и зачем они нужны разработчикам и дизайнерам. А самое главное, разберёмся с адаптивным поведением элементов управления картой, рассмотрим схему работы менеджера контролов. Также мы кратко обсудим другие варианты реализации этого механизма и объясним, почему они не подошли нам.
Из презентации вы узнаете:
— как мы пришли к Go, оставив идею использования Node.js, Scala или Rust;
— про первый сервис, который мы написали на Go и запустили в продакшен;
— про ошибки, с которыми сталкивались под нагрузкой;
— про оптимизации, которые мы сделали и еще планируем сделать;
— про тестирование и предотвращение тестирования на продакшене (в частности, websocket'ов).
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Timur Shemsedinov
Примеры кода приложений и конфигурации сервера с доступом к файлам, памяти, базам данных и параллельной асинхронной обработкой различных типов API запросов с состоянием и без состояния.
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...yaevents
Артем Ерошенко, Яндекс
Закончил математико-механический факультет Санкт-Петербургского государственного университета, учится на 3 курсе аспирантуры по специальности «Теория управления». С 2008 года занимается автоматизацией тестирования выдачи поиска и околопоисковых сервисов в компании «Яндекс». С 2011 года координирует группу разработки инструментов тестирования.
Илья Кацев, Яндекс
Окончил математико-механический факультет Санкт-Петербургского государственного университета, защитил диссертацию по теории игр на степень PhD в VU University Amsterdam (Нидерланды). В Яндексе занимается автоматизацией тестирования (имитация действий пользователя и анализ результата).
Тема доклада
Как научить роботов тестировать веб-интерфейсы.
Тезисы
Речь пойдет об инструменте, который будет сам проверять веб-интерфейсы на наличие ошибок. Главное его качество – способность самостоятельно (автоматически) обнаруживать связанные элементы на странице, строить модели, которые потом можно будет тестировать автоматически. Мы не только предложим идеи, как использовать и развивать эту систему, но и покажем её прототип.
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...yaevents
Сергей Бережной, Яндекс
С 2005 года работает веб-разработчиком в Яндексе. За это время успел поучаствовать в разработке целого ряда сервисов, например, Поиска по блогам, Я.ру, Яндекс.Почты, Поиска, Картинок, Видео. Помимо внешних проектов активно занимается развитием различных внутренних инструментов для полного цикла создания сайтов. Больше всего на свете любит жену и программирование.
Тема доклада
Построение сложносоставных блоков в шаблонизаторе bemhtml.
Тезисы
Предметно-ориентированный шаблонизатор bemhtml позволяет создавать шаблоны блоков согласно методологии БЭМ. После компиляции получаются быстрые plain JavaScript-шаблоны, которые можно исполнить как на сервере, так и на клиенте. Эта технология используется в библиотеке блоков bem-bl, а также на некоторых сервисах Яндекса. Мастер-класс демонстрирует одно из преимуществ шаблонизатора bemhtml — возможность построения сложносоставных блоков. Во время мастер-класса вы узнаете об идее и синтаксисе шаблонизатора, получите готовые рецепты для решения типовых задач и анализ возможностей bemhtml.
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексyaevents
Елена Глухова, Яндекс
Верстальщик, разработчик веб-интерфейсов. Работает в Яндексе с 2008 года.
Варвара Степанова, Яндекс
Закончила Петрозаводский государственный университет. Работает в Яндексе с 2008 года разработчиком интерфейсов. Разрабатывала проекты Яндекс.Ответы и Яндекс.Фотки. Последние полтора года Елена Глухова и Варвара Степанова совместно работают вместе над внутренним интерфейсным фреймворком, помогающим единообразно делать сервисы Яндекса. В последнее время также заняты разработкой подобного интерфейсного фреймворка в open source.
Тема доклада
i-bem.js: JavaScript в БЭМ-терминах.
Тезисы
Разрабатывая сайты по методологии БЭМ, мы используем единую предметную область во всех технологиях: CSS, шаблоны, JavaScript. Для того чтобы это было возможно, в библиотеке блоков bem-bl реализовано ядро клиентского JS-фреймворка, которое позволяет работать со страницей в терминах БЭМ, на следующем уровне абстракции над DOM-представлением. В этом мастер-классе показаны ключевые моменты использования такого подхода для написания клиентского JS. Мы создаём составной блок, использующий JS-функциональность входящих в него маленьких блоков. В результате всё работает, и никакого копипаста.
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...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.
3. Преимущества шаблонизации на клиенте:
Уменьшение трафика
Посылаем чистые данные — JSON или XML вместо HTML
Уменьшение нагрузки на сервер
Не нужно накладывать шаблон на сервере
Не нужно на каждый запрос доставать вспомогательные данные
3
12. Метод supplant
String.prototype.supplant = function(obj) {
return this.replace(/{([^{}]*)}/g,
function(a, b) {
var r = obj[b];
return typeof r === 'string' || typeof r === 'number' ? r : a;
}
);
};
12
13. Метод supplant
var data = {
url: "/test/",
src: "test.gif",
width: 60,
height: 30,
caption: "Трам-парам!"
};
var template = '<div class="preview"><p class="image"><a
href="{url}"><img src="{src}" width="{width}"
height="{height}"/></a></p><p
class="caption">{caption}</p></div>';
var result = template.supplant(data);
13
14. Метод supplant. Подстановка данных
в сообщение для пользователя
var data = {
from: 'Madrid',
to: 'Barcelona',
number: '78A'
};
var template = 'Take train {number} from {from} to {to}.';
var result = template.supplant(data);
14
26. XSLT (eXtensible Stylesheet Language
Transformations) — часть спецификации XSL,
задающая язык преобразований XML-
документов. Спецификация XSLT является
рекомендацией W3C.
XSLT — набор шаблонов
Применяем XSLT к XML-документу, получаем
другой XML, HTML или обычный текст.
Правила выбора данных из исходного XML
пишутся на языке запросов XPath.
26
28. // Создаем XSLT Processor
var xsltProcessor = new XSLTProcessor();
// Загружаем xsl-файл
var xhr = new XMLHttpRequest();
xhr.open("GET", "example.xsl", false);
xhr.send();
// Импортируем xsl-файл
xsltProcessor.importStylesheet(xhr.responseXML);
28
29. // Парсим XML из строки
var parser = new DOMParser();
var xml = parser.parseFromString("<data>
<url>/test/</url><src>test.gif</src><width>60</width><heig
ht>30</height><caption>Трам-парам!</caption></data>",
"text/xml");
// Выполняем трансформацию
var fragment =
xsltProcessor.transformToFragment(xml, document);
document.body.appendChild(fragment);
www.stepanreznikov.com/client-side-xslt/01-fragment.html
29
30. // Выполняем трансформацию
var doc = xsltProcessor.transformToDocument(xml);
var out = document.adoptNode(doc.documentElement);
или
var out = document.importNode(doc.documentElement, true);
document.body.appendChild(out);
www.stepanreznikov.com/client-side-xslt/02-document.html
30
38. Преимущества XSLT
Нет проблем с whitespace
Micro-Templating
<img src="<%=src%>"/>
<%=caption%>
XSLT
<img src="{src}"/>
<xsl:value-of select="caption"/>
Если нужно вывести пробел:
<xsl:text> </xsl:text> или <xsl:value-of select="' '"/>
38