Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Ontico
Общие принципы оптимизации производительности мобильных приложений:
- работа с длинными списками — таблицы, коллекции;
- графика — загрузка из сети, кэширование;
- ленивая загрузка частей приложения.
Работа с периодически обновляемыми структурированными данными.
- как передавать данные с сервера на клиент: запросы, объем, формат, десериализация;
- как хранить полученные данные на клиенте — виды хранилищ: от плоских файлов до NoSQL.
Практический кейс. "Едадил": как мы ускоряли работу приложения для Android.
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
C++ для web с помощью Emscripten, Андрей Карпушин
В докладе я расскажу о своем практическом опыте компиляции и использовании C++ на веб страницах, о том что нужно сделать, чтобы портировать приложение на С++ под веб, об ограничениях с этим связанных, об интеграции С++ кода с JavaScript и другими элементами веб страницы.
Восстановление учетных записей Active Directory: сборник сценариевNetwrix Россия/СНГ
http://www.netwrix.com/ru/ad_object_restore_pack.html Скачать руководство.
Вам когда-нибудь приходилось восстанавливать удаленные из Active Directory учетные записи? Тогда Вы точно знаете, насколько долгим и сложным может быть этот процесс.
Чтобы упростить процесс восстановления мы подготовили "Набор первой помощи для восстановления объектов Active Directory".
В нем Вы сможете найти 5 вариантов восстановления, а именно:
* Восстановление с помощью LDP.exe
* Использование ADRESTORE
* Работа с Active Directory Recycle Bin
* Принудительное восстановление удаленных объектов
* Использование утилиты NetWrix AD Object Restore Wizard
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Полное руководство по аудиту доменных служб Active Directory в Windows Server...Netwrix Россия/СНГ
Скачать документ можно на нашем сайте http://www.netwrix.com/ru/active_directory_audit_guide.html
Вы знаете, что аудит Active Directory – важная и нужная вещь, возможно, Вам даже приходилось искать информацию о тех или иных событиях (удаление пользователя, изменение членства в группах и т.д.). И Вы не понаслышке знаете, что это трудно.
Чтобы у Вас под рукой был документ, рассказывающий все об аудите Active Directory, Сергей Яремчук, автор книги "Системное администрирование Windows 7 и Windows Server 2008 R2 на 100%" и многочисленных статей в различных изданиях, создал для Вас полное руководство по аудиту Active Directory.
Внутри этого руководства Вы найдете:
Как настроить аудит Active Directory с помощью штатных инструментов Windows Server R2
Как интерпретировать идентификаторы событий (создание, удаление, изменений членства и многое другое)
Как осуществлять фильтрацию событий для более удобного поиска событий через Event Viewer
Как настроить оповещения на отдельные изменения
Подводные камни, с которыми Вы можете столкнуться при осуществлении аудита штатными средствами
Все это Вы найдете, скачав "Полное руководство по аудиту Active Directory в Windows Server 2008 R2".
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)Ontico
В MySQL 5.7 появился целый ряд новых возможностей, позволяющих использовать MySQL в приложениях и как хранилище JSON-документов, и как реляционную базу данных.
В этом докладе мы расскажем о поддержке JSON в MySQL 5.7, а также поговорим о том, когда имеет смысл её использовать, и насколько хорошо она работает. Кроме того, мы остановимся на новом протоколе доступа к MySQL, поддерживающем SQL. Помимо этого, мы рассмотрим CRUD-операции и такие дополнительные функции, как асинхронная коммуникация и пайплайнинг (pipelining).
В заключительной части доклада мы расскажем о возможностях MySQL 5.7 в качестве хранилища документов.
Асинхронность стала неотъемлемой частью как клиент-сайда, так и бек-энда. Будут рассмотрены основные паттерны и библиотеки, позволяющие сделать код читаемым и поддерживаемым.
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...Ontico
Основные кейсы использования Тарантула:
1. Когда нужна OLTP-система, позволяющая обрабатывать транзакции в режиме почти реального времени (с милисекундными задержками) и/или с огромной пропускной способностью (сотни тысяч запросов в секунду). Примеры — система сессий, система антибрутфорса, система противодействия атакам, система очередей и пуш-уведомлений, роутинг запросов между серверами.
Далее - http://backendconf.ru/2016/abstracts/2096.html
Из презентации вы узнаете:
— как мы пришли к Go, оставив идею использования Node.js, Scala или Rust;
— про первый сервис, который мы написали на Go и запустили в продакшен;
— про ошибки, с которыми сталкивались под нагрузкой;
— про оптимизации, которые мы сделали и еще планируем сделать;
— про тестирование и предотвращение тестирования на продакшене (в частности, websocket'ов).
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Timur Shemsedinov
Примеры кода приложений и конфигурации сервера с доступом к файлам, памяти, базам данных и параллельной асинхронной обработкой различных типов API запросов с состоянием и без состояния.
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Ontico
В многоядерных высоконагруженных системах с высокой конкурентностью часто бывает сложно определить, чем занят отдельный процесс PostgreSQL. Он может находиться в ожидании локов высокого уровня, таких как локи таблиц, внутренних локов, используемых для синхронизации процессов, ввода-вывода и многих других.
В настоящий момент среди всех событий ожидания мониторить можно только локи высокого уровня с помощью представлений PostgreSQL. Другие типы ожиданий требуют использования низкоуровневых утилит типа perf, systemtap и других. Эти утилиты требуют специальных знаний и могут быть платформозависимыми. В то же время другие enterprise базы данных уже включают в себя инструменты для мониторинга ожиданий.
Мы разработали патч, который реализует мониторинг ожиданий в PostgreSQL. С минимальной настройкой (несколько конфигурационных параметров) этот патч показывает полную информацию о текущих ожиданиях в режиме реального времени и с небольшим оверхедом на всю систему. Этот патч уже работает на продакшен серверах Яндекса и показал свою полезность.
How and why to monitor web applications performance.
How to build it yourself with Ruby and Prometheus.
Introducing a set of gems to avoid reinventing the wheel.
Link to the talk video (in Russian): https://youtu.be/uYKZ86l3Tv0
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Полное руководство по аудиту доменных служб Active Directory в Windows Server...Netwrix Россия/СНГ
Скачать документ можно на нашем сайте http://www.netwrix.com/ru/active_directory_audit_guide.html
Вы знаете, что аудит Active Directory – важная и нужная вещь, возможно, Вам даже приходилось искать информацию о тех или иных событиях (удаление пользователя, изменение членства в группах и т.д.). И Вы не понаслышке знаете, что это трудно.
Чтобы у Вас под рукой был документ, рассказывающий все об аудите Active Directory, Сергей Яремчук, автор книги "Системное администрирование Windows 7 и Windows Server 2008 R2 на 100%" и многочисленных статей в различных изданиях, создал для Вас полное руководство по аудиту Active Directory.
Внутри этого руководства Вы найдете:
Как настроить аудит Active Directory с помощью штатных инструментов Windows Server R2
Как интерпретировать идентификаторы событий (создание, удаление, изменений членства и многое другое)
Как осуществлять фильтрацию событий для более удобного поиска событий через Event Viewer
Как настроить оповещения на отдельные изменения
Подводные камни, с которыми Вы можете столкнуться при осуществлении аудита штатными средствами
Все это Вы найдете, скачав "Полное руководство по аудиту Active Directory в Windows Server 2008 R2".
MySQL 5.7 - NoSQL - JSON, Protocol X, Document Store / Петр Зайцев (Percona)Ontico
В MySQL 5.7 появился целый ряд новых возможностей, позволяющих использовать MySQL в приложениях и как хранилище JSON-документов, и как реляционную базу данных.
В этом докладе мы расскажем о поддержке JSON в MySQL 5.7, а также поговорим о том, когда имеет смысл её использовать, и насколько хорошо она работает. Кроме того, мы остановимся на новом протоколе доступа к MySQL, поддерживающем SQL. Помимо этого, мы рассмотрим CRUD-операции и такие дополнительные функции, как асинхронная коммуникация и пайплайнинг (pipelining).
В заключительной части доклада мы расскажем о возможностях MySQL 5.7 в качестве хранилища документов.
Асинхронность стала неотъемлемой частью как клиент-сайда, так и бек-энда. Будут рассмотрены основные паттерны и библиотеки, позволяющие сделать код читаемым и поддерживаемым.
Основные кейсы использования in-memory СУБД на примере Тарантула и проектов M...Ontico
Основные кейсы использования Тарантула:
1. Когда нужна OLTP-система, позволяющая обрабатывать транзакции в режиме почти реального времени (с милисекундными задержками) и/или с огромной пропускной способностью (сотни тысяч запросов в секунду). Примеры — система сессий, система антибрутфорса, система противодействия атакам, система очередей и пуш-уведомлений, роутинг запросов между серверами.
Далее - http://backendconf.ru/2016/abstracts/2096.html
Из презентации вы узнаете:
— как мы пришли к Go, оставив идею использования Node.js, Scala или Rust;
— про первый сервис, который мы написали на Go и запустили в продакшен;
— про ошибки, с которыми сталкивались под нагрузкой;
— про оптимизации, которые мы сделали и еще планируем сделать;
— про тестирование и предотвращение тестирования на продакшене (в частности, websocket'ов).
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Timur Shemsedinov
Примеры кода приложений и конфигурации сервера с доступом к файлам, памяти, базам данных и параллельной асинхронной обработкой различных типов API запросов с состоянием и без состояния.
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)Ontico
В многоядерных высоконагруженных системах с высокой конкурентностью часто бывает сложно определить, чем занят отдельный процесс PostgreSQL. Он может находиться в ожидании локов высокого уровня, таких как локи таблиц, внутренних локов, используемых для синхронизации процессов, ввода-вывода и многих других.
В настоящий момент среди всех событий ожидания мониторить можно только локи высокого уровня с помощью представлений PostgreSQL. Другие типы ожиданий требуют использования низкоуровневых утилит типа perf, systemtap и других. Эти утилиты требуют специальных знаний и могут быть платформозависимыми. В то же время другие enterprise базы данных уже включают в себя инструменты для мониторинга ожиданий.
Мы разработали патч, который реализует мониторинг ожиданий в PostgreSQL. С минимальной настройкой (несколько конфигурационных параметров) этот патч показывает полную информацию о текущих ожиданиях в режиме реального времени и с небольшим оверхедом на всю систему. Этот патч уже работает на продакшен серверах Яндекса и показал свою полезность.
How and why to monitor web applications performance.
How to build it yourself with Ruby and Prometheus.
Introducing a set of gems to avoid reinventing the wheel.
Link to the talk video (in Russian): https://youtu.be/uYKZ86l3Tv0
.NET Fest 2018. Сергей Калинец. Azure веб разработка здорового человекаNETFest
Microsoft Azure, пожалуй, самый очевидный выбор для .NET разработчиков, когда они (или их клиенты) внезапно решают, что им нужен клауд. Но при этом мы все равно используем подходы и техники из до-облачного мира, иногда и не подозревая о тех сервисах и удобствах, которые нам дает Azure. На этом докладе Сергей покажет, как быстро и эффективно можно разрабатывать современное веб приложение. Мы затронем разные аспекты -- от организации кода до деплоя и мониторинга приложений, работающих в проде. Документация API, поддержка рабочих процессов, инициализация приложений, полезные инструменты и библиотеки -- все это, и не только, ждет вас на нашем докладе.
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
Расскажу зачем они вообще нужны. Пройдемся по технологиям и промоем им косточки. Рассмотрим достоинства и недостатки, а также где и когда лучше всего применять ту или иную ORM.
BigData Dive in Minsk / Altoros conference /
Windows Azure and BigData- autoscale, Linux, HDInsigh.
Options for developers and startups - BizSpark, msdn subscriptions, seed fund
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Alina Dolgikh
OpenStack назван одним из лучших open source проектов (по версии http://opensource.com/business/14/12/top-10-open-source-projects-2014) и написан полностью на Python. OpenStack уже включает в себя целую кучу готовых к использованию батареек, но если есть необходимость добавить что-то свое -- вы можете это сделать без изменения базового кода, просто написав собственное расширение. Я расскажу, что такое OpenStack и что он умеет из коробки, какие возможности расширения своей функциональности предоставляет эта платформа и как мы это используем у себя в уютненьком Яндексе.
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
Краткий экскурс в историю развития PHP как языка программирования с момента зарождения и до наших дней, попытка проследить расширение сферы применения языка и выявить причины, этому способствовавшие, обзор возможностей современного PHP как языка программирования и как стэка технологий для создания мощных программных решений корпоративного уровня.
Доклад будет интересен как начинающим программистам, так и разработчикам с опытом, ещё не освоившим PHP.
Автор доклада: Павел Крынецкий — PHP/Java разработчик, компания Аркадия. Участвовал в разработке веб-проектов корпоративного сектора различной сложности для как для российских, так и зарубежных заказчиков. Профессиональный опыт в IT-индустрии > 7 лет.
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
IOP202 DevCon 2012 Apache Lucene in Windows Azure
1. Интеграция Apache Lucene
в Windows Azure // DevCon•12
ВАДИМ НОВИЦКИЙ
Вице-президент по разработке в проекте
AtContent.com, IFFace Inc.
@vadinov | ifface.com
3. AtContent - это
Новый
Легальное
подход к Автоматиза Управление копирование
публикации ция контентом проще и
и разделения из одного выгоднее
дистрибуции дохода места нелегального
Платежная Аналитика Оплата
Управление
система и разделением автору
внутри статистика дохода напрямую
7. Apache Lucene - это
Библиотека для полнотекстового поиска
Высокопроизводительная
Написана на Java
С открытым исходным кодом
Кроссплатформенная
Портирована на многие языки программирования, включая C#
8. Apache Lucene в AtContent
Индексирование публикаций
Индексирование профилей
пользователей
Поиск по публикациям и профилям
пользователей
11. Добавление в индекс
SearchTicket Ticket = Item.GetSearchTicket();
DeleteDocument(Ticket.Id);
string Language = DefinitionLanguage(Ticket.Language);
Analyzer Analyzer = new SnowballAnalyzer(Language);
var Writer = new IndexWriter(Directory, Analyzer);
AddDocument(Writer, Ticket);
Writer.Optimize();
Writer.Commit();
Writer.Close();
16. Производительность
Синтетический тест на 1 000 000 записей
Заполнение индекса — около 250 секунд
Поиск частоупотребимого слова — 8-25 мс. (50 потоков,
478 325 совпадений)
Поиск редкоупотребимого слова — ≈0-5 мс. (50 потоков,
283 совпадения)
Конкурентный поиск не увеличивает время обработки запроса
Размер индекса — 20-30% от исходного контента
17. Сделать свой Яндекс?
Не получится
Отсутствие поддержки морфологии
Терабайты индексов нужно где-то хранить
Отличия между поисковым движком и поисковой системой
18. Альтернативы
Bing API
5 000 запросов в сутки бесплатно
Поиск по веб, картинкам, новостям, видео
Не решает проблему поиска внутри сервиса
Sphinx
Потребует дополнительного MySQL-сервера
Более сложная интеграция
НЕ масштабируется
20. Фабрика контекстов
Создание контекстов
для работы с Table
Storage, Blob Storage и
Queue
21. Фабрика контекстов
Создание контекста для Table Storage
//было
var StorageAccount = RoleEnvironment.IsEmulated ?
CloudStorageAccount.FromConfigurationSetting(
"EmulatedConnectionString") :
CloudStorageAccount.FromConfigurationSetting(
"ConnectionString");
var Context = new TableServiceContext(
StorageAccount.TableEndpoint.ToString(),
StorageAccount.Credentials);
//стало
var Context = CPlase.Azure.GetContext();
22. Утилиты для Blob
Работа с хранилищем,
чтение папок, удаление
папок, сериализация в
блобы
23. Утилиты для Blob
Сохранение данных в блоб
//было
try
{
var BlobClient = Azure.GetBlobClient();
var BlobRef = BlobClient.GetBlobReference(BlobUrl);
BlobRef.UploadText(Content);
}
catch { }
//стало
CPlase.BlobUtils.SaveBlob(BlobUrl, Content);
24. Работа с кешем на экземпляре
Создание кеша,
управление кешем,
синхронизация кеша
между инстанциями
25. Сохранение на экземляре
//было
var Storage = RoleEnvironment.GetLocalResource(LocalResourceName);
var FinalPath = GetPath(Storage, Path);
try
{
string DirectoryPath = System.IO.Path.GetDirectoryName(FinalPath);
if (!Directory.Exists(DirectoryPath))
Directory.CreateDirectory(DirectoryPath);
File.WriteAllText(FinalPath, Content);
}
catch () {}
//стало
CPlase.InstanceStorage.Save(LocalResourceName, Path, Content);
26. Утилиты для работы с Queue
Создание очередей,
управление
сообщениями в
очередях
27. Работа с Queue
Добавление в очередь и вызов обработчика
public static bool AddToQueue<QueueHandlerType>(
CloudQueue Queue, string Task) {
try {
var Message = new CloudQueueMessage(Task);
Queue.AddMessage(Message);
Internal.RoleCommunicatior.
WorkerRoleCommand(typeof(QueueHandlerType));
return true;
}
catch { return false; } }
28. Расширения для LINQ
Позволяют
осуществлять
операции Or и
Contains для Table
Storage
29. Утилиты безопасности
Работа с шифрованием
MD5, генерация
последовательностей,
системы счисления
34. Связанные сессии
WEB202
ASP.NET for Mobile and Slate Devices
IOP201
Windows Azure and Open Source Solutions
AZR205MN
Запускаем корпоративные сервисы в облака - практика для
разработчика