"Electron. How the most modern framework works" Oleksii HolubievFwdays
Have you ever wondered why all the top companies are developing their desktop versions of applications? Spotify, Teams, Skype, WhatsApp, VS Code, etc. All these modern programs use one framework and that is Electron. But why? What's in it that WPF or JavaFX doesn't have? A small spoiler - JavaScript. But this is not the only thing.
So in this speech we:
1. Let's remember the history of origin and understand who really maintains this product
2. Let's look under the hood and see how it really works
3. Let's talk about why VS Code has so many processes
4. Let's deal with the main killer features
5. Let's evaluate the framework cons
6. Let's meet the community
This topic is suitable for everyone who is already familiar with JS and is interested in desktop applications.
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"IT Event
Последние несколько лет в индустрии активно развивается WebRTC — технология, которая позволяет делать голосовые и видеозвонки прямо из браузеров. Но мало кто знает, что эта же технология может быть использована в нативных мобильных приложениях и основанных на них SDK. В своем докладе я хочу рассказать про опыт заворачивания существующих Android и iOS SDK в React Native:
— Как поддерживать несколько разных архитектур
— Как работать с нативными виджетами, такими как «вывод видео»
— Синхронизация event loop между C-реализацией и — JavaScript движком React Native
— Планы на будущее: React Native WebRTC
"Electron. How the most modern framework works" Oleksii HolubievFwdays
Have you ever wondered why all the top companies are developing their desktop versions of applications? Spotify, Teams, Skype, WhatsApp, VS Code, etc. All these modern programs use one framework and that is Electron. But why? What's in it that WPF or JavaFX doesn't have? A small spoiler - JavaScript. But this is not the only thing.
So in this speech we:
1. Let's remember the history of origin and understand who really maintains this product
2. Let's look under the hood and see how it really works
3. Let's talk about why VS Code has so many processes
4. Let's deal with the main killer features
5. Let's evaluate the framework cons
6. Let's meet the community
This topic is suitable for everyone who is already familiar with JS and is interested in desktop applications.
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"IT Event
Последние несколько лет в индустрии активно развивается WebRTC — технология, которая позволяет делать голосовые и видеозвонки прямо из браузеров. Но мало кто знает, что эта же технология может быть использована в нативных мобильных приложениях и основанных на них SDK. В своем докладе я хочу рассказать про опыт заворачивания существующих Android и iOS SDK в React Native:
— Как поддерживать несколько разных архитектур
— Как работать с нативными виджетами, такими как «вывод видео»
— Синхронизация event loop между C-реализацией и — JavaScript движком React Native
— Планы на будущее: React Native WebRTC
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)Ontico
HighLoad++ 2017
Зал «Пекин+Шанхай», 7 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/2907.html
Конкуренция в банковском сегменте усиливается с каждым годом, повышаются ставки и цели по прибыли компаний. При прочих равных выигрывает тот, кто может быстрее разрабатывать продукты и мгновенно реагировать на потребности рынка. Банки рассматривают DevOps-трансформацию как средство, которое позволит им кардинально повысить финансовую эффективность, качество финансовых продуктов и поможет услышать и быстро реагировать на клиента.
...
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
Сергей Комлач "Итоги Google I/O: что нас ждет"Fwdays
Итоги Google I/O. Что нас ждет в 2016: Android N, DevTools, Daydream, Android Apps в Chrome OSи многое другое
Совсем недавно прошла ежегодная конференция Google I/O 2016, на которой было сделано ряд анонсов - новый Google Assistant, Android N, платформа Daydream, улучшенные DevTools, а так же Instant Apps и Android Apps в Chrome OS.
Я побывал на I/O и как очевидец, расскажу про все анонсы и инсайды конференции
Рассмотрен вариант организации бесплатной среды автоматического тестирования веб-приложений на различных окружениях.
Одним кликом прогоняются тесты на комбинации всех известных браузеров со всеми возможными вариантами серверных окружений, в которых работает приложение.
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
1. Основные понятия и определения: продукт, пакет, связи между ними.
2. Как узнать, какие изменения произошли в продукте?
3. Проблемы changelog и release note.
4. Решение: инструмент ChangelogBuilder для автоматической подготовки Release Notes
Как devops исчерпывает себя и что будет дальшеKirill Vechera
Эволюция управления информационными системами
Какие сейчас есть средства и какие появляются
Как этому способствует Jetware
Почему Devops становится ненужным
Why should we know about Spring internals? It works! So use it and enjoy! However, as always, in order to use Spring in most efficient way, you must know, what is under the fork. Only in case you really understand its internals you will be able to use all power of Spring. You will be able to customize this framework according to challenges of your project, to achieve best performance and solve any problem without applying to Spring-support center. ;) Here are several topics about Spring internals, which will be covered during this session (with examples for each one): What is Spring impact on the performance of your application? What are the phases of Spring lifecycle? What is ApplicationContext structure? “You can’t do it with Spring!” – or maybe you can?
Вступительная лекция по Java. История появления, идеи, сферы применения, место среди других языков, экосистема. Структурированная информация о Java, как о языке программирования.
Под эту лекцию имеется более развёрнутый материал. Кому интересно - пишите.
Конструктивная критика приветствуется.
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)Ontico
HighLoad++ 2017
Зал «Пекин+Шанхай», 7 ноября, 13:00
Тезисы:
http://www.highload.ru/2017/abstracts/2907.html
Конкуренция в банковском сегменте усиливается с каждым годом, повышаются ставки и цели по прибыли компаний. При прочих равных выигрывает тот, кто может быстрее разрабатывать продукты и мгновенно реагировать на потребности рынка. Банки рассматривают DevOps-трансформацию как средство, которое позволит им кардинально повысить финансовую эффективность, качество финансовых продуктов и поможет услышать и быстро реагировать на клиента.
...
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
Сергей Комлач "Итоги Google I/O: что нас ждет"Fwdays
Итоги Google I/O. Что нас ждет в 2016: Android N, DevTools, Daydream, Android Apps в Chrome OSи многое другое
Совсем недавно прошла ежегодная конференция Google I/O 2016, на которой было сделано ряд анонсов - новый Google Assistant, Android N, платформа Daydream, улучшенные DevTools, а так же Instant Apps и Android Apps в Chrome OS.
Я побывал на I/O и как очевидец, расскажу про все анонсы и инсайды конференции
Рассмотрен вариант организации бесплатной среды автоматического тестирования веб-приложений на различных окружениях.
Одним кликом прогоняются тесты на комбинации всех известных браузеров со всеми возможными вариантами серверных окружений, в которых работает приложение.
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
1. Основные понятия и определения: продукт, пакет, связи между ними.
2. Как узнать, какие изменения произошли в продукте?
3. Проблемы changelog и release note.
4. Решение: инструмент ChangelogBuilder для автоматической подготовки Release Notes
Как devops исчерпывает себя и что будет дальшеKirill Vechera
Эволюция управления информационными системами
Какие сейчас есть средства и какие появляются
Как этому способствует Jetware
Почему Devops становится ненужным
Why should we know about Spring internals? It works! So use it and enjoy! However, as always, in order to use Spring in most efficient way, you must know, what is under the fork. Only in case you really understand its internals you will be able to use all power of Spring. You will be able to customize this framework according to challenges of your project, to achieve best performance and solve any problem without applying to Spring-support center. ;) Here are several topics about Spring internals, which will be covered during this session (with examples for each one): What is Spring impact on the performance of your application? What are the phases of Spring lifecycle? What is ApplicationContext structure? “You can’t do it with Spring!” – or maybe you can?
Вступительная лекция по Java. История появления, идеи, сферы применения, место среди других языков, экосистема. Структурированная информация о Java, как о языке программирования.
Под эту лекцию имеется более развёрнутый материал. Кому интересно - пишите.
Конструктивная критика приветствуется.
Основные новшества Java 9, которые, на мой взгляд, наиболее актуальны.
Здоровая критика и дополнения приветствуются. Есть текстовый документ, где всё это расписано немного подробнее.
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
Продукт XML2Selenium - это расширяемая, плагинная платформа для создания и управления автоматизированными тестами на основе технологии Java.
XML2Selenium имеет интеграцию с JUnit, работает поверх Selenium (это изменяемо). XML2Selenim позволяет создавать автоматизированные тесты в простом и понятном обычному (без навыков программирования) QA инженеру формате. XML2Selenium позволяет также управлять всеми стадиями работы с автоматизированными тестами, начиная от стадии создания и заканчивая управлением тестами.
Главными конкурентными преимуществами являются
- низкая стоимость вхождения. Начинающие автоматизаторы, и даже QA инженеры без навыков программирования создают качественные тесты, а значит легко поддерживаемые, легко изменяемые, с использованием DDT (Data Driven Testing) подходов, что увеличивает повторно-используемость тестов
- встроенные возможности структуризации тестов по папкам и файлам, а также по тегам, что позволяет качественно отобразить документацию на тесты. Внедряя эту платформу, вы автоматически улучшаете свои процессы управления тестами
- XML2Selenium - это плагинная, расширяемая платформа, позволяющая кастомизировать процессы под ваши нужды, создать новые плагины, добавить интеграцию с нужными системами, и многое другое
- все повторно-используемые части (инклюды, плагины) могут помещаться в репозитории, откуда ими могут пользоваться QA инженеры с других проектов компании, тем самым распространяется опыт и знания в области автоматизации
- XML2Selenium имеет широкий спектр полезных свойств в области автоматизации, таких как поддержка создания видео, снепшотов и скриншотов страниц, Groovy и JS скриптинга, поддержки объектно-ориентированного программирования на XML и многих других
Традиционно многие компании не инвестируют много в QA инженеров, при этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в барьер, когда архитектура тестов становится сравнительно такого же уровня, как и архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми проблемами становятся:
- вопросы поддержки и тестирования многих инсталяций продукта на стороне заказчика
- вопросы тестирования нескольких версий (бренчей) одного и того же продукта
- повторн
Видеозапись встречи:
http://getdev.net/Event/typescript
TypeScript - язык программирования от Microsoft, который является надмножеством JavaScript. Он поддерживает статическую типизацию, модули, определение классов и интерфейсов и транслируется в чистый JS. Спецификации языка открыты, а код компилятора распространяется под лицензией Apache.
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg Nenashev
Рассказ о Configuration as Code в Jenkins и возможностях Pipeline: DSL, Multi-Branch, Pipeline Model Definition, восстановление после ошибок, параллелизация задач, интеграции. В каком направлении развивается экосистема?
Similar to Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0 (20)
STEM is an open source disease modeling application available through Eclipse that uses epidemiological compartment models to simulate the spread of infectious diseases. It provides standard SEIR and SIR models and allows modeling transmission between locations based on factors like common borders, interstate highways, and air travel. STEM includes a core engine that uses numerical integration methods like Runge-Kutta to simulate disease spread accurately and efficiently across multiple processor cores. The goal is to evaluate public health policies by running parallel scenarios modeling things like the effects of masks, air travel restrictions, and vaccination on disease outbreaks.
This document discusses unit of measurement frameworks and errors caused by inconsistent unit usage. It provides examples of past disasters where unit conversion errors led to failures, such as the Mars Climate Orbiter that was destroyed due to a mix of metric and imperial units. The document advocates for type-safe unit of measurement support to prevent interface, arithmetic, and conversion errors. It introduces the Eclipse UOMo framework that provides this support across scientific, business, and currency domains through integration with standards like UCUM and ICU4J. The framework was demonstrated for applications involving monetary conversions.
The document provides 12 best practices for developing plug-ins for the Eclipse platform. Some key practices include separating code into modular and extendable plug-ins, externalizing string bundles for localization, preferring lazy loading to reduce memory usage, carefully using startup code and singletons, defining proper version ranges to catch API leaks, and using API tools to define and version APIs correctly.
2. План Спецификация OSGi Реализация OSGi – Equinox, Eclipse plug-in development История одного плагина + demo Author: Konstantin Slisenko, JazzTeam, 2011
3. OSGi Open Services Gateway Initiative Спецификация архитектуры для создания модульных java-приложений Разрабатываетсянекоммерческой организацией OSGI Alliance (osgi.org) Применение Сначала: автомобильная и промышленная электроника Сейчас: многофункциональные desktop-приложения и enterprise системы Author: Konstantin Slisenko, JazzTeam, 2011
4. Основная идея OSGI Вся система состоит из плагинов (бандлов) Бандлы Содержат java классы и другие ресурсы Могут взаимодействовать друг с другом Могут добавляться, удаляться, запускаться, останавливаться, обновляться в runtime Работают в рамках одной JVM, но могут быть distributed Имеют версию Бандлом может быть, например, web-сервер, или любое другое приложение Author: Konstantin Slisenko, JazzTeam, 2011
5. Жизненный цикл бандла Экономия ресурсов Нет необходимости держать в памяти неиспользуемые в данный момент бандлы Не нужно при старте приложения загружать все бандлы– они подгрузятся по мере необходимости Author: Konstantin Slisenko, JazzTeam, 2011
6. Взаимодействие между бандлами Бандлы создают сервисы используют сервисы других Взаимодействуют через Service Registry API Ничего не знают друг о друге, просто ищут нужные им сервисы Взаимодействие похоже на SOA-приложениев одной JVM Author: Konstantin Slisenko, JazzTeam, 2011
7. Бандл = jar-файл с метаданными Метаданные описываются в файле манифеста META-INF/MAINFEST.MF Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: My favorite Plug-in Bundle-SymbolicName: org.my_plugin; singleton:=true Bundle-Version: 1.0.0 Bundle-ClassPath: my_plugin.jar Bundle-Activator: org.my_plugin.demo.MyActivator Bundle-Vendor: Me Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Eclipse-LazyStart: true Export-Package: org.my_plugin.demo.subpackage; uses:="org.eclipse.swt.graphics, org.eclipse.jface.viewers, org.eclipse.ui.part, org.eclipse.swt.widgets" Author: Konstantin Slisenko, JazzTeam, 2011
9. Плюсы Модульность приложения Возможность сбора приложения на лету Позднее и слабое связывание Все бандлы взаимодействуют через Service Registry API Не знают друг о друге В системе могут одновременно быть множество различных версий одного бандла Возрастает надёжность системы Пример: в системе 700 бандлов, если один из них валится, не валится вся система Неработающий бандл можно перезагрузить, работа системы не остановится Экономия ресурсов Возможность поддержки системы 24 часа в сутки, 365 дней в году Система не отключается даже при замене оборудования Дополнительные возможности спецификации OSGi: Security, Logging, Configuration, etc. Author: Konstantin Slisenko, JazzTeam, 2011
10. Тенденции модульности в Java 7 Модульность будет реализована в JDK 7 на уровне языка Сейчас JDK в основном монолитная Author: Konstantin Slisenko, JazzTeam, 2011
11. Реализации OSGi 4 открытых фреймворка Apache Felix Knopflerfish Equinox (ядро Eclipse сверсии 3.0) ConsiergeOSGi Множество коммерческих Samsung Service Provider 3.1 RIO framework (Siemens) … Теоретически одни и те же бандлы можно устанавливать в различные реализации контейнеров Author: Konstantin Slisenko, JazzTeam, 2011
13. Eclipse Больше, чем IDE Платформа для разработки интегрированных приложений Построен в виде набора расширяемых подсистем, а не как монолитное приложение После версии 3.0 был переведён на открытый стандарт OSGi (Equinox) Author: Konstantin Slisenko, JazzTeam, 2011
14. Архитектура Eclipse Platform – ядро Eclipse Не содержит полезной для пользователя функциональности Основа для работы остальных компонентов Eclipse Author: Konstantin Slisenko, JazzTeam, 2011
15. Практически чистый Eclipse Все расширения Eclipse - плагины 761 плагин (я доустановил 2-3) Author: Konstantin Slisenko, JazzTeam, 2011
16. Обзор Eclipse Perspectives Views Editors Main Menu Preferences Toolbar и т.д. Author: Konstantin Slisenko, JazzTeam, 2011
17. Perspectives Набор функциональности для определённой деятельности Java разработка Работа с БД Отладка, и т.д. Author: Konstantin Slisenko, JazzTeam, 2011
18. Views Окошки для дополни-тельной навигации и отображения различной информации, измене-ния настроек и т.д. Author: Konstantin Slisenko, JazzTeam, 2011
19. Editors Редакторы для различных нужд Работа с текстом Подсветка синтаксиса Работа с XML Остаются при смене перспективы Author: Konstantin Slisenko, JazzTeam, 2011
20. Eclipse plug-in development Проект Eclipse PDE http://www.eclipse.org/pde/ 4июнявебинар для Belarus Open Source Lab, докладчик Eclipse PDE Team Lead (Индия, Бангалор) Инструментарий для разработки плагинов Author: Konstantin Slisenko, JazzTeam, 2011
21. Принципы плагиннойсистемы Eclipse Плагины предоставляютточки расширения (Extension Points) Плагины создают расширения (Extensions) Используют точки расширения других плагинов Пример – расширяем обычный текстовый редактор в редактор для работы с XML Точки расширения описываются в plugin.xml Author: Konstantin Slisenko, JazzTeam, 2011
22. plugin.xml При запуске Equinox загружает plugin.xml каждого плагина Строится граф зависимостей Описывает: Extension Points, которые мы предоставляем другим плагинам Extensions, которые мы реализуем в нашем плагине Список плагинов, необходимых для работы нашего и т.д. Author: Konstantin Slisenko, JazzTeam, 2011
24. История одного плагина Проект Snipple: Используй готовый код, а не пиши его каждый раз Сохраняй различные фрагменты кода Обменивайся ими с другими разработчиками Фрагменты кода называются сниппетами Рейтинговая система – сниппеты от более авторитетного разработчика будут имеют больший вес Категории, теги, генерация pdfиз подборки сниппетов по определённой технологии И ещё много других весёлых штук Author: Konstantin Slisenko, JazzTeam, 2011
25. История одного плагина Имеется: J2EE web-приложение web-интерфейс для поиска, добавления, удаления сниппетов Приложение использует БД Приложение предоставляет web-сервисы Задача: Разработать плагин для Eclipse для работы с системой прямо из IDE Author: Konstantin Slisenko, JazzTeam, 2011
28. Функционал плагина Два вида (views): Для локальных сниппетов, поддержка категорий Для поиска сниппетов в web-приложении Snipple Страница настроек плагина Перенос сниппетов из видов в редактор перетягиванием Редактирование свойств сниппетов в стандартном Properties view Author: Konstantin Slisenko, JazzTeam, 2011
31. С чего начать изучать разработку плагинов? vogella.de/eclipse.html eclipsepluginsite.com EclipsePlug-ins: Third Edition,Eric Clayberg, Dan Rubel Мастер создания плагинов в самом Eclipse Author: Konstantin Slisenko, JazzTeam, 2011
32. Спасибо за внимание! Презентация будет доступна на сайте oslab.by Author: Konstantin Slisenko, JazzTeam, 2011