Александр Поштарук "Use-case оператора replyWhen из Rx.JS на примере Ангулар ...Fwdays
[Lightning talk]
При интеграции с помощью Iframe в приложения, где используется oAuth для авторизации (т.е. для доступа к данным используется AccessToken), возникает вопрос восстановление невалидного Access Token для встроенного в iframe приложения. Как это сделать удобно и с минимальным объемом кода? Об этот данный доклад.
Александр Поштарук "Use-case оператора replyWhen из Rx.JS на примере Ангулар ...Fwdays
[Lightning talk]
При интеграции с помощью Iframe в приложения, где используется oAuth для авторизации (т.е. для доступа к данным используется AccessToken), возникает вопрос восстановление невалидного Access Token для встроенного в iframe приложения. Как это сделать удобно и с минимальным объемом кода? Об этот данный доклад.
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Alexander Borzunov
Описание декоратора для автоматической оптимизации алгоритмов с помощью быстрого возведения матриц в степень в Python.
Смотрите подробнее:
GitHub: https://github.com/borzunov/cpmoptimize
Хабрахабр: http://habrahabr.ru/post/236689/
Python Package Index: https://pypi.python.org/pypi/cpmoptimize
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василийsolit
Василий Соловей, Солигорск. PHP-разработчик в в «Электронном Солигорске».
«Минусы ООП на примере языка PHP». Development секция. Для разработчиков (начальный и средний уровень).
1. Что есть ООП (легкое повторение уже знакомого)
2. Лучше доверять авторитету мнения, чем мнению авторитета (во всем нужно разбираться основательно, а в ООП тем более)
3. Неизменная скупость в похвалах — верный признак посредственного ума (плюсы ООП)
4. Не все то солнышко, что блестит (основная часть доклада – минусы ООП)
5. Кто владеет информацией, тот владеет ситуацией (пояснение сути доклада:
доклад не принижает и не умоляет достоинств ООП он создан расширить кругозор)
«Начинать никогда не поздно!». Мотивационное выступление. На личном примере, я могу рассказать, что начинать никогда не поздно, и если есть желание – нет повода себе отказывать.
1. Путь в тысячу миль начинается с одного шага (с чего начать)
2. И на верном пути повстречаются распутья (как не сбиться с дороги начав)
3. Кто ты программист? (мой взгляд на программирование)
4. Успех – дитя настойчивости
JavaScript - мой основной язык программирования, но два года я была в “Java-JavaScript” иммиграции, а последние полгода провела со Swift. Теперь, возвращаясь к JavaScript, я часто сравниваю, как там у “них”.
Этот доклад о том, чего мне не хватает в JavaScript, и почему JavaScript разработчику следует путешествовать в другие языки.
TeaVM: dead code elimination and devirtualizationАлексей Андреев
This presentation is in Russian!
TeaVM is a AOT compiler of Java bytecode primarily targetted to JavaScript. This presentation explains technique used by to remove unused code
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Alexander Borzunov
Описание декоратора для автоматической оптимизации алгоритмов с помощью быстрого возведения матриц в степень в Python.
Смотрите подробнее:
GitHub: https://github.com/borzunov/cpmoptimize
Хабрахабр: http://habrahabr.ru/post/236689/
Python Package Index: https://pypi.python.org/pypi/cpmoptimize
Solit 2014, Минусы ООП на примере языка PHP, Соловей Василийsolit
Василий Соловей, Солигорск. PHP-разработчик в в «Электронном Солигорске».
«Минусы ООП на примере языка PHP». Development секция. Для разработчиков (начальный и средний уровень).
1. Что есть ООП (легкое повторение уже знакомого)
2. Лучше доверять авторитету мнения, чем мнению авторитета (во всем нужно разбираться основательно, а в ООП тем более)
3. Неизменная скупость в похвалах — верный признак посредственного ума (плюсы ООП)
4. Не все то солнышко, что блестит (основная часть доклада – минусы ООП)
5. Кто владеет информацией, тот владеет ситуацией (пояснение сути доклада:
доклад не принижает и не умоляет достоинств ООП он создан расширить кругозор)
«Начинать никогда не поздно!». Мотивационное выступление. На личном примере, я могу рассказать, что начинать никогда не поздно, и если есть желание – нет повода себе отказывать.
1. Путь в тысячу миль начинается с одного шага (с чего начать)
2. И на верном пути повстречаются распутья (как не сбиться с дороги начав)
3. Кто ты программист? (мой взгляд на программирование)
4. Успех – дитя настойчивости
JavaScript - мой основной язык программирования, но два года я была в “Java-JavaScript” иммиграции, а последние полгода провела со Swift. Теперь, возвращаясь к JavaScript, я часто сравниваю, как там у “них”.
Этот доклад о том, чего мне не хватает в JavaScript, и почему JavaScript разработчику следует путешествовать в другие языки.
TeaVM: dead code elimination and devirtualizationАлексей Андреев
This presentation is in Russian!
TeaVM is a AOT compiler of Java bytecode primarily targetted to JavaScript. This presentation explains technique used by to remove unused code
Казалось, закончились долгие обсуждения в форумах, как измерить время работы алгоритма, какие функции использовать, какую точность ожидать. Жаль, но опять придется вернуться к этому вопросу. На повестке дня вопрос – как лучше измерить скорость работы параллельного алгоритма.
Cтатический анализ кода (на примере DDD-фреймворка)ngrebnev
Они расскажут как при разработке бизнес-приложений в модели Domain-driven design они предупреждают ошибки программиста с помощью статического анализа кода и доменной модели. А именно: возможности ORM-платформы по статическому анализу, преимущества широкого использования Linq, декларативных ограничений, модель состояний и формальной верификации элементов доменной модели.
Они разберут, в чем заключается удобство разработчика по использованию статического анализа и простота применения механизмов для задания формальных ограничений на модель предметной области. Интеграция средств статического анализа ORM в среду разработки, невозможность игнорирования ошибок, гарантия прохождения всех статических проверок до первого запуска программы. Ограниченные возможности запросов Linq к модели предметной области по сравнению с Linq to Objects и пути их преодоления.
Они расскажут, как обстоят дела с аналогичными механизмами в других ORM-системах и почему они решили реализовать собственную платформу для поддержки разработки в рамках DDD.
VivaMP, система выявления ошибок в коде параллельных программ на языке С++, и...Tatyanazaxarova
В статье приводятся результаты исследований ошибок, которые допускают программисты, использующие С++ и OpenMP. Для автоматического обнаружения этих ошибок предлагается использование статического анализа. Описывается интегрирующийся в среду Visual Studio анализатор VivaMP, реализующий поставленную задачу.
Оптимизация трассирования с использованием Expression templatesPlatonov Sergey
В докладе будет рассказано о тех фундаментальных причинах, приводящих к неоптимальному коду в продукте, будет предложен подход, лишённый найденных недостатков.
Докладываемый подход опирается на технологию Expression Templates, которая позволяет уменьшить количество действий и объём ресурсов, которые требуются для выполнения неких промежуточных действий в процессе формирования каждой записи в журнал. Эта технология используется для уменьшения количества промежуточных операций при вычислении сложных математических выражений. Новизна докладываемого подхода в том, что тот же самый принцип, на котором основана технология Expression Templates можно применить для того, чтобы целенаправленно исключить те промежуточные действия, которые в конечном итоге приводят к неоптимальному коду.
Завершается доклад обсуждением полученного эффекта, путей возможного дальнейшего развития и возможностей применения этой же технологии в других задачах.
Уменьшение влияния человеческого фактора при разработке бизнес приложенийngrebnev
В этом докладе мы постараемся рассказать о принципах разработки инструментов для написания бизнес-логики, позволяющих сократить количество ошибок. Речь пойдет о нескольких практиках, принятых в отделе технологического развития нашей компании. Принципы будут проиллюстрированы на примере инструментария компании для платформы Microsoft .NET.
Максимум статических проверок. Под статическими проверками мы понимаем проверки времени компиляции. Этот принцип является важным, но, к сожалению, зачастую недооценивается разработчиками инструментария разработки. Проверки времени компиляции могут отлавливать большой спектр ошибок. Есть и другая особенность – это удобство. Ошибки времени исполнения сложнее воспринимаются, труднее найти причину ошибки.
Разнообразие и декларативность проверок. Проверки общего назначения удобно задавать в декларативном виде. При этом сами проверки должен осуществлять фреймворк. За счет уменьшения дублирования и декларативности снижается вероятность ошибок. Проверки должны быть, как техническими, так и уровня доменной модели. Мы будем говорить о проверках уровня доменной модели.
Возможность анализа декларативных проверок. Любые ограничения порождают некоторую модель. Эту модель (проверки) можно формально верифицировать. Вообще, проблема доказательства большинства свойств программы невозможна. Этот вопрос выходит далеко за рамки нашего доклада. Но существует возможность верификации более слабых (менее выразительных моделей).
Во второй части мы обсудим функционал, который мы называем "состояния". Эти "состояния" образуют что-то вроде автомата, или структуру Крипке. Так вот, существуют алгоритмы проверки выполнимости темпоральных логик на таких структурах.
Отладка и оптимизация многопоточных OpenMP-программTatyanazaxarova
Задача знакомства программистов с областью разработки параллельных приложений становится все актуальней. Данная статья является кратким введением в создание многопоточных приложений, основанных на технологии OpenMP. Описаны подходы к отладке и оптимизации параллельных приложений.
32 подводных камня OpenMP при программировании на Си++Tatyanazaxarova
С распространением многоядерных систем задача параллельного программирования становится все более и более актуальной. Данная область, однако, является новой даже для большинства опытных программистов. Существующие компиляторы и анализаторы кода позволяют находить некоторые ошибки, возникающие при разработке параллельного кода. Многие ошибки никак не диагностируются. В данной статье приводится описание ряда ошибок, приводящих к некорректному поведению параллельных программ, созданных на основе технологии OpenMP.