Разработчики, дизайнеры и аналитики, есть кое что, что вы можете сделать для здоровья сети: тестируйте все ваши сайты в Firefox.
Читать дальше →
[Перевод] Разнообразие браузеров начинается с нас
Source: habrahabr
[Перевод] Отладка бага, который не воспроизводится
10 октября 2018 года наша команда выпустила новую версию приложения React Native. Мы рады и гордимся этим.
Но ужас-то какой: через несколько часов внезапно увеличивается количество сбоев под Android.

10 000 сбоев под Android
Наш инструмент мониторинга сбоев Sentry сходит с ума.
Читать дальше →
[Перевод] Отладка бага, который не воспроизводится
Source: habrahabr
Cертифицированная инфраструктура на базе HyperFlex для SAP HANA
Мы продолжаем знакомить вас с гиперконвергентной системой Cisco HyperFlex и в этой статье расскажем о сертифицированной инфраструктуре на базе HyperFlex для SAP HANA.
В октябре 2018-ого года компания SAP сертифицировала HyperFlex для запуска SAP HANA.
SAP HANA (High-Performance Analytic Appliance) – это высокопроизводительная платформа хранения и обработки данных на основе in-memory вычислений. Основной задачей HANA является предоставление аналитических данных с минимальным временем отклика, а также поддержка транзакционных приложений SAP.
Ландшафт SAP состоит из серверов приложений и серверов СУБД на базе HANA. Серверы приложений довольно давно запускают в виде виртуальных машин, а СУБД HANA, как правило, запускаются либо на «железе», что делает инфраструктуру дорогой и негибкой, либо в виртуализированной среде, но с большим числом ограничений и на базе весьма недешевых дисковых массивов. Cisco HyperFlex стала одной из первых гиперконвергентных систем, сертифицированных для запуска продуктивных сред HANA в полностью виртуализированном окружении (т.е. и серверов приложений, и СУБД). При этом HyperFlex является экономически эффективной платформой, простой в развертывании, использовании и масштабировании.
Для запуска HANA используется сертифицированная All-Flash система Cisco HyperFlex на базе узлов HX240c M5 All Flash, поставляемая с двумя центральными коммутирующими устройствами Cisco UCS 6300 Fabric Interconnects с интегрированной системой управления серверными узлами на базе политик и шаблонов.
Читать дальше →
Cертифицированная инфраструктура на базе HyperFlex для SAP HANA
Source: habrahabr
AppsConf Rises

AppsConf — конференция для мобильных разработчиков, на которой можно:
- а) услышать о новинках в iOS и Android;
- б) обсудить лучшие практики мобильной разработки;
- в) найти решения актуальных проблем;
- г) до хрипоты поспорить о хайповых технологиях;
- д) познакомиться и задать вопросы GDE и iOS-гуру;
- е) поделиться достижениями;
- ж) завести рабочие контакты с самыми крутыми разработчиками в России.
Все это вместе делает AppsConf самой полезной конференцией по мобильной разработке, причем не только в России. Именно так у нас получилось в октябре, и мы собираемся повторить в 2019 уже 22 и 23 апреля.
Что будет нового, и каких интересных спикеров мы уже заманили, напишу дальше. Но сначала немного отчетной информации этого года, начиная с прикольного ролика.
Читать дальше →
AppsConf Rises
Source: habrahabr
Оффлайн-режим на iOS и особенности его реализации на Realm

Автор: Екатерина Семашко, Strong Junior iOS Developer, DataArt
Немного о проекте: мобильное приложение для платформы iOS, написанное на языке Swift. Цель приложения — возможность шаринга дисконтных карт между сотрудниками компании и их друзьями.
Одной из целей проекта было изучить и попробовать на практике популярные технологии и библиотеки. Для хранения локальных данных выбрали Realm, для работы с сервером — Alamofire, для аутентификации использовался Google Sign-In, для загрузки изображений — PINRemoteImage.
Основные функции приложения:
- добавление карты, ее редактирование и удаление;
- просмотр чужих карт;
- поиск карт по названию магазина/имени пользователя;
- добавление карт в список избранных для быстрого доступа к ним.
Возможность использовать приложением без подключения к сети предполагалась с самого начала, но только в режиме чтения. Т.е. мы могли просматривать информацию о картах, но не могли модифицировать их без интернета. Для этого в приложении всегда была копия всех карт и брендов базы с сервера, плюс список избранных для текущего пользователя. Поиск тоже реализовывался локально.
Позже мы решили расширить оффлайн, добавив режим записи. Информация об изменениях, сделанных пользователем, сохранялась и при появлении интернет-соединения синхронизировалась. О реализации такого read-write оффлайн-режима и пойдет речь. Читать дальше →
Оффлайн-режим на iOS и особенности его реализации на Realm
Source: habrahabr
[Перевод — recovery mode ] Введение в Git Merge и Git Rebase: зачем и когда их использовать
Часто у разработчиков возникает выбор между Merge (слияние) и Rebase (перемещение). В Гугле вы увидите разное мнение, многие советуют не использовать Rebase, так как это может вызвать серьезные проблемы. В статье я объясню, что такое слияние и перемещение, почему вы должны (или не должны) использовать их и как это сделать.

Git Merge и Git Rebase преследуют одну и ту же цель. Они предназначены для интеграции изменений из одной ветки в другую. Хотя конечная цель одинаковая, принципы работы разные.
Некоторые считают, что вы всегда должны использовать Rebase, другие предпочитают Merge. В этом есть свои плюсы и минусы.
Git Merge
Слияние — обычная практика для разработчиков, использующих системы контроля версий. Независимо от того, созданы ли ветки для тестирования, исправления ошибок или по другим причинам, слияние фиксирует изменения в другом месте. Слияние принимает содержимое ветки источника и объединяет их с целевой веткой. В этом процессе изменяется только целевая ветка. История исходных веток остается неизменной. Читать дальше →
[Перевод — recovery mode ] Введение в Git Merge и Git Rebase: зачем и когда их использовать
Source: habrahabr
[Перевод] Зависимые типы — будущее языков программирования
Всем привет!
Несмотря на диковинность и некоторую отвлеченность рассматриваемой сегодня темы — надеемся, что она сможет разнообразить вам выходные. В конце поста помещаем три ссылки от автора, позволяющие познакомиться с зависимой типизацией в Idris, F# и JavaScript
Читать дальше →
[Перевод] Зависимые типы — будущее языков программирования
Source: habrahabr
Highload++: Как помочь ERP-системе справиться с 500 000 запросов в секунду
Мы в X5 обрабатываем много данных в ERP-системе. Есть мнение, что больше нас в SAP ERP и SAP BW в России не обрабатывает никто. Но есть еще один момент – число операций и нагрузка на эту систему увеличивается быстро. 3 года мы «сражалась» за производительность нашего ERP-тяжеловеса, набили немало шишек, а какими методами их лечили, рассказываем под катом.

Читать дальше →
Highload++: Как помочь ERP-системе справиться с 500 000 запросов в секунду
Source: habrahabr
[recovery mode] DEV Labs 2018. Онлайн-митап для C++ разработчиков. 15 декабря
Уважаемые коллеги!
Приглашаем вас на финальный митап серии DEV Labs в 2018 году, который состоится 15 декабря и будет посвящён разработке на C++.
Для этого митапа мы собрали программу из трёх докладов, основанных на реальных примерах из каждодневной рабочей практики.
Многопоточный С++ STL на графических процессорах. Дмитрий Микушин расскажет о том, почему программировать GPU трудно, но нужно и покажет реализацию некоторых подходов с помощью Thrust;
Агрегатирование сборки сложного проекта. Андрей Вуколов рассмотрит применимость агрегатированной сборки в проекте с учетом встроенности в существующий ПАК и агрегатирует сборку на примерах qmake и CMake;
«Что сейчас произошло?!» Станислав Ивочкин, отвечая на вопрос – «Что происходит после нажатия Enter в строке браузера?», заглянет под капот одного из простейших действий, совершаемых пользователем. Посмотрим на работу парсеров, компиляторов и интерпретаторов, графических фрейворков и системных библиотек.
Читать дальше →
[recovery mode] DEV Labs 2018. Онлайн-митап для C++ разработчиков. 15 декабря
Source: habrahabr
[Из песочницы] STM32 bootloader DFU mode с использованием CubeMX. Инструкция пошаговая, step by step
Итак, сочинение сего мандригала было сподвигнуто практически полным отсутствием пошаговой инструкции с использованием обычного инструментария предлагаемого STMicroelectronics.
Великое множество обнаруженных в сети bootloader-ов, иногда весьма занятных, к сожалению «заточены» под какой-либо конкретный кристалл.
Предлагаемый материал содержит процедуру использования пакета CubeMX, «загружалки» DfuSeDemo и утилиты подготовки прошивки Dfu file manager, т. е. Мы абстрагируем наши «хотелки» от железки, да простят меня гуру макроассемблера и даташита.
Читать дальше →
[Из песочницы] STM32 bootloader DFU mode с использованием CubeMX. Инструкция пошаговая, step by step
Source: habrahabr
